text-shaper 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +3 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6,6 +6,6 @@ var{defineProperty:h5,getOwnPropertyNames:qH,getOwnPropertyDescriptor:UH}=Object
|
|
|
6
6
|
<path d="${V}" fill="${J}"${T}${g}/>
|
|
7
7
|
</svg>`}function kH($){let Q=[];for(let Z=0;Z<$.infos.length;Z++){let K=$.infos[Z],J=$.positions[Z];if(!J)continue;Q.push({glyphId:K.glyphId,xOffset:J.xOffset,yOffset:J.yOffset,xAdvance:J.xAdvance,yAdvance:J.yAdvance})}return Q}function g9($,Q,Z){let K=$.getGlyphContoursWithVariation(Q,Z);if(!K)return null;let J=[];for(let U=0;U<K.length;U++){let W=K[U];J.push(...L$(W))}let q=$.getGlyphBounds(Q);return{commands:J,bounds:q}}function t7($,Q,Z,K,J){let q=J?.fontSize??16,U=J?.x??0,W=J?.y??0,H=J?.fill??"black",_=J?.stroke,N=J?.strokeWidth??1,V=q/Q.unitsPerEm;if($.fillStyle=H,_){if($.strokeStyle=_,$.lineWidth=N*V,J?.lineCap)$.lineCap=J.lineCap;if(J?.lineJoin)$.lineJoin=J.lineJoin}let z=U,j=W;for(let X=0;X<Z.length;X++){let G=Z[X],E=g9(Q,G.glyphId,K);if(E){if($.beginPath(),t8($,E,{scale:V,flipY:!0,offsetX:z+G.xOffset*V,offsetY:j-G.yOffset*V}),H!=="none")$.fill();if(_)$.stroke()}z+=G.xAdvance*V,j+=G.yAdvance*V}}function e7($,Q,Z,K){let J=K?.fontSize??100,q=K?.fill??"currentColor",U=K?.stroke,W=K?.strokeWidth??1,H=J/$.unitsPerEm,_="",N=0,V=0,z=1/0,j=-1/0,X=1/0,G=-1/0;for(let v=0;v<Q.length;v++){let T=Q[v],g=g9($,T.glyphId,Z);if(g?.bounds){let P=N+T.xOffset*H,f=V-T.yOffset*H,l=KK(g,H,P,f);if(_)_+=" ";_+=l;let C=g.bounds;z=Math.min(z,P+C.xMin*H),j=Math.max(j,P+C.xMax*H),X=Math.min(X,f-C.yMax*H),G=Math.max(G,f-C.yMin*H)}N+=T.xAdvance*H,V+=T.yAdvance*H}if(!_)return'<svg xmlns="http://www.w3.org/2000/svg"></svg>';let E=U?W/2:0,Y=Math.ceil(j-z+E*2),w=Math.ceil(G-X+E*2),F=Math.floor((z-E)*Y6),A=Math.floor((X-E)*Y6),D=Math.ceil(Y*Y6),L=Math.ceil(w*Y6),R=`${F} ${A} ${D} ${L}`,B=U?` stroke="${U}" stroke-width="${W*Y6}"${K?.lineCap?` stroke-linecap="${K.lineCap}"`:""}${K?.lineJoin?` stroke-linejoin="${K.lineJoin}"`:""}`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${Y}" height="${w}" viewBox="${R}">
|
|
8
8
|
<path d="${_}" fill="${q}"${B}/>
|
|
9
|
-
</svg>`}function CH($,Q,Z){let K=Z/Q.unitsPerEm,J=0;for(let q=0;q<$.length;q++){let U=$[q];J+=U.xAdvance}return J*K}function D$($,Q){let Z=new Path2D;return t8(Z,$,Q),Z}function m0($,Q,Z,K){let q=K?.flipY??!0?-1:1;for(let U=0;U<Q.commands.length;U++){let W=Q.commands[U];switch(W.type){case"M":{let H=Q6(W.x,W.y*q,Z);$.moveTo(H.x,H.y);break}case"L":{let H=Q6(W.x,W.y*q,Z);$.lineTo(H.x,H.y);break}case"Q":{let H=Q6(W.x1,W.y1*q,Z),_=Q6(W.x,W.y*q,Z);$.quadraticCurveTo(H.x,H.y,_.x,_.y);break}case"C":{let H=Q6(W.x1,W.y1*q,Z),_=Q6(W.x2,W.y2*q,Z),N=Q6(W.x,W.y*q,Z);$.bezierCurveTo(H.x,H.y,_.x,_.y,N.x,N.y);break}case"Z":$.closePath();break}}}function $K($,Q,Z){let J=Z?.flipY??!0?-1:1,q="";for(let U=0;U<$.commands.length;U++){let W=$.commands[U];if(U>0)q+=" ";switch(W.type){case"M":{let H=Q6(W.x,W.y*J,Q);q+="M "+H.x+" "+H.y;break}case"L":{let H=Q6(W.x,W.y*J,Q);q+="L "+H.x+" "+H.y;break}case"Q":{let H=Q6(W.x1,W.y1*J,Q),_=Q6(W.x,W.y*J,Q);q+="Q "+H.x+" "+H.y+" "+_.x+" "+_.y;break}case"C":{let H=Q6(W.x1,W.y1*J,Q),_=Q6(W.x2,W.y2*J,Q),N=Q6(W.x,W.y*J,Q);q+="C "+H.x+" "+H.y+" "+_.x+" "+_.y+" "+N.x+" "+N.y;break}case"Z":q+="Z";break}}return q}function u0($,Q,Z,K){let q=K?.flipY??!0?-1:1;for(let U=0;U<Q.commands.length;U++){let W=Q.commands[U];switch(W.type){case"M":{let H=$6(W.x,W.y*q,Z);$.moveTo(H.x,H.y);break}case"L":{let H=$6(W.x,W.y*q,Z);$.lineTo(H.x,H.y);break}case"Q":{let H=$6(W.x1,W.y1*q,Z),_=$6(W.x,W.y*q,Z);$.quadraticCurveTo(H.x,H.y,_.x,_.y);break}case"C":{let H=$6(W.x1,W.y1*q,Z),_=$6(W.x2,W.y2*q,Z),N=$6(W.x,W.y*q,Z);$.bezierCurveTo(H.x,H.y,_.x,_.y,N.x,N.y);break}case"Z":$.closePath();break}}}function QK($,Q,Z){let J=Z?.flipY??!0?-1:1,q="";for(let U=0;U<$.commands.length;U++){let W=$.commands[U];if(U>0)q+=" ";switch(W.type){case"M":{let H=$6(W.x,W.y*J,Q);q+="M "+H.x+" "+H.y;break}case"L":{let H=$6(W.x,W.y*J,Q);q+="L "+H.x+" "+H.y;break}case"Q":{let H=$6(W.x1,W.y1*J,Q),_=$6(W.x,W.y*J,Q);q+="Q "+H.x+" "+H.y+" "+_.x+" "+_.y;break}case"C":{let H=$6(W.x1,W.y1*J,Q),_=$6(W.x2,W.y2*J,Q),N=$6(W.x,W.y*J,Q);q+="C "+H.x+" "+H.y+" "+_.x+" "+_.y+" "+N.x+" "+N.y;break}case"Z":q+="Z";break}}return q}function SH($,Q){$.transform(Q[0],Q[1],Q[2],Q[3],Q[4],Q[5])}function ZK($){return`matrix(${$[0]} ${$[1]} ${$[2]} ${$[3]} ${$[4]} ${$[5]})`}function KK($,Q,Z,K){let J="",q=Q*Y6,U=-Q*Y6,W=Z*Y6,H=K*Y6;for(let _=0;_<$.commands.length;_++){let N=$.commands[_];if(_>0)J+=" ";switch(N.type){case"M":J+="M "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"L":J+="L "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"Q":J+="Q "+Math.round(N.x1*q+W)+" "+Math.round(N.y1*U+H)+" "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"C":J+="C "+Math.round(N.x1*q+W)+" "+Math.round(N.y1*U+H)+" "+Math.round(N.x2*q+W)+" "+Math.round(N.y2*U+H)+" "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"Z":J+="Z";break}}return J}var W6=8,Z6=256,hH=255,yH=6,bH=64,gH=16,mH=65536;function uH($){return Math.round($*64)}function xH($){return $/64}function fH($,Q){return Math.round($*Q*256)}function a6($){return $>>8}function h8($){return $&255}function lH($){return $+128>>8}function dH($){return $&-256}function nH($){return $+255&-256}function pH($){return $<<2}function cH($){return $>>2}function M$($,Q,Z){if(Z===0)return 0;let K=$<0?-$:$,J=Q<0?-Q:Q;if(K<8388607&&J<8388607)return Math.trunc($*Q/Z);return Number(BigInt($)*BigInt(Q)/BigInt(Z))}function oH($,Q){return M$($,Q,65536)}function iH($,Q){if(Q===0)return 0;return M$($,65536,Q)}function JK($,Q){return $=f6($),Q=f6(Q),$>Q?$+(3*Q>>3):Q+(3*$>>3)}function sH($,Q){return JK($,Q)}function aH($,Q){let Z=Math.sqrt($*$+Q*Q);if(Z===0)return{x:65536,y:0};return{x:Math.round($/Z*65536),y:Math.round(Q/Z*65536)}}function rH($,Q,Z){return $<Q?Q:$>Z?Z:$}function f6($){return $<0?-$:$}function tH($){return $<0?-1:$>0?1:0}var eH=16384,qK=2147483647;class y8 extends Error{constructor(){super("Cell pool overflow");this.name="PoolOverflowError"}}class B${pool;poolSize;freeIndex;ycells;bandMinY=0;bandMaxY=0;minY=1/0;maxY=-1/0;minX=1/0;maxX=-1/0;currentX=0;currentY=0;currentCellIndex=-1;clipMinX=-1/0;clipMinY=-1/0;clipMaxX=1/0;clipMaxY=1/0;nullCellIndex;bandSet=!1;constructor($=eH){this.poolSize=$,this.nullCellIndex=$-1,this.pool=Array($);for(let Q=0;Q<$;Q++)this.pool[Q]={x:0,area:0,cover:0,next:-1};this.pool[this.nullCellIndex].x=qK,this.pool[this.nullCellIndex].next=-1,this.ycells=[],this.freeIndex=0,this.bandMinY=-1e4,this.bandMaxY=1e4}setClip($,Q,Z,K){this.clipMinX=$,this.clipMinY=Q,this.clipMaxX=Z,this.clipMaxY=K}setBandBounds($,Q){this.bandMinY=$,this.bandMaxY=Q,this.bandSet=!0;let Z=Q-$;if(this.ycells.length<Z)this.ycells=Array(Z);for(let K=0;K<Z;K++)this.ycells[K]=this.nullCellIndex;this.freeIndex=0}reset(){if(this.freeIndex=0,this.pool[this.nullCellIndex].x=qK,this.pool[this.nullCellIndex].area=0,this.pool[this.nullCellIndex].cover=0,this.pool[this.nullCellIndex].next=-1,this.bandSet)for(let $=0;$<this.ycells.length;$++)this.ycells[$]=this.nullCellIndex;else this.ycells=[],this.bandMinY=-1e5,this.bandMaxY=1e5;this.minY=1/0,this.maxY=-1/0,this.minX=1/0,this.maxX=-1/0,this.currentCellIndex=-1}setCurrentCell($,Q){let Z=a6($),K=a6(Q);if(this.currentCellIndex>=0&&this.currentX===Z&&this.currentY===K)return;if(K<this.clipMinY||K>=this.clipMaxY||Z<this.clipMinX||Z>=this.clipMaxX||this.bandSet&&(K<this.bandMinY||K>=this.bandMaxY)){this.currentCellIndex=this.nullCellIndex,this.currentX=Z,this.currentY=K;return}this.currentX=Z,this.currentY=K,this.currentCellIndex=this.findOrCreateCell(Z,K),this.minY=Math.min(this.minY,K),this.maxY=Math.max(this.maxY,K),this.minX=Math.min(this.minX,Z),this.maxX=Math.max(this.maxX,Z)}findOrCreateCell($,Q){if(!this.bandSet)this.ensureYCellsCapacity(Q);let Z=Q-this.bandMinY;if(Z<0||Z>=this.ycells.length)return this.nullCellIndex;let K=-1,J=this.ycells[Z];while(J!==this.nullCellIndex){let W=this.pool[J];if(W.x===$)return J;if(W.x>$)break;K=J,J=W.next}if(this.freeIndex>=this.nullCellIndex)throw new y8;let q=this.freeIndex++,U=this.pool[q];if(U.x=$,U.area=0,U.cover=0,U.next=J,K===-1)this.ycells[Z]=q;else this.pool[K].next=q;return q}ensureYCellsCapacity($){if(this.ycells.length===0){this.bandMinY=Math.min($,0),this.bandMaxY=Math.max($+1,256);let Q=this.bandMaxY-this.bandMinY;this.ycells=Array(Q);for(let Z=0;Z<Q;Z++)this.ycells[Z]=this.nullCellIndex;return}if($<this.bandMinY){let Q=this.bandMinY-$,Z=Array(this.ycells.length+Q);for(let K=0;K<Q;K++)Z[K]=this.nullCellIndex;for(let K=0;K<this.ycells.length;K++)Z[Q+K]=this.ycells[K];this.ycells=Z,this.bandMinY=$}else if($>=this.bandMaxY){let Q=$+1,Z=this.ycells.length,K=Q-this.bandMinY;if(K>Z){let J=Array(K);for(let q=0;q<Z;q++)J[q]=this.ycells[q];for(let q=Z;q<K;q++)J[q]=this.nullCellIndex;this.ycells=J}this.bandMaxY=Q}}addArea($,Q){if(this.currentCellIndex>=0){let Z=this.pool[this.currentCellIndex];Z.area+=$,Z.cover+=Q}}getArea(){if(this.currentCellIndex>=0)return this.pool[this.currentCellIndex]?.area;return 0}getCover(){if(this.currentCellIndex>=0)return this.pool[this.currentCellIndex]?.cover;return 0}getCellsForRow($){let Q=$-this.bandMinY;if(Q<0||Q>=this.ycells.length)return[];let Z=[],K=this.ycells[Q];while(K!==this.nullCellIndex)Z.push(this.pool[K]),K=this.pool[K].next;return Z}*iterateCells(){for(let $=0;$<this.ycells.length;$++){let Q=this.bandMinY+$,Z=this.ycells[$];if(Z===this.nullCellIndex)continue;let K=[];while(Z!==this.nullCellIndex)K.push(this.pool[Z]),Z=this.pool[Z].next;if(K.length>0)yield{y:Q,cells:K}}}*iterateScanlines(){for(let $=0;$<this.ycells.length;$++){let Q=this.ycells[$];if(Q!==this.nullCellIndex)yield{y:this.bandMinY+$,firstCellIndex:Q}}}getPool(){return this.pool}getNullIndex(){return this.nullCellIndex}getYCells(){return this.ycells}getBandMinY(){return this.bandMinY}*iterateRowCells($){let Q=$-this.bandMinY;if(Q<0||Q>=this.ycells.length)return;let Z=this.ycells[Q];while(Z!==this.nullCellIndex)yield this.pool[Z],Z=this.pool[Z].next}getCellCount(){return this.freeIndex}isNearCapacity(){return this.freeIndex>this.poolSize*0.9}}G6();var $4=32,WK=16;class e8{cells;x=0;y=0;minX=0;minY=0;maxX=0;maxY=0;constructor(){this.cells=new B$}setClip($,Q,Z,K){this.minX=$,this.minY=Q,this.maxX=Z,this.maxY=K,this.cells.setClip($,Q,Z,K)}setBandBounds($,Q){this.cells.setBandBounds($,Q)}reset(){this.cells.reset(),this.x=0,this.y=0}moveTo($,Q){this.x=$,this.y=Q,this.cells.setCurrentCell($,Q)}lineTo($,Q){this.renderLine($,Q),this.x=$,this.y=Q}renderLine($,Q){let Z=a6(this.y),K=a6(Q);if(Z>=this.maxY&&K>=this.maxY||Z<this.minY&&K<this.minY)return;let J=h8(this.y),q=h8(Q);if(Z===K){this.renderScanline(Z,this.x,J,$,q);return}let U=$-this.x,W=Q-this.y;if(U===0){let E=a6(this.x),Y=h8(this.x)*2,w,F;if(W>0)w=Z6,F=1;else w=0,F=-1;let A=w-J;this.cells.setCurrentCell(this.x,Z<<W6),this.cells.addArea(A*Y,A),Z+=F,this.cells.setCurrentCell(this.x,Z<<W6),A=w+w-Z6;while(Z!==K)this.cells.addArea(A*Y,A),Z+=F,this.cells.setCurrentCell(this.x,Z<<W6);A=q-Z6+w,this.cells.addArea(A*Y,A);return}let H=this.x,_,N,V,z=f6(W);if(W>0)N=Z6,_=1,V=(Z6-J)*U;else N=0,_=-1,V=J*U;let j=Math.trunc(V/z),X=V%z;if(X<0)j--,X+=z;let G=H+j;if(this.renderScanline(Z,H,J,G,N),H=G,Z+=_,this.cells.setCurrentCell(H,Z<<W6),Z!==K){V=Z6*U;let E=Math.trunc(V/z),Y=V%z;if(Y<0)E--,Y+=z;while(Z!==K){if(j=E,X+=Y,X>=z)X-=z,j++;G=H+j,this.renderScanline(Z,H,Z6-N,G,N),H=G,Z+=_,this.cells.setCurrentCell(H,Z<<W6)}}this.renderScanline(Z,H,Z6-N,$,q)}renderScanline($,Q,Z,K,J){let q=a6(Q),U=a6(K);if(Z===J){this.cells.setCurrentCell(K,$<<W6);return}let W=h8(Q),H=h8(K);if(q===U){let F=J-Z;this.cells.setCurrentCell(Q,$<<W6),this.cells.addArea(F*(W+H),F);return}let _=K-Q,N=J-Z,V=f6(_),z,j,X;if(_>0)z=Z6,j=1,X=(Z6-W)*N;else z=0,j=-1,X=W*N;let G=Math.trunc(X/V),E=X%V;if(E<0)G--,E+=V;this.cells.setCurrentCell(Q,$<<W6),this.cells.addArea(G*(W+z),G);let Y=Z+G,w=q+j;if(this.cells.setCurrentCell(w<<W6,$<<W6),w!==U){X=Z6*N;let F=Math.trunc(X/V),A=X%V;if(A<0)F--,A+=V;while(w!==U){if(G=F,E+=A,E>=V)E-=V,G++;this.cells.addArea(G*Z6,G),Y+=G,w+=j,this.cells.setCurrentCell(w<<W6,$<<W6)}}G=J-Y,this.cells.addArea(G*(H+Z6-z),G)}mulDiv($,Q,Z){if(Z===0)return 0;return Math.trunc($*Q/Z)}conicTo($,Q,Z,K){this.subdivConic(this.x,this.y,$,Q,Z,K,0),this.x=Z,this.y=K}subdivConic($,Q,Z,K,J,q,U){if(U>16){this.renderLine(J,q),this.x=J,this.y=q;return}let W=f6($+J-2*Z),H=f6(Q+q-2*K);if(W<H)W=H;if(W<=Z6>>2){this.renderLine(J,q),this.x=J,this.y=q;return}let _=$+Z>>1,N=Q+K>>1,V=Z+J>>1,z=K+q>>1,j=_+V>>1,X=N+z>>1;this.subdivConic($,Q,_,N,j,X,U+1),this.subdivConic(j,X,V,z,J,q,U+1)}cubicTo($,Q,Z,K,J,q){this.subdivCubic(this.x,this.y,$,Q,Z,K,J,q,0),this.x=J,this.y=q}subdivCubic($,Q,Z,K,J,q,U,W,H){if(H>16){this.renderLine(U,W),this.x=U,this.y=W;return}if(f6(2*U-3*J+$)>Z6>>1||f6(2*W-3*q+Q)>Z6>>1||f6(U-3*Z+2*$)>Z6>>1||f6(W-3*K+2*Q)>Z6>>1){let _=$+Z>>1,N=Q+K>>1,V=Z+J>>1,z=K+q>>1,j=J+U>>1,X=q+W>>1,G=_+V>>1,E=N+z>>1,Y=V+j>>1,w=z+X>>1,F=G+Y>>1,A=E+w>>1;this.subdivCubic($,Q,_,N,G,E,F,A,H+1),this.subdivCubic(F,A,Y,w,j,X,U,W,H+1);return}this.renderLine(U,W),this.x=U,this.y=W}sweep($,Q=0){let Z=$.pitch,K=Z<0?($.rows-1)*-Z:0,J=$.width,q=$.rows,U=this.cells.getPool(),W=this.cells.getNullIndex(),H=this.cells.getYCells(),_=this.cells.getBandMinY(),N=H.length;for(let V=0;V<N;V++){let z=H[V];if(z===W)continue;let j=_+V;if(j<0||j>=q)continue;let X=0,G=0,E=Z<0?K-j*-Z:j*Z,Y=z;while(Y!==W){let w=U[Y];if(w.x>G&&X!==0){let D=this.applyFillRule(X>>W6+1,Q);if(D>0){let L=G<0?0:G,R=w.x>J?J:w.x;this.fillSpan($,E,L,R,D)}}X+=w.cover*(Z6*2);let F=X-w.area,A=this.applyFillRule(F>>W6+1,Q);if(A>0&&w.x>=0&&w.x<J)this.setPixel($,E,w.x,A);G=w.x+1,Y=w.next}if(G<J&&X!==0){let w=this.applyFillRule(X>>W6+1,Q);if(w>0)this.fillSpan($,E,G,J,w)}}}applyFillRule($,Q){let Z=$;if(Z<0)Z=-Z;if(Q===1){if(Z&=511,Z>256)Z=512-Z}return Z>255?255:Z}fillSpan($,Q,Z,K,J){if($.pixelMode===1)$.buffer.fill(J,Q+Z,Q+K);else if($.pixelMode===0){if(J>=128)for(let q=Z;q<K;q++){let U=Q+(q>>3),W=7-(q&7);$.buffer[U]|=1<<W}}else if($.pixelMode===2||$.pixelMode===3)for(let q=Z;q<K;q++){let U=Q+q*3;$.buffer[U]=J,$.buffer[U+1]=J,$.buffer[U+2]=J}else if($.pixelMode===4)for(let q=Z;q<K;q++){let U=Q+q*4;$.buffer[U]=0,$.buffer[U+1]=0,$.buffer[U+2]=0,$.buffer[U+3]=J}}setPixel($,Q,Z,K){if($.pixelMode===1)$.buffer[Q+Z]=K;else if($.pixelMode===0){if(K>=128){let J=Q+(Z>>3),q=7-(Z&7);$.buffer[J]|=1<<q}}else if($.pixelMode===2||$.pixelMode===3){let J=Q+Z*3;$.buffer[J]=K,$.buffer[J+1]=K,$.buffer[J+2]=K}else if($.pixelMode===4){let J=Q+Z*4;$.buffer[J]=0,$.buffer[J+1]=0,$.buffer[J+2]=0,$.buffer[J+3]=K}}sweepSpans($,Q=0,Z){let K=this.cells.getYCells(),J=this.cells.getPool(),q=this.cells.getNullIndex(),U=this.cells.getBandMinY();for(let W=0;W<K.length;W++){let H=K[W];if(H===q)continue;let _=U+W,N=[],V=0,z=-1;while(H!==q){let j=J[H];if(V!==0&&j.x>z+1){let E=this.applyFillRule(V>>W6+1,Q);if(E>0)N.push({x:z+1,len:j.x-z-1,coverage:E})}V+=j.cover*(Z6*2);let X=V-j.area,G=this.applyFillRule(X>>W6+1,Q);if(G>0)N.push({x:j.x,len:1,coverage:G});z=j.x,H=j.next}if(N.length>0)$(_,N,Z)}}sweepDirect($,Q=0,Z=0,K=1/0,J){let q=[],U=this.cells.getYCells(),W=this.cells.getPool(),H=this.cells.getNullIndex(),_=this.cells.getBandMinY();for(let N=0;N<U.length;N++){let V=U[N];if(V===H)continue;let z=_+N,j=0,X=Z;while(V!==H){let G=W[V];if(j!==0&&G.x>X){let w=this.applyFillRule(j>>W6+1,Q);if(w>0){if(q.push({x:X,len:G.x-X,coverage:w}),q.length>=WK)$(z,q.splice(0,q.length),J)}}j+=G.cover*(Z6*2);let E=j-G.area,Y=this.applyFillRule(E>>W6+1,Q);if(Y>0&&G.x>=Z&&G.x<K){if(q.push({x:G.x,len:1,coverage:Y}),q.length>=WK)$(z,q.splice(0,q.length),J)}X=G.x+1,V=G.next}if(j!==0&&X<K){let G=this.applyFillRule(j>>W6+1,Q);if(G>0)q.push({x:X,len:Math.min(K,this.maxX+1)-X,coverage:G})}if(q.length>0)$(z,q.splice(0,q.length),J)}}renderWithBands($,Q,Z,K=0){let q=Z.maxY-Z.minY,U=Math.max(1,Math.floor(256));if(q<=U)U=q;let W=Z.minX??0,H=Z.maxX??$.width,_=[];for(let N=Z.minY;N<Z.maxY;N+=U)_.push({minY:N,maxY:Math.min(N+U,Z.maxY),minX:W,maxX:H,depth:0});while(_.length>0){let N=_.pop();if(!N)break;if(this.renderBandWithXClip($,Q,N.minY,N.maxY,N.minX,N.maxX,K))continue;let V=N.depth;if(V>=$4){console.warn(`Rasterizer: band overflow at (${N.minX},${N.minY}), depth limit reached`);continue}let z=V+1,j=N.minX+N.maxX>>1;if(j>N.minX){_.push({minY:N.minY,maxY:N.maxY,minX:j,maxX:N.maxX,depth:z}),_.push({minY:N.minY,maxY:N.maxY,minX:N.minX,maxX:j,depth:z});continue}let X=N.minY+N.maxY>>1;if(X>N.minY){_.push({minY:X,maxY:N.maxY,minX:N.minX,maxX:N.maxX,depth:z}),_.push({minY:N.minY,maxY:X,minX:N.minX,maxX:N.maxX,depth:z});continue}console.warn(`Rasterizer: band overflow at (${N.minX},${N.minY}), cannot bisect further`)}}renderBandWithXClip($,Q,Z,K,J,q,U){this.setClip(J,Z,q,K),this.cells.setBandBounds(Z,K),this.cells.reset(),this.minY=Z,this.maxY=K;try{return Q(),this.sweepBandWithXClip($,Z,K,J,q,U),!0}catch(W){if(W instanceof y8)return!1;throw W}}sweepBandWithXClip($,Q,Z,K,J,q){let U=$.pitch,W=U<0?($.rows-1)*-U:0,H=this.cells.getYCells(),_=this.cells.getPool(),N=this.cells.getNullIndex(),V=this.cells.getBandMinY();for(let z=Q;z<Z;z++){if(z<0||z>=$.rows)continue;let j=z-V;if(j<0||j>=H.length)continue;let X=H[j];if(X===N)continue;let G=0,E=K,Y=U<0?W-z*-U:z*U;while(X!==N){let w=_[X];if(w.x<K){G+=w.cover*(Z6*2),X=w.next;continue}if(w.x>=J){if(G!==0&&E<J){let D=this.applyFillRule(G>>W6+1,q);if(D>0)this.fillSpan($,Y,Math.max(0,E),Math.min($.width,J),D)}break}if(w.x>E&&G!==0){let D=this.applyFillRule(G>>W6+1,q);if(D>0){let L=Math.max(0,E),R=Math.min($.width,w.x);this.fillSpan($,Y,L,R,D)}}G+=w.cover*(Z6*2);let F=G-w.area,A=this.applyFillRule(F>>W6+1,q);if(A>0&&w.x>=0&&w.x<$.width)this.setPixel($,Y,w.x,A);E=w.x+1,X=w.next}if(E<J&&E<$.width&&G!==0){let w=this.applyFillRule(G>>W6+1,q);if(w>0)this.fillSpan($,Y,E,Math.min($.width,J),w)}}}}G6();var _K;((J)=>{J[J.Ok=0]="Ok";J[J.InvalidOutline=1]="InvalidOutline";J[J.InvalidArgument=2]="InvalidArgument";J[J.EmptyOutline=3]="EmptyOutline"})(_K||={});function Q4($,Q=!0){if(!$)return{error:1,message:"Path is null or undefined"};if(!$.commands)return{error:1,message:"Path commands array is missing"};if($.commands.length===0){if(Q)return{error:3};return{error:1,message:"Path is empty"}}let Z=!1,K=!1,J=0;for(let q=0;q<$.commands.length;q++){let U=$.commands[q];switch(U.type){case"M":if(Z=!0,K=!0,J++,!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}: (${U.x}, ${U.y})`};break;case"L":if(!Z)return{error:1,message:`Line command at ${q} without preceding moveTo`};if(!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"Q":if(!Z)return{error:1,message:`Quadratic curve at ${q} without preceding moveTo`};if(!Number.isFinite(U.x1)||!Number.isFinite(U.y1)||!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"C":if(!Z)return{error:1,message:`Cubic curve at ${q} without preceding moveTo`};if(!Number.isFinite(U.x1)||!Number.isFinite(U.y1)||!Number.isFinite(U.x2)||!Number.isFinite(U.y2)||!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"Z":K=!1;break;default:return{error:1,message:`Unknown command type at ${q}: ${U.type}`}}}if(J===0&&!Q)return{error:3,message:"No contours in path"};return{error:0}}function Y8($,Q,Z,K=0,J=0,q=!0){let U=0,W=0,H=!1,_=Z*Z6,N=(q?-Z:Z)*Z6,V=K*Z6,z=J*Z6;for(let j=0;j<Q.commands.length;j++){let X=Q.commands[j];switch(X.type){case"M":{if(H)$.lineTo(U,W);let G=Math.round(X.x*_+V),E=Math.round(X.y*N+z);$.moveTo(G,E),U=G,W=E,H=!0;break}case"L":{let G=Math.round(X.x*_+V),E=Math.round(X.y*N+z);$.lineTo(G,E);break}case"Q":{let G=Math.round(X.x1*_+V),E=Math.round(X.y1*N+z),Y=Math.round(X.x*_+V),w=Math.round(X.y*N+z);$.conicTo(G,E,Y,w);break}case"C":{let G=Math.round(X.x1*_+V),E=Math.round(X.y1*N+z),Y=Math.round(X.x2*_+V),w=Math.round(X.y2*N+z),F=Math.round(X.x*_+V),A=Math.round(X.y*N+z);$.cubicTo(G,E,Y,w,F,A);break}case"Z":{if(H)$.lineTo(U,W),H=!1;break}}}if(H)$.lineTo(U,W)}function HK($,Q){if($===0||Q===0)return 0;let Z=1,K=$,J=Q;if(K<0)K=-K,Z=-Z;if(J<0)J=-J,Z=-Z;let q=Math.floor((K*J+32768)/65536);return Z<0?-q:q}function U8($,Q,Z=!0,K=!1){if(K){let q=Math.round(Q*64*65536),U=1/0,W=1/0,H=-1/0,_=-1/0,N=(V,z)=>{let j=HK(V,q),X=HK(z,q);if(j<U)U=j;if(j>H)H=j;if(X<W)W=X;if(X>_)_=X};for(let V of $.commands)switch(V.type){case"M":case"L":N(V.x,V.y);break;case"Q":N(V.x1,V.y1),N(V.x,V.y);break;case"C":N(V.x1,V.y1),N(V.x2,V.y2),N(V.x,V.y);break;default:break}if(!Number.isFinite(U)||!Number.isFinite(W))return null;if(Z){let V=-_,z=-W;return{minX:Math.floor(U/64),minY:Math.floor(V/64),maxX:Math.floor((H+63)/64),maxY:Math.floor((z+63)/64)}}return{minX:Math.floor(U/64),minY:Math.floor(W/64),maxX:Math.floor((H+63)/64),maxY:Math.floor((_+63)/64)}}if(!$.bounds)return null;let J=$.bounds;if(Z)return{minX:Math.floor(J.xMin*Q),minY:Math.floor(-J.yMax*Q),maxX:Math.ceil(J.xMax*Q),maxY:Math.ceil(-J.yMin*Q)};else return{minX:Math.floor(J.xMin*Q),minY:Math.floor(J.yMin*Q),maxX:Math.ceil(J.xMax*Q),maxY:Math.ceil(J.yMax*Q)}}function Z4($,Q=0){if(!$?.flags)return Q;return($.flags&1)!==0?1:0}G6();G6();function b8($,Q,Z){if(Q===0&&Z===0)return U6($);let K=a($.width,$.rows,$.pixelMode);if($.pixelMode===1)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=0;for(let W=-Math.floor(Z);W<=Math.ceil(Z);W++)for(let H=-Math.floor(Q);H<=Math.ceil(Q);H++){let _=q+H,N=J+W;if(_>=0&&_<$.width&&N>=0&&N<$.rows){let V=$.buffer[N*$.pitch+_]??0;U=Math.max(U,V)}}K.buffer[J*K.pitch+q]=U}else if($.pixelMode===0)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=!1;for(let W=-Math.floor(Z);W<=Math.ceil(Z);W++){for(let H=-Math.floor(Q);H<=Math.ceil(Q);H++){let _=q+H,N=J+W;if(_>=0&&_<$.width&&N>=0&&N<$.rows){let V=N*$.pitch+(_>>3),z=7-(_&7);if(($.buffer[V]??0)>>z&1){U=!0;break}}}if(U)break}if(U){let W=J*K.pitch+(q>>3),H=7-(q&7);K.buffer[W]|=1<<H}}else if($.pixelMode===2||$.pixelMode===3)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=0,W=0,H=0;for(let N=-Math.floor(Z);N<=Math.ceil(Z);N++)for(let V=-Math.floor(Q);V<=Math.ceil(Q);V++){let z=q+V,j=J+N;if(z>=0&&z<$.width&&j>=0&&j<$.rows){let X=j*$.pitch+z*3;U=Math.max(U,$.buffer[X]??0),W=Math.max(W,$.buffer[X+1]??0),H=Math.max(H,$.buffer[X+2]??0)}}let _=J*K.pitch+q*3;K.buffer[_]=U,K.buffer[_+1]=W,K.buffer[_+2]=H}return K}function W8($,Q){if($.pixelMode===Q)return $;let Z=a($.width,$.rows,Q);if($.pixelMode===1&&Q===0){for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++)if(($.buffer[K*$.pitch+J]??0)>=128){let U=K*Z.pitch+(J>>3),W=7-(J&7);Z.buffer[U]|=1<<W}}else if($.pixelMode===0&&Q===1)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+(J>>3),U=7-(J&7),W=($.buffer[q]??0)>>U&1;Z.buffer[K*Z.pitch+J]=W?255:0}else if($.pixelMode===1&&Q===2)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=$.buffer[K*$.pitch+J]??0,U=K*Z.pitch+J*3;Z.buffer[U]=q,Z.buffer[U+1]=q,Z.buffer[U+2]=q}else if($.pixelMode===0&&Q===2)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+(J>>3),U=7-(J&7),H=($.buffer[q]??0)>>U&1?255:0,_=K*Z.pitch+J*3;Z.buffer[_]=H,Z.buffer[_+1]=H,Z.buffer[_+2]=H}else if($.pixelMode===1&&Q===3)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=$.buffer[K*$.pitch+J]??0,U=K*Z.pitch+J*3;Z.buffer[U]=q,Z.buffer[U+1]=q,Z.buffer[U+2]=q}else if($.pixelMode===2&&Q===1)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+J*3,U=$.buffer[q]??0,W=$.buffer[q+1]??0,H=$.buffer[q+2]??0;Z.buffer[K*Z.pitch+J]=Math.floor((U+W+H)/3)}return Z}function f0($,Q,Z,K,J){if($.pixelMode!==1||Q.pixelMode!==1)return;J=Math.max(0,Math.min(1,J));let q=Math.max(0,-Z),U=Math.max(0,-K),W=Math.min(Q.width,$.width-Z),H=Math.min(Q.rows,$.rows-K);for(let _=U;_<H;_++)for(let N=q;N<W;N++){let V=Z+N,z=K+_;if(V>=0&&V<$.width&&z>=0&&z<$.rows){let j=Q.buffer[_*Q.pitch+N]??0,G=($.buffer[z*$.pitch+V]??0)+j*J;$.buffer[z*$.pitch+V]=Math.min(255,Math.floor(G))}}}function U6($){return{buffer:new Uint8Array($.buffer),width:$.width,rows:$.rows,pitch:$.pitch,pixelMode:$.pixelMode,numGrays:$.numGrays}}function g8($,Q,Z){let K=a(Q,Z,$.pixelMode),J=$.width/Q,q=$.rows/Z;if($.pixelMode===1)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),_=Math.floor(U*q);K.buffer[U*K.pitch+W]=$.buffer[_*$.pitch+H]??0}else if($.pixelMode===0)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),N=Math.floor(U*q)*$.pitch+(H>>3),V=7-(H&7);if(($.buffer[N]??0)>>V&1){let j=U*K.pitch+(W>>3),X=7-(W&7);K.buffer[j]|=1<<X}}else if($.pixelMode===2||$.pixelMode===3)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),N=Math.floor(U*q)*$.pitch+H*3,V=U*K.pitch+W*3;K.buffer[V]=$.buffer[N]??0,K.buffer[V+1]=$.buffer[N+1]??0,K.buffer[V+2]=$.buffer[N+2]??0}return K}function $9($,Q,Z){let K=a(Q,Z,$.pixelMode),J=($.width-1)/Math.max(1,Q-1),q=($.rows-1)/Math.max(1,Z-1);if($.pixelMode===1)for(let U=0;U<Z;U++){let W=U*q,H=Math.floor(W),_=Math.min(H+1,$.rows-1),N=W-H;for(let V=0;V<Q;V++){let z=V*J,j=Math.floor(z),X=Math.min(j+1,$.width-1),G=z-j,E=$.buffer[H*$.pitch+j]??0,Y=$.buffer[H*$.pitch+X]??0,w=$.buffer[_*$.pitch+j]??0,F=$.buffer[_*$.pitch+X]??0,A=E+(Y-E)*G,D=w+(F-w)*G,L=A+(D-A)*N;K.buffer[U*K.pitch+V]=Math.round(L)}}else if($.pixelMode===0)return g8($,Q,Z);else if($.pixelMode===2||$.pixelMode===3)for(let U=0;U<Z;U++){let W=U*q,H=Math.floor(W),_=Math.min(H+1,$.rows-1),N=W-H;for(let V=0;V<Q;V++){let z=V*J,j=Math.floor(z),X=Math.min(j+1,$.width-1),G=z-j,E=H*$.pitch+j*3,Y=H*$.pitch+X*3,w=_*$.pitch+j*3,F=_*$.pitch+X*3;for(let A=0;A<3;A++){let D=$.buffer[E+A]??0,L=$.buffer[Y+A]??0,R=$.buffer[w+A]??0,B=$.buffer[F+A]??0,v=D+(L-D)*G,T=R+(B-R)*G,g=v+(T-v)*N;K.buffer[U*K.pitch+V*3+A]=Math.round(g)}}}return K}function T$($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let z=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.min(255,z+j)}}}function O$($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let z=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.floor((z*j+127)/255)}}}function l0($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let z=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.max(0,j-z)}}}function P$($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let z=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0,X=z+Math.floor((j*(255-z)+127)/255);$.buffer[_*$.pitch+V]=Math.min(255,X)}}}function f9($,Q,Z){let K=a($.width,$.rows,$.pixelMode);if($.pixelMode===1)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;K.buffer[J*K.pitch+U]=$.buffer[q*$.pitch+W]??0}}else if($.pixelMode===0)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;let H=q*$.pitch+(W>>3),_=7-(W&7);if(($.buffer[H]??0)>>_&1){let V=J*K.pitch+(U>>3),z=7-(U&7);K.buffer[V]|=1<<z}}}else if($.pixelMode===2||$.pixelMode===3)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;let H=q*$.pitch+W*3,_=J*K.pitch+U*3;K.buffer[_]=$.buffer[H]??0,K.buffer[_+1]=$.buffer[H+1]??0,K.buffer[_+2]=$.buffer[H+2]??0}}return K}function NK($,Q,Z=0,K=0,J=128){if($.pixelMode!==1||Q.pixelMode!==1)return;let q=Math.max(0,-Z),U=Math.max(0,-K),W=Math.min(Q.width,$.width-Z),H=Math.min(Q.rows,$.rows-K);for(let _=U;_<H;_++){let N=K+_;if(N<0||N>=$.rows)continue;for(let V=q;V<W;V++){let z=Z+V;if(z<0||z>=$.width)continue;if((Q.buffer[_*Q.pitch+V]??0)>=J)$.buffer[N*$.pitch+z]=0}}}function v$($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let z=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.max(z,j)}}}function Q9($,Q,Z,K,J){let q=$.width+Q+K,U=$.rows+Z+J,W=a(q,U,$.pixelMode);if($.pixelMode===1)for(let H=0;H<$.rows;H++)for(let _=0;_<$.width;_++)W.buffer[(H+Z)*W.pitch+(_+Q)]=$.buffer[H*$.pitch+_]??0;else if($.pixelMode===2||$.pixelMode===3)for(let H=0;H<$.rows;H++)for(let _=0;_<$.width;_++){let N=H*$.pitch+_*3,V=(H+Z)*W.pitch+(_+Q)*3;W.buffer[V]=$.buffer[N]??0,W.buffer[V+1]=$.buffer[N+1]??0,W.buffer[V+2]=$.buffer[N+2]??0}return W}function K4($,Q,Z,K){let{width:U,rows:W}=$,H=Z,_=K,N=Z+Q.width,V=K+Q.rows,z=Math.min(0,H),j=Math.min(0,_),X=Math.max(U,N),G=Math.max(W,V),E=X-z,Y=G-j,w=a(E,Y,$.pixelMode),F=0-z,A=0-j,D=H-z,L=_-j;if($.pixelMode===1)for(let R=0;R<$.rows;R++)for(let B=0;B<$.width;B++)w.buffer[(R+A)*w.pitch+(B+F)]=$.buffer[R*$.pitch+B]??0;return{expanded:w,dstOffsetX:F,dstOffsetY:A,srcOffsetX:D,srcOffsetY:L}}function x9($,Q){let Z=$.pitch,K=Math.abs(Z);return(Z<0?($.rows-1)*K:0)+Q*Z}function x0($,Q,Z,K){if(Q<0||Z<0||Q>=$.width||Z>=$.rows)return 0;let J=x9($,Z);switch($.pixelMode){case 1:return $.buffer[J+Q]??0;case 0:{let q=J+(Q>>3),U=7-(Q&7);return($.buffer[q]??0)>>U&1?255:0}case 2:case 3:{let q=J+Q*3+K;return $.buffer[q]??0}case 4:{let q=J+Q*4+K;return $.buffer[q]??0}}}function VK($,Q,Z,K,J){let q=Math.floor(Q),U=Math.floor(Z),W=q+1,H=U+1,_=Q-q,N=Z-U,V=(1-_)*(1-N),z=_*(1-N),j=(1-_)*N,X=_*N;for(let G=0;G<K;G++){let E=x0($,q,U,G),Y=x0($,W,U,G),w=x0($,q,H,G),F=x0($,W,H,G),A=E*V+Y*z+w*j+F*X;J[G]=Math.min(255,Math.max(0,Math.round(A)))}}function J4($){let[Q,Z,K,J,q,U]=$,W=Q*J-Z*K;if(W===0)return null;let H=J/W,_=-Z/W,N=-K/W,V=Q/W,z=(K*U-J*q)/W,j=(Z*q-Q*U)/W;return{inv:[H,_,N,V,z,j],det:W}}function q4($){let Q=$[0][0],Z=$[0][1],K=$[0][2],J=$[1][0],q=$[1][1],U=$[1][2],W=$[2][0],H=$[2][1],_=$[2][2],N=q*_-U*H,V=K*H-Z*_,z=Z*U-K*q,j=U*W-J*_,X=Q*_-K*W,G=K*J-Q*U,E=J*H-q*W,Y=Z*W-Q*H,w=Q*q-Z*J,F=Q*N+Z*j+K*E;if(F===0)return null;let A=1/F;return[[N*A,V*A,z*A],[j*A,X*A,G*A],[E*A,Y*A,w*A]]}function u9($,Q,Z){let K=Z[2][0]*$+Z[2][1]*Q+Z[2][2],J=0.000001,q=Math.abs(K)<0.000001?K<0?-0.000001:0.000001:K;return{x:(Z[0][0]*$+Z[0][1]*Q+Z[0][2])/q,y:(Z[1][0]*$+Z[1][1]*Q+Z[1][2])/q}}function U4($,Q,Z=0,K=0){l0($,Q,Z,K)}function W4($,Q,Z=0,K=0,J=128){NK($,Q,Z,K,J)}function I$($,Q,Z){let K=1/0,J=-1/0;for(let W=0;W<$.rows;W++)for(let H=0;H<$.width;H++){let _=!1;switch($.pixelMode){case 1:{let N=x9($,W);_=($.buffer[N+H]??0)>0;break}case 0:{let V=x9($,W)+(H>>3),z=7-(H&7);_=(($.buffer[V]??0)>>z&1)===1;break}case 2:case 3:{let V=x9($,W)+H*3;_=($.buffer[V]??0)>0||($.buffer[V+1]??0)>0||($.buffer[V+2]??0)>0;break}case 4:{let V=x9($,W)+H*4;_=($.buffer[V+3]??0)>0;break}}if(_)K=Math.min(K,W),J=Math.max(J,W)}if(!Number.isFinite(K)||!Number.isFinite(J))return{ascent:0,descent:0};let q=Z-K,U=J+1-Z;return{ascent:q,descent:U}}function k$($,Q){let Z=Q.blur??0,K=Q.be??0,J=Q.border??0,q=Q.shadowX??0,U=Q.shadowY??0,W=Math.ceil(Z+K+J),H=W+Math.max(0,-q),_=W+Math.max(0,q),N=W+Math.max(0,-U),V=W+Math.max(0,U);return{width:$.width+H+_,height:$.height+N+V,bearingX:$.bearingX-H,bearingY:$.bearingY+N,ascent:$.ascent+N,descent:$.descent+V,padLeft:H,padRight:_,padTop:N,padBottom:V}}function l9($,Q,Z,K,J){let q=Math.max(0,Math.ceil(K)),U=Math.max(0,Math.ceil(J)),W=Q9($,q,U,q,U);return{bitmap:b8(W,K,J),bearingX:Q-q,bearingY:Z+U}}function r6($,Q,Z={}){let K=Z.bearingX??0,J=Z.bearingY??0,q=(Z.offsetX26??0)/64,U=(Z.offsetY26??0)/64,[W,H,_,N,V,z]=Q,j=[W,H,_,N,V+q,z+U],X=K,G=J,E=X+$.width,Y=G-$.rows,w=[{x:j[0]*X+j[2]*G+j[4],y:j[1]*X+j[3]*G+j[5]},{x:j[0]*E+j[2]*G+j[4],y:j[1]*E+j[3]*G+j[5]},{x:j[0]*X+j[2]*Y+j[4],y:j[1]*X+j[3]*Y+j[5]},{x:j[0]*E+j[2]*Y+j[4],y:j[1]*E+j[3]*Y+j[5]}],F=1/0,A=-1/0,D=1/0,L=-1/0;for(let S of w)F=Math.min(F,S.x),A=Math.max(A,S.x),D=Math.min(D,S.y),L=Math.max(L,S.y);if(!Number.isFinite(F)||!Number.isFinite(D))return{bitmap:a(1,1,$.pixelMode),bearingX:0,bearingY:0};let R=Math.floor(F),B=Math.ceil(A),v=Math.floor(D),T=Math.ceil(L),g=Math.max(1,B-R),P=Math.max(1,T-v),f=a(g,P,$.pixelMode),l=J4(j);if(!l)return{bitmap:f,bearingX:R,bearingY:T};let C=l.inv,O=$.pixelMode===2||$.pixelMode===3?3:$.pixelMode===4?4:1,h=Array(O).fill(0);for(let S=0;S<P;S++)for(let d=0;d<g;d++){let o=R+d+0.5,n=T-S-0.5,e=C[0]*o+C[2]*n+C[4],u=C[1]*o+C[3]*n+C[5],N6=e-K-0.5,y=J-u-0.5;if(VK($,N6,y,O,h),$.pixelMode===0){if((h[0]??0)>=128){let m=S*f.pitch+(d>>3),A6=7-(d&7);f.buffer[m]|=1<<A6}}else if($.pixelMode===1)f.buffer[S*f.pitch+d]=h[0]??0;else if($.pixelMode===2||$.pixelMode===3){let t=S*f.pitch+d*3;f.buffer[t]=h[0]??0,f.buffer[t+1]=h[1]??0,f.buffer[t+2]=h[2]??0}else if($.pixelMode===4){let t=S*f.pitch+d*4;f.buffer[t]=h[0]??0,f.buffer[t+1]=h[1]??0,f.buffer[t+2]=h[2]??0,f.buffer[t+3]=h[3]??0}}return{bitmap:f,bearingX:R,bearingY:T}}function w8($,Q,Z={}){let K=Z.bearingX??0,J=Z.bearingY??0,q=(Z.offsetX26??0)/64,U=(Z.offsetY26??0)/64,W=[[Q[0][0],Q[0][1],Q[0][2]+q],[Q[1][0],Q[1][1],Q[1][2]+U],[Q[2][0],Q[2][1],Q[2][2]]],H=K,_=J,N=H+$.width,V=_-$.rows,z=[u9(H,_,W),u9(N,_,W),u9(H,V,W),u9(N,V,W)],j=1/0,X=-1/0,G=1/0,E=-1/0;for(let g of z)j=Math.min(j,g.x),X=Math.max(X,g.x),G=Math.min(G,g.y),E=Math.max(E,g.y);if(!Number.isFinite(j)||!Number.isFinite(G))return{bitmap:a(1,1,$.pixelMode),bearingX:0,bearingY:0};let Y=Math.floor(j),w=Math.ceil(X),F=Math.floor(G),A=Math.ceil(E),D=Math.max(1,w-Y),L=Math.max(1,A-F),R=a(D,L,$.pixelMode),B=q4(W);if(!B)return{bitmap:R,bearingX:Y,bearingY:A};let v=$.pixelMode===2||$.pixelMode===3?3:$.pixelMode===4?4:1,T=Array(v).fill(0);for(let g=0;g<L;g++)for(let P=0;P<D;P++){let f=Y+P+0.5,l=A-g-0.5,C=u9(f,l,B),O=C.x-K-0.5,h=J-C.y-0.5;if(VK($,O,h,v,T),$.pixelMode===0){if((T[0]??0)>=128){let d=g*R.pitch+(P>>3),o=7-(P&7);R.buffer[d]|=1<<o}}else if($.pixelMode===1)R.buffer[g*R.pitch+P]=T[0]??0;else if($.pixelMode===2||$.pixelMode===3){let S=g*R.pitch+P*3;R.buffer[S]=T[0]??0,R.buffer[S+1]=T[1]??0,R.buffer[S+2]=T[2]??0}else if($.pixelMode===4){let S=g*R.pitch+P*4;R.buffer[S]=T[0]??0,R.buffer[S+1]=T[1]??0,R.buffer[S+2]=T[2]??0,R.buffer[S+3]=T[3]??0}}return{bitmap:R,bearingX:Y,bearingY:A}}function Z9($,Q,Z={}){return r6($,[1,0,Q,1,0,0],Z)}function K9($,Q,Z={}){return r6($,[1,Q,0,1,0,0],Z)}function zK($){if(!$.commands||$.commands.length===0)return null;let Q=1/0,Z=1/0,K=-1/0,J=-1/0,q=0,U=0,W=!1,H=(_,N)=>{Q=Math.min(Q,_),Z=Math.min(Z,N),K=Math.max(K,_),J=Math.max(J,N),W=!0};for(let _=0;_<$.commands.length;_++){let N=$.commands[_];switch(N.type){case"M":{q=N.x,U=N.y,H(q,U);break}case"L":{q=N.x,U=N.y,H(q,U);break}case"Q":{H(N.x,N.y);let V=C$(q,N.x1,N.x);for(let G=0;G<V.length;G++){let E=V[G],Y=d9(q,N.x1,N.x,E);H(Y,U)}let z=C$(U,N.y1,N.y);for(let G=0;G<z.length;G++){let E=z[G],Y=d9(U,N.y1,N.y,E);H(q,Y)}let X=[...new Set([...V,...z])];for(let G=0;G<X.length;G++){let E=X[G],Y=d9(q,N.x1,N.x,E),w=d9(U,N.y1,N.y,E);H(Y,w)}q=N.x,U=N.y;break}case"C":{H(N.x,N.y);let V=S$(q,N.x1,N.x2,N.x);for(let G=0;G<V.length;G++){let E=V[G],Y=n9(q,N.x1,N.x2,N.x,E);H(Y,U)}let z=S$(U,N.y1,N.y2,N.y);for(let G=0;G<z.length;G++){let E=z[G],Y=n9(U,N.y1,N.y2,N.y,E);H(q,Y)}let X=[...new Set([...V,...z])];for(let G=0;G<X.length;G++){let E=X[G],Y=n9(q,N.x1,N.x2,N.x,E),w=n9(U,N.y1,N.y2,N.y,E);H(Y,w)}q=N.x,U=N.y;break}case"Z":break}}if(!W)return null;return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function C$($,Q,Z){let K=$-2*Q+Z;if(Math.abs(K)<0.0000000001)return[];let J=($-Q)/K;if(J>0&&J<1)return[J];return[]}function S$($,Q,Z,K){let J=3*(K-3*Z+3*Q-$),q=6*(Z-2*Q+$),U=3*(Q-$),W=[];if(Math.abs(J)<0.0000000001){if(Math.abs(q)<0.0000000001)return[];let z=-U/q;if(z>0&&z<1)W.push(z);return W}let H=q*q-4*J*U;if(H<0)return[];if(Math.abs(H)<0.0000000001){let z=-q/(2*J);if(z>0&&z<1)W.push(z);return W}let _=Math.sqrt(H),N=(-q+_)/(2*J),V=(-q-_)/(2*J);if(N>0&&N<1)W.push(N);if(V>0&&V<1)W.push(V);return W}function d9($,Q,Z,K){let J=1-K;return J*J*$+2*J*K*Q+K*K*Z}function n9($,Q,Z,K,J){let q=1-J,U=q*q,W=J*J;return U*q*$+3*U*J*Q+3*q*W*Z+W*J*K}G6();function h$($){if($<=0)return new Float32Array([1]);let Q=$,Z=Math.ceil($*2)*2+1,K=new Float32Array(Z),J=Math.floor(Z/2),q=0;for(let U=0;U<Z;U++){let W=U-J,H=Math.exp(-(W*W)/(2*Q*Q));K[U]=H,q+=H}for(let U=0;U<Z;U++)K[U]/=q;return K}function H4($,Q,Z,K,J,q,U,W){let H=Math.floor(U.length/2);for(let _=0;_<K;_++)for(let N=0;N<Z;N++)for(let V=0;V<W;V++){let z=0;for(let X=0;X<U.length;X++){let G=N+X-H,E=Math.max(0,Math.min(Z-1,G)),Y=_*J+E*W+V;z+=($[Y]??0)*U[X]}let j=_*q+N*W+V;Q[j]=Math.min(255,Math.max(0,Math.round(z)))}}function _4($,Q,Z,K,J,q,U,W){let H=Math.floor(U.length/2);for(let _=0;_<K;_++)for(let N=0;N<Z;N++)for(let V=0;V<W;V++){let z=0;for(let X=0;X<U.length;X++){let G=_+X-H,Y=Math.max(0,Math.min(K-1,G))*J+N*W+V;z+=($[Y]??0)*U[X]}let j=_*q+N*W+V;Q[j]=Math.min(255,Math.max(0,Math.round(z)))}}function c6($,Q){if($.pixelMode===0){let q=W8($,1);return c6(q,Q)}if(Q<=0)return $;let Z=h$(Q),K=1;if($.pixelMode===2||$.pixelMode===3)K=3;else if($.pixelMode===4)K=4;let J=new Uint8Array($.buffer.length);return H4($.buffer,J,$.width,$.rows,$.pitch,$.pitch,Z,K),_4(J,$.buffer,$.width,$.rows,$.pitch,$.pitch,Z,K),$}function A8($,Q){if($.pixelMode===0){let U=W8($,1);return A8(U,Q)}if(Q<=0)return $;let Z=1;if($.pixelMode===2||$.pixelMode===3)Z=3;else if($.pixelMode===4)Z=4;let K=Math.floor(Q),J=K*2+1,q=new Uint8Array($.buffer.length);for(let U=0;U<$.rows;U++)for(let W=0;W<Z;W++){let H=0,_=0;for(let V=-K;V<=K;V++)if(V>=0&&V<$.width){let z=U*$.pitch+V*Z+W;H+=$.buffer[z]??0,_++}let N=U*$.pitch+0*Z+W;q[N]=Math.round(H/_);for(let V=1;V<$.width;V++){let z=V-K-1;if(z>=0){let G=U*$.pitch+z*Z+W;H-=$.buffer[G]??0,_--}let j=V+K;if(j<$.width){let G=U*$.pitch+j*Z+W;H+=$.buffer[G]??0,_++}let X=U*$.pitch+V*Z+W;q[X]=Math.round(H/_)}}for(let U=0;U<$.width;U++)for(let W=0;W<Z;W++){let H=0,_=0;for(let V=-K;V<=K;V++)if(V>=0&&V<$.rows){let z=V*$.pitch+U*Z+W;H+=q[z]??0,_++}let N=0*$.pitch+U*Z+W;$.buffer[N]=Math.round(H/_);for(let V=1;V<$.rows;V++){let z=V-K-1;if(z>=0){let G=z*$.pitch+U*Z+W;H-=q[G]??0,_--}let j=V+K;if(j<$.rows){let G=j*$.pitch+U*Z+W;H+=q[G]??0,_++}let X=V*$.pitch+U*Z+W;$.buffer[X]=Math.round(H/_)}}return $}function jK($,Q,Z="gaussian"){if(Z==="box")return A8($,Q);else return c6($,Q)}G6();function N4($,Q,Z){return[Math.round($[0]+(Q[0]-$[0])*Z),Math.round($[1]+(Q[1]-$[1])*Z),Math.round($[2]+(Q[2]-$[2])*Z),Math.round($[3]+(Q[3]-$[3])*Z)]}function d0($,Q,Z){if($.stops.length===0)return[0,0,0,0];if($.stops.length===1)return $.stops[0].color;let K;if($.type==="linear"){let q=$.x1-$.x0,U=$.y1-$.y0,W=q*q+U*U;if(W===0)return $.stops[0].color;let H=Q-$.x0,_=Z-$.y0;K=(H*q+_*U)/W}else{let q=Q-$.cx,U=Z-$.cy,W=Math.sqrt(q*q+U*U);K=$.radius>0?W/$.radius:0}K=Math.max(0,Math.min(1,K));let J=[...$.stops].sort((q,U)=>q.offset-U.offset);if(K<=J[0].offset)return J[0].color;if(K>=J[J.length-1].offset)return J[J.length-1].color;for(let q=0;q<J.length-1;q++){let U=J[q],W=J[q+1];if(K>=U.offset&&K<=W.offset){let H=W.offset-U.offset;if(H===0)return W.color;let _=(K-U.offset)/H;return N4(U.color,W.color,_)}}return J[J.length-1].color}function n0($,Q,Z){let K=a($,Q,4);for(let J=0;J<Q;J++)for(let q=0;q<$;q++){let U=d0(Z,q,J),W=(J*$+q)*4;K.buffer[W]=U[0],K.buffer[W+1]=U[1],K.buffer[W+2]=U[2],K.buffer[W+3]=U[3]}return K}function J9($,Q,Z){let{width:K,height:J}=Z,q=t6($,{...Z,pixelMode:1,flipY:Z.flipY??!1}),U=a(K,J,4);for(let W=0;W<J;W++)for(let H=0;H<K;H++){let _=q.buffer[W*q.pitch+H]??0;if(_>0){let N=d0(Q,H,W),V=(W*K+H)*4,z=N[3]*_/255;U.buffer[V]=N[0],U.buffer[V+1]=N[1],U.buffer[V+2]=N[2],U.buffer[V+3]=Math.round(z)}}return U}G6();function m8($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,flipY:W=!1,spread:H=8}=Q,_=a(Z,K,1),N=V4($,J,q,U,W);if(N.length===0)return _.buffer.fill(0),_;for(let V=0;V<K;V++)for(let z=0;z<Z;z++){let j=z+0.5,X=V+0.5,G=1/0;for(let A=0;A<N.length;A++){let D=N[A],L=z4(j,X,D);G=Math.min(G,L)}let w=128+(E4(j,X,N)?G:-G)/H*127,F=Math.max(0,Math.min(255,Math.round(w)));_.buffer[V*_.pitch+z]=F}return _}function V4($,Q,Z,K,J){let q=[],U=null,W=null,H=(_,N)=>({x:_*Q+Z,y:J?-(N*Q)+K:N*Q+K});for(let _=0;_<$.commands.length;_++){let N=$.commands[_];switch(N.type){case"M":U=H(N.x,N.y),W=U;break;case"L":if(U){let V=H(N.x,N.y);q.push({type:"line",p0:U,p1:V}),U=V}break;case"Q":if(U){let V=H(N.x1,N.y1),z=H(N.x,N.y);q.push({type:"quadratic",p0:U,p1:V,p2:z}),U=z}break;case"C":if(U){let V=H(N.x1,N.y1),z=H(N.x2,N.y2),j=H(N.x,N.y);q.push({type:"cubic",p0:U,p1:V,p2:z,p3:j}),U=j}break;case"Z":if(U&&W){if(Math.abs(U.x-W.x)>0.001||Math.abs(U.y-W.y)>0.001)q.push({type:"line",p0:U,p1:W});U=W}break}}return q}function z4($,Q,Z){switch(Z.type){case"line":return j4($,Q,Z.p0,Z.p1);case"quadratic":return X4($,Q,Z.p0,Z.p1,Z.p2);case"cubic":return G4($,Q,Z.p0,Z.p1,Z.p2,Z.p3)}}function j4($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0001){let z=$-Z.x,j=Q-Z.y;return Math.sqrt(z*z+j*j)}let W=(($-Z.x)*J+(Q-Z.y)*q)/U;W=Math.max(0,Math.min(1,W));let H=Z.x+W*J,_=Z.y+W*q,N=$-H,V=Q-_;return Math.sqrt(N*N+V*V)}function X4($,Q,Z,K,J){let q=1/0,U=32;for(let W=0;W<=U;W++){let H=W/U,_=1-H,N=_*_*Z.x+2*_*H*K.x+H*H*J.x,V=_*_*Z.y+2*_*H*K.y+H*H*J.y,z=$-N,j=Q-V,X=Math.sqrt(z*z+j*j);q=Math.min(q,X)}return q}function G4($,Q,Z,K,J,q){let U=1/0,W=32;for(let H=0;H<=W;H++){let _=H/W,N=1-_,V=N*N*N*Z.x+3*N*N*_*K.x+3*N*_*_*J.x+_*_*_*q.x,z=N*N*N*Z.y+3*N*N*_*K.y+3*N*_*_*J.y+_*_*_*q.y,j=$-V,X=Q-z,G=Math.sqrt(j*j+X*X);U=Math.min(U,G)}return U}function E4($,Q,Z){let K=0;for(let J=0;J<Z.length;J++){let q=Z[J],U=Y4(q);for(let W=0;W<U.length-1;W++){let H=U[W],_=U[W+1];if(!H||!_)continue;if(H.y>Q!==_.y>Q){let N=(_.x-H.x)/(_.y-H.y),V=H.x+N*(Q-H.y);if($<V)K++}}}return(K&1)===1}function Y4($){switch($.type){case"line":return[$.p0,$.p1];case"quadratic":{let Q=[$.p0],Z=16;for(let K=1;K<=16;K++){let J=K/16,q=1-J;Q.push({x:q*q*$.p0.x+2*q*J*$.p1.x+J*J*$.p2.x,y:q*q*$.p0.y+2*q*J*$.p1.y+J*J*$.p2.y})}return Q}case"cubic":{let Q=[$.p0],Z=16;for(let K=1;K<=16;K++){let J=K/16,q=1-J;Q.push({x:q*q*q*$.p0.x+3*q*q*J*$.p1.x+3*q*J*J*$.p2.x+J*J*J*$.p3.x,y:q*q*q*$.p0.y+3*q*q*J*$.p1.y+3*q*J*J*$.p2.y+J*J*J*$.p3.y})}return Q}}}function y$($){let Q=Math.sqrt($.x*$.x+$.y*$.y);if(Q===0)return{x:0,y:0};return{x:$.x/Q,y:$.y/Q}}function l6($){return{x:-$.y,y:$.x}}function w4($,Q){let Z=$.x*Q.x+$.y*Q.y,K=$.x*Q.y-$.y*Q.x;return Math.atan2(K,Z)}function XK($,Q,Z,K,J){let q=l6(Z),U={x:Q.x+q.x*K*(J?1:-1),y:Q.y+q.y*K*(J?1:-1)},W={x:Q.x-q.x*K*(J?1:-1),y:Q.y-q.y*K*(J?1:-1)},H={x:Q.x+Z.x*K,y:Q.y+Z.y*K},_={x:U.x+Z.x*K*0.5523,y:U.y+Z.y*K*0.5523},N={x:W.x+Z.x*K*0.5523,y:W.y+Z.y*K*0.5523};$.push({type:"Q",x1:_.x,y1:_.y,x:H.x,y:H.y}),$.push({type:"Q",x1:N.x,y1:N.y,x:W.x,y:W.y})}function GK($,Q,Z,K){let J=l6(Z),q={x:Q.x+Z.x*K,y:Q.y+Z.y*K},U={x:q.x+J.x*K,y:q.y+J.y*K},W={x:q.x-J.x*K,y:q.y-J.y*K};$.push({type:"L",x:U.x,y:U.y}),$.push({type:"L",x:W.x,y:W.y})}function p0($,Q,Z,K,J,q,U,W){let H=w4(Z,K),_=W?H<0:H>0;if(Math.abs(H)<0.01)return;let N=l6(Z),V=l6(K),z=W?1:-1,j={x:Q.x+N.x*J*z,y:Q.y+N.y*J*z},X={x:Q.x+V.x*J*z,y:Q.y+V.y*J*z};if(!_){$.push({type:"L",x:X.x,y:X.y});return}switch(q){case"round":{let G=Math.abs(H),E=Math.max(2,Math.ceil(G/(Math.PI/4)));for(let Y=1;Y<=E;Y++){let w=Y/E,F=Math.atan2(N.y,N.x)+H*w*z,A=Q.x+Math.cos(F)*J*z,D=Q.y+Math.sin(F)*J*z;$.push({type:"L",x:A,y:D})}break}case"miter":{if(1/Math.sin(Math.abs(H)/2)<=U){let E=H/2,Y=y$({x:Z.x+K.x,y:Z.y+K.y}),w=J/Math.cos(E),F={x:Q.x+Y.x*w*z,y:Q.y+Y.y*w*z};$.push({type:"L",x:F.x,y:F.y}),$.push({type:"L",x:X.x,y:X.y})}else $.push({type:"L",x:X.x,y:X.y});break}default:$.push({type:"L",x:X.x,y:X.y});break}}function A4($,Q){if($.length<2)return[];let{width:Z,lineJoin:K,miterLimit:J}=Q,q=Z/2,U=[],W=$.length,H=[];for(let E=0;E<W;E++){let Y=$[E],w=$[(E+1)%W];if(!Y||!w)continue;H.push(y$({x:w.x-Y.x,y:w.y-Y.y}))}let _=H[0],N=$[0];if(!_||!N)return[];let V=l6(_);U.push({type:"M",x:N.x+V.x*q,y:N.y+V.y*q});for(let E=0;E<W;E++){let Y=$[E],w=$[(E+1)%W],F=H[E],A=H[(E+1)%W];if(!Y||!w||!F||!A)continue;let D=l6(F);U.push({type:"L",x:w.x+D.x*q,y:w.y+D.y*q}),p0(U,w,F,A,q,K,J,!0)}U.push({type:"Z"});let z=W-1,j=H[z],X=$[0];if(!j||!X)return U;let G=l6(_);U.push({type:"M",x:N.x-G.x*q,y:N.y-G.y*q});for(let E=0;E<W;E++){let Y=$[E],w=$[(E+1)%W],F=H[E],A=H[(E+1)%W];if(!Y||!w||!F||!A)continue;let D=l6(F);U.push({type:"L",x:w.x-D.x*q,y:w.y-D.y*q}),p0(U,w,F,A,q,K,J,!1)}return U.push({type:"Z"}),U}function F4($,Q){if($.length<2)return[];let{width:Z,lineCap:K,lineJoin:J,miterLimit:q}=Q,U=Z/2,W=[],H=$.length,_=[];for(let Y=0;Y<H-1;Y++){let w=$[Y],F=$[Y+1];if(!w||!F)continue;_.push(y$({x:F.x-w.x,y:F.y-w.y}))}let N=$[0],V=$[H-1],z=_[0],j=_[_.length-1];if(!N||!V||!z||!j)return[];let X=l6(z);W.push({type:"M",x:N.x+X.x*U,y:N.y+X.y*U});for(let Y=0;Y<H-1;Y++){let w=$[Y+1],F=_[Y],A=_[Y+1];if(!w||!F)continue;let D=l6(F);if(W.push({type:"L",x:w.x+D.x*U,y:w.y+D.y*U}),A)p0(W,w,F,A,U,J,q,!0)}let G={x:-j.x,y:-j.y};switch(K){case"round":XK(W,V,j,U,!0);break;case"square":GK(W,V,j,U);break;default:{let Y=l6(j);W.push({type:"L",x:V.x-Y.x*U,y:V.y-Y.y*U});break}}for(let Y=H-2;Y>=0;Y--){let w=$[Y],F=_[Y],A=_[Y-1];if(!w||!F)continue;let D=l6(F);if(W.push({type:"L",x:w.x-D.x*U,y:w.y-D.y*U}),A)p0(W,w,{x:-F.x,y:-F.y},{x:-A.x,y:-A.y},U,J,q,!0)}let E={x:-z.x,y:-z.y};switch(K){case"round":XK(W,N,E,U,!0);break;case"square":GK(W,N,E,U);break;default:break}return W.push({type:"Z"}),W}function L4($){let Q=[],Z=[];for(let K=0;K<$.commands.length;K++){let J=$.commands[K];switch(J.type){case"M":if(Z.length>0)Q.push({points:Z,closed:!1});Z=[{x:J.x,y:J.y}];break;case"L":Z.push({x:J.x,y:J.y});break;case"Q":{let q=Z[Z.length-1];if(q)for(let W=1;W<=8;W++){let H=W/8,_=1-H,N=_*_*q.x+2*_*H*J.x1+H*H*J.x,V=_*_*q.y+2*_*H*J.y1+H*H*J.y;Z.push({x:N,y:V})}break}case"C":{let q=Z[Z.length-1];if(q)for(let W=1;W<=12;W++){let H=W/12,_=1-H,N=_*_*_*q.x+3*_*_*H*J.x1+3*_*H*H*J.x2+H*H*H*J.x,V=_*_*_*q.y+3*_*_*H*J.y1+3*_*H*H*J.y2+H*H*H*J.y;Z.push({x:N,y:V})}break}case"Z":if(Z.length>0)Q.push({points:Z,closed:!0}),Z=[];break}}if(Z.length>0)Q.push({points:Z,closed:!1});return Q}function q9($,Q){let Z={width:Q.width,lineCap:Q.lineCap??"butt",lineJoin:Q.lineJoin??"miter",miterLimit:Q.miterLimit??4},K=L4($),J=[];for(let U=0;U<K.length;U++){let W=K[U];if(W.points.length<2)continue;let H=W.closed?A4(W.points,Z):F4(W.points,Z);J.push(...H)}let q=$.bounds;if(q){let U=Z.width/2;q={xMin:q.xMin-U,yMin:q.yMin-U,xMax:q.xMax+U,yMax:q.yMax+U}}return{commands:J,bounds:q}}function D4($){let Q=1/0,Z=1/0,K=-1/0,J=-1/0;for(let q=0;q<$.length;q++){let U=$[q];switch(U.type){case"M":case"L":Q=Math.min(Q,U.x),K=Math.max(K,U.x),Z=Math.min(Z,U.y),J=Math.max(J,U.y);break;case"Q":Q=Math.min(Q,U.x,U.x1),K=Math.max(K,U.x,U.x1),Z=Math.min(Z,U.y,U.y1),J=Math.max(J,U.y,U.y1);break;case"C":Q=Math.min(Q,U.x,U.x1,U.x2),K=Math.max(K,U.x,U.x1,U.x2),Z=Math.min(Z,U.y,U.y1,U.y2),J=Math.max(J,U.y,U.y1,U.y2);break;case"Z":break}}if(!Number.isFinite(Q))return null;return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function U9($,Q){let Z=[];for(let J=0;J<$.commands.length;J++){let q=$.commands[J];switch(q.type){case"M":case"L":Z.push({type:q.type,x:q.x+q.y*Q,y:q.y});break;case"Q":Z.push({type:"Q",x1:q.x1+q.y1*Q,y1:q.y1,x:q.x+q.y*Q,y:q.y});break;case"C":Z.push({type:"C",x1:q.x1+q.y1*Q,y1:q.y1,x2:q.x2+q.y2*Q,y2:q.y2,x:q.x+q.y*Q,y:q.y});break;case"Z":Z.push({type:"Z"});break}}let K=D4(Z);return{commands:Z,bounds:K,flags:$.flags}}function W9($,Q){let Z=[];for(let J=0;J<$.commands.length;J++){let q=$.commands[J];switch(q.type){case"M":case"L":Z.push({type:q.type,x:q.x*Q,y:q.y});break;case"Q":Z.push({type:"Q",x1:q.x1*Q,y1:q.y1,x:q.x*Q,y:q.y});break;case"C":Z.push({type:"C",x1:q.x1*Q,y1:q.y1,x2:q.x2*Q,y2:q.y2,x:q.x*Q,y:q.y});break;case"Z":Z.push({type:"Z"});break}}let K=$.bounds;if(K)K={xMin:K.xMin*Q,yMin:K.yMin,xMax:K.xMax*Q,yMax:K.yMax};return{commands:Z,bounds:K,flags:$.flags}}function H9($,Q){if(Q===0)return{...$,commands:[...$.commands]};let Z=M4($),K=[];for(let q=0;q<Z.length;q++){let U=Z[q];if(U.length<3)continue;let W=B4(U,Q);if(W.length>0){K.push({type:"M",x:W[0].x,y:W[0].y});for(let H=1;H<W.length;H++)K.push({type:"L",x:W[H].x,y:W[H].y});K.push({type:"Z"})}}let J=null;if(K.length>0){let q=1/0,U=1/0,W=-1/0,H=-1/0;for(let _=0;_<K.length;_++){let N=K[_];if(N.type==="M"||N.type==="L")q=Math.min(q,N.x),U=Math.min(U,N.y),W=Math.max(W,N.x),H=Math.max(H,N.y)}if(Number.isFinite(q))J={xMin:q,yMin:U,xMax:W,yMax:H}}return{commands:K,bounds:J,flags:$.flags}}function M4($){let Q=[],Z=[];for(let K=0;K<$.commands.length;K++){let J=$.commands[K];switch(J.type){case"M":if(Z.length>0)Q.push(Z);Z=[{x:J.x,y:J.y}];break;case"L":Z.push({x:J.x,y:J.y});break;case"Q":{let q=Z[Z.length-1];if(q)for(let W=1;W<=8;W++){let H=W/8,_=1-H,N=_*_*q.x+2*_*H*J.x1+H*H*J.x,V=_*_*q.y+2*_*H*J.y1+H*H*J.y;Z.push({x:N,y:V})}break}case"C":{let q=Z[Z.length-1];if(q)for(let W=1;W<=12;W++){let H=W/12,_=1-H,N=_*_*_*q.x+3*_*_*H*J.x1+3*_*H*H*J.x2+H*H*H*J.x,V=_*_*_*q.y+3*_*_*H*J.y1+3*_*H*H*J.y2+H*H*H*J.y;Z.push({x:N,y:V})}break}case"Z":if(Z.length>0)Q.push(Z),Z=[];break}}if(Z.length>0)Q.push(Z);return Q}function B4($,Q){let Z=$.length;if(Z<3)return $;let K=0;for(let W=0;W<Z;W++){let H=(W+1)%Z,_=$[W],N=$[H];if(_&&N)K+=(N.x-_.x)*(N.y+_.y)}let J=K<0?-1:1,q=Q*J,U=[];for(let W=0;W<Z;W++){let H=$[(W-1+Z)%Z],_=$[W],N=$[(W+1)%Z];if(!H||!_||!N)continue;let V={x:_.x-H.x,y:_.y-H.y},z={x:N.x-_.x,y:N.y-_.y},j=Math.sqrt(V.x*V.x+V.y*V.y),X=Math.sqrt(z.x*z.x+z.y*z.y);if(j===0||X===0){U.push(_);continue}V.x/=j,V.y/=j,z.x/=X,z.y/=X;let G={x:-V.y,y:V.x},E={x:-z.y,y:z.x},Y=(G.x+E.x)/2,w=(G.y+E.y)/2,F=Math.sqrt(Y*Y+w*w);if(F>0.001){Y/=F,w/=F;let A=G.x*E.x+G.y*E.y,D=A>-0.999?1/Math.sqrt((1+A)/2):1,L=Math.min(D,3);U.push({x:_.x+Y*q*L,y:_.y+w*q*L})}else U.push(_)}return U}G6();var EK=new WeakMap,b$=null;function o0(){if(!b$)b$=new e8;return b$}var p9=null,YK=0;function R4($){if($<=YK&&p9)return p9.fill(0,0,$),p9;let Q=Math.max($,4096);return p9=new Uint8Array(Q),YK=Q,p9}function AK($,Q,Z){let K=Z===4?4:Z===2||Z===3?3:Z===0?0.125:1,J=Z===0?Math.ceil($/8):Math.ceil($*K),q=J*Q,U=R4(q);return{width:$,rows:Q,pitch:J,buffer:U.subarray(0,q),pixelMode:Z,numGrays:Z===0?2:256}}var wK=new WeakMap;function FK($){if($&F6.UnscaledComponentOffset)return!1;if($&F6.ScaledComponentOffset)return!0;return!1}function c0($){return Math.round($/64)*64}function i0($,Q,Z,K=0,J){if(K>32)return null;let q=$.getGlyph(Q);if(!q||q.type==="empty")return null;let U=J?.roundCompositeOffsets??!0;if(q.type==="simple"){let j=[],X=[],G=[],E=[],Y=0;for(let w of q.contours){for(let F of w)j.push(Math.round(F.x*Z)),X.push(Math.round(F.y*Z)),G.push(F.onCurve?1:0),Y++;E.push(Y-1)}return{xCoords:j,yCoords:X,flags:new Uint8Array(G),contourEnds:E}}let W=[],H=[],_=[],N=[],V=[],z=0;for(let j of q.components){let X=i0($,j.glyphId,Z,K+1,{roundCompositeOffsets:U});if(!X||X.xCoords.length===0)continue;let[G,E,Y,w]=j.transform,F=(j.flags&F6.ArgsAreXYValues)!==0,A=Array(X.xCoords.length),D=Array(X.yCoords.length);for(let B=0;B<X.xCoords.length;B++){let v=X.xCoords[B],T=X.yCoords[B];A[B]=Math.round(G*v+Y*T),D[B]=Math.round(E*v+w*T)}let L=0,R=0;if(F){let{arg1:B,arg2:v}=j;if(FK(j.flags)){let T=Math.round(B*Z),g=Math.round(v*Z);L=Math.round(G*T+Y*g),R=Math.round(E*T+w*g)}else L=Math.round(B*Z),R=Math.round(v*Z);if(U&&j.flags&F6.RoundXYToGrid)L=c0(L),R=c0(R)}else{let{arg1:B,arg2:v}=j;if(B>=0&&B<V.length&&v>=0&&v<A.length){let T=V[B];L=T.x-A[v],R=T.y-D[v]}}for(let B=0;B<A.length;B++){let v=A[B]+L,T=D[B]+R;W.push(v),H.push(T),_.push(X.flags[B]??0),V.push({x:v,y:T})}for(let B=0;B<X.contourEnds.length;B++)N.push(z+X.contourEnds[B]);z+=A.length}if(W.length===0)return null;return{xCoords:W,yCoords:H,flags:new Uint8Array(_),contourEnds:N}}function T4($,Q,Z,K,J){if(Z.type!=="composite")return null;if(J>16)return null;let q=[],U=[],W=[],H=[],_=[],N=0;for(let V=0;V<Z.components.length;V++){let z=Z.components[V],j=LK($,Q,z.glyphId,K,J+1);if(!j||j.xCoords.length===0)continue;let[X,G,E,Y]=z.transform,w=(z.flags&F6.ArgsAreXYValues)!==0,F=0,A=0;if(w){let{arg1:D,arg2:L}=z;if(FK(z.flags)){let R=X*D+E*L,B=G*D+Y*L;D=R,L=B}if(F=m6(D,$.ctx.scaleFix),A=m6(L,$.ctx.scaleFix),z.flags&F6.RoundXYToGrid)F=c0(F),A=c0(A)}else{let{arg1:D,arg2:L}=z;if(D>=0&&D<_.length&&L>=0&&L<j.xCoords.length){let R=_[D],B=X*j.xCoords[L]+E*j.yCoords[L],v=G*j.xCoords[L]+Y*j.yCoords[L];F=Math.round(R.x-B),A=Math.round(R.y-v)}}for(let D=0;D<j.xCoords.length;D++){let L=j.xCoords[D],R=j.yCoords[D],B=Math.round(X*L+E*R+F),v=Math.round(G*L+Y*R+A);q.push(B),U.push(v),W.push(j.flags[D]??0),_.push({x:B,y:v})}for(let D=0;D<j.contourEnds.length;D++)H.push(N+j.contourEnds[D]);N+=j.xCoords.length}if(q.length===0)return null;return{xCoords:q,yCoords:U,flags:new Uint8Array(W),contourEnds:H,error:null}}function LK($,Q,Z,K,J=0){let q=`${Z}:${K}:${$.ctx.lightMode?"light":"full"}`,U=wK.get(Q);if(!U)U=new Map,wK.set(Q,U);let W=U.get(q);if(W!==void 0)return W;let H=Q.getGlyph(Z);if(!H||H.type==="empty")return U.set(q,null),null;if(k0($,K,K))return U.set(q,null),null;if(H.type==="composite"&&H.instructions.length===0){let z=T4($,Q,H,K,J);if(z&&z.xCoords.length>0)return U.set(q,z),z}let N=P4(Q,Z,$.ctx.scale);if(!N)return U.set(q,null),null;let V=C0($,N);if(V.error||V.xCoords.length===0)return U.set(q,null),null;return U.set(q,V),V}function O4($){if(!$.isTrueType||!$.hasHinting)return null;let Q=EK.get($);if(Q)return Q;let Z=$.cvtTable,K=Z?new Int32Array(Z.values):void 0,J=$.maxp;Q=P0($.unitsPerEm,"maxStackElements"in J?J.maxStackElements:256,"maxStorage"in J?J.maxStorage:64,"maxFunctionDefs"in J?J.maxFunctionDefs:64,"maxTwilightPoints"in J?J.maxTwilightPoints:16,K);let q=$.fpgm;if(q)v0(Q,q.instructions);let U=$.prep;if(U)I0(Q,U.instructions);return EK.set($,Q),Q}function P4($,Q,Z){let K=$.getGlyph(Q);if(!K||K.type==="empty")return null;let J=[],q=[],U=[],W=[],H=$.advanceWidth(Q),_=$.leftSideBearing(Q);if(K.type==="composite"&&K.instructions.length>0&&Z){let N=i0($,Q,Z);if(!N||N.xCoords.length===0)return null;let V=1/Z;for(let z=0;z<N.xCoords.length;z++)J.push(N.xCoords[z]*V),q.push(N.yCoords[z]*V),U.push(N.flags[z]??0);for(let z=0;z<N.contourEnds.length;z++)W.push(N.contourEnds[z])}else{let N=K.type==="simple"?K.contours:$.getGlyphContours(Q);if(!N||N.length===0)return null;let V=0;for(let z=0;z<N.length;z++){let j=N[z];for(let X=0;X<j.length;X++){let G=j[X];J.push(G.x),q.push(G.y),U.push(G.onCurve?1:0),V++}W.push(V-1)}}return{xCoords:J,yCoords:q,flags:new Uint8Array(U),contourEnds:W,instructions:K.instructions,lsb:_,advanceWidth:H}}function DK($,Q,Z,K){let{xCoords:J,yCoords:q,flags:U,contourEnds:W}=Q,H=0,_=0;for(let N=0;N<J.length;N++){let V=W[H],z=N===V,j=(J[N]<<2|0)+(Z<<8),X=(-q[N]<<2|0)+(K<<8),G=(U[N]&1)!==0;if(N===_)$.moveTo(j,X);else if(G)$.lineTo(j,X);else{let E=z?_:N+1,Y=(J[E]<<2|0)+(Z<<8),w=(-q[E]<<2|0)+(K<<8);if((U[E]&1)!==0){if($.conicTo(j,X,Y,w),!z){if(N++,N===V){let A=(J[_]<<2|0)+(Z<<8),D=(-q[_]<<2|0)+(K<<8);$.lineTo(A,D),H++,_=N+1}}}else $.conicTo(j,X,j+Y>>1,X+w>>1)}if(z&&N===V){let E=(J[_]<<2|0)+(Z<<8),Y=(-q[_]<<2|0)+(K<<8);if(G&&N!==_)$.lineTo(E,Y);else if(!G){let w=(U[_]&1)!==0}H++,_=N+1}}}var v4=256;function t6($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,pixelMode:W=1,fillRule:H=0,flipY:_=!0}=Q,N=a(Z,K,W),V=o0();if(V.setClip(0,0,Z,K),K>v4){let z=()=>Y8(V,$,J,q,U,_);V.renderWithBands(N,z,{minY:0,maxY:K},H)}else V.setBandBounds(0,K),V.reset(),Y8(V,$,J,q,U,_),V.sweep(N,H);return N}function c9($,Q,Z,K){let J=K?.padding??0,q=K?.pixelMode??1;if((K?.hinting??!1)&&$.hasHinting){let G=I4($,Q,Z,J,q);if(G)return G}if($.isTrueType){let G=Z*64/$.unitsPerEm,E=i0($,Q,G,0,{roundCompositeOffsets:!1});if(E){let Y=k4(E,J,q);if(Y)return Y}}let W=h6($,Q);if(!W)return null;let H=Z/$.unitsPerEm,_=U8(W,H,!0,!0);if(!_)return{bitmap:a(1,1,q),bearingX:0,bearingY:0};let N=_.maxX-_.minX+J*2,V=_.maxY-_.minY+J*2;if(N<=0||V<=0)return{bitmap:a(1,1,q),bearingX:0,bearingY:0};let z=-_.minX+J,j=-_.minY+J;return{bitmap:t6(W,{width:N,height:V,scale:H,offsetX:z,offsetY:j,pixelMode:q,flipY:!0}),bearingX:_.minX-J,bearingY:-(_.minY-J)}}function MK($,Q,Z,K,J){let q=c9($,Q,Z,J);if(!q)return null;let U={bearingX:q.bearingX,bearingY:q.bearingY,offsetX26:J?.offsetX26,offsetY26:J?.offsetY26};if(Array.isArray(K[0]))return w8(q.bitmap,K,U);return r6(q.bitmap,K,U)}function I4($,Q,Z,K,J){let q=O4($);if(!q)return null;let U=Math.round(Z);q.ctx.lightMode=J===1;let W=LK(q,$,Q,U);if(!W)return null;let H=W;if(J===1){let P=U*64/$.unitsPerEm,f=i0($,Q,P,0,{roundCompositeOffsets:!1});if(f&&f.xCoords.length===W.xCoords.length)H={...W,xCoords:f.xCoords}}let{xCoords:_,yCoords:N}=H,V=_[0],z=N[0],j=_[0],X=N[0];for(let P=1;P<_.length;P++){let f=_[P],l=N[P];if(f<V)V=f;if(f>j)j=f;if(l<z)z=l;if(l>X)X=l}if(!Number.isFinite(V))return{bitmap:a(1,1,J),bearingX:0,bearingY:0};let G=$.getGlyphBounds(Q);if(G){let P=Z/$.unitsPerEm,f=(G.xMax-G.xMin)*P,l=(G.yMax-G.yMin)*P,C=Math.max(f*8,Z*8,f+64),O=Math.max(l*8,Z*8,l+64),h=(j-V)/64,S=(X-z)/64;if(h>C||S>O)return null}let E=Math.floor(V/64),Y=Math.floor(z/64),w=Math.floor((j+63)/64),F=Math.floor((X+63)/64),A=w-E+K*2,D=F-Y+K*2;if(X6?.HINT_TRACE_GLYPH===String(Q))console.log("trace hinted bounds",{glyphId:Q,minX26:V,maxX26:j,minY26:z,maxY26:X,bMinX:E,bMaxX:w,bMinY:Y,bMaxY:F,width:A,height:D});if(A<=0||D<=0)return{bitmap:a(1,1,J),bearingX:0,bearingY:0};let L=AK(A,D,J),R=o0();R.setClip(0,0,A,D),R.reset();let B=-E+K,v=F+K,T=()=>DK(R,H,B,v);try{T(),R.sweep(L,0)}catch(P){if(P instanceof y8)R.reset(),R.renderWithBands(L,T,{minY:0,maxY:D,minX:0,maxX:A},0);else throw P}let g=a(A,D,J);return g.buffer.set(L.buffer),{bitmap:g,bearingX:E-K,bearingY:F+K}}function k4($,Q,Z){let{xCoords:K,yCoords:J}=$;if(K.length===0)return null;let q=K[0],U=J[0],W=K[0],H=J[0];for(let L=1;L<K.length;L++){let R=K[L],B=J[L];if(R<q)q=R;if(R>W)W=R;if(B<U)U=B;if(B>H)H=B}if(!Number.isFinite(q))return{bitmap:a(1,1,Z),bearingX:0,bearingY:0};let _=Math.floor(q/64),N=Math.floor(U/64),V=Math.floor((W+63)/64),z=Math.floor((H+63)/64),j=V-_+Q*2,X=z-N+Q*2;if(j<=0||X<=0)return{bitmap:a(1,1,Z),bearingX:0,bearingY:0};let G=AK(j,X,Z),E=o0();E.setClip(0,0,j,X),E.reset();let Y=-_+Q,w=z+Q,F={xCoords:$.xCoords,yCoords:$.yCoords,flags:$.flags,contourEnds:$.contourEnds,error:null},A=()=>DK(E,F,Y,w);try{A(),E.sweep(G,0)}catch(L){if(L instanceof y8)E.reset(),E.renderWithBands(G,A,{minY:0,maxY:X,minX:0,maxX:j},0);else throw L}let D=a(j,X,Z);return D.buffer.set(G.buffer),{bitmap:D,bearingX:_-Q,bearingY:z+Q}}function BK($,Q,Z,K){let J=Z/$.unitsPerEm,q=K?.padding??0,U=K?.pixelMode??1,W=[],H=0,_=0,N=0,V=[...Q];for(let w=0;w<V.length;w++){let A=V[w].codePointAt(0);if(A===void 0)continue;let D=$.glyphId(A);if(D===void 0)continue;let L=$.advanceWidth(D)*J,R=h6($,D);if(R?.bounds)_=Math.max(_,-R.bounds.yMin*J),N=Math.max(N,R.bounds.yMax*J);W.push({glyphId:D,advance:L}),H+=L}if(W.length===0)return null;let z=Math.ceil(H)+q*2,j=Math.ceil(_+N)+q*2,X=a(z,j,U),G=o0();G.setClip(0,0,z,j);let E=q,Y=N+q;for(let w=0;w<W.length;w++){let F=W[w],A=h6($,F.glyphId);if(A)G.reset(),Y8(G,A,J,E,Y,!0),G.sweep(X);E+=F.advance}return X}function o9($){let Q=$.pixelMode===2,Z=$.pixelMode===3,K=new Uint8Array($.width*$.rows*4),J=$.pitch,q=Math.abs(J),U=J<0?($.rows-1)*q:0;for(let W=0;W<$.rows;W++){let H=U+W*J;for(let _=0;_<$.width;_++){let N=(W*$.width+_)*4;if($.pixelMode===1){let V=H+_,z=$.buffer[V]??0;K[N]=255-z,K[N+1]=255-z,K[N+2]=255-z,K[N+3]=255}else if($.pixelMode===0){let V=H+(_>>3),z=7-(_&7),j=($.buffer[V]??0)>>z&1?255:0;K[N]=255-j,K[N+1]=255-j,K[N+2]=255-j,K[N+3]=255}else if(Q||Z){let V=H+_*3,z=$.buffer[V]??0,j=$.buffer[V+1]??0,X=$.buffer[V+2]??0;K[N]=255-z,K[N+1]=255-j,K[N+2]=255-X,K[N+3]=255}else if($.pixelMode===4){let V=H+_*4;K[N]=$.buffer[V]??0,K[N+1]=$.buffer[V+1]??0,K[N+2]=$.buffer[V+2]??0,K[N+3]=$.buffer[V+3]??0}else{let V=H+_,z=$.buffer[V]??0;K[N]=255-z,K[N+1]=255-z,K[N+2]=255-z,K[N+3]=255}}}return K}function i9($){if($.pixelMode===1&&$.pitch===$.width)return $.buffer;let Q=new Uint8Array($.width*$.rows),Z=$.pitch,K=Math.abs(Z),J=Z<0?($.rows-1)*K:0;for(let q=0;q<$.rows;q++){let U=J+q*Z;for(let W=0;W<$.width;W++){let H=q*$.width+W;if($.pixelMode===1)Q[H]=$.buffer[U+W]??0;else if($.pixelMode===0){let _=U+(W>>3),N=7-(W&7);Q[H]=($.buffer[_]??0)>>N&1?255:0}else if($.pixelMode===2||$.pixelMode===3){let _=U+W*3,N=$.buffer[_]??0,V=$.buffer[_+1]??0,z=$.buffer[_+2]??0;Q[H]=Math.round((N+V+z)/3)}else if($.pixelMode===4){let _=U+W*4;Q[H]=$.buffer[_+3]??0}}}return Q}G6();function s0($,Q,Z){let{fontSize:K,padding:J=1,maxWidth:q=2048,maxHeight:U=2048,pixelMode:W=1}=Z,H=[],_=K/$.unitsPerEm;for(let G=0;G<Q.length;G++){let E=Q[G],Y=c9($,E,K,{padding:0,pixelMode:W});if(!Y)continue;let w=$.advanceWidth(E)*_;H.push({glyphId:E,bitmap:Y.bitmap,bearingX:Y.bearingX,bearingY:Y.bearingY,advance:w})}H.sort((G,E)=>E.bitmap.rows-G.bitmap.rows);let{width:N,height:V,placements:z}=C4(H.map((G)=>({width:G.bitmap.width+J*2,height:G.bitmap.rows+J*2})),q,U),j=a(N,V,W),X=new Map;for(let G=0;G<H.length;G++){let E=H[G],Y=z[G];if(!Y.placed)continue;S4(E.bitmap,j,Y.x+J,Y.y+J),X.set(E.glyphId,{glyphId:E.glyphId,atlasX:Y.x+J,atlasY:Y.y+J,width:E.bitmap.width,height:E.bitmap.rows,bearingX:E.bearingX,bearingY:E.bearingY,advance:E.advance})}return{bitmap:j,glyphs:X,fontSize:K}}function TK($,Q){let Z=[];for(let K=32;K<=126;K++){let J=$.glyphId(K);if(J!==void 0&&J!==0)Z.push(J)}return s0($,Z,Q)}function OK($,Q,Z){let K=new Set,J=[...Q];for(let q=0;q<J.length;q++){let W=J[q].codePointAt(0);if(W===void 0)continue;let H=$.glyphId(W);if(H!==void 0&&H!==0)K.add(H)}return s0($,[...K],Z)}function C4($,Q,Z){let K=[],J=[],q=0,U=0;for(let _=0;_<$.length;_++){let N=$[_],V=!1,z=-1,j=Z;for(let X=0;X<K.length;X++){let G=K[X];if(G.width+N.width<=Q&&N.height<=G.height){if(G.y<j)z=X,j=G.y}}if(z>=0){let X=K[z];J.push({x:X.width,y:X.y,placed:!0}),X.width+=N.width,q=Math.max(q,X.width),V=!0}else{let X=U;if(X+N.height<=Z&&N.width<=Q)K.push({y:X,height:N.height,width:N.width}),J.push({x:0,y:X,placed:!0}),U=X+N.height,q=Math.max(q,N.width),V=!0}if(!V)J.push({x:0,y:0,placed:!1})}let W=RK(q),H=RK(U);return{width:Math.min(W,Q),height:Math.min(H,Z),placements:J}}function S4($,Q,Z,K){let J=$.pixelMode===2?3:1;for(let q=0;q<$.rows;q++){let U=q*$.pitch,W=(K+q)*Q.pitch+Z*J;for(let H=0;H<$.width*J;H++)Q.buffer[W+H]=$.buffer[U+H]}}function RK($){if($<=0)return 1;return $--,$|=$>>1,$|=$>>2,$|=$>>4,$|=$>>8,$|=$>>16,$+1}function PK($){let{bitmap:Q}=$,Z=new Uint8Array(Q.width*Q.rows*4);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++){let q=K*Q.pitch+J,U=(K*Q.width+J)*4,W=Q.buffer[q]??0;Z[U]=255,Z[U+1]=255,Z[U+2]=255,Z[U+3]=W}return Z}function vK($){let{bitmap:Q}=$;if(Q.pitch===Q.width)return Q.buffer;let Z=new Uint8Array(Q.width*Q.rows);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++)Z[K*Q.width+J]=Q.buffer[K*Q.pitch+J];return Z}function IK($,Q){let Z=$.glyphs.get(Q);if(!Z)return null;let{bitmap:K}=$;return{u0:Z.atlasX/K.width,v0:Z.atlasY/K.rows,u1:(Z.atlasX+Z.width)/K.width,v1:(Z.atlasY+Z.height)/K.rows}}G6();function h4($,Q,Z){return Math.max(Math.min($,Q),Math.min(Math.max($,Q),Z))}function y4($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0000000001)return{distance:Math.sqrt(($-Z.x)**2+(Q-Z.y)**2),t:0};let W=(($-Z.x)*J+(Q-Z.y)*q)/U;W=Math.max(0,Math.min(1,W));let H=Math.sqrt(($-Z.x-W*J)**2+(Q-Z.y-W*q)**2);return{distance:(J*(Q-Z.y)-q*($-Z.x)>=0?1:-1)*H,t:W}}function b4($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0000000001)return Math.sqrt(($-Z.x)**2+(Q-Z.y)**2);let W=(($-Z.x)*J+(Q-Z.y)*q)/U;return W=Math.max(0,Math.min(1,W)),Math.sqrt(($-Z.x-W*J)**2+(Q-Z.y-W*q)**2)}function g4($,Q,Z,K,J){let q=Z.x-2*K.x+J.x,U=Z.y-2*K.y+J.y,W=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((J.x-$)**2+(J.y-Q)**2)),H=W===Math.sqrt((Z.x-$)**2+(Z.y-Q)**2)?0:1;for(let E=1;E<6;E++){let Y=E/6;for(let L=0;L<3;L++){let R=1-Y,B=R*R*Z.x+2*R*Y*K.x+Y*Y*J.x,v=R*R*Z.y+2*R*Y*K.y+Y*Y*J.y,T=2*(R*(K.x-Z.x)+Y*(J.x-K.x)),g=2*(R*(K.y-Z.y)+Y*(J.y-K.y)),P=B-$,f=v-Q,l=P*T+f*g,C=T*T+g*g+P*2*q+f*2*U;if(Math.abs(C)<0.0000000001)break;Y=Math.max(0,Math.min(1,Y-l/C))}let w=1-Y,F=w*w*Z.x+2*w*Y*K.x+Y*Y*J.x,A=w*w*Z.y+2*w*Y*K.y+Y*Y*J.y,D=Math.sqrt((F-$)**2+(A-Q)**2);if(D<W)W=D,H=Y}let _=1-H,N=2*(_*(K.x-Z.x)+H*(J.x-K.x)),V=2*(_*(K.y-Z.y)+H*(J.y-K.y)),z=_*_*Z.x+2*_*H*K.x+H*H*J.x,j=_*_*Z.y+2*_*H*K.y+H*H*J.y;return{distance:(N*(Q-j)-V*($-z)>=0?1:-1)*W,t:H}}function m4($,Q,Z,K,J){let q=Z.x-2*K.x+J.x,U=Z.y-2*K.y+J.y,W=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((J.x-$)**2+(J.y-Q)**2));for(let H=1;H<6;H++){let _=H/6;for(let z=0;z<3;z++){let j=1-_,X=j*j*Z.x+2*j*_*K.x+_*_*J.x,G=j*j*Z.y+2*j*_*K.y+_*_*J.y,E=2*(j*(K.x-Z.x)+_*(J.x-K.x)),Y=2*(j*(K.y-Z.y)+_*(J.y-K.y)),w=X-$,F=G-Q,A=E*E+Y*Y+w*2*q+F*2*U;if(Math.abs(A)<0.0000000001)break;_=Math.max(0,Math.min(1,_-(w*E+F*Y)/A))}let N=1-_,V=Math.sqrt((N*N*Z.x+2*N*_*K.x+_*_*J.x-$)**2+(N*N*Z.y+2*N*_*K.y+_*_*J.y-Q)**2);if(V<W)W=V}return W}function u4($,Q,Z,K,J,q){let U=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((q.x-$)**2+(q.y-Q)**2)),W=U===Math.sqrt((Z.x-$)**2+(Z.y-Q)**2)?0:1;for(let F=1;F<6;F++){let A=F/6;for(let f=0;f<3;f++){let l=1-A,C=l*l,O=C*l,h=A*A,S=h*A,d=O*Z.x+3*C*A*K.x+3*l*h*J.x+S*q.x,o=O*Z.y+3*C*A*K.y+3*l*h*J.y+S*q.y,n=3*C*(K.x-Z.x)+6*l*A*(J.x-K.x)+3*h*(q.x-J.x),e=3*C*(K.y-Z.y)+6*l*A*(J.y-K.y)+3*h*(q.y-J.y),u=6*l*(J.x-2*K.x+Z.x)+6*A*(q.x-2*J.x+K.x),N6=6*l*(J.y-2*K.y+Z.y)+6*A*(q.y-2*J.y+K.y),y=d-$,t=o-Q,m=y*n+t*e,A6=n*n+e*e+y*u+t*N6;if(Math.abs(A6)<0.0000000001)break;A=Math.max(0,Math.min(1,A-m/A6))}let D=1-A,L=D*D,R=L*D,B=A*A,v=B*A,T=R*Z.x+3*L*A*K.x+3*D*B*J.x+v*q.x,g=R*Z.y+3*L*A*K.y+3*D*B*J.y+v*q.y,P=Math.sqrt((T-$)**2+(g-Q)**2);if(P<U)U=P,W=A}let H=1-W,_=H*H,N=W*W,V=3*_*(K.x-Z.x)+6*H*W*(J.x-K.x)+3*N*(q.x-J.x),z=3*_*(K.y-Z.y)+6*H*W*(J.y-K.y)+3*N*(q.y-J.y),j=_*H,X=N*W,G=j*Z.x+3*_*W*K.x+3*H*N*J.x+X*q.x,E=j*Z.y+3*_*W*K.y+3*H*N*J.y+X*q.y;return{distance:(V*(Q-E)-z*($-G)>=0?1:-1)*U,t:W}}function x4($,Q,Z,K,J,q){let U=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((q.x-$)**2+(q.y-Q)**2));for(let W=1;W<6;W++){let H=W/6;for(let G=0;G<3;G++){let E=1-H,Y=E*E,w=Y*E,F=H*H,A=F*H,D=w*Z.x+3*Y*H*K.x+3*E*F*J.x+A*q.x,L=w*Z.y+3*Y*H*K.y+3*E*F*J.y+A*q.y,R=3*Y*(K.x-Z.x)+6*E*H*(J.x-K.x)+3*F*(q.x-J.x),B=3*Y*(K.y-Z.y)+6*E*H*(J.y-K.y)+3*F*(q.y-J.y),v=6*E*(J.x-2*K.x+Z.x)+6*H*(q.x-2*J.x+K.x),T=6*E*(J.y-2*K.y+Z.y)+6*H*(q.y-2*J.y+K.y),g=D-$,P=L-Q,f=R*R+B*B+g*v+P*T;if(Math.abs(f)<0.0000000001)break;H=Math.max(0,Math.min(1,H-(g*R+P*B)/f))}let _=1-H,N=_*_,V=N*_,z=H*H,j=z*H,X=Math.sqrt((V*Z.x+3*N*H*K.x+3*_*z*J.x+j*q.x-$)**2+(V*Z.y+3*N*H*K.y+3*_*z*J.y+j*q.y-Q)**2);if(X<U)U=X}return U}function kK($){switch($.type){case"line":return{x:$.p1.x-$.p0.x,y:$.p1.y-$.p0.y};case"quadratic":return{x:2*($.p1.x-$.p0.x),y:2*($.p1.y-$.p0.y)};case"cubic":return{x:3*($.p1.x-$.p0.x),y:3*($.p1.y-$.p0.y)}}}function CK($){switch($.type){case"line":return{x:$.p1.x-$.p0.x,y:$.p1.y-$.p0.y};case"quadratic":return{x:2*($.p2.x-$.p1.x),y:2*($.p2.y-$.p1.y)};case"cubic":return{x:3*($.p3.x-$.p2.x),y:3*($.p3.y-$.p2.y)}}}function SK($){let Q=Math.sqrt($.x*$.x+$.y*$.y);if(Q<0.0000000001)return{x:0,y:0};return{x:$.x/Q,y:$.y/Q}}function f4($,Q){return $.x*Q.x+$.y*Q.y}function hK($,Q,Z=Math.PI/3){let K=SK($),J=SK(Q),q=f4(K,J),U=Math.acos(Math.max(-1,Math.min(1,q)));return U>Z&&U<Math.PI-Z}function bK($){let Q=Math.PI/4;for(let Z=0;Z<$.length;Z++){let K=$[Z];if(K.length===0)continue;if(K.length===1){K[0].color=0;continue}let J=0;for(let q=0;q<K.length;q++){let U=K[q],W=K[(q-1+K.length)%K.length];if(q===0)U.color=J;else{let H=CK(W),_=kK(U);if(hK(H,_,Q))J=(J+1)%3;U.color=J}}if(K.length>=2){let q=K[K.length-1],U=K[0],W=CK(q),H=kK(U);if(hK(W,H,Q)){if(q.color===U.color){let _=K[K.length-2]?.color??0,N=K[1]?.color??0;for(let V=0;V<3;V++)if(V!==U.color&&V!==_){q.color=V;break}}}}}}function l4($,Q,Z,K,J){let q=[],U=[],W=null,H=null,_=(N,V)=>({x:N*Q+Z,y:J?-(V*Q)+K:V*Q+K});for(let N=0;N<$.commands.length;N++){let V=$.commands[N];switch(V.type){case"M":if(U.length>0)q.push(U),U=[];W=_(V.x,V.y),H=W;break;case"L":if(W){let z=_(V.x,V.y);if(Math.abs(z.x-W.x)>0.000001||Math.abs(z.y-W.y)>0.000001)U.push({type:"line",p0:W,p1:z,color:0,minX:Math.min(W.x,z.x),maxX:Math.max(W.x,z.x),minY:Math.min(W.y,z.y),maxY:Math.max(W.y,z.y)});W=z}break;case"Q":if(W){let z=_(V.x1,V.y1),j=_(V.x,V.y);U.push({type:"quadratic",p0:W,p1:z,p2:j,color:0,minX:Math.min(W.x,z.x,j.x),maxX:Math.max(W.x,z.x,j.x),minY:Math.min(W.y,z.y,j.y),maxY:Math.max(W.y,z.y,j.y)}),W=j}break;case"C":if(W){let z=_(V.x1,V.y1),j=_(V.x2,V.y2),X=_(V.x,V.y);U.push({type:"cubic",p0:W,p1:z,p2:j,p3:X,color:0,minX:Math.min(W.x,z.x,j.x,X.x),maxX:Math.max(W.x,z.x,j.x,X.x),minY:Math.min(W.y,z.y,j.y,X.y),maxY:Math.max(W.y,z.y,j.y,X.y)}),W=X}break;case"Z":if(W&&H){if(Math.abs(W.x-H.x)>0.000001||Math.abs(W.y-H.y)>0.000001)U.push({type:"line",p0:W,p1:H,color:0,minX:Math.min(W.x,H.x),maxX:Math.max(W.x,H.x),minY:Math.min(W.y,H.y),maxY:Math.max(W.y,H.y)});W=H}if(U.length>0)q.push(U),U=[];break}}if(U.length>0)q.push(U);return q}function d4($,Q,Z){switch(Z.type){case"line":return b4($,Q,Z.p0,Z.p1);case"quadratic":return m4($,Q,Z.p0,Z.p1,Z.p2);case"cubic":return x4($,Q,Z.p0,Z.p1,Z.p2,Z.p3)}}function n4($){let Q=[];for(let Z=0;Z<$.length;Z++){let K=$[Z],J=[];for(let q=0;q<K.length;q++){let U=K[q];if(U.type==="line")J.push([U.p0,U.p1]);else if(U.type==="quadratic"){let W=U.p0;for(let H=1;H<=4;H++){let _=H/4,N=1-_,V={x:N*N*U.p0.x+2*N*_*U.p1.x+_*_*U.p2.x,y:N*N*U.p0.y+2*N*_*U.p1.y+_*_*U.p2.y};J.push([W,V]),W=V}}else{let W=U.p0;for(let H=1;H<=4;H++){let _=H/4,N=1-_,V=N*N,z=V*N,j=_*_,X=j*_,G={x:z*U.p0.x+3*V*_*U.p1.x+3*N*j*U.p2.x+X*U.p3.x,y:z*U.p0.y+3*V*_*U.p1.y+3*N*j*U.p2.y+X*U.p3.y};J.push([W,G]),W=G}}}Q.push(J)}return Q}function p4($,Q,Z){let K=0;for(let J=0;J<Z.length;J++){let q=Z[J];for(let U=0;U<q.length;U++){let[W,H]=q[U];if(W.y>Q!==H.y>Q){let _=W.x+(H.x-W.x)*(Q-W.y)/(H.y-W.y);if($<_)K++}}}return(K&1)===1}function g$($,Q,Z){let K=1/0;for(let J=0;J<Z.length;J++){let q=Z[J],U=$<q.minX?q.minX-$:$>q.maxX?$-q.maxX:0,W=Q<q.minY?q.minY-Q:Q>q.maxY?Q-q.maxY:0;if(U*U+W*W>=K*K)continue;let H=d4($,Q,q);if(H<K){if(K=H,H<0.5)break}}return K}function u8($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,flipY:W=!1,spread:H=8}=Q,_=a(Z,K,2),N=l4($,J,q,U,W);if(N.length===0||N.every((F)=>F.length===0))return _.buffer.fill(0),_;bK(N);let V=n4(N),z=N.flat(),j=z.filter((F)=>F.color===0),X=z.filter((F)=>F.color===1),G=z.filter((F)=>F.color===2),E=j.length>0?j:z,Y=X.length>0?X:z,w=G.length>0?G:z;for(let F=0;F<K;F++)for(let A=0;A<Z;A++){let D=A+0.5,L=F+0.5,R=g$(D,L,E),B=g$(D,L,Y),v=g$(D,L,w),g=p4(D,L,V)?1:-1,P=R*g,f=B*g,l=v*g,C=(h)=>{let S=128+h/H*127;return Math.max(0,Math.min(255,Math.round(S)))},O=F*_.pitch+A*3;_.buffer[O]=C(P),_.buffer[O+1]=C(f),_.buffer[O+2]=C(l)}return _}function c4($,Q,Z){let K=[],J=[],q=0,U=0;for(let _=0;_<$.length;_++){let N=$[_],V=!1,z=-1,j=Z;for(let X=0;X<K.length;X++){let G=K[X];if(G.width+N.width<=Q&&N.height<=G.height){if(G.y<j)z=X,j=G.y}}if(z>=0){let X=K[z];J.push({x:X.width,y:X.y,placed:!0}),X.width+=N.width,q=Math.max(q,X.width),V=!0}else{let X=U;if(X+N.height<=Z&&N.width<=Q)K.push({y:X,height:N.height,width:N.width}),J.push({x:0,y:X,placed:!0}),U=X+N.height,q=Math.max(q,N.width),V=!0}if(!V)J.push({x:0,y:0,placed:!1})}let W=yK(q),H=yK(U);return{width:Math.min(W,Q),height:Math.min(H,Z),placements:J}}function yK($){if($<=0)return 1;return $--,$|=$>>1,$|=$>>2,$|=$>>4,$|=$>>8,$|=$>>16,$+1}function o4($,Q,Z,K){for(let J=0;J<$.rows;J++){let q=J*$.pitch,U=(K+J)*Q.pitch+Z*3;for(let W=0;W<$.width*3;W++)Q.buffer[U+W]=$.buffer[q+W]}}function a0($,Q,Z){let{fontSize:K,padding:J=2,maxWidth:q=2048,maxHeight:U=2048,spread:W=4}=Z,H=K/$.unitsPerEm,_=[];for(let G=0;G<Q.length;G++){let E=Q[G],Y=h6($,E);if(!Y||!Y.bounds)continue;let w=Y.bounds,F=Math.ceil((w.xMax-w.xMin)*H)+W*2,A=Math.ceil((w.yMax-w.yMin)*H)+W*2;if(F<=0||A<=0)continue;let D=u8(Y,{width:F,height:A,scale:H,offsetX:-w.xMin*H+W,offsetY:w.yMax*H+W,flipY:!0,spread:W}),L=$.advanceWidth(E)*H,R=w.xMin*H-W,B=w.yMax*H+W;_.push({glyphId:E,bitmap:D,bearingX:R,bearingY:B,advance:L})}_.sort((G,E)=>E.bitmap.rows-G.bitmap.rows);let{width:N,height:V,placements:z}=c4(_.map((G)=>({width:G.bitmap.width+J*2,height:G.bitmap.rows+J*2})),q,U),j=a(N,V,2),X=new Map;for(let G=0;G<_.length;G++){let E=_[G],Y=z[G];if(!Y.placed)continue;o4(E.bitmap,j,Y.x+J,Y.y+J),X.set(E.glyphId,{glyphId:E.glyphId,atlasX:Y.x+J,atlasY:Y.y+J,width:E.bitmap.width,height:E.bitmap.rows,bearingX:E.bearingX,bearingY:E.bearingY,advance:E.advance})}return{bitmap:j,glyphs:X,fontSize:K}}function gK($,Q){let Z=[];for(let K=32;K<=126;K++){let J=$.glyphId(K);if(J!==void 0&&J!==0)Z.push(J)}return a0($,Z,Q)}function mK($,Q,Z){let K=new Set,J=Array.from(Q);for(let q=0;q<J.length;q++){let W=J[q].codePointAt(0);if(W===void 0)continue;let H=$.glyphId(W);if(H!==void 0&&H!==0)K.add(H)}return a0($,[...K],Z)}function uK($){let{bitmap:Q}=$;if(Q.pitch===Q.width*3)return Q.buffer;let Z=new Uint8Array(Q.width*Q.rows*3);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width*3;J++)Z[K*Q.width*3+J]=Q.buffer[K*Q.pitch+J];return Z}function xK($){let{bitmap:Q}=$,Z=new Uint8Array(Q.width*Q.rows*4);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++){let q=K*Q.pitch+J*3,U=(K*Q.width+J)*4;Z[U]=Q.buffer[q],Z[U+1]=Q.buffer[q+1],Z[U+2]=Q.buffer[q+2],Z[U+3]=255}return Z}G6();var i4=Math.PI;function s4($,Q,Z){let K=0.5/Z,J=Math.exp(-K),q=J*J,U=Math.sqrt(K/i4);$[0]=U,U*=J,$[1]=U;for(let W=2;W<Q;W++)J*=q,U*=J,$[W]=U}function fK($,Q,Z){let K=$[1],J=$[2],q=$[3];for(let U=0;U<Q;U++){let W=$[U]*Z[0]+(K+$[U+1])*Z[1]+(J+$[U+2])*Z[2]+(q+$[U+3])*Z[3];q=J,J=K,K=$[U],$[U]=W}}function a4($,Q,Z){for(let K=0;K<Z;K++){$[K][K]=Q[2*K+2]+3*Q[0]-4*Q[K+1];for(let J=K+1;J<Z;J++)$[K][J]=$[J][K]=Q[K+J+2]+Q[J-K]+2*(Q[0]-Q[K+1]-Q[J+1])}for(let K=0;K<Z;K++){let J=1/$[K][K];$[K][K]=1;for(let q=0;q<Z;q++){if(q===K)continue;let U=$[q][K]*J;$[q][K]=0;for(let W=0;W<Z;W++)$[q][W]-=$[K][W]*U}for(let q=0;q<Z;q++)$[K][q]*=J}}function r4($,Q,Z,K){let q=[((0.27116402116402116*K+0.09027777777777778)*K+0.20833333333333334)*K+0.43022486772486773,((-0.20337301587301587*K-0.022569444444444444)*K-0.017361111111111112)*K+0.24330357142857142,((0.08134920634920635*K-0.04513888888888889)*K-0.0763888888888889)*K+0.04017857142857143,((-0.013558201058201057*K+0.022569444444444444)*K-0.010416666666666666)*K+0.0014054232804232803],U=new Float64Array(17);U[0]=q[0],U[1]=q[1],U[2]=q[2],U[3]=q[3],fK(U,7,q);let W=new Float64Array(12);s4(W,Q+4,Z*K),fK(W,Q+1,q);let H=[];for(let N=0;N<8;N++)H.push(new Float64Array(8));a4(H,U,Q);let _=new Float64Array(8);for(let N=0;N<Q;N++)_[N]=U[0]-U[N+1]-W[0]+W[N+1];for(let N=0;N<Q;N++){let V=0;for(let z=0;z<Q;z++)V+=H[N][z]*_[z];$[N]=Math.max(0,V)}}function lK($){let Q=new Float64Array(8),Z,K;if($<0.5)Z=0,K=4,Q[1]=0.085*$*$*$,Q[0]=0.5*$-4*Q[1],Q[2]=Q[3]=0;else{let q=Math.sqrt(0.11569*$+0.20591047);Z=Math.floor(Math.log2(q))+1;let U=q/2**(Z-1)-1,W=0.25**Z;K=8-Math.floor((10.1525+0.8335*W)*(1-U)),K=Math.max(K,4),K=Math.min(K,8),r4(Q,K,$,W)}let J=new Float32Array(8);for(let q=0;q<K;q++)J[q]=Q[q];return{level:Z,radius:K,coeff:J}}function t4($,Q,Z,K,J,q){let U=Math.floor((Z+5)/2);for(let W=0;W<K;W++){let H=W*J,_=W*q;for(let N=0;N<U;N++){let V=N*2,z=0;z+=(Q[H+Math.max(0,V-2)]??0)*1,z+=(Q[H+Math.max(0,V-1)]??0)*5,z+=(Q[H+Math.min(Z-1,V)]??0)*10,z+=(Q[H+Math.min(Z-1,V+1)]??0)*10,z+=(Q[H+Math.min(Z-1,V+2)]??0)*5,z+=(Q[H+Math.min(Z-1,V+3)]??0)*1,$[_+N]=z/32}}}function e4($,Q,Z,K,J,q){let U=Math.floor((K+5)/2);for(let W=0;W<Z;W++)for(let H=0;H<U;H++){let _=H*2,N=0;N+=(Q[Math.max(0,_-2)*J+W]??0)*1,N+=(Q[Math.max(0,_-1)*J+W]??0)*5,N+=(Q[Math.min(K-1,_)*J+W]??0)*10,N+=(Q[Math.min(K-1,_+1)*J+W]??0)*10,N+=(Q[Math.min(K-1,_+2)*J+W]??0)*5,N+=(Q[Math.min(K-1,_+3)*J+W]??0)*1,$[H*q+W]=N/32}}function $_($,Q,Z,K,J,q){let U=Z*2+4;for(let W=0;W<K;W++){let H=W*J,_=W*q;for(let N=0;N<U;N++){let V=Math.floor((N-2)/2),z=N-2&1,j=0;if(z===0)j+=(Q[H+Math.max(0,Math.min(Z-1,V-1))]??0)*1,j+=(Q[H+Math.max(0,Math.min(Z-1,V))]??0)*30,j+=(Q[H+Math.max(0,Math.min(Z-1,V+1))]??0)*1;else j+=(Q[H+Math.max(0,Math.min(Z-1,V))]??0)*16,j+=(Q[H+Math.max(0,Math.min(Z-1,V+1))]??0)*16;$[_+N]=j/32}}}function Q_($,Q,Z,K,J,q){let U=K*2+4;for(let W=0;W<Z;W++)for(let H=0;H<U;H++){let _=Math.floor((H-2)/2),N=H-2&1,V=0;if(N===0)V+=(Q[Math.max(0,Math.min(K-1,_-1))*J+W]??0)*1,V+=(Q[Math.max(0,Math.min(K-1,_))*J+W]??0)*30,V+=(Q[Math.max(0,Math.min(K-1,_+1))*J+W]??0)*1;else V+=(Q[Math.max(0,Math.min(K-1,_))*J+W]??0)*16,V+=(Q[Math.max(0,Math.min(K-1,_+1))*J+W]??0)*16;$[H*q+W]=V/32}}function Z_($,Q,Z,K,J,q,U,W){let H=Z+2*U;for(let _=0;_<K;_++){let N=_*J,V=_*q;for(let z=0;z<H;z++){let j=z-U,X=0;for(let G=0;G<U;G++){let E=Math.max(0,Math.min(Z-1,j-G-1)),Y=Math.max(0,Math.min(Z-1,j+G));X+=((Q[N+E]??0)+(Q[N+Y]??0))*W[G]}$[V+z]=X}}}function K_($,Q,Z,K,J,q,U,W){let H=K+2*U;for(let _=0;_<Z;_++)for(let N=0;N<H;N++){let V=N-U,z=0;for(let j=0;j<U;j++){let X=Math.max(0,Math.min(K-1,V-j-1)),G=Math.max(0,Math.min(K-1,V+j));z+=((Q[X*J+_]??0)+(Q[G*J+_]??0))*W[j]}$[N*q+_]=z}}function J_($,Q,Z){let K=(Q+Z)/2;return c6($,K)}function x8($,Q,Z=Q){if(Q<=0&&Z<=0)return $;if($.pixelMode===4)return J_($,Q,Z);let K=Q*Q,J=Z*Z,q=lK(K),U=lK(J),W=$.width,H=$.rows,_=(2*q.radius+9<<q.level)-5,N=(2*U.radius+9<<U.level)-5,V=(W+_&~((1<<q.level)-1))-4,z=(H+N&~((1<<U.level)-1))-4,j=Math.max(W*H,V*z)*2,X=new Float32Array(j),G=new Float32Array(j);for(let B=0;B<H;B++)for(let v=0;v<W;v++)X[B*W+v]=$.buffer[B*$.pitch+v]??0;let E=X,Y=G,w=W;for(let B=0;B<U.level;B++){let v=Math.floor((H+5)/2);e4(Y,E,W,H,w,W),H=v,[E,Y]=[Y,E]}for(let B=0;B<q.level;B++){let v=Math.floor((W+5)/2);t4(Y,E,W,H,w,v),W=v,w=v,[E,Y]=[Y,E]}let F=W+2*q.radius;Z_(Y,E,W,H,w,F,q.radius,q.coeff),W=F,w=F,[E,Y]=[Y,E];let A=H+2*U.radius;K_(Y,E,W,H,w,w,U.radius,U.coeff),H=A,[E,Y]=[Y,E];for(let B=0;B<q.level;B++){let v=W*2+4;$_(Y,E,W,H,w,v),W=v,w=v,[E,Y]=[Y,E]}for(let B=0;B<U.level;B++){let v=H*2+4;Q_(Y,E,W,H,w,w),H=v,[E,Y]=[Y,E]}let D=Math.min(W,V),L=Math.min(H,z),R=new Uint8Array(D*L);for(let B=0;B<L;B++)for(let v=0;v<D;v++){let T=E[B*w+v]??0;R[B*D+v]=Math.max(0,Math.min(255,Math.round(T)))}return{buffer:R,width:D,rows:L,pitch:D,pixelMode:1,numGrays:256}}function s9($,Q){return x8($,Q,Q)}function a9($,Q,Z){let K=Z??Q;if(Math.max(Q,K)<=3)return c6($,(Q+K)/2);return x8($,Q,K)}G6();class i{_bitmap;_bearingX;_bearingY;constructor($,Q=0,Z=0){this._bitmap=$;this._bearingX=Q;this._bearingY=Z}static fromBitmap($){return new i(U6($))}static fromBitmapWithBearing($,Q,Z){return new i(U6($),Q,Z)}static fromRasterizedGlyph($){return new i(U6($.bitmap),$.bearingX,$.bearingY)}static create($,Q,Z=1){return new i(a($,Q,Z))}static fromGradient($,Q,Z){return new i(n0($,Q,Z))}blur($){let Q=c6(U6(this._bitmap),$);return new i(Q,this._bearingX,this._bearingY)}boxBlur($){let Q=A8(U6(this._bitmap),$);return new i(Q,this._bearingX,this._bearingY)}cascadeBlur($,Q){let Z=x8(U6(this._bitmap),$,Q??$);return new i(Z,this._bearingX,this._bearingY)}adaptiveBlur($,Q){let Z=a9(U6(this._bitmap),$,Q??$);return new i(Z,this._bearingX,this._bearingY)}fastBlur($){let Q=s9(U6(this._bitmap),$);return new i(Q,this._bearingX,this._bearingY)}embolden($,Q){let Z=b8(this._bitmap,$,Q??$);return new i(Z,this._bearingX,this._bearingY)}emboldenWithBearing($,Q){let Z=l9(this._bitmap,this._bearingX,this._bearingY,$,Q??$);return new i(Z.bitmap,Z.bearingX,Z.bearingY)}transform2D($,Q){let Z=r6(this._bitmap,$,{bearingX:this._bearingX,bearingY:this._bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26});return new i(Z.bitmap,Z.bearingX,Z.bearingY)}transform3D($,Q){let Z=w8(this._bitmap,$,{bearingX:this._bearingX,bearingY:this._bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26});return new i(Z.bitmap,Z.bearingX,Z.bearingY)}shearX($,Q){let Z=Z9(this._bitmap,$,{bearingX:this._bearingX,bearingY:this._bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26});return new i(Z.bitmap,Z.bearingX,Z.bearingY)}shearY($,Q){let Z=K9(this._bitmap,$,{bearingX:this._bearingX,bearingY:this._bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26});return new i(Z.bitmap,Z.bearingX,Z.bearingY)}shift($,Q){let Z=f9(this._bitmap,$,Q);return new i(Z,this._bearingX+$,this._bearingY-Q)}resize($,Q){let Z=g8(this._bitmap,$,Q);return new i(Z,this._bearingX,this._bearingY)}resizeBilinear($,Q){let Z=$9(this._bitmap,$,Q);return new i(Z,this._bearingX,this._bearingY)}pad($,Q,Z,K){let J=$,q=Q??$,U=Z??$,W=K??$,H=Q9(this._bitmap,J,q,U,W);return new i(H,this._bearingX-J,this._bearingY+q)}measure(){return I$(this._bitmap,this._bearingX,this._bearingY)}metrics(){let{ascent:$,descent:Q}=this.measure();return{width:this._bitmap.width,height:this._bitmap.rows,bearingX:this._bearingX,bearingY:this._bearingY,ascent:$,descent:Q}}expandMetrics($){return k$(this.metrics(),$)}blend($,Q,Z,K=1){let J=$ instanceof i?$._bitmap:$,q=U6(this._bitmap);return f0(q,J,Q,Z,K),new i(q,this._bearingX,this._bearingY)}composite($,Q=0,Z=0){let K=$ instanceof i?$._bitmap:$,J=U6(this._bitmap);return P$(J,K,Q,Z),new i(J,this._bearingX,this._bearingY)}add($,Q=0,Z=0){let K=$ instanceof i?$._bitmap:$,J=U6(this._bitmap);return T$(J,K,Q,Z),new i(J,this._bearingX,this._bearingY)}subtract($,Q=0,Z=0){let K=$ instanceof i?$._bitmap:$,J=U6(this._bitmap);return l0(J,K,Q,Z),new i(J,this._bearingX,this._bearingY)}multiply($,Q=0,Z=0){let K=$ instanceof i?$._bitmap:$,J=U6(this._bitmap);return O$(J,K,Q,Z),new i(J,this._bearingX,this._bearingY)}max($,Q=0,Z=0){let K=$ instanceof i?$._bitmap:$,J=U6(this._bitmap);return v$(J,K,Q,Z),new i(J,this._bearingX,this._bearingY)}convert($){let Q=W8(this._bitmap,$);return new i(Q,this._bearingX,this._bearingY)}toRGBA(){return o9(this._bitmap)}toGray(){return i9(this._bitmap)}toBitmap(){return U6(this._bitmap)}toRasterizedGlyph(){return{bitmap:U6(this._bitmap),bearingX:this._bearingX,bearingY:this._bearingY}}clone(){return new i(U6(this._bitmap),this._bearingX,this._bearingY)}get width(){return this._bitmap.width}get height(){return this._bitmap.rows}get pixelMode(){return this._bitmap.pixelMode}get bearingX(){return this._bearingX}get bearingY(){return this._bearingY}}function q_($,Q,Z,K){let J=-Q*K,q=$*Z,U=Math.sqrt(J*J+q*q);if(U<0.0000000001)return{x:0,y:0,len:0};return{x:J/U,y:q/U,len:U}}function m$($,Q,Z,K,J){let q=Z.x-$.x,U=Z.y-$.y;if(Math.abs((Q.x-$.x)*U-(Q.y-$.y)*q)/Math.sqrt(q*q+U*U+0.0000000001)<=K){J.push(Z);return}let H={x:($.x+Q.x)/2,y:($.y+Q.y)/2},_={x:(Q.x+Z.x)/2,y:(Q.y+Z.y)/2},N={x:(H.x+_.x)/2,y:(H.y+_.y)/2};m$($,H,N,K,J),m$(N,_,Z,K,J)}function u$($,Q,Z,K,J,q){let U=K.x-$.x,W=K.y-$.y,H=U*U+W*W+0.0000000001,_=Math.abs((Q.x-$.x)*W-(Q.y-$.y)*U)/Math.sqrt(H),N=Math.abs((Z.x-$.x)*W-(Z.y-$.y)*U)/Math.sqrt(H);if(_<=J&&N<=J){q.push(K);return}let V={x:($.x+Q.x)/2,y:($.y+Q.y)/2},z={x:(Q.x+Z.x)/2,y:(Q.y+Z.y)/2},j={x:(Z.x+K.x)/2,y:(Z.y+K.y)/2},X={x:(V.x+z.x)/2,y:(V.y+z.y)/2},G={x:(z.x+j.x)/2,y:(z.y+j.y)/2},E={x:(X.x+G.x)/2,y:(X.y+G.y)/2};u$($,V,X,E,J,q),u$(E,G,j,K,J,q)}function U_($,Q){let Z=[],K=[],J={x:0,y:0},q={x:0,y:0};for(let U=0;U<$.commands.length;U++){let W=$.commands[U];switch(W.type){case"M":if(K.length>1)Z.push({points:K,closed:!1});J={x:W.x,y:W.y},q=J,K=[J];break;case"L":J={x:W.x,y:W.y},K.push(J);break;case"Q":m$(J,{x:W.x1,y:W.y1},{x:W.x,y:W.y},Q,K),J={x:W.x,y:W.y};break;case"C":u$(J,{x:W.x1,y:W.y1},{x:W.x2,y:W.y2},{x:W.x,y:W.y},Q,K),J={x:W.x,y:W.y};break;case"Z":if(K.length>1){let H=K[0],_=K[K.length-1];if(H&&_){let N=_.x-H.x,V=_.y-H.y;if(N*N+V*V>Q*Q)K.push({...H})}Z.push({points:K,closed:!0})}K=[],J=q;break}}if(K.length>1)Z.push({points:K,closed:!1});return Z}function dK($,Q,Z,K,J,q,U){let W=Z.x*K.x+Z.y*K.y,H=Z.x*K.y-Z.y*K.x,_=Math.atan2(H,W),N=Math.max(2,Math.ceil(Math.abs(_)/(Math.PI/8))),V=U?1:-1,z=Math.atan2(Z.y,Z.x);for(let j=1;j<=N;j++){let X=j/N,G=z+_*X,E=Math.cos(G),Y=Math.sin(G);$.push({x:Q.x+E*J*V,y:Q.y+Y*q*V})}}function nK($,Q,Z,K,J,q,U,W){let H=W?1:-1,_=Z.x*K.x+Z.y*K.y,N=Math.sqrt((1-_)/2);if(N<0.0000000001)return!1;let V=1/N;if(V>U)return!1;let z=Z.x+K.x,j=Z.y+K.y,X=Math.sqrt(z*z+j*j);if(X<0.0000000001)return!1;let G=V*Math.sqrt(J*J+q*q)/2;return $.push({x:Q.x+z/X*G*H,y:Q.y+j/X*G*H}),!0}function W_($,Q,Z,K,J){let q=$.length;if(q<3)return{outer:[],inner:[]};let U=q-1,W=$[0],H=$[U],_=q;if(W&&H){let j=H.x-W.x,X=H.y-W.y;if(j*j+X*X<1)_=q-1}if(_<3)return{outer:[],inner:[]};let N=[];for(let j=0;j<_;j++){let X=$[j],G=$[(j+1)%_];if(!X||!G)continue;let E=G.x-X.x,Y=G.y-X.y,w=Math.sqrt(E*E+Y*Y);if(w<0.0000000001)N.push({x:0,y:0,len:0});else N.push(q_(E/w,Y/w,Q,Z))}let V=[],z=[];for(let j=0;j<_;j++){let X=$[j],G=N[(j-1+_)%_],E=N[j];if(!X||!G||!E)continue;if(G.len<0.0000000001||E.len<0.0000000001){V.push({x:X.x+(E.len>0?E.x*Q:0),y:X.y+(E.len>0?E.y*Z:0)});continue}let Y={x:X.x+E.x*Q,y:X.y+E.y*Z},w=G.x*E.y-G.y*E.x,F=w>0;if(Math.abs(w)<0.01)V.push(Y);else if(F)switch(K){case"round":dK(V,X,G,E,Q,Z,!0);break;case"miter":if(!nK(V,X,G,E,Q,Z,J,!0))V.push(Y);break;default:V.push(Y);break}else V.push(Y)}for(let j=0;j<_;j++){let X=$[j],G=N[(j-1+_)%_],E=N[j];if(!X||!G||!E)continue;if(G.len<0.0000000001||E.len<0.0000000001){z.push({x:X.x-(E.len>0?E.x*Q:0),y:X.y-(E.len>0?E.y*Z:0)});continue}let Y={x:X.x-E.x*Q,y:X.y-E.y*Z},w=G.x*E.y-G.y*E.x,F=w<0;if(Math.abs(w)<0.01)z.push(Y);else if(F)switch(K){case"round":dK(z,X,G,E,Q,Z,!1);break;case"miter":if(!nK(z,X,G,E,Q,Z,J,!1))z.push(Y);break;default:z.push(Y);break}else z.push(Y)}return{outer:V,inner:z}}function pK($,Q){if($.length===0)return[];let Z=[],K=$[0];if(!K)return[];Z.push({type:"M",x:K.x,y:K.y});for(let J=1;J<$.length;J++){let q=$[J];if(!q)continue;Z.push({type:"L",x:q.x,y:q.y})}if(Q)Z.push({type:"Z"});return Z}function f8($,Q){let{xBorder:Z,yBorder:K,eps:J=1,lineJoin:q="round",miterLimit:U=4}=Q;if(Z<=0&&K<=0)return{outer:{commands:[],bounds:null},inner:{commands:[],bounds:null}};let W=U_($,J),H=[],_=[];for(let z=0;z<W.length;z++){let j=W[z];if(!j.closed){let E=j.points[0];if(E)j.points.push(E);j.closed=!0}let{outer:X,inner:G}=W_(j.points,Z,K,q,U);H.push(...pK(X,!0)),_.push(...pK(G,!0))}let N=null,V=null;if($.bounds)N={xMin:$.bounds.xMin-Z,yMin:$.bounds.yMin-K,xMax:$.bounds.xMax+Z,yMax:$.bounds.yMax+K},V={xMin:$.bounds.xMin+Z,yMin:$.bounds.yMin+K,xMax:$.bounds.xMax-Z,yMax:$.bounds.yMax-K};return{outer:{commands:H,bounds:N,flags:$.flags},inner:{commands:_,bounds:V,flags:$.flags}}}function r9($,Q){let{outer:Z,inner:K}=f8($,Q),J=[...Z.commands,...K.commands],q=Z.bounds;return{commands:J,bounds:q,flags:$.flags}}function H_($,Q,Z){return f8($,{xBorder:Q,yBorder:Q,...Z})}G6();class J6{_path;_transform;_font;constructor($,Q,Z){this._path=$;this._transform=Q;this._font=Z}static fromGlyph($,Q){let Z=h6($,Q);if(!Z)return null;return new J6(Z,{matrix2D:v6(),matrix3D:null},$)}static fromGlyphWithVariation($,Q,Z){let K=g9($,Q,Z);if(!K)return null;return new J6(K,{matrix2D:v6(),matrix3D:null},$)}static fromPath($){return new J6(r8($),{matrix2D:v6(),matrix3D:null},null)}static combine(...$){let Q=$.map((K)=>K.toPath()),Z=b9(Q);return new J6(Z,{matrix2D:v6(),matrix3D:null},null)}scale($,Q=$){let Z=S8(this._transform.matrix2D,I8($,Q));return new J6(this._path,{...this._transform,matrix2D:Z},this._font)}translate($,Q){let Z=S8(this._transform.matrix2D,a8($,Q));return new J6(this._path,{...this._transform,matrix2D:Z},this._font)}rotate($){let Q=S8(this._transform.matrix2D,k8($));return new J6(this._path,{...this._transform,matrix2D:Q},this._font)}rotateDeg($){return this.rotate($*Math.PI/180)}shear($,Q){let Z=S8(this._transform.matrix2D,C8($,Q));return new J6(this._path,{...this._transform,matrix2D:Z},this._font)}italic($){let Q=Math.tan($*Math.PI/180);return this.shear(Q,0)}matrix($){let Q=S8(this._transform.matrix2D,$);return new J6(this._path,{...this._transform,matrix2D:Q},this._font)}resetTransform(){return new J6(this._path,{matrix2D:v6(),matrix3D:null},this._font)}perspective($){let Q=this._transform.matrix3D?h9(this._transform.matrix3D,$):$;return new J6(this._path,{...this._transform,matrix3D:Q},this._font)}perspectiveVanish($,Q,Z){let K=A$($,Q,Z);return this.perspective(K)}apply(){let $=this.applyTransformToPath();return new J6($,{matrix2D:v6(),matrix3D:null},this._font)}embolden($){let Q=this.applyTransformToPath(),Z=H9(Q,$);return new J6(Z,{matrix2D:v6(),matrix3D:null},this._font)}condense($){let Q=this.applyTransformToPath(),Z=W9(Q,$);return new J6(Z,{matrix2D:v6(),matrix3D:null},this._font)}oblique($){let Q=this.applyTransformToPath(),Z=U9(Q,$);return new J6(Z,{matrix2D:v6(),matrix3D:null},this._font)}stroke($,Q,Z){let K=this.applyTransformToPath(),q=q9(K,typeof $==="number"?{width:$,lineCap:Q,lineJoin:Z}:$);return new J6(q,{matrix2D:v6(),matrix3D:null},this._font)}strokeAsymmetric($){let Q=this.applyTransformToPath(),{outer:Z,inner:K}=f8(Q,$);return{outer:new J6(Z,{matrix2D:v6(),matrix3D:null},this._font),inner:new J6(K,{matrix2D:v6(),matrix3D:null},this._font)}}strokeAsymmetricCombined($){let Q=this.applyTransformToPath(),Z=r9(Q,$);return new J6(Z,{matrix2D:v6(),matrix3D:null},this._font)}controlBox(){let $=this.applyTransformToPath();return w$($)}tightBounds(){let $=this.applyTransformToPath();return g0($)}getTransformMatrix(){return[...this._transform.matrix2D]}getTransformMatrix3D(){if(!this._transform.matrix3D)return null;return this._transform.matrix3D.map(($)=>[...$])}rasterize($){let Q=this.applyTransformToPath(),{width:Z=100,height:K=100,scale:J=1,offsetX:q=0,offsetY:U=0,pixelMode:W=1,fillRule:H=0,flipY:_=!0}=$,N=t6(Q,{width:Z,height:K,scale:J,offsetX:q,offsetY:U,pixelMode:W,fillRule:H,flipY:_});return i.fromBitmap(N)}rasterizeAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,pixelMode:J=1,fillRule:q=0,flipY:U=!0}=$??{},W=U8(Q,K,U);if(!W){let{createBitmap:j}=(G6(),L0(m9));return i.fromBitmap(j(1,1,J))}let H=W.maxX-W.minX+Z*2,_=W.maxY-W.minY+Z*2,N=-W.minX+Z,V=-W.minY+Z,z=t6(Q,{width:H,height:_,scale:K,offsetX:N,offsetY:V,pixelMode:J,fillRule:q,flipY:U});return i.fromBitmapWithBearing(z,W.minX-Z,-(W.minY-Z))}rasterizeWithGradient($,Q){let Z=this.applyTransformToPath(),{width:K=100,height:J=100,scale:q=1,offsetX:U=0,offsetY:W=0,pixelMode:H=1,fillRule:_=0,flipY:N=!0}=Q,V=J9(Z,$,{width:K,height:J,scale:q,offsetX:U,offsetY:W,pixelMode:H,fillRule:_,flipY:N});return i.fromBitmap(V)}toSdf($){let Q=this.applyTransformToPath(),Z=m8(Q,$);return i.fromBitmap(Z)}toSdfAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,spread:J=8,flipY:q=!0}=$??{},U=U8(Q,K,q);if(!U){let{createBitmap:z}=(G6(),L0(m9));return i.fromBitmap(z(1,1,1))}let W=U.maxX-U.minX+Z*2+J*2,H=U.maxY-U.minY+Z*2+J*2,_=-U.minX+Z+J,N=q?U.maxY+Z+J:-U.minY+Z+J,V=m8(Q,{width:W,height:H,scale:K,offsetX:_,offsetY:N,flipY:q,spread:J});return i.fromBitmapWithBearing(V,U.minX-Z-J,-(U.minY-Z-J))}toMsdf($){let Q=this.applyTransformToPath(),Z=u8(Q,$);return i.fromBitmap(Z)}toMsdfAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,spread:J=8,flipY:q=!0}=$??{},U=U8(Q,K,q);if(!U){let{createBitmap:z}=(G6(),L0(m9));return i.fromBitmap(z(1,1,2))}let W=U.maxX-U.minX+Z*2+J*2,H=U.maxY-U.minY+Z*2+J*2,_=-U.minX+Z+J,N=q?U.maxY+Z+J:-U.minY+Z+J,V=u8(Q,{width:W,height:H,scale:K,offsetX:_,offsetY:N,flipY:q,spread:J});return i.fromBitmapWithBearing(V,U.minX-Z-J,-(U.minY-Z-J))}toSVG($){let{flipY:Q=!0,scale:Z=1}=$??{};if(this.hasTransform()){let K=this.applyTransformToPath();return E8(K,{flipY:Q,scale:Z})}return E8(this._path,{flipY:Q,scale:Z})}toSVGElement($){let{fontSize:Q=100,fill:Z="currentColor",stroke:K,strokeWidth:J=1}=$??{},q=this.applyTransformToPath(),U=g0(q),W=this._font?Q/this._font.unitsPerEm:1,H=W!==1?O6(q,I8(W,W)):q,_=W!==1?{xMin:U.xMin*W,yMin:U.yMin*W,xMax:U.xMax*W,yMax:U.yMax*W}:U,N=K?J/2:0,V=Math.ceil(_.xMax-_.xMin+N*2),z=Math.ceil(_.yMax-_.yMin+N*2),j=`${_.xMin-N} ${-_.yMax-N} ${_.xMax-_.xMin+N*2} ${_.yMax-_.yMin+N*2}`,X=E8(H,{flipY:!0,scale:1}),G=K?` stroke="${K}" stroke-width="${J}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${V}" height="${z}" viewBox="${j}">
|
|
9
|
+
</svg>`}function CH($,Q,Z){let K=Z/Q.unitsPerEm,J=0;for(let q=0;q<$.length;q++){let U=$[q];J+=U.xAdvance}return J*K}function D$($,Q){let Z=new Path2D;return t8(Z,$,Q),Z}function m0($,Q,Z,K){let q=K?.flipY??!0?-1:1;for(let U=0;U<Q.commands.length;U++){let W=Q.commands[U];switch(W.type){case"M":{let H=Q6(W.x,W.y*q,Z);$.moveTo(H.x,H.y);break}case"L":{let H=Q6(W.x,W.y*q,Z);$.lineTo(H.x,H.y);break}case"Q":{let H=Q6(W.x1,W.y1*q,Z),_=Q6(W.x,W.y*q,Z);$.quadraticCurveTo(H.x,H.y,_.x,_.y);break}case"C":{let H=Q6(W.x1,W.y1*q,Z),_=Q6(W.x2,W.y2*q,Z),N=Q6(W.x,W.y*q,Z);$.bezierCurveTo(H.x,H.y,_.x,_.y,N.x,N.y);break}case"Z":$.closePath();break}}}function $K($,Q,Z){let J=Z?.flipY??!0?-1:1,q="";for(let U=0;U<$.commands.length;U++){let W=$.commands[U];if(U>0)q+=" ";switch(W.type){case"M":{let H=Q6(W.x,W.y*J,Q);q+="M "+H.x+" "+H.y;break}case"L":{let H=Q6(W.x,W.y*J,Q);q+="L "+H.x+" "+H.y;break}case"Q":{let H=Q6(W.x1,W.y1*J,Q),_=Q6(W.x,W.y*J,Q);q+="Q "+H.x+" "+H.y+" "+_.x+" "+_.y;break}case"C":{let H=Q6(W.x1,W.y1*J,Q),_=Q6(W.x2,W.y2*J,Q),N=Q6(W.x,W.y*J,Q);q+="C "+H.x+" "+H.y+" "+_.x+" "+_.y+" "+N.x+" "+N.y;break}case"Z":q+="Z";break}}return q}function u0($,Q,Z,K){let q=K?.flipY??!0?-1:1;for(let U=0;U<Q.commands.length;U++){let W=Q.commands[U];switch(W.type){case"M":{let H=$6(W.x,W.y*q,Z);$.moveTo(H.x,H.y);break}case"L":{let H=$6(W.x,W.y*q,Z);$.lineTo(H.x,H.y);break}case"Q":{let H=$6(W.x1,W.y1*q,Z),_=$6(W.x,W.y*q,Z);$.quadraticCurveTo(H.x,H.y,_.x,_.y);break}case"C":{let H=$6(W.x1,W.y1*q,Z),_=$6(W.x2,W.y2*q,Z),N=$6(W.x,W.y*q,Z);$.bezierCurveTo(H.x,H.y,_.x,_.y,N.x,N.y);break}case"Z":$.closePath();break}}}function QK($,Q,Z){let J=Z?.flipY??!0?-1:1,q="";for(let U=0;U<$.commands.length;U++){let W=$.commands[U];if(U>0)q+=" ";switch(W.type){case"M":{let H=$6(W.x,W.y*J,Q);q+="M "+H.x+" "+H.y;break}case"L":{let H=$6(W.x,W.y*J,Q);q+="L "+H.x+" "+H.y;break}case"Q":{let H=$6(W.x1,W.y1*J,Q),_=$6(W.x,W.y*J,Q);q+="Q "+H.x+" "+H.y+" "+_.x+" "+_.y;break}case"C":{let H=$6(W.x1,W.y1*J,Q),_=$6(W.x2,W.y2*J,Q),N=$6(W.x,W.y*J,Q);q+="C "+H.x+" "+H.y+" "+_.x+" "+_.y+" "+N.x+" "+N.y;break}case"Z":q+="Z";break}}return q}function SH($,Q){$.transform(Q[0],Q[1],Q[2],Q[3],Q[4],Q[5])}function ZK($){return`matrix(${$[0]} ${$[1]} ${$[2]} ${$[3]} ${$[4]} ${$[5]})`}function KK($,Q,Z,K){let J="",q=Q*Y6,U=-Q*Y6,W=Z*Y6,H=K*Y6;for(let _=0;_<$.commands.length;_++){let N=$.commands[_];if(_>0)J+=" ";switch(N.type){case"M":J+="M "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"L":J+="L "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"Q":J+="Q "+Math.round(N.x1*q+W)+" "+Math.round(N.y1*U+H)+" "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"C":J+="C "+Math.round(N.x1*q+W)+" "+Math.round(N.y1*U+H)+" "+Math.round(N.x2*q+W)+" "+Math.round(N.y2*U+H)+" "+Math.round(N.x*q+W)+" "+Math.round(N.y*U+H);break;case"Z":J+="Z";break}}return J}var W6=8,Z6=256,hH=255,yH=6,bH=64,gH=16,mH=65536;function uH($){return Math.round($*64)}function xH($){return $/64}function fH($,Q){return Math.round($*Q*256)}function a6($){return $>>8}function h8($){return $&255}function lH($){return $+128>>8}function dH($){return $&-256}function nH($){return $+255&-256}function pH($){return $<<2}function cH($){return $>>2}function M$($,Q,Z){if(Z===0)return 0;let K=$<0?-$:$,J=Q<0?-Q:Q;if(K<8388607&&J<8388607)return Math.trunc($*Q/Z);return Number(BigInt($)*BigInt(Q)/BigInt(Z))}function oH($,Q){return M$($,Q,65536)}function iH($,Q){if(Q===0)return 0;return M$($,65536,Q)}function JK($,Q){return $=f6($),Q=f6(Q),$>Q?$+(3*Q>>3):Q+(3*$>>3)}function sH($,Q){return JK($,Q)}function aH($,Q){let Z=Math.sqrt($*$+Q*Q);if(Z===0)return{x:65536,y:0};return{x:Math.round($/Z*65536),y:Math.round(Q/Z*65536)}}function rH($,Q,Z){return $<Q?Q:$>Z?Z:$}function f6($){return $<0?-$:$}function tH($){return $<0?-1:$>0?1:0}var eH=16384,qK=2147483647;class y8 extends Error{constructor(){super("Cell pool overflow");this.name="PoolOverflowError"}}class B${pool;poolSize;freeIndex;ycells;bandMinY=0;bandMaxY=0;minY=1/0;maxY=-1/0;minX=1/0;maxX=-1/0;currentX=0;currentY=0;currentCellIndex=-1;clipMinX=-1/0;clipMinY=-1/0;clipMaxX=1/0;clipMaxY=1/0;nullCellIndex;bandSet=!1;constructor($=eH){this.poolSize=$,this.nullCellIndex=$-1,this.pool=Array($);for(let Q=0;Q<$;Q++)this.pool[Q]={x:0,area:0,cover:0,next:-1};this.pool[this.nullCellIndex].x=qK,this.pool[this.nullCellIndex].next=-1,this.ycells=[],this.freeIndex=0,this.bandMinY=-1e4,this.bandMaxY=1e4}setClip($,Q,Z,K){this.clipMinX=$,this.clipMinY=Q,this.clipMaxX=Z,this.clipMaxY=K}setBandBounds($,Q){this.bandMinY=$,this.bandMaxY=Q,this.bandSet=!0;let Z=Q-$;if(this.ycells.length<Z)this.ycells=Array(Z);for(let K=0;K<Z;K++)this.ycells[K]=this.nullCellIndex;this.freeIndex=0}reset(){if(this.freeIndex=0,this.pool[this.nullCellIndex].x=qK,this.pool[this.nullCellIndex].area=0,this.pool[this.nullCellIndex].cover=0,this.pool[this.nullCellIndex].next=-1,this.bandSet)for(let $=0;$<this.ycells.length;$++)this.ycells[$]=this.nullCellIndex;else this.ycells=[],this.bandMinY=-1e5,this.bandMaxY=1e5;this.minY=1/0,this.maxY=-1/0,this.minX=1/0,this.maxX=-1/0,this.currentCellIndex=-1}setCurrentCell($,Q){let Z=a6($),K=a6(Q);if(this.currentCellIndex>=0&&this.currentX===Z&&this.currentY===K)return;if(K<this.clipMinY||K>=this.clipMaxY||Z<this.clipMinX||Z>=this.clipMaxX||this.bandSet&&(K<this.bandMinY||K>=this.bandMaxY)){this.currentCellIndex=this.nullCellIndex,this.currentX=Z,this.currentY=K;return}this.currentX=Z,this.currentY=K,this.currentCellIndex=this.findOrCreateCell(Z,K),this.minY=Math.min(this.minY,K),this.maxY=Math.max(this.maxY,K),this.minX=Math.min(this.minX,Z),this.maxX=Math.max(this.maxX,Z)}findOrCreateCell($,Q){if(!this.bandSet)this.ensureYCellsCapacity(Q);let Z=Q-this.bandMinY;if(Z<0||Z>=this.ycells.length)return this.nullCellIndex;let K=-1,J=this.ycells[Z];while(J!==this.nullCellIndex){let W=this.pool[J];if(W.x===$)return J;if(W.x>$)break;K=J,J=W.next}if(this.freeIndex>=this.nullCellIndex)throw new y8;let q=this.freeIndex++,U=this.pool[q];if(U.x=$,U.area=0,U.cover=0,U.next=J,K===-1)this.ycells[Z]=q;else this.pool[K].next=q;return q}ensureYCellsCapacity($){if(this.ycells.length===0){this.bandMinY=Math.min($,0),this.bandMaxY=Math.max($+1,256);let Q=this.bandMaxY-this.bandMinY;this.ycells=Array(Q);for(let Z=0;Z<Q;Z++)this.ycells[Z]=this.nullCellIndex;return}if($<this.bandMinY){let Q=this.bandMinY-$,Z=Array(this.ycells.length+Q);for(let K=0;K<Q;K++)Z[K]=this.nullCellIndex;for(let K=0;K<this.ycells.length;K++)Z[Q+K]=this.ycells[K];this.ycells=Z,this.bandMinY=$}else if($>=this.bandMaxY){let Q=$+1,Z=this.ycells.length,K=Q-this.bandMinY;if(K>Z){let J=Array(K);for(let q=0;q<Z;q++)J[q]=this.ycells[q];for(let q=Z;q<K;q++)J[q]=this.nullCellIndex;this.ycells=J}this.bandMaxY=Q}}addArea($,Q){if(this.currentCellIndex>=0){let Z=this.pool[this.currentCellIndex];Z.area+=$,Z.cover+=Q}}getArea(){if(this.currentCellIndex>=0)return this.pool[this.currentCellIndex]?.area;return 0}getCover(){if(this.currentCellIndex>=0)return this.pool[this.currentCellIndex]?.cover;return 0}getCellsForRow($){let Q=$-this.bandMinY;if(Q<0||Q>=this.ycells.length)return[];let Z=[],K=this.ycells[Q];while(K!==this.nullCellIndex)Z.push(this.pool[K]),K=this.pool[K].next;return Z}*iterateCells(){for(let $=0;$<this.ycells.length;$++){let Q=this.bandMinY+$,Z=this.ycells[$];if(Z===this.nullCellIndex)continue;let K=[];while(Z!==this.nullCellIndex)K.push(this.pool[Z]),Z=this.pool[Z].next;if(K.length>0)yield{y:Q,cells:K}}}*iterateScanlines(){for(let $=0;$<this.ycells.length;$++){let Q=this.ycells[$];if(Q!==this.nullCellIndex)yield{y:this.bandMinY+$,firstCellIndex:Q}}}getPool(){return this.pool}getNullIndex(){return this.nullCellIndex}getYCells(){return this.ycells}getBandMinY(){return this.bandMinY}*iterateRowCells($){let Q=$-this.bandMinY;if(Q<0||Q>=this.ycells.length)return;let Z=this.ycells[Q];while(Z!==this.nullCellIndex)yield this.pool[Z],Z=this.pool[Z].next}getCellCount(){return this.freeIndex}isNearCapacity(){return this.freeIndex>this.poolSize*0.9}}G6();var $4=32,WK=16;class e8{cells;x=0;y=0;minX=0;minY=0;maxX=0;maxY=0;constructor(){this.cells=new B$}setClip($,Q,Z,K){this.minX=$,this.minY=Q,this.maxX=Z,this.maxY=K,this.cells.setClip($,Q,Z,K)}setBandBounds($,Q){this.cells.setBandBounds($,Q)}reset(){this.cells.reset(),this.x=0,this.y=0}moveTo($,Q){this.x=$,this.y=Q,this.cells.setCurrentCell($,Q)}lineTo($,Q){this.renderLine($,Q),this.x=$,this.y=Q}renderLine($,Q){let Z=a6(this.y),K=a6(Q);if(Z>=this.maxY&&K>=this.maxY||Z<this.minY&&K<this.minY)return;let J=h8(this.y),q=h8(Q);if(Z===K){this.renderScanline(Z,this.x,J,$,q);return}let U=$-this.x,W=Q-this.y;if(U===0){let E=a6(this.x),Y=h8(this.x)*2,w,F;if(W>0)w=Z6,F=1;else w=0,F=-1;let A=w-J;this.cells.setCurrentCell(this.x,Z<<W6),this.cells.addArea(A*Y,A),Z+=F,this.cells.setCurrentCell(this.x,Z<<W6),A=w+w-Z6;while(Z!==K)this.cells.addArea(A*Y,A),Z+=F,this.cells.setCurrentCell(this.x,Z<<W6);A=q-Z6+w,this.cells.addArea(A*Y,A);return}let H=this.x,_,N,V,z=f6(W);if(W>0)N=Z6,_=1,V=(Z6-J)*U;else N=0,_=-1,V=J*U;let j=Math.trunc(V/z),X=V%z;if(X<0)j--,X+=z;let G=H+j;if(this.renderScanline(Z,H,J,G,N),H=G,Z+=_,this.cells.setCurrentCell(H,Z<<W6),Z!==K){V=Z6*U;let E=Math.trunc(V/z),Y=V%z;if(Y<0)E--,Y+=z;while(Z!==K){if(j=E,X+=Y,X>=z)X-=z,j++;G=H+j,this.renderScanline(Z,H,Z6-N,G,N),H=G,Z+=_,this.cells.setCurrentCell(H,Z<<W6)}}this.renderScanline(Z,H,Z6-N,$,q)}renderScanline($,Q,Z,K,J){let q=a6(Q),U=a6(K);if(Z===J){this.cells.setCurrentCell(K,$<<W6);return}let W=h8(Q),H=h8(K);if(q===U){let F=J-Z;this.cells.setCurrentCell(Q,$<<W6),this.cells.addArea(F*(W+H),F);return}let _=K-Q,N=J-Z,V=f6(_),z,j,X;if(_>0)z=Z6,j=1,X=(Z6-W)*N;else z=0,j=-1,X=W*N;let G=Math.trunc(X/V),E=X%V;if(E<0)G--,E+=V;this.cells.setCurrentCell(Q,$<<W6),this.cells.addArea(G*(W+z),G);let Y=Z+G,w=q+j;if(this.cells.setCurrentCell(w<<W6,$<<W6),w!==U){X=Z6*N;let F=Math.trunc(X/V),A=X%V;if(A<0)F--,A+=V;while(w!==U){if(G=F,E+=A,E>=V)E-=V,G++;this.cells.addArea(G*Z6,G),Y+=G,w+=j,this.cells.setCurrentCell(w<<W6,$<<W6)}}G=J-Y,this.cells.addArea(G*(H+Z6-z),G)}mulDiv($,Q,Z){if(Z===0)return 0;return Math.trunc($*Q/Z)}conicTo($,Q,Z,K){this.subdivConic(this.x,this.y,$,Q,Z,K,0),this.x=Z,this.y=K}subdivConic($,Q,Z,K,J,q,U){if(U>16){this.renderLine(J,q),this.x=J,this.y=q;return}let W=f6($+J-2*Z),H=f6(Q+q-2*K);if(W<H)W=H;if(W<=Z6>>2){this.renderLine(J,q),this.x=J,this.y=q;return}let _=$+Z>>1,N=Q+K>>1,V=Z+J>>1,z=K+q>>1,j=_+V>>1,X=N+z>>1;this.subdivConic($,Q,_,N,j,X,U+1),this.subdivConic(j,X,V,z,J,q,U+1)}cubicTo($,Q,Z,K,J,q){this.subdivCubic(this.x,this.y,$,Q,Z,K,J,q,0),this.x=J,this.y=q}subdivCubic($,Q,Z,K,J,q,U,W,H){if(H>16){this.renderLine(U,W),this.x=U,this.y=W;return}if(f6(2*U-3*J+$)>Z6>>1||f6(2*W-3*q+Q)>Z6>>1||f6(U-3*Z+2*$)>Z6>>1||f6(W-3*K+2*Q)>Z6>>1){let _=$+Z>>1,N=Q+K>>1,V=Z+J>>1,z=K+q>>1,j=J+U>>1,X=q+W>>1,G=_+V>>1,E=N+z>>1,Y=V+j>>1,w=z+X>>1,F=G+Y>>1,A=E+w>>1;this.subdivCubic($,Q,_,N,G,E,F,A,H+1),this.subdivCubic(F,A,Y,w,j,X,U,W,H+1);return}this.renderLine(U,W),this.x=U,this.y=W}sweep($,Q=0){let Z=$.pitch,K=Z<0?($.rows-1)*-Z:0,J=$.width,q=$.rows,U=this.cells.getPool(),W=this.cells.getNullIndex(),H=this.cells.getYCells(),_=this.cells.getBandMinY(),N=H.length;for(let V=0;V<N;V++){let z=H[V];if(z===W)continue;let j=_+V;if(j<0||j>=q)continue;let X=0,G=0,E=Z<0?K-j*-Z:j*Z,Y=z;while(Y!==W){let w=U[Y];if(w.x>G&&X!==0){let D=this.applyFillRule(X>>W6+1,Q);if(D>0){let L=G<0?0:G,R=w.x>J?J:w.x;this.fillSpan($,E,L,R,D)}}X+=w.cover*(Z6*2);let F=X-w.area,A=this.applyFillRule(F>>W6+1,Q);if(A>0&&w.x>=0&&w.x<J)this.setPixel($,E,w.x,A);G=w.x+1,Y=w.next}if(G<J&&X!==0){let w=this.applyFillRule(X>>W6+1,Q);if(w>0)this.fillSpan($,E,G,J,w)}}}applyFillRule($,Q){let Z=$;if(Z<0)Z=-Z;if(Q===1){if(Z&=511,Z>256)Z=512-Z}return Z>255?255:Z}fillSpan($,Q,Z,K,J){if($.pixelMode===1)$.buffer.fill(J,Q+Z,Q+K);else if($.pixelMode===0){if(J>=128)for(let q=Z;q<K;q++){let U=Q+(q>>3),W=7-(q&7);$.buffer[U]|=1<<W}}else if($.pixelMode===2||$.pixelMode===3)for(let q=Z;q<K;q++){let U=Q+q*3;$.buffer[U]=J,$.buffer[U+1]=J,$.buffer[U+2]=J}else if($.pixelMode===4)for(let q=Z;q<K;q++){let U=Q+q*4;$.buffer[U]=0,$.buffer[U+1]=0,$.buffer[U+2]=0,$.buffer[U+3]=J}}setPixel($,Q,Z,K){if($.pixelMode===1)$.buffer[Q+Z]=K;else if($.pixelMode===0){if(K>=128){let J=Q+(Z>>3),q=7-(Z&7);$.buffer[J]|=1<<q}}else if($.pixelMode===2||$.pixelMode===3){let J=Q+Z*3;$.buffer[J]=K,$.buffer[J+1]=K,$.buffer[J+2]=K}else if($.pixelMode===4){let J=Q+Z*4;$.buffer[J]=0,$.buffer[J+1]=0,$.buffer[J+2]=0,$.buffer[J+3]=K}}sweepSpans($,Q=0,Z){let K=this.cells.getYCells(),J=this.cells.getPool(),q=this.cells.getNullIndex(),U=this.cells.getBandMinY();for(let W=0;W<K.length;W++){let H=K[W];if(H===q)continue;let _=U+W,N=[],V=0,z=-1;while(H!==q){let j=J[H];if(V!==0&&j.x>z+1){let E=this.applyFillRule(V>>W6+1,Q);if(E>0)N.push({x:z+1,len:j.x-z-1,coverage:E})}V+=j.cover*(Z6*2);let X=V-j.area,G=this.applyFillRule(X>>W6+1,Q);if(G>0)N.push({x:j.x,len:1,coverage:G});z=j.x,H=j.next}if(N.length>0)$(_,N,Z)}}sweepDirect($,Q=0,Z=0,K=1/0,J){let q=[],U=this.cells.getYCells(),W=this.cells.getPool(),H=this.cells.getNullIndex(),_=this.cells.getBandMinY();for(let N=0;N<U.length;N++){let V=U[N];if(V===H)continue;let z=_+N,j=0,X=Z;while(V!==H){let G=W[V];if(j!==0&&G.x>X){let w=this.applyFillRule(j>>W6+1,Q);if(w>0){if(q.push({x:X,len:G.x-X,coverage:w}),q.length>=WK)$(z,q.splice(0,q.length),J)}}j+=G.cover*(Z6*2);let E=j-G.area,Y=this.applyFillRule(E>>W6+1,Q);if(Y>0&&G.x>=Z&&G.x<K){if(q.push({x:G.x,len:1,coverage:Y}),q.length>=WK)$(z,q.splice(0,q.length),J)}X=G.x+1,V=G.next}if(j!==0&&X<K){let G=this.applyFillRule(j>>W6+1,Q);if(G>0)q.push({x:X,len:Math.min(K,this.maxX+1)-X,coverage:G})}if(q.length>0)$(z,q.splice(0,q.length),J)}}renderWithBands($,Q,Z,K=0){let q=Z.maxY-Z.minY,U=Math.max(1,Math.floor(256));if(q<=U)U=q;let W=Z.minX??0,H=Z.maxX??$.width,_=[];for(let N=Z.minY;N<Z.maxY;N+=U)_.push({minY:N,maxY:Math.min(N+U,Z.maxY),minX:W,maxX:H,depth:0});while(_.length>0){let N=_.pop();if(!N)break;if(this.renderBandWithXClip($,Q,N.minY,N.maxY,N.minX,N.maxX,K))continue;let V=N.depth;if(V>=$4){console.warn(`Rasterizer: band overflow at (${N.minX},${N.minY}), depth limit reached`);continue}let z=V+1,j=N.minX+N.maxX>>1;if(j>N.minX){_.push({minY:N.minY,maxY:N.maxY,minX:j,maxX:N.maxX,depth:z}),_.push({minY:N.minY,maxY:N.maxY,minX:N.minX,maxX:j,depth:z});continue}let X=N.minY+N.maxY>>1;if(X>N.minY){_.push({minY:X,maxY:N.maxY,minX:N.minX,maxX:N.maxX,depth:z}),_.push({minY:N.minY,maxY:X,minX:N.minX,maxX:N.maxX,depth:z});continue}console.warn(`Rasterizer: band overflow at (${N.minX},${N.minY}), cannot bisect further`)}}renderBandWithXClip($,Q,Z,K,J,q,U){this.setClip(J,Z,q,K),this.cells.setBandBounds(Z,K),this.cells.reset(),this.minY=Z,this.maxY=K;try{return Q(),this.sweepBandWithXClip($,Z,K,J,q,U),!0}catch(W){if(W instanceof y8)return!1;throw W}}sweepBandWithXClip($,Q,Z,K,J,q){let U=$.pitch,W=U<0?($.rows-1)*-U:0,H=this.cells.getYCells(),_=this.cells.getPool(),N=this.cells.getNullIndex(),V=this.cells.getBandMinY();for(let z=Q;z<Z;z++){if(z<0||z>=$.rows)continue;let j=z-V;if(j<0||j>=H.length)continue;let X=H[j];if(X===N)continue;let G=0,E=K,Y=U<0?W-z*-U:z*U;while(X!==N){let w=_[X];if(w.x<K){G+=w.cover*(Z6*2),X=w.next;continue}if(w.x>=J){if(G!==0&&E<J){let D=this.applyFillRule(G>>W6+1,q);if(D>0)this.fillSpan($,Y,Math.max(0,E),Math.min($.width,J),D)}break}if(w.x>E&&G!==0){let D=this.applyFillRule(G>>W6+1,q);if(D>0){let L=Math.max(0,E),R=Math.min($.width,w.x);this.fillSpan($,Y,L,R,D)}}G+=w.cover*(Z6*2);let F=G-w.area,A=this.applyFillRule(F>>W6+1,q);if(A>0&&w.x>=0&&w.x<$.width)this.setPixel($,Y,w.x,A);E=w.x+1,X=w.next}if(E<J&&E<$.width&&G!==0){let w=this.applyFillRule(G>>W6+1,q);if(w>0)this.fillSpan($,Y,E,Math.min($.width,J),w)}}}}G6();var _K;((J)=>{J[J.Ok=0]="Ok";J[J.InvalidOutline=1]="InvalidOutline";J[J.InvalidArgument=2]="InvalidArgument";J[J.EmptyOutline=3]="EmptyOutline"})(_K||={});function Q4($,Q=!0){if(!$)return{error:1,message:"Path is null or undefined"};if(!$.commands)return{error:1,message:"Path commands array is missing"};if($.commands.length===0){if(Q)return{error:3};return{error:1,message:"Path is empty"}}let Z=!1,K=!1,J=0;for(let q=0;q<$.commands.length;q++){let U=$.commands[q];switch(U.type){case"M":if(Z=!0,K=!0,J++,!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}: (${U.x}, ${U.y})`};break;case"L":if(!Z)return{error:1,message:`Line command at ${q} without preceding moveTo`};if(!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"Q":if(!Z)return{error:1,message:`Quadratic curve at ${q} without preceding moveTo`};if(!Number.isFinite(U.x1)||!Number.isFinite(U.y1)||!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"C":if(!Z)return{error:1,message:`Cubic curve at ${q} without preceding moveTo`};if(!Number.isFinite(U.x1)||!Number.isFinite(U.y1)||!Number.isFinite(U.x2)||!Number.isFinite(U.y2)||!Number.isFinite(U.x)||!Number.isFinite(U.y))return{error:1,message:`Invalid coordinates at command ${q}`};break;case"Z":K=!1;break;default:return{error:1,message:`Unknown command type at ${q}: ${U.type}`}}}if(J===0&&!Q)return{error:3,message:"No contours in path"};return{error:0}}function Y8($,Q,Z,K=0,J=0,q=!0){let U=0,W=0,H=!1,_=Z*Z6,N=(q?-Z:Z)*Z6,V=K*Z6,z=J*Z6;for(let j=0;j<Q.commands.length;j++){let X=Q.commands[j];switch(X.type){case"M":{if(H)$.lineTo(U,W);let G=Math.round(X.x*_+V),E=Math.round(X.y*N+z);$.moveTo(G,E),U=G,W=E,H=!0;break}case"L":{let G=Math.round(X.x*_+V),E=Math.round(X.y*N+z);$.lineTo(G,E);break}case"Q":{let G=Math.round(X.x1*_+V),E=Math.round(X.y1*N+z),Y=Math.round(X.x*_+V),w=Math.round(X.y*N+z);$.conicTo(G,E,Y,w);break}case"C":{let G=Math.round(X.x1*_+V),E=Math.round(X.y1*N+z),Y=Math.round(X.x2*_+V),w=Math.round(X.y2*N+z),F=Math.round(X.x*_+V),A=Math.round(X.y*N+z);$.cubicTo(G,E,Y,w,F,A);break}case"Z":{if(H)$.lineTo(U,W),H=!1;break}}}if(H)$.lineTo(U,W)}function HK($,Q){if($===0||Q===0)return 0;let Z=1,K=$,J=Q;if(K<0)K=-K,Z=-Z;if(J<0)J=-J,Z=-Z;let q=Math.floor((K*J+32768)/65536);return Z<0?-q:q}function U8($,Q,Z=!0,K=!1){if(K){let q=Math.round(Q*64*65536),U=1/0,W=1/0,H=-1/0,_=-1/0,N=(V,z)=>{let j=HK(V,q),X=HK(z,q);if(j<U)U=j;if(j>H)H=j;if(X<W)W=X;if(X>_)_=X};for(let V of $.commands)switch(V.type){case"M":case"L":N(V.x,V.y);break;case"Q":N(V.x1,V.y1),N(V.x,V.y);break;case"C":N(V.x1,V.y1),N(V.x2,V.y2),N(V.x,V.y);break;default:break}if(!Number.isFinite(U)||!Number.isFinite(W))return null;if(Z){let V=-_,z=-W;return{minX:Math.floor(U/64),minY:Math.floor(V/64),maxX:Math.floor((H+63)/64),maxY:Math.floor((z+63)/64)}}return{minX:Math.floor(U/64),minY:Math.floor(W/64),maxX:Math.floor((H+63)/64),maxY:Math.floor((_+63)/64)}}if(!$.bounds)return null;let J=$.bounds;if(Z)return{minX:Math.floor(J.xMin*Q),minY:Math.floor(-J.yMax*Q),maxX:Math.ceil(J.xMax*Q),maxY:Math.ceil(-J.yMin*Q)};else return{minX:Math.floor(J.xMin*Q),minY:Math.floor(J.yMin*Q),maxX:Math.ceil(J.xMax*Q),maxY:Math.ceil(J.yMax*Q)}}function Z4($,Q=0){if(!$?.flags)return Q;return($.flags&1)!==0?1:0}G6();G6();function b8($,Q,Z){if(Q===0&&Z===0)return U6($);let K=a($.width,$.rows,$.pixelMode);if($.pixelMode===1)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=0;for(let W=-Math.floor(Z);W<=Math.ceil(Z);W++)for(let H=-Math.floor(Q);H<=Math.ceil(Q);H++){let _=q+H,N=J+W;if(_>=0&&_<$.width&&N>=0&&N<$.rows){let V=$.buffer[N*$.pitch+_]??0;U=Math.max(U,V)}}K.buffer[J*K.pitch+q]=U}else if($.pixelMode===0)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=!1;for(let W=-Math.floor(Z);W<=Math.ceil(Z);W++){for(let H=-Math.floor(Q);H<=Math.ceil(Q);H++){let _=q+H,N=J+W;if(_>=0&&_<$.width&&N>=0&&N<$.rows){let V=N*$.pitch+(_>>3),z=7-(_&7);if(($.buffer[V]??0)>>z&1){U=!0;break}}}if(U)break}if(U){let W=J*K.pitch+(q>>3),H=7-(q&7);K.buffer[W]|=1<<H}}else if($.pixelMode===2||$.pixelMode===3)for(let J=0;J<$.rows;J++)for(let q=0;q<$.width;q++){let U=0,W=0,H=0;for(let N=-Math.floor(Z);N<=Math.ceil(Z);N++)for(let V=-Math.floor(Q);V<=Math.ceil(Q);V++){let z=q+V,j=J+N;if(z>=0&&z<$.width&&j>=0&&j<$.rows){let X=j*$.pitch+z*3;U=Math.max(U,$.buffer[X]??0),W=Math.max(W,$.buffer[X+1]??0),H=Math.max(H,$.buffer[X+2]??0)}}let _=J*K.pitch+q*3;K.buffer[_]=U,K.buffer[_+1]=W,K.buffer[_+2]=H}return K}function W8($,Q){if($.pixelMode===Q)return $;let Z=a($.width,$.rows,Q);if($.pixelMode===1&&Q===0){for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++)if(($.buffer[K*$.pitch+J]??0)>=128){let U=K*Z.pitch+(J>>3),W=7-(J&7);Z.buffer[U]|=1<<W}}else if($.pixelMode===0&&Q===1)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+(J>>3),U=7-(J&7),W=($.buffer[q]??0)>>U&1;Z.buffer[K*Z.pitch+J]=W?255:0}else if($.pixelMode===1&&Q===2)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=$.buffer[K*$.pitch+J]??0,U=K*Z.pitch+J*3;Z.buffer[U]=q,Z.buffer[U+1]=q,Z.buffer[U+2]=q}else if($.pixelMode===0&&Q===2)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+(J>>3),U=7-(J&7),H=($.buffer[q]??0)>>U&1?255:0,_=K*Z.pitch+J*3;Z.buffer[_]=H,Z.buffer[_+1]=H,Z.buffer[_+2]=H}else if($.pixelMode===1&&Q===3)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=$.buffer[K*$.pitch+J]??0,U=K*Z.pitch+J*3;Z.buffer[U]=q,Z.buffer[U+1]=q,Z.buffer[U+2]=q}else if($.pixelMode===2&&Q===1)for(let K=0;K<$.rows;K++)for(let J=0;J<$.width;J++){let q=K*$.pitch+J*3,U=$.buffer[q]??0,W=$.buffer[q+1]??0,H=$.buffer[q+2]??0;Z.buffer[K*Z.pitch+J]=Math.floor((U+W+H)/3)}return Z}function f0($,Q,Z,K,J){if($.pixelMode!==1||Q.pixelMode!==1)return;J=Math.max(0,Math.min(1,J));let q=Math.max(0,-Z),U=Math.max(0,-K),W=Math.min(Q.width,$.width-Z),H=Math.min(Q.rows,$.rows-K);for(let _=U;_<H;_++)for(let N=q;N<W;N++){let V=Z+N,z=K+_;if(V>=0&&V<$.width&&z>=0&&z<$.rows){let j=Q.buffer[_*Q.pitch+N]??0,G=($.buffer[z*$.pitch+V]??0)+j*J;$.buffer[z*$.pitch+V]=Math.min(255,Math.floor(G))}}}function U6($){return{buffer:new Uint8Array($.buffer),width:$.width,rows:$.rows,pitch:$.pitch,pixelMode:$.pixelMode,numGrays:$.numGrays}}function g8($,Q,Z){let K=a(Q,Z,$.pixelMode),J=$.width/Q,q=$.rows/Z;if($.pixelMode===1)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),_=Math.floor(U*q);K.buffer[U*K.pitch+W]=$.buffer[_*$.pitch+H]??0}else if($.pixelMode===0)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),N=Math.floor(U*q)*$.pitch+(H>>3),V=7-(H&7);if(($.buffer[N]??0)>>V&1){let j=U*K.pitch+(W>>3),X=7-(W&7);K.buffer[j]|=1<<X}}else if($.pixelMode===2||$.pixelMode===3)for(let U=0;U<Z;U++)for(let W=0;W<Q;W++){let H=Math.floor(W*J),N=Math.floor(U*q)*$.pitch+H*3,V=U*K.pitch+W*3;K.buffer[V]=$.buffer[N]??0,K.buffer[V+1]=$.buffer[N+1]??0,K.buffer[V+2]=$.buffer[N+2]??0}return K}function $9($,Q,Z){let K=a(Q,Z,$.pixelMode),J=($.width-1)/Math.max(1,Q-1),q=($.rows-1)/Math.max(1,Z-1);if($.pixelMode===1)for(let U=0;U<Z;U++){let W=U*q,H=Math.floor(W),_=Math.min(H+1,$.rows-1),N=W-H;for(let V=0;V<Q;V++){let z=V*J,j=Math.floor(z),X=Math.min(j+1,$.width-1),G=z-j,E=$.buffer[H*$.pitch+j]??0,Y=$.buffer[H*$.pitch+X]??0,w=$.buffer[_*$.pitch+j]??0,F=$.buffer[_*$.pitch+X]??0,A=E+(Y-E)*G,D=w+(F-w)*G,L=A+(D-A)*N;K.buffer[U*K.pitch+V]=Math.round(L)}}else if($.pixelMode===0)return g8($,Q,Z);else if($.pixelMode===2||$.pixelMode===3)for(let U=0;U<Z;U++){let W=U*q,H=Math.floor(W),_=Math.min(H+1,$.rows-1),N=W-H;for(let V=0;V<Q;V++){let z=V*J,j=Math.floor(z),X=Math.min(j+1,$.width-1),G=z-j,E=H*$.pitch+j*3,Y=H*$.pitch+X*3,w=_*$.pitch+j*3,F=_*$.pitch+X*3;for(let A=0;A<3;A++){let D=$.buffer[E+A]??0,L=$.buffer[Y+A]??0,R=$.buffer[w+A]??0,B=$.buffer[F+A]??0,v=D+(L-D)*G,T=R+(B-R)*G,g=v+(T-v)*N;K.buffer[U*K.pitch+V*3+A]=Math.round(g)}}}return K}function T$($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let z=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.min(255,z+j)}}}function O$($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let z=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.floor((z*j+127)/255)}}}function l0($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let z=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.max(0,j-z)}}}function P$($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let z=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0,X=z+Math.floor((j*(255-z)+127)/255);$.buffer[_*$.pitch+V]=Math.min(255,X)}}}function f9($,Q,Z){let K=a($.width,$.rows,$.pixelMode);if($.pixelMode===1)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;K.buffer[J*K.pitch+U]=$.buffer[q*$.pitch+W]??0}}else if($.pixelMode===0)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;let H=q*$.pitch+(W>>3),_=7-(W&7);if(($.buffer[H]??0)>>_&1){let V=J*K.pitch+(U>>3),z=7-(U&7);K.buffer[V]|=1<<z}}}else if($.pixelMode===2||$.pixelMode===3)for(let J=0;J<$.rows;J++){let q=J-Z;if(q<0||q>=$.rows)continue;for(let U=0;U<$.width;U++){let W=U-Q;if(W<0||W>=$.width)continue;let H=q*$.pitch+W*3,_=J*K.pitch+U*3;K.buffer[_]=$.buffer[H]??0,K.buffer[_+1]=$.buffer[H+1]??0,K.buffer[_+2]=$.buffer[H+2]??0}}return K}function NK($,Q,Z=0,K=0,J=128){if($.pixelMode!==1||Q.pixelMode!==1)return;let q=Math.max(0,-Z),U=Math.max(0,-K),W=Math.min(Q.width,$.width-Z),H=Math.min(Q.rows,$.rows-K);for(let _=U;_<H;_++){let N=K+_;if(N<0||N>=$.rows)continue;for(let V=q;V<W;V++){let z=Z+V;if(z<0||z>=$.width)continue;if((Q.buffer[_*Q.pitch+V]??0)>=J)$.buffer[N*$.pitch+z]=0}}}function v$($,Q,Z=0,K=0){if($.pixelMode!==1||Q.pixelMode!==1)return;let J=Math.max(0,-Z),q=Math.max(0,-K),U=Math.min(Q.width,$.width-Z),W=Math.min(Q.rows,$.rows-K);for(let H=q;H<W;H++){let _=K+H;if(_<0||_>=$.rows)continue;for(let N=J;N<U;N++){let V=Z+N;if(V<0||V>=$.width)continue;let z=Q.buffer[H*Q.pitch+N]??0,j=$.buffer[_*$.pitch+V]??0;$.buffer[_*$.pitch+V]=Math.max(z,j)}}}function Q9($,Q,Z,K,J){let q=$.width+Q+K,U=$.rows+Z+J,W=a(q,U,$.pixelMode);if($.pixelMode===1)for(let H=0;H<$.rows;H++)for(let _=0;_<$.width;_++)W.buffer[(H+Z)*W.pitch+(_+Q)]=$.buffer[H*$.pitch+_]??0;else if($.pixelMode===2||$.pixelMode===3)for(let H=0;H<$.rows;H++)for(let _=0;_<$.width;_++){let N=H*$.pitch+_*3,V=(H+Z)*W.pitch+(_+Q)*3;W.buffer[V]=$.buffer[N]??0,W.buffer[V+1]=$.buffer[N+1]??0,W.buffer[V+2]=$.buffer[N+2]??0}return W}function K4($,Q,Z,K){let{width:U,rows:W}=$,H=Z,_=K,N=Z+Q.width,V=K+Q.rows,z=Math.min(0,H),j=Math.min(0,_),X=Math.max(U,N),G=Math.max(W,V),E=X-z,Y=G-j,w=a(E,Y,$.pixelMode),F=0-z,A=0-j,D=H-z,L=_-j;if($.pixelMode===1)for(let R=0;R<$.rows;R++)for(let B=0;B<$.width;B++)w.buffer[(R+A)*w.pitch+(B+F)]=$.buffer[R*$.pitch+B]??0;return{expanded:w,dstOffsetX:F,dstOffsetY:A,srcOffsetX:D,srcOffsetY:L}}function x9($,Q){let Z=$.pitch,K=Math.abs(Z);return(Z<0?($.rows-1)*K:0)+Q*Z}function x0($,Q,Z,K){if(Q<0||Z<0||Q>=$.width||Z>=$.rows)return 0;let J=x9($,Z);switch($.pixelMode){case 1:return $.buffer[J+Q]??0;case 0:{let q=J+(Q>>3),U=7-(Q&7);return($.buffer[q]??0)>>U&1?255:0}case 2:case 3:{let q=J+Q*3+K;return $.buffer[q]??0}case 4:{let q=J+Q*4+K;return $.buffer[q]??0}}}function VK($,Q,Z,K,J){let q=Math.floor(Q),U=Math.floor(Z),W=q+1,H=U+1,_=Q-q,N=Z-U,V=(1-_)*(1-N),z=_*(1-N),j=(1-_)*N,X=_*N;for(let G=0;G<K;G++){let E=x0($,q,U,G),Y=x0($,W,U,G),w=x0($,q,H,G),F=x0($,W,H,G),A=E*V+Y*z+w*j+F*X;J[G]=Math.min(255,Math.max(0,Math.round(A)))}}function J4($){let[Q,Z,K,J,q,U]=$,W=Q*J-Z*K;if(W===0)return null;let H=J/W,_=-Z/W,N=-K/W,V=Q/W,z=(K*U-J*q)/W,j=(Z*q-Q*U)/W;return{inv:[H,_,N,V,z,j],det:W}}function q4($){let Q=$[0][0],Z=$[0][1],K=$[0][2],J=$[1][0],q=$[1][1],U=$[1][2],W=$[2][0],H=$[2][1],_=$[2][2],N=q*_-U*H,V=K*H-Z*_,z=Z*U-K*q,j=U*W-J*_,X=Q*_-K*W,G=K*J-Q*U,E=J*H-q*W,Y=Z*W-Q*H,w=Q*q-Z*J,F=Q*N+Z*j+K*E;if(F===0)return null;let A=1/F;return[[N*A,V*A,z*A],[j*A,X*A,G*A],[E*A,Y*A,w*A]]}function u9($,Q,Z){let K=Z[2][0]*$+Z[2][1]*Q+Z[2][2],J=0.000001,q=Math.abs(K)<0.000001?K<0?-0.000001:0.000001:K;return{x:(Z[0][0]*$+Z[0][1]*Q+Z[0][2])/q,y:(Z[1][0]*$+Z[1][1]*Q+Z[1][2])/q}}function U4($,Q,Z=0,K=0){l0($,Q,Z,K)}function W4($,Q,Z=0,K=0,J=128){NK($,Q,Z,K,J)}function I$($,Q,Z){let K=1/0,J=-1/0;for(let W=0;W<$.rows;W++)for(let H=0;H<$.width;H++){let _=!1;switch($.pixelMode){case 1:{let N=x9($,W);_=($.buffer[N+H]??0)>0;break}case 0:{let V=x9($,W)+(H>>3),z=7-(H&7);_=(($.buffer[V]??0)>>z&1)===1;break}case 2:case 3:{let V=x9($,W)+H*3;_=($.buffer[V]??0)>0||($.buffer[V+1]??0)>0||($.buffer[V+2]??0)>0;break}case 4:{let V=x9($,W)+H*4;_=($.buffer[V+3]??0)>0;break}}if(_)K=Math.min(K,W),J=Math.max(J,W)}if(!Number.isFinite(K)||!Number.isFinite(J))return{ascent:0,descent:0};let q=Z-K,U=J+1-Z;return{ascent:q,descent:U}}function k$($,Q){let Z=Q.blur??0,K=Q.be??0,J=Q.border??0,q=Q.shadowX??0,U=Q.shadowY??0,W=Math.ceil(Z+K+J),H=W+Math.max(0,-q),_=W+Math.max(0,q),N=W+Math.max(0,-U),V=W+Math.max(0,U);return{width:$.width+H+_,height:$.height+N+V,bearingX:$.bearingX-H,bearingY:$.bearingY+N,ascent:$.ascent+N,descent:$.descent+V,padLeft:H,padRight:_,padTop:N,padBottom:V}}function l9($,Q,Z,K,J){let q=Math.max(0,Math.ceil(K)),U=Math.max(0,Math.ceil(J)),W=Q9($,q,U,q,U);return{bitmap:b8(W,K,J),bearingX:Q-q,bearingY:Z+U}}function r6($,Q,Z={}){let K=Z.bearingX??0,J=Z.bearingY??0,q=(Z.offsetX26??0)/64,U=(Z.offsetY26??0)/64,[W,H,_,N,V,z]=Q,j=[W,H,_,N,V+q,z+U],X=K,G=J,E=X+$.width,Y=G-$.rows,w=[{x:j[0]*X+j[2]*G+j[4],y:j[1]*X+j[3]*G+j[5]},{x:j[0]*E+j[2]*G+j[4],y:j[1]*E+j[3]*G+j[5]},{x:j[0]*X+j[2]*Y+j[4],y:j[1]*X+j[3]*Y+j[5]},{x:j[0]*E+j[2]*Y+j[4],y:j[1]*E+j[3]*Y+j[5]}],F=1/0,A=-1/0,D=1/0,L=-1/0;for(let S of w)F=Math.min(F,S.x),A=Math.max(A,S.x),D=Math.min(D,S.y),L=Math.max(L,S.y);if(!Number.isFinite(F)||!Number.isFinite(D))return{bitmap:a(1,1,$.pixelMode),bearingX:0,bearingY:0};let R=Math.floor(F),B=Math.ceil(A),v=Math.floor(D),T=Math.ceil(L),g=Math.max(1,B-R),P=Math.max(1,T-v),f=a(g,P,$.pixelMode),l=J4(j);if(!l)return{bitmap:f,bearingX:R,bearingY:T};let C=l.inv,O=$.pixelMode===2||$.pixelMode===3?3:$.pixelMode===4?4:1,h=Array(O).fill(0);for(let S=0;S<P;S++)for(let d=0;d<g;d++){let o=R+d+0.5,n=T-S-0.5,e=C[0]*o+C[2]*n+C[4],u=C[1]*o+C[3]*n+C[5],N6=e-K-0.5,y=J-u-0.5;if(VK($,N6,y,O,h),$.pixelMode===0){if((h[0]??0)>=128){let m=S*f.pitch+(d>>3),A6=7-(d&7);f.buffer[m]|=1<<A6}}else if($.pixelMode===1)f.buffer[S*f.pitch+d]=h[0]??0;else if($.pixelMode===2||$.pixelMode===3){let t=S*f.pitch+d*3;f.buffer[t]=h[0]??0,f.buffer[t+1]=h[1]??0,f.buffer[t+2]=h[2]??0}else if($.pixelMode===4){let t=S*f.pitch+d*4;f.buffer[t]=h[0]??0,f.buffer[t+1]=h[1]??0,f.buffer[t+2]=h[2]??0,f.buffer[t+3]=h[3]??0}}return{bitmap:f,bearingX:R,bearingY:T}}function w8($,Q,Z={}){let K=Z.bearingX??0,J=Z.bearingY??0,q=(Z.offsetX26??0)/64,U=(Z.offsetY26??0)/64,W=[[Q[0][0],Q[0][1],Q[0][2]+q],[Q[1][0],Q[1][1],Q[1][2]+U],[Q[2][0],Q[2][1],Q[2][2]]],H=K,_=J,N=H+$.width,V=_-$.rows,z=[u9(H,_,W),u9(N,_,W),u9(H,V,W),u9(N,V,W)],j=1/0,X=-1/0,G=1/0,E=-1/0;for(let g of z)j=Math.min(j,g.x),X=Math.max(X,g.x),G=Math.min(G,g.y),E=Math.max(E,g.y);if(!Number.isFinite(j)||!Number.isFinite(G))return{bitmap:a(1,1,$.pixelMode),bearingX:0,bearingY:0};let Y=Math.floor(j),w=Math.ceil(X),F=Math.floor(G),A=Math.ceil(E),D=Math.max(1,w-Y),L=Math.max(1,A-F),R=a(D,L,$.pixelMode),B=q4(W);if(!B)return{bitmap:R,bearingX:Y,bearingY:A};let v=$.pixelMode===2||$.pixelMode===3?3:$.pixelMode===4?4:1,T=Array(v).fill(0);for(let g=0;g<L;g++)for(let P=0;P<D;P++){let f=Y+P+0.5,l=A-g-0.5,C=u9(f,l,B),O=C.x-K-0.5,h=J-C.y-0.5;if(VK($,O,h,v,T),$.pixelMode===0){if((T[0]??0)>=128){let d=g*R.pitch+(P>>3),o=7-(P&7);R.buffer[d]|=1<<o}}else if($.pixelMode===1)R.buffer[g*R.pitch+P]=T[0]??0;else if($.pixelMode===2||$.pixelMode===3){let S=g*R.pitch+P*3;R.buffer[S]=T[0]??0,R.buffer[S+1]=T[1]??0,R.buffer[S+2]=T[2]??0}else if($.pixelMode===4){let S=g*R.pitch+P*4;R.buffer[S]=T[0]??0,R.buffer[S+1]=T[1]??0,R.buffer[S+2]=T[2]??0,R.buffer[S+3]=T[3]??0}}return{bitmap:R,bearingX:Y,bearingY:A}}function Z9($,Q,Z={}){return r6($,[1,0,Q,1,0,0],Z)}function K9($,Q,Z={}){return r6($,[1,Q,0,1,0,0],Z)}function zK($){if(!$.commands||$.commands.length===0)return null;let Q=1/0,Z=1/0,K=-1/0,J=-1/0,q=0,U=0,W=!1,H=(_,N)=>{Q=Math.min(Q,_),Z=Math.min(Z,N),K=Math.max(K,_),J=Math.max(J,N),W=!0};for(let _=0;_<$.commands.length;_++){let N=$.commands[_];switch(N.type){case"M":{q=N.x,U=N.y,H(q,U);break}case"L":{q=N.x,U=N.y,H(q,U);break}case"Q":{H(N.x,N.y);let V=C$(q,N.x1,N.x);for(let G=0;G<V.length;G++){let E=V[G],Y=d9(q,N.x1,N.x,E);H(Y,U)}let z=C$(U,N.y1,N.y);for(let G=0;G<z.length;G++){let E=z[G],Y=d9(U,N.y1,N.y,E);H(q,Y)}let X=[...new Set([...V,...z])];for(let G=0;G<X.length;G++){let E=X[G],Y=d9(q,N.x1,N.x,E),w=d9(U,N.y1,N.y,E);H(Y,w)}q=N.x,U=N.y;break}case"C":{H(N.x,N.y);let V=S$(q,N.x1,N.x2,N.x);for(let G=0;G<V.length;G++){let E=V[G],Y=n9(q,N.x1,N.x2,N.x,E);H(Y,U)}let z=S$(U,N.y1,N.y2,N.y);for(let G=0;G<z.length;G++){let E=z[G],Y=n9(U,N.y1,N.y2,N.y,E);H(q,Y)}let X=[...new Set([...V,...z])];for(let G=0;G<X.length;G++){let E=X[G],Y=n9(q,N.x1,N.x2,N.x,E),w=n9(U,N.y1,N.y2,N.y,E);H(Y,w)}q=N.x,U=N.y;break}case"Z":break}}if(!W)return null;return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function C$($,Q,Z){let K=$-2*Q+Z;if(Math.abs(K)<0.0000000001)return[];let J=($-Q)/K;if(J>0&&J<1)return[J];return[]}function S$($,Q,Z,K){let J=3*(K-3*Z+3*Q-$),q=6*(Z-2*Q+$),U=3*(Q-$),W=[];if(Math.abs(J)<0.0000000001){if(Math.abs(q)<0.0000000001)return[];let z=-U/q;if(z>0&&z<1)W.push(z);return W}let H=q*q-4*J*U;if(H<0)return[];if(Math.abs(H)<0.0000000001){let z=-q/(2*J);if(z>0&&z<1)W.push(z);return W}let _=Math.sqrt(H),N=(-q+_)/(2*J),V=(-q-_)/(2*J);if(N>0&&N<1)W.push(N);if(V>0&&V<1)W.push(V);return W}function d9($,Q,Z,K){let J=1-K;return J*J*$+2*J*K*Q+K*K*Z}function n9($,Q,Z,K,J){let q=1-J,U=q*q,W=J*J;return U*q*$+3*U*J*Q+3*q*W*Z+W*J*K}G6();function h$($){if($<=0)return new Float32Array([1]);let Q=$,Z=Math.ceil($*2)*2+1,K=new Float32Array(Z),J=Math.floor(Z/2),q=0;for(let U=0;U<Z;U++){let W=U-J,H=Math.exp(-(W*W)/(2*Q*Q));K[U]=H,q+=H}for(let U=0;U<Z;U++)K[U]/=q;return K}function H4($,Q,Z,K,J,q,U,W){let H=Math.floor(U.length/2);for(let _=0;_<K;_++)for(let N=0;N<Z;N++)for(let V=0;V<W;V++){let z=0;for(let X=0;X<U.length;X++){let G=N+X-H,E=Math.max(0,Math.min(Z-1,G)),Y=_*J+E*W+V;z+=($[Y]??0)*U[X]}let j=_*q+N*W+V;Q[j]=Math.min(255,Math.max(0,Math.round(z)))}}function _4($,Q,Z,K,J,q,U,W){let H=Math.floor(U.length/2);for(let _=0;_<K;_++)for(let N=0;N<Z;N++)for(let V=0;V<W;V++){let z=0;for(let X=0;X<U.length;X++){let G=_+X-H,Y=Math.max(0,Math.min(K-1,G))*J+N*W+V;z+=($[Y]??0)*U[X]}let j=_*q+N*W+V;Q[j]=Math.min(255,Math.max(0,Math.round(z)))}}function c6($,Q){if($.pixelMode===0){let q=W8($,1);return c6(q,Q)}if(Q<=0)return $;let Z=h$(Q),K=1;if($.pixelMode===2||$.pixelMode===3)K=3;else if($.pixelMode===4)K=4;let J=new Uint8Array($.buffer.length);return H4($.buffer,J,$.width,$.rows,$.pitch,$.pitch,Z,K),_4(J,$.buffer,$.width,$.rows,$.pitch,$.pitch,Z,K),$}function A8($,Q){if($.pixelMode===0){let U=W8($,1);return A8(U,Q)}if(Q<=0)return $;let Z=1;if($.pixelMode===2||$.pixelMode===3)Z=3;else if($.pixelMode===4)Z=4;let K=Math.floor(Q),J=K*2+1,q=new Uint8Array($.buffer.length);for(let U=0;U<$.rows;U++)for(let W=0;W<Z;W++){let H=0,_=0;for(let V=-K;V<=K;V++)if(V>=0&&V<$.width){let z=U*$.pitch+V*Z+W;H+=$.buffer[z]??0,_++}let N=U*$.pitch+0*Z+W;q[N]=Math.round(H/_);for(let V=1;V<$.width;V++){let z=V-K-1;if(z>=0){let G=U*$.pitch+z*Z+W;H-=$.buffer[G]??0,_--}let j=V+K;if(j<$.width){let G=U*$.pitch+j*Z+W;H+=$.buffer[G]??0,_++}let X=U*$.pitch+V*Z+W;q[X]=Math.round(H/_)}}for(let U=0;U<$.width;U++)for(let W=0;W<Z;W++){let H=0,_=0;for(let V=-K;V<=K;V++)if(V>=0&&V<$.rows){let z=V*$.pitch+U*Z+W;H+=q[z]??0,_++}let N=0*$.pitch+U*Z+W;$.buffer[N]=Math.round(H/_);for(let V=1;V<$.rows;V++){let z=V-K-1;if(z>=0){let G=z*$.pitch+U*Z+W;H-=q[G]??0,_--}let j=V+K;if(j<$.rows){let G=j*$.pitch+U*Z+W;H+=q[G]??0,_++}let X=V*$.pitch+U*Z+W;$.buffer[X]=Math.round(H/_)}}return $}function jK($,Q,Z="gaussian"){if(Z==="box")return A8($,Q);else return c6($,Q)}G6();function N4($,Q,Z){return[Math.round($[0]+(Q[0]-$[0])*Z),Math.round($[1]+(Q[1]-$[1])*Z),Math.round($[2]+(Q[2]-$[2])*Z),Math.round($[3]+(Q[3]-$[3])*Z)]}function d0($,Q,Z){if($.stops.length===0)return[0,0,0,0];if($.stops.length===1)return $.stops[0].color;let K;if($.type==="linear"){let q=$.x1-$.x0,U=$.y1-$.y0,W=q*q+U*U;if(W===0)return $.stops[0].color;let H=Q-$.x0,_=Z-$.y0;K=(H*q+_*U)/W}else{let q=Q-$.cx,U=Z-$.cy,W=Math.sqrt(q*q+U*U);K=$.radius>0?W/$.radius:0}K=Math.max(0,Math.min(1,K));let J=[...$.stops].sort((q,U)=>q.offset-U.offset);if(K<=J[0].offset)return J[0].color;if(K>=J[J.length-1].offset)return J[J.length-1].color;for(let q=0;q<J.length-1;q++){let U=J[q],W=J[q+1];if(K>=U.offset&&K<=W.offset){let H=W.offset-U.offset;if(H===0)return W.color;let _=(K-U.offset)/H;return N4(U.color,W.color,_)}}return J[J.length-1].color}function n0($,Q,Z){let K=a($,Q,4);for(let J=0;J<Q;J++)for(let q=0;q<$;q++){let U=d0(Z,q,J),W=(J*$+q)*4;K.buffer[W]=U[0],K.buffer[W+1]=U[1],K.buffer[W+2]=U[2],K.buffer[W+3]=U[3]}return K}function J9($,Q,Z){let{width:K,height:J}=Z,q=t6($,{...Z,pixelMode:1,flipY:Z.flipY??!1}),U=a(K,J,4);for(let W=0;W<J;W++)for(let H=0;H<K;H++){let _=q.buffer[W*q.pitch+H]??0;if(_>0){let N=d0(Q,H,W),V=(W*K+H)*4,z=N[3]*_/255;U.buffer[V]=N[0],U.buffer[V+1]=N[1],U.buffer[V+2]=N[2],U.buffer[V+3]=Math.round(z)}}return U}G6();function m8($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,flipY:W=!1,spread:H=8}=Q,_=a(Z,K,1),N=V4($,J,q,U,W);if(N.length===0)return _.buffer.fill(0),_;for(let V=0;V<K;V++)for(let z=0;z<Z;z++){let j=z+0.5,X=V+0.5,G=1/0;for(let A=0;A<N.length;A++){let D=N[A],L=z4(j,X,D);G=Math.min(G,L)}let w=128+(E4(j,X,N)?G:-G)/H*127,F=Math.max(0,Math.min(255,Math.round(w)));_.buffer[V*_.pitch+z]=F}return _}function V4($,Q,Z,K,J){let q=[],U=null,W=null,H=(_,N)=>({x:_*Q+Z,y:J?-(N*Q)+K:N*Q+K});for(let _=0;_<$.commands.length;_++){let N=$.commands[_];switch(N.type){case"M":U=H(N.x,N.y),W=U;break;case"L":if(U){let V=H(N.x,N.y);q.push({type:"line",p0:U,p1:V}),U=V}break;case"Q":if(U){let V=H(N.x1,N.y1),z=H(N.x,N.y);q.push({type:"quadratic",p0:U,p1:V,p2:z}),U=z}break;case"C":if(U){let V=H(N.x1,N.y1),z=H(N.x2,N.y2),j=H(N.x,N.y);q.push({type:"cubic",p0:U,p1:V,p2:z,p3:j}),U=j}break;case"Z":if(U&&W){if(Math.abs(U.x-W.x)>0.001||Math.abs(U.y-W.y)>0.001)q.push({type:"line",p0:U,p1:W});U=W}break}}return q}function z4($,Q,Z){switch(Z.type){case"line":return j4($,Q,Z.p0,Z.p1);case"quadratic":return X4($,Q,Z.p0,Z.p1,Z.p2);case"cubic":return G4($,Q,Z.p0,Z.p1,Z.p2,Z.p3)}}function j4($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0001){let z=$-Z.x,j=Q-Z.y;return Math.sqrt(z*z+j*j)}let W=(($-Z.x)*J+(Q-Z.y)*q)/U;W=Math.max(0,Math.min(1,W));let H=Z.x+W*J,_=Z.y+W*q,N=$-H,V=Q-_;return Math.sqrt(N*N+V*V)}function X4($,Q,Z,K,J){let q=1/0,U=32;for(let W=0;W<=U;W++){let H=W/U,_=1-H,N=_*_*Z.x+2*_*H*K.x+H*H*J.x,V=_*_*Z.y+2*_*H*K.y+H*H*J.y,z=$-N,j=Q-V,X=Math.sqrt(z*z+j*j);q=Math.min(q,X)}return q}function G4($,Q,Z,K,J,q){let U=1/0,W=32;for(let H=0;H<=W;H++){let _=H/W,N=1-_,V=N*N*N*Z.x+3*N*N*_*K.x+3*N*_*_*J.x+_*_*_*q.x,z=N*N*N*Z.y+3*N*N*_*K.y+3*N*_*_*J.y+_*_*_*q.y,j=$-V,X=Q-z,G=Math.sqrt(j*j+X*X);U=Math.min(U,G)}return U}function E4($,Q,Z){let K=0;for(let J=0;J<Z.length;J++){let q=Z[J],U=Y4(q);for(let W=0;W<U.length-1;W++){let H=U[W],_=U[W+1];if(!H||!_)continue;if(H.y>Q!==_.y>Q){let N=(_.x-H.x)/(_.y-H.y),V=H.x+N*(Q-H.y);if($<V)K++}}}return(K&1)===1}function Y4($){switch($.type){case"line":return[$.p0,$.p1];case"quadratic":{let Q=[$.p0],Z=16;for(let K=1;K<=16;K++){let J=K/16,q=1-J;Q.push({x:q*q*$.p0.x+2*q*J*$.p1.x+J*J*$.p2.x,y:q*q*$.p0.y+2*q*J*$.p1.y+J*J*$.p2.y})}return Q}case"cubic":{let Q=[$.p0],Z=16;for(let K=1;K<=16;K++){let J=K/16,q=1-J;Q.push({x:q*q*q*$.p0.x+3*q*q*J*$.p1.x+3*q*J*J*$.p2.x+J*J*J*$.p3.x,y:q*q*q*$.p0.y+3*q*q*J*$.p1.y+3*q*J*J*$.p2.y+J*J*J*$.p3.y})}return Q}}}function y$($){let Q=Math.sqrt($.x*$.x+$.y*$.y);if(Q===0)return{x:0,y:0};return{x:$.x/Q,y:$.y/Q}}function l6($){return{x:-$.y,y:$.x}}function w4($,Q){let Z=$.x*Q.x+$.y*Q.y,K=$.x*Q.y-$.y*Q.x;return Math.atan2(K,Z)}function XK($,Q,Z,K,J){let q=l6(Z),U={x:Q.x+q.x*K*(J?1:-1),y:Q.y+q.y*K*(J?1:-1)},W={x:Q.x-q.x*K*(J?1:-1),y:Q.y-q.y*K*(J?1:-1)},H={x:Q.x+Z.x*K,y:Q.y+Z.y*K},_={x:U.x+Z.x*K*0.5523,y:U.y+Z.y*K*0.5523},N={x:W.x+Z.x*K*0.5523,y:W.y+Z.y*K*0.5523};$.push({type:"Q",x1:_.x,y1:_.y,x:H.x,y:H.y}),$.push({type:"Q",x1:N.x,y1:N.y,x:W.x,y:W.y})}function GK($,Q,Z,K){let J=l6(Z),q={x:Q.x+Z.x*K,y:Q.y+Z.y*K},U={x:q.x+J.x*K,y:q.y+J.y*K},W={x:q.x-J.x*K,y:q.y-J.y*K};$.push({type:"L",x:U.x,y:U.y}),$.push({type:"L",x:W.x,y:W.y})}function p0($,Q,Z,K,J,q,U,W){let H=w4(Z,K),_=W?H<0:H>0;if(Math.abs(H)<0.01)return;let N=l6(Z),V=l6(K),z=W?1:-1,j={x:Q.x+N.x*J*z,y:Q.y+N.y*J*z},X={x:Q.x+V.x*J*z,y:Q.y+V.y*J*z};if(!_){$.push({type:"L",x:X.x,y:X.y});return}switch(q){case"round":{let G=Math.abs(H),E=Math.max(2,Math.ceil(G/(Math.PI/4)));for(let Y=1;Y<=E;Y++){let w=Y/E,F=Math.atan2(N.y,N.x)+H*w*z,A=Q.x+Math.cos(F)*J*z,D=Q.y+Math.sin(F)*J*z;$.push({type:"L",x:A,y:D})}break}case"miter":{if(1/Math.sin(Math.abs(H)/2)<=U){let E=H/2,Y=y$({x:Z.x+K.x,y:Z.y+K.y}),w=J/Math.cos(E),F={x:Q.x+Y.x*w*z,y:Q.y+Y.y*w*z};$.push({type:"L",x:F.x,y:F.y}),$.push({type:"L",x:X.x,y:X.y})}else $.push({type:"L",x:X.x,y:X.y});break}default:$.push({type:"L",x:X.x,y:X.y});break}}function A4($,Q){if($.length<2)return[];let{width:Z,lineJoin:K,miterLimit:J}=Q,q=Z/2,U=[],W=$.length,H=[];for(let E=0;E<W;E++){let Y=$[E],w=$[(E+1)%W];if(!Y||!w)continue;H.push(y$({x:w.x-Y.x,y:w.y-Y.y}))}let _=H[0],N=$[0];if(!_||!N)return[];let V=l6(_);U.push({type:"M",x:N.x+V.x*q,y:N.y+V.y*q});for(let E=0;E<W;E++){let Y=$[E],w=$[(E+1)%W],F=H[E],A=H[(E+1)%W];if(!Y||!w||!F||!A)continue;let D=l6(F);U.push({type:"L",x:w.x+D.x*q,y:w.y+D.y*q}),p0(U,w,F,A,q,K,J,!0)}U.push({type:"Z"});let z=W-1,j=H[z],X=$[0];if(!j||!X)return U;let G=l6(_);U.push({type:"M",x:N.x-G.x*q,y:N.y-G.y*q});for(let E=0;E<W;E++){let Y=$[E],w=$[(E+1)%W],F=H[E],A=H[(E+1)%W];if(!Y||!w||!F||!A)continue;let D=l6(F);U.push({type:"L",x:w.x-D.x*q,y:w.y-D.y*q}),p0(U,w,F,A,q,K,J,!1)}return U.push({type:"Z"}),U}function F4($,Q){if($.length<2)return[];let{width:Z,lineCap:K,lineJoin:J,miterLimit:q}=Q,U=Z/2,W=[],H=$.length,_=[];for(let Y=0;Y<H-1;Y++){let w=$[Y],F=$[Y+1];if(!w||!F)continue;_.push(y$({x:F.x-w.x,y:F.y-w.y}))}let N=$[0],V=$[H-1],z=_[0],j=_[_.length-1];if(!N||!V||!z||!j)return[];let X=l6(z);W.push({type:"M",x:N.x+X.x*U,y:N.y+X.y*U});for(let Y=0;Y<H-1;Y++){let w=$[Y+1],F=_[Y],A=_[Y+1];if(!w||!F)continue;let D=l6(F);if(W.push({type:"L",x:w.x+D.x*U,y:w.y+D.y*U}),A)p0(W,w,F,A,U,J,q,!0)}let G={x:-j.x,y:-j.y};switch(K){case"round":XK(W,V,j,U,!0);break;case"square":GK(W,V,j,U);break;default:{let Y=l6(j);W.push({type:"L",x:V.x-Y.x*U,y:V.y-Y.y*U});break}}for(let Y=H-2;Y>=0;Y--){let w=$[Y],F=_[Y],A=_[Y-1];if(!w||!F)continue;let D=l6(F);if(W.push({type:"L",x:w.x-D.x*U,y:w.y-D.y*U}),A)p0(W,w,{x:-F.x,y:-F.y},{x:-A.x,y:-A.y},U,J,q,!0)}let E={x:-z.x,y:-z.y};switch(K){case"round":XK(W,N,E,U,!0);break;case"square":GK(W,N,E,U);break;default:break}return W.push({type:"Z"}),W}function L4($){let Q=[],Z=[];for(let K=0;K<$.commands.length;K++){let J=$.commands[K];switch(J.type){case"M":if(Z.length>0)Q.push({points:Z,closed:!1});Z=[{x:J.x,y:J.y}];break;case"L":Z.push({x:J.x,y:J.y});break;case"Q":{let q=Z[Z.length-1];if(q)for(let W=1;W<=8;W++){let H=W/8,_=1-H,N=_*_*q.x+2*_*H*J.x1+H*H*J.x,V=_*_*q.y+2*_*H*J.y1+H*H*J.y;Z.push({x:N,y:V})}break}case"C":{let q=Z[Z.length-1];if(q)for(let W=1;W<=12;W++){let H=W/12,_=1-H,N=_*_*_*q.x+3*_*_*H*J.x1+3*_*H*H*J.x2+H*H*H*J.x,V=_*_*_*q.y+3*_*_*H*J.y1+3*_*H*H*J.y2+H*H*H*J.y;Z.push({x:N,y:V})}break}case"Z":if(Z.length>0)Q.push({points:Z,closed:!0}),Z=[];break}}if(Z.length>0)Q.push({points:Z,closed:!1});return Q}function q9($,Q){let Z={width:Q.width,lineCap:Q.lineCap??"butt",lineJoin:Q.lineJoin??"miter",miterLimit:Q.miterLimit??4},K=L4($),J=[];for(let U=0;U<K.length;U++){let W=K[U];if(W.points.length<2)continue;let H=W.closed?A4(W.points,Z):F4(W.points,Z);J.push(...H)}let q=$.bounds;if(q){let U=Z.width/2;q={xMin:q.xMin-U,yMin:q.yMin-U,xMax:q.xMax+U,yMax:q.yMax+U}}return{commands:J,bounds:q}}function D4($){let Q=1/0,Z=1/0,K=-1/0,J=-1/0;for(let q=0;q<$.length;q++){let U=$[q];switch(U.type){case"M":case"L":Q=Math.min(Q,U.x),K=Math.max(K,U.x),Z=Math.min(Z,U.y),J=Math.max(J,U.y);break;case"Q":Q=Math.min(Q,U.x,U.x1),K=Math.max(K,U.x,U.x1),Z=Math.min(Z,U.y,U.y1),J=Math.max(J,U.y,U.y1);break;case"C":Q=Math.min(Q,U.x,U.x1,U.x2),K=Math.max(K,U.x,U.x1,U.x2),Z=Math.min(Z,U.y,U.y1,U.y2),J=Math.max(J,U.y,U.y1,U.y2);break;case"Z":break}}if(!Number.isFinite(Q))return null;return{xMin:Q,yMin:Z,xMax:K,yMax:J}}function U9($,Q){let Z=[];for(let J=0;J<$.commands.length;J++){let q=$.commands[J];switch(q.type){case"M":case"L":Z.push({type:q.type,x:q.x+q.y*Q,y:q.y});break;case"Q":Z.push({type:"Q",x1:q.x1+q.y1*Q,y1:q.y1,x:q.x+q.y*Q,y:q.y});break;case"C":Z.push({type:"C",x1:q.x1+q.y1*Q,y1:q.y1,x2:q.x2+q.y2*Q,y2:q.y2,x:q.x+q.y*Q,y:q.y});break;case"Z":Z.push({type:"Z"});break}}let K=D4(Z);return{commands:Z,bounds:K,flags:$.flags}}function W9($,Q){let Z=[];for(let J=0;J<$.commands.length;J++){let q=$.commands[J];switch(q.type){case"M":case"L":Z.push({type:q.type,x:q.x*Q,y:q.y});break;case"Q":Z.push({type:"Q",x1:q.x1*Q,y1:q.y1,x:q.x*Q,y:q.y});break;case"C":Z.push({type:"C",x1:q.x1*Q,y1:q.y1,x2:q.x2*Q,y2:q.y2,x:q.x*Q,y:q.y});break;case"Z":Z.push({type:"Z"});break}}let K=$.bounds;if(K)K={xMin:K.xMin*Q,yMin:K.yMin,xMax:K.xMax*Q,yMax:K.yMax};return{commands:Z,bounds:K,flags:$.flags}}function H9($,Q){if(Q===0)return{...$,commands:[...$.commands]};let Z=M4($),K=[];for(let q=0;q<Z.length;q++){let U=Z[q];if(U.length<3)continue;let W=B4(U,Q);if(W.length>0){K.push({type:"M",x:W[0].x,y:W[0].y});for(let H=1;H<W.length;H++)K.push({type:"L",x:W[H].x,y:W[H].y});K.push({type:"Z"})}}let J=null;if(K.length>0){let q=1/0,U=1/0,W=-1/0,H=-1/0;for(let _=0;_<K.length;_++){let N=K[_];if(N.type==="M"||N.type==="L")q=Math.min(q,N.x),U=Math.min(U,N.y),W=Math.max(W,N.x),H=Math.max(H,N.y)}if(Number.isFinite(q))J={xMin:q,yMin:U,xMax:W,yMax:H}}return{commands:K,bounds:J,flags:$.flags}}function M4($){let Q=[],Z=[];for(let K=0;K<$.commands.length;K++){let J=$.commands[K];switch(J.type){case"M":if(Z.length>0)Q.push(Z);Z=[{x:J.x,y:J.y}];break;case"L":Z.push({x:J.x,y:J.y});break;case"Q":{let q=Z[Z.length-1];if(q)for(let W=1;W<=8;W++){let H=W/8,_=1-H,N=_*_*q.x+2*_*H*J.x1+H*H*J.x,V=_*_*q.y+2*_*H*J.y1+H*H*J.y;Z.push({x:N,y:V})}break}case"C":{let q=Z[Z.length-1];if(q)for(let W=1;W<=12;W++){let H=W/12,_=1-H,N=_*_*_*q.x+3*_*_*H*J.x1+3*_*H*H*J.x2+H*H*H*J.x,V=_*_*_*q.y+3*_*_*H*J.y1+3*_*H*H*J.y2+H*H*H*J.y;Z.push({x:N,y:V})}break}case"Z":if(Z.length>0)Q.push(Z),Z=[];break}}if(Z.length>0)Q.push(Z);return Q}function B4($,Q){let Z=$.length;if(Z<3)return $;let K=0;for(let W=0;W<Z;W++){let H=(W+1)%Z,_=$[W],N=$[H];if(_&&N)K+=(N.x-_.x)*(N.y+_.y)}let J=K<0?-1:1,q=Q*J,U=[];for(let W=0;W<Z;W++){let H=$[(W-1+Z)%Z],_=$[W],N=$[(W+1)%Z];if(!H||!_||!N)continue;let V={x:_.x-H.x,y:_.y-H.y},z={x:N.x-_.x,y:N.y-_.y},j=Math.sqrt(V.x*V.x+V.y*V.y),X=Math.sqrt(z.x*z.x+z.y*z.y);if(j===0||X===0){U.push(_);continue}V.x/=j,V.y/=j,z.x/=X,z.y/=X;let G={x:-V.y,y:V.x},E={x:-z.y,y:z.x},Y=(G.x+E.x)/2,w=(G.y+E.y)/2,F=Math.sqrt(Y*Y+w*w);if(F>0.001){Y/=F,w/=F;let A=G.x*E.x+G.y*E.y,D=A>-0.999?1/Math.sqrt((1+A)/2):1,L=Math.min(D,3);U.push({x:_.x+Y*q*L,y:_.y+w*q*L})}else U.push(_)}return U}G6();var EK=new WeakMap,b$=null;function o0(){if(!b$)b$=new e8;return b$}var p9=null,YK=0;function R4($){if($<=YK&&p9)return p9.fill(0,0,$),p9;let Q=Math.max($,4096);return p9=new Uint8Array(Q),YK=Q,p9}function AK($,Q,Z){let K=Z===4?4:Z===2||Z===3?3:Z===0?0.125:1,J=Z===0?Math.ceil($/8):Math.ceil($*K),q=J*Q,U=R4(q);return{width:$,rows:Q,pitch:J,buffer:U.subarray(0,q),pixelMode:Z,numGrays:Z===0?2:256}}var wK=new WeakMap;function FK($){if($&F6.UnscaledComponentOffset)return!1;if($&F6.ScaledComponentOffset)return!0;return!1}function c0($){return Math.round($/64)*64}function i0($,Q,Z,K=0,J){if(K>32)return null;let q=$.getGlyph(Q);if(!q||q.type==="empty")return null;let U=J?.roundCompositeOffsets??!0;if(q.type==="simple"){let j=[],X=[],G=[],E=[],Y=0;for(let w of q.contours){for(let F of w)j.push(Math.round(F.x*Z)),X.push(Math.round(F.y*Z)),G.push(F.onCurve?1:0),Y++;E.push(Y-1)}return{xCoords:j,yCoords:X,flags:new Uint8Array(G),contourEnds:E}}let W=[],H=[],_=[],N=[],V=[],z=0;for(let j of q.components){let X=i0($,j.glyphId,Z,K+1,{roundCompositeOffsets:U});if(!X||X.xCoords.length===0)continue;let[G,E,Y,w]=j.transform,F=(j.flags&F6.ArgsAreXYValues)!==0,A=Array(X.xCoords.length),D=Array(X.yCoords.length);for(let B=0;B<X.xCoords.length;B++){let v=X.xCoords[B],T=X.yCoords[B];A[B]=Math.round(G*v+Y*T),D[B]=Math.round(E*v+w*T)}let L=0,R=0;if(F){let{arg1:B,arg2:v}=j;if(FK(j.flags)){let T=Math.round(B*Z),g=Math.round(v*Z);L=Math.round(G*T+Y*g),R=Math.round(E*T+w*g)}else L=Math.round(B*Z),R=Math.round(v*Z);if(U&&j.flags&F6.RoundXYToGrid)L=c0(L),R=c0(R)}else{let{arg1:B,arg2:v}=j;if(B>=0&&B<V.length&&v>=0&&v<A.length){let T=V[B];L=T.x-A[v],R=T.y-D[v]}}for(let B=0;B<A.length;B++){let v=A[B]+L,T=D[B]+R;W.push(v),H.push(T),_.push(X.flags[B]??0),V.push({x:v,y:T})}for(let B=0;B<X.contourEnds.length;B++)N.push(z+X.contourEnds[B]);z+=A.length}if(W.length===0)return null;return{xCoords:W,yCoords:H,flags:new Uint8Array(_),contourEnds:N}}function T4($,Q,Z,K,J){if(Z.type!=="composite")return null;if(J>16)return null;let q=[],U=[],W=[],H=[],_=[],N=0;for(let V=0;V<Z.components.length;V++){let z=Z.components[V],j=LK($,Q,z.glyphId,K,J+1);if(!j||j.xCoords.length===0)continue;let[X,G,E,Y]=z.transform,w=(z.flags&F6.ArgsAreXYValues)!==0,F=0,A=0;if(w){let{arg1:D,arg2:L}=z;if(FK(z.flags)){let R=X*D+E*L,B=G*D+Y*L;D=R,L=B}if(F=m6(D,$.ctx.scaleFix),A=m6(L,$.ctx.scaleFix),z.flags&F6.RoundXYToGrid)F=c0(F),A=c0(A)}else{let{arg1:D,arg2:L}=z;if(D>=0&&D<_.length&&L>=0&&L<j.xCoords.length){let R=_[D],B=X*j.xCoords[L]+E*j.yCoords[L],v=G*j.xCoords[L]+Y*j.yCoords[L];F=Math.round(R.x-B),A=Math.round(R.y-v)}}for(let D=0;D<j.xCoords.length;D++){let L=j.xCoords[D],R=j.yCoords[D],B=Math.round(X*L+E*R+F),v=Math.round(G*L+Y*R+A);q.push(B),U.push(v),W.push(j.flags[D]??0),_.push({x:B,y:v})}for(let D=0;D<j.contourEnds.length;D++)H.push(N+j.contourEnds[D]);N+=j.xCoords.length}if(q.length===0)return null;return{xCoords:q,yCoords:U,flags:new Uint8Array(W),contourEnds:H,error:null}}function LK($,Q,Z,K,J=0){let q=`${Z}:${K}:${$.ctx.lightMode?"light":"full"}`,U=wK.get(Q);if(!U)U=new Map,wK.set(Q,U);let W=U.get(q);if(W!==void 0)return W;let H=Q.getGlyph(Z);if(!H||H.type==="empty")return U.set(q,null),null;if(k0($,K,K))return U.set(q,null),null;if(H.type==="composite"&&H.instructions.length===0){let z=T4($,Q,H,K,J);if(z&&z.xCoords.length>0)return U.set(q,z),z}let N=P4(Q,Z,$.ctx.scale);if(!N)return U.set(q,null),null;let V=C0($,N);if(V.error||V.xCoords.length===0)return U.set(q,null),null;return U.set(q,V),V}function O4($){if(!$.isTrueType||!$.hasHinting)return null;let Q=EK.get($);if(Q)return Q;let Z=$.cvtTable,K=Z?new Int32Array(Z.values):void 0,J=$.maxp;Q=P0($.unitsPerEm,"maxStackElements"in J?J.maxStackElements:256,"maxStorage"in J?J.maxStorage:64,"maxFunctionDefs"in J?J.maxFunctionDefs:64,"maxTwilightPoints"in J?J.maxTwilightPoints:16,K);let q=$.fpgm;if(q)v0(Q,q.instructions);let U=$.prep;if(U)I0(Q,U.instructions);return EK.set($,Q),Q}function P4($,Q,Z){let K=$.getGlyph(Q);if(!K||K.type==="empty")return null;let J=[],q=[],U=[],W=[],H=$.advanceWidth(Q),_=$.leftSideBearing(Q);if(K.type==="composite"&&K.instructions.length>0&&Z){let N=i0($,Q,Z);if(!N||N.xCoords.length===0)return null;let V=1/Z;for(let z=0;z<N.xCoords.length;z++)J.push(N.xCoords[z]*V),q.push(N.yCoords[z]*V),U.push(N.flags[z]??0);for(let z=0;z<N.contourEnds.length;z++)W.push(N.contourEnds[z])}else{let N=K.type==="simple"?K.contours:$.getGlyphContours(Q);if(!N||N.length===0)return null;let V=0;for(let z=0;z<N.length;z++){let j=N[z];for(let X=0;X<j.length;X++){let G=j[X];J.push(G.x),q.push(G.y),U.push(G.onCurve?1:0),V++}W.push(V-1)}}return{xCoords:J,yCoords:q,flags:new Uint8Array(U),contourEnds:W,instructions:K.instructions,lsb:_,advanceWidth:H}}function DK($,Q,Z,K){let{xCoords:J,yCoords:q,flags:U,contourEnds:W}=Q,H=0,_=0;for(let N=0;N<J.length;N++){let V=W[H],z=N===V,j=(J[N]<<2|0)+(Z<<8),X=(-q[N]<<2|0)+(K<<8),G=(U[N]&1)!==0;if(N===_)$.moveTo(j,X);else if(G)$.lineTo(j,X);else{let E=z?_:N+1,Y=(J[E]<<2|0)+(Z<<8),w=(-q[E]<<2|0)+(K<<8);if((U[E]&1)!==0){if($.conicTo(j,X,Y,w),!z){if(N++,N===V){let A=(J[_]<<2|0)+(Z<<8),D=(-q[_]<<2|0)+(K<<8);$.lineTo(A,D),H++,_=N+1}}}else $.conicTo(j,X,j+Y>>1,X+w>>1)}if(z&&N===V){let E=(J[_]<<2|0)+(Z<<8),Y=(-q[_]<<2|0)+(K<<8);if(G&&N!==_)$.lineTo(E,Y);else if(!G){let w=(U[_]&1)!==0}H++,_=N+1}}}var v4=256;function t6($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,pixelMode:W=1,fillRule:H=0,flipY:_=!0}=Q,N=a(Z,K,W),V=o0();if(V.setClip(0,0,Z,K),K>v4){let z=()=>Y8(V,$,J,q,U,_);V.renderWithBands(N,z,{minY:0,maxY:K},H)}else V.setBandBounds(0,K),V.reset(),Y8(V,$,J,q,U,_),V.sweep(N,H);return N}function c9($,Q,Z,K){let J=K?.padding??0,q=K?.pixelMode??1;if((K?.hinting??!1)&&$.hasHinting){let G=I4($,Q,Z,J,q);if(G)return G}if($.isTrueType){let G=Z*64/$.unitsPerEm,E=i0($,Q,G,0,{roundCompositeOffsets:!1});if(E){let Y=k4(E,J,q);if(Y)return Y}}let W=h6($,Q);if(!W)return null;let H=Z/$.unitsPerEm,_=U8(W,H,!0,!0);if(!_)return{bitmap:a(1,1,q),bearingX:0,bearingY:0};let N=_.maxX-_.minX+J*2,V=_.maxY-_.minY+J*2;if(N<=0||V<=0)return{bitmap:a(1,1,q),bearingX:0,bearingY:0};let z=-_.minX+J,j=-_.minY+J;return{bitmap:t6(W,{width:N,height:V,scale:H,offsetX:z,offsetY:j,pixelMode:q,flipY:!0}),bearingX:_.minX-J,bearingY:-(_.minY-J)}}function MK($,Q,Z,K,J){let q=c9($,Q,Z,J);if(!q)return null;let U={bearingX:q.bearingX,bearingY:q.bearingY,offsetX26:J?.offsetX26,offsetY26:J?.offsetY26};if(Array.isArray(K[0]))return w8(q.bitmap,K,U);return r6(q.bitmap,K,U)}function I4($,Q,Z,K,J){let q=O4($);if(!q)return null;let U=Math.round(Z);q.ctx.lightMode=J===1;let W=LK(q,$,Q,U);if(!W)return null;let H=W;if(J===1){let P=U*64/$.unitsPerEm,f=i0($,Q,P,0,{roundCompositeOffsets:!1});if(f&&f.xCoords.length===W.xCoords.length)H={...W,xCoords:f.xCoords}}let{xCoords:_,yCoords:N}=H,V=_[0],z=N[0],j=_[0],X=N[0];for(let P=1;P<_.length;P++){let f=_[P],l=N[P];if(f<V)V=f;if(f>j)j=f;if(l<z)z=l;if(l>X)X=l}if(!Number.isFinite(V))return{bitmap:a(1,1,J),bearingX:0,bearingY:0};let G=$.getGlyphBounds(Q);if(G){let P=Z/$.unitsPerEm,f=(G.xMax-G.xMin)*P,l=(G.yMax-G.yMin)*P,C=Math.max(f*8,Z*8,f+64),O=Math.max(l*8,Z*8,l+64),h=(j-V)/64,S=(X-z)/64;if(h>C||S>O)return null}let E=Math.floor(V/64),Y=Math.floor(z/64),w=Math.floor((j+63)/64),F=Math.floor((X+63)/64),A=w-E+K*2,D=F-Y+K*2;if(X6?.HINT_TRACE_GLYPH===String(Q))console.log("trace hinted bounds",{glyphId:Q,minX26:V,maxX26:j,minY26:z,maxY26:X,bMinX:E,bMaxX:w,bMinY:Y,bMaxY:F,width:A,height:D});if(A<=0||D<=0)return{bitmap:a(1,1,J),bearingX:0,bearingY:0};let L=AK(A,D,J),R=o0();R.setClip(0,0,A,D),R.setBandBounds(0,D),R.reset();let B=-E+K,v=F+K,T=()=>DK(R,H,B,v);try{T(),R.sweep(L,0)}catch(P){if(P instanceof y8)R.reset(),R.renderWithBands(L,T,{minY:0,maxY:D,minX:0,maxX:A},0);else throw P}let g=a(A,D,J);return g.buffer.set(L.buffer),{bitmap:g,bearingX:E-K,bearingY:F+K}}function k4($,Q,Z){let{xCoords:K,yCoords:J}=$;if(K.length===0)return null;let q=K[0],U=J[0],W=K[0],H=J[0];for(let L=1;L<K.length;L++){let R=K[L],B=J[L];if(R<q)q=R;if(R>W)W=R;if(B<U)U=B;if(B>H)H=B}if(!Number.isFinite(q))return{bitmap:a(1,1,Z),bearingX:0,bearingY:0};let _=Math.floor(q/64),N=Math.floor(U/64),V=Math.floor((W+63)/64),z=Math.floor((H+63)/64),j=V-_+Q*2,X=z-N+Q*2;if(j<=0||X<=0)return{bitmap:a(1,1,Z),bearingX:0,bearingY:0};let G=AK(j,X,Z),E=o0();E.setClip(0,0,j,X),E.setBandBounds(0,X),E.reset();let Y=-_+Q,w=z+Q,F={xCoords:$.xCoords,yCoords:$.yCoords,flags:$.flags,contourEnds:$.contourEnds,error:null},A=()=>DK(E,F,Y,w);try{A(),E.sweep(G,0)}catch(L){if(L instanceof y8)E.reset(),E.renderWithBands(G,A,{minY:0,maxY:X,minX:0,maxX:j},0);else throw L}let D=a(j,X,Z);return D.buffer.set(G.buffer),{bitmap:D,bearingX:_-Q,bearingY:z+Q}}function BK($,Q,Z,K){let J=Z/$.unitsPerEm,q=K?.padding??0,U=K?.pixelMode??1,W=[],H=0,_=0,N=0,V=[...Q];for(let w=0;w<V.length;w++){let A=V[w].codePointAt(0);if(A===void 0)continue;let D=$.glyphId(A);if(D===void 0)continue;let L=$.advanceWidth(D)*J,R=h6($,D);if(R?.bounds)_=Math.max(_,-R.bounds.yMin*J),N=Math.max(N,R.bounds.yMax*J);W.push({glyphId:D,advance:L}),H+=L}if(W.length===0)return null;let z=Math.ceil(H)+q*2,j=Math.ceil(_+N)+q*2,X=a(z,j,U),G=o0();G.setClip(0,0,z,j),G.setBandBounds(0,j);let E=q,Y=N+q;for(let w=0;w<W.length;w++){let F=W[w],A=h6($,F.glyphId);if(A)G.reset(),Y8(G,A,J,E,Y,!0),G.sweep(X);E+=F.advance}return X}function o9($){let Q=$.pixelMode===2,Z=$.pixelMode===3,K=new Uint8Array($.width*$.rows*4),J=$.pitch,q=Math.abs(J),U=J<0?($.rows-1)*q:0;for(let W=0;W<$.rows;W++){let H=U+W*J;for(let _=0;_<$.width;_++){let N=(W*$.width+_)*4;if($.pixelMode===1){let V=H+_,z=$.buffer[V]??0;K[N]=255-z,K[N+1]=255-z,K[N+2]=255-z,K[N+3]=255}else if($.pixelMode===0){let V=H+(_>>3),z=7-(_&7),j=($.buffer[V]??0)>>z&1?255:0;K[N]=255-j,K[N+1]=255-j,K[N+2]=255-j,K[N+3]=255}else if(Q||Z){let V=H+_*3,z=$.buffer[V]??0,j=$.buffer[V+1]??0,X=$.buffer[V+2]??0;K[N]=255-z,K[N+1]=255-j,K[N+2]=255-X,K[N+3]=255}else if($.pixelMode===4){let V=H+_*4;K[N]=$.buffer[V]??0,K[N+1]=$.buffer[V+1]??0,K[N+2]=$.buffer[V+2]??0,K[N+3]=$.buffer[V+3]??0}else{let V=H+_,z=$.buffer[V]??0;K[N]=255-z,K[N+1]=255-z,K[N+2]=255-z,K[N+3]=255}}}return K}function i9($){if($.pixelMode===1&&$.pitch===$.width)return $.buffer;let Q=new Uint8Array($.width*$.rows),Z=$.pitch,K=Math.abs(Z),J=Z<0?($.rows-1)*K:0;for(let q=0;q<$.rows;q++){let U=J+q*Z;for(let W=0;W<$.width;W++){let H=q*$.width+W;if($.pixelMode===1)Q[H]=$.buffer[U+W]??0;else if($.pixelMode===0){let _=U+(W>>3),N=7-(W&7);Q[H]=($.buffer[_]??0)>>N&1?255:0}else if($.pixelMode===2||$.pixelMode===3){let _=U+W*3,N=$.buffer[_]??0,V=$.buffer[_+1]??0,z=$.buffer[_+2]??0;Q[H]=Math.round((N+V+z)/3)}else if($.pixelMode===4){let _=U+W*4;Q[H]=$.buffer[_+3]??0}}}return Q}G6();function s0($,Q,Z){let{fontSize:K,padding:J=1,maxWidth:q=2048,maxHeight:U=2048,pixelMode:W=1}=Z,H=[],_=K/$.unitsPerEm;for(let G=0;G<Q.length;G++){let E=Q[G],Y=c9($,E,K,{padding:0,pixelMode:W});if(!Y)continue;let w=$.advanceWidth(E)*_;H.push({glyphId:E,bitmap:Y.bitmap,bearingX:Y.bearingX,bearingY:Y.bearingY,advance:w})}H.sort((G,E)=>E.bitmap.rows-G.bitmap.rows);let{width:N,height:V,placements:z}=C4(H.map((G)=>({width:G.bitmap.width+J*2,height:G.bitmap.rows+J*2})),q,U),j=a(N,V,W),X=new Map;for(let G=0;G<H.length;G++){let E=H[G],Y=z[G];if(!Y.placed)continue;S4(E.bitmap,j,Y.x+J,Y.y+J),X.set(E.glyphId,{glyphId:E.glyphId,atlasX:Y.x+J,atlasY:Y.y+J,width:E.bitmap.width,height:E.bitmap.rows,bearingX:E.bearingX,bearingY:E.bearingY,advance:E.advance})}return{bitmap:j,glyphs:X,fontSize:K}}function TK($,Q){let Z=[];for(let K=32;K<=126;K++){let J=$.glyphId(K);if(J!==void 0&&J!==0)Z.push(J)}return s0($,Z,Q)}function OK($,Q,Z){let K=new Set,J=[...Q];for(let q=0;q<J.length;q++){let W=J[q].codePointAt(0);if(W===void 0)continue;let H=$.glyphId(W);if(H!==void 0&&H!==0)K.add(H)}return s0($,[...K],Z)}function C4($,Q,Z){let K=[],J=[],q=0,U=0;for(let _=0;_<$.length;_++){let N=$[_],V=!1,z=-1,j=Z;for(let X=0;X<K.length;X++){let G=K[X];if(G.width+N.width<=Q&&N.height<=G.height){if(G.y<j)z=X,j=G.y}}if(z>=0){let X=K[z];J.push({x:X.width,y:X.y,placed:!0}),X.width+=N.width,q=Math.max(q,X.width),V=!0}else{let X=U;if(X+N.height<=Z&&N.width<=Q)K.push({y:X,height:N.height,width:N.width}),J.push({x:0,y:X,placed:!0}),U=X+N.height,q=Math.max(q,N.width),V=!0}if(!V)J.push({x:0,y:0,placed:!1})}let W=RK(q),H=RK(U);return{width:Math.min(W,Q),height:Math.min(H,Z),placements:J}}function S4($,Q,Z,K){let J=$.pixelMode===2?3:1;for(let q=0;q<$.rows;q++){let U=q*$.pitch,W=(K+q)*Q.pitch+Z*J;for(let H=0;H<$.width*J;H++)Q.buffer[W+H]=$.buffer[U+H]}}function RK($){if($<=0)return 1;return $--,$|=$>>1,$|=$>>2,$|=$>>4,$|=$>>8,$|=$>>16,$+1}function PK($){let{bitmap:Q}=$,Z=new Uint8Array(Q.width*Q.rows*4);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++){let q=K*Q.pitch+J,U=(K*Q.width+J)*4,W=Q.buffer[q]??0;Z[U]=255,Z[U+1]=255,Z[U+2]=255,Z[U+3]=W}return Z}function vK($){let{bitmap:Q}=$;if(Q.pitch===Q.width)return Q.buffer;let Z=new Uint8Array(Q.width*Q.rows);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++)Z[K*Q.width+J]=Q.buffer[K*Q.pitch+J];return Z}function IK($,Q){let Z=$.glyphs.get(Q);if(!Z)return null;let{bitmap:K}=$;return{u0:Z.atlasX/K.width,v0:Z.atlasY/K.rows,u1:(Z.atlasX+Z.width)/K.width,v1:(Z.atlasY+Z.height)/K.rows}}G6();function h4($,Q,Z){return Math.max(Math.min($,Q),Math.min(Math.max($,Q),Z))}function y4($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0000000001)return{distance:Math.sqrt(($-Z.x)**2+(Q-Z.y)**2),t:0};let W=(($-Z.x)*J+(Q-Z.y)*q)/U;W=Math.max(0,Math.min(1,W));let H=Math.sqrt(($-Z.x-W*J)**2+(Q-Z.y-W*q)**2);return{distance:(J*(Q-Z.y)-q*($-Z.x)>=0?1:-1)*H,t:W}}function b4($,Q,Z,K){let J=K.x-Z.x,q=K.y-Z.y,U=J*J+q*q;if(U<0.0000000001)return Math.sqrt(($-Z.x)**2+(Q-Z.y)**2);let W=(($-Z.x)*J+(Q-Z.y)*q)/U;return W=Math.max(0,Math.min(1,W)),Math.sqrt(($-Z.x-W*J)**2+(Q-Z.y-W*q)**2)}function g4($,Q,Z,K,J){let q=Z.x-2*K.x+J.x,U=Z.y-2*K.y+J.y,W=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((J.x-$)**2+(J.y-Q)**2)),H=W===Math.sqrt((Z.x-$)**2+(Z.y-Q)**2)?0:1;for(let E=1;E<6;E++){let Y=E/6;for(let L=0;L<3;L++){let R=1-Y,B=R*R*Z.x+2*R*Y*K.x+Y*Y*J.x,v=R*R*Z.y+2*R*Y*K.y+Y*Y*J.y,T=2*(R*(K.x-Z.x)+Y*(J.x-K.x)),g=2*(R*(K.y-Z.y)+Y*(J.y-K.y)),P=B-$,f=v-Q,l=P*T+f*g,C=T*T+g*g+P*2*q+f*2*U;if(Math.abs(C)<0.0000000001)break;Y=Math.max(0,Math.min(1,Y-l/C))}let w=1-Y,F=w*w*Z.x+2*w*Y*K.x+Y*Y*J.x,A=w*w*Z.y+2*w*Y*K.y+Y*Y*J.y,D=Math.sqrt((F-$)**2+(A-Q)**2);if(D<W)W=D,H=Y}let _=1-H,N=2*(_*(K.x-Z.x)+H*(J.x-K.x)),V=2*(_*(K.y-Z.y)+H*(J.y-K.y)),z=_*_*Z.x+2*_*H*K.x+H*H*J.x,j=_*_*Z.y+2*_*H*K.y+H*H*J.y;return{distance:(N*(Q-j)-V*($-z)>=0?1:-1)*W,t:H}}function m4($,Q,Z,K,J){let q=Z.x-2*K.x+J.x,U=Z.y-2*K.y+J.y,W=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((J.x-$)**2+(J.y-Q)**2));for(let H=1;H<6;H++){let _=H/6;for(let z=0;z<3;z++){let j=1-_,X=j*j*Z.x+2*j*_*K.x+_*_*J.x,G=j*j*Z.y+2*j*_*K.y+_*_*J.y,E=2*(j*(K.x-Z.x)+_*(J.x-K.x)),Y=2*(j*(K.y-Z.y)+_*(J.y-K.y)),w=X-$,F=G-Q,A=E*E+Y*Y+w*2*q+F*2*U;if(Math.abs(A)<0.0000000001)break;_=Math.max(0,Math.min(1,_-(w*E+F*Y)/A))}let N=1-_,V=Math.sqrt((N*N*Z.x+2*N*_*K.x+_*_*J.x-$)**2+(N*N*Z.y+2*N*_*K.y+_*_*J.y-Q)**2);if(V<W)W=V}return W}function u4($,Q,Z,K,J,q){let U=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((q.x-$)**2+(q.y-Q)**2)),W=U===Math.sqrt((Z.x-$)**2+(Z.y-Q)**2)?0:1;for(let F=1;F<6;F++){let A=F/6;for(let f=0;f<3;f++){let l=1-A,C=l*l,O=C*l,h=A*A,S=h*A,d=O*Z.x+3*C*A*K.x+3*l*h*J.x+S*q.x,o=O*Z.y+3*C*A*K.y+3*l*h*J.y+S*q.y,n=3*C*(K.x-Z.x)+6*l*A*(J.x-K.x)+3*h*(q.x-J.x),e=3*C*(K.y-Z.y)+6*l*A*(J.y-K.y)+3*h*(q.y-J.y),u=6*l*(J.x-2*K.x+Z.x)+6*A*(q.x-2*J.x+K.x),N6=6*l*(J.y-2*K.y+Z.y)+6*A*(q.y-2*J.y+K.y),y=d-$,t=o-Q,m=y*n+t*e,A6=n*n+e*e+y*u+t*N6;if(Math.abs(A6)<0.0000000001)break;A=Math.max(0,Math.min(1,A-m/A6))}let D=1-A,L=D*D,R=L*D,B=A*A,v=B*A,T=R*Z.x+3*L*A*K.x+3*D*B*J.x+v*q.x,g=R*Z.y+3*L*A*K.y+3*D*B*J.y+v*q.y,P=Math.sqrt((T-$)**2+(g-Q)**2);if(P<U)U=P,W=A}let H=1-W,_=H*H,N=W*W,V=3*_*(K.x-Z.x)+6*H*W*(J.x-K.x)+3*N*(q.x-J.x),z=3*_*(K.y-Z.y)+6*H*W*(J.y-K.y)+3*N*(q.y-J.y),j=_*H,X=N*W,G=j*Z.x+3*_*W*K.x+3*H*N*J.x+X*q.x,E=j*Z.y+3*_*W*K.y+3*H*N*J.y+X*q.y;return{distance:(V*(Q-E)-z*($-G)>=0?1:-1)*U,t:W}}function x4($,Q,Z,K,J,q){let U=Math.min(Math.sqrt((Z.x-$)**2+(Z.y-Q)**2),Math.sqrt((q.x-$)**2+(q.y-Q)**2));for(let W=1;W<6;W++){let H=W/6;for(let G=0;G<3;G++){let E=1-H,Y=E*E,w=Y*E,F=H*H,A=F*H,D=w*Z.x+3*Y*H*K.x+3*E*F*J.x+A*q.x,L=w*Z.y+3*Y*H*K.y+3*E*F*J.y+A*q.y,R=3*Y*(K.x-Z.x)+6*E*H*(J.x-K.x)+3*F*(q.x-J.x),B=3*Y*(K.y-Z.y)+6*E*H*(J.y-K.y)+3*F*(q.y-J.y),v=6*E*(J.x-2*K.x+Z.x)+6*H*(q.x-2*J.x+K.x),T=6*E*(J.y-2*K.y+Z.y)+6*H*(q.y-2*J.y+K.y),g=D-$,P=L-Q,f=R*R+B*B+g*v+P*T;if(Math.abs(f)<0.0000000001)break;H=Math.max(0,Math.min(1,H-(g*R+P*B)/f))}let _=1-H,N=_*_,V=N*_,z=H*H,j=z*H,X=Math.sqrt((V*Z.x+3*N*H*K.x+3*_*z*J.x+j*q.x-$)**2+(V*Z.y+3*N*H*K.y+3*_*z*J.y+j*q.y-Q)**2);if(X<U)U=X}return U}function kK($){switch($.type){case"line":return{x:$.p1.x-$.p0.x,y:$.p1.y-$.p0.y};case"quadratic":return{x:2*($.p1.x-$.p0.x),y:2*($.p1.y-$.p0.y)};case"cubic":return{x:3*($.p1.x-$.p0.x),y:3*($.p1.y-$.p0.y)}}}function CK($){switch($.type){case"line":return{x:$.p1.x-$.p0.x,y:$.p1.y-$.p0.y};case"quadratic":return{x:2*($.p2.x-$.p1.x),y:2*($.p2.y-$.p1.y)};case"cubic":return{x:3*($.p3.x-$.p2.x),y:3*($.p3.y-$.p2.y)}}}function SK($){let Q=Math.sqrt($.x*$.x+$.y*$.y);if(Q<0.0000000001)return{x:0,y:0};return{x:$.x/Q,y:$.y/Q}}function f4($,Q){return $.x*Q.x+$.y*Q.y}function hK($,Q,Z=Math.PI/3){let K=SK($),J=SK(Q),q=f4(K,J),U=Math.acos(Math.max(-1,Math.min(1,q)));return U>Z&&U<Math.PI-Z}function bK($){let Q=Math.PI/4;for(let Z=0;Z<$.length;Z++){let K=$[Z];if(K.length===0)continue;if(K.length===1){K[0].color=0;continue}let J=0;for(let q=0;q<K.length;q++){let U=K[q],W=K[(q-1+K.length)%K.length];if(q===0)U.color=J;else{let H=CK(W),_=kK(U);if(hK(H,_,Q))J=(J+1)%3;U.color=J}}if(K.length>=2){let q=K[K.length-1],U=K[0],W=CK(q),H=kK(U);if(hK(W,H,Q)){if(q.color===U.color){let _=K[K.length-2]?.color??0,N=K[1]?.color??0;for(let V=0;V<3;V++)if(V!==U.color&&V!==_){q.color=V;break}}}}}}function l4($,Q,Z,K,J){let q=[],U=[],W=null,H=null,_=(N,V)=>({x:N*Q+Z,y:J?-(V*Q)+K:V*Q+K});for(let N=0;N<$.commands.length;N++){let V=$.commands[N];switch(V.type){case"M":if(U.length>0)q.push(U),U=[];W=_(V.x,V.y),H=W;break;case"L":if(W){let z=_(V.x,V.y);if(Math.abs(z.x-W.x)>0.000001||Math.abs(z.y-W.y)>0.000001)U.push({type:"line",p0:W,p1:z,color:0,minX:Math.min(W.x,z.x),maxX:Math.max(W.x,z.x),minY:Math.min(W.y,z.y),maxY:Math.max(W.y,z.y)});W=z}break;case"Q":if(W){let z=_(V.x1,V.y1),j=_(V.x,V.y);U.push({type:"quadratic",p0:W,p1:z,p2:j,color:0,minX:Math.min(W.x,z.x,j.x),maxX:Math.max(W.x,z.x,j.x),minY:Math.min(W.y,z.y,j.y),maxY:Math.max(W.y,z.y,j.y)}),W=j}break;case"C":if(W){let z=_(V.x1,V.y1),j=_(V.x2,V.y2),X=_(V.x,V.y);U.push({type:"cubic",p0:W,p1:z,p2:j,p3:X,color:0,minX:Math.min(W.x,z.x,j.x,X.x),maxX:Math.max(W.x,z.x,j.x,X.x),minY:Math.min(W.y,z.y,j.y,X.y),maxY:Math.max(W.y,z.y,j.y,X.y)}),W=X}break;case"Z":if(W&&H){if(Math.abs(W.x-H.x)>0.000001||Math.abs(W.y-H.y)>0.000001)U.push({type:"line",p0:W,p1:H,color:0,minX:Math.min(W.x,H.x),maxX:Math.max(W.x,H.x),minY:Math.min(W.y,H.y),maxY:Math.max(W.y,H.y)});W=H}if(U.length>0)q.push(U),U=[];break}}if(U.length>0)q.push(U);return q}function d4($,Q,Z){switch(Z.type){case"line":return b4($,Q,Z.p0,Z.p1);case"quadratic":return m4($,Q,Z.p0,Z.p1,Z.p2);case"cubic":return x4($,Q,Z.p0,Z.p1,Z.p2,Z.p3)}}function n4($){let Q=[];for(let Z=0;Z<$.length;Z++){let K=$[Z],J=[];for(let q=0;q<K.length;q++){let U=K[q];if(U.type==="line")J.push([U.p0,U.p1]);else if(U.type==="quadratic"){let W=U.p0;for(let H=1;H<=4;H++){let _=H/4,N=1-_,V={x:N*N*U.p0.x+2*N*_*U.p1.x+_*_*U.p2.x,y:N*N*U.p0.y+2*N*_*U.p1.y+_*_*U.p2.y};J.push([W,V]),W=V}}else{let W=U.p0;for(let H=1;H<=4;H++){let _=H/4,N=1-_,V=N*N,z=V*N,j=_*_,X=j*_,G={x:z*U.p0.x+3*V*_*U.p1.x+3*N*j*U.p2.x+X*U.p3.x,y:z*U.p0.y+3*V*_*U.p1.y+3*N*j*U.p2.y+X*U.p3.y};J.push([W,G]),W=G}}}Q.push(J)}return Q}function p4($,Q,Z){let K=0;for(let J=0;J<Z.length;J++){let q=Z[J];for(let U=0;U<q.length;U++){let[W,H]=q[U];if(W.y>Q!==H.y>Q){let _=W.x+(H.x-W.x)*(Q-W.y)/(H.y-W.y);if($<_)K++}}}return(K&1)===1}function g$($,Q,Z){let K=1/0;for(let J=0;J<Z.length;J++){let q=Z[J],U=$<q.minX?q.minX-$:$>q.maxX?$-q.maxX:0,W=Q<q.minY?q.minY-Q:Q>q.maxY?Q-q.maxY:0;if(U*U+W*W>=K*K)continue;let H=d4($,Q,q);if(H<K){if(K=H,H<0.5)break}}return K}function u8($,Q){let{width:Z,height:K,scale:J,offsetX:q=0,offsetY:U=0,flipY:W=!1,spread:H=8}=Q,_=a(Z,K,2),N=l4($,J,q,U,W);if(N.length===0||N.every((F)=>F.length===0))return _.buffer.fill(0),_;bK(N);let V=n4(N),z=N.flat(),j=z.filter((F)=>F.color===0),X=z.filter((F)=>F.color===1),G=z.filter((F)=>F.color===2),E=j.length>0?j:z,Y=X.length>0?X:z,w=G.length>0?G:z;for(let F=0;F<K;F++)for(let A=0;A<Z;A++){let D=A+0.5,L=F+0.5,R=g$(D,L,E),B=g$(D,L,Y),v=g$(D,L,w),g=p4(D,L,V)?1:-1,P=R*g,f=B*g,l=v*g,C=(h)=>{let S=128+h/H*127;return Math.max(0,Math.min(255,Math.round(S)))},O=F*_.pitch+A*3;_.buffer[O]=C(P),_.buffer[O+1]=C(f),_.buffer[O+2]=C(l)}return _}function c4($,Q,Z){let K=[],J=[],q=0,U=0;for(let _=0;_<$.length;_++){let N=$[_],V=!1,z=-1,j=Z;for(let X=0;X<K.length;X++){let G=K[X];if(G.width+N.width<=Q&&N.height<=G.height){if(G.y<j)z=X,j=G.y}}if(z>=0){let X=K[z];J.push({x:X.width,y:X.y,placed:!0}),X.width+=N.width,q=Math.max(q,X.width),V=!0}else{let X=U;if(X+N.height<=Z&&N.width<=Q)K.push({y:X,height:N.height,width:N.width}),J.push({x:0,y:X,placed:!0}),U=X+N.height,q=Math.max(q,N.width),V=!0}if(!V)J.push({x:0,y:0,placed:!1})}let W=yK(q),H=yK(U);return{width:Math.min(W,Q),height:Math.min(H,Z),placements:J}}function yK($){if($<=0)return 1;return $--,$|=$>>1,$|=$>>2,$|=$>>4,$|=$>>8,$|=$>>16,$+1}function o4($,Q,Z,K){for(let J=0;J<$.rows;J++){let q=J*$.pitch,U=(K+J)*Q.pitch+Z*3;for(let W=0;W<$.width*3;W++)Q.buffer[U+W]=$.buffer[q+W]}}function a0($,Q,Z){let{fontSize:K,padding:J=2,maxWidth:q=2048,maxHeight:U=2048,spread:W=4}=Z,H=K/$.unitsPerEm,_=[];for(let G=0;G<Q.length;G++){let E=Q[G],Y=h6($,E);if(!Y||!Y.bounds)continue;let w=Y.bounds,F=Math.ceil((w.xMax-w.xMin)*H)+W*2,A=Math.ceil((w.yMax-w.yMin)*H)+W*2;if(F<=0||A<=0)continue;let D=u8(Y,{width:F,height:A,scale:H,offsetX:-w.xMin*H+W,offsetY:w.yMax*H+W,flipY:!0,spread:W}),L=$.advanceWidth(E)*H,R=w.xMin*H-W,B=w.yMax*H+W;_.push({glyphId:E,bitmap:D,bearingX:R,bearingY:B,advance:L})}_.sort((G,E)=>E.bitmap.rows-G.bitmap.rows);let{width:N,height:V,placements:z}=c4(_.map((G)=>({width:G.bitmap.width+J*2,height:G.bitmap.rows+J*2})),q,U),j=a(N,V,2),X=new Map;for(let G=0;G<_.length;G++){let E=_[G],Y=z[G];if(!Y.placed)continue;o4(E.bitmap,j,Y.x+J,Y.y+J),X.set(E.glyphId,{glyphId:E.glyphId,atlasX:Y.x+J,atlasY:Y.y+J,width:E.bitmap.width,height:E.bitmap.rows,bearingX:E.bearingX,bearingY:E.bearingY,advance:E.advance})}return{bitmap:j,glyphs:X,fontSize:K}}function gK($,Q){let Z=[];for(let K=32;K<=126;K++){let J=$.glyphId(K);if(J!==void 0&&J!==0)Z.push(J)}return a0($,Z,Q)}function mK($,Q,Z){let K=new Set,J=Array.from(Q);for(let q=0;q<J.length;q++){let W=J[q].codePointAt(0);if(W===void 0)continue;let H=$.glyphId(W);if(H!==void 0&&H!==0)K.add(H)}return a0($,[...K],Z)}function uK($){let{bitmap:Q}=$;if(Q.pitch===Q.width*3)return Q.buffer;let Z=new Uint8Array(Q.width*Q.rows*3);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width*3;J++)Z[K*Q.width*3+J]=Q.buffer[K*Q.pitch+J];return Z}function xK($){let{bitmap:Q}=$,Z=new Uint8Array(Q.width*Q.rows*4);for(let K=0;K<Q.rows;K++)for(let J=0;J<Q.width;J++){let q=K*Q.pitch+J*3,U=(K*Q.width+J)*4;Z[U]=Q.buffer[q],Z[U+1]=Q.buffer[q+1],Z[U+2]=Q.buffer[q+2],Z[U+3]=255}return Z}G6();var i4=Math.PI;function s4($,Q,Z){let K=0.5/Z,J=Math.exp(-K),q=J*J,U=Math.sqrt(K/i4);$[0]=U,U*=J,$[1]=U;for(let W=2;W<Q;W++)J*=q,U*=J,$[W]=U}function fK($,Q,Z){let K=$[1],J=$[2],q=$[3];for(let U=0;U<Q;U++){let W=$[U]*Z[0]+(K+$[U+1])*Z[1]+(J+$[U+2])*Z[2]+(q+$[U+3])*Z[3];q=J,J=K,K=$[U],$[U]=W}}function a4($,Q,Z){for(let K=0;K<Z;K++){$[K][K]=Q[2*K+2]+3*Q[0]-4*Q[K+1];for(let J=K+1;J<Z;J++)$[K][J]=$[J][K]=Q[K+J+2]+Q[J-K]+2*(Q[0]-Q[K+1]-Q[J+1])}for(let K=0;K<Z;K++){let J=1/$[K][K];$[K][K]=1;for(let q=0;q<Z;q++){if(q===K)continue;let U=$[q][K]*J;$[q][K]=0;for(let W=0;W<Z;W++)$[q][W]-=$[K][W]*U}for(let q=0;q<Z;q++)$[K][q]*=J}}function r4($,Q,Z,K){let q=[((0.27116402116402116*K+0.09027777777777778)*K+0.20833333333333334)*K+0.43022486772486773,((-0.20337301587301587*K-0.022569444444444444)*K-0.017361111111111112)*K+0.24330357142857142,((0.08134920634920635*K-0.04513888888888889)*K-0.0763888888888889)*K+0.04017857142857143,((-0.013558201058201057*K+0.022569444444444444)*K-0.010416666666666666)*K+0.0014054232804232803],U=new Float64Array(17);U[0]=q[0],U[1]=q[1],U[2]=q[2],U[3]=q[3],fK(U,7,q);let W=new Float64Array(12);s4(W,Q+4,Z*K),fK(W,Q+1,q);let H=[];for(let N=0;N<8;N++)H.push(new Float64Array(8));a4(H,U,Q);let _=new Float64Array(8);for(let N=0;N<Q;N++)_[N]=U[0]-U[N+1]-W[0]+W[N+1];for(let N=0;N<Q;N++){let V=0;for(let z=0;z<Q;z++)V+=H[N][z]*_[z];$[N]=Math.max(0,V)}}function lK($){let Q=new Float64Array(8),Z,K;if($<0.5)Z=0,K=4,Q[1]=0.085*$*$*$,Q[0]=0.5*$-4*Q[1],Q[2]=Q[3]=0;else{let q=Math.sqrt(0.11569*$+0.20591047);Z=Math.floor(Math.log2(q))+1;let U=q/2**(Z-1)-1,W=0.25**Z;K=8-Math.floor((10.1525+0.8335*W)*(1-U)),K=Math.max(K,4),K=Math.min(K,8),r4(Q,K,$,W)}let J=new Float32Array(8);for(let q=0;q<K;q++)J[q]=Q[q];return{level:Z,radius:K,coeff:J}}function t4($,Q,Z,K,J,q){let U=Math.floor((Z+5)/2);for(let W=0;W<K;W++){let H=W*J,_=W*q;for(let N=0;N<U;N++){let V=N*2,z=0;z+=(Q[H+Math.max(0,V-2)]??0)*1,z+=(Q[H+Math.max(0,V-1)]??0)*5,z+=(Q[H+Math.min(Z-1,V)]??0)*10,z+=(Q[H+Math.min(Z-1,V+1)]??0)*10,z+=(Q[H+Math.min(Z-1,V+2)]??0)*5,z+=(Q[H+Math.min(Z-1,V+3)]??0)*1,$[_+N]=z/32}}}function e4($,Q,Z,K,J,q){let U=Math.floor((K+5)/2);for(let W=0;W<Z;W++)for(let H=0;H<U;H++){let _=H*2,N=0;N+=(Q[Math.max(0,_-2)*J+W]??0)*1,N+=(Q[Math.max(0,_-1)*J+W]??0)*5,N+=(Q[Math.min(K-1,_)*J+W]??0)*10,N+=(Q[Math.min(K-1,_+1)*J+W]??0)*10,N+=(Q[Math.min(K-1,_+2)*J+W]??0)*5,N+=(Q[Math.min(K-1,_+3)*J+W]??0)*1,$[H*q+W]=N/32}}function $_($,Q,Z,K,J,q){let U=Z*2+4;for(let W=0;W<K;W++){let H=W*J,_=W*q;for(let N=0;N<U;N++){let V=Math.floor((N-2)/2),z=N-2&1,j=0;if(z===0)j+=(Q[H+Math.max(0,Math.min(Z-1,V-1))]??0)*1,j+=(Q[H+Math.max(0,Math.min(Z-1,V))]??0)*30,j+=(Q[H+Math.max(0,Math.min(Z-1,V+1))]??0)*1;else j+=(Q[H+Math.max(0,Math.min(Z-1,V))]??0)*16,j+=(Q[H+Math.max(0,Math.min(Z-1,V+1))]??0)*16;$[_+N]=j/32}}}function Q_($,Q,Z,K,J,q){let U=K*2+4;for(let W=0;W<Z;W++)for(let H=0;H<U;H++){let _=Math.floor((H-2)/2),N=H-2&1,V=0;if(N===0)V+=(Q[Math.max(0,Math.min(K-1,_-1))*J+W]??0)*1,V+=(Q[Math.max(0,Math.min(K-1,_))*J+W]??0)*30,V+=(Q[Math.max(0,Math.min(K-1,_+1))*J+W]??0)*1;else V+=(Q[Math.max(0,Math.min(K-1,_))*J+W]??0)*16,V+=(Q[Math.max(0,Math.min(K-1,_+1))*J+W]??0)*16;$[H*q+W]=V/32}}function Z_($,Q,Z,K,J,q,U,W){let H=Z+2*U;for(let _=0;_<K;_++){let N=_*J,V=_*q;for(let z=0;z<H;z++){let j=z-U,X=0;for(let G=0;G<U;G++){let E=Math.max(0,Math.min(Z-1,j-G-1)),Y=Math.max(0,Math.min(Z-1,j+G));X+=((Q[N+E]??0)+(Q[N+Y]??0))*W[G]}$[V+z]=X}}}function K_($,Q,Z,K,J,q,U,W){let H=K+2*U;for(let _=0;_<Z;_++)for(let N=0;N<H;N++){let V=N-U,z=0;for(let j=0;j<U;j++){let X=Math.max(0,Math.min(K-1,V-j-1)),G=Math.max(0,Math.min(K-1,V+j));z+=((Q[X*J+_]??0)+(Q[G*J+_]??0))*W[j]}$[N*q+_]=z}}function J_($,Q,Z){let K=(Q+Z)/2;return c6($,K)}function x8($,Q,Z=Q){if(Q<=0&&Z<=0)return $;if($.pixelMode===4)return J_($,Q,Z);let K=Q*Q,J=Z*Z,q=lK(K),U=lK(J),W=$.width,H=$.rows,_=(2*q.radius+9<<q.level)-5,N=(2*U.radius+9<<U.level)-5,V=(W+_&~((1<<q.level)-1))-4,z=(H+N&~((1<<U.level)-1))-4,j=Math.max(W*H,V*z)*2,X=new Float32Array(j),G=new Float32Array(j);for(let B=0;B<H;B++)for(let v=0;v<W;v++)X[B*W+v]=$.buffer[B*$.pitch+v]??0;let E=X,Y=G,w=W;for(let B=0;B<U.level;B++){let v=Math.floor((H+5)/2);e4(Y,E,W,H,w,W),H=v,[E,Y]=[Y,E]}for(let B=0;B<q.level;B++){let v=Math.floor((W+5)/2);t4(Y,E,W,H,w,v),W=v,w=v,[E,Y]=[Y,E]}let F=W+2*q.radius;Z_(Y,E,W,H,w,F,q.radius,q.coeff),W=F,w=F,[E,Y]=[Y,E];let A=H+2*U.radius;K_(Y,E,W,H,w,w,U.radius,U.coeff),H=A,[E,Y]=[Y,E];for(let B=0;B<q.level;B++){let v=W*2+4;$_(Y,E,W,H,w,v),W=v,w=v,[E,Y]=[Y,E]}for(let B=0;B<U.level;B++){let v=H*2+4;Q_(Y,E,W,H,w,w),H=v,[E,Y]=[Y,E]}let D=Math.min(W,V),L=Math.min(H,z),R=new Uint8Array(D*L);for(let B=0;B<L;B++)for(let v=0;v<D;v++){let T=E[B*w+v]??0;R[B*D+v]=Math.max(0,Math.min(255,Math.round(T)))}return{buffer:R,width:D,rows:L,pitch:D,pixelMode:1,numGrays:256}}function s9($,Q){return x8($,Q,Q)}function a9($,Q,Z){let K=Z??Q;if(Math.max(Q,K)<=3)return c6($,(Q+K)/2);return x8($,Q,K)}G6();class i{_bitmap;_bearingX;_bearingY;constructor($,Q=0,Z=0){this._bitmap=$;this._bearingX=Q;this._bearingY=Z}static fromBitmap($){return new i(U6($))}static fromBitmapWithBearing($,Q,Z){return new i(U6($),Q,Z)}static fromRasterizedGlyph($){return new i(U6($.bitmap),$.bearingX,$.bearingY)}static create($,Q,Z=1){return new i(a($,Q,Z))}static fromGradient($,Q,Z){return new i(n0($,Q,Z))}blur($){let Q=c6(U6(this._bitmap),$);return new i(Q,this._bearingX,this._bearingY)}boxBlur($){let Q=A8(U6(this._bitmap),$);return new i(Q,this._bearingX,this._bearingY)}cascadeBlur($,Q){let Z=x8(U6(this._bitmap),$,Q??$);return new i(Z,this._bearingX,this._bearingY)}adaptiveBlur($,Q){let Z=a9(U6(this._bitmap),$,Q??$);return new i(Z,this._bearingX,this._bearingY)}fastBlur($){let Q=s9(U6(this._bitmap),$);return new i(Q,this._bearingX,this._bearingY)}embolden($,Q){let Z=b8(this._bitmap,$,Q??$);return new i(Z,this._bearingX,this._bearingY)}emboldenWithBearing($,Q){let Z=l9(this._bitmap,this._bearingX,this._bearingY,$,Q??$);return new i(Z.bitmap,Z.bearingX,Z.bearingY)}transform2D($,Q){let Z=r6(this._bitmap,$,{bearingX:this._bearingX,bearingY:this._bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26});return new i(Z.bitmap,Z.bearingX,Z.bearingY)}transform3D($,Q){let Z=w8(this._bitmap,$,{bearingX:this._bearingX,bearingY:this._bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26});return new i(Z.bitmap,Z.bearingX,Z.bearingY)}shearX($,Q){let Z=Z9(this._bitmap,$,{bearingX:this._bearingX,bearingY:this._bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26});return new i(Z.bitmap,Z.bearingX,Z.bearingY)}shearY($,Q){let Z=K9(this._bitmap,$,{bearingX:this._bearingX,bearingY:this._bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26});return new i(Z.bitmap,Z.bearingX,Z.bearingY)}shift($,Q){let Z=f9(this._bitmap,$,Q);return new i(Z,this._bearingX+$,this._bearingY-Q)}resize($,Q){let Z=g8(this._bitmap,$,Q);return new i(Z,this._bearingX,this._bearingY)}resizeBilinear($,Q){let Z=$9(this._bitmap,$,Q);return new i(Z,this._bearingX,this._bearingY)}pad($,Q,Z,K){let J=$,q=Q??$,U=Z??$,W=K??$,H=Q9(this._bitmap,J,q,U,W);return new i(H,this._bearingX-J,this._bearingY+q)}measure(){return I$(this._bitmap,this._bearingX,this._bearingY)}metrics(){let{ascent:$,descent:Q}=this.measure();return{width:this._bitmap.width,height:this._bitmap.rows,bearingX:this._bearingX,bearingY:this._bearingY,ascent:$,descent:Q}}expandMetrics($){return k$(this.metrics(),$)}blend($,Q,Z,K=1){let J=$ instanceof i?$._bitmap:$,q=U6(this._bitmap);return f0(q,J,Q,Z,K),new i(q,this._bearingX,this._bearingY)}composite($,Q=0,Z=0){let K=$ instanceof i?$._bitmap:$,J=U6(this._bitmap);return P$(J,K,Q,Z),new i(J,this._bearingX,this._bearingY)}add($,Q=0,Z=0){let K=$ instanceof i?$._bitmap:$,J=U6(this._bitmap);return T$(J,K,Q,Z),new i(J,this._bearingX,this._bearingY)}subtract($,Q=0,Z=0){let K=$ instanceof i?$._bitmap:$,J=U6(this._bitmap);return l0(J,K,Q,Z),new i(J,this._bearingX,this._bearingY)}multiply($,Q=0,Z=0){let K=$ instanceof i?$._bitmap:$,J=U6(this._bitmap);return O$(J,K,Q,Z),new i(J,this._bearingX,this._bearingY)}max($,Q=0,Z=0){let K=$ instanceof i?$._bitmap:$,J=U6(this._bitmap);return v$(J,K,Q,Z),new i(J,this._bearingX,this._bearingY)}convert($){let Q=W8(this._bitmap,$);return new i(Q,this._bearingX,this._bearingY)}toRGBA(){return o9(this._bitmap)}toGray(){return i9(this._bitmap)}toBitmap(){return U6(this._bitmap)}toRasterizedGlyph(){return{bitmap:U6(this._bitmap),bearingX:this._bearingX,bearingY:this._bearingY}}clone(){return new i(U6(this._bitmap),this._bearingX,this._bearingY)}get width(){return this._bitmap.width}get height(){return this._bitmap.rows}get pixelMode(){return this._bitmap.pixelMode}get bearingX(){return this._bearingX}get bearingY(){return this._bearingY}}function q_($,Q,Z,K){let J=-Q*K,q=$*Z,U=Math.sqrt(J*J+q*q);if(U<0.0000000001)return{x:0,y:0,len:0};return{x:J/U,y:q/U,len:U}}function m$($,Q,Z,K,J){let q=Z.x-$.x,U=Z.y-$.y;if(Math.abs((Q.x-$.x)*U-(Q.y-$.y)*q)/Math.sqrt(q*q+U*U+0.0000000001)<=K){J.push(Z);return}let H={x:($.x+Q.x)/2,y:($.y+Q.y)/2},_={x:(Q.x+Z.x)/2,y:(Q.y+Z.y)/2},N={x:(H.x+_.x)/2,y:(H.y+_.y)/2};m$($,H,N,K,J),m$(N,_,Z,K,J)}function u$($,Q,Z,K,J,q){let U=K.x-$.x,W=K.y-$.y,H=U*U+W*W+0.0000000001,_=Math.abs((Q.x-$.x)*W-(Q.y-$.y)*U)/Math.sqrt(H),N=Math.abs((Z.x-$.x)*W-(Z.y-$.y)*U)/Math.sqrt(H);if(_<=J&&N<=J){q.push(K);return}let V={x:($.x+Q.x)/2,y:($.y+Q.y)/2},z={x:(Q.x+Z.x)/2,y:(Q.y+Z.y)/2},j={x:(Z.x+K.x)/2,y:(Z.y+K.y)/2},X={x:(V.x+z.x)/2,y:(V.y+z.y)/2},G={x:(z.x+j.x)/2,y:(z.y+j.y)/2},E={x:(X.x+G.x)/2,y:(X.y+G.y)/2};u$($,V,X,E,J,q),u$(E,G,j,K,J,q)}function U_($,Q){let Z=[],K=[],J={x:0,y:0},q={x:0,y:0};for(let U=0;U<$.commands.length;U++){let W=$.commands[U];switch(W.type){case"M":if(K.length>1)Z.push({points:K,closed:!1});J={x:W.x,y:W.y},q=J,K=[J];break;case"L":J={x:W.x,y:W.y},K.push(J);break;case"Q":m$(J,{x:W.x1,y:W.y1},{x:W.x,y:W.y},Q,K),J={x:W.x,y:W.y};break;case"C":u$(J,{x:W.x1,y:W.y1},{x:W.x2,y:W.y2},{x:W.x,y:W.y},Q,K),J={x:W.x,y:W.y};break;case"Z":if(K.length>1){let H=K[0],_=K[K.length-1];if(H&&_){let N=_.x-H.x,V=_.y-H.y;if(N*N+V*V>Q*Q)K.push({...H})}Z.push({points:K,closed:!0})}K=[],J=q;break}}if(K.length>1)Z.push({points:K,closed:!1});return Z}function dK($,Q,Z,K,J,q,U){let W=Z.x*K.x+Z.y*K.y,H=Z.x*K.y-Z.y*K.x,_=Math.atan2(H,W),N=Math.max(2,Math.ceil(Math.abs(_)/(Math.PI/8))),V=U?1:-1,z=Math.atan2(Z.y,Z.x);for(let j=1;j<=N;j++){let X=j/N,G=z+_*X,E=Math.cos(G),Y=Math.sin(G);$.push({x:Q.x+E*J*V,y:Q.y+Y*q*V})}}function nK($,Q,Z,K,J,q,U,W){let H=W?1:-1,_=Z.x*K.x+Z.y*K.y,N=Math.sqrt((1-_)/2);if(N<0.0000000001)return!1;let V=1/N;if(V>U)return!1;let z=Z.x+K.x,j=Z.y+K.y,X=Math.sqrt(z*z+j*j);if(X<0.0000000001)return!1;let G=V*Math.sqrt(J*J+q*q)/2;return $.push({x:Q.x+z/X*G*H,y:Q.y+j/X*G*H}),!0}function W_($,Q,Z,K,J){let q=$.length;if(q<3)return{outer:[],inner:[]};let U=q-1,W=$[0],H=$[U],_=q;if(W&&H){let j=H.x-W.x,X=H.y-W.y;if(j*j+X*X<1)_=q-1}if(_<3)return{outer:[],inner:[]};let N=[];for(let j=0;j<_;j++){let X=$[j],G=$[(j+1)%_];if(!X||!G)continue;let E=G.x-X.x,Y=G.y-X.y,w=Math.sqrt(E*E+Y*Y);if(w<0.0000000001)N.push({x:0,y:0,len:0});else N.push(q_(E/w,Y/w,Q,Z))}let V=[],z=[];for(let j=0;j<_;j++){let X=$[j],G=N[(j-1+_)%_],E=N[j];if(!X||!G||!E)continue;if(G.len<0.0000000001||E.len<0.0000000001){V.push({x:X.x+(E.len>0?E.x*Q:0),y:X.y+(E.len>0?E.y*Z:0)});continue}let Y={x:X.x+E.x*Q,y:X.y+E.y*Z},w=G.x*E.y-G.y*E.x,F=w>0;if(Math.abs(w)<0.01)V.push(Y);else if(F)switch(K){case"round":dK(V,X,G,E,Q,Z,!0);break;case"miter":if(!nK(V,X,G,E,Q,Z,J,!0))V.push(Y);break;default:V.push(Y);break}else V.push(Y)}for(let j=0;j<_;j++){let X=$[j],G=N[(j-1+_)%_],E=N[j];if(!X||!G||!E)continue;if(G.len<0.0000000001||E.len<0.0000000001){z.push({x:X.x-(E.len>0?E.x*Q:0),y:X.y-(E.len>0?E.y*Z:0)});continue}let Y={x:X.x-E.x*Q,y:X.y-E.y*Z},w=G.x*E.y-G.y*E.x,F=w<0;if(Math.abs(w)<0.01)z.push(Y);else if(F)switch(K){case"round":dK(z,X,G,E,Q,Z,!1);break;case"miter":if(!nK(z,X,G,E,Q,Z,J,!1))z.push(Y);break;default:z.push(Y);break}else z.push(Y)}return{outer:V,inner:z}}function pK($,Q){if($.length===0)return[];let Z=[],K=$[0];if(!K)return[];Z.push({type:"M",x:K.x,y:K.y});for(let J=1;J<$.length;J++){let q=$[J];if(!q)continue;Z.push({type:"L",x:q.x,y:q.y})}if(Q)Z.push({type:"Z"});return Z}function f8($,Q){let{xBorder:Z,yBorder:K,eps:J=1,lineJoin:q="round",miterLimit:U=4}=Q;if(Z<=0&&K<=0)return{outer:{commands:[],bounds:null},inner:{commands:[],bounds:null}};let W=U_($,J),H=[],_=[];for(let z=0;z<W.length;z++){let j=W[z];if(!j.closed){let E=j.points[0];if(E)j.points.push(E);j.closed=!0}let{outer:X,inner:G}=W_(j.points,Z,K,q,U);H.push(...pK(X,!0)),_.push(...pK(G,!0))}let N=null,V=null;if($.bounds)N={xMin:$.bounds.xMin-Z,yMin:$.bounds.yMin-K,xMax:$.bounds.xMax+Z,yMax:$.bounds.yMax+K},V={xMin:$.bounds.xMin+Z,yMin:$.bounds.yMin+K,xMax:$.bounds.xMax-Z,yMax:$.bounds.yMax-K};return{outer:{commands:H,bounds:N,flags:$.flags},inner:{commands:_,bounds:V,flags:$.flags}}}function r9($,Q){let{outer:Z,inner:K}=f8($,Q),J=[...Z.commands,...K.commands],q=Z.bounds;return{commands:J,bounds:q,flags:$.flags}}function H_($,Q,Z){return f8($,{xBorder:Q,yBorder:Q,...Z})}G6();class J6{_path;_transform;_font;constructor($,Q,Z){this._path=$;this._transform=Q;this._font=Z}static fromGlyph($,Q){let Z=h6($,Q);if(!Z)return null;return new J6(Z,{matrix2D:v6(),matrix3D:null},$)}static fromGlyphWithVariation($,Q,Z){let K=g9($,Q,Z);if(!K)return null;return new J6(K,{matrix2D:v6(),matrix3D:null},$)}static fromPath($){return new J6(r8($),{matrix2D:v6(),matrix3D:null},null)}static combine(...$){let Q=$.map((K)=>K.toPath()),Z=b9(Q);return new J6(Z,{matrix2D:v6(),matrix3D:null},null)}scale($,Q=$){let Z=S8(this._transform.matrix2D,I8($,Q));return new J6(this._path,{...this._transform,matrix2D:Z},this._font)}translate($,Q){let Z=S8(this._transform.matrix2D,a8($,Q));return new J6(this._path,{...this._transform,matrix2D:Z},this._font)}rotate($){let Q=S8(this._transform.matrix2D,k8($));return new J6(this._path,{...this._transform,matrix2D:Q},this._font)}rotateDeg($){return this.rotate($*Math.PI/180)}shear($,Q){let Z=S8(this._transform.matrix2D,C8($,Q));return new J6(this._path,{...this._transform,matrix2D:Z},this._font)}italic($){let Q=Math.tan($*Math.PI/180);return this.shear(Q,0)}matrix($){let Q=S8(this._transform.matrix2D,$);return new J6(this._path,{...this._transform,matrix2D:Q},this._font)}resetTransform(){return new J6(this._path,{matrix2D:v6(),matrix3D:null},this._font)}perspective($){let Q=this._transform.matrix3D?h9(this._transform.matrix3D,$):$;return new J6(this._path,{...this._transform,matrix3D:Q},this._font)}perspectiveVanish($,Q,Z){let K=A$($,Q,Z);return this.perspective(K)}apply(){let $=this.applyTransformToPath();return new J6($,{matrix2D:v6(),matrix3D:null},this._font)}embolden($){let Q=this.applyTransformToPath(),Z=H9(Q,$);return new J6(Z,{matrix2D:v6(),matrix3D:null},this._font)}condense($){let Q=this.applyTransformToPath(),Z=W9(Q,$);return new J6(Z,{matrix2D:v6(),matrix3D:null},this._font)}oblique($){let Q=this.applyTransformToPath(),Z=U9(Q,$);return new J6(Z,{matrix2D:v6(),matrix3D:null},this._font)}stroke($,Q,Z){let K=this.applyTransformToPath(),q=q9(K,typeof $==="number"?{width:$,lineCap:Q,lineJoin:Z}:$);return new J6(q,{matrix2D:v6(),matrix3D:null},this._font)}strokeAsymmetric($){let Q=this.applyTransformToPath(),{outer:Z,inner:K}=f8(Q,$);return{outer:new J6(Z,{matrix2D:v6(),matrix3D:null},this._font),inner:new J6(K,{matrix2D:v6(),matrix3D:null},this._font)}}strokeAsymmetricCombined($){let Q=this.applyTransformToPath(),Z=r9(Q,$);return new J6(Z,{matrix2D:v6(),matrix3D:null},this._font)}controlBox(){let $=this.applyTransformToPath();return w$($)}tightBounds(){let $=this.applyTransformToPath();return g0($)}getTransformMatrix(){return[...this._transform.matrix2D]}getTransformMatrix3D(){if(!this._transform.matrix3D)return null;return this._transform.matrix3D.map(($)=>[...$])}rasterize($){let Q=this.applyTransformToPath(),{width:Z=100,height:K=100,scale:J=1,offsetX:q=0,offsetY:U=0,pixelMode:W=1,fillRule:H=0,flipY:_=!0}=$,N=t6(Q,{width:Z,height:K,scale:J,offsetX:q,offsetY:U,pixelMode:W,fillRule:H,flipY:_});return i.fromBitmap(N)}rasterizeAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,pixelMode:J=1,fillRule:q=0,flipY:U=!0}=$??{},W=U8(Q,K,U);if(!W){let{createBitmap:j}=(G6(),L0(m9));return i.fromBitmap(j(1,1,J))}let H=W.maxX-W.minX+Z*2,_=W.maxY-W.minY+Z*2,N=-W.minX+Z,V=-W.minY+Z,z=t6(Q,{width:H,height:_,scale:K,offsetX:N,offsetY:V,pixelMode:J,fillRule:q,flipY:U});return i.fromBitmapWithBearing(z,W.minX-Z,-(W.minY-Z))}rasterizeWithGradient($,Q){let Z=this.applyTransformToPath(),{width:K=100,height:J=100,scale:q=1,offsetX:U=0,offsetY:W=0,pixelMode:H=1,fillRule:_=0,flipY:N=!0}=Q,V=J9(Z,$,{width:K,height:J,scale:q,offsetX:U,offsetY:W,pixelMode:H,fillRule:_,flipY:N});return i.fromBitmap(V)}toSdf($){let Q=this.applyTransformToPath(),Z=m8(Q,$);return i.fromBitmap(Z)}toSdfAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,spread:J=8,flipY:q=!0}=$??{},U=U8(Q,K,q);if(!U){let{createBitmap:z}=(G6(),L0(m9));return i.fromBitmap(z(1,1,1))}let W=U.maxX-U.minX+Z*2+J*2,H=U.maxY-U.minY+Z*2+J*2,_=-U.minX+Z+J,N=q?U.maxY+Z+J:-U.minY+Z+J,V=m8(Q,{width:W,height:H,scale:K,offsetX:_,offsetY:N,flipY:q,spread:J});return i.fromBitmapWithBearing(V,U.minX-Z-J,-(U.minY-Z-J))}toMsdf($){let Q=this.applyTransformToPath(),Z=u8(Q,$);return i.fromBitmap(Z)}toMsdfAuto($){let Q=this.applyTransformToPath(),{padding:Z=1,scale:K=1,spread:J=8,flipY:q=!0}=$??{},U=U8(Q,K,q);if(!U){let{createBitmap:z}=(G6(),L0(m9));return i.fromBitmap(z(1,1,2))}let W=U.maxX-U.minX+Z*2+J*2,H=U.maxY-U.minY+Z*2+J*2,_=-U.minX+Z+J,N=q?U.maxY+Z+J:-U.minY+Z+J,V=u8(Q,{width:W,height:H,scale:K,offsetX:_,offsetY:N,flipY:q,spread:J});return i.fromBitmapWithBearing(V,U.minX-Z-J,-(U.minY-Z-J))}toSVG($){let{flipY:Q=!0,scale:Z=1}=$??{};if(this.hasTransform()){let K=this.applyTransformToPath();return E8(K,{flipY:Q,scale:Z})}return E8(this._path,{flipY:Q,scale:Z})}toSVGElement($){let{fontSize:Q=100,fill:Z="currentColor",stroke:K,strokeWidth:J=1}=$??{},q=this.applyTransformToPath(),U=g0(q),W=this._font?Q/this._font.unitsPerEm:1,H=W!==1?O6(q,I8(W,W)):q,_=W!==1?{xMin:U.xMin*W,yMin:U.yMin*W,xMax:U.xMax*W,yMax:U.yMax*W}:U,N=K?J/2:0,V=Math.ceil(_.xMax-_.xMin+N*2),z=Math.ceil(_.yMax-_.yMin+N*2),j=`${_.xMin-N} ${-_.yMax-N} ${_.xMax-_.xMin+N*2} ${_.yMax-_.yMin+N*2}`,X=E8(H,{flipY:!0,scale:1}),G=K?` stroke="${K}" stroke-width="${J}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${V}" height="${z}" viewBox="${j}">
|
|
10
10
|
<path d="${X}" fill="${Z}"${G}/>
|
|
11
11
|
</svg>`}toCanvas($,Q){let{flipY:Z=!0,scale:K=1,offsetX:J=0,offsetY:q=0,fill:U="black",stroke:W,strokeWidth:H=1}=Q??{};if($.beginPath(),this._transform.matrix3D){let _=this.combinedMatrix3D(K,J,q);u0($,this._path,_,{flipY:Z})}else if(this.hasTransform2D()){let _=this.combinedMatrix2D(K,J,q);m0($,this._path,_,{flipY:Z})}else t8($,this._path,{flipY:Z,scale:K,offsetX:J,offsetY:q});if(U!=="none")$.fillStyle=U,$.fill();if(W)$.strokeStyle=W,$.lineWidth=H,$.stroke()}toPath2D($){let Q=this.applyTransformToPath();return D$(Q,$)}toPath(){return this.applyTransformToPath()}clone(){return new J6(r8(this._path),{matrix2D:[...this._transform.matrix2D],matrix3D:this._transform.matrix3D?this._transform.matrix3D.map(($)=>[...$]):null},this._font)}applyTransformToPath(){if(this._transform.matrix3D){let $=this._transform.matrix2D,Q=[[$[0],$[2],$[4]],[$[1],$[3],$[5]],[0,0,1]],Z=h9(this._transform.matrix3D,Q);return y9(this._path,Z)}return O6(this._path,this._transform.matrix2D)}hasTransform(){return this.hasTransform2D()||this._transform.matrix3D!==null}hasTransform2D(){let $=this._transform.matrix2D;return $[0]!==1||$[1]!==0||$[2]!==0||$[3]!==1||$[4]!==0||$[5]!==0}combinedMatrix2D($,Q,Z){let K=this._transform.matrix2D;return[K[0]*$,K[1]*$,K[2]*$,K[3]*$,K[0]*Q+K[2]*Z+K[4]*$,K[1]*Q+K[3]*Z+K[5]*$]}combinedMatrix3D($,Q,Z){let K=this._transform.matrix2D,J=this._transform.matrix3D??Y$(),q=[[K[0]*$,K[2]*$,K[4]*$+Q],[K[1]*$,K[3]*$,K[5]*$+Z],[0,0,1]];return h9(J,q)}}G6();function cK($,...Q){return Q.reduce((Z,K)=>K(Z),$)}function oK($,Q){return h6($,Q)}function iK($,Q){return(Z)=>O6(Z,I8($,Q??$))}function sK($,Q){return(Z)=>O6(Z,a8($,Q))}function aK($){return(Q)=>O6(Q,k8($))}function rK($){return(Q)=>O6(Q,k8($*Math.PI/180))}function tK($,Q){return(Z)=>O6(Z,C8($,Q))}function eK($){let Q=Math.tan($*Math.PI/180);return(Z)=>O6(Z,C8(Q,0))}function $J($){return(Q)=>O6(Q,$)}function QJ($){return(Q)=>y9(Q,$)}function ZJ($){return(Q)=>H9(Q,$)}function KJ($){return(Q)=>W9(Q,$)}function JJ($){return(Q)=>U9(Q,$)}function qJ($,Q,Z){let K=typeof $==="number"?{width:$,lineCap:Q,lineJoin:Z}:$;return(J)=>q9(J,K)}function UJ(){return($)=>r8($)}function WJ($){return b9($)}function HJ($){return(Q)=>f8(Q,$)}function _J($){return(Q)=>r9(Q,$)}function NJ($){return(Q)=>t6(Q,{width:$.width??100,height:$.height??100,scale:$.scale??1,offsetX:$.offsetX??0,offsetY:$.offsetY??0,pixelMode:$.pixelMode??1,fillRule:$.fillRule??0,flipY:$.flipY??!0})}function VJ($){let{padding:Q=1,scale:Z=1,pixelMode:K=1}=$??{};return(J)=>{let q=U8(J,Z,!0);if(!q){let{createBitmap:N}=(G6(),L0(m9));return N(1,1,K)}let U=q.maxX-q.minX+Q*2,W=q.maxY-q.minY+Q*2,H=-q.minX+Q,_=-q.minY+Q;return t6(J,{width:U,height:W,scale:Z,offsetX:H,offsetY:_,pixelMode:K,fillRule:0,flipY:!0})}}function zJ($,Q){return(Z)=>J9(Z,$,{width:Q.width??100,height:Q.height??100,scale:Q.scale??1,offsetX:Q.offsetX??0,offsetY:Q.offsetY??0,pixelMode:Q.pixelMode??1,fillRule:Q.fillRule??0,flipY:Q.flipY??!0})}function jJ($){return(Q)=>m8(Q,$)}function XJ($){return(Q)=>u8(Q,$)}function GJ($){return(Q)=>c6(U6(Q),$)}function EJ($){return(Q)=>A8(U6(Q),$)}function YJ($,Q){return(Z)=>x8(U6(Z),$,Q??$)}function wJ($,Q){return(Z)=>a9(U6(Z),$,Q??$)}function AJ($){return(Q)=>s9(U6(Q),$)}function FJ($,Q){return(Z)=>b8(Z,$,Q??$)}function LJ($,Q){return(Z)=>l9(Z.bitmap,Z.bearingX,Z.bearingY,$,Q??$)}function DJ($,Q){return(Z)=>r6(Z,$,{bearingX:0,bearingY:0,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26}).bitmap}function MJ($,Q){return(Z)=>w8(Z,$,{bearingX:0,bearingY:0,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26}).bitmap}function BJ($,Q){return(Z)=>r6(Z.bitmap,$,{bearingX:Z.bearingX,bearingY:Z.bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26})}function RJ($,Q){return(Z)=>w8(Z.bitmap,$,{bearingX:Z.bearingX,bearingY:Z.bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26})}function TJ($,Q){return(Z)=>Z9(Z,$,{bearingX:0,bearingY:0,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26}).bitmap}function OJ($,Q){return(Z)=>K9(Z,$,{bearingX:0,bearingY:0,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26}).bitmap}function PJ($,Q){return(Z)=>Z9(Z.bitmap,$,{bearingX:Z.bearingX,bearingY:Z.bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26})}function vJ($,Q){return(Z)=>K9(Z.bitmap,$,{bearingX:Z.bearingX,bearingY:Z.bearingY,offsetX26:Q?.offsetX26,offsetY26:Q?.offsetY26})}function IJ($,Q){return(Z)=>f9(Z,$,Q)}function kJ($,Q){return(Z)=>g8(Z,$,Q)}function CJ($,Q){return(Z)=>$9(Z,$,Q)}function SJ($,Q,Z,K){let J=$,q=Q??$,U=Z??$,W=K??$;return(H)=>Q9(H,J,q,U,W)}function hJ($){return(Q)=>W8(Q,$)}function yJ($){return o9($)}function bJ($){return i9($)}function gJ($){return(Q)=>E8(Q,$)}function mJ($){return U6($)}function __($,Q){return J6.fromGlyph($,Q)}function N_($,Q){let Z=Q.codePointAt(0);if(Z===void 0)return null;let K=$.glyphId(Z);if(K===void 0)return null;return J6.fromGlyph($,K)}function V_($,Q,Z){return J6.fromGlyphWithVariation($,Q,Z)}function z_($){return J6.fromPath($)}function j_($){return i.fromBitmap($)}function X_(...$){return J6.combine(...$)}class o6{data;start;end;pos;constructor($,Q=0,Z){if($ instanceof ArrayBuffer)this.data=new DataView($),this.start=Q,this.end=Z!==void 0?Q+Z:$.byteLength;else this.data=$,this.start=$.byteOffset+Q,this.end=Z!==void 0?this.start+Z:$.byteOffset+$.byteLength;this.pos=this.start}get offset(){return this.pos-this.start}get remaining(){return this.end-this.pos}get length(){return this.end-this.start}seek($){this.pos=this.start+$}skip($){this.pos+=$}slice($,Q){return new o6(this.data,this.start+$,Q)}sliceFrom($){return new o6(this.data,this.start+$,this.end-this.start-$)}peek($){let Q=this.pos,Z=$();return this.pos=Q,Z}uint8(){let $=this.data.getUint8(this.pos);return this.pos+=1,$}int8(){let $=this.data.getInt8(this.pos);return this.pos+=1,$}uint16(){let $=this.data.getUint16(this.pos,!1);return this.pos+=2,$}int16(){let $=this.data.getInt16(this.pos,!1);return this.pos+=2,$}uint32(){let $=this.data.getUint32(this.pos,!1);return this.pos+=4,$}int32(){let $=this.data.getInt32(this.pos,!1);return this.pos+=4,$}fixed(){return this.int32()/65536}f2dot14(){return this.int16()/16384}fword(){return this.int16()}ufword(){return this.uint16()}longDateTime(){let $=this.uint32(),Q=this.uint32();return BigInt($)<<32n|BigInt(Q)}tag(){return this.uint32()}tagString(){let $=this.uint32();return String.fromCharCode($>>24&255,$>>16&255,$>>8&255,$&255)}offset16(){return this.uint16()}offset32(){return this.uint32()}uint24(){let $=this.data.getUint8(this.pos),Q=this.data.getUint8(this.pos+1),Z=this.data.getUint8(this.pos+2);return this.pos+=3,$<<16|Q<<8|Z}uint8Array($){let Q=new Uint8Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.uint8();return Q}uint16Array($){let Q=new Uint16Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.uint16();return Q}int16Array($){let Q=new Int16Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.int16();return Q}uint32Array($){let Q=new Uint32Array($);for(let Z=0;Z<$;Z++)Q[Z]=this.uint32();return Q}array($,Q){let Z=Array($);for(let K=0;K<$;K++)Z[K]=Q(this);return Z}ascii($){let Q="";for(let Z=0;Z<$;Z++)Q+=String.fromCharCode(this.uint8());return Q}utf16be($){let Q=[],Z=$/2;for(let K=0;K<Z;K++)Q.push(this.uint16());return String.fromCharCode(...Q)}hasRemaining($){return this.remaining>=$}ensureRemaining($){if(this.remaining<$)throw Error(`Unexpected end of data: need ${$} bytes, have ${this.remaining}`)}bytes($){let Q=new Uint8Array(this.data.buffer,this.data.byteOffset+this.pos,$);return this.pos+=$,Q}readAt($,Q){let Z=this.pos;this.pos=this.start+$;let K=Q(this);return this.pos=Z,K}}function uJ($,Q){let Z=$.uint16(),K=$.uint16();$.skip(2);let J=[];for(let q=0;q<Q;q++){let U=$.uint16(),W=[];for(let H=0;H<U;H++)W.push({fromCoordinate:$.f2dot14(),toCoordinate:$.f2dot14()});J.push({axisValueMaps:W})}return{majorVersion:Z,minorVersion:K,axisSegmentMaps:J}}function xJ($,Q){let Z=$.axisValueMaps;if(Z.length===0)return Q;for(let q=0;q<Z.length-1;q++){let U=Z[q],W=Z[q+1];if(!U||!W)continue;if(Q>=U.fromCoordinate&&Q<=W.fromCoordinate){let H=(Q-U.fromCoordinate)/(W.fromCoordinate-U.fromCoordinate);return U.toCoordinate+H*(W.toCoordinate-U.toCoordinate)}}let K=Z[0],J=Z[Z.length-1];if(K&&Q<=K.fromCoordinate)return K.toCoordinate;return J?.toCoordinate??Q}function x$($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.axisSegmentMaps[K];if(q)Z.push(xJ(q,J));else Z.push(J)}return Z}function fJ($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16();$.skip(2);let J=$.uint16(),q=$.uint16(),U=$.uint16(),W=$.uint16(),H=[];$.seek(K);for(let V=0;V<J;V++){let z=$.offset,j=$.uint32(),X=$.fixed(),G=$.fixed(),E=$.fixed(),Y=$.uint16(),w=$.uint16();H.push({tag:j,minValue:X,defaultValue:G,maxValue:E,flags:Y,axisNameId:w}),$.seek(z+q)}let _=[],N=W>=4+J*4+2;for(let V=0;V<U;V++){let z=$.offset,j=$.uint16(),X=$.uint16(),G=[];for(let Y=0;Y<J;Y++)G.push($.fixed());let E={subfamilyNameId:j,flags:X,coordinates:G};if(N)E.postScriptNameId=$.uint16();_.push(E),$.seek(z+W)}return{majorVersion:Q,minorVersion:Z,axes:H,instances:_}}function f$($,Q){if(Q<$.defaultValue){if(Q<$.minValue)Q=$.minValue;if($.defaultValue===$.minValue)return 0;return(Q-$.defaultValue)/($.defaultValue-$.minValue)}else if(Q>$.defaultValue){if(Q>$.maxValue)Q=$.maxValue;if($.defaultValue===$.maxValue)return 0;return(Q-$.defaultValue)/($.maxValue-$.defaultValue)}return 0}function lJ($){let Q=$.uint16(),Z=$.uint16(),K=$.offset32(),J=$.offset32(),q=$.offset32(),U=$.offset32(),W=G_($.sliceFrom(K)),H=J!==0?l$($.sliceFrom(J)):null,_=q!==0?l$($.sliceFrom(q)):null,N=U!==0?l$($.sliceFrom(U)):null;return{majorVersion:Q,minorVersion:Z,itemVariationStore:W,advanceWidthMapping:H,lsbMapping:_,rsbMapping:N}}function G_($){let Q=$.uint16(),Z=$.offset32(),K=$.uint16(),J=[];for(let N=0;N<K;N++)J.push($.offset32());let q=$.sliceFrom(Z),U=q.uint16(),W=q.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let z=0;z<U;z++)V.push({startCoord:q.f2dot14(),peakCoord:q.f2dot14(),endCoord:q.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<J.length;N++){let V=J[N],z=$.sliceFrom(V),j=z.uint16(),X=z.uint16(),G=z.uint16(),E=[];for(let D=0;D<G;D++)E.push(z.uint16());let Y=(X&32768)!==0,w=X&32767,F=G-w,A=[];for(let D=0;D<j;D++){let L=[];for(let R=0;R<w;R++)if(Y)L.push(z.int32());else L.push(z.int16());for(let R=0;R<F;R++)if(Y)L.push(z.int16());else L.push(z.int8());A.push(L)}_.push({itemCount:j,regionIndexes:E,deltaSets:A})}return{format:Q,variationRegions:H,itemVariationData:_}}function l$($){let Q=$.uint8(),Z=$.uint8(),K=Q===0?$.uint16():$.uint32(),J=(Z&15)+1,q=(Z>>4&3)+1,U=[];for(let W=0;W<K;W++){let H=0;for(let V=0;V<q;V++)H=H<<8|$.uint8();let _=H&(1<<J)-1,N=H>>J;U.push({outer:N,inner:_})}return{format:Q,mapCount:K,entryFormat:Z,innerIndexBitCount:J,mapData:U}}function t9($,Q){let Z=1;for(let K=0;K<$.regionAxes.length&&K<Q.length;K++){let J=$.regionAxes[K],q=Q[K];if(J===void 0||q===void 0)continue;if(q<J.startCoord||q>J.endCoord)return 0;if(q===J.peakCoord)continue;if(q<J.peakCoord){if(J.peakCoord===J.startCoord)continue;Z*=(q-J.startCoord)/(J.peakCoord-J.startCoord)}else{if(J.peakCoord===J.endCoord)continue;Z*=(J.endCoord-q)/(J.endCoord-J.peakCoord)}}return Z}function dJ($,Q,Z,K){let J,q;if(K&&Q<K.mapData.length){let _=K.mapData[Q];if(!_)J=0,q=Q;else J=_.outer,q=_.inner}else J=0,q=Q;let U=$.itemVariationStore.itemVariationData[J];if(!U||q>=U.itemCount)return 0;let W=U.deltaSets[q];if(!W)return 0;let H=0;for(let _=0;_<U.regionIndexes.length;_++){let N=U.regionIndexes[_],V=$.itemVariationStore.variationRegions[N];if(!V)continue;let z=t9(V,Z),j=W[_]??0;H+=z*j}return Math.round(H)}function d$($,Q,Z){return dJ($,Q,Z,$.advanceWidthMapping)}function nJ($,Q,Z){if(!$.lsbMapping)return 0;return dJ($,Q,Z,$.lsbMapping)}class l8{font;_coords;_variations;_advanceDeltas=null;constructor($,Q){this.font=$,this._coords=[],this._variations=new Map;let Z=$.fvar;if(Z){if(this._coords=Array(Z.axes.length).fill(0),Q)this.setVariations(Q)}}setVariations($){let Q=this.font.fvar;if(!Q)return;if(this._advanceDeltas=null,Array.isArray($))for(let K=0;K<$.length;K++){let J=$[K];this._variations.set(J.tag,J.value)}else{let K=Object.entries($);for(let J=0;J<K.length;J++){let[q,U]=K[J],W=k(q.padEnd(4," "));this._variations.set(W,U)}}for(let K=0;K<Q.axes.length;K++){let J=Q.axes[K],q=this._variations.get(J.tag)??J.defaultValue;this._coords[K]=f$(J,q)}let Z=this.font.avar;if(Z)this._coords=x$(Z,this._coords)}get normalizedCoords(){return this._coords}get isVariable(){return this.font.isVariable}get axes(){return this.font.fvar?.axes??[]}getAxisValue($){let Q=typeof $==="string"?k($.padEnd(4," ")):$,Z=this.font.fvar;if(!Z)return null;let K=this._variations.get(Q);if(K!==void 0)return K;return Z.axes.find((q)=>q.tag===Q)?.defaultValue??null}advanceWidth($){let Q=this.font.advanceWidth($);if(this._coords.length>0&&this.font.hvar){if(this._advanceDeltas){let K=this._advanceDeltas.get($);if(K!==void 0)return Q+K}else this._advanceDeltas=new Map;let Z=d$(this.font.hvar,$,this._coords);return this._advanceDeltas.set($,Z),Q+Z}return Q}leftSideBearing($){let Q=this.font.leftSideBearing($);if(this._coords.length>0&&this.font.hvar){let Z=nJ(this.font.hvar,$,this._coords);Q+=Z}return Q}get numGlyphs(){return this.font.numGlyphs}get unitsPerEm(){return this.font.unitsPerEm}get ascender(){return this.font.ascender}get descender(){return this.font.descender}get lineGap(){return this.font.lineGap}glyphId($){return this.font.glyphId($)}glyphIdForChar($){return this.font.glyphIdForChar($)}hasTable($){return this.font.hasTable($)}get gdef(){return this.font.gdef}get gsub(){return this.font.gsub}get gpos(){return this.font.gpos}get kern(){return this.font.kern}get morx(){return this.font.morx}get cmap(){return this.font.cmap}get hmtx(){return this.font.hmtx}get hhea(){return this.font.hhea}}function E_($,Q){return new l8($,Q)}var C_=["cmap","head","hhea","hmtx","maxp","name","OS/2","post","cvt ","fpgm","glyf","loca","prep","CFF ","VORG","EBDT","EBLC","gasp","hdmx","kern","LTSH","PCLT","VDMX","vhea","vmtx","BASE","GDEF","GPOS","GSUB","EBSC","JSTF","MATH","CBDT","CBLC","COLR","CPAL","SVG ","sbix","acnt","avar","bdat","bloc","bsln","cvar","fdsc","feat","fmtx","fvar","gvar","hsty","just","lcar","mort","morx","opbd","prop","trak","Zapf","Silf","Glat","Gloc","Feat","Sill"];function Wq($,Q){let Z=0;for(let K=0;K<5;K++){let J=$[Q.value++];if(K===0&&J===128)throw Error("Invalid UIntBase128: leading zeros");if(Z>2097151)throw Error("UIntBase128 overflow");if(Z=Z<<7|J&127,(J&128)===0)return Z}throw Error("UIntBase128 too long")}function t$($,Q){let Z=$[Q.value++];if(Z===253){let K=$[Q.value++],J=$[Q.value++];return K<<8|J}else if(Z===255)return $[Q.value++]+506;else if(Z===254)return $[Q.value++]+253;return Z}function S_($,Q,Z){let K=[];for(let J=0;J<Z;J++){let q=$[Q.value++],U=q&63,W=q>>6&3,H;if(U===63)H=String.fromCharCode($[Q.value++],$[Q.value++],$[Q.value++],$[Q.value++]);else H=C_[U];let _=Wq($,Q),N=_;if(H==="glyf"||H==="loca"?W===0:W!==0)N=Wq($,Q);K.push({tag:H,origLength:_,transformLength:N,transformVersion:W})}return K}async function h_($){if(typeof DecompressionStream<"u")try{let Z=new DecompressionStream("brotli"),J=new Blob([$.buffer]).stream().pipeThrough(Z),q=await new Response(J).arrayBuffer();return new Uint8Array(q)}catch{}let{decompress:Q}=await Promise.resolve().then(() => (Uq(),qq));return Q($)}function d6($,Q,Z){$[Q]=Z>>8&255,$[Q+1]=Z&255}function _9($,Q,Z){$[Q]=Z>>24&255,$[Q+1]=Z>>16&255,$[Q+2]=Z>>8&255,$[Q+3]=Z&255}function L8($,Q){return $[Q]<<8|$[Q+1]}function e6($,Q){let Z=L8($,Q);return Z>=32768?Z-65536:Z}function d8($,Q){return($[Q]<<24|$[Q+1]<<16|$[Q+2]<<8|$[Q+3])>>>0}function Hq($,Q,Z){let K=0,J=Math.ceil(Z/4);for(let q=0;q<J;q++){let U=Q+q*4;K=K+(($[U]||0)<<24|($[U+1]||0)<<16|($[U+2]||0)<<8|($[U+3]||0))>>>0}return K}function $5($){return $+3&-4}function y_($,Q,Z,K,J){let q=[],U=0,W=0;function H(_,N){return _&1?N:-N}for(let _=0;_<Z;_++){let N=$[K.value++],V=N>>7===0,z=N&127,j=0,X=0;if(z<10)j=0,X=H(N,((z&14)<<7)+Q[J.value++]);else if(z<20)j=H(N,((z-10&14)<<7)+Q[J.value++]),X=0;else if(z<84){let G=z-20,E=Q[J.value++];j=H(N,1+(G&48)+(E>>4)),X=H(N>>1,1+((G&12)<<2)+(E&15))}else if(z<120){let G=z-84;j=H(N,1+(Math.floor(G/12)<<8)+Q[J.value++]),X=H(N>>1,1+(G%12>>2<<8)+Q[J.value++])}else if(z<124){let G=Q[J.value++],E=Q[J.value++],Y=Q[J.value++];j=H(N,(G<<4)+(E>>4)),X=H(N>>1,((E&15)<<8)+Y)}else j=H(N,(Q[J.value++]<<8)+Q[J.value++]),X=H(N>>1,(Q[J.value++]<<8)+Q[J.value++]);U+=j,W+=X,q.push({x:U,y:W,onCurve:V})}return q}function b_($,Q,Z){let K=0,J=L8($,K);if(K+=2,J!==0)throw Error(`Unsupported glyf transform version: ${J}`);let q=L8($,K);K+=2;let U=L8($,K);K+=2;let W=L8($,K);K+=2;let H=d8($,K);K+=4;let _=d8($,K);K+=4;let N=d8($,K);K+=4;let V=d8($,K);K+=4;let z=d8($,K);K+=4;let j=d8($,K);K+=4;let X=d8($,K);K+=4;let G=$.slice(K,K+H);K+=H;let E=$.slice(K,K+_);K+=_;let Y=$.slice(K,K+N);K+=N;let w=$.slice(K,K+V);K+=V;let F=$.slice(K,K+z);K+=z;let A=$.slice(K,K+j);K+=j;let D=$.slice(K,K+X),L={value:0},R={value:0},B={value:0},v={value:0},T={value:0},g={value:0},P={value:0},f=[0],l=[],C=0;for(let o=0;o<Q;o++){let n=e6(G,L.value);if(L.value+=2,n===0){l.push(new Uint8Array(0)),f.push(C);continue}if(n>0){let e=g_(n,E,R,Y,B,w,v,A,g,D,P,q);l.push(e),C+=$5(e.length),f.push(C)}else{let e=m_(F,T,A,g,D,P,q);l.push(e),C+=$5(e.length),f.push(C)}}let O=new Uint8Array(C),h=0;for(let o=0;o<l.length;o++){let n=l[o];O.set(n,h),h+=$5(n.length)}let S=Z===0?(Q+1)*2:(Q+1)*4,d=new Uint8Array(S);for(let o=0;o<=Q;o++)if(Z===0)d6(d,o*2,f[o]/2);else _9(d,o*4,f[o]);return{glyf:O,loca:d}}function g_($,Q,Z,K,J,q,U,W,H,_,N,V){let z=[],j=0;for(let h=0;h<$;h++){let S=t$(Q,Z);j+=S,z.push(j-1)}let X=y_(K,q,j,J,U),G,E,Y,w;if((V&1)===0&&H.value+8<=W.length)G=e6(W,H.value),H.value+=2,E=e6(W,H.value),H.value+=2,Y=e6(W,H.value),H.value+=2,w=e6(W,H.value),H.value+=2;else{G=E=32767,Y=w=-32768;for(let h=0;h<X.length;h++){let S=X[h];G=Math.min(G,S.x),E=Math.min(E,S.y),Y=Math.max(Y,S.x),w=Math.max(w,S.y)}}let A=t$(q,U),D=_.slice(N.value,N.value+A);N.value+=A;let L=[],R=[],B=0,v=0;for(let h=0;h<X.length;h++){let S=X[h];L.push(S.x-B),R.push(S.y-v),B=S.x,v=S.y}let T=[],g=[],P=[];for(let h=0;h<j;h++){let S=X[h].onCurve?1:0,d=L[h],o=R[h];if(d===0)S|=16;else if(d>=-255&&d<=255){if(S|=2,d>0)S|=16;g.push(Math.abs(d))}else g.push(d>>8&255,d&255);if(o===0)S|=32;else if(o>=-255&&o<=255){if(S|=4,o>0)S|=32;P.push(Math.abs(o))}else P.push(o>>8&255,o&255);T.push(S)}let l=10+$*2+2+A+T.length+g.length+P.length,C=new Uint8Array(l),O=0;d6(C,O,$),O+=2,d6(C,O,G&65535),O+=2,d6(C,O,E&65535),O+=2,d6(C,O,Y&65535),O+=2,d6(C,O,w&65535),O+=2;for(let h=0;h<z.length;h++){let S=z[h];d6(C,O,S),O+=2}d6(C,O,A),O+=2,C.set(D,O),O+=A;for(let h=0;h<T.length;h++){let S=T[h];C[O++]=S}for(let h=0;h<g.length;h++){let S=g[h];C[O++]=S}for(let h=0;h<P.length;h++){let S=P[h];C[O++]=S}return C.slice(0,O)}function m_($,Q,Z,K,J,q,U){let W=[],H=e6(Z,K.value);K.value+=2;let _=e6(Z,K.value);K.value+=2;let N=e6(Z,K.value);K.value+=2;let V=e6(Z,K.value);K.value+=2,W.push(255,255),W.push(H>>8&255,H&255),W.push(_>>8&255,_&255),W.push(N>>8&255,N&255),W.push(V>>8&255,V&255);let z=!0,j=!1;while(z){let X=L8($,Q.value);Q.value+=2;let G=L8($,Q.value);if(Q.value+=2,W.push(X>>8&255,X&255),W.push(G>>8&255,G&255),X&1)W.push($[Q.value++]),W.push($[Q.value++]),W.push($[Q.value++]),W.push($[Q.value++]);else W.push($[Q.value++]),W.push($[Q.value++]);if(X&8)W.push($[Q.value++]),W.push($[Q.value++]);else if(X&64)for(let E=0;E<4;E++)W.push($[Q.value++]);else if(X&128)for(let E=0;E<8;E++)W.push($[Q.value++]);if(z=(X&32)!==0,X&256)j=!0}if(j){let X=t$(J,q);W.push(X>>8&255,X&255);for(let G=0;G<X;G++)W.push(J[q.value++])}return new Uint8Array(W)}async function _q($){let Q=new Uint8Array($),Z=new DataView($);if(Z.getUint32(0,!1)!==2001684018)throw Error("Not a valid WOFF2 file");let J=Z.getUint32(4,!1),q=Z.getUint16(12,!1),U=Z.getUint32(20,!1),W={value:48},H=S_(Q,W,q),_=Q.slice(W.value,W.value+U),N=await h_(_),V=new Map,z=0;for(let P=0;P<H.length;P++){let f=H[P],l=N.slice(z,z+f.transformLength);V.set(f.tag,l),z+=f.transformLength}let j=V.get("maxp"),X=V.get("head");if(!j||!X)throw Error("Missing required tables");let G=L8(j,4),E=e6(X,50),Y=H.find((P)=>P.tag==="glyf"),w=H.find((P)=>P.tag==="loca");if(Y&&Y.transformVersion===0){let P=V.get("glyf");if(!P)throw Error("Missing glyf table data for transform");let{glyf:f,loca:l}=b_(P,G,E);if(V.set("glyf",f),V.set("loca",l),Y.origLength=f.length,w)w.origLength=l.length}let F=12,A=q*16,D=F+A,L=[];for(let P=0;P<H.length;P++){let f=H[P];L.push(D),D+=$5(f.origLength)}let R=new Uint8Array(D),B=2**Math.floor(Math.log2(q))*16,v=Math.floor(Math.log2(q)),T=q*16-B;_9(R,0,J),d6(R,4,q),d6(R,6,B),d6(R,8,v),d6(R,10,T);let g=-1;for(let P=0;P<H.length;P++){let f=H[P],l=V.get(f.tag);if(!l)throw Error(`Missing table data for ${f.tag}`);let C=F+P*16,O=L[P];if(f.tag==="head"&&O!==void 0)g=O;for(let S=0;S<4;S++)R[C+S]=f.tag.charCodeAt(S);let h=Hq(l,0,l.length);_9(R,C+4,h),_9(R,C+8,L[P]),_9(R,C+12,f.origLength),R.set(l.slice(0,f.origLength),L[P])}if(g>=0){let f=2981146554-Hq(R,0,R.length)>>>0;_9(R,g+8,f)}return R.buffer}var u_={hang:1751215719,icfb:1768121954,icft:1768121972,ideo:1768187247,idtp:1768191088,math:1835103336,romn:1919905134};function Q0($){let Q=$.uint16(),Z=$.int16(),K={format:Q,coordinate:Z};if(Q===2)K.referenceGlyph=$.uint16(),K.baseCoordPoint=$.uint16();else if(Q===3)K.deviceOffset=$.uint16();return K}function Nq($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=Z.uint16(),U=null,W=null;if(K!==0){let _=$.sliceFrom(Q+K);U=Q0(_).coordinate}if(J!==0){let _=$.sliceFrom(Q+J);W=Q0(_).coordinate}let H=[];for(let _=0;_<q;_++){let N=Z.uint32(),V=Z.uint16(),z=Z.uint16(),j=null,X=null;if(V!==0){let G=$.sliceFrom(Q+V);j=Q0(G).coordinate}if(z!==0){let G=$.sliceFrom(Q+z);X=Q0(G).coordinate}H.push({featureTag:N,minCoord:j,maxCoord:X})}return{minCoord:U,maxCoord:W,featMinMaxRecords:H}}function x_($,Q,Z){if(Q===0)return null;let K=$.sliceFrom(Q),J=K.uint16(),q=K.uint16(),U=[];for(let H=0;H<q;H++)U.push(K.uint16());let W=[];for(let H=0;H<U.length;H++){let _=U[H];if(_!==0){let N=$.sliceFrom(Q+_);W.push(Q0(N).coordinate)}else W.push(0)}return{defaultBaselineIndex:J,baseCoords:W}}function f_($,Q,Z){let K=$.sliceFrom(Q),J=K.uint16(),q=K.uint16(),U=K.uint16(),W=new Map,H=[];for(let V=0;V<U;V++){let z=K.uint32(),j=K.uint16();H.push({tag:z,offset:j})}let _=x_($,Q+J,Z),N=Nq($,Q+q);for(let V=0;V<H.length;V++){let z=H[V],j=Nq($,Q+z.offset);if(j)W.set(z.tag,j)}return{baseValues:_,defaultMinMax:N,baseLangSysRecords:W}}function Vq($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=[];if(K!==0){let W=$.sliceFrom(Q+K),H=W.uint16();for(let _=0;_<H;_++)q.push(W.uint32())}let U=[];if(J!==0){let W=$.sliceFrom(Q+J),H=W.uint16(),_=[];for(let N=0;N<H;N++){let V=W.uint32(),z=W.uint16();_.push({tag:V,offset:z})}for(let N=0;N<_.length;N++){let V=_[N],z=f_($,Q+J+V.offset,q);U.push({scriptTag:V.tag,...z})}}return{baseTagList:q,baseScriptList:U}}function e$($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=Vq($,K),U=Vq($,J);return{majorVersion:Q,minorVersion:Z,horizAxis:q,vertAxis:U}}function l_($,Q,Z,K=!0){let J=K?$.horizAxis:$.vertAxis;if(!J)return null;let q=J.baseScriptList.find((W)=>W.scriptTag===Q);if(!q?.baseValues)return null;let U=J.baseTagList.indexOf(Z);if(U===-1)return null;return q.baseValues.baseCoords[U]??null}function d_($,Q,Z=!0){let K=Z?$.horizAxis:$.vertAxis;if(!K)return null;let J=K.baseScriptList.find((H)=>H.scriptTag===Q);if(!J?.baseValues)return null;let q=J.baseValues.defaultBaselineIndex,U=K.baseTagList[q],W=J.baseValues.baseCoords[q];if(U===void 0||W===void 0)return null;return{tag:U,coordinate:W}}function n_($,Q,Z,K=!0){let J=K?$.horizAxis:$.vertAxis;if(!J)return null;let q=J.baseScriptList.find((U)=>U.scriptTag===Q);if(!q)return null;if(Z!==void 0){let U=q.baseLangSysRecords.get(Z);if(U)return{minCoord:U.minCoord,maxCoord:U.maxCoord}}if(q.defaultMinMax)return{minCoord:q.defaultMinMax.minCoord,maxCoord:q.defaultMinMax.maxCoord};return null}var p_={SmallMetrics:1,SmallMetricsPng:17,BigMetrics:2,BigMetricsPng:18,CompressedPng:19};function jq($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint32(),q=[];for(let U=0;U<J;U++){let W=$.uint32(),H=$.uint32(),_=$.uint32(),N=$.uint32(),V=zq($),z=zq($),j=$.uint16(),X=$.uint16(),G=$.uint8(),E=$.uint8(),Y=$.uint8(),w=$.int8();q.push({indexSubTableArrayOffset:W,indexTablesSize:H,numberOfIndexSubTables:_,colorRef:N,hori:V,vert:z,startGlyphIndex:j,endGlyphIndex:X,ppemX:G,ppemY:E,bitDepth:Y,flags:w,indexSubTables:[]})}for(let U=0;U<q.length;U++){let W=q[U],H=$.sliceFrom(Q+W.indexSubTableArrayOffset),_=[];for(let N=0;N<W.numberOfIndexSubTables;N++)_.push({firstGlyphIndex:H.uint16(),lastGlyphIndex:H.uint16(),additionalOffsetToIndexSubtable:H.uint32()});for(let N=0;N<_.length;N++){let V=_[N],z=c_($,Q+W.indexSubTableArrayOffset+V.additionalOffsetToIndexSubtable,V.firstGlyphIndex,V.lastGlyphIndex);W.indexSubTables.push(z)}}return{majorVersion:Z,minorVersion:K,bitmapSizes:q}}function zq($){return{ascender:$.int8(),descender:$.int8(),widthMax:$.uint8(),caretSlopeNumerator:$.int8(),caretSlopeDenominator:$.int8(),caretOffset:$.int8(),minOriginSB:$.int8(),minAdvanceSB:$.int8(),maxBeforeBL:$.int8(),minAfterBL:$.int8(),pad1:$.int8(),pad2:$.int8()}}function c_($,Q,Z,K){let J=$.sliceFrom(Q),q=J.uint16(),U=J.uint16(),W=J.uint32(),H=new Map,_=K-Z+1;switch(q){case 1:{let N=[];for(let V=0;V<=_;V++)N.push(J.uint32());for(let V=0;V<_;V++){let z=N[V],j=N[V+1];if(z===void 0||j===void 0)continue;if(j>z)H.set(Z+V,{offset:W+z,length:j-z})}break}case 2:{let N=J.uint32(),V={height:J.uint8(),width:J.uint8(),horiBearingX:J.int8(),horiBearingY:J.int8(),horiAdvance:J.uint8(),vertBearingX:J.int8(),vertBearingY:J.int8(),vertAdvance:J.uint8()};for(let z=0;z<_;z++)H.set(Z+z,{offset:W+z*N,length:N});break}case 3:{let N=[];for(let V=0;V<=_;V++)N.push(J.uint16());for(let V=0;V<_;V++){let z=N[V],j=N[V+1];if(z===void 0||j===void 0)continue;if(j>z)H.set(Z+V,{offset:W+z,length:j-z})}break}case 4:{let N=J.uint32(),V=[];for(let z=0;z<=N;z++)V.push({glyphId:J.uint16(),offset:J.uint16()});for(let z=0;z<N;z++){let j=V[z],X=V[z+1];if(j===void 0||X===void 0)continue;H.set(j.glyphId,{offset:W+j.offset,length:X.offset-j.offset})}break}case 5:{let N=J.uint32();J.skip(8);let V=J.uint32();for(let z=0;z<V;z++){let j=J.uint16();H.set(j,{offset:W+z*N,length:N})}break}}return{firstGlyphIndex:Z,lastGlyphIndex:K,indexFormat:q,imageFormat:U,imageDataOffset:W,glyphOffsets:H}}function Xq($){let Q=$.uint16(),Z=$.uint16(),K=$.bytes($.remaining);return{majorVersion:Q,minorVersion:Z,data:K}}function o_($,Q,Z,K){let J=null,q=1/0;for(let U=0;U<$.bitmapSizes.length;U++){let W=$.bitmapSizes[U];if(Z<W.startGlyphIndex||Z>W.endGlyphIndex)continue;let H=Math.abs(W.ppemX-K);if(H<q)q=H,J=W}if(!J)return null;for(let U=0;U<J.indexSubTables.length;U++){let W=J.indexSubTables[U],H=W.glyphOffsets.get(Z);if(!H)continue;let _=Q.data.slice(H.offset-4,H.offset-4+H.length);return i_(_,W.imageFormat)}return null}function i_($,Q){if($.length===0)return null;let Z=0,K;switch(Q){case 1:case 2:case 17:case 18:{if(Q===1||Q===17){if(Z+5>$.length)return null;K={height:$[Z++]??0,width:$[Z++]??0,bearingX:($[Z++]??0)<<24>>24,bearingY:($[Z++]??0)<<24>>24,advance:$[Z++]??0}}else{if(Z+8>$.length)return null;K={height:$[Z++]??0,width:$[Z++]??0,bearingX:($[Z++]??0)<<24>>24,bearingY:($[Z++]??0)<<24>>24,advance:$[Z++]??0},Z+=3}break}case 19:{K={height:0,width:0,bearingX:0,bearingY:0,advance:0};break}default:return null}return{metrics:K,imageFormat:Q,data:$.slice(Z)}}function s_($,Q,Z){for(let K=0;K<$.bitmapSizes.length;K++){let J=$.bitmapSizes[K];if(Z!==void 0&&J.ppemX!==Z)continue;if(Q<J.startGlyphIndex||Q>J.endGlyphIndex)continue;for(let q=0;q<J.indexSubTables.length;q++)if(J.indexSubTables[q].glyphOffsets.has(Q))return!0}return!1}function a_($){let Q=new Set;for(let Z=0;Z<$.bitmapSizes.length;Z++){let K=$.bitmapSizes[Z];Q.add(K.ppemX)}return[...Q].sort((Z,K)=>Z-K)}var V9=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];function $1($){let Q=$.offset,Z=$.uint8(),K=$.uint8(),J=$.uint8(),q=$.uint8();$.seek(Q+J);let U=D8($).map((E)=>new TextDecoder().decode(E)),W=D8($),H=[],N=D8($).map((E)=>new TextDecoder().decode(E)),V=D8($);for(let E=0;E<W.length;E++){let Y=W[E];H.push(Gq(new o6(Y.buffer,Y.byteOffset,Y.byteLength),N))}let z=[],j=[],X=[],G=[];for(let E=0;E<H.length;E++){let Y=H[E];if(Y.charStrings!==void 0)$.seek(Q+Y.charStrings),z.push(D8($));else z.push([]);if(Y.private){let[w,F]=Y.private,A=Eq($.slice(F,w),N);if(A.subrs!==void 0)$.seek(Q+F+A.subrs),j.push(D8($));else j.push([])}else j.push([]);if(Y.fdArray!==void 0){$.seek(Q+Y.fdArray);let w=D8($),F=[];for(let A=0;A<w.length;A++){let D=w[A],L=Gq(new o6(D.buffer,D.byteOffset,D.byteLength),N);if(L.private){let[R,B]=L.private,v=Eq($.slice(Q+B,R),N);if(Object.assign(L,v),v.subrs!==void 0)$.seek(Q+B+v.subrs),L.localSubrs=D8($)}F.push(L)}X.push(F)}else X.push([]);if(Y.fdSelect!==void 0){$.seek(Q+Y.fdSelect);let w=z[z.length-1];G.push(e_($,w?.length??0))}else G.push({format:0,select:()=>0})}return{version:{major:Z,minor:K},names:U,topDicts:H,strings:N,globalSubrs:V,charStrings:z,localSubrs:j,fdArrays:X,fdSelects:G}}function D8($){let Q=$.uint16();if(Q===0)return[];let Z=$.uint8(),K=[];for(let q=0;q<=Q;q++)K.push(r_($,Z));let J=[];for(let q=0;q<Q;q++){let U=K[q],W=K[q+1];if(U===void 0||W===void 0)continue;let H=W-U;J.push($.bytes(H))}return J}function r_($,Q){switch(Q){case 1:return $.uint8();case 2:return $.uint16();case 3:return $.uint24();case 4:return $.uint32();default:throw Error(`Invalid offset size: ${Q}`)}}function Yq($){let Q=new Map,Z=[];while($.remaining>0){let K=$.uint8();if(K<=21){let J=K;if(K===12)J=3072|$.uint8();Q.set(J,[...Z]),Z.length=0}else if(K===28)Z.push($.int16());else if(K===29)Z.push($.int32());else if(K===30)Z.push(t_($));else if(K>=32&&K<=246)Z.push(K-139);else if(K>=247&&K<=250){let J=$.uint8();Z.push((K-247)*256+J+108)}else if(K>=251&&K<=254){let J=$.uint8();Z.push(-(K-251)*256-J-108)}}return Q}function t_($){let Q="",Z="0123456789.EE -",K=!1;while(!K){let J=$.uint8();for(let q=0;q<2;q++){let U=q===0?J>>4:J&15;if(U===15){K=!0;break}if(U===12)Q+="E-";else Q+=Z[U]}}return parseFloat(Q)}function Gq($,Q){let Z=Yq($),K={},J=(U)=>{if(U<V9.length)return V9[U]??"";return Q[U-V9.length]??""},q=[...Z];for(let U=0;U<q.length;U++){let[W,H]=q[U],_=H[0],N=H[1],V=H[2];switch(W){case 0:if(_!==void 0)K.version=J(_);break;case 1:if(_!==void 0)K.notice=J(_);break;case 3072:if(_!==void 0)K.copyright=J(_);break;case 2:if(_!==void 0)K.fullName=J(_);break;case 3:if(_!==void 0)K.familyName=J(_);break;case 4:if(_!==void 0)K.weight=J(_);break;case 3073:K.isFixedPitch=_!==0;break;case 3074:K.italicAngle=_;break;case 3075:K.underlinePosition=_;break;case 3076:K.underlineThickness=_;break;case 3077:K.paintType=_;break;case 3078:K.charstringType=_;break;case 3079:K.fontMatrix=H;break;case 13:K.uniqueID=_;break;case 5:K.fontBBox=H;break;case 3080:K.strokeWidth=_;break;case 15:K.charset=_;break;case 16:K.encoding=_;break;case 17:K.charStrings=_;break;case 18:if(_!==void 0&&N!==void 0)K.private=[_,N];break;case 3092:K.syntheticBase=_;break;case 3093:if(_!==void 0)K.postScript=J(_);break;case 3094:if(_!==void 0)K.baseFontName=J(_);break;case 3095:K.baseFontBlend=H;break;case 3102:if(_!==void 0&&N!==void 0&&V!==void 0)K.ros={registry:J(_),ordering:J(N),supplement:V};break;case 3103:K.cidFontVersion=_;break;case 3104:K.cidFontRevision=_;break;case 3105:K.cidFontType=_;break;case 3106:K.cidCount=_;break;case 3107:K.uidBase=_;break;case 3108:K.fdArray=_;break;case 3109:K.fdSelect=_;break;case 3110:if(_!==void 0)K.fontName=J(_);break}}return K}function Eq($,Q){let Z=Yq($),K={},J=[...Z];for(let q=0;q<J.length;q++){let[U,W]=J[q],H=W[0];switch(U){case 6:K.blueValues=N9(W);break;case 7:K.otherBlues=N9(W);break;case 8:K.familyBlues=N9(W);break;case 9:K.familyOtherBlues=N9(W);break;case 3081:K.blueScale=H;break;case 3082:K.blueShift=H;break;case 3083:K.blueFuzz=H;break;case 10:K.stdHW=H;break;case 11:K.stdVW=H;break;case 3084:K.stemSnapH=N9(W);break;case 3085:K.stemSnapV=N9(W);break;case 3086:K.forceBold=H!==0;break;case 3089:K.languageGroup=H;break;case 3090:K.expansionFactor=H;break;case 3091:K.initialRandomSeed=H;break;case 19:K.subrs=H;break;case 20:K.defaultWidthX=H;break;case 21:K.nominalWidthX=H;break}}return K}function N9($){let Q=[],Z=0;for(let K=0;K<$.length;K++){let J=$[K];Z+=J,Q.push(Z)}return Q}function e_($,Q){let Z=$.uint8();if(Z===0){let K=$.uint8Array(Q);return{format:Z,select:(J)=>K[J]??0}}else if(Z===3){let K=$.uint16(),J=[];for(let U=0;U<K;U++)J.push({first:$.uint16(),fd:$.uint8()});let q=$.uint16();return{format:Z,select:(U)=>{let W=0,H=J.length-1;while(W<H){let N=Math.ceil((W+H)/2),V=J[N];if(V&&V.first<=U)W=N;else H=N-1}return J[W]?.fd??0}}}return{format:Z,select:()=>0}}function $N($,Q){if(Q<V9.length)return V9[Q]??"";return $.strings[Q-V9.length]??""}function K6($){return $.stack.length-$.stackPos}function x($){if($.stackPos>=$.stack.length)return;return $.stack[$.stackPos++]}function z9($){$.stack.length=0,$.stackPos=0}function Q1($,Q,Z=0){let K=$.charStrings[Z];if(!K||Q>=K.length)return null;let J=K[Q];if(!J)return null;let q=$.globalSubrs,W=$.topDicts[Z]?.ros!==void 0,H=[];if(W&&$.fdSelects[Z]&&$.fdArrays[Z]){let N=$.fdSelects[Z]?.select(Q)??0;H=$.fdArrays[Z]?.[N]?.localSubrs||$.localSubrs[Z]||[]}else H=$.localSubrs[Z]||[];let _={x:0,y:0,stack:[],stackPos:0,nStems:0,haveWidth:!1,width:0,contours:[],currentContour:[],transientArray:Array(32).fill(0),callStack:[],vsindex:0,axisCoords:null,vstore:null};if(Q5(_,J,q,H),_.currentContour.length>0)_.contours.push(_.currentContour);return _.contours}function Z5($,Q,Z=null){if(Q>=$.charStrings.length)return null;let K=$.charStrings[Q];if(!K)return null;let J=$.globalSubrs,q=$.fdSelect?.select(Q)??0,U=$.fdArray[q],W=U?.localSubrs||[],H={x:0,y:0,stack:[],stackPos:0,nStems:0,haveWidth:!0,width:0,contours:[],currentContour:[],transientArray:Array(32).fill(0),callStack:[],vsindex:U?.private?.vsindex??0,axisCoords:Z,vstore:$.vstore};if(Q5(H,K,J,W),H.currentContour.length>0)H.contours.push(H.currentContour);return H.contours}function Q5($,Q,Z,K){let J=0;while(J<Q.length){let q=Q[J++];if(q===void 0)return;if(q===28){let U=Q[J++];if(U===void 0)return;let W=Q[J++];if(W===void 0)return;$.stack.push((U<<8|W)<<16>>16)}else if(q===255){let U=Q[J++];if(U===void 0)return;let W=Q[J++];if(W===void 0)return;let H=Q[J++];if(H===void 0)return;let _=Q[J++];if(_===void 0)return;let N=(U<<24|W<<16|H<<8|_)>>0;$.stack.push(N/65536)}else if(q>=32&&q<=246)$.stack.push(q-139);else if(q>=247&&q<=250){let U=Q[J++];if(U===void 0)return;$.stack.push((q-247)*256+U+108)}else if(q>=251&&q<=254){let U=Q[J++];if(U===void 0)return;$.stack.push(-(q-251)*256-U-108)}else if(q===12){let U=Q[J++];if(U===void 0)return;let W=3072|U;wq($,W,Z,K)}else if(q===19||q===20){if(K6($)%2!==0&&!$.haveWidth){let _=x($);if(_!==void 0)$.width=_,$.haveWidth=!0}$.nStems+=K6($)/2,z9($);let H=Math.ceil($.nStems/8);J+=H}else wq($,q,Z,K);if($.callStack.length>0){let U=$.callStack[$.callStack.length-1];if(U&&U.pos>=U.data.length)$.callStack.pop()}}}function wq($,Q,Z,K){let J=$.stack;switch(Q){case 1:case 3:case 18:case 23:{if(K6($)%2!==0&&!$.haveWidth){let W=x($);if(W===void 0)break;$.width=W,$.haveWidth=!0}$.nStems+=K6($)/2,z9($);break}case 19:case 20:break;case 21:{if(K6($)>2&&!$.haveWidth){let W=x($);if(W===void 0)break;$.width=W,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),z9($);break}case 22:{if(K6($)>1&&!$.haveWidth){let U=x($);if(U===void 0)break;$.width=U,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];let q=x($);if(q===void 0)break;$.x+=q,$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),z9($);break}case 4:{if(K6($)>1&&!$.haveWidth){let U=x($);if(U===void 0)break;$.width=U,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];let q=x($);if(q===void 0)break;$.y+=q,$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),z9($);break}case 5:{while(K6($)>=2){let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0})}break}case 6:{let q=!0;while(K6($)>=1){let U=x($);if(U===void 0)break;if(q)$.x+=U;else $.y+=U;$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),q=!q}break}case 7:{let q=!0;while(K6($)>=1){let U=x($);if(U===void 0)break;if(q)$.y+=U;else $.x+=U;$.currentContour.push({x:$.x,y:$.y,onCurve:!0}),q=!q}break}case 8:{while(K6($)>=6){let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=x($);if(N===void 0)break;M6($,q,U,W,H,_,N)}break}case 27:{let q=0;if(K6($)%4===1){let U=x($);if(U===void 0)break;q=U}while(K6($)>=4){let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;M6($,U,q,W,H,_,0),q=0}break}case 26:{let q=0;if(K6($)%4===1){let U=x($);if(U===void 0)break;q=U}while(K6($)>=4){let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;M6($,q,U,W,H,0,_),q=0}break}case 31:{let q=!0;while(K6($)>=4){if(q){let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=K6($)===1?x($)??0:0;M6($,U,0,W,H,N,_)}else{let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=K6($)===1?x($)??0:0;M6($,0,U,W,H,_,N)}q=!q}break}case 30:{let q=!0;while(K6($)>=4){if(q){let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=K6($)===1?x($)??0:0;M6($,0,U,W,H,_,N)}else{let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=K6($)===1?x($)??0:0;M6($,U,0,W,H,N,_)}q=!q}break}case 24:{while(K6($)>=8){let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=x($);if(N===void 0)break;M6($,q,U,W,H,_,N)}if(K6($)>=2){let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0})}break}case 25:{while(K6($)>=8){let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;$.x+=q,$.y+=U,$.currentContour.push({x:$.x,y:$.y,onCurve:!0})}if(K6($)>=6){let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=x($);if(N===void 0)break;M6($,q,U,W,H,_,N)}break}case 10:{let q=J.pop();if(q===void 0)break;let U=q+Aq(K.length),W=K[U];if(W)Q5($,W,Z,K);break}case 29:{let q=J.pop();if(q===void 0)break;let U=q+Aq(Z.length),W=Z[U];if(W)Q5($,W,Z,K);break}case 11:break;case 14:{if(K6($)>0&&!$.haveWidth){let q=x($);if(q===void 0)break;$.width=q,$.haveWidth=!0}if($.currentContour.length>0)$.contours.push($.currentContour),$.currentContour=[];z9($);break}case 3107:{if(K6($)>=13){let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=x($);if(N===void 0)break;let V=x($);if(V===void 0)break;let z=x($);if(z===void 0)break;let j=x($);if(j===void 0)break;let X=x($);if(X===void 0)break;let G=x($);if(G===void 0)break;let E=x($);if(E===void 0)break;x($),M6($,q,U,W,H,_,N),M6($,V,z,j,X,G,E)}break}case 3106:{if(K6($)>=7){let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=x($);if(N===void 0)break;let V=x($);if(V===void 0)break;M6($,q,0,U,W,H,0),M6($,_,0,N,-W,V,0)}break}case 3108:{if(K6($)>=9){let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=x($);if(N===void 0)break;let V=x($);if(V===void 0)break;let z=x($);if(z===void 0)break;let j=x($);if(j===void 0)break;M6($,q,U,W,H,_,0),M6($,N,0,V,z,j,-(U+H+z))}break}case 3109:{if(K6($)>=11){let q=x($);if(q===void 0)break;let U=x($);if(U===void 0)break;let W=x($);if(W===void 0)break;let H=x($);if(H===void 0)break;let _=x($);if(_===void 0)break;let N=x($);if(N===void 0)break;let V=x($);if(V===void 0)break;let z=x($);if(z===void 0)break;let j=x($);if(j===void 0)break;let X=x($);if(X===void 0)break;let G=x($);if(G===void 0)break;let E=q+W+_+V+j,Y=U+H+N+z+X,w,F;if(Math.abs(E)>Math.abs(Y))w=G,F=-Y;else w=-E,F=G;M6($,q,U,W,H,_,N),M6($,V,z,j,X,w,F)}break}case 3075:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U&&q?1:0);break}case 3076:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U||q?1:0);break}case 3077:{let q=J.pop();if(q===void 0)break;J.push(q?0:1);break}case 3081:{let q=J.pop();if(q===void 0)break;J.push(Math.abs(q));break}case 3082:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U+q);break}case 3083:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U-q);break}case 3084:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U/q);break}case 3086:{let q=J.pop();if(q===void 0)break;J.push(-q);break}case 3087:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U===q?1:0);break}case 3090:{J.pop();break}case 3092:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;$.transientArray[q]=U;break}case 3093:{let q=J.pop();if(q===void 0)break;J.push($.transientArray[q]??0);break}case 3094:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;let W=J.pop();if(W===void 0)break;let H=J.pop();if(H===void 0)break;J.push(U<=q?H:W);break}case 3095:{J.push(Math.random());break}case 3096:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(U*q);break}case 3098:{let q=J.pop();if(q===void 0)break;J.push(Math.sqrt(q));break}case 3099:{let q=J[J.length-1];if(q===void 0)break;J.push(q);break}case 3100:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;J.push(q,U);break}case 3101:{let q=J.pop();if(q===void 0)break;let U=J.length-1-q;J.push(J[U]??0);break}case 3102:{let q=J.pop();if(q===void 0)break;let U=J.pop();if(U===void 0)break;if(U>0){let W=J.splice(-U),H=(q%U+U)%U;for(let _=0;_<U;_++){let N=W[(_+H)%U];if(N!==void 0)J.push(N)}}break}case 16:{if(!$.axisCoords||!$.vstore)break;let q=J.pop();if(q===void 0)break;let U=$.vstore.itemVariationData[$.vsindex]?.regionIndexCount??0,W=q*U,H=J.splice(-W),_=J.splice(-q);for(let N=0;N<q;N++){let V=_[N];if(V===void 0)continue;let z=V;for(let j=0;j<U;j++){let X=H[N*U+j];if(X===void 0)continue;let G=QN($.vstore,$.vsindex,j,$.axisCoords);z+=X*G}J.push(z)}break}case 15:{let q=J.pop();if(q===void 0)break;$.vsindex=q;break}case 3072:break}}function M6($,Q,Z,K,J,q,U){let{x:W,y:H}=$,_=W+Q,N=H+Z,V=_+K,z=N+J,j=V+q,X=z+U;$.currentContour.push({x:_,y:N,onCurve:!1,cubic:!0}),$.currentContour.push({x:V,y:z,onCurve:!1,cubic:!0}),$.currentContour.push({x:j,y:X,onCurve:!0}),$.x=j,$.y=X}function Aq($){if($<1240)return 107;if($<33900)return 1131;return 32768}function QN($,Q,Z,K){let J=$.itemVariationData[Q];if(!J)return 0;let q=J.regionIndexes[Z];if(q===void 0)return 0;let U=$.variationRegionList.regions[q];if(!U)return 0;let W=1;for(let H=0;H<U.axes.length&&H<K.length;H++){let _=U.axes[H];if(!_)continue;let N=K[H];if(N===void 0)continue;if(N<_.startCoord||N>_.endCoord)return 0;if(N===_.peakCoord)continue;if(N<_.peakCoord)W*=(N-_.startCoord)/(_.peakCoord-_.startCoord);else W*=(_.endCoord-N)/(_.endCoord-_.peakCoord)}return W}function ZN($,Q,Z=0){let K=$.topDicts[Z];return 0}function Z1($){let Q=$.offset,Z=$.uint8(),K=$.uint8(),J=$.uint8(),q=$.uint16();$.seek(Q+J);let U=$.slice($.offset-Q,q);$.skip(q);let W=qN(U),H=K5($),_=[];if(W.charStrings!==void 0)$.seek(Q+W.charStrings),_=K5($);let N=[];if(W.fdArray!==void 0){$.seek(Q+W.fdArray);let j=K5($);for(let X=0;X<j.length;X++){let G=j[X],E=UN(new o6(G.buffer,G.byteOffset,G.byteLength));if(E.privateOffset!==void 0&&E.privateSize!==void 0){$.seek(Q+E.privateOffset);let Y=$.slice(0,E.privateSize);if(E.private=WN(Y),E.private.subrs!==void 0)$.seek(Q+E.privateOffset+E.private.subrs),E.localSubrs=K5($)}N.push(E)}}let V=null;if(W.fdSelect!==void 0)$.seek(Q+W.fdSelect),V=HN($,_.length);let z=null;if(W.vstore!==void 0)$.seek(Q+W.vstore),z=_N($);return{version:{major:Z,minor:K},topDict:W,globalSubrs:H,charStrings:_,fdArray:N,fdSelect:V,vstore:z}}function K5($){let Q=$.uint32();if(Q===0)return[];let Z=$.uint8(),K=[];for(let q=0;q<=Q;q++)K.push(KN($,Z));let J=[];for(let q=0;q<Q;q++){let U=K[q],W=K[q+1];if(U===void 0||W===void 0)continue;let H=W-U;J.push($.bytes(H))}return J}function KN($,Q){switch(Q){case 1:return $.uint8();case 2:return $.uint16();case 3:return $.uint24();case 4:return $.uint32();default:throw Error(`Invalid offset size: ${Q}`)}}function K1($){let Q=new Map,Z=[];while($.remaining>0){let K=$.uint8();if(K<=21){let J=K;if(K===12)J=3072|$.uint8();Q.set(J,[...Z]),Z.length=0}else if(K===22)Q.set(22,[...Z]),Z.length=0;else if(K===23)Q.set(23,[...Z]),Z.length=0;else if(K===24)Q.set(24,[...Z]),Z.length=0;else if(K===28)Z.push($.int16());else if(K===29)Z.push($.int32());else if(K===30)Z.push(JN($));else if(K>=32&&K<=246)Z.push(K-139);else if(K>=247&&K<=250){let J=$.uint8();Z.push((K-247)*256+J+108)}else if(K>=251&&K<=254){let J=$.uint8();Z.push(-(K-251)*256-J-108)}}return Q}function JN($){let Q="",Z="0123456789.EE -",K=!1;while(!K){let J=$.uint8();for(let q=0;q<2;q++){let U=q===0?J>>4:J&15;if(U===15){K=!0;break}if(U===12)Q+="E-";else{let W=Z[U];if(W!==void 0)Q+=W}}}return parseFloat(Q)}function qN($){let Q=K1($),Z={},K=[...Q];for(let J=0;J<K.length;J++){let[q,U]=K[J];switch(q){case 3079:Z.fontMatrix=U;break;case 17:Z.charStrings=U[0];break;case 3108:Z.fdArray=U[0];break;case 3109:Z.fdSelect=U[0];break;case 24:Z.vstore=U[0];break}}return Z}function UN($){let Q=K1($),Z={},K=Q.get(18);if(K&&K.length>=2)Z.privateSize=K[0],Z.privateOffset=K[1];return Z}function WN($){let Q=K1($),Z={},K=[...Q];for(let J=0;J<K.length;J++){let[q,U]=K[J],W=U[0];switch(q){case 6:Z.blueValues=j9(U);break;case 7:Z.otherBlues=j9(U);break;case 8:Z.familyBlues=j9(U);break;case 9:Z.familyOtherBlues=j9(U);break;case 3081:Z.blueScale=W;break;case 3082:Z.blueShift=W;break;case 3083:Z.blueFuzz=W;break;case 10:Z.stdHW=W;break;case 11:Z.stdVW=W;break;case 3084:Z.stemSnapH=j9(U);break;case 3085:Z.stemSnapV=j9(U);break;case 3089:Z.languageGroup=W;break;case 3090:Z.expansionFactor=W;break;case 19:Z.subrs=W;break;case 22:Z.vsindex=W;break;case 23:Z.blend=U;break}}return Z}function j9($){let Q=[],Z=0;for(let K=0;K<$.length;K++){let J=$[K];Z+=J,Q.push(Z)}return Q}function HN($,Q){let Z=$.uint8();if(Z===0){let K=$.uint8Array(Q);return{format:Z,select:(J)=>K[J]??0}}else if(Z===3){let K=$.uint16(),J=[];for(let q=0;q<K;q++)J.push({first:$.uint16(),fd:$.uint8()});return $.uint16(),{format:Z,select:(q)=>{let U=0,W=J.length-1;while(U<W){let _=Math.ceil((U+W)/2),N=J[_];if(N&&N.first<=q)U=_;else W=_-1}return J[U]?.fd??0}}}else if(Z===4){let K=$.uint32(),J=[];for(let q=0;q<K;q++)J.push({first:$.uint32(),fd:$.uint16()});return $.uint32(),{format:Z,select:(q)=>{let U=0,W=J.length-1;while(U<W){let _=Math.ceil((U+W)/2),N=J[_];if(N&&N.first<=q)U=_;else W=_-1}return J[U]?.fd??0}}}return{format:Z,select:()=>0}}function _N($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint32(),q=$.uint16(),U=[];for(let _=0;_<q;_++)U.push($.uint32());$.seek(Q+J);let W=NN($),H=[];for(let _=0;_<U.length;_++){let N=U[_];$.seek(Q+N),H.push(VN($))}return{format:K,variationRegionList:W,itemVariationData:H}}function NN($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let J=0;J<Z;J++){let q=[];for(let U=0;U<Q;U++)q.push({startCoord:$.f2dot14(),peakCoord:$.f2dot14(),endCoord:$.f2dot14()});K.push({axes:q})}return{axisCount:Q,regionCount:Z,regions:K}}function VN($){let Q=$.uint16(),Z=$.uint16(),K=Z&32767,J=(Z&32768)!==0,q=[];for(let W=0;W<K;W++)q.push($.uint16());let U=[];for(let W=0;W<Q;W++){let H=[];for(let _=0;_<K;_++)if(J)H.push($.int32());else H.push($.int16());U.push(H)}return{itemCount:Q,regionIndexCount:K,regionIndexes:q,deltaSets:U}}function zN($,Q,Z,K){let J=$.itemVariationData[Q];if(!J)return 0;let q=J.deltaSets[Z];if(!q)return 0;let U=0;for(let W=0;W<J.regionIndexCount;W++){let H=J.regionIndexes[W];if(H===void 0)continue;let _=$.variationRegionList.regions[H];if(!_)continue;let N=1;for(let V=0;V<_.axes.length;V++){let z=_.axes[V],j=K[V]??0;if(z.peakCoord===0)continue;if(j<z.startCoord||j>z.endCoord){N=0;break}if(j===z.peakCoord)continue;if(j<z.peakCoord)N*=(j-z.startCoord)/(z.peakCoord-z.startCoord);else N*=(z.endCoord-j)/(z.endCoord-z.peakCoord)}U+=N*(q[W]??0)}return Math.round(U)}function Fq($,Q){let Z=$.offset,K=$.uint16(),J=$.uint16(),q=[];for(let N=0;N<J;N++)q.push({platformId:$.uint16(),encodingId:$.uint16(),offset:$.uint32()});let U=new Map,W=new Set;for(let N=0;N<q.length;N++){let V=q[N];if(W.has(V.offset)){let X=`${V.platformId}-${V.encodingId}`,G=[...U.entries()];for(let E=0;E<G.length;E++){let[Y,w]=G[E],A=Y.split("@")[0];if(A&&Number.parseInt(A,10)===V.offset){U.set(X,w);break}}continue}W.add(V.offset);let z=$.slice(V.offset,Q-V.offset),j=jN(z);if(j){let X=`${V.platformId}-${V.encodingId}`;U.set(X,j)}}let H=["3-10","0-4","3-1","0-3","0-6","1-0"],_=null;for(let N=0;N<H.length;N++){let V=H[N],z=U.get(V);if(z&&z.format!==14){_=z;break}}if(!_){let N=[...U.values()];for(let V=0;V<N.length;V++){let z=N[V];if(z.format!==14){_=z;break}}}return{version:K,numTables:J,encodingRecords:q,subtables:U,bestSubtable:_}}function jN($){switch($.uint16()){case 0:return XN($);case 4:return GN($);case 12:return EN($);case 14:return YN($);default:return null}}function XN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint8Array(256);return{format:0,glyphIdArray:K,lookup(J){if(J>=0&&J<256)return K[J];return}}}function GN($){let Q=$.uint16(),Z=$.uint16(),J=$.uint16()/2;$.skip(6);let q=$.uint16Array(J);$.skip(2);let U=$.uint16Array(J),W=$.int16Array(J),H=$.offset,_=$.uint16Array(J),V=$.remaining/2,z=$.uint16Array(V),j=(G)=>{let E=0,Y=J-1;while(E<=Y){let w=E+Y>>>1,F=q[w];if(G>F)E=w+1;else{let A=U[w];if(G<A)Y=w-1;else{let D=_[w],L=W[w];if(D===0)return G+L&65535;let R=D/2-(J-w)+(G-A),B=z[R];if(B===void 0||B===0)return 0;return B+L&65535}}}return},X=new Uint16Array(256);for(let G=0;G<256;G++){let E=j(G);X[G]=E!==void 0?E+1:0}return{format:4,segCount:J,endCodes:q,startCodes:U,idDeltas:W,idRangeOffsets:_,glyphIdArray:z,lookup(G){if(G<256){let E=X[G];return E===0?void 0:E-1}if(G>65535)return;return j(G)}}}function EN($){$.skip(2);let Q=$.uint32(),Z=$.uint32(),K=$.uint32(),J=Array(K);for(let W=0;W<K;W++)J[W]={startCharCode:$.uint32(),endCharCode:$.uint32(),startGlyphId:$.uint32()};let q=(W)=>{let H=0,_=J.length-1;while(H<=_){let N=H+_>>>1,V=J[N];if(!V)break;if(W>V.endCharCode)H=N+1;else if(W<V.startCharCode)_=N-1;else return V.startGlyphId+(W-V.startCharCode)}return},U=new Uint16Array(128);for(let W=0;W<128;W++){let H=q(W);U[W]=H!==void 0?H+1:0}return{format:12,groups:J,lookup(W){if(W<128){let H=U[W];return H===0?void 0:H-1}return q(W)}}}function YN($){let Q=$.offset-2,Z=$.uint32(),K=$.uint32(),J=[];for(let U=0;U<K;U++)J.push({varSelector:$.uint24(),defaultUVSOffset:$.uint32(),nonDefaultUVSOffset:$.uint32()});let q=[];for(let U=0;U<J.length;U++){let W=J[U],H=null,_=null;if(W.defaultUVSOffset!==0){let N=$.sliceFrom(Q+W.defaultUVSOffset),V=N.uint32();H=[];for(let z=0;z<V;z++)H.push({startUnicodeValue:N.uint24(),additionalCount:N.uint8()})}if(W.nonDefaultUVSOffset!==0){let N=$.sliceFrom(Q+W.nonDefaultUVSOffset),V=N.uint32();_=[];for(let z=0;z<V;z++)_.push({unicodeValue:N.uint24(),glyphId:N.uint16()})}q.push({varSelector:W.varSelector,defaultUVS:H,nonDefaultUVS:_})}return{format:14,varSelectorRecords:q,lookup(U){return},lookupVariation(U,W){let H=0,_=q.length-1,N=null;while(H<=_){let V=H+_>>>1,z=q[V];if(!z)break;if(W>z.varSelector)H=V+1;else if(W<z.varSelector)_=V-1;else{N=z;break}}if(!N)return;if(N.nonDefaultUVS){let V=0,z=N.nonDefaultUVS.length-1;while(V<=z){let j=V+z>>>1,X=N.nonDefaultUVS[j];if(!X)break;if(U>X.unicodeValue)V=j+1;else if(U<X.unicodeValue)z=j-1;else return X.glyphId}}if(N.defaultUVS)for(let V=0;V<N.defaultUVS.length;V++){let z=N.defaultUVS[V],j=z.startUnicodeValue+z.additionalCount;if(U>=z.startUnicodeValue&&U<=j)return"default"}return}}}function Lq($,Q){return $.bestSubtable?.lookup(Q)??0}var Dq;((O)=>{O[O.ColrLayers=1]="ColrLayers";O[O.Solid=2]="Solid";O[O.VarSolid=3]="VarSolid";O[O.LinearGradient=4]="LinearGradient";O[O.VarLinearGradient=5]="VarLinearGradient";O[O.RadialGradient=6]="RadialGradient";O[O.VarRadialGradient=7]="VarRadialGradient";O[O.SweepGradient=8]="SweepGradient";O[O.VarSweepGradient=9]="VarSweepGradient";O[O.Glyph=10]="Glyph";O[O.ColrGlyph=11]="ColrGlyph";O[O.Transform=12]="Transform";O[O.VarTransform=13]="VarTransform";O[O.Translate=14]="Translate";O[O.VarTranslate=15]="VarTranslate";O[O.Scale=16]="Scale";O[O.VarScale=17]="VarScale";O[O.ScaleAroundCenter=18]="ScaleAroundCenter";O[O.VarScaleAroundCenter=19]="VarScaleAroundCenter";O[O.ScaleUniform=20]="ScaleUniform";O[O.VarScaleUniform=21]="VarScaleUniform";O[O.ScaleUniformAroundCenter=22]="ScaleUniformAroundCenter";O[O.VarScaleUniformAroundCenter=23]="VarScaleUniformAroundCenter";O[O.Rotate=24]="Rotate";O[O.VarRotate=25]="VarRotate";O[O.RotateAroundCenter=26]="RotateAroundCenter";O[O.VarRotateAroundCenter=27]="VarRotateAroundCenter";O[O.Skew=28]="Skew";O[O.VarSkew=29]="VarSkew";O[O.SkewAroundCenter=30]="SkewAroundCenter";O[O.VarSkewAroundCenter=31]="VarSkewAroundCenter";O[O.Composite=32]="Composite"})(Dq||={});var Mq;((K)=>{K[K.Pad=0]="Pad";K[K.Repeat=1]="Repeat";K[K.Reflect=2]="Reflect"})(Mq||={});var Bq;((P)=>{P[P.Clear=0]="Clear";P[P.Src=1]="Src";P[P.Dest=2]="Dest";P[P.SrcOver=3]="SrcOver";P[P.DestOver=4]="DestOver";P[P.SrcIn=5]="SrcIn";P[P.DestIn=6]="DestIn";P[P.SrcOut=7]="SrcOut";P[P.DestOut=8]="DestOut";P[P.SrcAtop=9]="SrcAtop";P[P.DestAtop=10]="DestAtop";P[P.Xor=11]="Xor";P[P.Plus=12]="Plus";P[P.Screen=13]="Screen";P[P.Overlay=14]="Overlay";P[P.Darken=15]="Darken";P[P.Lighten=16]="Lighten";P[P.ColorDodge=17]="ColorDodge";P[P.ColorBurn=18]="ColorBurn";P[P.HardLight=19]="HardLight";P[P.SoftLight=20]="SoftLight";P[P.Difference=21]="Difference";P[P.Exclusion=22]="Exclusion";P[P.Multiply=23]="Multiply";P[P.Hue=24]="Hue";P[P.Saturation=25]="Saturation";P[P.Color=26]="Color";P[P.Luminosity=27]="Luminosity"})(Bq||={});function q1($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint32(),q=$.uint32(),U=$.uint16(),W=[];if(J!==0&&K>0){$.seek(Q+J);for(let N=0;N<K;N++)W.push({glyphId:$.uint16(),firstLayerIndex:$.uint16(),numLayers:$.uint16()})}let H=[];if(q!==0&&U>0){$.seek(Q+q);for(let N=0;N<U;N++)H.push({glyphId:$.uint16(),paletteIndex:$.uint16()})}let _={version:Z,baseGlyphRecords:W,layerRecords:H};if(Z>=1){$.seek(Q+14);let N=$.uint32(),V=$.uint32(),z=$.uint32(),j=$.uint32(),X=$.uint32();if(N!==0){let G=Q+N;$.seek(G);let E=$.uint32();_.baseGlyphPaintRecords=[];for(let Y=0;Y<E;Y++){let w=$.uint16(),F=$.uint32(),A=$.offset;$.seek(G+F);let D=I6($,Q);$.seek(A),_.baseGlyphPaintRecords.push({glyphId:w,paint:D})}}if(V!==0){$.seek(Q+V);let G=$.uint32(),E=[];for(let Y=0;Y<G;Y++)E.push($.uint32());_.layerList=[];for(let Y=0;Y<E.length;Y++){let w=E[Y];$.seek(Q+V+w),_.layerList.push(I6($,Q))}}if(z!==0)$.seek(Q+z),_.clipList=wN($,Q);if(j!==0)$.seek(Q+j),_.varIdxMap=FN($);if(X!==0)$.seek(Q+X),_.itemVariationStore=LN($)}return _}function I6($,Q){let Z=$.offset,K=$.uint8();switch(K){case 1:return{format:K,numLayers:$.uint8(),firstLayerIndex:$.uint32()};case 2:return{format:K,paletteIndex:$.uint16(),alpha:$.f2dot14()};case 3:return{format:K,paletteIndex:$.uint16(),alpha:$.f2dot14(),varIndexBase:$.uint32()};case 4:case 5:{let J=$.uint24(),q=$.fword(),U=$.fword(),W=$.fword(),H=$.fword(),_=$.fword(),N=$.fword(),V=$.offset;$.seek(Z+J);let z=J1($);return $.seek(V),{format:K,colorLine:z,x0:q,y0:U,x1:W,y1:H,x2:_,y2:N}}case 6:case 7:{let J=$.uint24(),q=$.fword(),U=$.fword(),W=$.ufword(),H=$.fword(),_=$.fword(),N=$.ufword(),V=$.offset;$.seek(Z+J);let z=J1($);return $.seek(V),{format:K,colorLine:z,x0:q,y0:U,radius0:W,x1:H,y1:_,radius1:N}}case 8:case 9:{let J=$.uint24(),q=$.fword(),U=$.fword(),W=$.f2dot14(),H=$.f2dot14(),_=$.offset;$.seek(Z+J);let N=J1($);return $.seek(_),{format:K,colorLine:N,centerX:q,centerY:U,startAngle:W,endAngle:H}}case 10:{let J=$.uint24(),q=$.uint16(),U=$.offset;$.seek(Z+J);let W=I6($,Q);return $.seek(U),{format:K,paint:W,glyphId:q}}case 11:return{format:K,glyphId:$.uint16()};case 12:case 13:{let J=$.uint24(),q=$.uint24();$.seek(Z+q);let U={xx:$.fixed(),yx:$.fixed(),xy:$.fixed(),yy:$.fixed(),dx:$.fixed(),dy:$.fixed()};$.seek(Z+J);let W=I6($,Q);return{format:K,paint:W,transform:U}}case 14:case 15:{let J=$.uint24(),q=$.fword(),U=$.fword();$.seek(Z+J);let W=I6($,Q);return{format:K,paint:W,dx:q,dy:U}}case 16:case 17:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14();$.seek(Z+J);let W=I6($,Q);return{format:K,paint:W,scaleX:q,scaleY:U}}case 18:case 19:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14(),W=$.fword(),H=$.fword();$.seek(Z+J);let _=I6($,Q);return{format:K,paint:_,scaleX:q,scaleY:U,centerX:W,centerY:H}}case 20:case 21:{let J=$.uint24(),q=$.f2dot14();$.seek(Z+J);let U=I6($,Q);return{format:K,paint:U,scaleX:q,scaleY:q}}case 22:case 23:{let J=$.uint24(),q=$.f2dot14(),U=$.fword(),W=$.fword();$.seek(Z+J);let H=I6($,Q);return{format:K,paint:H,scaleX:q,scaleY:q,centerX:U,centerY:W}}case 24:case 25:{let J=$.uint24(),q=$.f2dot14();$.seek(Z+J);let U=I6($,Q);return{format:K,paint:U,angle:q}}case 26:case 27:{let J=$.uint24(),q=$.f2dot14(),U=$.fword(),W=$.fword();$.seek(Z+J);let H=I6($,Q);return{format:K,paint:H,angle:q,centerX:U,centerY:W}}case 28:case 29:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14();$.seek(Z+J);let W=I6($,Q);return{format:K,paint:W,xSkewAngle:q,ySkewAngle:U}}case 30:case 31:{let J=$.uint24(),q=$.f2dot14(),U=$.f2dot14(),W=$.fword(),H=$.fword();$.seek(Z+J);let _=I6($,Q);return{format:K,paint:_,xSkewAngle:q,ySkewAngle:U,centerX:W,centerY:H}}case 32:{let J=$.uint24(),q=$.uint8(),U=$.uint24();$.seek(Z+J);let W=I6($,Q);$.seek(Z+U);let H=I6($,Q);return{format:K,sourcePaint:W,compositeMode:q,backdropPaint:H}}default:throw Error(`Unknown paint format: ${K}`)}}function J1($){let Q=$.uint8(),Z=$.uint16(),K=[];for(let J=0;J<Z;J++)K.push({stopOffset:$.f2dot14(),paletteIndex:$.uint16(),alpha:$.f2dot14()});return{extend:Q,colorStops:K}}function wN($,Q){let Z=$.offset,K=$.uint8(),J=$.uint32(),q=[];for(let U=0;U<J;U++){let W=$.uint16(),H=$.uint16(),_=$.uint24(),N=$.offset;$.seek(Z+_);let V=$.uint8(),z={format:V,xMin:$.fword(),yMin:$.fword(),xMax:$.fword(),yMax:$.fword()};if(V===2)z.varIndexBase=$.uint32();$.seek(N),q.push({startGlyphId:W,endGlyphId:H,clipBox:z})}return q}function Rq($,Q){let Z=$.baseGlyphRecords,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(!U)break;if(U.glyphId===Q){let W=[];for(let H=0;H<U.numLayers;H++){let _=$.layerRecords[U.firstLayerIndex+H];if(_)W.push(_)}return W}else if(U.glyphId<Q)K=q+1;else J=q-1}return null}function Tq($,Q){if(!$.baseGlyphPaintRecords)return null;let Z=$.baseGlyphPaintRecords,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(!U)break;if(U.glyphId===Q)return U.paint;else if(U.glyphId<Q)K=q+1;else J=q-1}return null}function AN($,Q){return Rq($,Q)!==null||Tq($,Q)!==null}function FN($){let Q=$.uint8(),Z=$.uint8(),K=Q===0?$.uint16():$.uint32(),J=(Z&15)+1,q=(Z>>4&15)+1,U=Math.ceil((J+q)/8),W=[];for(let H=0;H<K;H++){let _=0;for(let j=0;j<U;j++)_=_<<8|$.uint8();let N=(1<<J)-1,V=_&N,z=_>>J;W.push(z<<16|V)}return W}function LN($){let Q=$.offset,Z=$.uint16(),K=$.uint32(),J=$.uint16(),q=[];for(let N=0;N<J;N++)q.push($.uint32());$.seek(Q+K);let U=$.uint16(),W=$.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let z=0;z<U;z++)V.push({startCoord:$.f2dot14(),peakCoord:$.f2dot14(),endCoord:$.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<q.length;N++){let V=q[N];$.seek(Q+V);let z=$.uint16(),j=$.uint16(),X=$.uint16(),G=[];for(let F=0;F<X;F++)G.push($.uint16());let E=(j&32768)!==0,Y=j&32767,w=[];for(let F=0;F<z;F++){let A=[];for(let D=0;D<X;D++)if(D<Y)A.push(E?$.int32():$.int16());else A.push(E?$.int16():$.int8());w.push(A)}_.push({itemCount:z,wordDeltaCount:j,regionIndexCount:X,regionIndexes:G,deltaSets:w})}return{format:Z,variationRegionListOffset:K,itemVariationDataCount:J,itemVariationDataOffsets:q,variationRegions:H,itemVariationData:_}}function DN($,Q){if(!$.clipList)return null;for(let Z=0;Z<$.clipList.length;Z++){let K=$.clipList[Z];if(Q>=K.startGlyphId&&Q<=K.endGlyphId)return K.clipBox}return null}function MN($,Q,Z){if(!$.itemVariationStore||!$.varIdxMap)return 0;let K=$.varIdxMap[Q];if(K===void 0)return 0;let J=K>>16,q=K&65535,U=$.itemVariationStore,W=U.itemVariationData[J];if(!W)return 0;let H=W.deltaSets[q];if(!H)return 0;let _=0;for(let N=0;N<W.regionIndexCount;N++){let V=W.regionIndexes[N];if(V===void 0)continue;let z=U.variationRegions[V];if(!z)continue;let j=1;for(let G=0;G<z.regionAxes.length&&G<Z.length;G++){let E=z.regionAxes[G],Y=Z[G];if(E===void 0||Y===void 0)continue;if(j*=BN(Y,E.startCoord,E.peakCoord,E.endCoord),j===0)break}let X=H[N];if(X!==void 0)_+=X*j}return _}function BN($,Q,Z,K){if(Q===0&&Z===0&&K===0)return 1;if($===Z)return 1;if($<Q||$>K)return 0;if($<Z){if(Q===Z)return 1;return($-Q)/(Z-Q)}else{if(Z===K)return 1;return(K-$)/(K-Z)}}function RN($){return $.version>=1&&$.baseGlyphPaintRecords!==void 0}function TN($,Q){return $.layerList?.[Q]??null}var Oq;((Z)=>{Z[Z.UsableWithLightBackground=1]="UsableWithLightBackground";Z[Z.UsableWithDarkBackground=2]="UsableWithDarkBackground"})(Oq||={});function U1($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.uint32(),W=[];for(let j=0;j<J;j++)W.push($.uint16());$.seek(Q+U);let H=[];for(let j=0;j<q;j++)H.push({blue:$.uint8(),green:$.uint8(),red:$.uint8(),alpha:$.uint8()});let _=[];for(let j=0;j<J;j++){let X=W[j];if(X===void 0)continue;let G=[];for(let E=0;E<K;E++){let Y=H[X+E];if(Y)G.push(Y)}_.push({colors:G})}let N,V,z;if(Z>=1){$.seek(Q+12+J*2);let j=$.uint32(),X=$.uint32(),G=$.uint32();if(j!==0){$.seek(Q+j),N=[];for(let E=0;E<J;E++)N.push($.uint32())}if(X!==0){$.seek(Q+X),V=[];for(let E=0;E<J;E++)V.push($.uint16())}if(G!==0){$.seek(Q+G),z=[];for(let E=0;E<K;E++)z.push($.uint16())}}return{version:Z,numPalettes:J,numPaletteEntries:K,palettes:_,paletteTypes:N,paletteLabels:V,paletteEntryLabels:z}}function ON($,Q,Z){let K=$.palettes[Q];if(!K)return null;return K.colors[Z]??null}function PN($){return`rgba(${$.red}, ${$.green}, ${$.blue}, ${($.alpha/255).toFixed(3)})`}function vN($){let Q=$.red.toString(16).padStart(2,"0"),Z=$.green.toString(16).padStart(2,"0"),K=$.blue.toString(16).padStart(2,"0");if($.alpha===255)return`#${Q}${Z}${K}`;let J=$.alpha.toString(16).padStart(2,"0");return`#${Q}${Z}${K}${J}`}var Pq;((u)=>{u[u.AllTypographicFeatures=0]="AllTypographicFeatures";u[u.Ligatures=1]="Ligatures";u[u.CursiveConnection=2]="CursiveConnection";u[u.LetterCase=3]="LetterCase";u[u.VerticalSubstitution=4]="VerticalSubstitution";u[u.LinguisticRearrangement=5]="LinguisticRearrangement";u[u.NumberSpacing=6]="NumberSpacing";u[u.SmartSwashes=8]="SmartSwashes";u[u.Diacritics=9]="Diacritics";u[u.VerticalPosition=10]="VerticalPosition";u[u.Fractions=11]="Fractions";u[u.OverlappingCharacters=13]="OverlappingCharacters";u[u.TypographicExtras=14]="TypographicExtras";u[u.MathematicalExtras=15]="MathematicalExtras";u[u.OrnamentSets=16]="OrnamentSets";u[u.CharacterAlternatives=17]="CharacterAlternatives";u[u.DesignComplexity=18]="DesignComplexity";u[u.StyleOptions=19]="StyleOptions";u[u.CharacterShape=20]="CharacterShape";u[u.NumberCase=21]="NumberCase";u[u.TextSpacing=22]="TextSpacing";u[u.Transliteration=23]="Transliteration";u[u.Annotation=24]="Annotation";u[u.KanaSpacing=25]="KanaSpacing";u[u.IdeographicSpacing=26]="IdeographicSpacing";u[u.UnicodeDecomposition=27]="UnicodeDecomposition";u[u.RubyKana=28]="RubyKana";u[u.CJKSymbolAlternatives=29]="CJKSymbolAlternatives";u[u.IdeographicAlternatives=30]="IdeographicAlternatives";u[u.CJKVerticalRomanPlacement=31]="CJKVerticalRomanPlacement";u[u.ItalicCJKRoman=32]="ItalicCJKRoman";u[u.CaseSensitiveLayout=33]="CaseSensitiveLayout";u[u.AlternateKana=34]="AlternateKana";u[u.StylisticAlternatives=35]="StylisticAlternatives";u[u.ContextualAlternatives=36]="ContextualAlternatives";u[u.LowerCase=37]="LowerCase";u[u.UpperCase=38]="UpperCase";u[u.LanguageTag=39]="LanguageTag";u[u.CJKRomanSpacing=103]="CJKRomanSpacing"})(Pq||={});var vq;((L)=>{L[L.RequiredLigaturesOn=0]="RequiredLigaturesOn";L[L.RequiredLigaturesOff=1]="RequiredLigaturesOff";L[L.CommonLigaturesOn=2]="CommonLigaturesOn";L[L.CommonLigaturesOff=3]="CommonLigaturesOff";L[L.RareLigaturesOn=4]="RareLigaturesOn";L[L.RareLigaturesOff=5]="RareLigaturesOff";L[L.LogosOn=6]="LogosOn";L[L.LogosOff=7]="LogosOff";L[L.RebusPicturesOn=8]="RebusPicturesOn";L[L.RebusPicturesOff=9]="RebusPicturesOff";L[L.DiphthongLigaturesOn=10]="DiphthongLigaturesOn";L[L.DiphthongLigaturesOff=11]="DiphthongLigaturesOff";L[L.SquaredLigaturesOn=12]="SquaredLigaturesOn";L[L.SquaredLigaturesOff=13]="SquaredLigaturesOff";L[L.AbbrevSquaredLigaturesOn=14]="AbbrevSquaredLigaturesOn";L[L.AbbrevSquaredLigaturesOff=15]="AbbrevSquaredLigaturesOff";L[L.SymbolLigaturesOn=16]="SymbolLigaturesOn";L[L.SymbolLigaturesOff=17]="SymbolLigaturesOff";L[L.ContextualLigaturesOn=18]="ContextualLigaturesOn";L[L.ContextualLigaturesOff=19]="ContextualLigaturesOff";L[L.HistoricalLigaturesOn=20]="HistoricalLigaturesOn";L[L.HistoricalLigaturesOff=21]="HistoricalLigaturesOff"})(vq||={});var Iq;((q)=>{q[q.NormalPosition=0]="NormalPosition";q[q.Superiors=1]="Superiors";q[q.Inferiors=2]="Inferiors";q[q.Ordinals=3]="Ordinals";q[q.ScientificInferiors=4]="ScientificInferiors"})(Iq||={});var kq;((Z)=>{Z[Z.LowerCaseNumbers=0]="LowerCaseNumbers";Z[Z.UpperCaseNumbers=1]="UpperCaseNumbers"})(kq||={});var Cq;((J)=>{J[J.MonospacedNumbers=0]="MonospacedNumbers";J[J.ProportionalNumbers=1]="ProportionalNumbers";J[J.ThirdWidthNumbers=2]="ThirdWidthNumbers";J[J.QuarterWidthNumbers=3]="QuarterWidthNumbers"})(Cq||={});var Sq;((K)=>{K[K.NoFractions=0]="NoFractions";K[K.VerticalFractions=1]="VerticalFractions";K[K.DiagonalFractions=2]="DiagonalFractions"})(Sq||={});var hq;((J)=>{J[J.CaseSensitiveLayoutOn=0]="CaseSensitiveLayoutOn";J[J.CaseSensitiveLayoutOff=1]="CaseSensitiveLayoutOff";J[J.CaseSensitiveSpacingOn=2]="CaseSensitiveSpacingOn";J[J.CaseSensitiveSpacingOff=3]="CaseSensitiveSpacingOff"})(hq||={});var yq;((y)=>{y[y.NoStylisticAlternates=0]="NoStylisticAlternates";y[y.StylisticAltOneOn=2]="StylisticAltOneOn";y[y.StylisticAltOneOff=3]="StylisticAltOneOff";y[y.StylisticAltTwoOn=4]="StylisticAltTwoOn";y[y.StylisticAltTwoOff=5]="StylisticAltTwoOff";y[y.StylisticAltThreeOn=6]="StylisticAltThreeOn";y[y.StylisticAltThreeOff=7]="StylisticAltThreeOff";y[y.StylisticAltFourOn=8]="StylisticAltFourOn";y[y.StylisticAltFourOff=9]="StylisticAltFourOff";y[y.StylisticAltFiveOn=10]="StylisticAltFiveOn";y[y.StylisticAltFiveOff=11]="StylisticAltFiveOff";y[y.StylisticAltSixOn=12]="StylisticAltSixOn";y[y.StylisticAltSixOff=13]="StylisticAltSixOff";y[y.StylisticAltSevenOn=14]="StylisticAltSevenOn";y[y.StylisticAltSevenOff=15]="StylisticAltSevenOff";y[y.StylisticAltEightOn=16]="StylisticAltEightOn";y[y.StylisticAltEightOff=17]="StylisticAltEightOff";y[y.StylisticAltNineOn=18]="StylisticAltNineOn";y[y.StylisticAltNineOff=19]="StylisticAltNineOff";y[y.StylisticAltTenOn=20]="StylisticAltTenOn";y[y.StylisticAltTenOff=21]="StylisticAltTenOff";y[y.StylisticAltElevenOn=22]="StylisticAltElevenOn";y[y.StylisticAltElevenOff=23]="StylisticAltElevenOff";y[y.StylisticAltTwelveOn=24]="StylisticAltTwelveOn";y[y.StylisticAltTwelveOff=25]="StylisticAltTwelveOff";y[y.StylisticAltThirteenOn=26]="StylisticAltThirteenOn";y[y.StylisticAltThirteenOff=27]="StylisticAltThirteenOff";y[y.StylisticAltFourteenOn=28]="StylisticAltFourteenOn";y[y.StylisticAltFourteenOff=29]="StylisticAltFourteenOff";y[y.StylisticAltFifteenOn=30]="StylisticAltFifteenOn";y[y.StylisticAltFifteenOff=31]="StylisticAltFifteenOff";y[y.StylisticAltSixteenOn=32]="StylisticAltSixteenOn";y[y.StylisticAltSixteenOff=33]="StylisticAltSixteenOff";y[y.StylisticAltSeventeenOn=34]="StylisticAltSeventeenOn";y[y.StylisticAltSeventeenOff=35]="StylisticAltSeventeenOff";y[y.StylisticAltEighteenOn=36]="StylisticAltEighteenOn";y[y.StylisticAltEighteenOff=37]="StylisticAltEighteenOff";y[y.StylisticAltNineteenOn=38]="StylisticAltNineteenOn";y[y.StylisticAltNineteenOff=39]="StylisticAltNineteenOff";y[y.StylisticAltTwentyOn=40]="StylisticAltTwentyOn";y[y.StylisticAltTwentyOff=41]="StylisticAltTwentyOff"})(yq||={});var bq;((U)=>{U[U.ContextualAlternatesOn=0]="ContextualAlternatesOn";U[U.ContextualAlternatesOff=1]="ContextualAlternatesOff";U[U.SwashAlternatesOn=2]="SwashAlternatesOn";U[U.SwashAlternatesOff=3]="SwashAlternatesOff";U[U.ContextualSwashAlternatesOn=4]="ContextualSwashAlternatesOn";U[U.ContextualSwashAlternatesOff=5]="ContextualSwashAlternatesOff"})(bq||={});var gq;((K)=>{K[K.DefaultLowerCase=0]="DefaultLowerCase";K[K.LowerCaseSmallCaps=1]="LowerCaseSmallCaps";K[K.LowerCasePetiteCaps=2]="LowerCasePetiteCaps"})(gq||={});var mq;((K)=>{K[K.DefaultUpperCase=0]="DefaultUpperCase";K[K.UpperCaseSmallCaps=1]="UpperCaseSmallCaps";K[K.UpperCasePetiteCaps=2]="UpperCasePetiteCaps"})(mq||={});var uq;((N)=>{N[N.WordInitialSwashesOn=0]="WordInitialSwashesOn";N[N.WordInitialSwashesOff=1]="WordInitialSwashesOff";N[N.WordFinalSwashesOn=2]="WordFinalSwashesOn";N[N.WordFinalSwashesOff=3]="WordFinalSwashesOff";N[N.LineInitialSwashesOn=4]="LineInitialSwashesOn";N[N.LineInitialSwashesOff=5]="LineInitialSwashesOff";N[N.LineFinalSwashesOn=6]="LineFinalSwashesOn";N[N.LineFinalSwashesOff=7]="LineFinalSwashesOff";N[N.NonFinalSwashesOn=8]="NonFinalSwashesOn";N[N.NonFinalSwashesOff=9]="NonFinalSwashesOff"})(uq||={});var xq;((K)=>{K[K.ShowDiacritics=0]="ShowDiacritics";K[K.HideDiacritics=1]="HideDiacritics";K[K.DecomposeDiacritics=2]="DecomposeDiacritics"})(xq||={});var fq;((X)=>{X[X.TraditionalCharacters=0]="TraditionalCharacters";X[X.SimplifiedCharacters=1]="SimplifiedCharacters";X[X.JIS1978Characters=2]="JIS1978Characters";X[X.JIS1983Characters=3]="JIS1983Characters";X[X.JIS1990Characters=4]="JIS1990Characters";X[X.TraditionalAltOne=5]="TraditionalAltOne";X[X.TraditionalAltTwo=6]="TraditionalAltTwo";X[X.TraditionalAltThree=7]="TraditionalAltThree";X[X.TraditionalAltFour=8]="TraditionalAltFour";X[X.TraditionalAltFive=9]="TraditionalAltFive";X[X.ExpertCharacters=10]="ExpertCharacters";X[X.NLCCharacters=13]="NLCCharacters";X[X.JIS2004Characters=11]="JIS2004Characters";X[X.HojoCharacters=12]="HojoCharacters"})(fq||={});var lq;((Z)=>{Z[Z.Exclusive=32768]="Exclusive";Z[Z.UseDefault=16384]="UseDefault"})(lq||={});function W1($){let Q=$.offset,Z=$.fixed(),K=$.uint16();$.skip(2),$.skip(4);let J=[];for(let q=0;q<K;q++){let U=$.uint16(),W=$.uint16(),H=$.offset32(),_=$.uint16(),N=_&255,V=$.uint16(),z=[],j=$.offset;$.seek(Q+H);for(let X=0;X<W;X++)z.push({settingValue:$.uint16(),nameId:$.uint16()});$.seek(j),J.push({featureType:U,nSettings:W,settingTableOffset:H,featureFlags:_,defaultSettingIndex:N,nameId:V,settings:z})}return{version:Z,features:J}}function IN($,Q){return $.features.find((Z)=>Z.featureType===Q)}function kN($){return $.features}function CN($){return($.featureFlags&32768)!==0}function SN($){return $.settings[$.defaultSettingIndex]}function hN($,Q){return $.settings.find((Z)=>Z.settingValue===Q)}function yN($,Q){return $.settings.some((Z)=>Z.settingValue===Q)}function bN($,Q){switch($){case 1:switch(Q){case 2:return"liga";case 4:return"dlig";case 20:return"hlig";case 18:return"clig";case 0:return"rlig"}break;case 10:switch(Q){case 1:return"sups";case 2:return"subs";case 3:return"ordn";case 4:return"sinf"}break;case 11:if(Q===1||Q===2)return"frac";break;case 21:switch(Q){case 0:return"onum";case 1:return"lnum"}break;case 6:switch(Q){case 0:return"tnum";case 1:return"pnum"}break;case 33:if(Q===0)return"case";break;case 37:switch(Q){case 1:return"smcp";case 2:return"pcap"}break;case 38:switch(Q){case 1:return"c2sc";case 2:return"c2pc"}break;case 8:if(Q===0||Q===2)return"swsh";break;case 36:switch(Q){case 0:return"calt";case 2:return"swsh"}break;case 35:if(Q>=2&&Q<=41){let Z=Math.floor((Q-2)/2)+1;if(Z<=20)return`ss${Z.toString().padStart(2,"0")}`}break;case 20:switch(Q){case 0:return"trad";case 1:return"smpl";case 2:return"jp78";case 3:return"jp83";case 4:return"jp90";case 11:return"jp04";case 13:return"nlck";case 10:return"expt";case 12:return"hojo"}break;case 4:return"vert";case 24:return"nalt";case 28:return"ruby"}return null}function gN($){switch($){case"liga":return{featureType:1,settingValue:2};case"dlig":return{featureType:1,settingValue:4};case"hlig":return{featureType:1,settingValue:20};case"clig":return{featureType:1,settingValue:18};case"rlig":return{featureType:1,settingValue:0};case"sups":return{featureType:10,settingValue:1};case"subs":return{featureType:10,settingValue:2};case"ordn":return{featureType:10,settingValue:3};case"sinf":return{featureType:10,settingValue:4};case"frac":return{featureType:11,settingValue:2};case"onum":return{featureType:21,settingValue:0};case"lnum":return{featureType:21,settingValue:1};case"tnum":return{featureType:6,settingValue:0};case"pnum":return{featureType:6,settingValue:1};case"case":return{featureType:33,settingValue:0};case"smcp":return{featureType:37,settingValue:1};case"pcap":return{featureType:37,settingValue:2};case"c2sc":return{featureType:38,settingValue:1};case"c2pc":return{featureType:38,settingValue:2};case"swsh":return{featureType:8,settingValue:0};case"calt":return{featureType:36,settingValue:0};case"trad":return{featureType:20,settingValue:0};case"smpl":return{featureType:20,settingValue:1};case"jp78":return{featureType:20,settingValue:2};case"jp83":return{featureType:20,settingValue:3};case"jp90":return{featureType:20,settingValue:4};case"jp04":return{featureType:20,settingValue:11};case"nlck":return{featureType:20,settingValue:13};case"expt":return{featureType:20,settingValue:10};case"hojo":return{featureType:20,settingValue:12};case"vert":return{featureType:4,settingValue:0};case"nalt":return{featureType:24,settingValue:0};case"ruby":return{featureType:28,settingValue:0}}if($.startsWith("ss")&&$.length===4){let Q=parseInt($.slice(2),10);if(Q>=1&&Q<=20)return{featureType:35,settingValue:(Q-1)*2+2}}return null}var Z0={GridFit:1,DoGray:2,SymmetricGridFit:4,SymmetricSmoothing:8};function H1($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let J=0;J<Z;J++){let q=$.uint16(),U=$.uint16();K.push({maxPPEM:q,behavior:U})}return K.sort((J,q)=>J.maxPPEM-q.maxPPEM),{version:Q,ranges:K}}function _1($,Q){for(let Z=0;Z<$.ranges.length;Z++){let K=$.ranges[Z];if(Q<=K.maxPPEM)return K.behavior}if($.ranges.length>0)return $.ranges[$.ranges.length-1]?.behavior;return Z0.GridFit|Z0.DoGray}function mN($,Q){return(_1($,Q)&Z0.GridFit)!==0}function uN($,Q){return(_1($,Q)&Z0.DoGray)!==0}class M8{startGlyphId;classValueArray;ranges;glyphMap;isEmpty;constructor($,Q,Z,K,J){this.startGlyphId=$,this.classValueArray=Q,this.ranges=Z,this.glyphMap=K,this.isEmpty=J}static empty(){return new M8(0,null,null,null,!0)}static format1($,Q){return new M8($,Q,null,null,!1)}static format2($){let Q=0;for(let K=0;K<$.length;K++){let J=$[K];Q+=J.endGlyphId-J.startGlyphId+1}let Z=null;if(Q<1e4){Z=new Map;for(let K=0;K<$.length;K++){let J=$[K];for(let q=J.startGlyphId;q<=J.endGlyphId;q++)Z.set(q,J.classValue)}}return new M8(0,null,$,Z,!1)}get($){if(this.isEmpty)return 0;if(this.classValueArray){let J=$-this.startGlyphId;return J>=0&&J<this.classValueArray.length?this.classValueArray[J]:0}if(this.glyphMap)return this.glyphMap.get($)??0;let Q=this.ranges,Z=0,K=Q.length-1;while(Z<=K){let J=Z+K>>>1,q=Q[J];if($>q.endGlyphId)Z=J+1;else if($<q.startGlyphId)K=J-1;else return q.classValue}return 0}glyphsInClass($){if(this.isEmpty)return[];if(this.classValueArray){let K=[];for(let J=0;J<this.classValueArray.length;J++)if(this.classValueArray[J]===$)K.push(this.startGlyphId+J);return K}let Q=[],Z=this.ranges;for(let K=0;K<Z.length;K++){let J=Z[K];if(J.classValue===$)for(let q=J.startGlyphId;q<=J.endGlyphId;q++)Q.push(q)}return Q}}var dq=M8.empty();function nq($){let Q=$.uint16();if(Q===1){let Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K);return M8.format1(Z,J)}if(Q===2){let Z=$.uint16(),K=Array(Z);for(let J=0;J<Z;J++)K[J]={startGlyphId:$.uint16(),endGlyphId:$.uint16(),classValue:$.uint16()};return M8.format2(K)}throw Error(`Unknown ClassDef format: ${Q}`)}function B6($,Q){if(Q===0)return dq;return nq($.sliceFrom(Q))}function pq($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16(),J=$.offset16(),q=$.offset16(),U=$.offset16(),W=0;if(Q===1&&Z>=2)W=$.offset16();let H=B6($,K),_=null;if(J!==0)_=xN($.sliceFrom(J));let N=null;if(q!==0)N=fN($.sliceFrom(q));let V=B6($,U),z=null;if(W!==0)z=lN($.sliceFrom(W));return{version:{major:Q,minor:Z},glyphClassDef:H,attachList:_,ligCaretList:N,markAttachClassDef:V,markGlyphSets:z}}function xN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=$.sliceFrom(Q),q=J.uint16(),U=[];if(q===1){let H=J.uint16();for(let _=0;_<H;_++)U.push(J.uint16())}else if(q===2){let H=J.uint16();for(let _=0;_<H;_++){let N=J.uint16(),V=J.uint16();J.skip(2);for(let z=N;z<=V;z++)U.push(z)}}let W=new Map;for(let H=0;H<K.length;H++){let _=K[H],N=U[H];if(N===void 0)continue;let V=$.sliceFrom(_),z=V.uint16(),j=V.uint16Array(z),X=Array(j.length);for(let G=0;G<j.length;G++)X[G]=j[G];W.set(N,{pointIndices:X})}return W}function fN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=$.sliceFrom(Q),q=J.uint16(),U=[];if(q===1){let H=J.uint16();for(let _=0;_<H;_++)U.push(J.uint16())}else if(q===2){let H=J.uint16();for(let _=0;_<H;_++){let N=J.uint16(),V=J.uint16();J.skip(2);for(let z=N;z<=V;z++)U.push(z)}}let W=new Map;for(let H=0;H<K.length;H++){let _=K[H],N=U[H];if(N===void 0)continue;let V=$.sliceFrom(_),z=V.uint16(),j=V.uint16Array(z),X=[];for(let G=0;G<j.length;G++){let E=j[G],Y=$.sliceFrom(_+E),w=Y.uint16();if(w===1)X.push(Y.int16());else if(w===2)X.push(Y.uint16());else if(w===3)X.push(Y.int16())}W.set(N,{caretValues:X})}return W}function lN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint32Array(Z),J=[];for(let q=0;q<K.length;q++){let U=K[q],W=$.sliceFrom(U),H=W.uint16(),_=new Set;if(H===1){let N=W.uint16();for(let V=0;V<N;V++)_.add(W.uint16())}else if(H===2){let N=W.uint16();for(let V=0;V<N;V++){let z=W.uint16(),j=W.uint16();W.skip(2);for(let X=z;X<=j;X++)_.add(X)}}J.push(_)}return{has(q,U){let W=J[q];return W?W.has(U):!1}}}function _8($,Q){if(!$)return 0;return $.glyphClassDef.get(Q)}class X9{glyphMap;ranges;glyphArray;size;constructor($,Q,Z,K){this.glyphMap=$,this.ranges=Q,this.glyphArray=Z,this.size=K}static format1($){let Q=new Map;for(let Z=0;Z<$.length;Z++)Q.set($[Z],Z);return new X9(Q,null,$,$.length)}static format2($){let Q=0;if($.length>0){let Z=$[$.length-1];if(Z)Q=Z.startCoverageIndex+(Z.endGlyphId-Z.startGlyphId+1)}return new X9(null,$,null,Q)}get($){if(this.glyphMap)return this.glyphMap.get($)??null;let Q=this.ranges,Z=0,K=Q.length-1;while(Z<=K){let J=Z+K>>>1,q=Q[J];if($>q.endGlyphId)Z=J+1;else if($<q.startGlyphId)K=J-1;else return q.startCoverageIndex+($-q.startGlyphId)}return null}covers($){return this.get($)!==null}glyphs(){if(this.glyphArray){let Z=this.glyphArray,K=Array(Z.length);for(let J=0;J<Z.length;J++)K[J]=Z[J];return K}let $=[],Q=this.ranges;for(let Z=0;Z<Q.length;Z++){let K=Q[Z];for(let J=K.startGlyphId;J<=K.endGlyphId;J++)$.push(J)}return $}}function cq($){let Q=$.uint16();if(Q===1){let Z=$.uint16(),K=$.uint16Array(Z);return X9.format1(K)}if(Q===2){let Z=$.uint16(),K=Array(Z);for(let J=0;J<Z;J++)K[J]={startGlyphId:$.uint16(),endGlyphId:$.uint16(),startCoverageIndex:$.uint16()};return X9.format2(K)}throw Error(`Unknown Coverage format: ${Q}`)}function s($,Q){return cq($.sliceFrom(Q))}function oq($){return"deltaSetOuterIndex"in $}function n8($,Q){if(Q===0)return null;return dN($.sliceFrom(Q))}function dN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16();if(K===32768)return{deltaSetOuterIndex:Q,deltaSetInnerIndex:Z};let J=[];if(K>=1&&K<=3){let q=Z-Q+1,U=1<<K,W=16/U,H=(1<<U)-1,_=1<<U-1,N=Math.ceil(q/W),V=0;for(let z=0;z<N;z++){let j=$.uint16();for(let X=0;X<W&&V<q;X++,V++){let G=16-U*(X+1),E=j>>G&H;if(E&_)E=E-(1<<U);J.push(E)}}}return{startSize:Q,endSize:Z,deltaFormat:K,deltaValues:J}}function iq($,Q){if(Q<$.startSize||Q>$.endSize)return 0;let Z=Q-$.startSize;return $.deltaValues[Z]??0}function nN($,Q,Z){if(!$)return Q;if(oq($))return Q;return Q+iq($,Z)}var y6={RightToLeft:1,IgnoreBaseGlyphs:2,IgnoreLigatures:4,IgnoreMarks:8,UseMarkFilteringSet:16,MarkAttachmentTypeMask:65280};function J5($){return($&y6.MarkAttachmentTypeMask)>>8}function K0($){let Q=$.uint16(),Z=[];for(let J=0;J<Q;J++)Z.push({tag:$.tag(),offset:$.offset16()});let K=[];for(let J=0;J<Z.length;J++){let q=Z[J],U=$.sliceFrom(q.offset),W=pN(U);K.push({scriptTag:q.tag,script:W})}return{scripts:K}}function pN($){let Q=$.offset16(),Z=$.uint16(),K=[];for(let U=0;U<Z;U++)K.push({tag:$.tag(),offset:$.offset16()});let J=null;if(Q!==0)J=sq($.sliceFrom(Q));let q=[];for(let U=0;U<K.length;U++){let W=K[U],H=sq($.sliceFrom(W.offset));q.push({langSysTag:W.tag,langSys:H})}return{defaultLangSys:J,langSysRecords:q}}function sq($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K),q=Array(K);for(let U=0;U<K;U++)q[U]=J[U];return{requiredFeatureIndex:Z,featureIndices:q}}function J0($){let Q=$.uint16(),Z=[];for(let J=0;J<Q;J++)Z.push({tag:$.tag(),offset:$.offset16()});let K=[];for(let J=0;J<Z.length;J++){let q=Z[J],U=$.sliceFrom(q.offset),W=cN(U);K.push({featureTag:q.tag,feature:W})}return{features:K}}function cN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=Array(Z);for(let q=0;q<Z;q++)J[q]=K[q];return{featureParamsOffset:Q,lookupListIndices:J}}function oN($){let Q=$.uint16(),Z=$.uint16Array(Q),K=[];for(let J=0;J<Z.length;J++){let q=Z[J],U=$.sliceFrom(q);K.push(iN(U))}return K}function iN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K),q=Array(K);for(let W=0;W<K;W++)q[W]=J[W];let U;if(Z&y6.UseMarkFilteringSet)U=$.uint16();return{lookupType:Q,lookupFlag:Z,subtableOffsets:q,markFilteringSet:U}}function q0($,Q){for(let Z=0;Z<$.scripts.length;Z++){let K=$.scripts[Z];if(K.scriptTag===Q)return K.script}return null}function N1($,Q){if(Q===null)return $.defaultLangSys;for(let Z=0;Z<$.langSysRecords.length;Z++){let K=$.langSysRecords[Z];if(K.langSysTag===Q)return K.langSys}return $.defaultLangSys}function q5($,Q){return $.features[Q]??null}class V6{mask0=0;mask1=0;mask2=0;add($){this.mask0|=1<<($&31),this.mask1|=1<<($>>4&31),this.mask2|=1<<($>>9&31)}addRange($,Q){if(Q-$<32)for(let Z=$;Z<=Q;Z++)this.add(Z);else this.mask0=4294967295,this.mask1=4294967295,this.mask2=4294967295}mayHave($){return(this.mask0&1<<($&31))!==0&&(this.mask1&1<<($>>4&31))!==0&&(this.mask2&1<<($>>9&31))!==0}addCoverage($){let Q=$.glyphs();for(let Z=0;Z<Q.length;Z++){let K=Q[Z];this.add(K)}}mayIntersect($){return(this.mask0&$.mask0)!==0&&(this.mask1&$.mask1)!==0&&(this.mask2&$.mask2)!==0}getMasks(){return{mask0:this.mask0,mask1:this.mask1,mask2:this.mask2}}}function sN($){let Q=new V6;for(let Z=0;Z<$.length;Z++){let K=$[Z];Q.addCoverage(K)}return Q}function V1($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(aN(q));break;case 2:Z.push(rN(q));break;case 3:Z.push(tN(q));break}}return Z}function aN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=s($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let z=0;z<N.length;z++){let j=N[z],X=H.sliceFrom(j),G=X.uint16(),E=X.uint16(),Y=X.uint16Array(G-1),w=Array(Y.length);for(let A=0;A<Y.length;A++)w[A]=Y[A];let F=G9(X,E);V.push({glyphCount:G,inputSequence:w,lookupRecords:F})}q.push(V)}return{format:1,coverage:J,ruleSets:q}}function rN($){let Q=$.offset16(),Z=$.offset16(),K=$.uint16(),J=$.uint16Array(K),q=s($,Q),U=B6($,Z),W=[];for(let H=0;H<J.length;H++){let _=J[H];if(_===0){W.push(null);continue}let N=$.sliceFrom(_),V=N.uint16(),z=N.uint16Array(V),j=[];for(let X=0;X<z.length;X++){let G=z[X],E=N.sliceFrom(G),Y=E.uint16(),w=E.uint16(),F=E.uint16Array(Y-1),A=Array(F.length);for(let L=0;L<F.length;L++)A[L]=F[L];let D=G9(E,w);j.push({glyphCount:Y,inputClasses:A,lookupRecords:D})}W.push(j)}return{format:2,coverage:q,classDef:U,classRuleSets:W}}function tN($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16Array(Q),J=[];for(let U=0;U<K.length;U++){let W=K[U];J.push(s($,W))}let q=G9($,Z);return{format:3,coverages:J,lookupRecords:q}}function z1($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(eN(q));break;case 2:Z.push($V(q));break;case 3:Z.push(QV(q));break}}return Z}function eN($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=s($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let z=0;z<N.length;z++){let j=N[z],X=H.sliceFrom(j),G=X.uint16(),E=X.uint16Array(G),Y=Array(E.length);for(let T=0;T<E.length;T++)Y[T]=E[T];let w=X.uint16(),F=X.uint16Array(w-1),A=Array(F.length);for(let T=0;T<F.length;T++)A[T]=F[T];let D=X.uint16(),L=X.uint16Array(D),R=Array(L.length);for(let T=0;T<L.length;T++)R[T]=L[T];let B=X.uint16(),v=G9(X,B);V.push({backtrackSequence:Y,inputSequence:A,lookaheadSequence:R,lookupRecords:v})}q.push(V)}return{format:1,coverage:J,chainRuleSets:q}}function $V($){let Q=$.offset16(),Z=$.offset16(),K=$.offset16(),J=$.offset16(),q=$.uint16(),U=$.uint16Array(q),W=s($,Q),H=B6($,Z),_=B6($,K),N=B6($,J),V=[];for(let z=0;z<U.length;z++){let j=U[z];if(j===0){V.push(null);continue}let X=$.sliceFrom(j),G=X.uint16(),E=X.uint16Array(G),Y=[];for(let w=0;w<E.length;w++){let F=E[w],A=X.sliceFrom(F),D=A.uint16(),L=A.uint16Array(D),R=Array(L.length);for(let O=0;O<L.length;O++)R[O]=L[O];let B=A.uint16(),v=A.uint16Array(B-1),T=Array(v.length);for(let O=0;O<v.length;O++)T[O]=v[O];let g=A.uint16(),P=A.uint16Array(g),f=Array(P.length);for(let O=0;O<P.length;O++)f[O]=P[O];let l=A.uint16(),C=G9(A,l);Y.push({backtrackClasses:R,inputClasses:T,lookaheadClasses:f,lookupRecords:C})}V.push(Y)}return{format:2,coverage:W,backtrackClassDef:H,inputClassDef:_,lookaheadClassDef:N,chainClassRuleSets:V}}function QV($){let Q=$.uint16(),Z=$.uint16Array(Q),K=$.uint16(),J=$.uint16Array(K),q=$.uint16(),U=$.uint16Array(q),W=$.uint16(),H=G9($,W),_=[];for(let z=0;z<Z.length;z++){let j=Z[z];_.push(s($,j))}let N=[];for(let z=0;z<J.length;z++){let j=J[z];N.push(s($,j))}let V=[];for(let z=0;z<U.length;z++){let j=U[z];V.push(s($,j))}return{format:3,backtrackCoverages:_,inputCoverages:N,lookaheadCoverages:V,lookupRecords:H}}function G9($,Q){let Z=[];for(let K=0;K<Q;K++)Z.push({sequenceIndex:$.uint16(),lookupListIndex:$.uint16()});return Z}function aq($){let Q=$.uint16(),Z=$.int16(),K=$.int16(),J={xCoordinate:Z,yCoordinate:K};if(Q===2)J.anchorPoint=$.uint16();else if(Q===3)J.xDeviceOffset=$.uint16(),J.yDeviceOffset=$.uint16();return J}function U0($,Q){if(Q===0)return null;return aq($.sliceFrom(Q))}function j1($){let Q=$.uint16(),Z=[],K=[];for(let J=0;J<Q;J++)K.push({markClass:$.uint16(),anchorOffset:$.uint16()});for(let J=0;J<K.length;J++){let q=K[J],U=aq($.sliceFrom(q.anchorOffset));Z.push({markClass:q.markClass,markAnchor:U})}return{markRecords:Z}}function X1($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=[];for(let z=0;z<H;z++)_.push({entryOffset:q.uint16(),exitOffset:q.uint16()});let N=s(q,W),V=[];for(let z=0;z<_.length;z++){let j=_[z];V.push({entryAnchor:U0(q,j.entryOffset),exitAnchor:U0(q,j.exitOffset)})}Z.push({coverage:N,entryExitRecords:V})}}return Z}function G1($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.offset16(),_=q.uint16(),N=q.offset16(),V=q.offset16(),z=s(q,W),j=s(q,H),X=j1(q.sliceFrom(N)),G=q.sliceFrom(V),E=G.uint16(),Y=[],w=[];for(let F=0;F<E;F++){let A=[];for(let D=0;D<_;D++)A.push(G.uint16());w.push(A)}for(let F=0;F<w.length;F++){let A=w[F],D=[];for(let L=0;L<A.length;L++){let R=A[L];D.push(U0(G,R))}Y.push({baseAnchors:D})}Z.push({markCoverage:z,baseCoverage:j,markClassCount:_,markArray:X,baseArray:Y})}}return Z}function E1($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.offset16(),_=q.uint16(),N=q.offset16(),V=q.offset16(),z=s(q,W),j=s(q,H),X=j1(q.sliceFrom(N)),G=q.sliceFrom(V),E=G.uint16(),Y=G.uint16Array(E),w=[];for(let F=0;F<Y.length;F++){let A=Y[F],D=G.sliceFrom(A),L=D.uint16(),R=[],B=[];for(let v=0;v<L;v++){let T=[];for(let g=0;g<_;g++)T.push(D.uint16());B.push(T)}for(let v=0;v<B.length;v++){let T=B[v],g=[];for(let P=0;P<T.length;P++){let f=T[P];g.push(U0(D,f))}R.push({ligatureAnchors:g})}w.push({componentRecords:R})}Z.push({markCoverage:z,ligatureCoverage:j,markClassCount:_,markArray:X,ligatureArray:w})}}return Z}function Y1($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.offset16(),_=q.uint16(),N=q.offset16(),V=q.offset16(),z=s(q,W),j=s(q,H),X=j1(q.sliceFrom(N)),G=q.sliceFrom(V),E=G.uint16(),Y=[],w=[];for(let F=0;F<E;F++){let A=[];for(let D=0;D<_;D++)A.push(G.uint16());w.push(A)}for(let F=0;F<w.length;F++){let A=w[F],D=[];for(let L=0;L<A.length;L++){let R=A[L];D.push(U0(G,R))}Y.push({mark2Anchors:D})}Z.push({mark1Coverage:z,mark2Coverage:j,markClassCount:_,mark1Array:X,mark2Array:Y})}}return Z}var B8={XPlacement:1,YPlacement:2,XAdvance:4,YAdvance:8,XPlaDevice:16,YPlaDevice:32,XAdvDevice:64,YAdvDevice:128};function rq($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16(),J=$.offset16(),q=$.offset16();if(Q===1&&Z>=1)$.offset32();let U=K0($.sliceFrom(K)),W=J0($.sliceFrom(J)),H=$.sliceFrom(q),_=H.uint16(),N=H.uint16Array(_),V=[];for(let z=0;z<N.length;z++){let j=N[z],X=H.sliceFrom(j),G=ZV(X);if(G)V.push(G)}return{version:{major:Q,minor:Z},scriptList:U,featureList:W,lookups:V}}function ZV($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16Array(K),q=Array(J.length);for(let N=0;N<J.length;N++)q[N]=J[N];let U;if(Z&y6.UseMarkFilteringSet)U=$.uint16();let W={flag:Z,markFilteringSet:U},H=(N)=>{let V=new V6;for(let z=0;z<N.length;z++){let j=N[z];V.addCoverage(j.coverage)}return V},_=(N)=>{let V=new V6;for(let z=0;z<N.length;z++){let j=N[z];V.addCoverage(j.markCoverage)}return V};switch(Q){case 1:{let N=tq($,q);return{type:1,...W,subtables:N,digest:H(N)}}case 2:{let N=eq($,q);return{type:2,...W,subtables:N,digest:H(N)}}case 3:{let N=X1($,q);return{type:3,...W,subtables:N,digest:H(N)}}case 4:{let N=G1($,q);return{type:4,...W,subtables:N,digest:_(N)}}case 5:{let N=E1($,q);return{type:5,...W,subtables:N,digest:_(N)}}case 6:{let N=Y1($,q),V=new V6;for(let z=0;z<N.length;z++){let j=N[z];V.addCoverage(j.mark1Coverage)}return{type:6,...W,subtables:N,digest:V}}case 7:{let N=V1($,q),V=new V6;for(let z=0;z<N.length;z++){let j=N[z];if("coverage"in j&&j.coverage)V.addCoverage(j.coverage)}return{type:7,...W,subtables:N,digest:V}}case 8:{let N=z1($,q),V=new V6;for(let z=0;z<N.length;z++){let j=N[z];if("coverage"in j&&j.coverage)V.addCoverage(j.coverage);else if("inputCoverages"in j&&j.inputCoverages?.[0])V.addCoverage(j.inputCoverages[0])}return{type:8,...W,subtables:N,digest:V}}case 9:return qV($,q,W);default:return null}}function E9($,Q,Z){let K={};if(Q&B8.XPlacement)K.xPlacement=$.int16();if(Q&B8.YPlacement)K.yPlacement=$.int16();if(Q&B8.XAdvance)K.xAdvance=$.int16();if(Q&B8.YAdvance)K.yAdvance=$.int16();let J=Z??$;if(Q&B8.XPlaDevice){let q=$.uint16();if(q!==0)K.xPlaDevice=n8(J,q)??void 0}if(Q&B8.YPlaDevice){let q=$.uint16();if(q!==0)K.yPlaDevice=n8(J,q)??void 0}if(Q&B8.XAdvDevice){let q=$.uint16();if(q!==0)K.xAdvDevice=n8(J,q)??void 0}if(Q&B8.YAdvDevice){let q=$.uint16();if(q!==0)K.yAdvDevice=n8(J,q)??void 0}return K}function tq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J),U=$.sliceFrom(J),W=U.uint16();if(W===1){let H=U.offset16(),_=U.uint16(),N=E9(U,_,q),V=s(q,H);Z.push({format:1,coverage:V,valueFormat:_,value:N})}else if(W===2){let H=U.offset16(),_=U.uint16(),N=U.uint16(),V=[];for(let j=0;j<N;j++)V.push(E9(U,_,q));let z=s(q,H);Z.push({format:2,coverage:z,valueFormat:_,values:V})}}return Z}function eq($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J),U=$.sliceFrom(J),W=U.uint16();if(W===1)Z.push(KV(U,q));else if(W===2)Z.push(JV(U,q))}return Z}function KV($,Q){let Z=$.offset16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.uint16Array(q),W=s(Q,Z),H=[];for(let _=0;_<U.length;_++){let N=U[_],V=Q.sliceFrom(N),z=Q.sliceFrom(N),j=z.uint16(),X=[];for(let G=0;G<j;G++){let E=z.uint16(),Y=E9(z,K,V),w=E9(z,J,V);X.push({secondGlyph:E,value1:Y,value2:w})}H.push({pairValueRecords:X})}return{format:1,coverage:W,valueFormat1:K,valueFormat2:J,pairSets:H}}function JV($,Q){let Z=$.offset16(),K=$.uint16(),J=$.uint16(),q=$.offset16(),U=$.offset16(),W=$.uint16(),H=$.uint16(),_=s(Q,Z),N=B6(Q,q),V=B6(Q,U),z=[];for(let j=0;j<W;j++){let X=[];for(let G=0;G<H;G++){let E=E9($,K,Q),Y=E9($,J,Q);X.push({value1:E,value2:Y})}z.push({class2Records:X})}return{format:2,coverage:_,valueFormat1:K,valueFormat2:J,classDef1:N,classDef2:V,class1Count:W,class2Count:H,class1Records:z}}function qV($,Q,Z){if(Q.length===0)return null;let K=[];for(let W=0;W<Q.length;W++){let H=Q[W],_=$.sliceFrom(H);if(_.uint16()!==1)continue;let V=_.uint16(),z=_.uint32();K.push({type:V,reader:_.sliceFrom(z)})}if(K.length===0)return null;let J=K[0]?.type,q=(W)=>{let H=new V6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.coverage)}return H},U=(W)=>{let H=new V6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.markCoverage)}return H};switch(J){case 1:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...tq(_.reader,[0]))}return{type:1,...Z,subtables:W,digest:q(W)}}case 2:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...eq(_.reader,[0]))}return{type:2,...Z,subtables:W,digest:q(W)}}case 3:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...X1(_.reader,[0]))}return{type:3,...Z,subtables:W,digest:q(W)}}case 4:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...G1(_.reader,[0]))}return{type:4,...Z,subtables:W,digest:U(W)}}case 5:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...E1(_.reader,[0]))}return{type:5,...Z,subtables:W,digest:U(W)}}case 6:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...Y1(N.reader,[0]))}let H=new V6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.mark1Coverage)}return{type:6,...Z,subtables:W,digest:H}}case 7:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...V1(N.reader,[0]))}let H=new V6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage)}return{type:7,...Z,subtables:W,digest:H}}case 8:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...z1(N.reader,[0]))}let H=new V6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage);else if("inputCoverages"in N&&N.inputCoverages?.[0])H.addCoverage(N.inputCoverages[0])}return{type:8,...Z,subtables:W,digest:H}}default:return null}}function UV($,Q){let Z=0,K=$.length-1;while(Z<=K){let J=Z+K>>>1,q=$[J],U=q.secondGlyph;if(U<Q)Z=J+1;else if(U>Q)K=J-1;else return q}return null}function w1($,Q,Z,K,J){for(let q=0;q<$.subtables.length;q++){let U=$.subtables[q],W=U.coverage.get(Q);if(W===null)continue;if(U.format===1){let H=U.pairSets[W];if(!H)continue;let _=UV(H.pairValueRecords,Z);if(_){let N=_.value1.xAdvance,V=_.value2.xAdvance;if(N)K.xAdvance+=N;if(V)J.xAdvance+=V;return!0}}else if(U.format===2){let H=U.classDef1.get(Q),_=U.class1Records;if(H>=_.length)continue;let N=_[H],V=U.classDef2.get(Z),z=N.class2Records;if(V>=z.length)continue;let j=z[V],X=j.value1.xAdvance,G=j.value2.xAdvance;if(X)K.xAdvance+=X;if(G)J.xAdvance+=G;return!0}}return!1}function A1($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(WV(q));break;case 2:Z.push(HV(q));break;case 3:Z.push(_V(q));break}}return Z}function WV($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=s($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let z=0;z<N.length;z++){let j=N[z],X=H.sliceFrom(j),G=X.uint16(),E=X.uint16(),Y=X.uint16Array(G-1),w=Array(Y.length);for(let A=0;A<Y.length;A++)w[A]=Y[A];let F=Y9(X,E);V.push({glyphCount:G,inputSequence:w,lookupRecords:F})}q.push(V)}return{format:1,coverage:J,ruleSets:q}}function HV($){let Q=$.offset16(),Z=$.offset16(),K=$.uint16(),J=$.uint16Array(K),q=s($,Q),U=B6($,Z),W=[];for(let H=0;H<J.length;H++){let _=J[H];if(_===0){W.push(null);continue}let N=$.sliceFrom(_),V=N.uint16(),z=N.uint16Array(V),j=[];for(let X=0;X<z.length;X++){let G=z[X],E=N.sliceFrom(G),Y=E.uint16(),w=E.uint16(),F=E.uint16Array(Y-1),A=Array(F.length);for(let L=0;L<F.length;L++)A[L]=F[L];let D=Y9(E,w);j.push({glyphCount:Y,inputClasses:A,lookupRecords:D})}W.push(j)}return{format:2,coverage:q,classDef:U,classRuleSets:W}}function _V($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16Array(Q),J=[];for(let U=0;U<K.length;U++){let W=K[U];J.push(s($,W))}let q=Y9($,Z);return{format:3,coverages:J,lookupRecords:q}}function F1($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);switch(q.uint16()){case 1:Z.push(NV(q));break;case 2:Z.push(VV(q));break;case 3:Z.push(zV(q));break}}return Z}function NV($){let Q=$.offset16(),Z=$.uint16(),K=$.uint16Array(Z),J=s($,Q),q=[];for(let U=0;U<K.length;U++){let W=K[U];if(W===0){q.push(null);continue}let H=$.sliceFrom(W),_=H.uint16(),N=H.uint16Array(_),V=[];for(let z=0;z<N.length;z++){let j=N[z],X=H.sliceFrom(j),G=X.uint16(),E=X.uint16Array(G),Y=Array(E.length);for(let T=0;T<E.length;T++)Y[T]=E[T];let w=X.uint16(),F=X.uint16Array(w-1),A=Array(F.length);for(let T=0;T<F.length;T++)A[T]=F[T];let D=X.uint16(),L=X.uint16Array(D),R=Array(L.length);for(let T=0;T<L.length;T++)R[T]=L[T];let B=X.uint16(),v=Y9(X,B);V.push({backtrackSequence:Y,inputSequence:A,lookaheadSequence:R,lookupRecords:v})}q.push(V)}return{format:1,coverage:J,chainRuleSets:q}}function VV($){let Q=$.offset16(),Z=$.offset16(),K=$.offset16(),J=$.offset16(),q=$.uint16(),U=$.uint16Array(q),W=s($,Q),H=B6($,Z),_=B6($,K),N=B6($,J),V=[];for(let z=0;z<U.length;z++){let j=U[z];if(j===0){V.push(null);continue}let X=$.sliceFrom(j),G=X.uint16(),E=X.uint16Array(G),Y=[];for(let w=0;w<E.length;w++){let F=E[w],A=X.sliceFrom(F),D=A.uint16(),L=A.uint16Array(D),R=Array(L.length);for(let O=0;O<L.length;O++)R[O]=L[O];let B=A.uint16(),v=A.uint16Array(B-1),T=Array(v.length);for(let O=0;O<v.length;O++)T[O]=v[O];let g=A.uint16(),P=A.uint16Array(g),f=Array(P.length);for(let O=0;O<P.length;O++)f[O]=P[O];let l=A.uint16(),C=Y9(A,l);Y.push({backtrackClasses:R,inputClasses:T,lookaheadClasses:f,lookupRecords:C})}V.push(Y)}return{format:2,coverage:W,backtrackClassDef:H,inputClassDef:_,lookaheadClassDef:N,chainClassRuleSets:V}}function zV($){let Q=$.uint16(),Z=$.uint16Array(Q),K=$.uint16(),J=$.uint16Array(K),q=$.uint16(),U=$.uint16Array(q),W=$.uint16(),H=Y9($,W),_=[];for(let z=0;z<Z.length;z++){let j=Z[z];_.push(s($,j))}let N=[];for(let z=0;z<J.length;z++){let j=J[z];N.push(s($,j))}let V=[];for(let z=0;z<U.length;z++){let j=U[z];V.push(s($,j))}return{format:3,backtrackCoverages:_,inputCoverages:N,lookaheadCoverages:V,lookupRecords:H}}function Y9($,Q){let Z=[];for(let K=0;K<Q;K++)Z.push({sequenceIndex:$.uint16(),lookupListIndex:$.uint16()});return Z}function $U($){let Q=$.uint16(),Z=$.uint16(),K=$.offset16(),J=$.offset16(),q=$.offset16();if(Q===1&&Z>=1)$.offset32();let U=K0($.sliceFrom(K)),W=J0($.sliceFrom(J)),H=$.sliceFrom(q),_=H.uint16(),N=H.uint16Array(_),V=[];for(let z=0;z<N.length;z++){let j=N[z],X=H.sliceFrom(j),G=jV(X,H,j);if(G)V.push(G)}return{version:{major:Q,minor:Z},scriptList:U,featureList:W,lookups:V}}function jV($,Q,Z){let K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.uint16Array(q),W=Array(U.length);for(let V=0;V<U.length;V++)W[V]=U[V];let H;if(J&y6.UseMarkFilteringSet)H=$.uint16();let _={flag:J,markFilteringSet:H},N=(V)=>{let z=new V6;for(let j=0;j<V.length;j++){let X=V[j];z.addCoverage(X.coverage)}return z};switch(K){case 1:{let V=QU($,W);return{type:1,..._,subtables:V,digest:N(V)}}case 2:{let V=ZU($,W);return{type:2,..._,subtables:V,digest:N(V)}}case 3:{let V=KU($,W);return{type:3,..._,subtables:V,digest:N(V)}}case 4:{let V=JU($,W);return{type:4,..._,subtables:V,digest:N(V)}}case 5:{let V=A1($,W),z=new V6;for(let j=0;j<V.length;j++){let X=V[j];if("coverage"in X&&X.coverage)z.addCoverage(X.coverage)}return{type:5,..._,subtables:V,digest:z}}case 6:{let V=F1($,W),z=new V6;for(let j=0;j<V.length;j++){let X=V[j];if("coverage"in X&&X.coverage)z.addCoverage(X.coverage);else if("inputCoverages"in X&&X.inputCoverages?.[0])z.addCoverage(X.inputCoverages[0])}return{type:6,..._,subtables:V,digest:z}}case 7:return XV($,W,_);case 8:{let V=qU($,W);return{type:8,..._,subtables:V,digest:N(V)}}default:return null}}function QU($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J),U=q.uint16();if(U===1){let W=q.offset16(),H=q.int16(),_=s(q,W);Z.push({format:1,coverage:_,deltaGlyphId:H})}else if(U===2){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=Array(_.length);for(let z=0;z<_.length;z++)N[z]=_[z];let V=s(q,W);Z.push({format:2,coverage:V,substituteGlyphIds:N})}}return Z}function ZU($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=s(q,W),V=[];for(let z=0;z<_.length;z++){let j=_[z],X=q.sliceFrom(j),G=X.uint16(),E=X.uint16Array(G),Y=Array(E.length);for(let w=0;w<E.length;w++)Y[w]=E[w];V.push(Y)}Z.push({coverage:N,sequences:V})}}return Z}function KU($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=s(q,W),V=[];for(let z=0;z<_.length;z++){let j=_[z],X=q.sliceFrom(j),G=X.uint16(),E=X.uint16Array(G),Y=Array(E.length);for(let w=0;w<E.length;w++)Y[w]=E[w];V.push(Y)}Z.push({coverage:N,alternateSets:V})}}return Z}function JU($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=s(q,W),V=[];for(let z=0;z<_.length;z++){let j=_[z],X=q.sliceFrom(j),G=X.uint16(),E=X.uint16Array(G),Y=[];for(let w=0;w<E.length;w++){let F=E[w],A=X.sliceFrom(F),D=A.uint16(),L=A.uint16(),R=A.uint16Array(L-1),B=Array(R.length);for(let v=0;v<R.length;v++)B[v]=R[v];Y.push({ligatureGlyph:D,componentGlyphIds:B})}V.push({ligatures:Y})}Z.push({coverage:N,ligatureSets:V})}}return Z}function qU($,Q){let Z=[];for(let K=0;K<Q.length;K++){let J=Q[K],q=$.sliceFrom(J);if(q.uint16()===1){let W=q.offset16(),H=q.uint16(),_=q.uint16Array(H),N=q.uint16(),V=q.uint16Array(N),z=q.uint16(),j=q.uint16Array(z),X=Array(j.length);for(let w=0;w<j.length;w++)X[w]=j[w];let G=s(q,W),E=[];for(let w=0;w<_.length;w++){let F=_[w];E.push(s(q,F))}let Y=[];for(let w=0;w<V.length;w++){let F=V[w];Y.push(s(q,F))}Z.push({coverage:G,backtrackCoverages:E,lookaheadCoverages:Y,substituteGlyphIds:X})}}return Z}function XV($,Q,Z){if(Q.length===0)return null;let K=[];for(let W=0;W<Q.length;W++){let H=Q[W],_=$.sliceFrom(H);if(_.uint16()!==1)continue;let V=_.uint16(),z=_.uint32();K.push({type:V,reader:_.sliceFrom(z)})}if(K.length===0)return null;let J=K[0]?.type,q=K.map((W,H)=>0),U=(W)=>{let H=new V6;for(let _=0;_<W.length;_++){let N=W[_];H.addCoverage(N.coverage)}return H};switch(J){case 1:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...QU(_.reader,[0]))}return{type:1,...Z,subtables:W,digest:U(W)}}case 2:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...ZU(_.reader,[0]))}return{type:2,...Z,subtables:W,digest:U(W)}}case 3:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...KU(_.reader,[0]))}return{type:3,...Z,subtables:W,digest:U(W)}}case 4:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...JU(_.reader,[0]))}return{type:4,...Z,subtables:W,digest:U(W)}}case 5:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...A1(N.reader,[0]))}let H=new V6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage)}return{type:5,...Z,subtables:W,digest:H}}case 6:{let W=[];for(let _=0;_<K.length;_++){let N=K[_];W.push(...F1(N.reader,[0]))}let H=new V6;for(let _=0;_<W.length;_++){let N=W[_];if("coverage"in N&&N.coverage)H.addCoverage(N.coverage);else if("inputCoverages"in N&&N.inputCoverages?.[0])H.addCoverage(N.inputCoverages[0])}return{type:6,...Z,subtables:W,digest:H}}case 8:{let W=[];for(let H=0;H<K.length;H++){let _=K[H];W.push(...qU(_.reader,[0]))}return{type:8,...Z,subtables:W,digest:U(W)}}default:return null}}function W0($,Q){for(let Z=0;Z<$.subtables.length;Z++){let K=$.subtables[Z],J=K.coverage.get(Q);if(J===null)continue;if(K.format===1&&K.deltaGlyphId!==void 0)return Q+K.deltaGlyphId&65535;if(K.format===2&&K.substituteGlyphIds)return K.substituteGlyphIds[J]??null}return null}function UU($,Q,Z,K){let J=Q[K];if(J===void 0)return null;for(let q=0;q<$.subtables.length;q++){let U=$.subtables[q],W=U.coverage.get(J);if(W===null)continue;let H=U.ligatureSets[W];if(!H)continue;for(let _=0;_<H.ligatures.length;_++){let N=H.ligatures[_],V=N.componentGlyphIds.length;if(K+1+V>Z)continue;let z=!0;for(let j=0;j<V;j++)if(Q[K+1+j]!==N.componentGlyphIds[j]){z=!1;break}if(z)return{ligatureGlyph:N.ligatureGlyph,consumed:1+V}}}return null}function WU($){let Q=$.uint16(),Z=$.uint16(),K=$.fixed(),J=$.uint32(),q=$.uint32();if(q!==1594834165)throw Error(`Invalid head table magic number: 0x${q.toString(16)}`);let U=$.uint16(),W=$.uint16(),H=$.longDateTime(),_=$.longDateTime(),N=$.fword(),V=$.fword(),z=$.fword(),j=$.fword(),X=$.uint16(),G=$.uint16(),E=$.int16(),Y=$.int16(),w=$.int16();return{majorVersion:Q,minorVersion:Z,fontRevision:K,checksumAdjustment:J,magicNumber:q,flags:U,unitsPerEm:W,created:H,modified:_,xMin:N,yMin:V,xMax:z,yMax:j,macStyle:X,lowestRecPPEM:G,fontDirectionHint:E,indexToLocFormat:Y,glyphDataFormat:w}}function HU($){return{majorVersion:$.uint16(),minorVersion:$.uint16(),ascender:$.fword(),descender:$.fword(),lineGap:$.fword(),advanceWidthMax:$.ufword(),minLeftSideBearing:$.fword(),minRightSideBearing:$.fword(),xMaxExtent:$.fword(),caretSlopeRise:$.int16(),caretSlopeRun:$.int16(),caretOffset:$.int16(),reserved1:$.int16(),reserved2:$.int16(),reserved3:$.int16(),reserved4:$.int16(),metricDataFormat:$.int16(),numberOfHMetrics:$.uint16()}}function L1($){return{instructions:$.bytes($.remaining)}}function D1($){return{instructions:$.bytes($.remaining)}}function M1($){let Q=Math.floor($.remaining/2),Z=new Int16Array(Q);for(let K=0;K<Q;K++)Z[K]=$.int16();return{values:Z}}function _U($,Q,Z){let K=Array(Q);for(let U=0;U<Q;U++)K[U]={advanceWidth:$.ufword(),lsb:$.fword()};let J=Z-Q,q=Array(J);for(let U=0;U<J;U++)q[U]=$.fword();return{hMetrics:K,leftSideBearings:q}}function NU($,Q){if(Q<$.hMetrics.length)return $.hMetrics[Q]?.advanceWidth;return $.hMetrics[$.hMetrics.length-1]?.advanceWidth}function VU($,Q){if(Q<$.hMetrics.length)return $.hMetrics[Q]?.lsb;let Z=Q-$.hMetrics.length;return $.leftSideBearings[Z]??0}var GV={ShrinkGpos:0,DisableGpos:1,ShrinkGsub:2,DisableGsub:3,EnableGpos:4,EnableGsub:5,MaxExtendGpos:6,MaxExtendGsub:7};function R8($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let q=0;q<K;q++)J.push(Z.uint16());return{lookupIndices:J}}function zU($,Q){if(Q===0)return null;let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let q=0;q<K;q++)J.push(Z.uint16());return{lookupIndices:J}}function EV($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=Z.uint16(),U=Z.uint16(),W=Z.uint16(),H=Z.uint16(),_=Z.uint16(),N=Z.uint16(),V=Z.uint16(),z=Z.uint16();return{shrinkageEnableGsub:R8($,Q+K),shrinkageDisableGsub:R8($,Q+J),shrinkageEnableGpos:R8($,Q+q),shrinkageDisableGpos:R8($,Q+U),shrinkageJstfMax:zU($,Q+W),extensionEnableGsub:R8($,Q+H),extensionDisableGsub:R8($,Q+_),extensionEnableGpos:R8($,Q+N),extensionDisableGpos:R8($,Q+V),extensionJstfMax:zU($,Q+z)}}function jU($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let U=0;U<K;U++)J.push(Z.uint16());let q=[];for(let U=0;U<J.length;U++){let W=J[U];q.push(EV($,Q+W))}return{priorities:q}}function YV($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=Z.uint16(),q=Z.uint16(),U=[];for(let N=0;N<q;N++){let V=Z.uint32(),z=Z.uint16();U.push({tag:V,offset:z})}let W=[];if(K!==0){let N=$.sliceFrom(Q+K),V=N.uint16();for(let z=0;z<V;z++)W.push(N.uint16())}let H=J!==0?jU($,Q+J):null,_=new Map;for(let N=0;N<U.length;N++){let{tag:V,offset:z}=U[N];_.set(V,jU($,Q+z))}return{extenderGlyphs:W,defaultLangSys:H,langSysRecords:_}}function B1($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=[];for(let U=0;U<K;U++){let W=$.uint32(),H=$.uint16();J.push({tag:W,offset:H})}let q=[];for(let U=0;U<J.length;U++){let{tag:W,offset:H}=J[U],_=YV($,H);q.push({scriptTag:W,..._})}return{majorVersion:Q,minorVersion:Z,scripts:q}}function R1($,Q){return $.scripts.find((K)=>K.scriptTag===Q)?.extenderGlyphs??[]}function T1($,Q,Z){let K=$.scripts.find((J)=>J.scriptTag===Q);if(!K)return[];if(Z!==void 0){let J=K.langSysRecords.get(Z);if(J)return J.priorities}return K.defaultLangSys?.priorities??[]}function O1($){return{enableGsub:$.shrinkageEnableGsub?.lookupIndices??[],disableGsub:$.shrinkageDisableGsub?.lookupIndices??[],enableGpos:$.shrinkageEnableGpos?.lookupIndices??[],disableGpos:$.shrinkageDisableGpos?.lookupIndices??[],maxLookups:$.shrinkageJstfMax?.lookupIndices??[]}}function P1($){return{enableGsub:$.extensionEnableGsub?.lookupIndices??[],disableGsub:$.extensionDisableGsub?.lookupIndices??[],enableGpos:$.extensionEnableGpos?.lookupIndices??[],disableGpos:$.extensionDisableGpos?.lookupIndices??[],maxLookups:$.extensionJstfMax?.lookupIndices??[]}}function XU($){let Q=$.uint16(),Z=[];if(Q===0){let K=$.uint16();for(let J=0;J<K;J++){let q=wV($);if(q)Z.push(q)}}else if(Q===1){$.skip(2);let K=$.uint32();for(let J=0;J<K;J++){let q=AV($);if(q)Z.push(q)}}return{version:Q,subtables:Z}}function wV($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J={horizontal:(K&1)!==0,minimum:(K&2)!==0,crossStream:(K&4)!==0,override:(K&8)!==0},q=K>>8&255;if(q===0)return GU($,J);else if(q===2)return EU($,J,Z-6);return $.skip(Z-6),null}function AV($){let Q=$.uint32(),Z=$.uint16(),K=$.uint16(),J={horizontal:(Z&32768)===0,minimum:!1,crossStream:(Z&16384)!==0,override:(Z&8192)!==0},q=Z&255;if(q===0)return GU($,J);else if(q===2)return EU($,J,Q-8);return $.skip(Q-8),null}function GU($,Q){let Z=$.uint16();$.skip(6);let K=new Map;for(let J=0;J<Z;J++){let q=$.uint16(),U=$.uint16(),W=$.int16(),H=q<<16|U;K.set(H,W)}return{format:0,coverage:Q,pairs:K}}function EU($,Q,Z){let K=$.offset,J=$.uint16(),q=$.uint16(),U=$.uint16(),W=$.uint16(),H=new Map;$.seek(K+q);let _=$.uint16(),N=$.uint16();for(let Y=0;Y<N;Y++){let w=$.uint16();if(w!==0)H.set(_+Y,w)}let V=new Map;$.seek(K+U);let z=$.uint16(),j=$.uint16();for(let Y=0;Y<j;Y++){let w=$.uint16();if(w!==0)V.set(z+Y,w)}$.seek(K+W);let X=J>0?Math.floor(Z/J):0,G=J/2,E=[];for(let Y=0;Y<X;Y++){let w=[];for(let F=0;F<G;F++)w.push($.int16());E.push(w)}return{format:2,coverage:Q,rowWidth:J,leftClassTable:H,rightClassTable:V,kerningValues:E}}function v1($,Q,Z){let K=0;for(let J=0;J<$.subtables.length;J++){let q=$.subtables[J];if(!q.coverage.horizontal)continue;if(q.format===0){let U=Q<<16|Z,W=q.pairs.get(U);if(W!==void 0)if(q.coverage.override)K=W;else K+=W}else if(q.format===2){let U=q.leftClassTable.get(Q)??0,W=q.rightClassTable.get(Z)??0;if(U>0&&W>0){let H=Math.floor(U/2),_=Math.floor(W/2),N=q.kerningValues[H];if(N){let V=N[_];if(V!==void 0)if(q.coverage.override)K=V;else K+=V}}}}return K}function wU($){let Q=$.uint16();$.skip(2);let Z=$.uint32(),K=[];for(let J=0;J<Z;J++){let q=FV($);if(q)K.push(q)}return{version:Q,nTables:Z,subtables:K}}function FV($){let Q=$.uint32(),Z=$.uint32(),K=$.uint16();$.skip(2);let J=Z&255,q={vertical:(Z&2147483648)!==0,crossStream:(Z&1073741824)!==0,variation:(Z&536870912)!==0},U={length:Q,coverage:q,tupleCount:K},W=$.offset+Q-12,H=null;switch(J){case 0:H=LV($,U);break;case 1:H=DV($,U);break;case 2:H=MV($,U);break;case 6:H=BV($,U);break}return $.seek(W),H}function LV($,Q){let Z=$.uint32();$.skip(12);let K=[];for(let J=0;J<Z;J++)K.push({left:$.uint16(),right:$.uint16(),value:$.int16()}),$.skip(2);return{...Q,format:0,nPairs:Z,pairs:K}}function DV($,Q){let Z={nClasses:$.uint32(),classTableOffset:$.offset32(),stateArrayOffset:$.offset32(),entryTableOffset:$.offset32(),valueTableOffset:$.offset32()};return{...Q,format:1,stateHeader:Z}}function MV($,Q){let Z=$.uint16();$.skip(2);let K=$.offset32(),J=$.offset32(),q=$.offset32(),U=YU($.sliceFrom(K)),W=YU($.sliceFrom(J)),H=$.sliceFrom(q),_=U.nGlyphs>0?Math.max(...[...U.classes])+1:0,N=Z/2,V=new Int16Array(_*N);for(let z=0;z<V.length;z++)V[z]=H.int16();return{...Q,format:2,rowWidth:Z,leftClassTable:U,rightClassTable:W,kerningArray:V}}function YU($){let Q=$.uint16(),Z=$.uint16(),K=new Uint8Array(Z);for(let J=0;J<Z;J++)K[J]=$.uint8();return{firstGlyph:Q,nGlyphs:Z,classes:K}}function BV($,Q){let Z=$.uint32(),K=$.uint16(),J=$.uint16(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32();return{...Q,format:6,flags:Z,rowCount:K,columnCount:J,rowIndexTableOffset:q,columnIndexTableOffset:U,kerningArrayOffset:W,kerningVectorOffset:H}}function RV($,Q,Z){for(let K=0;K<$.subtables.length;K++){let J=$.subtables[K];if(J.coverage.vertical)continue;switch(J.format){case 0:{let q=J.pairs,U=0,W=q.length-1;while(U<=W){let H=U+W>>1,_=q[H];if(!_)break;let N=_.left<<16|_.right,V=Q<<16|Z;if(N===V)return _.value;else if(N<V)U=H+1;else W=H-1}break}case 2:{let{leftClassTable:q,rightClassTable:U}=J;if(Q<q.firstGlyph||Q>=q.firstGlyph+q.nGlyphs)continue;if(Z<U.firstGlyph||Z>=U.firstGlyph+U.nGlyphs)continue;let W=q.classes[Q-q.firstGlyph],H=U.classes[Z-U.firstGlyph];if(W===void 0||H===void 0)continue;let _=J.rowWidth/2,N=W*_+H;if(N<J.kerningArray.length){let V=J.kerningArray[N];if(V!==void 0&&V!==0)return V}break}}}return 0}function c($,Q){let Z=$.int16(),K=$.uint16();return{value:Z,device:n8(Q,K)}}function TV($){let Q=$,Z=$.int16(),K=$.int16(),J=$.uint16(),q=$.uint16();return{scriptPercentScaleDown:Z,scriptScriptPercentScaleDown:K,delimitedSubFormulaMinHeight:J,displayOperatorMinHeight:q,mathLeading:c($,Q),axisHeight:c($,Q),accentBaseHeight:c($,Q),flattenedAccentBaseHeight:c($,Q),subscriptShiftDown:c($,Q),subscriptTopMax:c($,Q),subscriptBaselineDropMin:c($,Q),superscriptShiftUp:c($,Q),superscriptShiftUpCramped:c($,Q),superscriptBottomMin:c($,Q),superscriptBaselineDropMax:c($,Q),subSuperscriptGapMin:c($,Q),superscriptBottomMaxWithSubscript:c($,Q),spaceAfterScript:c($,Q),upperLimitGapMin:c($,Q),upperLimitBaselineRiseMin:c($,Q),lowerLimitGapMin:c($,Q),lowerLimitBaselineDropMin:c($,Q),stackTopShiftUp:c($,Q),stackTopDisplayStyleShiftUp:c($,Q),stackBottomShiftDown:c($,Q),stackBottomDisplayStyleShiftDown:c($,Q),stackGapMin:c($,Q),stackDisplayStyleGapMin:c($,Q),stretchStackTopShiftUp:c($,Q),stretchStackBottomShiftDown:c($,Q),stretchStackGapAboveMin:c($,Q),stretchStackGapBelowMin:c($,Q),fractionNumeratorShiftUp:c($,Q),fractionNumeratorDisplayStyleShiftUp:c($,Q),fractionDenominatorShiftDown:c($,Q),fractionDenominatorDisplayStyleShiftDown:c($,Q),fractionNumeratorGapMin:c($,Q),fractionNumDisplayStyleGapMin:c($,Q),fractionRuleThickness:c($,Q),fractionDenominatorGapMin:c($,Q),fractionDenomDisplayStyleGapMin:c($,Q),skewedFractionHorizontalGap:c($,Q),skewedFractionVerticalGap:c($,Q),overbarVerticalGap:c($,Q),overbarRuleThickness:c($,Q),overbarExtraAscender:c($,Q),underbarVerticalGap:c($,Q),underbarRuleThickness:c($,Q),underbarExtraDescender:c($,Q),radicalVerticalGap:c($,Q),radicalDisplayStyleVerticalGap:c($,Q),radicalRuleThickness:c($,Q),radicalExtraAscender:c($,Q),radicalKernBeforeDegree:c($,Q),radicalKernAfterDegree:c($,Q),radicalDegreeBottomRaisePercent:$.int16()}}function OV($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let q=0;q<Z;q++)K.push(c($,$));return{coverage:s($,Q),values:K}}function PV($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let q=0;q<Z;q++)K.push(c($,$));return{coverage:s($,Q),values:K}}function U5($,Q){let Z=$.sliceFrom(Q),K=Z.uint16(),J=[];for(let U=0;U<K;U++)J.push(c(Z,Z));let q=[];for(let U=0;U<K+1;U++)q.push(c(Z,Z));return{correctionHeights:J,kernValues:q}}function vV($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let U=0;U<Z;U++)K.push({topRightOffset:$.uint16(),topLeftOffset:$.uint16(),bottomRightOffset:$.uint16(),bottomLeftOffset:$.uint16()});let J=s($,Q),q=K.map((U)=>({topRight:U.topRightOffset!==0?U5($,U.topRightOffset):null,topLeft:U.topLeftOffset!==0?U5($,U.topLeftOffset):null,bottomRight:U.bottomRightOffset!==0?U5($,U.bottomRightOffset):null,bottomLeft:U.bottomLeftOffset!==0?U5($,U.bottomLeftOffset):null}));return{coverage:J,kernInfo:q}}function IV($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=null;if(Q!==0)q=OV($.sliceFrom(Q));let U=null;if(Z!==0)U=PV($.sliceFrom(Z));let W=null;if(K!==0)W={coverage:s($,K)};let H=null;if(J!==0)H=vV($.sliceFrom(J));return{italicsCorrection:q,topAccentAttachment:U,extendedShapeCoverage:W,kernInfo:H}}function kV($){let Q=c($,$),Z=$.uint16(),K=[];for(let J=0;J<Z;J++)K.push({glyphId:$.uint16(),startConnectorLength:$.uint16(),endConnectorLength:$.uint16(),fullAdvance:$.uint16(),partFlags:$.uint16()});return{italicsCorrection:Q,parts:K}}function AU($){let Q=$.uint16(),Z=$.uint16(),K=[];for(let q=0;q<Z;q++)K.push({variantGlyph:$.uint16(),advanceMeasurement:$.uint16()});let J=null;if(Q!==0)J=kV($.sliceFrom(Q));return{glyphAssembly:J,variants:K}}function CV($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=[];for(let z=0;z<J;z++)U.push($.uint16());let W=[];for(let z=0;z<q;z++)W.push($.uint16());let H=Z!==0?s($,Z):null,_=K!==0?s($,K):null,N=U.map((z)=>AU($.sliceFrom(z))),V=W.map((z)=>AU($.sliceFrom(z)));return{minConnectorOverlap:Q,vertGlyphCoverage:H,horizGlyphCoverage:_,vertGlyphConstruction:N,horizGlyphConstruction:V}}function I1($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=null;if(K!==0)U=TV($.sliceFrom(K));let W=null;if(J!==0)W=IV($.sliceFrom(J));let H=null;if(q!==0)H=CV($.sliceFrom(q));return{majorVersion:Q,minorVersion:Z,constants:U,glyphInfo:W,variants:H}}function SV($,Q){let Z=$.glyphInfo?.italicsCorrection;if(!Z)return null;let K=Z.coverage.get(Q);if(K===null)return null;return Z.values[K]??null}function hV($,Q){let Z=$.glyphInfo?.topAccentAttachment;if(!Z)return null;let K=Z.coverage.get(Q);if(K===null)return null;return Z.values[K]??null}function yV($,Q){let Z=$.glyphInfo?.extendedShapeCoverage;if(!Z)return!1;return Z.coverage.get(Q)!==null}function bV($,Q){let Z=$.variants;if(!Z?.vertGlyphCoverage)return null;let K=Z.vertGlyphCoverage.get(Q);if(K===null)return null;return Z.vertGlyphConstruction[K]?.variants??null}function gV($,Q){let Z=$.variants;if(!Z?.horizGlyphCoverage)return null;let K=Z.horizGlyphCoverage.get(Q);if(K===null)return null;return Z.horizGlyphConstruction[K]?.variants??null}function mV($,Q){let Z=$.variants;if(!Z?.vertGlyphCoverage)return null;let K=Z.vertGlyphCoverage.get(Q);if(K===null)return null;return Z.vertGlyphConstruction[K]?.glyphAssembly??null}function uV($,Q){let Z=$.variants;if(!Z?.horizGlyphCoverage)return null;let K=Z.horizGlyphCoverage.get(Q);if(K===null)return null;return Z.horizGlyphConstruction[K]?.glyphAssembly??null}function FU($){let Q=$.uint32(),Z=$.uint16();if(Q===20480)return{version:Q,numGlyphs:Z};if(Q===65536)return{version:Q,numGlyphs:Z,maxPoints:$.uint16(),maxContours:$.uint16(),maxCompositePoints:$.uint16(),maxCompositeContours:$.uint16(),maxZones:$.uint16(),maxTwilightPoints:$.uint16(),maxStorage:$.uint16(),maxFunctionDefs:$.uint16(),maxInstructionDefs:$.uint16(),maxStackElements:$.uint16(),maxSizeOfInstructions:$.uint16(),maxComponentElements:$.uint16(),maxComponentDepth:$.uint16()};throw Error(`Unknown maxp version: 0x${Q.toString(16)}`)}var k1;((q)=>{q[q.Rearrangement=0]="Rearrangement";q[q.Contextual=1]="Contextual";q[q.Ligature=2]="Ligature";q[q.NonContextual=4]="NonContextual";q[q.Insertion=5]="Insertion"})(k1||={});function LU($){let Q=$.uint16();if($.skip(2),Q<2)return{version:Q,chains:[]};let Z=$.uint32(),K=[];for(let J=0;J<Z;J++){let q=xV($);K.push(q)}return{version:Q,chains:K}}function xV($){let Q=$.uint32(),Z=$.uint32(),K=$.uint32(),J=$.uint32(),q=[];for(let W=0;W<K;W++)q.push({featureType:$.uint16(),featureSetting:$.uint16(),enableFlags:$.uint32(),disableFlags:$.uint32()});let U=[];for(let W=0;W<J;W++){let H=fV($);if(H)U.push(H)}return{defaultFlags:Q,features:q,subtables:U}}function fV($){let Q=$.uint32(),Z=$.uint32(),K=$.uint32(),J=Z&255,q={vertical:(Z&2147483648)!==0,descending:(Z&1073741824)!==0,logical:(Z&268435456)!==0},W=$.offset+Q-12,H=null;switch(J){case 0:H=pV($,q,K);break;case 1:H=dV($,q,K);break;case 2:H=nV($,q,K);break;case 4:H=lV($,q,K);break;case 5:H=cV($,q,K);break}return $.seek(W),H}function lV($,Q,Z){let K=oV($);return{type:4,coverage:Q,subFeatureFlags:Z,lookupTable:K}}function dV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32(),_=W5($.sliceFrom(K+q));return{type:1,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:_,stateArray:[]},substitutionTable:[]}}function nV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32(),_=$.offset32(),N=$.offset32(),V=W5($.sliceFrom(K+q));return{type:2,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:V,stateArray:[]},ligatureActions:[],components:[],ligatures:[]}}function pV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=W5($.sliceFrom(K+q)),_=$.sliceFrom(K+U),N=$.sliceFrom(K+W),V=[],z=256;for(let G=0;G<256;G++)V.push({newState:N.uint16(),flags:N.uint16()});let j=[],X=Math.min(256,Math.ceil((W-U)/(J*2)));for(let G=0;G<X;G++){let E=[];for(let Y=0;Y<J;Y++){let w=_.uint16();E.push(V[w]??{newState:0,flags:0})}j.push(E)}return{type:0,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:H,stateArray:j}}}function cV($,Q,Z){let K=$.offset,J=$.uint32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=$.offset32(),_=W5($.sliceFrom(K+q)),N=$.sliceFrom(K+H),V=[],z=1024;for(let F=0;F<1024;F++)try{V.push(N.uint16())}catch{break}let j=$.sliceFrom(K+W),X=[],G=256;for(let F=0;F<G;F++)X.push({newState:j.uint16(),flags:j.uint16(),currentInsertIndex:j.uint16(),markedInsertIndex:j.uint16()});let E=$.sliceFrom(K+U),Y=[],w=Math.min(256,Math.ceil((W-U)/(J*2)));for(let F=0;F<w;F++){let A=[];for(let D=0;D<J;D++){let L=E.uint16();A.push(X[L]??{newState:0,flags:0,currentInsertIndex:65535,markedInsertIndex:65535})}Y.push(A)}return{type:5,coverage:Q,subFeatureFlags:Z,stateTable:{nClasses:J,classTable:_,stateArray:Y},insertionGlyphs:V}}function oV($){let Q=$.uint16(),Z=new Map;switch(Q){case 0:break;case 2:{let K=$.uint16(),J=$.uint16();$.skip(6);for(let q=0;q<J;q++){let U=$.uint16(),W=$.uint16(),H=$.uint16();for(let _=W;_<=U;_++)Z.set(_,H)}break}case 4:{let K=$.uint16(),J=$.uint16();$.skip(6);for(let q=0;q<J;q++){let U=$.uint16(),W=$.uint16(),H=$.uint16()}break}case 6:{let K=$.uint16(),J=$.uint16();$.skip(6);for(let q=0;q<J;q++){let U=$.uint16(),W=$.uint16();Z.set(U,W)}break}case 8:{let K=$.uint16(),J=$.uint16();for(let q=0;q<J;q++){let U=$.uint16();if(U!==0)Z.set(K+q,U)}break}}return{format:Q,mapping:Z}}function W5($){let Q=$.uint16(),Z=[];if(Q===2){let K=$.uint16(),J=$.uint16();$.skip(6);let q=[];for(let W=0;W<J;W++)q.push({last:$.uint16(),first:$.uint16(),classValue:$.uint16()});let U=Math.max(...q.map((W)=>W.last),0);for(let W=0;W<=U;W++){let H=q.find((_)=>W>=_.first&&W<=_.last);Z[W]=H?.classValue??1}}return{format:Q,classArray:Z}}function C1($,Q){return $.lookupTable.mapping.get(Q)??null}var H0={hasc:k("hasc"),hdsc:k("hdsc"),hlgp:k("hlgp"),hcla:k("hcla"),hcld:k("hcld"),hcof:k("hcof"),hcrn:k("hcrn"),hcrs:k("hcrs"),vasc:k("vasc"),vdsc:k("vdsc"),vlgp:k("vlgp"),vcof:k("vcof"),vcrn:k("vcrn"),vcrs:k("vcrs"),xhgt:k("xhgt"),cpht:k("cpht"),sbxs:k("sbxs"),sbys:k("sbys"),sbxo:k("sbxo"),sbyo:k("sbyo"),spxs:k("spxs"),spys:k("spys"),spxo:k("spxo"),spyo:k("spyo"),strs:k("strs"),stro:k("stro"),undo:k("undo"),unds:k("unds"),gsp0:k("gsp0"),gsp1:k("gsp1"),gsp2:k("gsp2"),gsp3:k("gsp3")};function DU($){let Q=$.uint16(),Z=$.uint16();$.uint16();let K=$.uint16(),J=$.uint16(),q=$.offset16(),U=[];for(let H=0;H<J;H++)if(U.push({valueTag:$.tag(),deltaSetOuterIndex:$.uint16(),deltaSetInnerIndex:$.uint16()}),K>8)$.skip(K-8);let W=iV($.sliceFrom(q));return{majorVersion:Q,minorVersion:Z,itemVariationStore:W,valueRecords:U}}function iV($){let Q=$.uint16(),Z=$.offset32(),K=$.uint16(),J=[];for(let N=0;N<K;N++)J.push($.offset32());let q=$.sliceFrom(Z),U=q.uint16(),W=q.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let z=0;z<U;z++)V.push({startCoord:q.f2dot14(),peakCoord:q.f2dot14(),endCoord:q.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<J.length;N++){let V=J[N],z=$.sliceFrom(V),j=z.uint16(),X=z.uint16(),G=z.uint16(),E=[];for(let D=0;D<G;D++)E.push(z.uint16());let Y=(X&32768)!==0,w=X&32767,F=G-w,A=[];for(let D=0;D<j;D++){let L=[];for(let R=0;R<w;R++)if(Y)L.push(z.int32());else L.push(z.int16());for(let R=0;R<F;R++)if(Y)L.push(z.int16());else L.push(z.int8());A.push(L)}_.push({itemCount:j,regionIndexes:E,deltaSets:A})}return{format:Q,variationRegions:H,itemVariationData:_}}function _0($,Q,Z){let K=$.valueRecords.find((_)=>_.valueTag===Q);if(!K)return 0;let{deltaSetOuterIndex:J,deltaSetInnerIndex:q}=K,U=$.itemVariationStore.itemVariationData[J];if(!U||q>=U.itemCount)return 0;let W=U.deltaSets[q];if(!W)return 0;let H=0;for(let _=0;_<U.regionIndexes.length;_++){let N=U.regionIndexes[_],V=$.itemVariationStore.variationRegions[N];if(!V)continue;let z=t9(V,Z),j=W[_]??0;H+=z*j}return Math.round(H)}function sV($,Q){return _0($,H0.hasc,Q)}function aV($,Q){return _0($,H0.hdsc,Q)}function rV($,Q){return _0($,H0.xhgt,Q)}function tV($,Q){return _0($,H0.cpht,Q)}var T8={Copyright:0,FontFamily:1,FontSubfamily:2,UniqueID:3,FullName:4,Version:5,PostScriptName:6,Trademark:7,Manufacturer:8,Designer:9,Description:10,ManufacturerURL:11,DesignerURL:12,License:13,LicenseURL:14,Reserved:15,TypographicFamily:16,TypographicSubfamily:17,CompatibleFullName:18,SampleText:19,PostScriptCIDFindfontName:20,WWSFamily:21,WWSSubfamily:22,LightBackgroundPalette:23,DarkBackgroundPalette:24,VariationsPostScriptNamePrefix:25},w9={Unicode:0,Macintosh:1,Reserved:2,Windows:3},eV={Symbol:0,UnicodeBMP:1,ShiftJIS:2,PRC:3,Big5:4,Wansung:5,Johab:6,UnicodeFullRepertoire:10};function S1($){let Q=$.uint16(),Z=$.uint16(),K=$.uint16(),J=[],q=[];for(let U=0;U<Z;U++)q.push({platformId:$.uint16(),encodingId:$.uint16(),languageId:$.uint16(),nameId:$.uint16(),length:$.uint16(),offset:$.uint16()});for(let U=0;U<q.length;U++){let W=q[U],H=$.sliceFrom(K+W.offset),_=$z(H,W.length,W.platformId,W.encodingId);if(_!==null)J.push({platformId:W.platformId,encodingId:W.encodingId,languageId:W.languageId,nameId:W.nameId,value:_})}return{format:Q,records:J}}function $z($,Q,Z,K){if(Z===w9.Unicode||Z===w9.Windows&&(K===1||K===10)){let J=[];for(let q=0;q<Q;q+=2){let U=$.uint16();J.push(String.fromCharCode(U))}return J.join("")}if(Z===w9.Macintosh&&K===0){let J=[];for(let q=0;q<Q;q++)J.push($.uint8());return String.fromCharCode(...J)}return null}function O8($,Q,Z){for(let K=0;K<$.records.length;K++){let J=$.records[K];if(J.nameId!==Q)continue;if(J.platformId===w9.Windows&&J.encodingId===1){if(Z===void 0||J.languageId===Z)return J.value}}for(let K=0;K<$.records.length;K++){let J=$.records[K];if(J.nameId!==Q)continue;if(J.platformId===w9.Unicode){if(Z===void 0||J.languageId===Z)return J.value}}for(let K=0;K<$.records.length;K++){let J=$.records[K];if(J.nameId!==Q)continue;if(Z===void 0||J.languageId===Z)return J.value}return null}function Qz($){return O8($,T8.TypographicFamily)??O8($,T8.FontFamily)}function Zz($){return O8($,T8.TypographicSubfamily)??O8($,T8.FontSubfamily)}function Kz($){return O8($,T8.FullName)}function Jz($){return O8($,T8.PostScriptName)}function qz($){return O8($,T8.Version)}var Uz={Thin:100,ExtraLight:200,Light:300,Normal:400,Medium:500,SemiBold:600,Bold:700,ExtraBold:800,Black:900},Wz={UltraCondensed:1,ExtraCondensed:2,Condensed:3,SemiCondensed:4,Normal:5,SemiExpanded:6,Expanded:7,ExtraExpanded:8,UltraExpanded:9},_5={Italic:1,Underscore:2,Negative:4,Outlined:8,Strikeout:16,Bold:32,Regular:64,UseTypoMetrics:128,WWS:256,Oblique:512},H5={InstallableEmbedding:0,RestrictedLicense:2,PreviewAndPrint:4,Editable:8,NoSubsetting:256,BitmapOnly:512};function h1($){let Q=$.uint16(),Z=$.int16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.int16(),W=$.int16(),H=$.int16(),_=$.int16(),N=$.int16(),V=$.int16(),z=$.int16(),j=$.int16(),X=$.int16(),G=$.int16(),E=$.int16(),Y=[];for(let O=0;O<10;O++)Y.push($.uint8());let w=$.uint32(),F=$.uint32(),A=$.uint32(),D=$.uint32(),L=String.fromCharCode($.uint8(),$.uint8(),$.uint8(),$.uint8()),R=$.uint16(),B=$.uint16(),v=$.uint16(),T=$.int16(),g=$.int16(),P=$.int16(),f=$.uint16(),l=$.uint16(),C={version:Q,xAvgCharWidth:Z,usWeightClass:K,usWidthClass:J,fsType:q,ySubscriptXSize:U,ySubscriptYSize:W,ySubscriptXOffset:H,ySubscriptYOffset:_,ySuperscriptXSize:N,ySuperscriptYSize:V,ySuperscriptXOffset:z,ySuperscriptYOffset:j,yStrikeoutSize:X,yStrikeoutPosition:G,sFamilyClass:E,panose:Y,ulUnicodeRange1:w,ulUnicodeRange2:F,ulUnicodeRange3:A,ulUnicodeRange4:D,achVendID:L,fsSelection:R,usFirstCharIndex:B,usLastCharIndex:v,sTypoAscender:T,sTypoDescender:g,sTypoLineGap:P,usWinAscent:f,usWinDescent:l};if(Q>=1)C.ulCodePageRange1=$.uint32(),C.ulCodePageRange2=$.uint32();if(Q>=2)C.sxHeight=$.int16(),C.sCapHeight=$.int16(),C.usDefaultChar=$.uint16(),C.usBreakChar=$.uint16(),C.usMaxContext=$.uint16();if(Q>=5)C.usLowerOpticalPointSize=$.uint16(),C.usUpperOpticalPointSize=$.uint16();return C}function Hz($){return($.fsSelection&_5.Italic)!==0}function _z($){return($.fsSelection&_5.Bold)!==0}function Nz($){return($.fsSelection&_5.UseTypoMetrics)!==0}function Vz($){let Q=$.fsType;if((Q&H5.RestrictedLicense)!==0)return"restricted";if((Q&H5.PreviewAndPrint)!==0)return"preview";if((Q&H5.Editable)!==0)return"editable";return"installable"}var MU=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function y1($){let Q=$.uint16(),Z=$.uint16(),K=Q+Z/65536,J=$.fixed(),q=$.int16(),U=$.int16(),W=$.uint32(),H=$.uint32(),_=$.uint32(),N=$.uint32(),V=$.uint32(),z={version:K,italicAngle:J,underlinePosition:q,underlineThickness:U,isFixedPitch:W,minMemType42:H,maxMemType42:_,minMemType1:N,maxMemType1:V};if(K===2){let j=$.uint16(),X=[];for(let w=0;w<j;w++)X.push($.uint16());let G=[],E=0;for(let w=0;w<X.length;w++){let F=X[w];if(F>=258&&F>E)E=F}let Y=E>=258?E-257:0;for(let w=0;w<Y;w++){let F=$.uint8(),A=[];for(let D=0;D<F;D++)A.push(String.fromCharCode($.uint8()));G.push(A.join(""))}z.numberOfGlyphs=j,z.glyphNameIndex=X,z.names=G}return z}function zz($,Q){if($.version===1){let Z=MU[Q];return Z!==void 0?Z:null}if($.version===2&&$.glyphNameIndex){let Z=$.glyphNameIndex[Q];if(Z===void 0)return null;if(Z<258)return MU[Z]??null;let K=Z-258;return $.names?.[K]??null}return null}function jz($){return $.isFixedPitch!==0}var b1={PNG:"png ",JPG:"jpg ",TIFF:"tiff",PDF:"pdf ",MASK:"mask",DUPE:"dupe"};function BU($,Q){let Z=$.offset,K=$.uint16(),J=$.uint16(),q=$.uint32(),U=[];for(let H=0;H<q;H++)U.push($.uint32());let W=[];for(let H=0;H<U.length;H++){let _=U[H],N=Xz($,Z+_,Q);W.push(N)}return{version:K,flags:J,strikes:W}}function Xz($,Q,Z){let K=$.sliceFrom(Q),J=K.uint16(),q=K.uint16(),U=[];for(let H=0;H<=Z;H++)U.push(K.uint32());let W=new Map;for(let H=0;H<Z;H++){let _=U[H],N=U[H+1];if(_===void 0||N===void 0)continue;let V=N-_;if(V<=8)continue;let z=$.sliceFrom(Q+_),j=z.int16(),X=z.int16(),G=z.tagString(),E=V-8,Y=z.bytes(E);W.set(H,{originOffsetX:j,originOffsetY:X,graphicType:G,data:Y})}return{ppem:J,ppi:q,glyphData:W}}function Gz($,Q,Z){let K=null,J=1/0;for(let q=0;q<$.strikes.length;q++){let U=$.strikes[q],W=Math.abs(U.ppem-Z);if(W<J)J=W,K=U}if(!K)return null;return K.glyphData.get(Q)??null}function RU($,Q){return $.strikes.find((Z)=>Z.ppem===Q)??null}function Ez($){return $.strikes.map((Q)=>Q.ppem).sort((Q,Z)=>Q-Z)}function Yz($,Q,Z){if(Z!==void 0)return RU($,Z)?.glyphData.has(Q)??!1;for(let K=0;K<$.strikes.length;K++)if($.strikes[K].glyphData.has(Q))return!0;return!1}function TU($,Q,Z){if(Z.graphicType!==b1.DUPE)return Z;if(Z.data.length<2)return null;let K=(Z.data[0]??0)<<8|(Z.data[1]??0),J=Q.glyphData.get(K);if(!J)return null;if(J.graphicType===b1.DUPE)return TU($,Q,J);return J}function g1($){let Q=$.uint32();if(Q!==65536&&Q!==1330926671&&Q!==1953658213)throw Error(`Invalid sfnt version: 0x${Q.toString(16).padStart(8,"0")}`);let Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=new Map;for(let W=0;W<Z;W++){let H=$.tag(),_=$.uint32(),N=$.uint32(),V=$.uint32();U.set(H,{tag:H,checksum:_,offset:N,length:V})}return{sfntVersion:Q,numTables:Z,searchRange:K,entrySelector:J,rangeShift:q,tables:U}}function m1($){return $.sfntVersion===65536||$.sfntVersion===1953658213}function wz($){return $.sfntVersion===1330926671}var u1={OlderSiblingFontAttribute:1,ElidableAxisValueName:2};function OU($){let Q=$.offset,Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=$.uint16(),U=$.offset32(),W=$.uint16(),H=$.offset32(),_;if(Z>=1&&K>=1)_=$.uint16();let N=[];if(U!==0){let z=$.sliceFrom(Q+U);for(let j=0;j<q;j++)if(N.push({axisTag:z.tag(),axisNameID:z.uint16(),axisOrdering:z.uint16()}),J>8)z.skip(J-8)}let V=[];if(H!==0&&W>0){let z=$.sliceFrom(Q+H),j=[];for(let X=0;X<W;X++)j.push(z.uint16());for(let X=0;X<j.length;X++){let G=j[X],E=$.sliceFrom(Q+H+G),Y=Az(E);if(Y)V.push(Y)}}return{majorVersion:Z,minorVersion:K,designAxisCount:q,designAxes:N,axisValueCount:W,axisValues:V,elidedFallbackNameID:_}}function Az($){switch($.uint16()){case 1:return{format:1,axisIndex:$.uint16(),flags:$.uint16(),valueNameID:$.uint16(),value:$.fixed()};case 2:return{format:2,axisIndex:$.uint16(),flags:$.uint16(),valueNameID:$.uint16(),nominalValue:$.fixed(),rangeMinValue:$.fixed(),rangeMaxValue:$.fixed()};case 3:return{format:3,axisIndex:$.uint16(),flags:$.uint16(),valueNameID:$.uint16(),value:$.fixed(),linkedValue:$.fixed()};case 4:{let Z=$.uint16(),K=$.uint16(),J=$.uint16(),q=[];for(let U=0;U<Z;U++)q.push({axisIndex:$.uint16(),value:$.fixed()});return{format:4,axisCount:Z,flags:K,valueNameID:J,axisValues:q}}default:return null}}function Fz($,Q){return $.designAxes.find((Z)=>Z.axisTag===Q)??null}function Lz($,Q){return $.designAxes.findIndex((Z)=>Z.axisTag===Q)}function Dz($,Q){return $.axisValues.filter((Z)=>{if(Z.format===4)return Z.axisValues.some((K)=>K.axisIndex===Q);return Z.axisIndex===Q})}function Mz($,Q){return $.axisValues.find((Z)=>Z.valueNameID===Q)??null}function Bz($){return($.flags&u1.ElidableAxisValueName)!==0}function Rz($){return($.flags&u1.OlderSiblingFontAttribute)!==0}function Tz($){switch($.format){case 1:case 3:return $.value;case 2:return $.nominalValue;case 4:return null}}function Oz($,Q){switch($.format){case 1:case 3:{let Z=Q.get($.axisIndex);return Z!==void 0&&Z===$.value}case 2:{let Z=Q.get($.axisIndex);return Z!==void 0&&Z>=$.rangeMinValue&&Z<=$.rangeMaxValue}case 4:return $.axisValues.every((Z)=>{let K=Q.get(Z.axisIndex);return K!==void 0&&K===Z.value})}}function PU($){let Q=$.uint16(),Z=$.offset32();$.skip(4);let K=$.sliceFrom(Z),J=K.uint16();if(J===0)return{version:Q,documentRecords:[]};let q=[];for(let H=0;H<J;H++)q.push({startGlyphID:K.uint16(),endGlyphID:K.uint16(),svgDocOffset:K.offset32(),svgDocLength:K.uint32()});let U=[],W=new TextDecoder("utf-8");for(let H=0;H<q.length;H++){let _=q[H],V=K.sliceFrom(_.svgDocOffset).bytes(_.svgDocLength),z;if(V[0]===31&&V[1]===139)try{let j=Iz(V);z=W.decode(j)}catch{z=W.decode(V)}else z=W.decode(V);U.push({startGlyphID:_.startGlyphID,endGlyphID:_.endGlyphID,svgDoc:z})}return{version:Q,documentRecords:U}}function vU($,Q){for(let Z=0;Z<$.documentRecords.length;Z++){let K=$.documentRecords[Z];if(Q>=K.startGlyphID&&Q<=K.endGlyphID)return K.svgDoc}return null}function Pz($,Q){return vU($,Q)!==null}function vz($){let Q=[];for(let Z=0;Z<$.documentRecords.length;Z++){let K=$.documentRecords[Z];for(let J=K.startGlyphID;J<=K.endGlyphID;J++)Q.push(J)}return Q}function Iz($){if(typeof DecompressionStream<"u")return $;return $}function kU($){let Q=$,Z=$.uint32()/65536,K=$.uint16(),J=$.offset16(),q=$.offset16();$.skip(2);let U=null,W=null;if(J!==0)U=IU($.sliceFrom(J),Q);if(q!==0)W=IU($.sliceFrom(q),Q);return{version:Z,format:K,horizData:U,vertData:W}}function IU($,Q){let Z=$.uint16(),K=$.uint16(),J=$.offset32(),q=[];for(let H=0;H<Z;H++){let _=$.int32()/65536,N=$.uint16(),V=$.uint16();q.push({track:_,nameIndex:N,offset:V,perSizeTracking:[]})}for(let H=0;H<q.length;H++){let _=q[H],N=Q.sliceFrom(_.offset);_.perSizeTracking=[];for(let V=0;V<K;V++)_.perSizeTracking.push(N.int16())}let U=Q.sliceFrom(J),W=[];for(let H=0;H<K;H++)W.push(U.int32()/65536);return{nTracks:Z,nSizes:K,sizeTableOffset:J,trackTable:q,sizeTable:W}}function CU($,Q,Z){let K=null;for(let J=0;J<$.trackTable.length;J++){let q=$.trackTable[J];if(q.track===Q){K=q;break}}if(!K){let J=null,q=null;for(let U=0;U<$.trackTable.length;U++){let W=$.trackTable[U];if(W.track<=Q&&(!J||W.track>J.track))J=W;if(W.track>=Q&&(!q||W.track<q.track))q=W}if(J&&q&&J!==q){let U=(Q-J.track)/(q.track-J.track),W=x1($,J,Z),H=x1($,q,Z);return Math.round(W+U*(H-W))}else if(J)K=J;else if(q)K=q;else return 0}if(!K)return 0;return x1($,K,Z)}function x1($,Q,Z){let K=$.sizeTable,J=Q.perSizeTracking;if(K.length===0||J.length===0)return 0;let q=K[0],U=J[0];if(q===void 0||U===void 0)return 0;if(Z<=q)return U;let W=K[K.length-1],H=J[J.length-1];if(W===void 0||H===void 0)return 0;if(Z>=W)return H;for(let _=0;_<K.length-1;_++){let N=K[_],V=K[_+1],z=J[_],j=J[_+1];if(N===void 0||V===void 0||z===void 0||j===void 0)continue;if(Z>=N&&Z<=V){let X=(Z-N)/(V-N);return Math.round(z+X*(j-z))}}return 0}function kz($,Q,Z,K=0,J=!1){let q=J?$.vertData:$.horizData;if(!q)return;let U=CU(q,K,Z);if(U===0)return;for(let W=0;W<Q.length;W++){let H=Q[W];Q[W]=(H??0)+U}}function SU($){let Q=$.uint16(),Z=$.uint16(),K=$.fword(),J=$.fword(),q=$.fword(),U=$.uint16(),W=$.fword(),H=$.fword(),_=$.fword(),N=$.int16(),V=$.int16(),z=$.int16();$.skip(8);let j=$.int16(),X=$.uint16();return{version:{major:Q,minor:Z},ascender:K,descender:J,lineGap:q,advanceHeightMax:U,minTopSideBearing:W,minBottomSideBearing:H,yMaxExtent:_,caretSlopeRise:N,caretSlopeRun:V,caretOffset:z,metricDataFormat:j,numberOfVMetrics:X}}function hU($,Q,Z){let K=[];for(let U=0;U<Q;U++)K.push({advanceHeight:$.uint16(),topSideBearing:$.int16()});let J=[],q=Z-Q;for(let U=0;U<q;U++)J.push($.int16());return{vMetrics:K,topSideBearings:J}}function Cz($,Q){if(Q<$.vMetrics.length){let U=$.vMetrics[Q];if(U)return{advanceHeight:U.advanceHeight,topSideBearing:U.topSideBearing}}let K=$.vMetrics[$.vMetrics.length-1]?.advanceHeight??0,J=Q-$.vMetrics.length,q=$.topSideBearings[J]??0;return{advanceHeight:K,topSideBearing:q}}function yU($){let Q=$.uint16(),Z=$.uint16(),K=$.int16(),J=$.uint16(),q=[];for(let U=0;U<J;U++)q.push({glyphIndex:$.uint16(),vertOriginY:$.int16()});return q.sort((U,W)=>U.glyphIndex-W.glyphIndex),{majorVersion:Q,minorVersion:Z,defaultVertOriginY:K,vertOriginYMetrics:q}}function Sz($,Q){let Z=$.vertOriginYMetrics,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(U===void 0)break;if(U.glyphIndex===Q)return U.vertOriginY;else if(U.glyphIndex<Q)K=q+1;else J=q-1}return $.defaultVertOriginY}function hz($,Q){let Z=$.vertOriginYMetrics,K=0,J=Z.length-1;while(K<=J){let q=K+J>>>1,U=Z[q];if(U===void 0)break;if(U.glyphIndex===Q)return!0;else if(U.glyphIndex<Q)K=q+1;else J=q-1}return!1}function bU($){let Q=$.uint16(),Z=$.uint16(),K=$.offset32(),J=$.offset32(),q=$.offset32(),U=$.offset32(),W=$.offset32(),H=yz($.sliceFrom(K)),_=J!==0?N5($.sliceFrom(J)):null,N=q!==0?N5($.sliceFrom(q)):null,V=U!==0?N5($.sliceFrom(U)):null,z=W!==0?N5($.sliceFrom(W)):null;return{majorVersion:Q,minorVersion:Z,itemVariationStore:H,advanceHeightMapping:_,tsbMapping:N,bsbMapping:V,vOrgMapping:z}}function yz($){let Q=$.uint16(),Z=$.offset32(),K=$.uint16(),J=[];for(let N=0;N<K;N++)J.push($.offset32());let q=$.sliceFrom(Z),U=q.uint16(),W=q.uint16(),H=[];for(let N=0;N<W;N++){let V=[];for(let z=0;z<U;z++)V.push({startCoord:q.f2dot14(),peakCoord:q.f2dot14(),endCoord:q.f2dot14()});H.push({regionAxes:V})}let _=[];for(let N=0;N<J.length;N++){let V=J[N],z=$.sliceFrom(V),j=z.uint16(),X=z.uint16(),G=z.uint16(),E=[];for(let D=0;D<G;D++)E.push(z.uint16());let Y=(X&32768)!==0,w=X&32767,F=G-w,A=[];for(let D=0;D<j;D++){let L=[];for(let R=0;R<w;R++)if(Y)L.push(z.int32());else L.push(z.int16());for(let R=0;R<F;R++)if(Y)L.push(z.int16());else L.push(z.int8());A.push(L)}_.push({itemCount:j,regionIndexes:E,deltaSets:A})}return{format:Q,variationRegions:H,itemVariationData:_}}function N5($){let Q=$.uint8(),Z=$.uint8(),K=Q===0?$.uint16():$.uint32(),J=(Z&15)+1,q=(Z>>4&3)+1,U=[];for(let W=0;W<K;W++){let H=0;for(let V=0;V<q;V++)H=H<<8|$.uint8();let _=H&(1<<J)-1,N=H>>J;U.push({outer:N,inner:_})}return{format:Q,mapCount:K,entryFormat:Z,innerIndexBitCount:J,mapData:U}}function bz($,Q,Z){let K=$.advanceHeightMapping,J,q;if(K&&Q<K.mapData.length){let U=K.mapData[Q];if(!U)return 0;J=U.outer,q=U.inner}else J=0,q=Q;return V5($.itemVariationStore,J,q,Z)}function gz($,Q,Z){let K=$.tsbMapping;if(!K)return 0;if(Q>=K.mapData.length)return 0;let J=K.mapData[Q];if(!J)return 0;return V5($.itemVariationStore,J.outer,J.inner,Z)}function mz($,Q,Z){let K=$.bsbMapping;if(!K)return 0;if(Q>=K.mapData.length)return 0;let J=K.mapData[Q];if(!J)return 0;return V5($.itemVariationStore,J.outer,J.inner,Z)}function uz($,Q,Z){let K=$.vOrgMapping;if(!K)return 0;if(Q>=K.mapData.length)return 0;let J=K.mapData[Q];if(!J)return 0;return V5($.itemVariationStore,J.outer,J.inner,Z)}function V5($,Q,Z,K){let J=$.itemVariationData[Q];if(!J||Z>=J.itemCount)return 0;let q=J.deltaSets[Z];if(!q)return 0;let U=0;for(let W=0;W<J.regionIndexes.length;W++){let H=J.regionIndexes[W],_=$.variationRegions[H];if(!_)continue;let N=t9(_,K),V=q[W]??0;U+=N*V}return Math.round(U)}var xz=2001684038,fz=2001684018;function gU($){return new DataView($).getUint32(0,!1)===fz}function mU($){return new DataView($).getUint32(0,!1)===xz}class A9{reader;directory;_head=null;_maxp=null;_hhea=null;_hmtx=null;_cmap=null;_gdef=void 0;_gsub=void 0;_gpos=void 0;_kern=void 0;_fvar=void 0;_hvar=void 0;_vhea=void 0;_vmtx=void 0;_morx=void 0;_gvar=void 0;_avar=void 0;_kerx=void 0;_trak=void 0;_cff=void 0;_cff2=void 0;_colr=void 0;_cpal=void 0;_vvar=void 0;_mvar=void 0;_os2=void 0;_name=void 0;_post=void 0;_base=void 0;_jstf=void 0;_math=void 0;_loca=void 0;_glyf=void 0;_svg=void 0;_vorg=void 0;_sbix=void 0;_stat=void 0;_cbdt=void 0;_cblc=void 0;_feat=void 0;_fpgm=void 0;_prep=void 0;_cvt=void 0;_gasp=void 0;constructor($,Q={}){this.reader=new o6($),this.directory=g1(this.reader)}static load($,Q){if(gU($))throw Error("WOFF2 requires async loading. Use Font.loadAsync() instead.");if(mU($))throw Error("WOFF format is not supported. Please use TTF, OTF, or WOFF2.");return new A9($,Q)}static async loadAsync($,Q){if(gU($))$=await _q($);else if(mU($))throw Error("WOFF format is not supported. Please use TTF, OTF, or WOFF2.");return new A9($,Q)}static async fromURL($,Q){let Z=await fetch($);if(!Z.ok)throw Error(`Failed to fetch font: ${Z.status} ${Z.statusText}`);let K=await Z.arrayBuffer();return A9.loadAsync(K,Q)}static async fromFile($,Q){let K=await Bun.file($).arrayBuffer();return A9.loadAsync(K,Q)}hasTable($){return this.directory.tables.has($)}getTableRecord($){return this.directory.tables.get($)}getTableReader($){let Q=this.directory.tables.get($);if(!Q)return null;return this.reader.slice(Q.offset,Q.length)}get head(){if(!this._head){let $=this.getTableReader(p.head);if(!$)throw Error("Missing required 'head' table");this._head=WU($)}return this._head}get maxp(){if(!this._maxp){let $=this.getTableReader(p.maxp);if(!$)throw Error("Missing required 'maxp' table");this._maxp=FU($)}return this._maxp}get hhea(){if(!this._hhea){let $=this.getTableReader(p.hhea);if(!$)throw Error("Missing required 'hhea' table");this._hhea=HU($)}return this._hhea}get hmtx(){if(!this._hmtx){let $=this.getTableReader(p.hmtx);if(!$)throw Error("Missing required 'hmtx' table");this._hmtx=_U($,this.hhea.numberOfHMetrics,this.numGlyphs)}return this._hmtx}get cmap(){if(!this._cmap){let $=this.getTableRecord(p.cmap),Q=this.getTableReader(p.cmap);if(!Q||!$)throw Error("Missing required 'cmap' table");this._cmap=Fq(Q,$.length)}return this._cmap}get gdef(){if(this._gdef===void 0){let $=this.getTableReader(p.GDEF);this._gdef=$?pq($):null}return this._gdef}get gsub(){if(this._gsub===void 0){let $=this.getTableReader(p.GSUB);this._gsub=$?$U($):null}return this._gsub}get gpos(){if(this._gpos===void 0){let $=this.getTableReader(p.GPOS);this._gpos=$?rq($):null}return this._gpos}get kern(){if(this._kern===void 0){let $=this.getTableReader(p.kern);this._kern=$?XU($):null}return this._kern}get fvar(){if(this._fvar===void 0){let $=this.getTableReader(p.fvar);this._fvar=$?fJ($):null}return this._fvar}get hvar(){if(this._hvar===void 0){let $=this.getTableReader(p.HVAR);this._hvar=$?lJ($):null}return this._hvar}get vhea(){if(this._vhea===void 0){let $=this.getTableReader(p.vhea);this._vhea=$?SU($):null}return this._vhea}get vmtx(){if(this._vmtx===void 0){let $=this.vhea;if(!$)this._vmtx=null;else{let Q=this.getTableReader(p.vmtx);this._vmtx=Q?hU(Q,$.numberOfVMetrics,this.numGlyphs):null}}return this._vmtx}get morx(){if(this._morx===void 0){let $=this.getTableReader(p.morx);this._morx=$?LU($):null}return this._morx}get gvar(){if(this._gvar===void 0){let $=this.getTableReader(p.gvar);this._gvar=$?I7($,this.numGlyphs):null}return this._gvar}get avar(){if(this._avar===void 0){let $=this.fvar;if(!$)this._avar=null;else{let Q=this.getTableReader(p.avar);this._avar=Q?uJ(Q,$.axes.length):null}}return this._avar}get kerx(){if(this._kerx===void 0){let $=this.getTableReader(p.kerx);this._kerx=$?wU($):null}return this._kerx}get trak(){if(this._trak===void 0){let $=this.getTableReader(p.trak);this._trak=$?kU($):null}return this._trak}get cff(){if(this._cff===void 0){let $=this.getTableReader(p.CFF);this._cff=$?$1($):null}return this._cff}get cff2(){if(this._cff2===void 0){let $=this.getTableReader(p.CFF2);this._cff2=$?Z1($):null}return this._cff2}get colr(){if(this._colr===void 0){let $=this.getTableReader(p.COLR);this._colr=$?q1($):null}return this._colr}get cpal(){if(this._cpal===void 0){let $=this.getTableReader(p.CPAL);this._cpal=$?U1($):null}return this._cpal}get vvar(){if(this._vvar===void 0){let $=this.getTableReader(p.VVAR);this._vvar=$?bU($):null}return this._vvar}get mvar(){if(this._mvar===void 0){let $=this.getTableReader(p.MVAR);this._mvar=$?DU($):null}return this._mvar}get os2(){if(this._os2===void 0){let $=this.getTableReader(p.OS2);this._os2=$?h1($):null}return this._os2}get name(){if(this._name===void 0){let $=this.getTableReader(p.name);this._name=$?S1($):null}return this._name}get post(){if(this._post===void 0){let $=this.getTableReader(p.post);this._post=$?y1($):null}return this._post}get base(){if(this._base===void 0){let $=this.getTableReader(p.BASE);this._base=$?e$($):null}return this._base}get jstf(){if(this._jstf===void 0){let $=this.getTableReader(p.JSTF);this._jstf=$?B1($):null}return this._jstf}get math(){if(this._math===void 0){let $=this.getTableReader(p.MATH);this._math=$?I1($):null}return this._math}get loca(){if(this._loca===void 0){let $=this.getTableReader(p.loca);this._loca=$?k7($,this.numGlyphs,this.head.indexToLocFormat):null}return this._loca}get glyf(){if(this._glyf===void 0){let $=this.getTableReader(p.glyf);this._glyf=$?S7($):null}return this._glyf}get svg(){if(this._svg===void 0){let $=this.getTableReader(p.SVG);this._svg=$?PU($):null}return this._svg}get vorg(){if(this._vorg===void 0){let $=this.getTableReader(p.VORG);this._vorg=$?yU($):null}return this._vorg}get sbix(){if(this._sbix===void 0){let $=this.getTableReader(p.sbix);this._sbix=$?BU($,this.numGlyphs):null}return this._sbix}get stat(){if(this._stat===void 0){let $=this.getTableReader(p.STAT);this._stat=$?OU($):null}return this._stat}get cblc(){if(this._cblc===void 0){let $=this.getTableReader(p.CBLC);this._cblc=$?jq($):null}return this._cblc}get cbdt(){if(this._cbdt===void 0){let $=this.getTableReader(p.CBDT);this._cbdt=$?Xq($):null}return this._cbdt}get feat(){if(this._feat===void 0){let $=this.getTableReader(p.feat);this._feat=$?W1($):null}return this._feat}get fpgm(){if(this._fpgm===void 0){let $=this.getTableReader(p.fpgm);this._fpgm=$?L1($):null}return this._fpgm}get prep(){if(this._prep===void 0){let $=this.getTableReader(p.prep);this._prep=$?D1($):null}return this._prep}get cvtTable(){if(this._cvt===void 0){let $=this.getTableReader(p.cvt);this._cvt=$?M1($):null}return this._cvt}get gasp(){if(this._gasp===void 0){let $=this.getTableReader(p.gasp);this._gasp=$?H1($):null}return this._gasp}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get ascender(){return this.hhea.ascender}get descender(){return this.hhea.descender}get lineGap(){return this.hhea.lineGap}get isTrueType(){return m1(this.directory)}get isCFF(){return this.hasTable(p.CFF)||this.hasTable(p.CFF2)}get isVariable(){return this.hasTable(p.fvar)}get hasOpenTypeLayout(){return this.hasTable(p.GSUB)||this.hasTable(p.GPOS)}get hasAATLayout(){return this.hasTable(p.morx)||this.hasTable(p.kerx)}get isColorFont(){return this.hasTable(p.COLR)||this.hasTable(p.SVG)||this.hasTable(p.sbix)||this.hasTable(p.CBDT)}get hasHinting(){return this.isTrueType&&(this.hasTable(p.fpgm)||this.hasTable(p.prep))}glyphId($){return Lq(this.cmap,$)}glyphIdForChar($){let Q=$.codePointAt(0);if(Q===void 0)return 0;return this.glyphId(Q)}advanceWidth($){return NU(this.hmtx,$)}leftSideBearing($){return VU(this.hmtx,$)}listTables(){return[...this.directory.tables.keys()].map(S9)}getGlyph($){if(!this.glyf||!this.loca)return null;return G8(this.glyf,this.loca,$)}getGlyphContours($){if(this.glyf&&this.loca)return g7(this.glyf,this.loca,$);if(this.cff)return Q1(this.cff,$,0);if(this.cff2)return Z5(this.cff2,$,null);return null}getGlyphBounds($){if(this.glyf&&this.loca)return u7(this.glyf,this.loca,$);let Q=this.getGlyphContours($);if(!Q||Q.length===0)return null;let Z=1/0,K=1/0,J=-1/0,q=-1/0;for(let U=0;U<Q.length;U++){let W=Q[U];for(let H=0;H<W.length;H++){let _=W[H];Z=Math.min(Z,_.x),K=Math.min(K,_.y),J=Math.max(J,_.x),q=Math.max(q,_.y)}}if(Z===1/0)return null;return{xMin:Z,yMin:K,xMax:J,yMax:q}}getGlyphContoursAndBounds($){if(this.glyf&&this.loca)return m7(this.glyf,this.loca,$);let Q=this.getGlyphContours($);if(!Q)return null;if(Q.length===0)return{contours:Q,bounds:null};let Z=1/0,K=1/0,J=-1/0,q=-1/0;for(let W=0;W<Q.length;W++){let H=Q[W];for(let _=0;_<H.length;_++){let N=H[_];Z=Math.min(Z,N.x),K=Math.min(K,N.y),J=Math.max(J,N.x),q=Math.max(q,N.y)}}return{contours:Q,bounds:Z===1/0?null:{xMin:Z,yMin:K,xMax:J,yMax:q}}}getGlyphContoursWithVariation($,Q){if(this.glyf&&this.loca)return l7(this.glyf,this.loca,this.gvar,$,Q);if(this.cff2)return Z5(this.cff2,$,Q);return this.getGlyphContours($)}}var xU;((K)=>{K.Shrink="shrink";K.Extend="extend";K.Auto="auto"})(xU||={});function z5($){let Q=0;for(let Z=0;Z<$.positions.length;Z++){let K=$.positions[Z];Q+=K.xAdvance}return Q}function fU($,Q,Z){let{targetWidth:K,script:J=k("DFLT"),language:q,mode:U="auto",maxPriority:W=10,enableKashida:H=!0,minWordSpacingFactor:_=0.8,maxWordSpacingFactor:N=1.5,enableLetterSpacing:V=!0,maxLetterSpacing:z=100}=Z,j=z5(Q),X=K-j;if(Math.abs(X)<1)return{success:!0,finalWidth:j,delta:0,priorityLevel:0,adjustments:[]};let G;if(U==="auto")G=X>0?"extend":"shrink";else G=U;let E=[],Y=X,w=0,F=$.jstf;if(F){let L=T1(F,J,q);for(let R=0;R<Math.min(L.length,W);R++){let B=L[R],v=G==="shrink"?O1(B):P1(B);if(v.enableGsub.length>0||v.disableGsub.length>0||v.enableGpos.length>0||v.disableGpos.length>0)E.push({type:"lookup",glyphIndices:[],value:R}),w=R}if(H&&G==="extend"){let R=R1(F,J);if(R.length>0){let B=lz(Q,R[0],Y,$);Y-=B.totalExtension,E.push(...B.adjustments)}}}let A=$.glyphId(32);if(A!==0){let L=nz(Q,A,Y,G==="shrink"?_:N);Y-=L.totalAdjustment,E.push(...L.adjustments)}if(V&&Math.abs(Y)>1){let L=pz(Q,Y,z);Y-=L.totalAdjustment,E.push(...L.adjustments)}let D=z5(Q);return{success:Math.abs(Y)<1,finalWidth:D,delta:K-D,priorityLevel:w,adjustments:E}}function lz($,Q,Z,K){let J=[],q=0,U=[];for(let N=0;N<$.infos.length-1;N++){let V=$.infos[N];if(dz(V.codepoint))U.push(N)}if(U.length===0)return{totalExtension:0,adjustments:[]};let W=K.advanceWidth(Q);if(W<=0)return{totalExtension:0,adjustments:[]};let H=Math.ceil(Z/W/U.length),_=Math.min(H*W,Z/U.length);for(let N=0;N<U.length;N++){if(q>=Z)break;let V=U[N];$.positions[V].xAdvance+=_,q+=_,J.push({type:"kashida",glyphIndices:[V],value:_})}return{totalExtension:q,adjustments:J}}function dz($){return $>=1568&&$<=1791}function nz($,Q,Z,K){let J=[],q=0,U=[],W=0;for(let z=0;z<$.infos.length;z++)if($.infos[z]?.glyphId===Q)U.push(z),W+=$.positions[z]?.xAdvance;if(U.length===0)return{totalAdjustment:0,adjustments:[]};let H=Z/U.length,N=W/U.length*(K-1),V=Z>0?Math.min(H,N):Math.max(H,-N);for(let z=0;z<U.length;z++){let j=U[z];$.positions[j].xAdvance+=V,q+=V}if(q!==0)J.push({type:"spacing",glyphIndices:U,value:V});return{totalAdjustment:q,adjustments:J}}function pz($,Q,Z){let K=[],J=$.infos.length;if(J<=1)return{totalAdjustment:0,adjustments:[]};let q=J-1,U=Q/q,W=Q>0?Math.min(U,Z):Math.max(U,-Z),H=[],_=0;for(let N=0;N<J-1;N++)$.positions[N].xAdvance+=W,_+=W,H.push(N);if(_!==0)K.push({type:"spacing",glyphIndices:H,value:W});return{totalAdjustment:_,adjustments:K}}function cz($,Q,Z){let K=[],J=[];if($.infos.length===0)return{lines:[],breakPoints:[]};let q=0,U=0,W=-1,H=0;for(let _=0;_<$.infos.length;_++){let N=$.positions[_],V=$.infos[_];if(U+=N.xAdvance,Z!==void 0&&V.glyphId===Z)W=_,H=U;if(U>Q&&q<_){let z;if(W>q)z=W+1;else z=_;let j=uU($,q,z);K.push(j),J.push(z),q=z,U=0,W=-1;for(let X=q;X<=_;X++)U+=$.positions[X]?.xAdvance}}if(q<$.infos.length){let _=uU($,q,$.infos.length);K.push(_)}return{lines:K,breakPoints:J}}function uU($,Q,Z){let K=new v8;K.direction=$.direction,K.script=$.script,K.language=$.language;for(let J=Q;J<Z;J++)K.infos.push({...$.infos[J]}),K.positions.push({...$.positions[J]});return K}function oz($,Q,Z){let K=[];for(let J=0;J<Q.length;J++){let q=Q[J];if(J===Q.length-1)K.push({success:!0,finalWidth:z5(q),delta:0,priorityLevel:0,adjustments:[]});else K.push(fU($,q,Z))}return K}function lU($,Q){for(let Z=0;Z<$.conditions.length;Z++){let K=$.conditions[Z],J=Q[K.axisIndex]??0;if(J<K.filterRangeMinValue||J>K.filterRangeMaxValue)return!1}return!0}function N0($,Q){for(let Z=0;Z<$.featureVariationRecords.length;Z++){let K=$.featureVariationRecords[Z];if(lU(K.conditionSet,Q))return K}return null}function iz($,Q,Z,K){if(!$||!K)return Z;let J=N0($,K);if(!J)return Z;let q=J.featureTableSubstitution.substitutions.find((U)=>U.featureIndex===Q);if(q)return q.alternateFeature.lookupListIndices;return Z}function sz($,Q,Z,K){if(!$||!K)return Q;let J=N0($,K);if(!J)return Q;let q=new Map(Q),U=J.featureTableSubstitution.substitutions;for(let W=0;W<U.length;W++){let H=U[W],_=[...Z.entries()];for(let N=0;N<_.length;N++){let[V,z]=_[N];if(z===H.featureIndex){q.set(V,H.alternateFeature.lookupListIndices);break}}}return q}G6();var az=[0,85,86,85,0],dU=[8,77,86,77,8],rz=[0,64,128,64,0],nU;((J)=>{J[J.RGB=0]="RGB";J[J.BGR=1]="BGR";J[J.RGB_V=2]="RGB_V";J[J.BGR_V=3]="BGR_V"})(nU||={});function tz($,Q,Z,K,J,q,U=0,W=dU){if(U===2||U===3)return ez($,Q,Z,K,J,q,U,W);let _=Q*3,N=a(_,Z,1),V=new e8;V.setClip(0,0,_,Z),V.reset(),Y8(V,$,K*3,J*3,q,!0),V.sweep(N);let z=a(Q,Z,2);return $j(N,z,W,U===1),z}function ez($,Q,Z,K,J,q,U,W){let H=Z*3,_=a(Q,H,1),N=new e8;N.setClip(0,0,Q,H),N.reset(),Y8(N,$,K,J,q*3,!0),N.sweep(_);let V=a(Q,Z,3);return Qj(_,V,W,U===3),V}function $j($,Q,Z,K){let[J,q,U,W,H]=Z,_=J+q+U+W+H;for(let N=0;N<Q.rows;N++){let V=N*$.pitch,z=N*Q.pitch;for(let j=0;j<Q.width;j++){let X=j*3,G=X-2>=0?$.buffer[V+X-2]:0,E=X-1>=0?$.buffer[V+X-1]:0,Y=$.buffer[V+X],w=X+1<$.width?$.buffer[V+X+1]:0,F=X+2<$.width?$.buffer[V+X+2]:0,A=Math.min(255,Math.round((G*J+E*q+Y*U+w*W+F*H)/_)),D=X-1>=0?$.buffer[V+X-1]:0,L=$.buffer[V+X],R=X+1<$.width?$.buffer[V+X+1]:0,B=X+2<$.width?$.buffer[V+X+2]:0,v=X+3<$.width?$.buffer[V+X+3]:0,T=Math.min(255,Math.round((D*J+L*q+R*U+B*W+v*H)/_)),g=$.buffer[V+X],P=X+1<$.width?$.buffer[V+X+1]:0,f=X+2<$.width?$.buffer[V+X+2]:0,l=X+3<$.width?$.buffer[V+X+3]:0,C=X+4<$.width?$.buffer[V+X+4]:0,O=Math.min(255,Math.round((g*J+P*q+f*U+l*W+C*H)/_)),h=z+j*3;if(K)Q.buffer[h]=O,Q.buffer[h+1]=T,Q.buffer[h+2]=A;else Q.buffer[h]=A,Q.buffer[h+1]=T,Q.buffer[h+2]=O}}}function Qj($,Q,Z,K){let[J,q,U,W,H]=Z,_=J+q+U+W+H;for(let N=0;N<Q.rows;N++){let V=N*3,z=N*Q.pitch;for(let j=0;j<Q.width;j++){let X=V-2>=0?$.buffer[(V-2)*$.pitch+j]:0,G=V-1>=0?$.buffer[(V-1)*$.pitch+j]:0,E=$.buffer[V*$.pitch+j],Y=V+1<$.rows?$.buffer[(V+1)*$.pitch+j]:0,w=V+2<$.rows?$.buffer[(V+2)*$.pitch+j]:0,F=Math.min(255,Math.round((X*J+G*q+E*U+Y*W+w*H)/_)),A=V-1>=0?$.buffer[(V-1)*$.pitch+j]:0,D=$.buffer[V*$.pitch+j],L=V+1<$.rows?$.buffer[(V+1)*$.pitch+j]:0,R=V+2<$.rows?$.buffer[(V+2)*$.pitch+j]:0,B=V+3<$.rows?$.buffer[(V+3)*$.pitch+j]:0,v=Math.min(255,Math.round((A*J+D*q+L*U+R*W+B*H)/_)),T=$.buffer[V*$.pitch+j],g=V+1<$.rows?$.buffer[(V+1)*$.pitch+j]:0,P=V+2<$.rows?$.buffer[(V+2)*$.pitch+j]:0,f=V+3<$.rows?$.buffer[(V+3)*$.pitch+j]:0,l=V+4<$.rows?$.buffer[(V+4)*$.pitch+j]:0,C=Math.min(255,Math.round((T*J+g*q+P*U+f*W+l*H)/_)),O=z+j*3;if(K)Q.buffer[O]=C,Q.buffer[O+1]=v,Q.buffer[O+2]=F;else Q.buffer[O]=F,Q.buffer[O+1]=v,Q.buffer[O+2]=C}}}function Zj($,Q=[255,255,255],Z=[0,0,0]){let K=new Uint8Array($.width*$.rows*4),[J,q,U]=Q,[W,H,_]=Z;for(let N=0;N<$.rows;N++){let V=N*$.pitch,z=N*$.width*4;for(let j=0;j<$.width;j++){let X=V+j*3,G=z+j*4,E=$.buffer[X],Y=$.buffer[X+1],w=$.buffer[X+2];K[G]=f1(J,W,E),K[G+1]=f1(q,H,Y),K[G+2]=f1(U,_,w),K[G+3]=255}}return K}function f1($,Q,Z){return Math.round($+(Q-$)*Z/255)}G6();var iU;((J)=>{J[J.None=0]="None";J[J.Decompose=1]="Decompose";J[J.Compose=2]="Compose";J[J.Auto=3]="Auto"})(iU||={});function N8($){if($<768)return 0;if($>=880&&$<1328)return 0;if($>=12288){if($>=44032&&$<=55215)return 0;if($>=19968&&$<=40959)return 0;if($>=13312&&$<=19903)return 0;if($>=12352&&$<12441)return 0;if($>=12443&&$<=12543)return 0;if($>=12544&&$<=12591)return 0;if($>=12800&&$<=13055)return 0}if($>=768&&$<=879)return Hj($);if($>=1425&&$<=1469)return Uj($);if($===1471)return 23;if($===1473)return 24;if($===1474)return 25;if($===1476)return 230;if($===1477)return 220;if($===1479)return 18;if($>=1611&&$<=1631)return Wj($);if($===1648)return 35;if($>=1552&&$<=1562)return 230;if($>=1750&&$<=1756)return 230;if($>=1759&&$<=1764)return 230;if($>=1767&&$<=1768)return 230;if($>=1770&&$<=1773)return 220;if($===2260)return 230;if($>=2275&&$<=2303)return 220;if($===2364)return 7;if($===2381)return 9;if($>=2385&&$<=2388)return 230;if($===2389)return 0;if($>=2390&&$<=2391)return 0;if($===2492)return 7;if($===2509)return 9;if($===2558)return 230;if($===2620)return 7;if($===2637)return 9;if($===2748)return 7;if($===2765)return 9;if($===2876)return 7;if($===2893)return 9;if($===3021)return 9;if($===3149)return 9;if($===3157)return 84;if($===3158)return 91;if($===3260)return 7;if($===3277)return 9;if($===3405)return 9;if($===3530)return 9;if($>=3633&&$<=3642)return 0;if($>=3655&&$<=3662)return pU($);if($>=3761&&$<=3772)return 0;if($>=3784&&$<=3789)return pU($);if($>=3864&&$<=3865)return 220;if($===3893)return 220;if($===3895)return 220;if($===3897)return 216;if($>=3953&&$<=3966)return cU($);if($>=3968&&$<=3972)return cU($);if($>=3974&&$<=3975)return 230;if($===4151)return 7;if($===4153)return 9;if($===4154)return 9;if($>=12330&&$<=12335)return Kj($);if($>=12441&&$<=12442)return 8;if($>=6832&&$<=6911)return Jj($);if($>=7616&&$<=7679)return qj($);if($>=65056&&$<=65071)return 230;return 0}function pU($){if($>=3656&&$<=3659)return 107;if($===3660)return 0;if($===3661)return 0;if($===3662)return 0;if($>=3784&&$<=3787)return 122;return 0}function cU($){if($===3953)return 129;if($===3954)return 130;if($===3955)return 0;if($===3956)return 132;if($===3957)return 0;if($===3958)return 0;if($===3959)return 0;if($===3960)return 0;if($===3961)return 0;if($===3962)return 130;if($===3963)return 130;if($===3964)return 130;if($===3965)return 130;if($===3966)return 0;if($===3968)return 130;if($===3969)return 0;if($===3970)return 230;if($===3971)return 230;return 9}function Kj($){if($===12330)return 218;if($===12331)return 228;if($===12332)return 232;if($===12333)return 222;if($===12334)return 224;return 224}function Jj($){if($>=6832&&$<=6846)return 230;if($===6847)return 220;if($===6848)return 220;return 230}function qj($){if($>=7616&&$<=7617)return 230;if($===7618)return 220;if($>=7619&&$<=7626)return 230;if($===7627)return 230;if($===7628)return 230;if($===7629)return 234;if($===7630)return 214;if($===7631)return 220;if($===7632)return 202;if($>=7633&&$<=7669)return 230;if($>=7670&&$<=7672)return 232;if($===7673)return 220;if($===7674)return 218;return 230}function Uj($){if($>=1425&&$<=1441)return 220;if($>=1442&&$<=1455)return 230;if($>=1456&&$<=1465){if($===1456)return 10;if($===1457)return 11;if($===1458)return 12;if($===1459)return 13;if($===1460)return 14;if($===1461)return 15;if($===1462)return 16;if($===1463)return 17;if($===1464)return 18;return 19}if($===1466)return 19;if($===1467)return 20;if($===1468)return 21;return 22}function Wj($){if($===1611)return 27;if($===1612)return 28;if($===1613)return 29;if($===1614)return 30;if($===1615)return 31;if($===1616)return 32;if($===1617)return 33;if($===1618)return 34;if($>=1619&&$<=1621)return 230;if($===1622)return 220;if($===1623)return 230;if($===1624)return 230;return 230}function Hj($){if($>=768&&$<=788)return 230;if($>=789&&$<=789)return 232;if($>=790&&$<=793)return 220;if($>=794&&$<=794)return 232;if($>=795&&$<=795)return 216;if($>=796&&$<=800)return 220;if($>=801&&$<=802)return 202;if($>=803&&$<=806)return 220;if($>=807&&$<=808)return 202;if($>=809&&$<=819)return 220;if($>=820&&$<=824)return 1;if($>=825&&$<=828)return 220;if($>=829&&$<=836)return 230;if($===837)return 240;if($>=838&&$<=846)return 230;if($===847)return 0;if($>=848&&$<=850)return 230;if($>=851&&$<=854)return 220;if($>=855&&$<=856)return 230;if($>=857&&$<=858)return 220;if($>=859&&$<=859)return 230;if($>=860&&$<=860)return 233;if($>=861&&$<=862)return 234;if($>=863&&$<=863)return 233;if($>=864&&$<=865)return 234;if($>=866&&$<=866)return 233;if($>=867&&$<=879)return 230;return 0}function j5($){let Q=$.length,Z=1;while(Z<Q){let K=$[Z];if(!K){Z++;continue}let J=N8(K.codepoint);if(J===0){Z++;continue}let q=Z;while(q>0){let U=$[q-1];if(!U)break;let W=N8(U.codepoint);if(W===0)break;if(W<=J)break;$[q]=U,$[q-1]=K,q--}Z++}}var _j=new Map([[192,[65,768]],[193,[65,769]],[194,[65,770]],[195,[65,771]],[196,[65,776]],[197,[65,778]],[199,[67,807]],[200,[69,768]],[201,[69,769]],[202,[69,770]],[203,[69,776]],[204,[73,768]],[205,[73,769]],[206,[73,770]],[207,[73,776]],[209,[78,771]],[210,[79,768]],[211,[79,769]],[212,[79,770]],[213,[79,771]],[214,[79,776]],[217,[85,768]],[218,[85,769]],[219,[85,770]],[220,[85,776]],[221,[89,769]],[224,[97,768]],[225,[97,769]],[226,[97,770]],[227,[97,771]],[228,[97,776]],[229,[97,778]],[231,[99,807]],[232,[101,768]],[233,[101,769]],[234,[101,770]],[235,[101,776]],[236,[105,768]],[237,[105,769]],[238,[105,770]],[239,[105,776]],[241,[110,771]],[242,[111,768]],[243,[111,769]],[244,[111,770]],[245,[111,771]],[246,[111,776]],[249,[117,768]],[250,[117,769]],[251,[117,770]],[252,[117,776]],[253,[121,769]],[255,[121,776]],[256,[65,772]],[257,[97,772]],[258,[65,774]],[259,[97,774]],[260,[65,808]],[261,[97,808]],[262,[67,769]],[263,[99,769]],[264,[67,770]],[265,[99,770]],[266,[67,775]],[267,[99,775]],[268,[67,780]],[269,[99,780]],[270,[68,780]],[271,[100,780]],[274,[69,772]],[275,[101,772]],[276,[69,774]],[277,[101,774]],[278,[69,775]],[279,[101,775]],[280,[69,808]],[281,[101,808]],[282,[69,780]],[283,[101,780]],[284,[71,770]],[285,[103,770]],[286,[71,774]],[287,[103,774]],[288,[71,775]],[289,[103,775]],[290,[71,807]],[291,[103,807]],[292,[72,770]],[293,[104,770]],[296,[73,771]],[297,[105,771]],[298,[73,772]],[299,[105,772]],[300,[73,774]],[301,[105,774]],[302,[73,808]],[303,[105,808]],[304,[73,775]],[308,[74,770]],[309,[106,770]],[310,[75,807]],[311,[107,807]],[313,[76,769]],[314,[108,769]],[315,[76,807]],[316,[108,807]],[317,[76,780]],[318,[108,780]],[323,[78,769]],[324,[110,769]],[325,[78,807]],[326,[110,807]],[327,[78,780]],[328,[110,780]],[332,[79,772]],[333,[111,772]],[334,[79,774]],[335,[111,774]],[336,[79,779]],[337,[111,779]],[340,[82,769]],[341,[114,769]],[342,[82,807]],[343,[114,807]],[344,[82,780]],[345,[114,780]],[346,[83,769]],[347,[115,769]],[348,[83,770]],[349,[115,770]],[350,[83,807]],[351,[115,807]],[352,[83,780]],[353,[115,780]],[354,[84,807]],[355,[116,807]],[356,[84,780]],[357,[116,780]],[360,[85,771]],[361,[117,771]],[362,[85,772]],[363,[117,772]],[364,[85,774]],[365,[117,774]],[366,[85,778]],[367,[117,778]],[368,[85,779]],[369,[117,779]],[370,[85,808]],[371,[117,808]],[372,[87,770]],[373,[119,770]],[374,[89,770]],[375,[121,770]],[376,[89,776]],[377,[90,769]],[378,[122,769]],[379,[90,775]],[380,[122,775]],[381,[90,780]],[382,[122,780]],[7840,[65,803]],[7841,[97,803]],[7842,[65,777]],[7843,[97,777]],[7864,[69,803]],[7865,[101,803]],[7866,[69,777]],[7867,[101,777]],[7868,[69,771]],[7869,[101,771]],[7880,[73,777]],[7881,[105,777]],[7882,[73,803]],[7883,[105,803]],[7884,[79,803]],[7885,[111,803]],[7886,[79,777]],[7887,[111,777]],[7908,[85,803]],[7909,[117,803]],[7910,[85,777]],[7911,[117,777]],[7922,[89,768]],[7923,[121,768]],[7924,[89,803]],[7925,[121,803]],[7926,[89,777]],[7927,[121,777]],[7928,[89,771]],[7929,[121,771]],[7936,[945,787]],[7937,[945,788]],[7944,[913,787]],[7945,[913,788]],[1081,[1080,774]],[1049,[1048,774]],[1105,[1077,776]],[1025,[1045,776]]]);function X5($){return _j.get($)??null}var Nj=new Map([[65,new Map([[768,192],[769,193],[770,194],[771,195],[776,196],[778,197],[808,260],[780,461],[772,256],[774,258]])],[67,new Map([[807,199],[769,262],[770,264],[780,268],[775,266]])],[69,new Map([[768,200],[769,201],[770,202],[776,203],[808,280],[780,282],[772,274],[774,276],[775,278]])],[73,new Map([[768,204],[769,205],[770,206],[776,207],[771,296],[772,298],[774,300],[808,302],[775,304]])],[78,new Map([[771,209],[769,323],[807,325],[780,327]])],[79,new Map([[768,210],[769,211],[770,212],[771,213],[776,214],[772,332],[774,334],[779,336],[808,490]])],[85,new Map([[768,217],[769,218],[770,219],[776,220],[771,360],[772,362],[774,364],[778,366],[779,368],[808,370],[780,467]])],[89,new Map([[769,221],[770,374],[776,376]])],[97,new Map([[768,224],[769,225],[770,226],[771,227],[776,228],[778,229],[808,261],[780,462],[772,257],[774,259]])],[99,new Map([[807,231],[769,263],[770,265],[780,269],[775,267]])],[101,new Map([[768,232],[769,233],[770,234],[776,235],[808,281],[780,283],[772,275],[774,277],[775,279]])],[105,new Map([[768,236],[769,237],[770,238],[776,239],[771,297],[772,299],[774,301],[808,303]])],[110,new Map([[771,241],[769,324],[807,326],[780,328]])],[111,new Map([[768,242],[769,243],[770,244],[771,245],[776,246],[772,333],[774,335],[779,337],[808,491]])],[117,new Map([[768,249],[769,250],[770,251],[776,252],[771,361],[772,363],[774,365],[778,367],[779,369],[808,371],[780,468]])],[121,new Map([[769,253],[776,255],[770,375]])],[83,new Map([[769,346],[770,348],[807,350],[780,352]])],[115,new Map([[769,347],[770,349],[807,351],[780,353]])],[90,new Map([[769,377],[775,379],[780,381]])],[122,new Map([[769,378],[775,380],[780,382]])]]);function oU($,Q){let Z=Nj.get($);if(!Z)return null;return Z.get(Q)??null}function Vj($){if($.length===0)return $;let Q=[],Z=0;while(Z<$.length){let K=$[Z];if(N8(K.codepoint)===0){let q=K.codepoint,U=0,W=Z+1;while(W<$.length){let H=$[W],_=N8(H.codepoint);if(_===0)break;if(_>U||U===0){let N=oU(q,H.codepoint);if(N!==null){q=N,W++;continue}}U=_,W++}Q.push({glyphId:K.glyphId,cluster:K.cluster,mask:K.mask,codepoint:q});for(let H=Z+1;H<W;H++){let _=$[H];if(!_)continue;let N=N8(_.codepoint);if(oU(q,_.codepoint)===null&&N!==0)Q.push(_)}Z=W}else Q.push(K),Z++}return Q}function zj($,Q){if(Q===0)return $;if(Q===1){let Z=[];for(let K=0;K<$.length;K++){let J=$[K],q=X5(J.codepoint);if(q)for(let U=0;U<q.length;U++){let W=q[U];Z.push({glyphId:J.glyphId,cluster:J.cluster,mask:J.mask,codepoint:W})}else Z.push(J)}return j5(Z),Z}if(Q===2){let Z=[];for(let K=0;K<$.length;K++){let J=$[K],q=X5(J.codepoint);if(q)for(let U=0;U<q.length;U++){let W=q[U];Z.push({glyphId:J.glyphId,cluster:J.cluster,mask:J.mask,codepoint:W})}else Z.push(J)}return j5(Z),Vj(Z)}if(Q===3){let Z=[];for(let K=0;K<$.length;K++){let J=$[K],q=X5(J.codepoint);if(q)for(let U=0;U<q.length;U++){let W=q[U];Z.push({glyphId:J.glyphId,cluster:J.cluster,mask:J.mask,codepoint:W})}else Z.push(J)}return j5(Z),Z}return $}function jj($){for(let Q=0;Q<$.length;Q++){let Z=$[Q];if(!Z)continue;let K=Z.codepoint;if(K>=768&&K<880)return!0;if(K>=1425&&K<1480)return!0;if(K>=1552&&K<2304)return!0;if(K>=2364&&K<2416)return!0;if(K>=2492&&K<2559)return!0;if(K>=2620&&K<2677)return!0;if(K>=2748&&K<2815)return!0;if(K>=2876&&K<2928)return!0;if(K>=3021&&K<3032)return!0;if(K>=3149&&K<3184)return!0;if(K>=3260&&K<3327)return!0;if(K>=3405&&K<3440)return!0;if(K>=3530&&K<3573)return!0;if(K>=3633&&K<3664)return!0;if(K>=3761&&K<3792)return!0;if(K>=3864&&K<3976)return!0;if(K>=4151&&K<4155)return!0;if(K>=6832&&K<6912)return!0;if(K>=7616&&K<7680)return!0;if(K>=12330&&K<12336)return!0;if(K>=12441&&K<12443)return!0;if(K>=65056&&K<65072)return!0}return!1}function l1($,Q,Z){if(!jj(Q))return;let K=new Map,J=(q)=>{let U=K.get(q);if(U===void 0)U=$.gdef?_8($.gdef,q):0,K.set(q,U);return U};for(let q=0;q<Q.length;q++){let U=Q[q],W=Z[q],H=J(U.glyphId),_=N8(U.codepoint);if(H!==3&&_===0)continue;let N=-1;for(let X=q-1;X>=0;X--){let G=Q[X],E=J(G.glyphId),Y=N8(G.codepoint);if(E===1||E===0&&Y===0){N=X;break}}if(N<0)continue;let V=Q[N],z=Z[N],j=$.advanceWidth(V.glyphId);Xj($,U,W,V,z,j,_),W.xAdvance=0,W.yAdvance=0}}function Xj($,Q,Z,K,J,q,U){let W=$.advanceWidth(Q.glyphId),H=$.unitsPerEm,_=(q-W)/2,N=0;if(U>=200&&U<=240)N=H*0.7,_=(q-W)/2;else if(U>=202&&U<=220)N=-H*0.15,_=(q-W)/2;else if(U===1)_=(q-W)/2,N=H*0.3;else if(U>=7&&U<=9)N=-H*0.1,_=(q-W)/2;else if(U>=10&&U<=35){if(U<=22)N=-H*0.2;else N=U<30?-H*0.15:H*0.6;_=(q-W)/2}Z.xOffset=J.xOffset+_-q,Z.yOffset=J.yOffset+N}function d1($,Q,Z){if(!$.kern)return;for(let J=0;J<Q.length-1;J++){let q=Q[J],U=Q[J+1];if(!q||!U)continue;let W=Z[J];if(!W)continue;let H=$.gdef?_8($.gdef,q.glyphId):0,_=$.gdef?_8($.gdef,U.glyphId):0;if(H===3||_===3)continue;let N=Gj($,q.glyphId,U.glyphId);if(N!==0)W.xAdvance+=N}}function Gj($,Q,Z){let K=$.kern;if(!K)return 0;return v1(K,Q,Z)}function sU($,Q=!0){if($<1||$>20)throw Error(`Stylistic set number must be 1-20, got ${$}`);let Z=`ss${$.toString().padStart(2,"0")}`;return{tag:k(Z),enabled:Q}}function Ej($,Q=!0){return $.map((Z)=>sU(Z,Q))}function aU($,Q=!0){if($<1||$>99)throw Error(`Character variant number must be 1-99, got ${$}`);let Z=`cv${$.toString().padStart(2,"0")}`;return{tag:k(Z),enabled:Q}}function Yj($,Q=!0){return $.map((Z)=>aU(Z,Q))}function wj($=!0){return{tag:k("liga"),enabled:$}}function Aj($=!0){return{tag:k("dlig"),enabled:$}}function Fj($=!0){return{tag:k("hlig"),enabled:$}}function Lj($=!0){return{tag:k("calt"),enabled:$}}function Dj($=!0){return{tag:k("salt"),enabled:$}}function Mj($=!0){return{tag:k("swsh"),enabled:$}}function rU($=!0){return{tag:k("smcp"),enabled:$}}function tU($=!0){return{tag:k("c2sc"),enabled:$}}function Bj($=!0){return{tag:k("pcap"),enabled:$}}function Rj($=!0){return[rU($),tU($)]}function Tj($=!0){return{tag:k("onum"),enabled:$}}function Oj($=!0){return{tag:k("lnum"),enabled:$}}function Pj($=!0){return{tag:k("pnum"),enabled:$}}function vj($=!0){return{tag:k("tnum"),enabled:$}}function Ij($=!0){return{tag:k("frac"),enabled:$}}function kj($=!0){return{tag:k("ordn"),enabled:$}}function Cj($=!0){return{tag:k("zero"),enabled:$}}function Sj($=!0){return{tag:k("sups"),enabled:$}}function hj($=!0){return{tag:k("subs"),enabled:$}}function yj($=!0){return{tag:k("sinf"),enabled:$}}function bj($=!0){return{tag:k("case"),enabled:$}}function gj($=!0){return{tag:k("cpsp"),enabled:$}}function mj($=!0){return{tag:k("kern"),enabled:$}}function eU($=!0){return{tag:k("vert"),enabled:$}}function $W($=!0){return{tag:k("vrt2"),enabled:$}}function QW($=!0){return{tag:k("vkna"),enabled:$}}function uj($=!0){return[eU($),$W($),QW($)]}function xj($=!0){return{tag:k("ruby"),enabled:$}}function fj($=!0){return{tag:k("hwid"),enabled:$}}function lj($=!0){return{tag:k("fwid"),enabled:$}}function dj($=!0){return{tag:k("pwid"),enabled:$}}function nj($=!0){return{tag:k("qwid"),enabled:$}}function pj($=!0){return{tag:k("twid"),enabled:$}}function cj($=!0){return{tag:k("jp78"),enabled:$}}function oj($=!0){return{tag:k("jp83"),enabled:$}}function ij($=!0){return{tag:k("jp90"),enabled:$}}function sj($=!0){return{tag:k("jp04"),enabled:$}}function aj($=!0){return{tag:k("smpl"),enabled:$}}function rj($=!0){return{tag:k("trad"),enabled:$}}function ZW($,Q=!0){return{tag:k($),enabled:Q}}function tj($,Q=!0){return $.map((Z)=>ZW(Z,Q))}function ej(...$){let Q=[];for(let Z=0;Z<$.length;Z++){let K=$[Z];if(Array.isArray(K))Q.push(...K);else Q.push(K)}return Q}var KW=new WeakMap,$X=64,JW=["ccmp","locl","rlig","rclt","calt","liga"],qW=["kern","mark","mkmk"];function QX($,Q,Z,K,J){if(K.length===0&&J===null)return Q===null?`${$}||${Z}||`:`${$}|${Q}|${Z}||`;let q=K.map((W)=>`${S9(W.tag)}:${W.enabled?"1":"0"}`).sort().join(","),U=J?J.map((W)=>W.toFixed(4)).join(","):"";return`${$}|${Q||""}|${Z}|${q}|${U}`}function G5($,Q,Z,K,J=[],q=null){let U=QX(Q,Z,K,J,q),W=KW.get($);if(!W)W=new Map,KW.set($,W);let H=W.get(U);if(H)return H;let _=KX($,Q,Z,K,J,q);if(W.size>=$X){let N=W.keys().next().value;if(N!==void 0)W.delete(N)}return W.set(U,_),_}function ZX($,Q,Z,K,J=[],q=null){return G5($,Q,Z,K,J,q)}function KX($,Q,Z,K,J=[],q=null){let U=k(Q.padEnd(4," ")),W=Z?k(Z.padEnd(4," ")):null,H=new Set;for(let j=0;j<JW.length;j++)H.add(k(JW[j]));for(let j=0;j<qW.length;j++)H.add(k(qW[j]));for(let j=0;j<J.length;j++){let X=J[j];if(X.enabled)H.add(X.tag);else H.delete(X.tag)}let _=UW($.gsub,U,W,H,q),N=UW($.gpos,U,W,H,q),V=new Map;for(let j=0;j<_.length;j++){let X=_[j];V.set(X.index,X)}let z=new Map;for(let j=0;j<N.length;j++){let X=N[j];z.set(X.index,X)}return{script:U,language:W,direction:K,gsubLookups:_,gposLookups:N,gsubLookupMap:V,gposLookupMap:z}}function UW($,Q,Z,K,J){if(!$)return[];let q=$,U=new Set,W=q0(q.scriptList,Q);if(!W)W=q0(q.scriptList,k("DFLT"));if(!W)W=q0(q.scriptList,k("latn"));if(!W)return[];let H=N1(W,Z);if(!H)return[];let _=q.featureVariations,N=_&&J?N0(_,J):null,V=new Map;if(N){let G=N.featureTableSubstitution.substitutions;for(let E=0;E<G.length;E++){let Y=G[E];V.set(Y.featureIndex,Y.alternateFeature.lookupListIndices)}}if(H.requiredFeatureIndex!==65535){let G=q5(q.featureList,H.requiredFeatureIndex);if(G){let Y=V.get(H.requiredFeatureIndex)??G.feature.lookupListIndices;for(let w=0;w<Y.length;w++)U.add(Y[w])}}let z=H.featureIndices;for(let G=0;G<z.length;G++){let E=z[G],Y=q5(q.featureList,E);if(!Y)continue;if(K.has(Y.featureTag)){let F=V.get(E)??Y.feature.lookupListIndices;for(let A=0;A<F.length;A++)U.add(F[A])}}let j=[],X=[...U].sort((G,E)=>G-E);for(let G=0;G<X.length;G++){let E=X[G],Y=q.lookups[E];if(Y)j.push({index:E,lookup:Y})}return j}var JX=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,1,2,1,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,1,2,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,5,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,1,1,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,2]);var V0=0,WW=1,n1=2,HW=3,c1=4,E5=5;function p1($){if($>=1536&&$<=1791)return JX[$-1536];if($<1536)return V0;if($>=1808&&$<=1810)return c1;if($>=2259&&$<=2303)return E5;return V0}function o1($){let Q=$.length;for(let Z=0;Z<Q;Z++){let K=$[Z],J=K.codepoint??0,q=p1(J);if(q===V0||q===E5)continue;let U=V0;for(let V=Z-1;V>=0;V--){let j=$[V].codepoint??0,X=p1(j);if(X!==E5){U=X;break}}let W=V0;for(let V=Z+1;V<Q;V++){let j=$[V].codepoint??0,X=p1(j);if(X!==E5){W=X;break}}let H=U===n1||U===c1||U===HW,_=W===n1||W===WW||W===HW,N=0;if(q===n1)if(H&&_)N=4;else if(H)N=2;else if(_)N=8;else N=1;else if(q===WW)if(H)N=2;else N=1;else if(q===c1)if(_)N=8;else N=1;if(N!==0)K.mask=K.mask&4294967280|N}}function s1($){return $>=44032&&$<=55203}function qX($){return $>=4352&&$<=4607||$>=43360&&$<=43388||$>=55216&&$<=55291}function UX($){return $>=4352&&$<4371||$>=43360&&$<=43388}function WX($){return $>=4449&&$<4470||$>=55216&&$<=55238}function HX($){return $>4519&&$<=4546||$>=55243&&$<=55291}function _X($){if(!s1($))return[$];let Q=$-44032,Z=Math.floor(Q/588),K=Math.floor(Q%588/28),J=Q%28,q=[4352+Z,4449+K];if(J>0)q.push(4519+J);return q}function _W($,Q,Z=0){let K=$-4352,J=Q-4449,q=Z===0?0:Z-4519;if(K<0||K>=19)return null;if(J<0||J>=21)return null;if(q<0||q>=28)return null;return 44032+K*588+J*28+q}function z0($){if(UX($))return 1;if(WX($))return 2;if(HX($))return 3;if(s1($))return($-44032)%28===0?4:5;return 0}var i1={ljmo:1,vjmo:2,tjmo:4};function a1($){for(let Q=0;Q<$.length;Q++){let Z=$[Q];switch(z0(Z.codepoint)){case 1:Z.mask|=i1.ljmo;break;case 2:Z.mask|=i1.vjmo;break;case 3:Z.mask|=i1.tjmo;break;case 4:case 5:break}}}function r1($){let Q=[],Z=0;while(Z<$.length){let K=$[Z];if(!K){Z++;continue}let J=z0(K.codepoint);if(J===1&&Z+1<$.length){let q=$[Z+1];if(!q){Q.push(K),Z++;continue}if(z0(q.codepoint)===2){let W=0,H=2;if(Z+2<$.length){let N=$[Z+2];if(N){if(z0(N.codepoint)===3)W=N.codepoint,H=3}}let _=_W(K.codepoint,q.codepoint,W);if(_!==null){Q.push({glyphId:K.glyphId,cluster:K.cluster,mask:K.mask,codepoint:_}),Z+=H;continue}}}if(J===4&&Z+1<$.length){let q=$[Z+1];if(!q){Q.push(K),Z++;continue}if(z0(q.codepoint)===3){let W=_X(K.codepoint),[H,_]=W;if(W.length===2&&H!==void 0&&_!==void 0){let N=_W(H,_,q.codepoint);if(N!==null){Q.push({glyphId:K.glyphId,cluster:K.cluster,mask:K.mask,codepoint:N}),Z+=2;continue}}}}Q.push(K),Z++}return Q}function NW($){return s1($)||qX($)||$>=12593&&$<=12686}function NX($){return $>=1424&&$<=1535||$>=64285&&$<=64335}function VX($){if($>=1425&&$<=1455)return 6;if($>=1456&&$<=1469)return 2;if($===1470)return 7;if($===1471)return 5;if($===1472||$===1475)return 8;if($===1473||$===1474)return 4;if($===1468)return 3;if($===1469)return 2;if($>=1488&&$<=1514)return 1;if($>=1520&&$<=1524)return 1;if($>=64285&&$<=64335)return 1;if(NX($))return 0;return 0}function t1($){let Q=0;for(let Z=0;Z<$.length;Z++){let K=$[Z];if(!K)continue;if(VX(K.codepoint)===1)Q=Z;K.mask=K.mask&4294901760|Q&65535}}function VW($){return $>=2304&&$<=2431}function zW($){return $>=2432&&$<=2559}function jW($){return $>=2560&&$<=2687}function XW($){return $>=2688&&$<=2815}function GW($){return $>=2816&&$<=2943}function EW($){return $>=2944&&$<=3071}function YW($){return $>=3072&&$<=3199}function wW($){return $>=3200&&$<=3327}function AW($){return $>=3328&&$<=3455}function FW($){return VW($)||zW($)||jW($)||XW($)||GW($)||EW($)||YW($)||wW($)||AW($)}function $8($){if($===8204)return 5;if($===8205)return 6;if($===9676)return 12;if(VW($)){if($>=2362&&$<=2363||$>=2366&&$<=2380||$>=2382&&$<=2383||$>=2389&&$<=2391)return 7;if($===2381)return 4;if($===2364)return 3;if($>=2305&&$<=2307)return 8;if($>=2385&&$<=2388)return 9;if($>=2308&&$<=2324||$===2400||$===2401||$===2418||$>=2422&&$<=2423)return 2;if($>=2325&&$<=2361||$>=2392&&$<=2399||$===2424||$===2425||$===2426||$>=2427&&$<=2428||$>=2430&&$<=2431){if($===2352)return 15;return 1}if($>=2406&&$<=2415)return 17;return 0}if(zW($)){if($>=2494&&$<=2500||$>=2503&&$<=2504||$>=2507&&$<=2508||$===2519)return 7;if($===2509)return 4;if($===2492)return 3;if($>=2433&&$<=2435)return 8;if($>=2437&&$<=2444||$>=2447&&$<=2448||$>=2451&&$<=2452||$===2528||$===2529)return 2;if($>=2453&&$<=2472||$>=2474&&$<=2480||$===2482||$>=2486&&$<=2489||$>=2524&&$<=2525||$>=2527&&$<=2529){if($===2480)return 15;return 1}return 0}if(jW($)||XW($)||GW($)||EW($)||YW($)||wW($)||AW($)){let Q=$&127;if(Q>=1&&Q<=3)return 8;if(Q>=5&&Q<=20)return 2;if(Q>=21&&Q<=57)return 1;if(Q===60)return 3;if(Q>=62&&Q<=76)return 7;if(Q===77)return 4;return 0}return 0}function LW($){let Q=[],Z=$.length;if(Z===0)return Q;let K=0;while(K<Z){let J=zX($,K);Q.push(J),K=J.end}return Q}function zX($,Q){let Z=$.length,K=Q,J=-1,q=!1;if(K+1<Z){let W=$[K],H=$[K+1];if(W&&H){let _=$8(W.codepoint??0),N=$8(H.codepoint??0);if(_===15&&N===4)q=!0,K+=2}}let U=-1;while(K<Z){let W=$[K];if(!W){K++;continue}let H=W.codepoint??0,_=$8(H);if(_===1||_===15){if(U=K,K++,K<Z){let N=$[K];if(N&&$8(N.codepoint??0)===3)K++}if(K<Z){let N=$[K];if(N&&$8(N.codepoint??0)===4){if(K++,K<Z){let V=$[K];if(V){let z=$8(V.codepoint??0);if(z===6||z===5)K++}}continue}}break}else if(_===2){K++;break}else if(_===3)K++;else{if(U===-1)K++;break}}J=U>=0?U:Q;while(K<Z){let W=$[K];if(!W){K++;continue}let H=W.codepoint??0,_=$8(H);if(_===7||_===8||_===9||_===3)K++;else if(_===4){K++;break}else break}if(K===Q)K=Q+1;return{start:Q,end:K,hasReph:q,baseConsonant:J}}var w6={nukt:1,akhn:2,rphf:4,rkrf:8,pref:16,blwf:32,abvf:64,half:128,pstf:256,vatu:512,cjct:1024,init:2048,pres:4096,abvs:8192,blws:16384,psts:32768};function DW($){if($>=2304&&$<=2431){if($===2367)return 0;if($>=2373&&$<=2376)return 1;if($>=2369&&$<=2372)return 2;return 3}if($>=2432&&$<=2559){if($===2495)return 0;if($===2503||$===2504)return 0;if($>=2497&&$<=2500)return 2;return 3}if($>=2944&&$<=3071){if($>=3014&&$<=3016)return 0;if($===3009||$===3010)return 2;return 3}if($>=3072&&$<=3199){if($>=3134&&$<=3136||$>=3142&&$<=3144)return 1;if($>=3137&&$<=3140)return 2;return 3}if($>=3200&&$<=3327){if($>=3262&&$<=3264||$>=3270&&$<=3272)return 1;if($>=3265&&$<=3268)return 2;return 3}if($>=3328&&$<=3455){if($>=3398&&$<=3400)return 0;if($>=3393&&$<=3395)return 2;return 3}if($>=2560&&$<=2687){if($===2623)return 0;if($===2625||$===2626)return 2;return 3}if($>=2688&&$<=2815){if($===2751)return 0;if($>=2753&&$<=2756)return 2;return 3}if($>=2816&&$<=2943){if($===2879)return 0;if($>=2881&&$<=2883)return 2;return 3}return 3}function e1($){let Q=LW($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];for(let J=K.start;J<K.end;J++){let q=$[J];if(q){q.mask=q.mask&65535|(Z&65535)<<16;let U=$8(q.codepoint);if(U===3)q.mask|=w6.nukt;if(U===4){if(J<K.baseConsonant)q.mask|=w6.half;else if(J>K.baseConsonant)q.mask|=w6.blwf|w6.pstf}if(U===1||U===15){if(J<K.baseConsonant)q.mask|=w6.half|w6.cjct;else if(J>K.baseConsonant)q.mask|=w6.blwf|w6.pstf|w6.vatu}if(K.hasReph&&J<K.start+2)q.mask|=w6.rphf;if(U===7)switch(DW(q.codepoint)){case 0:q.mask|=w6.pref|w6.pres;break;case 1:q.mask|=w6.abvf|w6.abvs;break;case 2:q.mask|=w6.blwf|w6.blws;break;case 3:q.mask|=w6.pstf|w6.psts;break}if(U===8)q.mask|=w6.abvs|w6.psts}}}}function $Q($){let Q=LW($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];jX($,K)}}function jX($,Q){let{start:Z,end:K,baseConsonant:J,hasReph:q}=Q,U=[];for(let W=J+1;W<K;W++){let H=$[W];if(!H)continue;if($8(H.codepoint)===7){if(DW(H.codepoint)===0)U.push({index:W,info:H})}}if(U.length>0){U.sort((W,H)=>H.index-W.index);for(let W=0;W<U.length;W++){let{index:H,info:_}=U[W];$.splice(H,1);let N=q?Z+2:Z;$.splice(N,0,_)}}if(q&&K>Z+2){let W=$[Z],H=$[Z+1];if(W&&H){let _=K-1;while(_>J){let N=$[_];if(!N)break;let V=$8(N.codepoint);if(V===8||V===9)_--;else break}if(_>Z+1){$.splice(Z,2);let N=_-2;$.splice(N+1,0,W,H)}}}}function F9($){if($<6016||$>6143)return 0;if($>=6016&&$<=6050)return 1;if($===6051||$===6052)return 2;if($>=6053&&$<=6067)return 2;if($>=6070&&$<=6085)return 3;if($===6086)return 8;if($===6087)return 9;if($===6088)return 7;if($===6089||$===6090)return 5;if($===6098)return 4;if($===6092)return 6;if($>=6091&&$<=6097)return 7;if($>=6099&&$<=6109)return 7;return 0}var P8={pref:1,blwf:2,abvf:4,pstf:8,cfar:16,pres:32,abvs:64,blws:128,psts:256,clig:512};function MW($){return $>=6016&&$<=6143||$>=6624&&$<=6655}function QQ($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}let K=F9(Z.codepoint);if(K===0){Q++;continue}let J=Q,q=-1;if(K===1)q=Q;let U=Q+1;while(U<$.length){let W=$[U];if(!W){U++;continue}let H=F9(W.codepoint);if(H===0)break;if(H===1){let _=$[U-1];if(_&&F9(_.codepoint)!==4)break}if(H===4&&U+1<$.length){let _=$[U+1];if(_&&F9(_.codepoint)===1){W.mask|=P8.blwf,_.mask|=P8.blwf,U+=2;continue}}if(H===3)if(W.codepoint>=6081&&W.codepoint<=6083)W.mask|=P8.pref;else if(W.codepoint>=6071&&W.codepoint<=6074)W.mask|=P8.abvf;else if(W.codepoint===6075||W.codepoint===6076||W.codepoint===6077)W.mask|=P8.blwf;else W.mask|=P8.pstf;if(H===5)W.mask|=P8.abvs;if(H===6)W.mask|=P8.abvs;U++}Q=U}}function ZQ($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}if(F9(Z.codepoint)!==1){Q++;continue}let J=Q,q=Q+1;while(q<$.length){let U=$[q];if(!U)break;if(F9(U.codepoint)===4&&q+1<$.length)q+=2;else break}if(q<$.length){let U=$[q];if(U){let W=U.codepoint;if(W>=6081&&W<=6083){let H=U;for(let _=q;_>J;_--){let N=$[_-1];if(N)$[_]=N}$[J]=H}}}Q=q+1}}function L9($){if($>=4096&&$<=4255){if($>=4096&&$<=4129)return 1;if($>=4131&&$<=4135)return 2;if($>=4137&&$<=4138)return 2;if($>=4139&&$<=4149)return 3;if($===4150)return 6;if($===4151)return 8;if($===4152)return 7;if($===4153)return 5;if($===4154)return 5;if($>=4155&&$<=4158)return 4;if($>=4159&&$<=4169){if($===4159)return 1;return 9}if($>=4170&&$<=4175)return 8;if($>=4176&&$<=4185)return 1;if($>=4186&&$<=4189)return 1;if($>=4192&&$<=4193)return 1;if($>=4194&&$<=4196)return 3;if($>=4197&&$<=4198)return 1;if($>=4199&&$<=4205)return 3;if($>=4206&&$<=4208)return 1;if($>=4209&&$<=4212)return 3;if($>=4213&&$<=4225)return 1;if($>=4226&&$<=4226)return 4;if($>=4227&&$<=4236)return 3;if($===4237)return 8;if($===4238)return 1;if($===4239)return 8;if($>=4240&&$<=4249)return 9}if($>=43616&&$<=43647){if($>=43616&&$<=43638)return 1;if($>=43639&&$<=43641)return 8;if($===43642)return 1;if($===43643)return 8;if($===43644)return 8;if($===43645)return 8;if($>=43646&&$<=43647)return 1}if($>=43488&&$<=43519){if($>=43488&&$<=43492)return 1;if($===43493)return 3;if($>=43494&&$<=43503)return 1;if($>=43504&&$<=43513)return 9;if($>=43514&&$<=43518)return 1}return 0}var i6={rphf:1,pref:2,blwf:4,pstf:8,pres:16,abvs:32,blws:64,psts:128};function BW($){return $>=4096&&$<=4255||$>=43616&&$<=43647||$>=43488&&$<=43519}function KQ($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}let K=L9(Z.codepoint);if(K===0){Q++;continue}let J=-1,q=!1;if(K===1)J=Q;let U=Q+1;while(U<$.length){let W=$[U];if(!W){U++;continue}let H=L9(W.codepoint);if(H===0)break;if(H===5){if(q=!0,W.mask|=i6.blwf,U+1<$.length){let _=$[U+1];if(_&&L9(_.codepoint)===1){_.mask|=i6.blwf,U+=2;continue}}}if(H===4){let _=W.codepoint;if(_===4155)W.mask|=i6.pref;else if(_===4156)W.mask|=i6.pref;else if(_===4157)W.mask|=i6.blwf;else if(_===4158)W.mask|=i6.blwf}if(H===3){let _=W.codepoint;if(_===4145)W.mask|=i6.pref;else if(_===4141||_===4142||_===4146)W.mask|=i6.abvs;else if(_===4143||_===4144)W.mask|=i6.blws;else W.mask|=i6.psts}if(H===6||H===8)W.mask|=i6.abvs;if(H===1&&!q){if(U>0){let _=$[U-1];if(_){if(L9(_.codepoint)!==5)break}}}q=!1,U++}Q=U}}function JQ($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}if(L9(Z.codepoint)!==1){Q++;continue}let J=Q,q=[],U=Q+1;while(U<$.length){let W=$[U];if(!W){U++;continue}let H=L9(W.codepoint);if(W.codepoint===4145){q.push(W),$.splice(U,1);continue}if(W.codepoint===4156){q.push(W),$.splice(U,1);continue}if(H===1||H===0)break;U++}if(q.length>0)$.splice(J,0,...q),Q+=q.length;Q++}}function UQ($){return $>=3584&&$<=3711}function WQ($){return $>=3712&&$<=3839}function qQ($){if(UQ($)){if($>=3585&&$<=3630)return 1;if($===3631)return 1;if($>=3648&&$<=3652)return 2;if($===3633)return 3;if($>=3636&&$<=3639)return 3;if($===3655)return 3;if($>=3640&&$<=3642)return 4;if($===3632)return 5;if($===3634||$===3635)return 5;if($===3653)return 5;if($===3635)return 8;if($>=3656&&$<=3659)return 6;if($===3660)return 6;if($===3661)return 7;if($===3662)return 7;if($>=3664&&$<=3675)return 9;return 0}if(WQ($)){if($>=3713&&$<=3758)return 1;if($>=3776&&$<=3780)return 2;if($===3761)return 3;if($>=3764&&$<=3767)return 3;if($===3771)return 3;if($>=3768&&$<=3769)return 4;if($===3772)return 4;if($===3760)return 5;if($===3762||$===3763)return 5;if($>=3784&&$<=3789)return 6;if($>=3792&&$<=3801)return 9;return 0}return 0}function Y5($){let Q=0,Z=-1;for(let K=0;K<$.length;K++){let J=$[K];if(!J)continue;let q=qQ(J.codepoint);if(q===1)Q++,Z=K;if(J.mask=J.mask&4294967040|q&255,J.mask=J.mask&65535|(Q&65535)<<16,q===2)J.mask|=256}}function w5($){let Q=0;while(Q<$.length){let Z=$[Q];if(!Z){Q++;continue}if(qQ(Z.codepoint)===2){let J=Q+1;while(J<$.length){let q=$[J];if(!q){J++;continue}let U=qQ(q.codepoint??0);if(U===1){let W=Z;$[Q]=q,$[J]=W;break}if(U!==2)break;J++}}Q++}}function RW($){return["bali","batk","brah","bugi","buhd","cakm","cham","dupl","egyp","gran","hano","java","kthi","khar","khmr","khoj","lana","lepc","limb","mahj","modi","mtei","mymr","newa","phlp","rjng","saur","shrd","sidd","sind","sinh","sund","sylo","tagb","takr","tale","talu","tavt","tibt","tirh"].includes($)}function V8($){if($===8204)return 21;if($===8205)return 20;if($===847)return 2;if($===8288)return 19;if($>=65024&&$<=65039)return 18;if($>=917760&&$<=917999)return 18;if($>=4096&&$<=4255){if($>=4096&&$<=4128)return 1;if($>=4129&&$<=4138)return 10;if($>=4139&&$<=4146)return 31;if($>=4150&&$<=4151)return 32;if($===4153)return 8;if($===4154)return 8;if($>=4155&&$<=4158)return 38;if($>=4160&&$<=4169)return 7;return 0}if($>=6016&&$<=6143){if($>=6016&&$<=6050)return 1;if($>=6051&&$<=6067)return 10;if($>=6070&&$<=6085)return 31;if($===6098)return 8;if($>=6086&&$<=6088)return 32;return 0}if($>=3840&&$<=4095){if($>=3840&&$<=3863)return 14;if($>=3953&&$<=3965)return 28;if($>=3984&&$<=4028)return 17;if($>=3904&&$<=3948)return 1;return 0}if($>=3584&&$<=3711){if($>=3585&&$<=3630)return 1;if($>=3632&&$<=3642)return 31;if($>=3648&&$<=3652)return 30;if($>=3656&&$<=3659)return 32;return 0}if($>=3712&&$<=3839){if($>=3713&&$<=3747)return 1;if($>=3760&&$<=3772)return 31;if($>=3776&&$<=3780)return 30;if($>=3784&&$<=3789)return 32;return 0}if($>=57344&&$<=57599){if($===57344)return 13;if($===57345)return 24;if($===57346)return 25;if($===57347)return 26;if($===57348)return 27;if($===57349)return 4;if($===57350)return 12;if($===57351)return 9;if($===57352)return 23;if($===57353)return 29;if($===57354)return 37;if($===57355)return 39;if($===57356)return 40;if($===57357)return 33;if($===57358)return 34;if($===57359)return 35;if($===57360)return 36;if($===57361)return 5;if($===57362)return 6}return 0}var z6={rphf:1,pref:2,blwf:4,abvf:8,pstf:16,half:32,cjct:64,vatu:128,pres:256,abvs:512,blws:1024,psts:2048,haln:4096};function TW($){let Q=[],Z=$.length;if(Z===0)return Q;let K=0;while(K<Z){let J=XX($,K);Q.push(J),K=J.end}return Q}function XX($,Q){let Z=$.length,K=Q,J=-1,q=!1;if(K+1<Z){let U=$[K],W=$[K+1];if(U&&W){let H=V8(U.codepoint??0),_=V8(W.codepoint??0);if(H===13&&_===8)q=!0,K+=2}}while(K<Z){let U=$[K];if(!U){K++;continue}let W=V8(U.codepoint??0);if(W===1||W===10||W===7||W===22){J=K,K++;break}if(W===26||W===30||W===39){K++;continue}if(J===-1)K++;break}if(J===-1)J=Q;while(K<Z){let U=$[K];if(!U){K++;continue}let W=V8(U.codepoint??0);if(W===8){if(K++,K<Z){let H=$[K];if(H){let _=V8(H.codepoint??0);if(_===1||_===4||_===17){K++;continue}if(_===20||_===21)K++}}continue}if(W===17||W===4){K++;continue}if(W===12||W===9){K++;continue}break}while(K<Z){let U=$[K];if(!U){K++;continue}let W=V8(U.codepoint??0);if(W===28||W===29||W===30||W===31||W===23){K++;continue}if(W===37||W===38||W===39||W===40){K++;continue}if(W===24||W===25||W===26||W===27){K++;continue}if(W===32||W===33){K++;continue}if(W===34||W===35||W===36||W===5||W===6){K++;continue}if(W===2||W===18){K++;continue}break}if(K===Q)K=Q+1;return{start:Q,end:K,base:J,hasReph:q}}function OW($){let Q=TW($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];for(let J=K.start;J<K.end;J++){let q=$[J];if(!q)continue;q.mask=q.mask&65535|(Z&65535)<<16;let U=V8(q.codepoint);if(K.hasReph&&J<K.start+2)q.mask|=z6.rphf;if(J<K.base){if(U===1||U===4||U===17)q.mask|=z6.half|z6.cjct}if(J>K.base){if(U===1||U===4||U===17)q.mask|=z6.blwf|z6.pstf|z6.vatu}if(U===8||U===9)if(J<K.base)q.mask|=z6.half;else q.mask|=z6.haln;if(U===30)q.mask|=z6.pref|z6.pres;else if(U===28)q.mask|=z6.abvf|z6.abvs;else if(U===29)q.mask|=z6.blwf|z6.blws;else if(U===31||U===23)q.mask|=z6.pstf|z6.psts;if(U===37)q.mask|=z6.abvs;else if(U===38)q.mask|=z6.blws;else if(U===39)q.mask|=z6.pres;else if(U===40)q.mask|=z6.psts;if(U===32)q.mask|=z6.abvs;else if(U===33)q.mask|=z6.blws;if(U===34)q.mask|=z6.abvs;else if(U===35)q.mask|=z6.blws;else if(U===36||U===5||U===6)q.mask|=z6.psts}}}function PW($){let Q=TW($);for(let Z=0;Z<Q.length;Z++){let K=Q[Z];GX($,K)}}function GX($,Q){let{start:Z,end:K,base:J,hasReph:q}=Q,U=[];for(let W=J+1;W<K;W++){let H=$[W];if(!H)continue;let _=V8(H.codepoint);if(_===30||_===39)U.push({index:W,info:H})}if(U.length>0){U.sort((W,H)=>H.index-W.index);for(let W=0;W<U.length;W++){let{index:H,info:_}=U[W];$.splice(H,1);let N=q?Z+2:Z;$.splice(N,0,_)}}if(q&&K>Z+2){let W=$[Z],H=$[Z+1];if(W&&H){let _=K-1;while(_>J){let N=$[_];if(!N)break;let V=V8(N.codepoint);if(V===32||V===33||V===34||V===35||V===36||V===5||V===6)_--;else break}if(_>Z+1){$.splice(Z,2);let N=_-2;$.splice(N+1,0,W,H)}}}}var HQ=new Uint16Array(16),_Q=new Uint16Array(16);function EX($){return $ instanceof l8?$.font:$}var vW=new WeakMap;function YX($){if($ instanceof l8)return $;let Q=vW.get($);if(!Q)Q=new l8($),vW.set($,Q);return Q}function z8($,Q,Z){let K=new Uint8Array(Q.infos.length),J=$.gdef;if(!J||Z===0)return K;let q=Z&y6.IgnoreBaseGlyphs,U=Z&y6.IgnoreLigatures,W=Z&y6.IgnoreMarks,H=J5(Z);for(let _=0;_<Q.infos.length;_++){let N=Q.infos[_];if(!N)continue;let V=_8(J,N.glyphId);if(q&&V===1)K[_]=1;else if(U&&V===2)K[_]=1;else if(W&&V===3)K[_]=1;else if(H!==0&&V===3){if(J.markAttachClassDef.get(N.glyphId)!==H)K[_]=1}}return K}function IW($,Q){let Z=new Int16Array(Q),K=-1;for(let J=Q-1;J>=0;J--)if(Z[J]=K,!$[J])K=J;return Z}function wX($,Q){if(!Q.gdef)return!1;let{infos:Z,length:K}=$;for(let J=0;J<K;J++){let q=Z[J];if(!q)continue;if(_8(Q.gdef,q.glyphId)===3)return!0}return!1}function AX($,Q,Z){let K=new Int16Array($.infos.length);K.fill(-1);let J=-1;for(let q=0;q<$.infos.length;q++){let U=$.infos[q];if(!U)continue;let W=p8(Z,U.glyphId,Q);if(W===1||W===0||W===2)J=q;else if(W===3)K[q]=J}return K}var FX=[];function LX($,Q,Z={}){let K=FX.pop();if(!K)K=v8.withCapacity(64);return kW($,Q,K,Z),K}function kW($,Q,Z,K={}){let J=EX($),q=YX($),U=K.script??Q.script??"latn",W=K.language??Q.language??null,H=K.direction??"ltr",_=K.features??[],N=q.normalizedCoords.length>0?q.normalizedCoords:null,V=G5(J,U,W,H,_,N);if(Z.reset(),Z.direction=Q.direction,Z.script=U,Z.language=W,Z.initFromCodepointsWithFont(Q.codepoints,Q.clusters,J),DX(Z,U),BX(J,Z,V),uX(q,Z),J.gpos!==null&&V.gposLookups.length>0)xX(J,Z,V);else d1(J,Z.infos,Z.positions),l1(J,Z.infos,Z.positions);if(!J.gsub&&J.morx)KG(J,Z);if(H==="rtl")Z.reverse()}function DX($,Q){if(Q==="arab"||Q==="syrc"||Q==="mand"||Q==="nko "){o1($.infos);return}if(Q==="hebr"){t1($.infos);return}if(Q==="hang"||Q==="kore"){let Z=r1($.infos);if(Z.length!==$.infos.length)$.initFromInfos(Z);a1($.infos);return}if(Q==="deva"||Q==="beng"||Q==="guru"||Q==="gujr"||Q==="orya"||Q==="taml"||Q==="telu"||Q==="knda"||Q==="mlym"){e1($.infos),$Q($.infos);return}if(Q==="thai"||Q==="lao "){Y5($.infos),w5($.infos);return}if(Q==="khmr"){QQ($.infos),ZQ($.infos);return}if(Q==="mymr"){KQ($.infos),JQ($.infos);return}if(RW(Q)){OW($.infos),PW($.infos);return}if(Q==="Zyyy"||Q==="Zinh"||Q==="Zzzz")MX($.infos)}function MX($){if($.length===0)return;let Q=Math.min(10,$.length);for(let Z=0;Z<Q;Z++){let J=$[Z].codepoint;if(J>=1536&&J<=1791||J>=1872&&J<=1919||J>=2208&&J<=2303){o1($);return}if(J>=1424&&J<=1535){t1($);return}if(NW(J)){let q=r1($);if(q.length!==$.length)$.length=0,$.push(...q);a1($);return}if(FW(J)){e1($),$Q($);return}if(UQ(J)){Y5($),w5($);return}if(WQ(J)){Y5($),w5($);return}if(MW(J)){QQ($),ZQ($);return}if(BW(J)){KQ($),JQ($);return}}}function BX($,Q,Z){let K=Z.gsubLookups,J=new V6,q=Q.infos;for(let U=0;U<Q.length;U++)J.add(q[U].glyphId);for(let U=0;U<K.length;U++){let W=K[U];if(!J.mayIntersect(W.lookup.digest))continue;let H=Q.length;if(RX($,Q,W.lookup,Z),Q.length!==H){J=new V6;for(let _=0;_<Q.length;_++)J.add(q[_].glyphId)}}Q.compact()}function RX($,Q,Z,K){switch(Z.type){case 1:TX($,Q,Z);break;case 2:OX($,Q,Z);break;case 3:PX($,Q,Z);break;case 4:vX($,Q,Z);break;case 5:IX($,Q,Z,K);break;case 6:kX($,Q,Z,K);break;case 8:CX($,Q,Z);break}}function TX($,Q,Z){let K=Q.infos,J=K.length,q=Z.digest;if(Z.flag===0||!$.gdef){if(Z.subtables.length===1){let W=Z.subtables[0];if(W.format===1&&W.deltaGlyphId!==void 0){let H=W.deltaGlyphId;for(let _=0;_<J;_++){let N=K[_];if(!q.mayHave(N.glyphId))continue;if(W.coverage.get(N.glyphId)!==null)N.glyphId=N.glyphId+H&65535}}else if(W.format===2&&W.substituteGlyphIds){let H=W.substituteGlyphIds;for(let _=0;_<J;_++){let N=K[_];if(!q.mayHave(N.glyphId))continue;let V=W.coverage.get(N.glyphId);if(V!==null){let z=H[V];if(z!==void 0)N.glyphId=z}}}return}for(let W=0;W<J;W++){let H=K[W];if(!q.mayHave(H.glyphId))continue;let _=W0(Z,H.glyphId);if(_!==null)H.glyphId=_}return}let U=z8($,Q,Z.flag);for(let W=0;W<J;W++){if(U[W])continue;let H=K[W];if(!q.mayHave(H.glyphId))continue;let _=W0(Z,H.glyphId);if(_!==null)H.glyphId=_}}function OX($,Q,Z){let K=Z.digest,J=0;while(J<Q.infos.length){let q=Q.infos[J];if(!q){J++;continue}if(E6($,q.glyphId,Z.flag)){J++;continue}if(!K.mayHave(q.glyphId)){J++;continue}let U=!1,W=Z.subtables;for(let H=0;H<W.length;H++){let _=W[H],N=_.coverage.get(q.glyphId);if(N===null)continue;let V=_.sequences[N];if(!V||V.length===0)continue;let z=V[0];if(z===void 0)continue;q.glyphId=z;for(let j=1;j<V.length;j++){let G={glyphId:V[j],cluster:q.cluster,mask:q.mask,codepoint:q.codepoint},E={xAdvance:0,yAdvance:0,xOffset:0,yOffset:0};Q.insertGlyph(J+j,G,E)}J+=V.length,U=!0;break}if(!U)J++}}function PX($,Q,Z){let K=Q.infos,J=Z.subtables,q=Z.digest;for(let U=0;U<K.length;U++){let W=K[U];if(E6($,W.glyphId,Z.flag))continue;if(!q.mayHave(W.glyphId))continue;for(let H=0;H<J.length;H++){let _=J[H],N=_.coverage.get(W.glyphId);if(N===null)continue;let V=_.alternateSets[N];if(!V||V.length===0)continue;let z=V[0];if(z===void 0)continue;W.glyphId=z;break}}}function vX($,Q,Z){let K=Q.infos,J=K.length,q=Z.flag!==0&&$.gdef!==null,U=Z.digest,W=null;if(q)W=z8($,Q,Z.flag);let H=0;while(H<J){if(Q.isDeleted(H)){H++;continue}let _=K[H];if(!_){H++;continue}if(W?.[H]){H++;continue}if(!U.mayHave(_.glyphId)){H++;continue}let N=1;HQ[0]=H,_Q[0]=_.glyphId;for(let z=H+1;z<J&&N<16;z++){if(Q.isDeleted(z))continue;let j=K[z];if(!j)continue;if(W?.[z])continue;HQ[N]=z,_Q[N]=j.glyphId,N++}let V=UU(Z,_Q,N,0);if(V){_.glyphId=V.ligatureGlyph;for(let z=1;z<V.consumed;z++){let j=HQ[z];if(j!==void 0){let X=K[j];if(X)_.cluster=Math.min(_.cluster,X.cluster);Q.markDeleted(j)}}}H++}}function IX($,Q,Z,K){let J=Q.infos,q=J.length,U=Z.digest,W=null;if(Z.flag!==0&&$.gdef!==null)W=z8($,Q,Z.flag);let H=Z.subtables;for(let _=0;_<q;_++){let N=J[_];if(!N)continue;if(W?.[_])continue;if(!U.mayHave(N.glyphId))continue;for(let V=0;V<H.length;V++){let z=H[V],j=!1,X=[];if(z.format===1){let G=SX($,Q,_,z,Z.flag);if(G)j=!0,X=G}else if(z.format===2){let G=hX($,Q,_,z,Z.flag);if(G)j=!0,X=G}else if(z.format===3){if(yX($,Q,_,z,Z.flag))j=!0,X=z.lookupRecords}if(j){CW($,Q,_,X,K);break}}}}function kX($,Q,Z,K){let J=Q.infos,q=J.length,U=Z.digest,W=null;if(Z.flag!==0&&$.gdef!==null)W=z8($,Q,Z.flag);let H=Z.subtables;for(let _=0;_<q;_++){let N=J[_];if(!N)continue;if(W?.[_])continue;if(!U.mayHave(N.glyphId))continue;for(let V=0;V<H.length;V++){let z=H[V],j=!1,X=[];if(z.format===1){let G=bX($,Q,_,z,Z.flag);if(G)j=!0,X=G}else if(z.format===2){let G=gX($,Q,_,z,Z.flag);if(G)j=!0,X=G}else if(z.format===3){if(mX($,Q,_,z,Z.flag))j=!0,X=z.lookupRecords}if(j){CW($,Q,_,X,K);break}}}}function CX($,Q,Z){let K=Q.infos,J=Z.subtables,q=Z.digest;for(let U=K.length-1;U>=0;U--){let W=K[U];if(!W)continue;if(E6($,W.glyphId,Z.flag))continue;if(!q.mayHave(W.glyphId))continue;for(let H=0;H<J.length;H++){let _=J[H],N=_.coverage.get(W.glyphId);if(N===null)continue;let V=!0,z=U+1,j=_.backtrackCoverages;for(let w=0;w<j.length;w++){let F=j[w];while(z<K.length&&E6($,K[z]?.glyphId,Z.flag))z++;if(z>=K.length||F.get(K[z]?.glyphId)===null){V=!1;break}z++}if(!V)continue;let X=!0,G=U-1,E=_.lookaheadCoverages;for(let w=0;w<E.length;w++){let F=E[w];while(G>=0&&E6($,K[G]?.glyphId,Z.flag))G--;if(G<0||F.get(K[G]?.glyphId)===null){X=!1;break}G--}if(!X)continue;let Y=_.substituteGlyphIds[N];if(Y!==void 0)W.glyphId=Y;break}}}function SX($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.ruleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(D9($,Q,Z+1,_.inputSequence,J))return _.lookupRecords}return null}function hX($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.classDef.get(q),H=K.classRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(M9($,Q,Z+1,N.inputClasses,K.classDef,J))return N.lookupRecords}return null}function yX($,Q,Z,K,J){let q=Q.infos,U=K.coverages,W=Z;for(let H=0;H<U.length;H++){let _=U[H];while(W<q.length&&E6($,q[W]?.glyphId,J))W++;if(W>=q.length)return!1;if(_.get(q[W]?.glyphId)===null)return!1;W++}return!0}function bX($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.chainRuleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(!hW($,Q,Z-1,_.backtrackSequence,J))continue;if(!D9($,Q,Z+1,_.inputSequence,J))continue;let N=Z+1;for(let V=0;V<_.inputSequence.length;V++){while(N<Q.infos.length&&E6($,Q.infos[N]?.glyphId,J))N++;N++}if(!D9($,Q,N,_.lookaheadSequence,J))continue;return _.lookupRecords}return null}function gX($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.inputClassDef.get(q),H=K.chainClassRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(!yW($,Q,Z-1,N.backtrackClasses,K.backtrackClassDef,J))continue;if(!M9($,Q,Z+1,N.inputClasses,K.inputClassDef,J))continue;let V=Q.infos,z=Z+1;for(let j=0;j<N.inputClasses.length;j++){while(z<V.length&&E6($,V[z]?.glyphId,J))z++;z++}if(!M9($,Q,z,N.lookaheadClasses,K.lookaheadClassDef,J))continue;return N.lookupRecords}return null}function mX($,Q,Z,K,J){let q=Q.infos,U=Z-1,W=K.backtrackCoverages;for(let z=0;z<W.length;z++){let j=W[z];while(U>=0&&E6($,q[U]?.glyphId,J))U--;if(U<0)return!1;if(j.get(q[U]?.glyphId)===null)return!1;U--}let H=Z,_=K.inputCoverages;for(let z=0;z<_.length;z++){let j=_[z];while(H<q.length&&E6($,q[H]?.glyphId,J))H++;if(H>=q.length)return!1;if(j.get(q[H]?.glyphId)===null)return!1;H++}let N=H,V=K.lookaheadCoverages;for(let z=0;z<V.length;z++){let j=V[z];while(N<q.length&&E6($,q[N]?.glyphId,J))N++;if(N>=q.length)return!1;if(j.get(q[N]?.glyphId)===null)return!1;N++}return!0}function CW($,Q,Z,K,J){let q=K.length;if(q===0)return;if(q===1){let W=K[0],H=J.gsubLookupMap.get(W.lookupListIndex);if(!H)return;let _=Z+W.sequenceIndex;if(_>=Q.infos.length)return;let N=Q.infos[_];if(!N)return;if(H.lookup.type===1){let V=W0(H.lookup,N.glyphId);if(V!==null)N.glyphId=V}return}let U=new Uint8Array(q);for(let W=0;W<q;W++){let H=-1,_=-1;for(let X=0;X<q;X++){if(U[X])continue;let G=K[X]?.sequenceIndex;if(G>_)_=G,H=X}if(H<0)break;U[H]=1;let N=K[H],V=J.gsubLookupMap.get(N.lookupListIndex);if(!V)continue;let z=Z+N.sequenceIndex;if(z>=Q.infos.length)continue;let j=Q.infos[z];if(!j)continue;if(V.lookup.type===1){let X=W0(V.lookup,j.glyphId);if(X!==null)j.glyphId=X}}}function uX($,Q){let{infos:Z,positions:K}=Q,J=Z.length,U=$.font.hmtx.hMetrics,W=U.length,H=U[W-1]?.advanceWidth??0;if(!($.normalizedCoords.length>0)){for(let N=0;N<J;N++){let V=Z[N].glyphId;K[N].xAdvance=V<W?U[V]?.advanceWidth??0:H}return}for(let N=0;N<J;N++){let V=Z[N];K[N].xAdvance=$.advanceWidth(V.glyphId)}}function p8($,Q,Z){let K=Z.get(Q);if(K===void 0)K=_8($.gdef,Q),Z.set(Q,K);return K}function xX($,Q,Z){let K=new V6,J=Q.infos,q=Q.length;for(let N=0;N<q;N++)K.add(J[N].glyphId);let U=wX(Q,$),W,H;if(U)H=new Map,W=AX(Q,H,$);else W=fX,H=lX;let _=Z.gposLookups;for(let N=0;N<_.length;N++){let V=_[N];if(!K.mayIntersect(V.lookup.digest))continue;NQ($,Q,V.lookup,Z,H,W,U)}}var fX=new Int16Array(0),lX=new Map;function NQ($,Q,Z,K,J,q,U){switch(Z.type){case 1:dX($,Q,Z,U);break;case 2:nX($,Q,Z,U);break;case 3:pX($,Q,Z,U);break;case 4:if(!U)break;cX($,Q,Z,J,q);break;case 5:if(!U)break;oX($,Q,Z,J,q);break;case 6:if(!U)break;iX($,Q,Z,J);break;case 7:sX($,Q,Z,K,J,q,U);break;case 8:aX($,Q,Z,K,J,q,U);break}}function dX($,Q,Z,K){let{infos:J,positions:q}=Q,U=J.length,W=Z.digest,H=Z.subtables,_=K&&Z.flag!==0&&$.gdef!==null;if(H.length===1&&!_){let z=H[0];if(z.format===1&&z.value){let j=z.value,X=j.xPlacement!==void 0&&j.xPlacement!==0,G=j.yPlacement!==void 0&&j.yPlacement!==0,E=j.xAdvance!==void 0&&j.xAdvance!==0,Y=j.yAdvance!==void 0&&j.yAdvance!==0;if(!X&&!G&&!E&&!Y)return;for(let w=0;w<U;w++){let F=J[w];if(!W.mayHave(F.glyphId))continue;if(z.coverage.get(F.glyphId)===null)continue;let A=q[w];if(X)A.xOffset+=j.xPlacement;if(G)A.yOffset+=j.yPlacement;if(E)A.xAdvance+=j.xAdvance;if(Y)A.yAdvance+=j.yAdvance}return}}let N=(z)=>{let j=J[z];if(!W.mayHave(j.glyphId))return;let X=q[z];if(!X)return;for(let G=0;G<H.length;G++){let E=H[G],Y=E.coverage.get(j.glyphId);if(Y===null)continue;let w=E.format===1?E.value:E.values?.[Y];if(w){if(w.xPlacement)X.xOffset+=w.xPlacement;if(w.yPlacement)X.yOffset+=w.yPlacement;if(w.xAdvance)X.xAdvance+=w.xAdvance;if(w.yAdvance)X.yAdvance+=w.yAdvance}break}};if(!_){for(let z=0;z<U;z++)N(z);return}let V=z8($,Q,Z.flag);for(let z=0;z<U;z++){if(V[z])continue;N(z)}}function nX($,Q,Z,K){let{infos:J,positions:q}=Q,U=J.length,W=Z.digest,H=Z.subtables,_=H.length;if(!(K&&Z.flag!==0&&$.gdef!==null)){if(_===1){let j=H[0],X=j.coverage;if(j.format===1){let G=j.pairSets;for(let E=0;E<U-1;E++){let Y=J[E].glyphId;if(!W.mayHave(Y))continue;let w=X.get(Y);if(w===null)continue;let F=G[w];if(!F)continue;let A=J[E+1].glyphId,D=F.pairValueRecords,L=0,R=D.length-1;while(L<=R){let B=L+R>>>1,v=D[B],T=v.secondGlyph;if(T<A)L=B+1;else if(T>A)R=B-1;else{let g=v.value1.xAdvance;if(g)q[E].xAdvance+=g;break}}}}else{let{classDef1:G,classDef2:E,class1Records:Y}=j,w=Y.length;for(let F=0;F<U-1;F++){let A=J[F].glyphId;if(!W.mayHave(A))continue;if(X.get(A)===null)continue;let D=G.get(A);if(D>=w)continue;let L=Y[D],R=J[F+1].glyphId,B=E.get(R),v=L.class2Records;if(B>=v.length)continue;let T=v[B].value1.xAdvance;if(T)q[F].xAdvance+=T}}return}if(_===2){let j=H[0],X=H[1];if(j.format===1&&X.format===2){let{coverage:G,pairSets:E}=j,Y=X.coverage,w=X.classDef1,F=X.classDef2,A=X.class1Records,D=A.length;for(let L=0;L<U-1;L++){let R=J[L].glyphId;if(!W.mayHave(R))continue;let B=J[L+1].glyphId,v=G.get(R);if(v!==null){let T=E[v];if(T){let g=T.pairValueRecords,P=0,f=g.length-1,l=!1;while(P<=f){let C=P+f>>>1,O=g[C],h=O.secondGlyph;if(h<B)P=C+1;else if(h>B)f=C-1;else{let S=O.value1.xAdvance;if(S)q[L].xAdvance+=S;l=!0;break}}if(l)continue}}if(Y.get(R)!==null){let T=w.get(R);if(T<D){let g=A[T],P=F.get(B),f=g.class2Records;if(P<f.length){let l=f[P].value1.xAdvance;if(l)q[L].xAdvance+=l}}}}return}}for(let j=0;j<U-1;j++){let X=J[j];if(!W.mayHave(X.glyphId))continue;let G=J[j+1],E=q[j],Y=q[j+1];w1(Z,X.glyphId,G.glyphId,E,Y)}return}let V=z8($,Q,Z.flag),z=IW(V,U);for(let j=0;j<U-1;j++){if(V[j])continue;let X=z[j];if(X<0)break;let G=J[j];if(!W.mayHave(G.glyphId))continue;let E=J[X],Y=q[j],w=q[X];w1(Z,G.glyphId,E.glyphId,Y,w)}}function pX($,Q,Z,K){let{infos:J,positions:q}=Q,U=J.length,W=Z.digest,H=Z.subtables,_=(j,X)=>{let G=J[j],E=J[X];if(!W.mayHave(G.glyphId)&&!W.mayHave(E.glyphId))return;for(let Y=0;Y<H.length;Y++){let w=H[Y],F=w.coverage.get(G.glyphId),A=w.coverage.get(E.glyphId);if(F===null||A===null)continue;let D=w.entryExitRecords[F],L=w.entryExitRecords[A];if(!D?.exitAnchor||!L?.entryAnchor)continue;let R=D.exitAnchor,B=L.entryAnchor,v=q[X];if(v)v.yOffset=R.yCoordinate-B.yCoordinate;break}};if(!(K&&Z.flag!==0&&$.gdef!==null)){for(let j=0;j<U-1;j++)_(j,j+1);return}let V=z8($,Q,Z.flag),z=IW(V,U);for(let j=0;j<U-1;j++){if(V[j])continue;let X=z[j];if(X<0)break;_(j,X)}}function cX($,Q,Z,K,J){let q=Z.digest,U=Q.infos,W=Q.positions,H=Z.subtables;for(let _=0;_<U.length;_++){let N=U[_];if(!N)continue;if(!q.mayHave(N.glyphId))continue;if(p8($,N.glyphId,K)!==3)continue;let V=J[_];if(V<0)continue;let z=U[V];if(!z)continue;for(let j=0;j<H.length;j++){let X=H[j],G=X.markCoverage.get(N.glyphId),E=X.baseCoverage.get(z.glyphId);if(G===null||E===null)continue;let Y=X.markArray.markRecords[G],w=X.baseArray[E];if(!Y||!w)continue;let F=w.baseAnchors[Y.markClass];if(!F)continue;let A=Y.markAnchor,D=W[_],L=W[V];if(!D||!L)continue;D.xOffset=F.xCoordinate-A.xCoordinate+L.xOffset,D.yOffset=F.yCoordinate-A.yCoordinate+L.yOffset,D.xAdvance=0,D.yAdvance=0;break}}}function oX($,Q,Z,K,J){let q=Z.digest,U=Q.infos,W=Q.positions,H=Z.subtables;for(let _=0;_<U.length;_++){let N=U[_];if(!N)continue;if(!q.mayHave(N.glyphId))continue;if(p8($,N.glyphId,K)!==3)continue;let V=J[_];if(V<0)continue;let z=U[V];if(!z)continue;if(p8($,z.glyphId,K)!==2)continue;let j=0;for(let X=V+1;X<_;X++){let G=U[X];if(G&&p8($,G.glyphId,K)===3)j++}for(let X=0;X<H.length;X++){let G=H[X],E=G.markCoverage.get(N.glyphId),Y=G.ligatureCoverage.get(z.glyphId);if(E===null||Y===null)continue;let w=G.markArray.markRecords[E],F=G.ligatureArray[Y];if(!w||!F)continue;let A=Math.min(j,F.componentRecords.length-1),D=F.componentRecords[A];if(!D)continue;let L=D.ligatureAnchors[w.markClass];if(!L)continue;let R=w.markAnchor,B=W[_],v=W[V];if(!B||!v)continue;B.xOffset=L.xCoordinate-R.xCoordinate+v.xOffset,B.yOffset=L.yCoordinate-R.yCoordinate+v.yOffset,B.xAdvance=0,B.yAdvance=0;break}}}function iX($,Q,Z,K){let J=Z.digest,q=Q.infos,U=Q.positions,W=Z.subtables;for(let H=0;H<q.length;H++){let _=q[H];if(!_)continue;if(!J.mayHave(_.glyphId))continue;if(p8($,_.glyphId,K)!==3)continue;let N=-1;if(H>0){let z=q[H-1];if(z){if(p8($,z.glyphId,K)===3)N=H-1}}if(N<0)continue;let V=q[N];if(!V)continue;for(let z=0;z<W.length;z++){let j=W[z],X=j.mark1Coverage.get(_.glyphId),G=j.mark2Coverage.get(V.glyphId);if(X===null||G===null)continue;let E=j.mark1Array.markRecords[X],Y=j.mark2Array[G];if(!E||!Y)continue;let w=Y.mark2Anchors[E.markClass];if(!w)continue;let F=E.markAnchor,A=U[H],D=U[N];if(!A||!D)continue;A.xOffset=w.xCoordinate-F.xCoordinate+D.xOffset,A.yOffset=w.yCoordinate-F.yCoordinate+D.yOffset;break}}}function sX($,Q,Z,K,J,q,U){let W=Q.infos,H=W.length,_=Z.digest,N=Z.subtables,V=null;if(Z.flag!==0&&$.gdef!==null)V=z8($,Q,Z.flag);for(let z=0;z<H;z++){let j=W[z];if(!j)continue;if(V?.[z])continue;if(!_.mayHave(j.glyphId))continue;for(let X=0;X<N.length;X++){let G=N[X],E=!1,Y=[];if(G.format===1){let w=rX($,Q,z,G,Z.flag);if(w)E=!0,Y=w}else if(G.format===2){let w=tX($,Q,z,G,Z.flag);if(w)E=!0,Y=w}else if(G.format===3){if(eX($,Q,z,G,Z.flag))E=!0,Y=G.lookupRecords}if(E){SW($,Q,z,Y,K,J,q,U);break}}}}function aX($,Q,Z,K,J,q,U){let W=Q.infos,H=W.length,_=Z.digest,N=Z.subtables,V=null;if(Z.flag!==0&&$.gdef!==null)V=z8($,Q,Z.flag);for(let z=0;z<H;z++){let j=W[z];if(!j)continue;if(V?.[z])continue;if(!_.mayHave(j.glyphId))continue;for(let X=0;X<N.length;X++){let G=N[X],E=!1,Y=[];if(G.format===1){let w=$G($,Q,z,G,Z.flag);if(w)E=!0,Y=w}else if(G.format===2){let w=QG($,Q,z,G,Z.flag);if(w)E=!0,Y=w}else if(G.format===3){if(ZG($,Q,z,G,Z.flag))E=!0,Y=G.lookupRecords}if(E){SW($,Q,z,Y,K,J,q,U);break}}}}function rX($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.ruleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(D9($,Q,Z+1,_.inputSequence,J))return _.lookupRecords}return null}function tX($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.classDef.get(q),H=K.classRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(M9($,Q,Z+1,N.inputClasses,K.classDef,J))return N.lookupRecords}return null}function eX($,Q,Z,K,J){let q=Q.infos,U=K.coverages,W=Z;for(let H=0;H<U.length;H++){let _=U[H];while(W<q.length&&E6($,q[W]?.glyphId,J))W++;if(W>=q.length)return!1;if(_.get(q[W]?.glyphId)===null)return!1;W++}return!0}function $G($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId,U=K.coverage.get(q);if(U===null)return null;let W=K.chainRuleSets[U];if(!W)return null;for(let H=0;H<W.length;H++){let _=W[H];if(!hW($,Q,Z-1,_.backtrackSequence,J))continue;if(!D9($,Q,Z+1,_.inputSequence,J))continue;let N=Z+1;for(let V=0;V<_.inputSequence.length;V++){while(N<Q.infos.length&&E6($,Q.infos[N]?.glyphId,J))N++;N++}if(!D9($,Q,N,_.lookaheadSequence,J))continue;return _.lookupRecords}return null}function QG($,Q,Z,K,J){let q=Q.infos[Z]?.glyphId;if(K.coverage.get(q)===null)return null;let W=K.inputClassDef.get(q),H=K.chainClassRuleSets[W];if(!H)return null;for(let _=0;_<H.length;_++){let N=H[_];if(!yW($,Q,Z-1,N.backtrackClasses,K.backtrackClassDef,J))continue;if(!M9($,Q,Z+1,N.inputClasses,K.inputClassDef,J))continue;let V=Q.infos,z=Z+1;for(let j=0;j<N.inputClasses.length;j++){while(z<V.length&&E6($,V[z]?.glyphId,J))z++;z++}if(!M9($,Q,z,N.lookaheadClasses,K.lookaheadClassDef,J))continue;return N.lookupRecords}return null}function ZG($,Q,Z,K,J){let q=Q.infos,U=Z-1,W=K.backtrackCoverages;for(let z=0;z<W.length;z++){let j=W[z];while(U>=0&&E6($,q[U]?.glyphId,J))U--;if(U<0)return!1;if(j.get(q[U]?.glyphId)===null)return!1;U--}let H=Z,_=K.inputCoverages;for(let z=0;z<_.length;z++){let j=_[z];while(H<q.length&&E6($,q[H]?.glyphId,J))H++;if(H>=q.length)return!1;if(j.get(q[H]?.glyphId)===null)return!1;H++}let N=H,V=K.lookaheadCoverages;for(let z=0;z<V.length;z++){let j=V[z];while(N<q.length&&E6($,q[N]?.glyphId,J))N++;if(N>=q.length)return!1;if(j.get(q[N]?.glyphId)===null)return!1;N++}return!0}function SW($,Q,Z,K,J,q,U,W){let H=K.length;if(H===0)return;if(H===1){let N=K[0],V=J.gposLookupMap.get(N.lookupListIndex);if(!V)return;if(Z+N.sequenceIndex>=Q.infos.length)return;NQ($,Q,V.lookup,J,q,U,W);return}let _=new Uint8Array(H);for(let N=0;N<H;N++){let V=-1,z=-1;for(let E=0;E<H;E++){if(_[E])continue;let Y=K[E].sequenceIndex;if(Y>z)z=Y,V=E}if(V<0)break;_[V]=1;let j=K[V],X=J.gposLookupMap.get(j.lookupListIndex);if(!X)continue;if(Z+j.sequenceIndex>=Q.infos.length)continue;NQ($,Q,X.lookup,J,q,U,W)}}function D9($,Q,Z,K,J){let q=Z;for(let U=0;U<K.length;U++){let W=K[U];while(q<Q.infos.length&&E6($,Q.infos[q]?.glyphId,J))q++;if(q>=Q.infos.length)return!1;if(Q.infos[q]?.glyphId!==W)return!1;q++}return!0}function hW($,Q,Z,K,J){let q=Q.infos,U=Z;for(let W=0;W<K.length;W++){let H=K[W];while(U>=0&&E6($,q[U]?.glyphId,J))U--;if(U<0)return!1;if(q[U]?.glyphId!==H)return!1;U--}return!0}function M9($,Q,Z,K,J,q){let U=Q.infos,W=Z;for(let H=0;H<K.length;H++){let _=K[H];while(W<U.length&&E6($,U[W]?.glyphId,q))W++;if(W>=U.length)return!1;if(J.get(U[W]?.glyphId)!==_)return!1;W++}return!0}function yW($,Q,Z,K,J,q){let U=Q.infos,W=Z;for(let H=0;H<K.length;H++){let _=K[H];while(W>=0&&E6($,U[W]?.glyphId,q))W--;if(W<0)return!1;if(J.get(U[W]?.glyphId)!==_)return!1;W--}return!0}function E6($,Q,Z){if((Z&14)===0&&(Z&65280)===0)return!1;let K=$.gdef;if(!K)return!1;let J=_8(K,Q);if(Z&y6.IgnoreBaseGlyphs&&J===1)return!0;if(Z&y6.IgnoreLigatures&&J===2)return!0;if(Z&y6.IgnoreMarks&&J===3)return!0;let q=J5(Z);if(q!==0&&J===3){if(K.markAttachClassDef.get(Q)!==q)return!0}return!1}function KG($,Q){let Z=$.morx;if(!Z)return;let K=Z.chains;for(let J=0;J<K.length;J++){let q=K[J],U=q.subtables;for(let W=0;W<U.length;W++){let H=U[W];if((q.defaultFlags&H.subFeatureFlags)===0)continue;switch(H.type){case 4:{let _=Q.infos;for(let N=0;N<_.length;N++){let V=_[N],z=C1(H,V.glyphId);if(z!==null)V.glyphId=z}break}case 0:y5(H,Q.infos);break;case 1:b5(H,Q.infos);break;case 2:{let _=g5(H,Q.infos);if(_.length!==Q.infos.length)Q.initFromInfos(_);break}case 5:{let _=m5(H,Q.infos);if(_.length!==Q.infos.length)Q.initFromInfos(_);break}}}}}var VQ={pairs:"14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function j0($,Q){let K=0,J=new Map,q=Q?new Map:null,U="";function W(H){if(H.indexOf("+")!==-1)for(let _=+H;_--;)W(U);else{U=H;let _=H.split(">"),N=_[0]??"",V=_[1]??"";K+=parseInt(N,36);let z=String.fromCodePoint(K);K+=parseInt(V,36);let j=String.fromCodePoint(K);if(J.set(z,j),q)q.set(j,z)}}return $.split(",").forEach(W),{map:J,reverseMap:q}}var zQ=null,bW=null,gW=null;function jQ(){if(!zQ){let{map:$,reverseMap:Q}=j0(VQ.pairs,!0);zQ=$,bW=Q,gW=j0(VQ.canonical,!1).map}}function A5($){return jQ(),zQ?.get($)||null}function F5($){return jQ(),bW?.get($)||null}function L5($){return jQ(),gW?.get($)||null}var X0={R:"13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73",EN:"1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9",ES:"17,2,6dp+1,f+1,av,16vr,mx+1,4o,2",ET:"z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj",AN:"16o+5,2j+9,2+1,35,ed,1ff2+9,87+u",CS:"18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b",B:"a,3,f+2,2v,690",S:"9,2,k",WS:"c,k,4f4,1vk+a,u,1j,335",ON:"x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i",BN:"0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1",NSM:"lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n",AL:"16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d",LRO:"6ct",RLO:"6cu",LRE:"6cq",RLE:"6cr",PDF:"6cs",LRI:"6ee",RLI:"6ef",FSI:"6eg",PDI:"6eh"};var q6={},XQ={};q6.L=1;XQ[1]="L";Object.keys(X0).forEach(($,Q)=>{q6[$]=1<<Q+1;let Z=q6[$];if(Z!==void 0)XQ[Z]=$});Object.freeze(q6);function H6($){return q6[$]??0}var Q8=H6("LRI")|H6("RLI")|H6("FSI"),M5=H6("L")|H6("R")|H6("AL"),k6=H6("B")|H6("S")|H6("WS")|H6("ON")|H6("FSI")|H6("LRI")|H6("RLI")|H6("PDI"),L6=H6("BN")|H6("RLE")|H6("LRE")|H6("RLO")|H6("LRO")|H6("PDF"),G0=H6("S")|H6("WS")|H6("B")|Q8|H6("PDI")|L6,D5=null;function JG(){if(!D5){D5=new Map;let $=0;for(let Q in X0)if(Object.hasOwn(X0,Q)){let Z=X0[Q],K="",J=0,q=!1,U=0;for(let W=0;W<=Z.length+1;W+=1){let H=Z[W];if(H!==","&&W!==Z.length)if(H==="+")q=!0,U=$=U+parseInt(K,36),K="";else K+=H;else{if(!q)U=$=U+parseInt(K,36),J=$;else J=$+parseInt(K,36);q=!1,K="",U=J;let _=H6(Q);for(let N=$;N<J+1;N+=1)D5.set(N,_)}}}}}function b6($){JG();let Q=$.codePointAt(0);if(Q===void 0)return H6("L");return D5?.get(Q)??H6("L")}var u6=q6.L??1,n6=q6.R??2,C6=q6.EN??4,E0=q6.ES??8,B5=q6.ET??16,Y0=q6.AN??32,R5=q6.CS??64,B9=q6.B??128,qG=q6.S??256,T5=q6.ON??512,UG=q6.BN??1024,O5=q6.NSM??2048,P5=q6.AL??4096,mW=q6.LRO??8192,v5=q6.RLO??16384,uW=q6.LRE??32768,GQ=q6.RLE??65536,xW=q6.PDF??131072,WG=q6.LRI??262144,fW=q6.RLI??524288,HG=q6.FSI??1048576,R9=q6.PDI??2097152;function r($,Q){return $[Q]??0}function _6($,Q){return $[Q]??0}function T9($,Q){return $[Q]??""}function EQ($,Q){let K=new Uint32Array($.length);for(let G=0;G<$.length;G++)K[G]=b6(T9($,G));let J=new Map;function q(G,E){let Y=r(K,G);if(K[G]=E,J.set(Y,(J.get(Y)??0)-1),Y&k6)J.set(k6,(J.get(k6)??0)-1);if(J.set(E,(J.get(E)??0)+1),E&k6)J.set(k6,(J.get(k6)??0)+1)}let U=new Uint8Array($.length),W=new Map,H=[],_=null;function N(G,E){for(let Y=G;Y<$.length;Y++){let w=r(K,Y);if(w&(n6|P5))return 1;if(w&(B9|u6)||E&&w===R9)return 0;if(w&Q8){let F=V(Y);Y=F===-1?$.length:F}}return 0}function V(G){let E=1;for(let Y=G+1;Y<$.length;Y++){let w=r(K,Y);if(w&B9)break;if(w&R9){if(--E===0)return Y}else if(w&Q8)E++}return-1}for(let G=0;G<$.length;G++){if(!_)_={start:G,end:$.length-1,level:Q==="rtl"?1:Q==="ltr"?0:N(G,!1)},H.push(_);if(r(K,G)&B9)_.end=G,_=null}let z=GQ|uW|v5|mW|Q8|R9|xW|B9,j=(G)=>G+(G&1?1:2),X=(G)=>G+(G&1?2:1);for(let G=0;G<H.length;G++){let E=H[G];if(!E)continue;_=E;let Y=[{_level:_.level,_override:0,_isolate:0}],w=0,F=0,A=0;J.clear();for(let B=_.start;B<=_.end;B++){let v=r(K,B),T=Y[Y.length-1];if(!T)continue;if(J.set(v,(J.get(v)??0)+1),v&k6)J.set(k6,(J.get(k6)??0)+1);if(v&z){if(v&(GQ|uW)){U[B]=T._level;let g=(v===GQ?X:j)(T._level);if(g<=125&&!w&&!F)Y.push({_level:g,_override:0,_isolate:0});else if(!w)F++}else if(v&(v5|mW)){U[B]=T._level;let g=(v===v5?X:j)(T._level);if(g<=125&&!w&&!F)Y.push({_level:g,_override:v&v5?n6:u6,_isolate:0});else if(!w)F++}else if(v&Q8){if(v&HG)v=N(B+1,!0)===1?fW:WG;if(U[B]=T._level,T._override)q(B,T._override);let g=(v===fW?X:j)(T._level);if(g<=125&&w===0&&F===0)A++,Y.push({_level:g,_override:0,_isolate:1,_isolInitIndex:B});else w++}else if(v&R9){if(w>0)w--;else if(A>0){F=0;while(Y.length>0){if(Y[Y.length-1]?._isolate)break;Y.pop()}let P=Y[Y.length-1]?._isolInitIndex;if(P!=null)W.set(P,B),W.set(B,P);Y.pop(),A--}if(T=Y[Y.length-1],!T)continue;if(U[B]=T._level,T._override)q(B,T._override)}else if(v&xW){if(w===0){if(F>0)F--;else if(!T._isolate&&Y.length>1){if(Y.pop(),T=Y[Y.length-1],!T)continue}}U[B]=T._level}else if(v&B9)U[B]=_.level}else if(U[B]=T._level,T._override&&v!==UG)q(B,T._override)}let D=[],L=null;for(let B=_.start;B<=_.end;B++){let v=r(K,B);if(!(v&L6)){let T=U[B]??0,g=!!(v&Q8),P=v===R9;if(L&&T===L._level)L._end=B,L._endsWithIsolInit=g;else L={_start:B,_end:B,_level:T,_startsWithPDI:P,_endsWithIsolInit:g},D.push(L)}}let R=[];for(let B=0;B<D.length;B++){let v=D[B];if(!v)continue;if(!v._startsWithPDI||v._startsWithPDI&&!W.has(v._start)){L=v;let T=[v];while(L?._endsWithIsolInit){let S=W.get(L._end);if(S==null)break;let d=!1;for(let o=B+1;o<D.length;o++){let n=D[o];if(n?._start===S){L=n,T.push(n),d=!0;break}}if(!d)break}let g=[];for(let S=0;S<T.length;S++){let d=T[S];for(let o=d._start;o<=d._end;o++)g.push(o)}let P=g[0]??0,f=U[P]??0,l=_.level;for(let S=P-1;S>=0;S--)if(!(r(K,S)&L6)){l=U[S]??0;break}let C=g[g.length-1]??0,O=U[C]??0,h=_.level;if(!(r(K,C)&Q8)){for(let S=C+1;S<=_.end;S++)if(!(r(K,S)&L6)){h=U[S]??0;break}}R.push({_seqIndices:g,_sosType:Math.max(l,f)%2?n6:u6,_eosType:Math.max(h,O)%2?n6:u6})}}for(let B=0;B<R.length;B++){let v=R[B],{_seqIndices:T,_sosType:g,_eosType:P}=v,f=T[0]??0,l=(U[f]??0)&1?n6:u6;if(J.get(O5))for(let C=0;C<T.length;C++){let O=_6(T,C);if(r(K,O)&O5){let h=g;for(let S=C-1;S>=0;S--){let d=_6(T,S);if(!(r(K,d)&L6)){h=r(K,d);break}}q(O,h&(Q8|R9)?T5:h)}}if(J.get(C6))for(let C=0;C<T.length;C++){let O=_6(T,C);if(r(K,O)&C6)for(let h=C-1;h>=-1;h--){let S=h===-1?g:r(K,_6(T,h));if(S&M5){if(S===P5)q(O,Y0);break}}}if(J.get(P5))for(let C=0;C<T.length;C++){let O=_6(T,C);if(r(K,O)&P5)q(O,n6)}if(J.get(E0)||J.get(R5))for(let C=1;C<T.length-1;C++){let O=_6(T,C);if(r(K,O)&(E0|R5)){let h=0,S=0;for(let d=C-1;d>=0;d--)if(h=r(K,_6(T,d)),!(h&L6))break;for(let d=C+1;d<T.length;d++)if(S=r(K,_6(T,d)),!(S&L6))break;if(h===S&&(r(K,O)===E0?h===C6:h&(C6|Y0)))q(O,h)}}if(J.get(C6))for(let C=0;C<T.length;C++){let O=_6(T,C);if(r(K,O)&C6){for(let h=C-1;h>=0;h--){let S=_6(T,h);if(!(r(K,S)&(B5|L6)))break;q(S,C6)}for(C++;C<T.length;C++){let h=_6(T,C);if(!(r(K,h)&(B5|L6|C6)))break;if(r(K,h)!==C6)q(h,C6)}}}if(J.get(B5)||J.get(E0)||J.get(R5))for(let C=0;C<T.length;C++){let O=_6(T,C);if(r(K,O)&(B5|E0|R5)){q(O,T5);for(let h=C-1;h>=0;h--){let S=_6(T,h);if(!(r(K,S)&L6))break;q(S,T5)}for(let h=C+1;h<T.length;h++){let S=_6(T,h);if(!(r(K,S)&L6))break;q(S,T5)}}}if(J.get(C6)){let C=g;for(let O=0;O<T.length;O++){let h=_6(T,O),S=r(K,h);if(S&C6){if(C===u6)q(h,u6)}else if(S&M5)C=S}}if(J.get(k6)){let C=n6|C6|Y0,O=C|u6,h=[],S=[];for(let d=0;d<T.length;d++){let o=_6(T,d);if(r(K,o)&k6){let n=T9($,o);if(A5(n)!==null)if(S.length<63)S.push({char:n,seqIndex:d});else break;else{let u=F5(n);if(u!==null)for(let N6=S.length-1;N6>=0;N6--){let y=S[N6];if(!y)continue;let t=y.char,m=L5(n),A6=L5(t);if(t===u||m&&t===F5(m)||A6&&A5(A6)===n){h.push([y.seqIndex,d]),S.length=N6;break}}}}}h.sort((d,o)=>d[0]-o[0]);for(let d=0;d<h.length;d++){let o=h[d],[n,e]=o,u=!1,N6=0;for(let y=n+1;y<e;y++){let t=_6(T,y),m=r(K,t);if(m&O){u=!0;let A6=m&C?n6:u6;if(A6===l){N6=A6;break}}}if(u&&!N6){N6=g;for(let y=n-1;y>=0;y--){let t=_6(T,y),m=r(K,t);if(m&O){let A6=m&C?n6:u6;N6=A6!==l?A6:l;break}}}if(N6){if(K[_6(T,n)]=N6,K[_6(T,e)]=N6,N6!==l){for(let y=n+1;y<T.length;y++){let t=_6(T,y);if(!(r(K,t)&L6)){if(b6(T9($,t))&O5)K[t]=N6;break}}for(let y=e+1;y<T.length;y++){let t=_6(T,y);if(!(r(K,t)&L6)){if(b6(T9($,t))&O5)K[t]=N6;break}}}}}for(let d=0;d<T.length;d++){let o=_6(T,d);if(r(K,o)&k6){let n=d,e=d,u=g;for(let y=d-1;y>=0;y--){let t=_6(T,y);if(r(K,t)&L6)n=y;else{u=r(K,t)&C?n6:u6;break}}let N6=P;for(let y=d+1;y<T.length;y++){let t=_6(T,y);if(r(K,t)&(k6|L6))e=y;else{N6=r(K,t)&C?n6:u6;break}}for(let y=n;y<=e;y++)K[_6(T,y)]=u===N6?u:l;d=e}}}}for(let B=_.start;B<=_.end;B++){let v=U[B]??0,T=r(K,B);if(v&1){if(T&(u6|C6|Y0))U[B]++}else if(T&n6)U[B]++;else if(T&(Y0|C6))U[B]+=2;if(T&L6)U[B]=B===0?_.level:U[B-1]??_.level;if(B===_.end||b6(T9($,B))&(qG|B9))for(let g=B;g>=0&&b6(T9($,g))&G0;g--)U[g]=_.level}}return{levels:U,paragraphs:H}}var lW="14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1";var YQ=null;function _G(){if(!YQ){let{map:$,reverseMap:Q}=j0(lW,!0);if(Q)Q.forEach((Z,K)=>{$.set(K,Z)});YQ=$}}function I5($){return _G(),YQ?.get($)||null}function dW($,Q,Z,K){let J=$.length,q=Math.max(0,Z==null?0:+Z),U=Math.min(J-1,K==null?J-1:+K),W=[];for(let H=0;H<Q.paragraphs.length;H++){let _=Q.paragraphs[H],N=Math.max(q,_.start),V=Math.min(U,_.end);if(N<V){let z=Q.levels.slice(N,V+1);for(let G=V;G>=N;G--){let E=$[G];if(E===void 0)break;if(!(b6(E)&G0))break;z[G-N]=_.level}let j=_.level,X=1/0;for(let G=0;G<z.length;G++){let E=z[G]??0;if(E>j)j=E;if(E<X)X=E|1}for(let G=j;G>=X;G--)for(let E=0;E<z.length;E++)if((z[E]??0)>=G){let w=E;while(E+1<z.length){if((z[E+1]??0)<G)break;E++}if(E>w)W.push([w+N,E+N])}}}return W}function k5($,Q,Z,K){let J=dW($,Q,Z,K),q=[];for(let U=0;U<$.length;U++)q[U]=U;for(let U=0;U<J.length;U++){let W=J[U],H=W[0],_=W[1],N=q.slice(H,_+1);for(let V=N.length;V--;){let z=N[V];if(z!==void 0)q[_-V]=z}}return q}function nW($,Q=4){let Z=Q===5?"rtl":Q===4?"ltr":"auto",K=EQ($,Z);return{levels:K.levels,paragraphs:K.paragraphs}}function NG($,Q,Z=0,K=$.length){return[...k5($,Q,Z,K)]}function pW($,Q){if($.length===0)return $;let Z="x".repeat($.length),K=k5(Z,Q,0,$.length),J=[];for(let q=0;q<K.length;q++){let U=K[q];if(U<$.length){let W=$[U];if(W)J.push(W)}}return J}function cW($){let Q=String.fromCodePoint($),Z=I5(Q);return Z?Z.codePointAt(0)??$:$}function oW($,Q){for(let Z=0;Z<$.length;Z++){let K=$[Z],J=Q[Z];if(J===void 0)continue;if(J&1){let q=cW(K.codepoint);if(q!==K.codepoint)K.codepoint=q}}}var c8={L:1,R:2,EN:4,ES:8,ET:16,AN:32,CS:64,B:128,S:256,WS:512,ON:1024,BN:2048,NSM:4096,AL:8192,LRO:16384,RLO:32768,LRE:65536,RLE:131072,PDF:262144,LRI:524288,RLI:1048576,FSI:2097152,PDI:4194304};function VG($){return b6($)}function zG($){let Q=String.fromCodePoint($);return(b6(Q)&(c8.R|c8.AL))!==0}function jG($){let Q=String.fromCodePoint($);return(b6(Q)&c8.L)!==0}function XG($){let Q=[...$];for(let Z=0;Z<Q.length;Z++){let K=Q[Z],J=b6(K);if(J&c8.L)return 4;if(J&(c8.R|c8.AL))return 5}return 4}function GG($,Q=4){if($.length===0)return{infos:$,levels:new Uint8Array(0)};let Z=$.map((q)=>String.fromCodePoint(q.codepoint)).join(""),K=nW(Z,Q);return oW($,K.levels),{infos:pW($,K),levels:K.levels}}var iW;((m)=>{m[m.BK=0]="BK";m[m.CR=1]="CR";m[m.LF=2]="LF";m[m.CM=3]="CM";m[m.NL=4]="NL";m[m.SG=5]="SG";m[m.WJ=6]="WJ";m[m.ZW=7]="ZW";m[m.GL=8]="GL";m[m.SP=9]="SP";m[m.ZWJ=10]="ZWJ";m[m.B2=11]="B2";m[m.BA=12]="BA";m[m.BB=13]="BB";m[m.HY=14]="HY";m[m.CB=15]="CB";m[m.CL=16]="CL";m[m.CP=17]="CP";m[m.EX=18]="EX";m[m.IN=19]="IN";m[m.NS=20]="NS";m[m.OP=21]="OP";m[m.QU=22]="QU";m[m.IS=23]="IS";m[m.NU=24]="NU";m[m.PO=25]="PO";m[m.PR=26]="PR";m[m.SY=27]="SY";m[m.AI=28]="AI";m[m.AL=29]="AL";m[m.CJ=30]="CJ";m[m.EB=31]="EB";m[m.EM=32]="EM";m[m.H2=33]="H2";m[m.H3=34]="H3";m[m.HL=35]="HL";m[m.ID=36]="ID";m[m.JL=37]="JL";m[m.JV=38]="JV";m[m.JT=39]="JT";m[m.RI=40]="RI";m[m.SA=41]="SA";m[m.XX=42]="XX"})(iW||={});var sW;((U)=>{U[U.Direct=0]="Direct";U[U.Indirect=1]="Indirect";U[U.CombiningIndirect=2]="CombiningIndirect";U[U.CombiningProhibited=3]="CombiningProhibited";U[U.Prohibited=4]="Prohibited";U[U.Explicit=5]="Explicit"})(sW||={});var aW;((K)=>{K[K.NoBreak=0]="NoBreak";K[K.Optional=1]="Optional";K[K.Mandatory=2]="Mandatory"})(aW||={});function rW($){if($===10)return 2;if($===13)return 1;if($===133)return 4;if($===11||$===12)return 0;if($===8232)return 0;if($===8233)return 0;if($===8203)return 7;if($===8205)return 10;if($===8288)return 6;if($===65279)return 6;if($===32)return 9;if($===160)return 8;if($===8239)return 8;if($===8199)return 8;if($===8209)return 8;if($===9)return 12;if($>=8192&&$<=8202)return 12;if($>=768&&$<=879)return 3;if($>=1155&&$<=1161)return 3;if($>=1425&&$<=1469)return 3;if($>=1471&&$<=1479)return 3;if($>=1552&&$<=1562)return 3;if($>=1611&&$<=1631)return 3;if($>=1648&&$<=1648)return 3;if($>=1750&&$<=1773)return 3;if($>=1809&&$<=1809)return 3;if($>=1840&&$<=1866)return 3;if($>=1958&&$<=1968)return 3;if($>=2070&&$<=2083)return 3;if($>=2085&&$<=2093)return 3;if($>=2137&&$<=2139)return 3;if($>=2259&&$<=2273)return 3;if($>=2275&&$<=2307)return 3;if($>=2362&&$<=2364)return 3;if($>=2366&&$<=2383)return 3;if($>=2385&&$<=2391)return 3;if($>=2402&&$<=2403)return 3;if($>=2433&&$<=2435)return 3;if($===2492)return 3;if($>=2494&&$<=2509)return 3;if($>=2519&&$<=2519)return 3;if($>=2530&&$<=2531)return 3;if($>=2558&&$<=2558)return 3;if($>=2561&&$<=2563)return 3;if($>=2620&&$<=2641)return 3;if($>=2672&&$<=2673)return 3;if($>=2677&&$<=2677)return 3;if($>=2689&&$<=2691)return 3;if($>=2748&&$<=2765)return 3;if($>=2786&&$<=2787)return 3;if($>=2810&&$<=2815)return 3;if($>=2817&&$<=2819)return 3;if($>=2876&&$<=2903)return 3;if($>=2914&&$<=2915)return 3;if($>=2946&&$<=2946)return 3;if($>=3006&&$<=3021)return 3;if($>=3031&&$<=3031)return 3;if($>=3072&&$<=3076)return 3;if($>=3134&&$<=3158)return 3;if($>=3170&&$<=3171)return 3;if($>=3201&&$<=3203)return 3;if($>=3260&&$<=3286)return 3;if($>=3298&&$<=3299)return 3;if($>=3328&&$<=3331)return 3;if($>=3387&&$<=3405)return 3;if($>=3415&&$<=3415)return 3;if($>=3426&&$<=3427)return 3;if($>=3457&&$<=3459)return 3;if($>=3530&&$<=3571)return 3;if($>=3864&&$<=3865)return 3;if($>=3893&&$<=3897)return 3;if($>=3902&&$<=3903)return 3;if($>=3953&&$<=3972)return 3;if($>=3974&&$<=3975)return 3;if($>=3981&&$<=4028)return 3;if($===4038)return 3;if($>=5906&&$<=5908)return 3;if($>=5938&&$<=5940)return 3;if($>=5970&&$<=5971)return 3;if($>=6002&&$<=6003)return 3;if($>=6068&&$<=6099)return 3;if($===6109)return 3;if($>=6155&&$<=6157)return 3;if($===6159)return 3;if($>=6277&&$<=6278)return 3;if($===6313)return 3;if($>=6432&&$<=6459)return 3;if($>=6679&&$<=6683)return 3;if($>=6741&&$<=6783)return 3;if($>=6832&&$<=6862)return 3;if($>=6912&&$<=6916)return 3;if($>=6964&&$<=6980)return 3;if($>=7019&&$<=7027)return 3;if($>=7040&&$<=7042)return 3;if($>=7073&&$<=7085)return 3;if($>=7142&&$<=7155)return 3;if($>=7204&&$<=7223)return 3;if($>=7376&&$<=7417)return 3;if($>=7616&&$<=7679)return 3;if($>=8400&&$<=8432)return 3;if($>=11503&&$<=11505)return 3;if($===11647)return 3;if($>=11744&&$<=11775)return 3;if($>=12330&&$<=12335)return 3;if($>=12441&&$<=12442)return 3;if($>=42607&&$<=42610)return 3;if($>=42612&&$<=42621)return 3;if($>=42654&&$<=42655)return 3;if($>=42736&&$<=42737)return 3;if($>=43010&&$<=43047)return 3;if($>=43052&&$<=43052)return 3;if($>=43136&&$<=43137)return 3;if($>=43188&&$<=43205)return 3;if($>=43232&&$<=43249)return 3;if($===43263)return 3;if($>=43302&&$<=43309)return 3;if($>=43335&&$<=43347)return 3;if($>=43392&&$<=43395)return 3;if($>=43443&&$<=43469)return 3;if($===43493)return 3;if($>=43561&&$<=43574)return 3;if($>=43587&&$<=43587)return 3;if($>=43596&&$<=43597)return 3;if($>=43643&&$<=43645)return 3;if($>=43696&&$<=43714)return 3;if($>=43755&&$<=43759)return 3;if($>=43765&&$<=43766)return 3;if($>=44003&&$<=44010)return 3;if($>=44012&&$<=44013)return 3;if($===64286)return 3;if($>=65024&&$<=65039)return 3;if($>=65056&&$<=65071)return 3;if($>=66045&&$<=66045)return 3;if($>=66272&&$<=66272)return 3;if($>=66422&&$<=66426)return 3;if($>=68097&&$<=68111)return 3;if($>=68152&&$<=68159)return 3;if($>=68325&&$<=68326)return 3;if($>=68900&&$<=68903)return 3;if($>=69291&&$<=69292)return 3;if($>=69446&&$<=69456)return 3;if($>=69506&&$<=69509)return 3;if($>=69632&&$<=69634)return 3;if($>=69688&&$<=69702)return 3;if($>=69744&&$<=69744)return 3;if($>=69747&&$<=69748)return 3;if($>=69759&&$<=69762)return 3;if($>=69808&&$<=69826)return 3;if($>=69888&&$<=69890)return 3;if($>=69927&&$<=69940)return 3;if($===69957)return 3;if($===69958)return 3;if($>=70003&&$<=70003)return 3;if($>=70016&&$<=70018)return 3;if($>=70067&&$<=70080)return 3;if($>=70089&&$<=70092)return 3;if($===70094)return 3;if($===70095)return 3;if($>=70188&&$<=70199)return 3;if($===70206)return 3;if($>=70367&&$<=70378)return 3;if($>=70400&&$<=70403)return 3;if($>=70459&&$<=70460)return 3;if($>=70462&&$<=70477)return 3;if($>=70487&&$<=70487)return 3;if($>=70498&&$<=70516)return 3;if($>=70709&&$<=70726)return 3;if($===70750)return 3;if($>=70832&&$<=70851)return 3;if($>=71087&&$<=71104)return 3;if($>=71132&&$<=71133)return 3;if($>=71216&&$<=71232)return 3;if($>=71339&&$<=71351)return 3;if($>=71453&&$<=71467)return 3;if($>=71724&&$<=71738)return 3;if($>=71984&&$<=71989)return 3;if($>=71991&&$<=71992)return 3;if($>=71995&&$<=71998)return 3;if($===72000)return 3;if($>=72002&&$<=72003)return 3;if($>=72145&&$<=72151)return 3;if($>=72154&&$<=72160)return 3;if($===72164)return 3;if($>=72193&&$<=72202)return 3;if($>=72243&&$<=72249)return 3;if($>=72251&&$<=72254)return 3;if($===72263)return 3;if($>=72273&&$<=72283)return 3;if($>=72330&&$<=72345)return 3;if($>=72751&&$<=72758)return 3;if($>=72760&&$<=72767)return 3;if($>=72850&&$<=72871)return 3;if($>=72873&&$<=72886)return 3;if($>=73009&&$<=73029)return 3;if($===73031)return 3;if($>=73098&&$<=73111)return 3;if($>=73459&&$<=73462)return 3;if($>=92912&&$<=92916)return 3;if($>=92976&&$<=92982)return 3;if($===94031)return 3;if($>=94033&&$<=94087)return 3;if($>=94095&&$<=94098)return 3;if($>=94180&&$<=94180)return 3;if($>=94192&&$<=94193)return 3;if($>=113821&&$<=113822)return 3;if($>=118528&&$<=118598)return 3;if($>=119141&&$<=119145)return 3;if($>=119149&&$<=119154)return 3;if($>=119163&&$<=119170)return 3;if($>=119173&&$<=119179)return 3;if($>=119210&&$<=119213)return 3;if($>=119362&&$<=119364)return 3;if($>=121344&&$<=121398)return 3;if($>=121403&&$<=121452)return 3;if($===121461)return 3;if($===121476)return 3;if($>=121499&&$<=121519)return 3;if($>=122880&&$<=122922)return 3;if($>=123184&&$<=123190)return 3;if($>=123566&&$<=123566)return 3;if($>=123628&&$<=123631)return 3;if($>=125136&&$<=125142)return 3;if($>=125252&&$<=125258)return 3;if($>=917760&&$<=917999)return 3;if($===33)return 18;if($===63)return 18;if($===34)return 22;if($===39)return 22;if($===40)return 21;if($===41)return 17;if($===91)return 21;if($===93)return 17;if($===123)return 21;if($===125)return 16;if($===44)return 23;if($===46)return 23;if($===58)return 23;if($===59)return 23;if($===45)return 14;if($===8208)return 12;if($===8211)return 12;if($===8212)return 11;if($===8216||$===8217)return 22;if($===8220||$===8221)return 22;if($===8230)return 19;if($===12289||$===12290)return 16;if($===12296)return 21;if($===12297)return 16;if($===12298)return 21;if($===12299)return 16;if($===12300)return 21;if($===12301)return 16;if($===12302)return 21;if($===12303)return 16;if($===12304)return 21;if($===12305)return 16;if($===12308)return 21;if($===12309)return 16;if($===12310)return 21;if($===12311)return 16;if($>=12312&&$<=12315)return $%2===0?21:16;if($===65288)return 21;if($===65289)return 16;if($===65292)return 16;if($===65294)return 16;if($===65306)return 20;if($===65307)return 20;if($===65311)return 18;if($===65281)return 18;if($>=12353&&$<=12438){if($===12353||$===12355||$===12357||$===12359||$===12361||$===12387||$===12419||$===12421||$===12423||$===12430||$===12437||$===12438)return 30;return 36}if($>=12449&&$<=12538){if($===12449||$===12451||$===12453||$===12455||$===12457||$===12483||$===12515||$===12517||$===12519||$===12526||$===12533||$===12534)return 30;return 36}if($===12540)return 30;if($>=4352&&$<=4447)return 37;if($>=43360&&$<=43388)return 37;if($>=4448&&$<=4519)return 38;if($>=55216&&$<=55238)return 38;if($>=4520&&$<=4607)return 39;if($>=55243&&$<=55291)return 39;if($>=44032&&$<=55203){if(($-44032)%28===0)return 33;return 34}if($>=48&&$<=57)return 24;if($>=1632&&$<=1641)return 24;if($>=1776&&$<=1785)return 24;if($>=2406&&$<=2415)return 24;if($>=65296&&$<=65305)return 24;if($===36)return 26;if($===163)return 26;if($===165)return 26;if($===8364)return 26;if($===37)return 25;if($>=1488&&$<=1514)return 35;if($>=64285&&$<=64335)return 35;if($>=19968&&$<=40959)return 36;if($>=13312&&$<=19903)return 36;if($>=131072&&$<=173791)return 36;if($>=173824&&$<=177983)return 36;if($>=177984&&$<=178207)return 36;if($>=178208&&$<=183983)return 36;if($>=183984&&$<=191471)return 36;if($>=196608&&$<=201551)return 36;if($>=63744&&$<=64255)return 36;if($>=194560&&$<=195103)return 36;if($>=127744&&$<=129535)return 36;if($>=129536&&$<=129791)return 36;if($>=9728&&$<=9983)return 36;if($>=9984&&$<=10175)return 36;if($>=127456&&$<=127487)return 40;if($>=127995&&$<=127999)return 32;if($>=3584&&$<=3711)return 41;if($>=3712&&$<=3839)return 41;if($>=4096&&$<=4255)return 41;if($>=43488&&$<=43519)return 41;if($>=43616&&$<=43647)return 41;if($>=6016&&$<=6143)return 41;if($>=6624&&$<=6655)return 41;if($>=65&&$<=90)return 29;if($>=97&&$<=122)return 29;if($>=192&&$<=591)return 29;if($>=1536&&$<=1791)return 29;if($>=1872&&$<=1919)return 29;if($>=2208&&$<=2303)return 29;if($>=2304&&$<=2431)return 29;if($>=2432&&$<=2559)return 29;if($>=2560&&$<=2687)return 29;if($>=2688&&$<=2815)return 29;if($>=2816&&$<=2943)return 29;if($>=2944&&$<=3071)return 29;if($>=3072&&$<=3199)return 29;if($>=3200&&$<=3327)return 29;if($>=3328&&$<=3455)return 29;if($>=1024&&$<=1279)return 29;if($>=1280&&$<=1327)return 29;if($>=880&&$<=1023)return 29;return 42}function EG($,Q){if($===28)$=29;if($===41)$=29;if($===5)$=29;if($===42)$=29;if($===30)$=20;if(Q===28)Q=29;if(Q===41)Q=29;if(Q===5)Q=29;if(Q===42)Q=29;if(Q===30)Q=20;if($===0)return 5;if($===1&&Q===2)return 4;if($===1||$===2||$===4)return 5;if(Q===0||Q===1||Q===2||Q===4)return 4;if(Q===9||Q===7)return 4;if($===7)return 0;if($===10)return 4;if(Q===3||Q===10){if($!==9)return 4}let Z=$,K=Q;if($===3||$===10)Z=29;if(Q===3||Q===10)K=29;if($=Z,Q=K,$===6||Q===6)return 4;if($===8)return 4;if(Q===8){if($!==9&&$!==12&&$!==14)return 4}if(Q===16||Q===17||Q===18||Q===23||Q===27)return 4;if($===21)return 4;if($===22&&Q===21)return 4;if(($===16||$===17)&&Q===20)return 4;if($===11&&Q===11)return 4;if($===9)return 0;if($===22||Q===22)return 4;if($===15||Q===15)return 0;if(Q===12||Q===14||Q===20)return 4;if($===13)return 4;if($===27&&Q===35)return 4;if(Q===19)return 4;if(($===29||$===35)&&Q===24)return 4;if($===24&&(Q===29||Q===35))return 4;if($===26&&Q===36)return 4;if($===36&&Q===25)return 4;if(($===26||$===25)&&(Q===29||Q===35))return 4;if(($===29||$===35)&&(Q===26||Q===25))return 4;if(($===16||$===17)&&Q===24)return 4;if($===24&&(Q===25||Q===26))return 4;if(($===25||$===26||$===14||$===23||$===24||$===27)&&Q===24)return 4;if($===37){if(Q===37||Q===38||Q===33||Q===34)return 4}if($===38||$===33){if(Q===38||Q===39)return 4}if($===39||$===34){if(Q===39)return 4}if($===37||$===38||$===39||$===33||$===34){if(Q===25)return 4}if(Q===37||Q===38||Q===39||Q===33||Q===34){if($===26)return 4}if(($===29||$===35)&&(Q===29||Q===35))return 4;if($===23&&(Q===29||Q===35))return 4;if(($===29||$===35||$===24)&&Q===21)return 4;if($===17&&(Q===29||Q===35||Q===24))return 4;if($===40&&Q===40)return 4;if($===31&&Q===32)return 4;return 0}function YG($){let Q=[],Z=[...$];for(let K=0;K<Z.length;K++){let J=Z[K];Q.push(J.codePointAt(0)??0)}return wQ(Q)}function wQ($){let Q=$.length,Z=[],K=[];for(let J=0;J<$.length;J++){let q=$[J];Z.push(rW(q))}K.push(0);for(let J=1;J<Q;J++){let q=Z[J-1],U=Z[J];switch(EG(q,U)){case 5:K.push(2);break;case 0:K.push(1);break;default:K.push(0)}}return K.push(2),{breaks:K,classes:Z}}function wG($){let Q=$.map((Z)=>Z.codepoint);return wQ(Q)}function AG($,Q){for(let Z=Q+1;Z<$.breaks.length;Z++)if($.breaks[Z]!==0)return Z;return $.breaks.length-1}function FG($,Q){if(Q<0||Q>=$.breaks.length)return!1;return $.breaks[Q]!==0}function LG($,Q){if(Q<0||Q>=$.breaks.length)return!1;return $.breaks[Q]===2}function DG($){let Q=[];for(let Z=0;Z<$.breaks.length;Z++)if($.breaks[Z]!==0)Q.push(Z);return Q}var eW;((I)=>{I.Common="Zyyy";I.Inherited="Zinh";I.Unknown="Zzzz";I.Latin="Latn";I.Greek="Grek";I.Cyrillic="Cyrl";I.Armenian="Armn";I.Hebrew="Hebr";I.Arabic="Arab";I.Syriac="Syrc";I.Thaana="Thaa";I.Devanagari="Deva";I.Bengali="Beng";I.Gurmukhi="Guru";I.Gujarati="Gujr";I.Oriya="Orya";I.Tamil="Taml";I.Telugu="Telu";I.Kannada="Knda";I.Malayalam="Mlym";I.Sinhala="Sinh";I.Thai="Thai";I.Lao="Laoo";I.Tibetan="Tibt";I.Myanmar="Mymr";I.Georgian="Geor";I.Hangul="Hang";I.Ethiopic="Ethi";I.Cherokee="Cher";I.CanadianAboriginal="Cans";I.Ogham="Ogam";I.Runic="Runr";I.Khmer="Khmr";I.Mongolian="Mong";I.Hiragana="Hira";I.Katakana="Kana";I.Bopomofo="Bopo";I.Han="Hani";I.Yi="Yiii";I.OldItalic="Ital";I.Gothic="Goth";I.Deseret="Dsrt";I.Tagalog="Tglg";I.Hanunoo="Hano";I.Buhid="Buhd";I.Tagbanwa="Tagb";I.Limbu="Limb";I.TaiLe="Tale";I.LinearB="Linb";I.Ugaritic="Ugar";I.Shavian="Shaw";I.Osmanya="Osma";I.Cypriot="Cprt";I.Braille="Brai";I.Buginese="Bugi";I.Coptic="Copt";I.NewTaiLue="Talu";I.Glagolitic="Glag";I.Tifinagh="Tfng";I.SylotiNagri="Sylo";I.OldPersian="Xpeo";I.Kharoshthi="Khar";I.Balinese="Bali";I.Cuneiform="Xsux";I.Phoenician="Phnx";I.PhagsPa="Phag";I.Nko="Nkoo";I.Sundanese="Sund";I.Lepcha="Lepc";I.OlChiki="Olck";I.Vai="Vaii";I.Saurashtra="Saur";I.KayahLi="Kali";I.Rejang="Rjng";I.Lycian="Lyci";I.Carian="Cari";I.Lydian="Lydi";I.Cham="Cham";I.TaiTham="Lana";I.TaiViet="Tavt";I.Avestan="Avst";I.EgyptianHieroglyphs="Egyp";I.Samaritan="Samr";I.Lisu="Lisu";I.Bamum="Bamu";I.Javanese="Java";I.MeeteiMayek="Mtei";I.ImperialAramaic="Armi";I.OldSouthArabian="Sarb";I.InscriptionalParthian="Prti";I.InscriptionalPahlavi="Phli";I.OldTurkic="Orkh";I.Kaithi="Kthi";I.Batak="Batk";I.Brahmi="Brah";I.Mandaic="Mand";I.Chakma="Cakm";I.MeroiticCursive="Merc";I.MeroiticHieroglyphs="Mero";I.Miao="Plrd";I.Sharada="Shrd";I.SoraSompeng="Sora";I.Takri="Takr";I.CaucasianAlbanian="Aghb";I.BassaVah="Bass";I.Duployan="Dupl";I.Elbasan="Elba";I.Grantha="Gran";I.PahawhHmong="Hmng";I.Khojki="Khoj";I.LinearA="Lina";I.Mahajani="Mahj";I.Manichaean="Mani";I.MendeKikakui="Mend";I.Modi="Modi";I.Mro="Mroo";I.OldNorthArabian="Narb";I.Nabataean="Nbat";I.Palmyrene="Palm";I.PauCinHau="Pauc";I.OldPermic="Perm";I.PsalterPahlavi="Phlp";I.Siddham="Sidd";I.Khudawadi="Sind";I.Tirhuta="Tirh";I.WarangCiti="Wara";I.Ahom="Ahom";I.AnatolianHieroglyphs="Hluw";I.Hatran="Hatr";I.Multani="Mult";I.OldHungarian="Hung";I.SignWriting="Sgnw";I.Adlam="Adlm";I.Bhaiksuki="Bhks";I.Marchen="Marc";I.Newa="Newa";I.Osage="Osge";I.Tangut="Tang";I.MasaramGondi="Gonm";I.Nushu="Nshu";I.Soyombo="Soyo";I.ZanabazarSquare="Zanb";I.Dogra="Dogr";I.GunjalaGondi="Gong";I.Makasar="Maka";I.Medefaidrin="Medf";I.HanifiRohingya="Rohg";I.Sogdian="Sogd";I.OldSogdian="Sogo";I.Elymaic="Elym";I.Nandinagari="Nand";I.NyiakengPuachueHmong="Hmnp";I.Wancho="Wcho";I.Yezidi="Yezi";I.Chorasmian="Chrs";I.DivesAkuru="Diak";I.KhitanSmallScript="Kits";I.Vithkuqi="Vith";I.OldUyghur="Ougr";I.Cypro_Minoan="Cpmn";I.Tangsa="Tnsa";I.Toto="Toto";I.Kawi="Kawi";I.NagMundari="Nagm"})(eW||={});var tW=[{start:0,end:127,script:"Zyyy"},{start:128,end:255,script:"Latn"},{start:256,end:383,script:"Latn"},{start:384,end:591,script:"Latn"},{start:592,end:687,script:"Latn"},{start:688,end:767,script:"Zyyy"},{start:768,end:879,script:"Zinh"},{start:880,end:1023,script:"Grek"},{start:1024,end:1279,script:"Cyrl"},{start:1280,end:1327,script:"Cyrl"},{start:1328,end:1423,script:"Armn"},{start:1424,end:1535,script:"Hebr"},{start:1536,end:1791,script:"Arab"},{start:1792,end:1871,script:"Syrc"},{start:1872,end:1919,script:"Arab"},{start:1920,end:1983,script:"Thaa"},{start:1984,end:2047,script:"Nkoo"},{start:2048,end:2111,script:"Samr"},{start:2112,end:2143,script:"Mand"},{start:2144,end:2159,script:"Syrc"},{start:2160,end:2207,script:"Arab"},{start:2208,end:2303,script:"Arab"},{start:2304,end:2431,script:"Deva"},{start:2432,end:2559,script:"Beng"},{start:2560,end:2687,script:"Guru"},{start:2688,end:2815,script:"Gujr"},{start:2816,end:2943,script:"Orya"},{start:2944,end:3071,script:"Taml"},{start:3072,end:3199,script:"Telu"},{start:3200,end:3327,script:"Knda"},{start:3328,end:3455,script:"Mlym"},{start:3456,end:3583,script:"Sinh"},{start:3584,end:3711,script:"Thai"},{start:3712,end:3839,script:"Laoo"},{start:3840,end:4095,script:"Tibt"},{start:4096,end:4255,script:"Mymr"},{start:4256,end:4351,script:"Geor"},{start:4352,end:4607,script:"Hang"},{start:4608,end:4991,script:"Ethi"},{start:4992,end:5023,script:"Ethi"},{start:5024,end:5119,script:"Cher"},{start:5120,end:5759,script:"Cans"},{start:5760,end:5791,script:"Ogam"},{start:5792,end:5887,script:"Runr"},{start:5888,end:5919,script:"Tglg"},{start:5920,end:5951,script:"Hano"},{start:5952,end:5983,script:"Buhd"},{start:5984,end:6015,script:"Tagb"},{start:6016,end:6143,script:"Khmr"},{start:6144,end:6319,script:"Mong"},{start:6320,end:6399,script:"Cans"},{start:6400,end:6479,script:"Limb"},{start:6480,end:6527,script:"Tale"},{start:6528,end:6623,script:"Talu"},{start:6624,end:6655,script:"Khmr"},{start:6656,end:6687,script:"Bugi"},{start:6688,end:6831,script:"Lana"},{start:6832,end:6911,script:"Zinh"},{start:6912,end:7039,script:"Bali"},{start:7040,end:7103,script:"Sund"},{start:7104,end:7167,script:"Batk"},{start:7168,end:7247,script:"Lepc"},{start:7248,end:7295,script:"Olck"},{start:7296,end:7311,script:"Cyrl"},{start:7312,end:7359,script:"Geor"},{start:7360,end:7375,script:"Sund"},{start:7376,end:7423,script:"Zinh"},{start:7424,end:7551,script:"Latn"},{start:7552,end:7615,script:"Latn"},{start:7616,end:7679,script:"Zinh"},{start:7680,end:7935,script:"Latn"},{start:7936,end:8191,script:"Grek"},{start:8192,end:8303,script:"Zyyy"},{start:8304,end:8351,script:"Zyyy"},{start:8352,end:8399,script:"Zyyy"},{start:8400,end:8447,script:"Zinh"},{start:8448,end:8527,script:"Zyyy"},{start:8528,end:8591,script:"Zyyy"},{start:8592,end:8703,script:"Zyyy"},{start:8704,end:8959,script:"Zyyy"},{start:8960,end:9215,script:"Zyyy"},{start:9216,end:9279,script:"Zyyy"},{start:9280,end:9311,script:"Zyyy"},{start:9312,end:9471,script:"Zyyy"},{start:9472,end:9599,script:"Zyyy"},{start:9600,end:9631,script:"Zyyy"},{start:9632,end:9727,script:"Zyyy"},{start:9728,end:9983,script:"Zyyy"},{start:9984,end:10175,script:"Zyyy"},{start:10176,end:10223,script:"Zyyy"},{start:10224,end:10239,script:"Zyyy"},{start:10240,end:10495,script:"Brai"},{start:10496,end:10623,script:"Zyyy"},{start:10624,end:10751,script:"Zyyy"},{start:10752,end:11007,script:"Zyyy"},{start:11008,end:11263,script:"Zyyy"},{start:11264,end:11359,script:"Glag"},{start:11360,end:11391,script:"Latn"},{start:11392,end:11519,script:"Copt"},{start:11520,end:11567,script:"Geor"},{start:11568,end:11647,script:"Tfng"},{start:11648,end:11743,script:"Ethi"},{start:11744,end:11775,script:"Cyrl"},{start:11776,end:11903,script:"Zyyy"},{start:11904,end:12031,script:"Hani"},{start:12032,end:12255,script:"Hani"},{start:12272,end:12287,script:"Zyyy"},{start:12288,end:12351,script:"Zyyy"},{start:12352,end:12447,script:"Hira"},{start:12448,end:12543,script:"Kana"},{start:12544,end:12591,script:"Bopo"},{start:12592,end:12687,script:"Hang"},{start:12688,end:12703,script:"Zyyy"},{start:12704,end:12735,script:"Bopo"},{start:12736,end:12783,script:"Zyyy"},{start:12784,end:12799,script:"Kana"},{start:12800,end:13055,script:"Zyyy"},{start:13056,end:13311,script:"Zyyy"},{start:13312,end:19903,script:"Hani"},{start:19904,end:19967,script:"Zyyy"},{start:19968,end:40959,script:"Hani"},{start:40960,end:42127,script:"Yiii"},{start:42128,end:42191,script:"Yiii"},{start:42192,end:42239,script:"Lisu"},{start:42240,end:42559,script:"Vaii"},{start:42560,end:42655,script:"Cyrl"},{start:42656,end:42751,script:"Bamu"},{start:42752,end:42783,script:"Zyyy"},{start:42784,end:43007,script:"Latn"},{start:43008,end:43055,script:"Sylo"},{start:43056,end:43071,script:"Zyyy"},{start:43072,end:43135,script:"Phag"},{start:43136,end:43231,script:"Saur"},{start:43232,end:43263,script:"Deva"},{start:43264,end:43311,script:"Kali"},{start:43312,end:43359,script:"Rjng"},{start:43360,end:43391,script:"Hang"},{start:43392,end:43487,script:"Java"},{start:43488,end:43519,script:"Mymr"},{start:43520,end:43615,script:"Cham"},{start:43616,end:43647,script:"Mymr"},{start:43648,end:43743,script:"Tavt"},{start:43744,end:43775,script:"Mtei"},{start:43776,end:43823,script:"Ethi"},{start:43824,end:43887,script:"Latn"},{start:43888,end:43967,script:"Cher"},{start:43968,end:44031,script:"Mtei"},{start:44032,end:55215,script:"Hang"},{start:55216,end:55295,script:"Hang"},{start:55296,end:57343,script:"Zzzz"},{start:57344,end:63743,script:"Zzzz"},{start:63744,end:64255,script:"Hani"},{start:64256,end:64335,script:"Latn"},{start:64336,end:65023,script:"Arab"},{start:65024,end:65039,script:"Zinh"},{start:65040,end:65055,script:"Zyyy"},{start:65056,end:65071,script:"Zinh"},{start:65072,end:65103,script:"Zyyy"},{start:65104,end:65135,script:"Zyyy"},{start:65136,end:65279,script:"Arab"},{start:65280,end:65519,script:"Zyyy"},{start:65520,end:65535,script:"Zyyy"},{start:65536,end:65663,script:"Linb"},{start:65664,end:65791,script:"Linb"},{start:65792,end:65855,script:"Zyyy"},{start:65856,end:65935,script:"Grek"},{start:65936,end:65999,script:"Zyyy"},{start:66000,end:66047,script:"Zyyy"},{start:66176,end:66207,script:"Lyci"},{start:66208,end:66271,script:"Cari"},{start:66272,end:66303,script:"Zinh"},{start:66304,end:66351,script:"Ital"},{start:66352,end:66383,script:"Goth"},{start:66384,end:66431,script:"Perm"},{start:66432,end:66463,script:"Ugar"},{start:66464,end:66527,script:"Xpeo"},{start:66560,end:66639,script:"Dsrt"},{start:66640,end:66687,script:"Shaw"},{start:66688,end:66735,script:"Osma"},{start:66736,end:66815,script:"Osge"},{start:66816,end:66863,script:"Elba"},{start:66864,end:66927,script:"Aghb"},{start:66928,end:67007,script:"Vith"},{start:67072,end:67455,script:"Lina"},{start:67456,end:67519,script:"Latn"},{start:67584,end:67647,script:"Cprt"},{start:67648,end:67679,script:"Armi"},{start:67680,end:67711,script:"Palm"},{start:67712,end:67759,script:"Nbat"},{start:67808,end:67839,script:"Hatr"},{start:67840,end:67871,script:"Phnx"},{start:67872,end:67903,script:"Lydi"},{start:67968,end:67999,script:"Mero"},{start:68000,end:68095,script:"Merc"},{start:68096,end:68191,script:"Khar"},{start:68192,end:68223,script:"Sarb"},{start:68224,end:68255,script:"Narb"},{start:68288,end:68351,script:"Mani"},{start:68352,end:68415,script:"Avst"},{start:68416,end:68447,script:"Prti"},{start:68448,end:68479,script:"Phli"},{start:68480,end:68527,script:"Phlp"},{start:68608,end:68687,script:"Orkh"},{start:68736,end:68863,script:"Hung"},{start:68864,end:68927,script:"Rohg"},{start:69248,end:69311,script:"Yezi"},{start:69376,end:69423,script:"Sogo"},{start:69424,end:69487,script:"Sogd"},{start:69488,end:69551,script:"Ougr"},{start:69552,end:69599,script:"Chrs"},{start:69600,end:69631,script:"Elym"},{start:69632,end:69759,script:"Brah"},{start:69760,end:69839,script:"Kthi"},{start:69840,end:69887,script:"Sora"},{start:69888,end:69967,script:"Cakm"},{start:69968,end:70015,script:"Mahj"},{start:70016,end:70111,script:"Shrd"},{start:70112,end:70143,script:"Sinh"},{start:70144,end:70223,script:"Khoj"},{start:70272,end:70319,script:"Mult"},{start:70320,end:70399,script:"Sind"},{start:70400,end:70527,script:"Gran"},{start:70656,end:70783,script:"Newa"},{start:70784,end:70879,script:"Tirh"},{start:71040,end:71167,script:"Sidd"},{start:71168,end:71263,script:"Modi"},{start:71264,end:71295,script:"Mong"},{start:71296,end:71375,script:"Takr"},{start:71424,end:71503,script:"Ahom"},{start:71680,end:71759,script:"Dogr"},{start:71840,end:71935,script:"Wara"},{start:71936,end:72031,script:"Diak"},{start:72096,end:72191,script:"Nand"},{start:72192,end:72271,script:"Zanb"},{start:72272,end:72367,script:"Soyo"},{start:72368,end:72383,script:"Cans"},{start:72384,end:72447,script:"Pauc"},{start:72704,end:72815,script:"Bhks"},{start:72816,end:72895,script:"Marc"},{start:72960,end:73055,script:"Gonm"},{start:73056,end:73135,script:"Gong"},{start:73440,end:73471,script:"Maka"},{start:73472,end:73567,script:"Kawi"},{start:73728,end:74751,script:"Xsux"},{start:74752,end:74879,script:"Xsux"},{start:74880,end:75087,script:"Xsux"},{start:77712,end:77823,script:"Cpmn"},{start:77824,end:78895,script:"Egyp"},{start:78896,end:78943,script:"Egyp"},{start:82944,end:83583,script:"Hluw"},{start:92160,end:92735,script:"Bamu"},{start:92736,end:92783,script:"Mroo"},{start:92784,end:92879,script:"Tnsa"},{start:92880,end:92927,script:"Bass"},{start:92928,end:93071,script:"Hmng"},{start:93760,end:93855,script:"Medf"},{start:93952,end:94111,script:"Plrd"},{start:94176,end:94207,script:"Zyyy"},{start:94208,end:100351,script:"Tang"},{start:100352,end:101119,script:"Tang"},{start:101120,end:101631,script:"Kits"},{start:101632,end:101759,script:"Tang"},{start:110576,end:110591,script:"Kana"},{start:110592,end:110847,script:"Hira"},{start:110848,end:110895,script:"Hira"},{start:110896,end:110959,script:"Kana"},{start:110960,end:111359,script:"Nshu"},{start:113664,end:113823,script:"Dupl"},{start:113824,end:113839,script:"Zyyy"},{start:118528,end:118735,script:"Zyyy"},{start:118784,end:119039,script:"Zyyy"},{start:119040,end:119295,script:"Zyyy"},{start:119296,end:119375,script:"Grek"},{start:119488,end:119519,script:"Zyyy"},{start:119520,end:119551,script:"Zyyy"},{start:119552,end:119647,script:"Zyyy"},{start:119648,end:119679,script:"Zyyy"},{start:119808,end:120831,script:"Zyyy"},{start:120832,end:121519,script:"Sgnw"},{start:122624,end:122879,script:"Latn"},{start:122880,end:122927,script:"Glag"},{start:122928,end:123023,script:"Cyrl"},{start:123136,end:123215,script:"Hmnp"},{start:123536,end:123583,script:"Toto"},{start:123584,end:123647,script:"Wcho"},{start:124112,end:124159,script:"Nagm"},{start:124896,end:124927,script:"Ethi"},{start:124928,end:125151,script:"Mend"},{start:125184,end:125279,script:"Adlm"},{start:126064,end:126143,script:"Zyyy"},{start:126208,end:126287,script:"Zyyy"},{start:126464,end:126719,script:"Arab"},{start:126976,end:127023,script:"Zyyy"},{start:127024,end:127135,script:"Zyyy"},{start:127136,end:127231,script:"Zyyy"},{start:127232,end:127487,script:"Zyyy"},{start:127488,end:127743,script:"Zyyy"},{start:127744,end:128511,script:"Zyyy"},{start:128512,end:128591,script:"Zyyy"},{start:128592,end:128639,script:"Zyyy"},{start:128640,end:128767,script:"Zyyy"},{start:128768,end:128895,script:"Zyyy"},{start:128896,end:129023,script:"Zyyy"},{start:129024,end:129279,script:"Zyyy"},{start:129280,end:129535,script:"Zyyy"},{start:129536,end:129647,script:"Zyyy"},{start:129648,end:129791,script:"Zyyy"},{start:129792,end:130047,script:"Zyyy"},{start:131072,end:173791,script:"Hani"},{start:173824,end:177983,script:"Hani"},{start:177984,end:178207,script:"Hani"},{start:178208,end:183983,script:"Hani"},{start:183984,end:191471,script:"Hani"},{start:194560,end:195103,script:"Hani"},{start:196608,end:201551,script:"Hani"},{start:201552,end:205743,script:"Hani"},{start:917504,end:917631,script:"Zyyy"},{start:917760,end:917999,script:"Zinh"},{start:983040,end:1048575,script:"Zzzz"},{start:1048576,end:1114111,script:"Zzzz"}];function w0($){let Q=0,Z=tW.length-1;while(Q<=Z){let K=Q+Z>>>1,J=tW[K];if($<J.start)Z=K-1;else if($>J.end)Q=K+1;else return J.script}return"Zzzz"}function MG($){let Q=new Map,Z=[...$];for(let U=0;U<Z.length;U++){let H=Z[U].codePointAt(0)??0,_=w0(H);if(_==="Zyyy"||_==="Zinh")continue;Q.set(_,(Q.get(_)??0)+1)}if(Q.size===0)return"Zyyy";let K="Zyyy",J=0,q=[...Q];for(let U=0;U<q.length;U++){let[W,H]=q[U];if(H>J)J=H,K=W}return K}function BG($){let Q=new Set,Z=[...$];for(let K=0;K<Z.length;K++){let q=Z[K].codePointAt(0)??0,U=w0(q);Q.add(U)}return[...Q]}function RG($,Q){let Z=[...$];for(let K=0;K<Z.length;K++){let q=Z[K].codePointAt(0)??0,U=w0(q);if(U!==Q&&U!=="Zyyy"&&U!=="Zinh")return!1}return!0}function TG($){let Q=[];if($.length===0)return Q;let Z=null,K=0,J=0,q=[...$];for(let U=0;U<q.length;U++){let H=q[U].codePointAt(0)??0,_=w0(H);if(_==="Zyyy"||_==="Zinh"){if(Z!==null)_=Z}if(Z===null)Z=_,K=U;else if(_!==Z&&_!=="Zyyy"&&_!=="Zinh")Q.push({script:Z,start:K,end:U,text:q.slice(K,U).join("")}),Z=_,K=U}if(Z!==null)Q.push({script:Z,start:K,end:q.length,text:q.slice(K).join("")});return Q}function OG($){return{["Zyyy"]:"DFLT",["Zinh"]:"DFLT",["Zzzz"]:"DFLT",["Latn"]:"latn",["Grek"]:"grek",["Cyrl"]:"cyrl",["Armn"]:"armn",["Hebr"]:"hebr",["Arab"]:"arab",["Syrc"]:"syrc",["Thaa"]:"thaa",["Deva"]:"deva",["Beng"]:"beng",["Guru"]:"guru",["Gujr"]:"gujr",["Orya"]:"orya",["Taml"]:"taml",["Telu"]:"telu",["Knda"]:"knda",["Mlym"]:"mlym",["Sinh"]:"sinh",["Thai"]:"thai",["Laoo"]:"lao ",["Tibt"]:"tibt",["Mymr"]:"mymr",["Geor"]:"geor",["Hang"]:"hang",["Ethi"]:"ethi",["Cher"]:"cher",["Cans"]:"cans",["Ogam"]:"ogam",["Runr"]:"runr",["Khmr"]:"khmr",["Mong"]:"mong",["Hira"]:"kana",["Kana"]:"kana",["Bopo"]:"bopo",["Hani"]:"hani",["Yiii"]:"yi ",["Ital"]:"ital",["Goth"]:"goth",["Dsrt"]:"dsrt",["Tglg"]:"tglg",["Hano"]:"hano",["Buhd"]:"buhd",["Tagb"]:"tagb",["Limb"]:"limb",["Tale"]:"tale",["Linb"]:"linb",["Ugar"]:"ugar",["Shaw"]:"shaw",["Osma"]:"osma",["Cprt"]:"cprt",["Brai"]:"brai",["Bugi"]:"bugi",["Copt"]:"copt",["Talu"]:"talu",["Glag"]:"glag",["Tfng"]:"tfng",["Sylo"]:"sylo",["Xpeo"]:"xpeo",["Khar"]:"khar",["Bali"]:"bali",["Xsux"]:"xsux",["Phnx"]:"phnx",["Phag"]:"phag",["Nkoo"]:"nko ",["Sund"]:"sund",["Lepc"]:"lepc",["Olck"]:"olck",["Vaii"]:"vai ",["Saur"]:"saur",["Kali"]:"kali",["Rjng"]:"rjng",["Lyci"]:"lyci",["Cari"]:"cari",["Lydi"]:"lydi",["Cham"]:"cham",["Lana"]:"lana",["Tavt"]:"tavt",["Avst"]:"avst",["Egyp"]:"egyp",["Samr"]:"samr",["Lisu"]:"lisu",["Bamu"]:"bamu",["Java"]:"java",["Mtei"]:"mtei",["Armi"]:"armi",["Sarb"]:"sarb",["Prti"]:"prti",["Phli"]:"phli",["Orkh"]:"orkh",["Kthi"]:"kthi",["Batk"]:"batk",["Brah"]:"brah",["Mand"]:"mand",["Cakm"]:"cakm",["Merc"]:"merc",["Mero"]:"mero",["Plrd"]:"plrd",["Shrd"]:"shrd",["Sora"]:"sora",["Takr"]:"takr",["Aghb"]:"aghb",["Bass"]:"bass",["Dupl"]:"dupl",["Elba"]:"elba",["Gran"]:"gran",["Hmng"]:"hmng",["Khoj"]:"khoj",["Lina"]:"lina",["Mahj"]:"mahj",["Mani"]:"mani",["Mend"]:"mend",["Modi"]:"modi",["Mroo"]:"mroo",["Narb"]:"narb",["Nbat"]:"nbat",["Palm"]:"palm",["Pauc"]:"pauc",["Perm"]:"perm",["Phlp"]:"phlp",["Sidd"]:"sidd",["Sind"]:"sind",["Tirh"]:"tirh",["Wara"]:"wara",["Ahom"]:"ahom",["Hluw"]:"hluw",["Hatr"]:"hatr",["Mult"]:"mult",["Hung"]:"hung",["Sgnw"]:"sgnw",["Adlm"]:"adlm",["Bhks"]:"bhks",["Marc"]:"marc",["Newa"]:"newa",["Osge"]:"osge",["Tang"]:"tang",["Gonm"]:"gonm",["Nshu"]:"nshu",["Soyo"]:"soyo",["Zanb"]:"zanb",["Dogr"]:"dogr",["Gong"]:"gong",["Maka"]:"maka",["Medf"]:"medf",["Rohg"]:"rohg",["Sogd"]:"sogd",["Sogo"]:"sogo",["Elym"]:"elym",["Nand"]:"nand",["Hmnp"]:"hmnp",["Wcho"]:"wcho",["Yezi"]:"yezi",["Chrs"]:"chrs",["Diak"]:"diak",["Kits"]:"kits",["Vith"]:"vith",["Ougr"]:"ougr",["Cpmn"]:"cpmn",["Tnsa"]:"tnsa",["Toto"]:"toto",["Kawi"]:"kawi",["Nagm"]:"nagm"}[$]??"DFLT"}var PG=new Set(["Arab","Syrc","Hebr","Thaa","Nkoo","Deva","Beng","Guru","Gujr","Orya","Taml","Telu","Knda","Mlym","Sinh","Thai","Laoo","Tibt","Mymr","Khmr","Mong","Hang"]),vG=new Set(["Arab","Hebr","Syrc","Thaa","Nkoo","Samr","Mand","Armi","Phnx","Sarb","Narb","Avst","Prti","Phli","Phlp","Hatr","Lydi","Nbat","Palm","Mani","Mend","Rohg","Yezi","Sogo","Sogd","Elym","Chrs","Ougr","Adlm"]);function IG($){return PG.has($)}function kG($){return vG.has($)?"rtl":"ltr"}var $H;((G)=>{G[G.Other=0]="Other";G[G.CR=1]="CR";G[G.LF=2]="LF";G[G.Control=3]="Control";G[G.Extend=4]="Extend";G[G.ZWJ=5]="ZWJ";G[G.Regional_Indicator=6]="Regional_Indicator";G[G.Prepend=7]="Prepend";G[G.SpacingMark=8]="SpacingMark";G[G.L=9]="L";G[G.V=10]="V";G[G.T=11]="T";G[G.LV=12]="LV";G[G.LVT=13]="LVT";G[G.Extended_Pictographic=14]="Extended_Pictographic"})($H||={});var QH;((A)=>{A[A.Other=0]="Other";A[A.CR=1]="CR";A[A.LF=2]="LF";A[A.Newline=3]="Newline";A[A.Extend=4]="Extend";A[A.ZWJ=5]="ZWJ";A[A.Regional_Indicator=6]="Regional_Indicator";A[A.Format=7]="Format";A[A.Katakana=8]="Katakana";A[A.Hebrew_Letter=9]="Hebrew_Letter";A[A.ALetter=10]="ALetter";A[A.Single_Quote=11]="Single_Quote";A[A.Double_Quote=12]="Double_Quote";A[A.MidNumLet=13]="MidNumLet";A[A.MidLetter=14]="MidLetter";A[A.MidNum=15]="MidNum";A[A.Numeric=16]="Numeric";A[A.ExtendNumLet=17]="ExtendNumLet";A[A.WSegSpace=18]="WSegSpace";A[A.Extended_Pictographic=19]="Extended_Pictographic"})(QH||={});function AQ($){if($===13)return 1;if($===10)return 2;if($>=0&&$<=31&&$!==10&&$!==13)return 3;if($>=127&&$<=159)return 3;if($===173)return 3;if($===1564)return 3;if($===6158)return 3;if($===8203)return 3;if($>=8206&&$<=8207)return 3;if($>=8232&&$<=8238)return 3;if($>=8288&&$<=8303)return 3;if($===65279)return 3;if($>=65520&&$<=65531)return 3;if($===8205)return 5;if($>=127456&&$<=127487)return 6;if($===1536||$===1537||$===1538||$===1539||$===1540||$===1541||$===1757||$===1807||$===2192||$===2193||$===2274||$===69821||$===69837)return 7;if($>=4352&&$<=4447)return 9;if($>=43360&&$<=43388)return 9;if($>=4448&&$<=4519)return 10;if($>=55216&&$<=55238)return 10;if($>=4520&&$<=4607)return 11;if($>=55243&&$<=55291)return 11;if($>=44032&&$<=55203){if(($-44032)%28===0)return 12;return 13}if($>=127744&&$<=129535)return 14;if($>=129536&&$<=129791)return 14;if($>=9728&&$<=9983)return 14;if($>=9984&&$<=10175)return 14;if($===169||$===174)return 14;if($>=8960&&$<=9215)return 14;if($>=126976&&$<=127023)return 14;if($>=127136&&$<=127231)return 14;if($>=127232&&$<=127487)return 14;if($>=127488&&$<=127743)return 14;if($>=2307&&$<=2307)return 8;if($>=2363&&$<=2363)return 8;if($>=2366&&$<=2368)return 8;if($>=2377&&$<=2380)return 8;if($>=2382&&$<=2383)return 8;if($>=2434&&$<=2435)return 8;if($>=2494&&$<=2496)return 8;if($>=2503&&$<=2508)return 8;if($===2519)return 8;if($>=2563&&$<=2563)return 8;if($>=2622&&$<=2624)return 8;if($>=2691&&$<=2691)return 8;if($>=2750&&$<=2752)return 8;if($===2761)return 8;if($>=2763&&$<=2764)return 8;if($>=2818&&$<=2819)return 8;if($===2878)return 8;if($===2880)return 8;if($>=2887&&$<=2892)return 8;if($===2903)return 8;if($>=3006&&$<=3007)return 8;if($>=3009&&$<=3020)return 8;if($===3031)return 8;if($>=3073&&$<=3075)return 8;if($>=3137&&$<=3140)return 8;if($>=3202&&$<=3203)return 8;if($===3262)return 8;if($>=3264&&$<=3268)return 8;if($>=3271&&$<=3275)return 8;if($>=3285&&$<=3286)return 8;if($>=3330&&$<=3331)return 8;if($>=3390&&$<=3392)return 8;if($>=3398&&$<=3404)return 8;if($===3415)return 8;if($>=3458&&$<=3459)return 8;if($>=3535&&$<=3537)return 8;if($>=3544&&$<=3551)return 8;if($>=3570&&$<=3571)return 8;if($===3902||$===3903)return 8;if($===3967)return 8;if($>=4139&&$<=4140)return 8;if($===4145)return 8;if($===4152)return 8;if($>=4155&&$<=4156)return 8;if($>=4182&&$<=4183)return 8;if($===4194)return 8;if($>=4199&&$<=4200)return 8;if($>=4227&&$<=4228)return 8;if($>=4231&&$<=4236)return 8;if($===4239)return 8;if($>=4250&&$<=4252)return 8;if($>=6070&&$<=6070)return 8;if($>=6078&&$<=6085)return 8;if($>=6087&&$<=6088)return 8;if($>=6435&&$<=6438)return 8;if($>=6441&&$<=6443)return 8;if($>=6448&&$<=6449)return 8;if($>=6451&&$<=6456)return 8;if($>=768&&$<=879)return 4;if($>=1155&&$<=1161)return 4;if($>=1425&&$<=1469)return 4;if($===1471)return 4;if($>=1473&&$<=1474)return 4;if($>=1476&&$<=1477)return 4;if($===1479)return 4;if($>=1552&&$<=1562)return 4;if($>=1611&&$<=1631)return 4;if($===1648)return 4;if($>=1750&&$<=1756)return 4;if($>=1759&&$<=1764)return 4;if($>=1767&&$<=1768)return 4;if($>=1770&&$<=1773)return 4;if($===1809)return 4;if($>=1840&&$<=1866)return 4;if($>=1958&&$<=1968)return 4;if($>=2027&&$<=2035)return 4;if($===2045)return 4;if($>=2070&&$<=2073)return 4;if($>=2075&&$<=2083)return 4;if($>=2085&&$<=2087)return 4;if($>=2089&&$<=2093)return 4;if($>=2137&&$<=2139)return 4;if($>=2259&&$<=2273)return 4;if($>=2275&&$<=2306)return 4;if($===2362)return 4;if($===2364)return 4;if($>=2369&&$<=2376)return 4;if($===2381)return 4;if($>=2385&&$<=2391)return 4;if($>=2402&&$<=2403)return 4;if($===2433)return 4;if($===2492)return 4;if($>=2497&&$<=2500)return 4;if($===2509)return 4;if($>=2530&&$<=2531)return 4;if($===2558)return 4;if($>=2561&&$<=2562)return 4;if($===2620)return 4;if($>=2625&&$<=2626)return 4;if($>=2631&&$<=2632)return 4;if($>=2635&&$<=2637)return 4;if($===2641)return 4;if($>=2672&&$<=2673)return 4;if($===2677)return 4;if($>=2689&&$<=2690)return 4;if($===2748)return 4;if($>=2753&&$<=2757)return 4;if($>=2759&&$<=2760)return 4;if($===2765)return 4;if($>=2786&&$<=2787)return 4;if($>=2810&&$<=2815)return 4;if($===2817)return 4;if($===2876)return 4;if($===2879)return 4;if($>=2881&&$<=2884)return 4;if($===2893)return 4;if($>=2901&&$<=2902)return 4;if($>=2914&&$<=2915)return 4;if($===2946)return 4;if($===3008)return 4;if($===3021)return 4;if($===3072)return 4;if($===3076)return 4;if($>=3134&&$<=3136)return 4;if($>=3142&&$<=3144)return 4;if($>=3146&&$<=3149)return 4;if($>=3157&&$<=3158)return 4;if($>=3170&&$<=3171)return 4;if($===3201)return 4;if($===3260)return 4;if($===3263)return 4;if($===3270)return 4;if($>=3276&&$<=3277)return 4;if($>=3298&&$<=3299)return 4;if($>=3328&&$<=3329)return 4;if($>=3387&&$<=3388)return 4;if($>=3393&&$<=3396)return 4;if($===3405)return 4;if($>=3426&&$<=3427)return 4;if($===3457)return 4;if($===3530)return 4;if($>=3538&&$<=3540)return 4;if($===3542)return 4;if($===3633)return 4;if($>=3636&&$<=3642)return 4;if($>=3655&&$<=3662)return 4;if($===3761)return 4;if($>=3764&&$<=3772)return 4;if($>=3784&&$<=3789)return 4;if($>=3864&&$<=3865)return 4;if($===3893)return 4;if($===3895)return 4;if($===3897)return 4;if($>=3953&&$<=3966)return 4;if($>=3968&&$<=3972)return 4;if($>=3974&&$<=3975)return 4;if($>=3981&&$<=3991)return 4;if($>=3993&&$<=4028)return 4;if($===4038)return 4;if($>=4141&&$<=4144)return 4;if($>=4146&&$<=4151)return 4;if($>=4153&&$<=4154)return 4;if($>=4157&&$<=4158)return 4;if($>=4184&&$<=4185)return 4;if($>=4190&&$<=4192)return 4;if($>=4209&&$<=4212)return 4;if($===4226)return 4;if($>=4229&&$<=4230)return 4;if($===4237)return 4;if($===4253)return 4;if($>=4957&&$<=4959)return 4;if($>=5906&&$<=5908)return 4;if($>=5938&&$<=5940)return 4;if($>=5970&&$<=5971)return 4;if($>=6002&&$<=6003)return 4;if($>=6068&&$<=6069)return 4;if($>=6071&&$<=6077)return 4;if($===6086)return 4;if($>=6089&&$<=6099)return 4;if($===6109)return 4;if($>=6155&&$<=6157)return 4;if($===6159)return 4;if($>=6277&&$<=6278)return 4;if($===6313)return 4;if($>=6432&&$<=6434)return 4;if($>=6439&&$<=6440)return 4;if($===6450)return 4;if($>=6457&&$<=6459)return 4;if($>=6679&&$<=6680)return 4;if($===6683)return 4;if($===6742)return 4;if($>=6744&&$<=6750)return 4;if($===6752)return 4;if($===6754)return 4;if($>=6757&&$<=6764)return 4;if($>=6771&&$<=6780)return 4;if($===6783)return 4;if($>=6832&&$<=6862)return 4;if($>=6912&&$<=6915)return 4;if($===6964)return 4;if($>=6966&&$<=6970)return 4;if($===6972)return 4;if($===6978)return 4;if($>=7019&&$<=7027)return 4;if($>=7040&&$<=7041)return 4;if($>=7074&&$<=7077)return 4;if($>=7080&&$<=7081)return 4;if($>=7083&&$<=7085)return 4;if($===7142)return 4;if($>=7144&&$<=7145)return 4;if($===7149)return 4;if($>=7151&&$<=7153)return 4;if($>=7212&&$<=7219)return 4;if($>=7222&&$<=7223)return 4;if($>=7376&&$<=7378)return 4;if($>=7380&&$<=7392)return 4;if($>=7394&&$<=7400)return 4;if($===7405)return 4;if($===7412)return 4;if($>=7416&&$<=7417)return 4;if($>=7616&&$<=7679)return 4;if($>=8400&&$<=8432)return 4;if($>=11503&&$<=11505)return 4;if($===11647)return 4;if($>=11744&&$<=11775)return 4;if($>=12330&&$<=12335)return 4;if($>=12441&&$<=12442)return 4;if($>=42607&&$<=42610)return 4;if($>=42612&&$<=42621)return 4;if($>=42654&&$<=42655)return 4;if($>=42736&&$<=42737)return 4;if($===43010)return 4;if($===43014)return 4;if($===43019)return 4;if($>=43045&&$<=43046)return 4;if($===43052)return 4;if($>=43204&&$<=43205)return 4;if($>=43232&&$<=43249)return 4;if($===43263)return 4;if($>=43302&&$<=43309)return 4;if($>=43335&&$<=43345)return 4;if($>=43392&&$<=43394)return 4;if($===43443)return 4;if($>=43446&&$<=43449)return 4;if($>=43452&&$<=43453)return 4;if($===43493)return 4;if($>=43561&&$<=43566)return 4;if($>=43569&&$<=43570)return 4;if($>=43573&&$<=43574)return 4;if($===43587)return 4;if($===43596)return 4;if($===43644)return 4;if($===43696)return 4;if($>=43698&&$<=43700)return 4;if($>=43703&&$<=43704)return 4;if($>=43710&&$<=43711)return 4;if($===43713)return 4;if($>=43756&&$<=43757)return 4;if($===43766)return 4;if($===44005)return 4;if($===44008)return 4;if($===44013)return 4;if($===64286)return 4;if($>=65024&&$<=65039)return 4;if($>=65056&&$<=65071)return 4;if($>=127995&&$<=127999)return 4;if($>=917760&&$<=917999)return 4;return 0}function ZH($){if($===13)return 1;if($===10)return 2;if($===11||$===12||$===133||$===8232||$===8233)return 3;if($===8205)return 5;if($===173)return 7;if($===1564)return 7;if($===8203)return 7;if($>=8206&&$<=8207)return 7;if($>=8288&&$<=8303)return 7;if($===65279)return 7;if($>=127456&&$<=127487)return 6;if($>=127744&&$<=129535)return 19;if($>=129536&&$<=129791)return 19;if($>=9728&&$<=9983)return 19;if($>=9984&&$<=10175)return 19;if($>=1488&&$<=1514)return 9;if($>=64285&&$<=64335)return 9;if($>=12448&&$<=12543)return 8;if($===12337||$===12338||$===12339||$===12340||$===12341)return 8;if($===12443||$===12444)return 8;if($>=12784&&$<=12799)return 8;if($>=13008&&$<=13054)return 8;if($>=13056&&$<=13143)return 8;if($>=65382&&$<=65437)return 8;if($===39)return 11;if($===34)return 12;if($===46)return 13;if($===8216||$===8217)return 13;if($===8228)return 13;if($===65106)return 13;if($===65287)return 13;if($===65294)return 13;if($===58)return 14;if($===183)return 14;if($===903)return 14;if($===1524)return 14;if($===8231)return 14;if($===65043)return 14;if($===65109)return 14;if($===65306)return 14;if($===44)return 15;if($===59)return 15;if($===894)return 15;if($===1417)return 15;if($===1548||$===1549)return 15;if($===1644)return 15;if($===2040)return 15;if($===8260)return 15;if($===65040)return 15;if($===65044)return 15;if($===65104)return 15;if($===65108)return 15;if($===65292)return 15;if($===65307)return 15;if($>=48&&$<=57)return 16;if($>=1632&&$<=1641)return 16;if($>=1776&&$<=1785)return 16;if($>=1984&&$<=1993)return 16;if($>=2406&&$<=2415)return 16;if($>=2534&&$<=2543)return 16;if($>=2662&&$<=2671)return 16;if($>=2790&&$<=2799)return 16;if($>=2918&&$<=2927)return 16;if($>=3046&&$<=3055)return 16;if($>=3174&&$<=3183)return 16;if($>=3302&&$<=3311)return 16;if($>=3430&&$<=3439)return 16;if($>=3558&&$<=3567)return 16;if($>=3664&&$<=3673)return 16;if($>=3792&&$<=3801)return 16;if($>=3872&&$<=3881)return 16;if($>=4160&&$<=4169)return 16;if($>=4240&&$<=4249)return 16;if($>=6112&&$<=6121)return 16;if($>=6160&&$<=6169)return 16;if($>=6470&&$<=6479)return 16;if($>=6608&&$<=6617)return 16;if($>=6784&&$<=6793)return 16;if($>=6800&&$<=6809)return 16;if($>=6992&&$<=7001)return 16;if($>=7088&&$<=7097)return 16;if($>=7232&&$<=7241)return 16;if($>=7248&&$<=7257)return 16;if($>=42528&&$<=42537)return 16;if($>=43216&&$<=43225)return 16;if($>=43264&&$<=43273)return 16;if($>=43472&&$<=43481)return 16;if($>=43504&&$<=43513)return 16;if($>=43600&&$<=43609)return 16;if($>=44016&&$<=44025)return 16;if($>=65296&&$<=65305)return 16;if($===95)return 17;if($===8239)return 17;if($===8256)return 17;if($===8276)return 17;if($===65075||$===65076)return 17;if($>=65101&&$<=65103)return 17;if($===65343)return 17;if($===32)return 18;if($===5760)return 18;if($>=8192&&$<=8202&&$!==8199)return 18;if($===8287)return 18;if($===12288)return 18;if(AQ($)===4)return 4;if($>=65&&$<=90)return 10;if($>=97&&$<=122)return 10;if($>=192&&$<=214)return 10;if($>=216&&$<=246)return 10;if($>=248&&$<=591)return 10;if($>=592&&$<=687)return 10;if($>=880&&$<=1023)return 10;if($>=1024&&$<=1279)return 10;if($>=1280&&$<=1327)return 10;if($>=1329&&$<=1366)return 10;if($>=1376&&$<=1416)return 10;if($>=1536&&$<=1791)return 10;if($>=2304&&$<=2431)return 10;if($>=2432&&$<=2559)return 10;if($>=2560&&$<=2687)return 10;if($>=2688&&$<=2815)return 10;if($>=2816&&$<=2943)return 10;if($>=2944&&$<=3071)return 10;if($>=3072&&$<=3199)return 10;if($>=3200&&$<=3327)return 10;if($>=3328&&$<=3455)return 10;if($>=3584&&$<=3711)return 10;if($>=3712&&$<=3839)return 10;if($>=4096&&$<=4255)return 10;if($>=4256&&$<=4351)return 10;if($>=4352&&$<=4607)return 10;if($>=6016&&$<=6143)return 10;if($>=12352&&$<=12447)return 10;if($>=7936&&$<=8191)return 10;if($>=11264&&$<=11359)return 10;if($>=40960&&$<=42127)return 10;if($>=42192&&$<=42239)return 10;if($>=42240&&$<=42559)return 10;if($>=42560&&$<=42655)return 10;if($>=42784&&$<=43007)return 10;if($>=43776&&$<=43887)return 10;if($>=44032&&$<=55215)return 10;if($>=64256&&$<=64262)return 10;if($>=65313&&$<=65338)return 10;if($>=65345&&$<=65370)return 10;return 0}function FQ($){let Q=$.length,Z=[],K=[];for(let U=0;U<$.length;U++){let W=$[U];Z.push(AQ(W))}if(Q===0)return{boundaries:K,properties:Z};let J=0,q=!1;for(let U=1;U<Q;U++){let W=Z[U-1],H=Z[U],_=!0;if(W===1&&H===2)_=!1;else if(W===3||W===1||W===2)_=!0;else if(H===3||H===1||H===2)_=!0;else if(W===9&&(H===9||H===10||H===12||H===13))_=!1;else if((W===12||W===10)&&(H===10||H===11))_=!1;else if((W===13||W===11)&&H===11)_=!1;else if(H===4||H===5)_=!1;else if(H===8)_=!1;else if(W===7)_=!1;else if(q&&W===5&&H===14)_=!1;else if(W===6&&H===6){if(J%2===1)_=!1}if(H===14)q=!0;else if(H!==4&&H!==5)q=!1;if(H===6)J++;else J=0;if(_)K.push(U)}return K.push(Q),{boundaries:K,properties:Z}}function KH($){let Q=$.length,Z=[],K=[];for(let q=0;q<$.length;q++){let U=$[q];Z.push(ZH(U))}if(Q===0)return{boundaries:K,properties:Z};K.push(0);let J=0;for(let q=1;q<Q;q++){let U=Z[q-1],W=Z[q],H=!0;if(U===1&&W===2)H=!1;else if(U===3||U===1||U===2)H=!0;else if(W===3||W===1||W===2)H=!0;else if(U===5&&W===19)H=!1;else if(U===18&&W===18)H=!1;else if(W===7||W===4||W===5)H=!1;else if((U===10||U===9)&&(W===10||W===9))H=!1;else if((U===10||U===9)&&(W===14||W===13||W===11)){if(q+1<Q){let _=Z[q+1];if(_===10||_===9)H=!1}}else if(U===16&&W===16)H=!1;else if((U===10||U===9)&&W===16)H=!1;else if(U===16&&(W===10||W===9))H=!1;else if(U===16&&(W===15||W===13||W===11)){if(q+1<Q&&Z[q+1]===16)H=!1}else if(U===8&&W===8)H=!1;else if((U===10||U===9||U===16||U===8||U===17)&&W===17)H=!1;else if(U===17&&(W===10||W===9||W===16||W===8))H=!1;else if(U===6&&W===6){if(J%2===1)H=!1}if(W===6)J++;else J=0;if(H)K.push(q)}return K.push(Q),{boundaries:K,properties:Z}}function CG($){let Q=[],Z=[...$];for(let U=0;U<Z.length;U++){let W=Z[U];Q.push(W.codePointAt(0)??0)}let{boundaries:K}=FQ(Q),J=[],q=0;for(let U=0;U<K.length;U++){let W=K[U];if(W>q)J.push(Z.slice(q,W).join(""));q=W}return J}function SG($){let Q=[],Z=[...$];for(let U=0;U<Z.length;U++){let W=Z[U];Q.push(W.codePointAt(0)??0)}let{boundaries:K,properties:J}=KH(Q),q=[];for(let U=0;U<K.length-1;U++){let W=K[U],H=K[U+1],_=!1;for(let N=W;N<H;N++){let V=J[N];if(V!==18&&V!==1&&V!==2&&V!==3){_=!0;break}}if(_)q.push(Z.slice(W,H).join(""))}return q}function hG($){let Q=[],Z=[...$];for(let J=0;J<Z.length;J++){let q=Z[J];Q.push(q.codePointAt(0)??0)}let{boundaries:K}=FQ(Q);return K.length}export{uj as verticalLayoutFeatures,QW as verticalKanaAlternates,eU as verticalForms,$W as verticalAlternatesRotation,sH as vectorLength,Q4 as validateOutline,Nz as useTypoMetrics,pH as upscale,BH as updateMinTransformedX,a6 as truncPixel,RH as translateOutline,a8 as translate2D,$6 as transformPoint3x3,Q6 as transformPoint2D,y9 as transformOutline3D,O6 as transformOutline2D,w8 as transformBitmap3D,r6 as transformBitmap2D,rj as traditionalForms,pj as thirdWidthForms,S9 as tagToString,k as tag,vj as tabularFigures,Mj as swash,Sj as superscript,U4 as subtractBitmap,hj as subscript,l0 as subBitmaps,Ej as stylisticSets,sU as stylisticSet,Dj as stylisticAlternates,H_ as strokeUniform,q9 as strokePath,r9 as strokeAsymmetricCombined,f8 as strokeAsymmetric,wj as standardLigatures,SG as splitWords,CG as splitGraphemes,rU as smallCaps,Cj as slashedZero,aj as simplifiedForms,g4 as signedDistanceToQuadratic,y4 as signedDistanceToLine,u4 as signedDistanceToCubic,tH as sign,mN as shouldGridFit,uN as shouldDoGray,f9 as shiftBitmap,K9 as shearBitmapY,Z9 as shearBitmapX,C8 as shear2D,e7 as shapedTextToSVGWithVariation,r7 as shapedTextToSVG,kW as shapeInto,LX as shape,k0 as setSize,s8 as setCodeRange,yj as scientificInferiors,MH as scaleOutlinePow2,TH as scaleOutline,I8 as scale2D,C9 as runProgram,O0 as runGlyphProgram,R0 as runFontProgram,T0 as runCVTProgram,xj as ruby,d5 as roundUpToGrid,x5 as roundToHalfGrid,K8 as roundToGrid,f5 as roundToDoubleGrid,c5 as roundSuper45,p5 as roundSuper,lH as roundPixel,n5 as roundOff,l5 as roundDownToGrid,j8 as round,DH as rotateOutline90,OH as rotateOutline,k8 as rotate2D,TU as resolveDupeGlyph,$9 as resizeBitmapBilinear,g8 as resizeBitmap,j5 as reorderMarks,pW as reorderGlyphs,t7 as renderShapedTextWithVariation,a7 as renderShapedText,m8 as renderSdf,u8 as renderMsdf,BK as rasterizeText,J9 as rasterizePathWithGradient,t6 as rasterizePath,tz as rasterizeLcd,MK as rasterizeGlyphWithTransform,c9 as rasterizeGlyph,nj as quarterWidthForms,dj as proportionalWidthForms,Pj as proportionalFigures,y5 as processRearrangement,g5 as processLigature,m5 as processInsertion,b5 as processContextual,GG as processBidi,cK as pipe,Bj as petiteCaps,A$ as perspectiveMatrix,QK as pathToSVGWithMatrix3D,$K as pathToSVGWithMatrix,E8 as pathToSVG,u0 as pathToCanvasWithMatrix3D,m0 as pathToCanvasWithMatrix,t8 as pathToCanvas,z_ as path,v9 as parseSuperRound,K0 as parseScriptList,D1 as parsePrep,y1 as parsePost,h1 as parseOs2,S1 as parseName,I1 as parseMath,oN as parseLookupHeaders,B1 as parseJstf,H1 as parseGasp,L1 as parseFpgm,g1 as parseFontDirectory,J0 as parseFeatureList,W1 as parseFeat,M1 as parseCvt,U1 as parseCpal,s as parseCoverageAt,cq as parseCoverage,q1 as parseColr,B6 as parseClassDefAt,nq as parseClassDef,Z1 as parseCff2,$1 as parseCff,e$ as parseBase,Q9 as padBitmap,kj as ordinals,gN as openTypeTagToAat,Tj as oldstyleFigures,U9 as obliquePath,aH as normalizeVector,f$ as normalizeAxisValue,zj as normalize,LG as mustBreakAt,h9 as multiply3x3,S8 as multiply2D,oH as mulFix,M$ as mulDiv,O$ as mulBitmaps,xK as msdfAtlasToRGBA,uK as msdfAtlasToRGB,h4 as median,I$ as measureRasterGlyph,v$ as maxBitmaps,ZK as matrixToSVGTransform,Oz as matchAxisValue,v0 as loadFontProgram,I0 as loadCVTProgram,Oj as liningFigures,Zj as lcdToRGBA,mj as kerning,oz as justifyParagraph,fU as justify,ij as jis90Forms,oj as jis83Forms,cj as jis78Forms,sj as jis2004Forms,PH as italicizeOutline,oq as isVariationIndexTable,m1 as isTrueType,RG as isScript,zG as isRTL,Rz as isOlderSiblingFont,jz as isMonospaced,jG as isLTR,Hz as isItalic,yV as isExtendedShape,CN as isExclusiveFeature,Bz as isElidableAxisValue,IG as isComplexScript,RN as isColrV1,wz as isCFF,_z as isBold,d0 as interpolateGradient,Y$ as identity3x3,v6 as identity2D,JK as hypot,Fj as historicalLigatures,B7 as hintedToPixels,C0 as hintGlyph,hz as hasVertOriginY,Pz as hasSvgGlyph,yN as hasSettingValue,GH as hasGlyphOutline,Yz as hasGlyphBitmap,AN as hasColorGlyph,s_ as hasColorBitmap,fj as halfWidthForms,V_ as glyphVar,IH as glyphToSVG,kH as glyphBufferToShapedGlyphs,__ as glyph,rV as getXHeightDelta,ZH as getWordBreakProperty,uz as getVorgDelta,NG as getVisualOrder,bV as getVerticalVariants,Cz as getVerticalMetrics,mV as getVerticalAssembly,Sz as getVertOriginY,qz as getVersion,gz as getTsbDelta,CU as getTrackingValue,hV as getTopAccentAttachment,CH as getTextWidth,vz as getSvgGlyphIds,vU as getSvgDocument,iz as getSubstitutedLookups,RU as getStrikeForPpem,O1 as getShrinkageMods,hN as getSettingByValue,BG as getScripts,OG as getScriptTag,TG as getScriptRuns,kG as getScriptDirection,w0 as getScript,Gz as getSbixGlyphBitmap,Jz as getPostScriptName,U8 as getPathBounds,G5 as getOrCreateShapePlan,O8 as getNameById,cW as getMirror,n_ as getMinMaxExtent,_0 as getMetricDelta,J5 as getMarkAttachmentType,rW as getLineBreakClass,TN as getLayerPaint,RV as getKerxValue,v1 as getKernValue,T1 as getJstfPriorities,SV as getItalicsCorrection,gV as getHorizontalVariants,uV as getHorizontalAssembly,aV as getHDescenderDelta,sV as getHAscenderDelta,AQ as getGraphemeBreakProperty,IK as getGlyphUV,g9 as getGlyphPathWithVariation,h6 as getGlyphPath,zz as getGlyphName,b0 as getGlyphLocation,XH as getGlyphDelta,_1 as getGaspBehavior,Kz as getFullName,Zz as getFontSubfamily,Qz as getFontFamily,Z4 as getFillRuleFromFlags,q5 as getFeature,P1 as getExtensionMods,R1 as getExtenderGlyphs,zK as getExactBounds,nW as getEmbeddings,Vz as getEmbeddingPermission,iq as getDeviceDelta,SN as getDefaultSetting,d_ as getDefaultBaseline,N8 as getCombiningClass,MN as getColorVariationDelta,Tq as getColorPaint,Rq as getColorLayers,a_ as getColorBitmapSizes,ON as getColor,DN as getClipBox,VG as getCharType,$N as getCffString,ZN as getCffGlyphWidth,tV as getCapHeightDelta,mz as getBsbDelta,o_ as getBitmapGlyph,l_ as getBaselineForScript,Dz as getAxisValuesForAxis,Tz as getAxisValueNumber,Fz as getAxisRecord,Lz as getAxisIndex,Ez as getAvailablePpemSizes,kN as getAllFeatures,DG as getAllBreakOpportunities,d$ as getAdvanceWidthDelta,bz as getAdvanceHeightDelta,IN as getAatFeature,c6 as gaussianBlur,lj as fullWidthForms,Ij as fractions,h8 as fracPixel,dH as floorPixel,fH as floatToPixel,uH as floatToF26Dot6,W4 as fixOutlineBitmap,NK as fixOutline,KH as findWordBoundaries,q0 as findScript,AG as findNextBreak,N0 as findMatchingFeatureVariation,N1 as findLangSys,FQ as findGraphemeBoundaries,Mz as findAxisValueByNameId,tj as features,ZW as feature,s9 as fastGaussianBlur,xH as f26Dot6ToFloat,K4 as expandToFit,k$ as expandRasterMetrics,G$ as executeFontProgram,Q1 as executeCffCharString,Z5 as executeCff2CharString,X$ as execute,lU as evaluateConditionSet,H9 as emboldenPath,l9 as emboldenBitmapWithBearing,b8 as emboldenBitmap,cH as downscale,iH as divFix,Aj as discretionaryLigatures,MG as detectScript,XG as detectDirection,Y8 as decomposePath,X5 as decompose,ZX as createShapePlan,D$ as createPath2D,sN as createLookupDigest,P0 as createHintingEngine,n0 as createGradientBitmap,Z8 as createGlyphZone,h$ as createGaussianKernel,E_ as createFace,M0 as createExecContext,u5 as createDefaultGraphicsState,a as createBitmap,hG as countGraphemes,U6 as copyBitmap,W8 as convertBitmap,L$ as contourToPath,Lj as contextualAlternates,W9 as condensePath,g0 as computeTightBounds,w$ as computeControlBox,P$ as compositeBitmaps,J8 as compensate,b9 as combinePaths,ej as combineFeatures,X_ as combine,PN as colorToRgba,vN as colorToHex,r8 as clonePath,R$ as clearBitmap,rH as clamp,Yj as characterVariants,aU as characterVariant,N_ as char,nH as ceilPixel,bj as caseSensitiveForms,x8 as cascadeBlur,tU as capsToSmallCaps,gj as capitalSpacing,FG as canBreakAt,zN as calculateVariationDelta,y0 as calculateTupleScalar,z5 as calculateLineWidth,OK as buildStringAtlas,mK as buildMsdfStringAtlas,a0 as buildMsdfAtlas,gK as buildMsdfAsciiAtlas,s0 as buildAtlas,TK as buildAsciiAtlas,cz as breakIntoLines,A8 as boxBlur,jK as blurBitmap,f0 as blendBitmap,o9 as bitmapToRGBA,i9 as bitmapToGray,j_ as bitmap,PK as atlasToRGBA,vK as atlasToAlpha,bK as assignEdgeColors,kz as applyTracking,C1 as applyNonContextual,oW as applyMirroring,SH as applyMatrixToContext,sz as applyFeatureVariations,l1 as applyFallbackMarkPositioning,d1 as applyFallbackKerning,nN as applyDeviceAdjustment,xJ as applyAvarMapping,x$ as applyAvar,wQ as analyzeLineBreaksFromCodepoints,wG as analyzeLineBreaksForGlyphs,YG as analyzeLineBreaks,Rj as allSmallCaps,T$ as addBitmaps,a9 as adaptiveBlur,f6 as abs,bN as aatToOpenTypeTag,QH as WordBreakProperty,eV as WindowsEncodingId,Wz as WidthClass,Uz as WeightClass,Iq as VerticalPositionSetting,mq as UpperCaseSetting,O7 as UnicodeBuffer,i8 as TouchFlag,p as Tags,yq as StylisticAlternativesSetting,uq as SmartSwashSetting,V6 as SetDigest,eW as Script,b1 as SbixGraphicType,o8 as RoundMode,o6 as Reader,w9 as PlatformId,D6 as PixelMode,J6 as PathBuilder,Oq as PaletteType,Dq as PaintFormat,hH as PIXEL_MASK,W6 as PIXEL_BITS,_K as OutlineError,M as Opcode,Z6 as ONE_PIXEL,Cq as NumberSpacingSetting,kq as NumberCaseSetting,iU as NormalizationMode,T8 as NameId,H0 as MvarTags,k1 as MorxSubtableType,gq as LowerCaseSetting,y6 as LookupFlag,iW as LineBreakClass,vq as LigatureSetting,nU as LcdMode,az as LCD_FILTER_LIGHT,rz as LCD_FILTER_LEGACY,dU as LCD_FILTER_DEFAULT,xU as JustifyMode,GV as JstfPriority,$H as GraphemeBreakProperty,h0 as GlyphClass,v8 as GlyphBuffer,Z0 as GaspFlag,H5 as FsType,_5 as FsSelection,Sq as FractionsSetting,A9 as Font,q8 as FillRule,Pq as FeatureType,I2 as FeatureTags,lq as FeatureFlags,l8 as Face,yH as F26DOT6_SHIFT,bH as F26DOT6_ONE,gH as F16DOT16_SHIFT,mH as F16DOT16_ONE,Mq as Extend,dq as EMPTY_CLASS_DEF,S0 as Direction,xq as DiacriticsSetting,X9 as Coverage,bq as ContextualAlternativesSetting,Bq as CompositeMode,P9 as CodeRange,R7 as ClusterLevel,M8 as ClassDef,fq as CharacterShapeSetting,p_ as CbdtImageFormat,hq as CaseSensitiveLayoutSetting,T7 as BufferFlags,aW as BreakOpportunity,sW as BreakAction,i as BitmapBuilder,c8 as BidiType,u_ as BaselineTag,u1 as AxisValueFlags,sK as $translate,RJ as $transformGlyph3D,BJ as $transformGlyph2D,MJ as $transformBitmap3D,DJ as $transformBitmap2D,gJ as $toSVG,yJ as $toRGBA,bJ as $toGray,qJ as $strokePath,_J as $strokeAsymmetricCombined,HJ as $strokeAsymmetric,IJ as $shift,vJ as $shearGlyphY,PJ as $shearGlyphX,OJ as $shearBitmapY,TJ as $shearBitmapX,tK as $shear,iK as $scale,rK as $rotateDeg,aK as $rotate,CJ as $resizeBilinear,kJ as $resize,jJ as $renderSdf,XJ as $renderMsdf,zJ as $rasterizeWithGradient,VJ as $rasterizeAuto,NJ as $rasterize,QJ as $perspective,SJ as $pad,JJ as $obliquePath,$J as $matrix,eK as $italic,oK as $fromGlyph,AJ as $fastBlur,ZJ as $emboldenPath,LJ as $emboldenGlyph,FJ as $embolden,mJ as $copy,hJ as $convert,KJ as $condensePath,WJ as $combinePaths,UJ as $clone,YJ as $cascadeBlur,EJ as $boxBlur,GJ as $blur,wJ as $adaptiveBlur};
|