@getv.design/embed 0.5.5 → 0.6.1
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/LICENSE +1 -1
- package/README.md +3 -3
- package/THIRD_PARTY_NOTICES.txt +41 -2
- package/dist/auto.js +2 -2
- package/dist/chunks/{chunk-565P424V.js → chunk-DXK755VP.js} +1 -1
- package/dist/chunks/{chunk-2ZC4KNI4.js → chunk-ER6HNUNJ.js} +2 -2
- package/dist/chunks/{chunk-NMTM7OEB.js → chunk-FM6ZYYTD.js} +2 -2
- package/dist/chunks/{chunk-JOUOURQK.js → chunk-HHLJB4PE.js} +2 -2
- package/dist/chunks/chunk-JAYW4VNL.js +10 -0
- package/dist/chunks/chunk-KF7NJEZQ.js +2 -0
- package/dist/chunks/fonts.js +2 -2
- package/dist/cli.js +19 -19
- package/dist/edit.js +257 -37
- package/dist/index.js +2 -2
- package/dist/markdown-it.js +2 -2
- package/dist/markdown.js +2 -2
- package/dist/marked.js +2 -2
- package/dist/rehype.js +2 -2
- package/dist/static.js +2 -2
- package/dist/view.js +3 -3
- package/edit.css +209 -1
- package/package.json +2 -2
- package/dist/chunks/chunk-5XTOQNJT.js +0 -10
- package/dist/chunks/chunk-OJEQYRTB.js +0 -2
package/dist/cli.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
/*! @getv.design/embed v0.
|
|
3
|
-
var mh=Object.create;var io=Object.defineProperty;var gh=Object.getOwnPropertyDescriptor;var bh=Object.getOwnPropertyNames;var xh=Object.getPrototypeOf,yh=Object.prototype.hasOwnProperty;var U=(n,e,t)=>()=>{if(t)throw t[0];try{return n&&(e=n(n=0)),e}catch(r){throw t=[r],r}};var Ee=(n,e)=>()=>{try{return e||n((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},vh=(n,e)=>{for(var t in e)io(n,t,{get:e[t],enumerable:!0})},wh=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of bh(e))!yh.call(n,s)&&s!==t&&io(n,s,{get:()=>e[s],enumerable:!(r=gh(e,s))||r.enumerable});return n};var Nt=(n,e,t)=>(t=n!=null?mh(xh(n)):{},wh(e||!n||!n.__esModule?io(t,"default",{value:n,enumerable:!0}):t,n));function en(n){return{expr:n}}function it(n){return typeof n=="object"&&n!==null&&typeof n.expr=="string"}var Tn=U(()=>{"use strict"});function us(n){return Au.includes(n)}function Ie(n){return us(n.type)}function gr(n){return n.type==="group"}function Xe(n){return Ie(n)?n.children:[]}function ls(n){return Ou[n.type]}function Te(n,e,t){if(e(n,t)!==!1&&Ie(n))for(let r of n.children)Te(r,e,n)}function ut(n,e){let t;return Te(n,r=>{if(t)return!1;r.id===e&&(t=r)}),t}var ss,hr,pr,mr,is,os,as,Au,Ou,Ye=U(()=>{"use strict";ss=["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],hr=["left","center","right","justify"],pr=["top","middle","bottom"],mr=["cover","contain","fill"],is=["nonzero","evenodd"],os=["butt","round","square"],as=["miter","round","bevel"],Au=["canvas","frame","group","instance"];Ou={canvas:["w","h"],ellipse:["x","y","w","h","rotation","strokeWidth","opacity"],frame:["x","y","w","h"],group:[],instance:["x","y","w","h"],image:["x","y","w","h","rotation","radius","opacity"],rect:["x","y","w","h","rotation","strokeWidth","radius","opacity"],text:["x","y","w","h","rotation","size","weight","lineHeight","letterSpacing","opacity"],vector:["x","y","w","h","rotation","strokeWidth","opacity"]}});function fs(n){return Iu.includes(n)}function ds(n="",e=1){return{slug:n,version:e,changes:[],sources:[],roles:{},logos:{},rules:{},guides:{},review:[]}}function uo(n){let e=/^([a-z0-9][a-z0-9-]*)(?:@(\d+))?$/.exec(n);if(!e)return;let t=e[2]===void 0?1:Number(e[2]);if(!(!Number.isSafeInteger(t)||t<1))return{slug:e[1],version:t}}var oo,ao,cs,Iu,tn=U(()=>{"use strict";oo=["light","dark"],ao=["must","should"],cs=["no-gradient","contrast","font-only","logo-min"],Iu=["role","logo","rule","guide","review"]});function Pn(n){return!kh.has(n)}function ps(n,e){return`${n}.${e}`}function Mn(n){let e=new Map,t=r=>{if(r.type!=="instance"){r.type==="frame"&&r.component===!0&&e.set(r.id,r);for(let s of Xe(r))t(s)}};return t(n),e}function hs(n,e){let t=[],r=s=>{if(s.type==="instance"){(e===void 0||s.component===e)&&t.push(s);return}for(let i of Xe(s))r(i)};return r(n),t}function nn(n){let e=n;for(let t=0;t<Sh;t+=1){let r=Mn(e),s=Tu(e,r);if(s===e)return e;e=s}return e}function Tu(n,e){if(n.type==="instance"){let s=e.get(n.component)??null;if(lo.has(n)&&lo.get(n)===s)return n;let i=Pu(n,e,new Set),o=ho(i,n.children)?n:{...n,children:i};return lo.set(o,s),o}if(!Ie(n))return n;let t=!1,r=n.children.map(s=>{let i=Tu(s,e);return i!==s&&(t=!0),i});return t?{...n,children:r}:n}function Pu(n,e,t){let r=e.get(n.component);if(!r||t.has(r.id))return[];let s=new Set(t).add(r.id),i=r.children.map(o=>co(o,n.id,e,s));return Ch(i,n.id,n.overrides)}function co(n,e,t,r){let s=ps(e,n.id);if(n.type==="instance"){let i={...n,id:s};return{...i,children:Pu(i,t,r)}}if(n.type==="frame"){let i={...n};return delete i.component,{...i,id:s,children:n.children.map(o=>co(o,e,t,r))}}return Ie(n)?{...n,id:s,children:n.children.map(i=>co(i,e,t,r))}:{...n,id:s}}function Ch(n,e,t){if(t===void 0)return[...n];let r=new Map;for(let[i,o]of Object.entries(t))r.set(ps(e,i),o);let s=i=>{let o=r.get(i.id),a=i;if(o){let u={...i};for(let[l,f]of Object.entries(o))Pn(l)&&(u[l]=f);a=u}return Ie(a)?{...a,children:a.children.map(s)}:a};return n.map(s)}function po(n){let e=[],t=Mn(n);for(let i of hs(n)){let o=t.get(i.component);if(!o){e.push({severity:"error",code:"missing-component",message:`${i.id} places ${i.component}, which is not a component \u2014 mark a frame with component, or point component= at one`,nodeId:i.id});continue}if(fo(o,o.id,t,new Set)){e.push({severity:"error",code:"component-cycle",message:`${o.id} holds an instance of itself, so ${i.id} cannot be drawn`,nodeId:i.id});continue}for(let a of Object.keys(i.overrides??{}))ut(i,ps(i.id,a))||e.push({severity:"warning",code:"orphaned-override",message:`${i.id} overrides ${a}, which ${o.id} no longer has`,nodeId:i.id})}for(let[i]of t)n.type==="canvas"&&n.children.some(o=>o.id===i)||e.push({severity:"warning",code:"component-not-top-level",message:`${i} is a component inside another frame \u2014 keep components in the row below the pages, at the top level`,nodeId:i});let r=new Map,s=i=>{r.set(i.id,(r.get(i.id)??0)+1);for(let o of Xe(i))s(o)};s(n);for(let i of hs(n))for(let o of i.children){let a=u=>{(r.get(u.id)??0)>1&&e.push({severity:"error",code:"duplicate-id",message:`${u.id} is both a node and a part of ${i.id} \u2014 rename one`,nodeId:u.id});for(let l of Xe(u))a(l)};a(o)}return e}function fo(n,e,t,r){return Xe(n).some(s=>{if(s.type==="instance"){if(s.component===e)return!0;if(r.has(s.component))return!1;r.add(s.component);let i=t.get(s.component);return i!==void 0&&fo(i,e,t,r)}return fo(s,e,t,r)})}function ms(n){return Mn(n).size>0||hs(n).length>0}function ho(n,e){if(n===e)return!0;if(typeof n!="object"||typeof e!="object"||n===null||e===null)return!1;if(Array.isArray(n)||Array.isArray(e))return Array.isArray(n)&&Array.isArray(e)&&n.length===e.length&&n.every((i,o)=>ho(i,e[o]));let t=n,r=e,s=new Set([...Object.keys(t),...Object.keys(r)]);for(let i of s)if(!ho(t[i],r[i]))return!1;return!0}var Sh,kh,lo,Ct=U(()=>{"use strict";Ye();Sh=8,kh=new Set(["type","id","children","component","overrides"]);lo=new WeakMap});function Ze(n){let e=n.brand?.theme==="dark"?n.themes?.dark:void 0;if(e===void 0)return n.tokens;let t=Mu.get(n);if(t!==void 0)return t;let r={...n.tokens,...e};return Mu.set(n,r),r}function Lt(n){return n.root!==void 0&&ms(n.root)?mo:n.kind==="brand"||n.brand!==void 0||n.themes!==void 0||Eh(n.fonts)?$u:Fu}function Eh(n){return Object.values(n??{}).some(e=>(e.faces??[]).some(t=>t.asset!==void 0))}function xr(n){return{type:"canvas",...n}}function xs(n={}){let e=n.kind??Fn,t=$n(n.themes),r=nn(n.root??xr({id:rn,children:[]}));return{version:Lt({kind:e,root:r,...n.fonts===void 0?{}:{fonts:n.fonts},...n.brand===void 0?{}:{brand:n.brand},...t===void 0?{}:{themes:t}}),kind:e,...n.title===void 0?{}:{title:n.title},tokens:n.tokens??{},fonts:n.fonts??{},assets:n.assets??{},...n.motion===void 0||Object.keys(n.motion).length===0?{}:{motion:n.motion},...n.brand===void 0?{}:{brand:n.brand},...t===void 0?{}:{themes:t},root:r}}function $n(n){let e=n?.dark;return e===void 0||Object.keys(e).length===0?void 0:{dark:e}}var br,Fn,Mu,Fu,$u,mo,gs,bs,rn,sn=U(()=>{"use strict";Ct();br=["design","brand"],Fn="design",Mu=new WeakMap;Fu=4,$u=5,mo=6,gs=[1,2,3,4,5,6],bs=mo;rn="doc"});var Du=U(()=>{"use strict";Ye()});function on(n){let e=n.trim();if(e.startsWith("#")){let r=e.slice(1);return r===""?void 0:{kind:"frame",id:r}}let t;try{t=new URL(e)}catch{return}if(!(t.protocol!=="https:"&&t.protocol!=="mailto:"))return{kind:"url",url:e}}var go=U(()=>{"use strict"});function Dn(n){let e=Ah.exec(n);if(!e)return;let t=Number(e[1]);if(Number.isFinite(t))return{count:t,unit:e[2].startsWith("bar")?"bar":"beat"}}function Nn(n,e){return`${String(Math.round(n*1e6)/1e6)}${e}${n===1?"":"s"}`}function Ln(n){return typeof n=="string"&&Dn(n)!==void 0}function an(n){let e=n?.bpm;if(e===void 0)return;let t=n?.meter??4,r=6e4/e;return{bpm:e,meter:t,beat:r,bar:r*t}}function yr(n,e,t){if(n===void 0)return t;if(typeof n=="number")return n;let r=Dn(n);return!r||!e?t:r.count*(r.unit==="bar"?e.bar:e.beat)}var ys,Ah,vr,un=U(()=>{"use strict";ys=["beat","bar"],Ah=/^(\d+(?:\.\d+)?)(beats?|bars?)$/;vr=36e5});function Rn(n){let e=n.trim();return e==="back"?{kind:"back"}:e==="next"?{kind:"next"}:on(e)}function Sr(n){return n===void 0||n.enter===void 0&&n.duration===void 0&&n.scroll!==!0&&n.length===void 0&&n.w===void 0&&n.h===void 0&&n.bpm===void 0&&n.meter===void 0&&n.music===void 0&&n.lines.length===0}function Os(n){return n.camera===!0||n.enter!==void 0||n.exit!==void 0||n.emphasis!==void 0||n.go!==void 0}function Is(n){let e=n.motion;if(!e)return[];let t=n.root.children.map(s=>s.id).filter(s=>s in e),r=Object.keys(e).filter(s=>!t.includes(s)).sort();return[...t,...r]}function Ts(n){return new Set(n.root.children.filter(e=>e.type==="frame"&&e.component!==!0).map(e=>e.id))}function Ps(n){let e=new Map;for(let t of n.root.children)t.type!=="frame"||t.component===!0||Te(t,r=>{e.set(r.id,t.id)});return e}function Ih(n){let e=new Set;return Te(n,t=>{e.add(t.id)}),e}function kr(n,e){let t=n.motion;if(!t)return[];let r=[],s=Ts(n),i=Ps(n),o=Ih(n.root),a=(u,l)=>{let f=e?.(u,l);return f===void 0?"":`Line ${f}: `};for(let u of Is(n)){let l=t[u];if(!l)continue;if(!s.has(u)){r.push({severity:"warning",code:"motion-not-a-page",message:`${a(u)}motion ${u}: ${u} is not a page (a top-level frame), so none of it plays`,nodeId:u});continue}let f=new Set;for(let d of l.lines){let h=a(u,d.id);for(let E of["after","with"]){let y=d[E];y!==void 0&&!f.has(y)&&r.push({severity:"warning",code:"motion-anchor-missing",message:`${h}motion ${u}: ${E}=${y} names no line above, so it starts after the line above instead`,nodeId:d.id})}d.camera!==!0&&f.add(d.id);let p=o.has(d.id)?ut(n.root,d.id):void 0;p&&r.push(...Th(d,p,h,u)),o.has(d.id)?i.get(d.id)!==u&&r.push({severity:"warning",code:"motion-wrong-page",message:`${h}motion ${u}: ${d.id} is not on ${u}, so Play skips it`,nodeId:d.id}):r.push({severity:"warning",code:"unknown-reference",message:`${h}motion ${u}: no node ${d.id}`,nodeId:d.id});let g=d.go===void 0?void 0:Rn(d.go);g?.kind==="frame"&&!Fh(n,g.id)&&r.push({severity:"warning",code:"unknown-reference",message:`${h}motion ${u}: go=#${g.id} names no frame`,nodeId:d.id})}}return r}function Th(n,e,t,r){let s=[],i=(a,u)=>{s.push({severity:"warning",code:a,message:`${t}motion ${r}: ${u}`,nodeId:e.id})};if(n.camera===!0)return s;let o=n.enter??n.exit;return o==="count"&&(e.type!=="text"||!/\d/.test(Ms(e.content)))&&i("count-no-number",`${e.id} has no number to count, so it fades in instead`),o==="draw"&&!Mh(e)&&i("draw-no-stroke",`${e.id} has no stroked vector to draw, so it fades in instead`),n.by!==void 0&&e.type!=="text"?i("by-not-text",`by=${n.by} splits text, and ${e.id} is a ${e.type}`):n.by!==void 0&&e.type==="text"&&Ph(e)&&i("by-rotated",`${e.id} is rotated, so by=${n.by} enters it whole`),n.stagger!==void 0&&n.by===void 0&&Xe(e).length===0&&i("stagger-no-children",`${e.id} has no children to stagger: split a text with by=word`),s}function Ph(n){let e=n.rotation;return e!==void 0&&e!==0}function Mh(n){let e=!1;return Te(n,t=>(t.type==="vector"&&t.stroke!==void 0&&(e=!0),e?!1:void 0)),e}function Ms(n){return typeof n=="string"?n:n.map(e=>typeof e=="string"?e:e.text).join("")}function Fh(n,e){let t=!1;return Te(n.root,r=>{if(t)return!1;r.id===e&&(t=r.type==="frame")}),t}var vs,ws,Ss,ks,Cs,Es,ln,wr,As,cn,lt=U(()=>{"use strict";go();Ye();un();vs=["cut","fade","push","slide"],ws=["cut","fade","rise","drop","pop","wipe","grow","count","draw"],Ss=["cut","fade","rise","drop","pop"],ks=["pulse"],Cs=["out","in","inout","linear","spring"],Es=["word","letter"],ln=["left","right","top","bottom"],wr=1e4,As=18e4,cn=7680});function B(n){if(!Number.isFinite(n))return"0";let e=Math.round(n*1e4)/1e4,t=Object.is(e,-0)?0:e;return Math.abs(t)>=1e21?t.toFixed(0):String(t)}var Bn=U(()=>{"use strict";tn();sn();lt();Ct();Tn()});function bo(n){let e=[],t,r=0,s=0,i=0,o=0,a,u,l=Nh(n),f=()=>(t||(t={anchors:[{x:r,y:s}],closed:!1},e.push(t)),t.anchors[t.anchors.length-1]),d=(E,y)=>{f(),t?.anchors.push({x:E,y}),r=E,s=y},h=(E,y,A,I)=>{f().out=E,t?.anchors.push({x:A,y:I,in:y}),r=A,s=I},p="",g=!0;for(;l.more();){let E=l.command();if(E!==void 0)p=E,g=!0;else if(p===""||p.toUpperCase()==="Z")return{contours:Fs(e),error:`Expected a command at ${l.at()}`};let y=p.toUpperCase(),A=p!==y,I=$h[y];if(I===void 0)return{contours:Fs(e),error:`Unknown command ${p}`};if(y==="Z"){t&&(t.closed=!0),t=void 0,r=i,s=o,a=void 0,u=void 0,p="";continue}let m=y==="A"?l.arc():l.numbers(I);if(m===void 0)return{contours:Fs(e),error:`${p} expects ${I} numbers at ${l.at()}`};let P=A?r:0,M=A?s:0,$=_=>m[_];switch(y){case"M":g&&(t={anchors:[{x:P+$(0),y:M+$(1)}],closed:!1},e.push(t),r=i=P+$(0),s=o=M+$(1),p=A?"l":"L"),a=u=void 0;break;case"L":d(P+$(0),M+$(1)),a=u=void 0;break;case"H":d(P+$(0),s),a=u=void 0;break;case"V":d(r,M+$(0)),a=u=void 0;break;case"C":{let _={x:P+$(2),y:M+$(3)};h({x:P+$(0),y:M+$(1)},_,P+$(4),M+$(5)),a=_,u=void 0;break}case"S":{let _=a?{x:2*r-a.x,y:2*s-a.y}:{x:r,y:s},S={x:P+$(0),y:M+$(1)};h(_,S,P+$(2),M+$(3)),a=S,u=void 0;break}case"Q":case"T":{let _=y==="Q"?{x:P+$(0),y:M+$(1)}:u?{x:2*r-u.x,y:2*s-u.y}:{x:r,y:s},S=y==="Q"?P+$(2):P+$(0),D=y==="Q"?M+$(3):M+$(1),v={x:r+2/3*(_.x-r),y:s+2/3*(_.y-s)},F={x:S+2/3*(_.x-S),y:D+2/3*(_.y-D)};h(v,F,S,D),u=_,a=void 0;break}case"A":{let _=P+$(5),S=M+$(6);for(let[D,v,F]of Lh(r,s,$(0),$(1),$(2),$(3)!==0,$(4)!==0,_,S))h(D,v,F.x,F.y);(r!==_||s!==S)&&d(_,S),a=u=void 0;break}}g=!1}return{contours:Fs(e)}}function Fs(n){return n.map(e=>{let t=[...e.anchors];if(e.closed&&t.length>1){let r=t[0],s=t[t.length-1];Cr(r,s)&&(t.pop(),t[0]={...r,...s.in?{in:s.in}:{}})}return{anchors:t.map(Dh),closed:e.closed}})}function Dh(n){let e={x:n.x,y:n.y};return n.in&&!Cr(n.in,n)&&(e.in=n.in),n.out&&!Cr(n.out,n)&&(e.out=n.out),e}function Cr(n,e,t=1e-6){return Math.abs(n.x-e.x)<t&&Math.abs(n.y-e.y)<t}function Nh(n){let e=0,t=()=>{for(;e<n.length&&/[\s,]/.test(n[e]);)e+=1},r=()=>{t();let i=/^[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/.exec(n.slice(e));if(i)return e+=i[0].length,Number(i[0])},s=()=>{t();let i=n[e];if(!(i!=="0"&&i!=="1"))return e+=1,Number(i)};return{more(){return t(),e<n.length},command(){t();let i=n[e];if(/[a-zA-Z]/.test(i))return e+=1,i},numbers(i){let o=[];for(let a=0;a<i;a+=1){let u=r();if(u===void 0)return;o.push(u)}return o},arc(){let i=this.numbers(3),o=s(),a=s(),u=this.numbers(2);if(!(!i||o===void 0||a===void 0||!u))return[...i,o,a,...u]},at(){return e}}}function Lh(n,e,t,r,s,i,o,a,u){let l=Math.abs(t),f=Math.abs(r);if(l===0||f===0||n===a&&e===u)return[];let d=s*Math.PI/180,h=Math.cos(d),p=Math.sin(d),g=(n-a)/2,E=(e-u)/2,y=h*g+p*E,A=-p*g+h*E,I=y*y/(l*l)+A*A/(f*f);I>1&&(l*=Math.sqrt(I),f*=Math.sqrt(I));let m=l*l*f*f-l*l*A*A-f*f*y*y,P=l*l*A*A+f*f*y*y,M=(i===o?-1:1)*Math.sqrt(Math.max(0,m/P)),$=M*l*A/f,_=-M*f*y/l,S=h*$-p*_+(n+a)/2,D=p*$+h*_+(e+u)/2,v=(j,Y,pe,xe)=>{let Ce=j*pe+Y*xe,Ae=Math.hypot(j,Y)*Math.hypot(pe,xe),te=Math.acos(Math.min(1,Math.max(-1,Ce/Ae)));return j*xe-Y*pe<0?-te:te},F=v(1,0,(y-$)/l,(A-_)/f),C=v((y-$)/l,(A-_)/f,(-y-$)/l,(-A-_)/f);!o&&C>0&&(C-=2*Math.PI),o&&C<0&&(C+=2*Math.PI);let N=Math.max(1,Math.ceil(Math.abs(C)/(Math.PI/2)-1e-9)),W=C/N,q=4/3*Math.tan(W/4),ee=j=>({x:S+l*Math.cos(j)*h-f*Math.sin(j)*p,y:D+l*Math.cos(j)*p+f*Math.sin(j)*h}),z=j=>({x:-l*Math.sin(j)*h-f*Math.cos(j)*p,y:-l*Math.sin(j)*p+f*Math.cos(j)*h}),H=[];for(let j=0;j<N;j+=1){let Y=F+j*W,pe=Y+W,xe=ee(Y),Ce=j===N-1?{x:a,y:u}:ee(pe),Ae=z(Y),te=z(pe);H.push([{x:xe.x+q*Ae.x,y:xe.y+q*Ae.y},{x:Ce.x-q*te.x,y:Ce.y-q*te.y},Ce])}return H}function xo(n){let e=[],t=r=>`${B(r.x)} ${B(r.y)}`;for(let r of n){let{anchors:s}=r,i=s[0];if(!i)continue;e.push(`M${t(i)}`);let o=$s(r);for(let a=0;a<o;a+=1){let u=s[a],l=s[(a+1)%s.length],f=r.closed&&a===s.length-1;!u.out&&!l.in?f||e.push(`L${t(l)}`):e.push(`C${t(u.out??u)} ${t(l.in??l)} ${t(l)}`)}r.closed&&e.push("Z")}return e.join(" ")}function $s(n){let e=n.anchors.length;return e<2?0:n.closed?e:e-1}function yo(n,e){let t=n.anchors[e],r=n.anchors[(e+1)%n.anchors.length];return[{x:t.x,y:t.y},t.out??{x:t.x,y:t.y},r.in??{x:r.x,y:r.y},{x:r.x,y:r.y}]}function vo(n,e){let[t,r,s,i]=n,o=1-e,a=o*o*o,u=3*o*o*e,l=3*o*e*e,f=e*e*e;return{x:a*t.x+u*r.x+l*s.x+f*i.x,y:a*t.y+u*r.y+l*s.y+f*i.y}}function wo(n,e){return n.map(t=>({closed:t.closed,anchors:t.anchors.map(r=>{let s=e(r);return{x:s.x,y:s.y,...r.in?{in:e(r.in)}:{},...r.out?{out:e(r.out)}:{}}})}))}function So(n){let e=1/0,t=1/0,r=-1/0,s=-1/0,i=o=>{e=Math.min(e,o.x),t=Math.min(t,o.y),r=Math.max(r,o.x),s=Math.max(s,o.y)};for(let o of n){for(let u of o.anchors)i(u);let a=$s(o);for(let u=0;u<a;u+=1){let l=yo(o,u);for(let f of Rh(l))i(vo(l,f))}}if(e!==1/0)return{x:e,y:t,w:r-e,h:s-t}}function Rh(n){let[e,t,r,s]=n,i=[];for(let o of["x","y"]){let a=-e[o]+3*t[o]-3*r[o]+s[o],u=2*(e[o]-2*t[o]+r[o]),l=t[o]-e[o];if(Math.abs(a)<1e-12){Math.abs(u)>1e-12&&i.push(-l/u);continue}let f=u*u-4*a*l;if(f<0)continue;let d=Math.sqrt(f);i.push((-u+d)/(2*a),(-u-d)/(2*a))}return i.filter(o=>o>0&&o<1)}function Ds(n){if(n===void 0)return;let e=n.trim().split(/[\s,]+/).map(Number);if(e.length!==4||e.some(o=>!Number.isFinite(o)))return;let[t,r,s,i]=e;return{x:t,y:r,w:s,h:i}}function ko(n,e,t){return Ds(n)??{x:0,y:0,w:e,h:t}}function Co(n,e){let t=n.w===0?1:e.w/n.w,r=n.h===0?1:e.h/n.h;return s=>({x:e.x+(s.x-n.x)*t,y:e.y+(s.y-n.y)*r})}function Ru(n,e=.5){let[t,r,s,i]=n;if(Cr(t,r)&&Cr(s,i))return[t,i];let a=Math.hypot(r.x-t.x,r.y-t.y)+Math.hypot(s.x-r.x,s.y-r.y)+Math.hypot(i.x-s.x,i.y-s.y),u=Math.min(256,Math.max(4,Math.ceil(Math.sqrt(a/e)))),l=[];for(let f=0;f<=u;f+=1)l.push(vo(n,f/u));return l}function Ns(n){let e=0;for(let t of n)for(let r=0;r<$s(t);r+=1){let s=Ru(yo(t,r),.25);for(let i=1;i<s.length;i+=1){let o=s[i-1],a=s[i];e+=Math.hypot(a.x-o.x,a.y-o.y)}}return e}var $h,Bu=U(()=>{"use strict";Bn();$h={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0}});var Eo=U(()=>{"use strict";tn();sn();lt();Ct();Ye();Tn()});function Vs(n){return Ao.includes(n)}function js(n,e){return Ls[n].find(([t])=>t===e)?.[1]}function Oo(n){for(let e of Ao){if(e==="canvas"||e==="instance")continue;let t=js(e,n);if(t!==void 0)return t}}function $e(n,e){if(e==="boolean")return n===""||n==="true"?{value:!0}:n==="false"?{value:!1}:{error:`Expected true or false, got ${n}`};if(n.startsWith('"')){let r=ct(n);return r===void 0?{error:`Malformed quoted string ${n}`}:Uu(r,e,n)}if(Xh(n)){if(!Wh(e))return{error:qh(n,e)};let r=zu(n).trim();return r===""?{error:"Empty expression"}:{value:en(r)}}return e==="numberValue"&&ju.test(n)?{value:en(n)}:Uu(n,e,n)}function Wh(n){return n==="numberValue"||n==="stringValue"}function qh(n,e){return e==="number"?`Expected a plain number, not an expression, got ${n}`:e==="string"&&/^\$\w+$/.test(n)?`Expected a literal, got ${n} \u2014 name a token without the $: ${n.slice(1)}`:`Expected a literal, not an expression, got ${n} \u2014 quote it if you meant the text`}function Gu(n,e){let t=/^(-?\d+(?:\.\d+)?)([A-Za-z]+)$/.exec(n);return t?/^(?:beats?|bars?)$/.test(t[2])?" \u2014 beats and bars count motion times on a page with bpm=; this is milliseconds":t[2]==="s"&&e==="number"?` \u2014 durations are milliseconds: ${Number(t[1])*1e3}`:/^(?:px|pt|deg|ms)$/.test(t[2])?` \u2014 drop the unit: ${t[1]}`:" \u2014 units are not supported: use a number, a percentage like (100%), or an expression":e==="number"?ju.test(n)?" \u2014 a percentage is not allowed here":"":/^-[$@(]/.test(n)?` \u2014 wrap an expression in parentheses: (${n})`:/^-?[A-Za-z_]\w*(?:\.\w+)+$/.test(n)?` \u2014 wrap an expression in parentheses: (${n})`:""}function Uu(n,e,t){switch(e){case"numberValue":case"number":{let r=Number(n);return Number.isFinite(r)&&n.trim()!==""?{value:r}:{error:`Expected a number, got ${t}${Gu(n,e)}`}}case"align":return hr.includes(n)?{value:n}:{error:`Expected one of ${hr.join(", ")}, got ${t}`};case"valign":return pr.includes(n)?{value:n}:{error:`Expected one of ${pr.join(", ")}, got ${t}`};case"fontStyle":return n==="normal"||n==="italic"?{value:n}:{error:`Expected normal or italic, got ${t}`};case"imageFit":return mr.includes(n)?{value:n}:{error:`Expected one of ${mr.join(", ")}, got ${t}`};case"fillRule":return Et(is,n,t);case"lineCap":return Et(os,n,t);case"lineJoin":return Et(as,n,t);case"blendMode":return Et(ss,n,t);case"pageEffect":return Et(vs,n,t);case"nodeEffect":return Et(ws,n,t);case"emphasisEffect":return Et(ks,n,t);case"ease":return Et(Cs,n,t);case"piece":return Et(Es,n,t);case"time":{let r=Dn(n);if(r)return{value:Nn(r.count,r.unit)};let s=Number(n);return Number.isFinite(s)&&n.trim()!==""?{value:s}:{error:`Expected milliseconds or beats, got ${t}${Hh(n)}`}}case"on":return ys.includes(n)?{value:n}:n==="downbeat"?{error:`Expected beat or bar, got ${t} \u2014 write on=bar: a bar starts on its downbeat`}:n==="beats"||n==="bars"?{error:`Expected beat or bar, got ${t} \u2014 write on=${n.slice(0,-1)}`}:{error:`Expected beat or bar, got ${t}`};case"from":{if(ln.includes(n))return{value:n};let r=Number(n);return Number.isFinite(r)&&n.trim()!==""?{value:r}:{error:`Expected a number or one of ${ln.join(", ")}, got ${t}`}}default:return{value:n}}}function Hh(n){let e=/^(beat|bar|b)[:\s#]?(\d+(?:\.\d+)?)$/.exec(n);if(e){let r=e[1]==="bar"?"bar":"beat",s=Number(e[2]);return` \u2014 write ${Nn(Math.max(0,s-1),r)} (counted from the start: ${r} ${s}'s ${r==="bar"?"downbeat":"start"})`}let t=/^(\d+(?:\.\d+)?)\s*(b|bt|beat|bars?|beats?)$/.exec(n);if(t){let r=t[2]?.startsWith("bar")?"bar":"beat";return` \u2014 write ${Nn(Number(t[1]),r)} (counted from the start)`}return Gu(n,"number")}function Et(n,e,t){return n.includes(e)?{value:e}:{error:`Expected one of ${n.join(", ")}, got ${t}`}}function Xh(n){return/^[$@(]/.test(n)}function ct(n){try{let e=JSON.parse(n);return typeof e=="string"?e:void 0}catch{return}}function zu(n){if(!n.startsWith("("))return n;let e=0;for(let t=0;t<n.length;t+=1){let r=n[t];if(r==="(")e+=1;else if(r===")"&&(e-=1,e===0))return t===n.length-1?n.slice(1,-1):n}return n}function _u(n){let e=[],t="",r=0,s=!1;for(let i=0;i<n.length;i+=1){let o=n[i];if(s){t+=o,o==="\\"?(t+=n[i+1]??"",i+=1):o==='"'&&(s=!1);continue}if(o==='"'){s=!0,t+=o;continue}if(o==="("?r+=1:o===")"&&(r=Math.max(0,r-1)),r===0&&/\s/.test(o)){t!==""&&e.push(t),t="";continue}t+=o}return t!==""&&e.push(t),e}function Gs(n,e,t){let r=t===void 0?void 0:Pe(t);if(r?.value===void 0||!Vu(n[e]??""))return;let s=e;for(;s<n.length&&Vu(n[s]??"");)s+=1;let i=[zu(r.value),...n.slice(e,s)].join(" ");return{end:s,message:`${r.key}: an expression with spaces needs parentheses \u2014 write ${r.key}=(${i})`}}function Vu(n){return!n.includes("=")&&/^(?:[-+*/]|-?\d+(?:\.\d+)?%?|[$@][\w.]*|[A-Za-z_]\w*(?:\.\w+)+|\(.*|.*\))$/.test(n)}function Pe(n){let e=n.indexOf("=");return e===-1?{key:n,value:void 0}:{key:n.slice(0,e),value:n.slice(e+1)}}var Ls,Rs,Bs,Er,Us,Ao,Io,ju,Ke=U(()=>{"use strict";Ye();lt();un();Bn();Tn();Ls={canvas:[["name","string"],["w","numberValue"],["h","numberValue"],["background","stringValue"]],frame:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["background","stringValue"],["clip","boolean"],["skip","boolean"],["component","boolean"],["blend","blendMode"],["shadow","stringValue"],["hidden","boolean"],["locked","boolean"]],group:[["name","string"],["hidden","boolean"],["locked","boolean"]],instance:[["name","string"],["component","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["hidden","boolean"],["locked","boolean"]],ellipse:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["fill","stringValue"],["stroke","stringValue"],["strokeWidth","numberValue"],["opacity","numberValue"],["blend","blendMode"],["shadow","stringValue"],["hidden","boolean"],["locked","boolean"]],vector:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["view","string"],["d","string"],["fill","stringValue"],["stroke","stringValue"],["strokeWidth","numberValue"],["opacity","numberValue"],["rule","fillRule"],["cap","lineCap"],["join","lineJoin"],["blend","blendMode"],["shadow","stringValue"],["hidden","boolean"],["locked","boolean"]],rect:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["fill","stringValue"],["stroke","stringValue"],["strokeWidth","numberValue"],["radius","numberValue"],["opacity","numberValue"],["blend","blendMode"],["shadow","stringValue"],["hidden","boolean"],["locked","boolean"]],image:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["src","stringValue"],["fit","imageFit"],["radius","numberValue"],["opacity","numberValue"],["blend","blendMode"],["shadow","stringValue"],["hidden","boolean"],["locked","boolean"]],text:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["font","stringValue"],["size","numberValue"],["weight","numberValue"],["lineHeight","numberValue"],["letterSpacing","numberValue"],["align","align"],["valign","valign"],["italic","boolean"],["fill","stringValue"],["opacity","numberValue"],["blend","blendMode"],["shadow","stringValue"],["hidden","boolean"],["locked","boolean"]]},Rs=[["font","string"],["size","number"],["weight","number"],["italic","boolean"],["underline","boolean"],["strike","boolean"],["fill","string"],["letterSpacing","number"],["link","string"]],Bs=[["enter","pageEffect"],["duration","number"],["scroll","boolean"],["length","time"],["w","number"],["h","number"],["bpm","number"],["meter","number"]],Er=[["enter","nodeEffect"],["exit","nodeEffect"],["emphasis","emphasisEffect"],["from","from"],["by","piece"],["stagger","time"],["duration","time"],["hold","time"],["delay","time"],["at","time"],["after","string"],["with","string"],["step","boolean"],["together","boolean"],["on","on"],["ease","ease"],["pad","number"],["go","string"]],Us=[["from","number"],["volume","number"],["fadein","time"],["fadeout","time"],["loop","boolean"]],Ao=Object.keys(Ls);Io="override";ju=/^-?\d+(?:\.\d+)?%$/});function To(n,e){let t,r=0,s,i=[],o=[],a={},u={},l={},f={},d=[],h=!1,p=!1,g,E=(S,D,v)=>{e.push({severity:"warning",code:D,message:`Line ${S}: ${v}`})},y=(S,D,v)=>{n(S.number,"invalid-brand",`${D} ${v} is written twice \u2014 keep one`)},A=S=>{if(t){n(S.number,"invalid-brand",`A document has one brand line; the first is on line ${r}`);return}let D=S.words[1]===void 0?void 0:uo(S.words[1]);if(!D){n(S.number,"invalid-brand","Expected brand <slug>@<version>, e.g. brand ember@3 \u2014 a slug is lower case, digits and dashes");return}let v=S.words.slice(2).includes("strict"),F=At({...S,words:S.words.filter((N,W)=>W<2||N!=="strict")},2,["id","theme"],n),C=F.theme;C!==void 0&&!oo.includes(C)&&n(S.number,"invalid-brand",`theme= is light or dark, got ${C}`),t={...D,...F.id===void 0?{}:{id:F.id},...C==="dark"||C==="light"?{theme:C}:{},...v?{strict:!0}:{}},r=S.number,g={kind:"brand"}},I=S=>{let D=S.words[0];if(D==="summary"){let v=zs(S,1);v===void 0?n(S.number,"invalid-brand",'Expected summary "\u2026"'):s=v;return}if(D==="change"){let v=Number(S.words[1]),F=S.words[2]===void 0?void 0:Xu(S.words[2]);if(!Number.isSafeInteger(v)||v<1||F===void 0){n(S.number,"invalid-brand",'Expected change <version> "<what changed>" at=<date>');return}let C=At(S,3,["at"],n);i.push({version:v,note:F,...C.at===void 0?{}:{at:C.at}});return}if(D==="source"){let v=S.words[1];if(v===void 0||v.includes("=")){n(S.number,"invalid-brand","Expected source <kind> key=value\u2026, e.g. source site url=\u2026");return}o.push({kind:v,props:At(S,2,void 0,n)});return}if(D==="rule"){M(S);return}if(D==="banned"){let v=zs(S,1);if(v===void 0){n(S.number,"invalid-brand",'Expected banned "\u2026"');return}(f.voice??={entries:[]}).entries.push({kind:"banned",text:v});return}n(S.number,"invalid-brand",`"${D}" is not a line of the brand block \u2014 it holds summary, change and source, and in a design rule and banned`)},m=S=>{let D=S.words[1];if(D===void 0||D.includes("=")){n(S.number,"invalid-role","Expected role <name> light=<token or colour> dark=\u2026");return}let v=At(S,2,["light","dark"],n),F=v.light;if(F===void 0){n(S.number,"invalid-role",`role ${D} needs light=`);return}if(Object.prototype.hasOwnProperty.call(a,D))return y(S,"role",D);let C=v.dark;a[D]={light:Wu(F),...C===void 0?{}:{dark:Wu(C)}}},P=S=>{let D=S.words[1];if(D===void 0||D.includes("=")){n(S.number,"invalid-logo","Expected logo <id> asset=<name> min=<px> clear=<fraction>");return}let v=At(S,2,["asset","min","clear"],n),F=v.asset;if(F===void 0){n(S.number,"invalid-logo",`logo ${D} needs asset=`);return}let C={asset:F};for(let N of["min","clear"]){let W=v[N];if(W===void 0)continue;let q=Number(W);if(!Number.isFinite(q)||q<0){n(S.number,"invalid-logo",`logo ${D}: ${N} must be a number, got ${W}`);continue}C[N]=q}if(Object.prototype.hasOwnProperty.call(u,D))return y(S,"logo",D);u[D]=C},M=S=>{let D=S.words[1],v=S.words[2],F=S.words[3],C=F?.startsWith('"')===!0?ct(F):void 0;if(D===void 0||D.includes("=")){n(S.number,"invalid-rule",'Expected rule <id> must|should "<what it asks>" check=\u2026');return}if(v===void 0||!ao.includes(v)){n(S.number,"invalid-rule",`rule ${D}: the second word is must or should`);return}if(C===void 0){n(S.number,"invalid-rule",`rule ${D} needs its words, quoted: rule ${D} ${v} "\u2026"`);return}let{check:N,...W}=At(S,4,void 0,n);if(N!==void 0&&!cs.includes(N)&&E(S.number,"unknown-check",`rule ${D}: this build has no check "${N}", so it is kept as words only \u2014 the checks are ${cs.join(", ")}`),Object.prototype.hasOwnProperty.call(l,D))return y(S,"rule",D);l[D]={level:v,text:C,...N===void 0?{}:{check:N},...Object.keys(W).length===0?{}:{params:W}}},$=(S,D)=>{let v=S.words[0];if(v.startsWith('"')){let F=zs(S,0);F===void 0?n(S.number,"invalid-guide",`Could not read ${S.text}`):D.push({kind:"line",text:F});return}if(v==="banned"||v==="avoid"){let F=zs(S,1);F===void 0?n(S.number,"invalid-guide",`Expected ${v} "\u2026"`):D.push({kind:v,text:F});return}if(v==="rewrite"){let F=At(S,1,["from","to"],n),C=F.from,N=F.to;if(C===void 0||N===void 0){n(S.number,"invalid-guide",'Expected rewrite from="\u2026" to="\u2026"');return}D.push({kind:"rewrite",from:C,to:N});return}if(v==="ref"||v==="approved"||v==="rejected"){let F=At(S,1,["asset","note"],n),C=F.asset;if(C===void 0){n(S.number,"invalid-guide",`Expected ${v} asset=<name> note="\u2026"`);return}let N=F.note;D.push({kind:v,asset:C,...N===void 0?{}:{note:N}});return}n(S.number,"invalid-guide",`"${v}" is not a guide line \u2014 a guide holds quoted lines, banned, avoid, rewrite, ref, approved and rejected`)},_=S=>{let D=S.words[0];if(D.includes("=")||D.startsWith('"')){n(S.number,"invalid-review",'Expected <what>.<id> from=\u2026 note="\u2026", e.g. role.muted from=site');return}let v=At(S,1,["from","note"],n);d.push({target:D,...v.from===void 0?{}:{from:v.from},...v.note===void 0?{}:{note:v.note}})};return{take(S){if(S.indent>0)return g?(g.kind==="brand"?I(S):g.kind==="guide"?$(S,g.entries):_(S),!0):!1;g=void 0;let D=S.words[0];if(D!=="brand"&&!fs(D))return!1;switch(p=!0,D){case"brand":A(S);break;case"role":m(S);break;case"logo":P(S);break;case"rule":M(S);break;case"guide":{let v=S.words[1];if(v===void 0||v.includes("=")||S.words.length>2){n(S.number,"invalid-guide","Expected guide <id> on its own line, e.g. guide voice"),g={kind:"guide",id:"",entries:[]};break}if(Object.prototype.hasOwnProperty.call(f,v)){y(S,"guide",v),g={kind:"guide",id:"",entries:[]};break}let F=[];f[v]={entries:F},g={kind:"guide",id:v,entries:F};break}case"review":S.words.length>1&&n(S.number,"invalid-review","review is a block: its items go on the lines under it"),h=!0,g={kind:"review"};break}return!0},finish(){if(!p)return{header:!1,review:!1};let S=t??ds();return{brand:{slug:S.slug,version:S.version,...t?.id===void 0?{}:{id:t.id},...t?.theme===void 0?{}:{theme:t.theme},...t?.strict===!0?{strict:!0}:{},...s===void 0?{}:{summary:s},changes:i,sources:o,roles:a,logos:u,rules:l,guides:f,review:d},header:t!==void 0,review:h}}}}function At(n,e,t,r){let s={};for(let i of n.words.slice(e)){let{key:o,value:a}=Pe(i);if(a===void 0){r(n.number,"invalid-brand",`A stray word "${i}" \u2014 expected key=value`);continue}if(t!==void 0&&!t.includes(o)){r(n.number,"invalid-brand",`"${o}" is not allowed here; this line takes ${t.join(", ")}`);continue}s[o]=Xu(a)}return s}function zs(n,e){if(n.words.length!==e+1)return;let t=n.words[e];return t.startsWith('"')?ct(t):void 0}function Xu(n){return n.startsWith('"')?ct(n)??n:n}function Wu(n){return n.startsWith("$")?n.slice(1):n}var _s=U(()=>{"use strict";tn();Bn();Ke()});function Po(n){if(n==="at"||n==="length")return As;if(n==="w"||n==="h")return cn;if(n==="duration"||n==="delay"||n==="stagger"||n==="hold")return wr;if(n==="pad")return cn}function Mo(n,e){let t=n.words[1];if(t===void 0||t.includes("=")){e(n.number,"invalid-motion","Expected motion <page>, e.g. motion intro enter=fade");return}let r={};for(let i of n.words.slice(2)){let{key:o,value:a}=Pe(i),u=Bs.find(([f])=>f===o)?.[1];if(u===void 0){let f=Zh.has(o)?` \u2014 ${o} goes on a node's line, under the header`:"";e(n.number,"invalid-motion",`motion ${t} has no "${o}"${f}`,t);continue}let l=$e(a??"",u);"error"in l?e(n.number,"invalid-motion",`${o}: ${sp(o,a)??l.error}`,t):o==="bpm"&&!np(l.value)?e(n.number,"invalid-motion",`bpm: expected ${20} to ${300} beats a minute, got ${a??""}`,t):o==="meter"&&!rp(l.value)?e(n.number,"invalid-motion",`meter: expected a whole number of beats in a bar, 1 to ${16}, got ${a??""}`,t):l.value!==!1&&(r[o]=l.value)}let s=an({...r,lines:[]});for(let[i]of Bs){let o=r[i];if(o===void 0||Po(i)===void 0)continue;let a=Do(i,o,s,t);a!==void 0&&(e(n.number,"invalid-motion",a,t),delete r[i])}return{page:t,number:n.number,head:r,lines:[],where:new Map,taken:new Map,numbers:[]}}function Fo(n,e,t){if(e.words[0]==="music"&&!(e.words[1]??"").includes("=")){Qh(n,e,t);return}let r=e.words[0]==="camera"&&e.words[1]!==void 0&&!e.words[1].includes("="),s=r?e.words.slice(1):e.words,i=s[0];if(e.indent!==1){t(e.number,"invalid-motion","A motion line sits one level under its page");return}if(i.includes("=")){t(e.number,"invalid-motion",`Expected a node id first, got ${i}`);return}if(i===n.page&&!r){t(e.number,"invalid-motion",`${i} is the page: its transition goes on the header (motion ${i} enter=fade)`,i);return}let o=r?{id:i,camera:!0}:{id:i},a=!0;for(let f of s.slice(1)){let{key:d,value:h}=Pe(f),p=Er.find(([y])=>y===d)?.[1];if(p===void 0){t(e.number,"invalid-motion",`A motion line has no "${d}"${ip(d)}`,i),a=!1;continue}if(r&&!Kh.has(d)){t(e.number,"invalid-motion",`A camera line moves the shot and says only pad=, duration=, delay=, ease= and when: not ${d}=`,i),a=!1;continue}let g=$e(h??"",p),E="error"in g||Po(d)===void 0?void 0:Do(d,g.value,an(Ku(n)),n.page);"error"in g?(t(e.number,"invalid-motion",`${d}: ${g.error}`,i),a=!1):E!==void 0?(t(e.number,"invalid-motion",`${i}: ${E}`,i),a=!1):d==="on"&&n.head.bpm===void 0?(t(e.number,"invalid-motion",`${i}: on=${String(g.value)} needs a tempo \u2014 motion ${n.page} bpm=120`,i),a=!1):d==="go"&&Rn(g.value)===void 0?(t(e.number,"invalid-motion",`go: expected #<page>, back, next, or an https: or mailto: link, got ${h??""}`,i),a=!1):g.value!==!1&&(o[d]=g.value)}o.enter!==void 0&&o.exit!==void 0&&(t(e.number,"invalid-motion",`${i} either enters or exits on one line \u2014 write a second line for the other`,i),a=!1),o.emphasis!==void 0&&(o.enter!==void 0||o.exit!==void 0)&&(t(e.number,"invalid-motion",`${i} either ${o.enter!==void 0?"enters":"exits"} or is stressed on one line \u2014 write a second line for emphasis=`,i),a=!1);let u=Zu.filter(f=>o[f]!==void 0);if(o.step===!0&&o.together===!0?(t(e.number,"invalid-motion",`${i} waits for a step or starts together with the line above, not both`,i),a=!1):u.length>1?(t(e.number,"invalid-motion",`${i} says when it starts twice (${u.join(", ")}): keep one`,i),a=!1):o.on!==void 0&&(o.with!==void 0||o.together===!0)&&(t(e.number,"invalid-motion",`${i} starts with another line (${o.with===void 0?"together":"with="}), so on= could only pull it apart: keep one`,i),a=!1),a){let f=op(o);f!==void 0&&(t(e.number,"invalid-motion",`${i}: ${f}`,i),a=!1)}if(!a)return;let l=tp(o);if(!Os(l)){t(e.number,"invalid-motion",`${i} says nothing: give it enter=, exit=, emphasis= or go=`,i);return}if(r){n.where.has(i)||n.where.set(i,e.number),n.lines.push(l),n.numbers.push(e.number);return}for(let f of["enter","exit","emphasis","go"]){if(l[f]===void 0)continue;let d=n.taken.get(`${i} ${f}`);if(d!==void 0){let h=f==="go"?"has a go=":f==="enter"?"enters":f==="exit"?"exits":"has an emphasis=";t(e.number,"invalid-motion",`${i} already ${h} on line ${d}`,i);return}}for(let f of["enter","exit","emphasis","go"])l[f]!==void 0&&n.taken.set(`${i} ${f}`,e.number);n.where.has(i)||n.where.set(i,e.number),n.lines.push(l),n.numbers.push(e.number)}function $o(n){let e={...n.head.enter===void 0?{}:{enter:n.head.enter},...n.head.duration===void 0?{}:{duration:n.head.duration},...n.head.scroll===!0?{scroll:!0}:{},...n.head.length===void 0?{}:{length:n.head.length},...n.head.w===void 0?{}:{w:n.head.w},...n.head.h===void 0?{}:{h:n.head.h},...n.head.bpm===void 0?{}:{bpm:n.head.bpm},...n.head.meter===void 0?{}:{meter:n.head.meter},...n.music===void 0?{}:{music:n.music},lines:n.lines};return Sr(e)?void 0:e}function Qh(n,e,t){let r=e.words[1];if(e.indent!==1){t(e.number,"invalid-motion","A motion line sits one level under its page");return}if(r===void 0){t(e.number,"invalid-motion","Expected music <asset>, e.g. music bed fadeout=1500");return}if(Jh.has(r)){t(e.number,"invalid-motion",`music names its track first: music <asset> ${r}`);return}if(n.musicLine!==void 0){t(e.number,"invalid-motion",`motion ${n.page} already has music on line ${n.musicLine}: a page has one track`);return}let s={asset:r},i=an(Ku(n)),o=!0,a=l=>{t(e.number,"invalid-motion",`music ${r}: ${l}`),o=!1};for(let l of e.words.slice(2)){let{key:f,value:d}=Pe(l),h=Us.find(([g])=>g===f)?.[1];if(h===void 0){a(`the music line has no "${f}"${ep(f)}`);continue}if(f==="from"&&d!==void 0&&/\d(?:beats?|bars?)$/.test(d)){a(`from= is where in the track to begin, in milliseconds, not ${d}`);continue}let p=$e(d??"",h);if("error"in p){a(`${f}: ${p.error}`);continue}if(f==="from"&&!Yu(p.value,0,vr)){a(`from: expected 0 to ${vr} milliseconds, got ${d??""}`);continue}if(f==="volume"&&!Yu(p.value,0,1)){a(`volume: expected 0 to 1, got ${d??""}`);continue}if(f==="fadein"||f==="fadeout"){let g=Do(f,p.value,i,n.page);if(g!==void 0){a(g);continue}}p.value!==!1&&(s[f]=p.value)}if(!o)return;let u={asset:r};for(let[l]of Us)s[l]!==void 0&&(u[l]=s[l]);n.music=u,n.musicLine=e.number}function Yu(n,e,t){return typeof n=="number"&&n>=e&&n<=t}function ep(n){return n==="fade"?" \u2014 write fadein= and fadeout=":n==="fade-in"||n==="fadeIn"||n==="fade_in"?" \u2014 write fadein=":n==="fade-out"||n==="fadeOut"||n==="fade_out"?" \u2014 write fadeout=":n==="start"||n==="offset"||n==="seek"?" \u2014 write from= (where in the track to begin, in milliseconds)":n==="gain"||n==="level"?" \u2014 write volume= (0 to 1)":n==="at"||n==="delay"||n==="after"||n==="with"?": the music starts with the video; from= picks where in the track":": it takes from=, volume=, fadein=, fadeout= and loop"}function tp(n){let e=n.camera===!0?{id:n.id,camera:!0}:{id:n.id};for(let[t]of Er)n[t]!==void 0&&(e[t]=n[t]);return e}function Ku(n){let{bpm:e,meter:t}=n.head;return{...e===void 0?{}:{bpm:e},...t===void 0?{}:{meter:t},lines:[]}}function Do(n,e,t,r){if(Ln(e)&&!t)return`${e} needs a tempo \u2014 motion ${r} bpm=120`;let s=typeof e=="number"||Ln(e)?yr(e,t):void 0,i=Po(n)??wr;if(s!==void 0&&s>=(n==="w"||n==="h"?16:0)&&s<=i)return;let a=String(e),u=Ln(e)&&s!==void 0?` (${Math.round(s)} ms)`:"";return n==="w"||n==="h"?`${n}: expected 16 to ${cn} pixels, got ${a}`:n==="pad"?`pad: expected 0 to ${cn}, got ${a}`:`${n}: expected 0 to ${i} milliseconds, got ${a}${u}`}function np(n){return typeof n=="number"&&n>=20&&n<=300}function rp(n){return typeof n=="number"&&Number.isInteger(n)&&n>=1&&n<=16}function sp(n,e){if(n==="meter"&&e!==void 0&&/^\d+\/\d+$/.test(e))return`Expected beats in a bar, got ${e} \u2014 meter is beats per bar: meter=${e.split("/")[0]??""}`;if(n==="duration"&&e!==void 0&&/\d(?:beats?|bars?)$/.test(e))return`Expected milliseconds, got ${e} \u2014 the page transition is milliseconds; beats are for the lines`}function ip(n){return n==="emphasise"||n==="emphasize"?" \u2014 write emphasis=pulse":n==="easing"?" \u2014 write ease=":n==="split"?" \u2014 write by=word or by=letter":n==="start"?" \u2014 write at= (milliseconds), after= or with=":""}function op(n){let e=n.enter,t=n.exit,r=e??t,s=n.from;if(t==="count")return"count only enters: it runs a number up to its written value";if(s!==void 0)if(r==="count"){if(typeof s!="number")return"from= on count is the number it starts at, e.g. from=0"}else if(r==="wipe"||r==="grow"){if(typeof s=="number")return`from= on ${r} is a side: ${ln.join(", ")}`}else return"from= goes with count (a number), or wipe and grow (a side)";if(n.by!==void 0&&r!==void 0&&!Ss.includes(r))return`by= splits a text for ${Ss.join(", ")}, not ${r}`;if(n.by!==void 0&&r===void 0)return"by= goes with enter= or exit=";if(n.stagger!==void 0&&r===void 0)return"stagger= goes with enter= or exit=";if(n.hold!==void 0&&e===void 0)return"hold= goes with enter=: how long to stay before leaving the way it came"}var Zh,Zu,Kh,Jh,Xs=U(()=>{"use strict";lt();un();Ke();Zh=new Set(["exit","delay","step","together","go","at","after","with"]),Zu=["at","after","with","together","step"],Kh=new Set(["pad","duration","delay","ease","on",...Zu]);Jh=new Set(["loop","step","together"])});var Ju=U(()=>{"use strict";sn();Ct();Ye();Bn();_s();Ke();Xs()});function Qu(n){let e=lp(n);return e===-1?{head:n,payload:""}:{head:n.slice(0,e),payload:n.slice(e+Un.length)}}function No(n){let{head:e,payload:t}=Qu(n);return{head:e,blocks:el(t)}}function el(n){let e=new Map;for(let t of n.split(`
|
|
4
|
-
`)){let r=
|
|
5
|
-
${
|
|
6
|
-
`);for(let r=0;r<t.length;r+=1){let s=t[r],i=s.trim();if(i===Un)break;if(i===""||i.startsWith("```"))continue;let o=s.length-s.trimStart().length;e.push({number:r+1,indent:Math.floor(o/2),text:i,words:_u(i)})}return e}var Vo=U(()=>{"use strict";Ke();Ro()});function jo(n){let e=[],t=[],r,s=()=>{r&&r.runs.length>0&&(r.props.content=nl(r.runs)),r=void 0},i=o=>{for(s();e.length>0&&e[e.length-1].indent>=o;)dp(e.pop())};return{push(o){let a=o.words[0];if(a.startsWith('"')&&r&&o.indent>r.indent){let d=tl(o,n);return d!==void 0&&r.runs.push(d),!0}if(a===Io){i(o.indent);let d=e[e.length-1];return!d||d.type!=="instance"?(n(o.number,"invalid-override","An override line must sit inside an instance"),!0):(r=fp(d,o,n),!0)}if(a.startsWith('"')){let d=e[e.length-1];if(!d||d.type!=="text")return n(o.number,"invalid-content","A quoted line must sit inside a text node"),!0;let h=tl(o,n);return h!==void 0&&d.runs.push(h),!0}if(!Vs(a))return!1;i(o.indent);let u=o.words[1];if(u===void 0||u.includes("="))return n(o.number,"missing-id",`A ${a} needs an id`),!0;let l=cp(a,u,o.words.slice(2),o,n),f=e[e.length-1];return f?.type==="instance"?n(o.number,"invalid-override",`${f.record.id} takes its contents from its component \u2014 change the component, or write an override line`,u):f?f.children.push(l.record):t.push(l.record),e.push(l),!0},finish(){return i(0),t}}}function cp(n,e,t,r,s){let i={type:n,id:e},o=[];for(let a=0;a<t.length;a+=1){let{key:u,value:l}=Pe(t[a]),f=js(n,u);if(f===void 0){let h=Gs(t,a,t[a-1]);h?(s(r.number,"invalid-value",h.message,e),a=h.end-1):s(r.number,"invalid-value",`${n} has no property "${u}"`,e);continue}let d=$e(l??"",f);"error"in d?s(r.number,"invalid-value",`${u}: ${d.error}`,e):i[u]=d.value}return us(n)&&(i.children=o),n==="text"&&(i.content=""),{indent:r.indent,type:n,record:i,children:o,runs:[]}}function fp(n,e,t){let r=n.record.id,s=e.words[1];if(s===void 0||s.includes("=")){t(e.number,"invalid-override","An override names the part it changes, e.g. override item.title fill=accent",r);return}let i=n.record.overrides??={},o=i[s]??={},a=e.words.slice(2);for(let u=0;u<a.length;u+=1){let{key:l,value:f}=Pe(a[u]),d=Pn(l)?Oo(l):void 0;if(d===void 0){let p=Gs(a,u,a[u-1]);p?(t(e.number,"invalid-value",p.message,r),u=p.end-1):l==="content"?t(e.number,"invalid-value","Write the text as quoted lines under the override",r):t(e.number,"invalid-value",`An override cannot set "${l}"`,r);continue}let h=$e(f??"",d);"error"in h?t(e.number,"invalid-value",`${l}: ${h.error}`,r):o[l]=h.value}return{indent:e.indent,props:o,runs:[]}}function dp(n){if(n.type==="text"&&(n.record.content=nl(n.runs)),n.type==="instance"){let e=n.record.overrides;for(let[t,r]of Object.entries(e??{}))Object.keys(r).length===0&&delete e?.[t];e&&Object.keys(e).length===0&&delete n.record.overrides}}function nl(n){if(n.length===0)return"";let e=n[0];return n.length===1&&typeof e=="string"?e:[...n]}function tl(n,e){let t=ct(n.words[0]);if(t===void 0){e(n.number,"invalid-run","Malformed quoted string");return}if(n.words.length===1)return t;let r={text:t};for(let s of n.words.slice(1)){let{key:i,value:o}=Pe(s),a=Rs.find(([l])=>l===i);if(!a){e(n.number,"invalid-run",`A run has no mark "${i}"`);continue}let u=$e(o??"",a[1]);"error"in u?e(n.number,"invalid-run",`${i}: ${u.error}`):r[i]=u.value}return r}var Go=U(()=>{"use strict";Ye();Ct();Ke()});function Ar(n){let e=[],t=Bo(e),r=Fn,s,i=!1,o={},a={},u={},l=jo(t),f=To(t,e),d,h={},p=!1,g=!1,E={},y=new Map,A,I=!1,m=()=>{if(!A)return;let C=A;A=void 0;let N=y.get(C.page);if(N!==void 0){t(C.number,"invalid-motion",`motion ${C.page} is written twice \u2014 put its lines in the block on line ${N}`,C.page);return}y.set(C.page,C.number);for(let[q,ee]of C.where)y.set(`${C.page} ${q}`,ee);let W=$o(C);W&&(E[C.page]=W)};for(let C of Uo(n)){let N=C.words[0];if(A&&C.indent>0){Fo(A,C,t);continue}if(!(I&&C.indent>0)){if(I=!1,m(),N==="motion"&&C.indent===0){d=void 0,A=Mo(C,t),I=A===void 0;continue}if(f.take(C)){d=void 0;continue}if(N==="version"){i=!0,mp(C,e);continue}if(N==="kind"&&C.indent===0){r=gp(C,e);continue}if(N==="title"&&C.indent===0){s=rl(C,t);continue}if(N==="theme"&&C.indent===0){d=void 0,p=!0,g&&t(C.number,"invalid-theme","theme dark is written twice \u2014 keep one block"),g=!0,(C.words[1]!=="dark"||C.words.length>2)&&t(C.number,"invalid-theme","Expected theme dark on its own line, with the tokens that differ indented under it");continue}if(N.startsWith("$")){if(d=void 0,p&&C.indent>0){zo(C,h,t);continue}p=!1,zo(C,o,t);continue}if(C.indent===0)p=!1;else if(p){t(C.number,"invalid-theme","A theme block holds only $name = value lines");continue}if(N==="asset"&&C.indent===0){d=void 0,bp(C,u,t);continue}if(N==="font"&&C.indent===0){d=yp(C,a,t);continue}if((N==="fallback"||N==="face")&&d){wp(N,C,d,t);continue}d=void 0,!l.push(C)&&t(C.number,"unknown-node-type",`Unknown statement "${N}"`)}}m();let P=pp(f.finish(),r,e),M=$n({dark:h}),$={...P===void 0?{}:{brand:P},...M===void 0?{}:{themes:M}},_=hp(l.finish(),e),S=Object.keys(E).length===0?{}:{motion:E},D=(C,N)=>y.get(N===void 0?C:`${C} ${N}`);if(!_){i||e.push({severity:"error",code:"invalid-document",message:"No nodes found"});let C=xr({id:rn,children:[]}),N=xs({kind:r,...s===void 0?{}:{title:s},tokens:o,fonts:a,assets:u,...S,...$,root:C});return e.push(...kr(N,D)),{document:N,problems:e}}let v=nn(_),F={version:Lt({kind:r,fonts:a,...$,root:v}),kind:r,...s===void 0?{}:{title:s},tokens:o,fonts:a,assets:u,...S,...$,root:v};return e.push(...kr(F,D)),{document:F,problems:e}}function hp(n,e){let t=n[0];if(t!==void 0){if(n.length===1&&t.type==="canvas")return t;for(let r of n){if(r.type!=="canvas")continue;let s=r.id;e.push({severity:"error",code:"invalid-document",message:"A canvas must be the only top-level node",...typeof s=="string"?{nodeId:s}:{}})}return{type:"canvas",id:rn,children:[...n]}}}function pp(n,e,t){let r=n.brand;if(!r)return;n.header||t.push({severity:"error",code:"invalid-brand",message:"A brand needs its brand line first, e.g. brand ember@1"});let s=Object.entries(r.guides).filter(([o,a])=>o!=="voice"||a.entries.some(u=>u.kind!=="banned")),i=Object.keys(r.roles).length+Object.keys(r.logos).length+s.length+r.review.length;return e!=="brand"&&i>0&&t.push({severity:"warning",code:"brand-only",message:"Roles, logos, guides and review define a brand, and are read in a kind brand document"}),r}function mp(n,e){gs.includes(Number(n.words[1]))||e.push({severity:"warning",code:"version-mismatch",message:`Line ${n.number}: expected version ${bs} or older, got ${n.words[1]??"nothing"}`})}function gp(n,e){let t=n.words[1];return t!==void 0&&br.includes(t)?t:(e.push({severity:"error",code:"unknown-kind",message:`Line ${n.number}: unknown kind "${t??"nothing"}" \u2014 this build reads ${br.join(", ")}`}),Fn)}function rl(n,e){let t=n.words.slice(1).join(" ").trim();if(t===""){e(n.number,"invalid-value",'title needs a name, e.g. title "Pitch deck"');return}let r=t.startsWith('"')?ct(t):t;if(r===void 0){e(n.number,"invalid-value",`Could not read the title ${t}`);return}return r.trim()===""?void 0:r}function zo(n,e,t){let{name:r,value:s}=_o(n.words);if(r===void 0||s===void 0){t(n.number,"invalid-token","Expected $name = value");return}if(!s.startsWith('"')&&/\s/.test(s)){t(n.number,"invalid-token",`$${r}: expected one value, got "${s}". Quote it if the value has spaces; there are no comments.`);return}let i=$e(s,"stringValue");if("error"in i){t(n.number,"invalid-token",`$${r}: ${i.error}`);return}if(typeof i.value!="string"){t(n.number,"invalid-token",`$${r} may not be an expression`);return}e[r]=sl(i.value,s)}function sl(n,e){let t=Number(n);return e.startsWith('"')||!Number.isFinite(t)||n.trim()===""?n:t}function _o(n){let e=n[0],t=i=>i.startsWith("$")?i.slice(1):i;if(n[1]==="=")return{name:t(e),value:n.slice(2).join(" ")||void 0};let{key:r,value:s}=Pe(e);return s!==void 0?{name:t(r),value:s}:{name:t(e)}}function bp(n,e,t){let r=n.words.slice(1),s=r[0],i=r[1]==="=",o=s===void 0?void 0:Pe(s),a=o?.key,u=i?r[2]:o?.value,l=r.slice(i?3:1);if(a===void 0||a===""||u===void 0){t(n.number,"invalid-asset","Expected asset <name> = <type> hash=\u2026 bytes=\u2026");return}let f={};for(let g of l){let{key:E,value:y}=Pe(g);if(y===void 0){t(n.number,"invalid-asset",`Asset "${a}" has a stray word "${g}"`);continue}f[E]=xp(y)}let d=f.hash,h=Number(f.bytes);if(d===void 0||!Number.isFinite(h)){t(n.number,"invalid-asset",`Asset "${a}" needs a hash and a bytes count`);return}let p=f.ms===void 0?void 0:Number(f.ms);if(p!==void 0&&!(Number.isFinite(p)&&p>=0)){t(n.number,"invalid-asset",`Asset "${a}": ms is the track's length, in milliseconds`);return}e[a]={type:u,hash:d,bytes:h,...p===void 0?{}:{ms:p},...f.credit===void 0?{}:{credit:f.credit},...f.source===void 0?{}:{source:f.source},...f.license===void 0?{}:{license:f.license}}}function xp(n){return n.startsWith('"')?ct(n)??n:n}function yp(n,e,t){let{name:r,value:s}=_o(n.words.slice(1));if(r===void 0||s===void 0){t(n.number,"invalid-font","Expected font <name> = <family>");return}let i=$e(s,"string"),o={family:"error"in i?s:i.value};return e[r]=o,{family:o,faces:[]}}function wp(n,e,t,r){if(n==="fallback"){let a=$e(e.words.slice(1).join(" "),"string");"error"in a?r(e.number,"invalid-font",`fallback: ${a.error}`):t.family.fallback=a.value;return}let s=e.words[1];if(s===void 0){r(e.number,"invalid-font-face","A face needs a src, or asset=");return}let i=s.startsWith("asset=")?s.slice(6):void 0,o={};if(i!==void 0){if(!vp.test(i)){r(e.number,"invalid-font-face",`asset=${i}: not an asset name`);return}o.asset=i}else{let a=$e(s,"string");o.src="error"in a?s:a.value}for(let a of e.words.slice(2)){let{key:u,value:l}=Pe(a);if(u!=="weight"&&u!=="style"){r(e.number,"invalid-font-face",`A face has no property "${u}"`);continue}let f=$e(l??"",u==="weight"?"number":"fontStyle");"error"in f?r(e.number,"invalid-font-face",`${u}: ${f.error}`):o[u]=f.value}t.faces.push(o),t.family.faces=t.faces}var vp,Wo=U(()=>{"use strict";sn();lt();Ct();_s();Ke();Vo();Xs();Go();vp=/^[A-Za-z_][\w-]*$/});var il=U(()=>{"use strict";tn();lt();Ye();Eo();Ke();Vo();_s();Xs();Wo();Go()});var ol=U(()=>{"use strict"});function qo(n){let e=Ap.exec(n);if(!e)return;let t=e[1]??"",r="",s=t;for(;;){let i=s.indexOf("<![CDATA[");if(i===-1){r+=al(s);break}r+=al(s.slice(0,i));let o=s.indexOf("]]>",i);if(o===-1){r+=s.slice(i+9);break}r+=s.slice(i+9,o),s=s.slice(o+3)}return`${r.replace(/^\n/,"").replace(/\n$/,"")}
|
|
7
|
-
`}function
|
|
8
|
-
`,Ap=/<vd:document\b[^>]*>([\s\S]*?)<\/vd:document\s*>/});var cl=U(()=>{"use strict";tn();sn();Ye();Ke();Ct();un();lt();Ke();Tn()});var fl=U(()=>{"use strict";lt();un();Ye()});function Ys(n){return/^\s*(linear|radial|conic|repeating-[a-z]+)-gradient\s*\(/i.test(n)}function Xo(n){let e=n.trim(),t=/^([a-z-]+)-gradient\s*\(([\s\S]*)\)$/i.exec(e);if(!t)return Ys(e)?{error:'A gradient needs its closing ")"'}:{kind:"solid",colour:e};let r=t[1].toLowerCase(),s=Lp(t[2]).map(i=>i.trim());if(s.some(i=>i===""))return{error:"A gradient has an empty argument"};if(r==="linear"){let i=Bp(s[0]),o=hl(i===void 0?s:s.slice(1));return"error"in o?o:{kind:"linear",angle:i??180,stops:o.stops}}if(r==="radial"){let i=Vp(s[0]);if(i&&"error"in i)return i;let o=hl(i?s.slice(1):s);return"error"in o?o:{kind:"radial",shape:i?.shape??"ellipse",cx:i?.cx??.5,cy:i?.cy??.5,stops:o.stops}}return{error:`${r}-gradient is not supported; use linear-gradient or radial-gradient`}}function Yo(n){let e=n.map(r=>r.at);e[0]===void 0&&(e[0]=0),e[e.length-1]===void 0&&(e[e.length-1]=1);let t=0;for(let r=0;r<e.length;r+=1){let s=e[r];s!==void 0&&(t=Math.max(t,s),e[r]=t)}for(let r=1;r<e.length;r+=1){if(e[r]!==void 0)continue;let s=r-1,i=r;for(;e[i]===void 0;)i+=1;let o=e[s],a=e[i];for(let u=r;u<i;u+=1)e[u]=o+(a-o)*(u-s)/(i-s);r=i}return n.map((r,s)=>({colour:r.colour,at:e[s]}))}function Lp(n){let e=[],t=0,r=0;for(let s=0;s<n.length;s+=1){let i=n[s];i==="("?t+=1:i===")"?t=Math.max(0,t-1):i===","&&t===0&&(e.push(n.slice(r,s)),r=s+1)}return e.push(n.slice(r)),e}function Bp(n){let e=/^(-?\d*\.?\d+)(deg|turn|rad)$/i.exec(n);if(e){let i=Number(e[1]),o=e[2].toLowerCase();return o==="turn"?i*360:o==="rad"?i*180/Math.PI:i}let t=/^to\s+([a-z]+)(?:\s+([a-z]+))?$/i.exec(n);if(!t)return;let r=0,s=0;for(let i of[t[1],t[2]]){if(i===void 0)continue;let o=Rp[i.toLowerCase()];if(!o)return;r+=o[0],s+=o[1]}return(Math.atan2(r,-s)*180/Math.PI+360)%360}function Vp(n){let e=/^(circle|ellipse)?\s*(?:at\s+(\S+)(?:\s+(\S+))?)?$/i.exec(n);if(!e||e[1]===void 0&&e[2]===void 0)return;let t=e[1]?.toLowerCase();if(e[2]===void 0)return t?{shape:t}:void 0;let r=dl(e[2]),s=e[3]===void 0?.5:dl(e[3]);return r===void 0||s===void 0?{error:`A radial centre is two percentages or keywords, not "${n}"`}:{...t?{shape:t}:{},cx:r,cy:s}}function dl(n){let e=Up[n.toLowerCase()];if(e!==void 0)return e;let t=/^(-?\d*\.?\d+)%$/.exec(n);return t?Number(t[1])/100:void 0}function hl(n){if(n.length<2)return{error:"A gradient needs at least two colours"};let e=[];for(let t of n){let r=/^([\s\S]*?\S)\s+(-?\d*\.?\d+)%$/.exec(t);if(r&&jp(r[1]))e.push({colour:r[1],at:Number(r[2])/100});else{if(/\s/.test(t.replace(/\([^)]*\)/g,"")))return{error:`"${t}" is not a colour with an optional percentage`};e.push({colour:t})}}return{stops:e}}function jp(n){let e=0;for(let t of n)if(t==="("&&(e+=1),t===")"&&(e-=1),e<0)return!1;return e===0}var Rp,Up,pl=U(()=>{"use strict";Rp={top:[0,-1],bottom:[0,1],left:[-1,0],right:[1,0]};Up={left:0,top:0,center:.5,right:1,bottom:1}});function Zo(n){let e=n.trim();if(e===""||e==="none")return{shadows:[]};let t=[];for(let r of Gp(e)){let s=zp(r.trim());if(s.includes("inset"))return{error:"Inner shadows (inset) are not supported yet"};let i=[],o=[];for(let d of s){let h=/^(-?\d*\.?\d+)(px)?$/.exec(d);h&&o.length===0?i.push(Number(h[1])):o.push(d)}if(i.length<2||i.length>4)return{error:`"${r.trim()}" needs x, y, then optional blur and spread`};if(o.length!==1)return{error:`"${r.trim()}" needs one colour after its numbers`};let[a=0,u=0,l=0,f=0]=i;if(l<0)return{error:"A shadow cannot have a negative blur"};t.push({x:a,y:u,blur:l,spread:f,colour:o[0]})}return{shadows:t}}function Gp(n){let e=[],t=0,r=0;for(let s=0;s<n.length;s+=1){let i=n[s];i==="("?t+=1:i===")"?t=Math.max(0,t-1):i===","&&t===0&&(e.push(n.slice(r,s)),r=s+1)}return e.push(n.slice(r)),e}function zp(n){let e=[],t=0,r="";for(let s of n){if(s==="("&&(t+=1),s===")"&&(t=Math.max(0,t-1)),/\s/.test(s)&&t===0){r!==""&&e.push(r),r="";continue}r+=s}return r!==""&&e.push(r),e}var ml=U(()=>{"use strict"});function Zs(n){return{x:n.x+n.w/2,y:n.y+n.h/2}}function gl(n,e,t){if(t===0)return n;let r=t*Math.PI/180,s=Math.cos(r),i=Math.sin(r),o=n.x-e.x,a=n.y-e.y;return{x:e.x+o*s-a*i,y:e.y+o*i+a*s}}function Ko(n,e,t=Zs(n)){if(e%360===0)return n;let r=[{x:n.x,y:n.y},{x:n.x+n.w,y:n.y},{x:n.x+n.w,y:n.y+n.h},{x:n.x,y:n.y+n.h}].map(u=>gl(u,t,e)),s=r.map(u=>u.x),i=r.map(u=>u.y),o=Math.min(...s),a=Math.min(...i);return{x:o,y:a,w:Math.max(...s)-o,h:Math.max(...i)-a}}var bl=U(()=>{"use strict"});var Je=U(()=>{"use strict";Tn();Ye();tn();sn();Du();Ct();Bu();Eo();Bn();Ke();Ke();Ju();Wo();il();ol();ll();Ro();cl();go();lt();un();fl();pl();ml();bl()});function Or(n){return xl.includes(n)}function Jo(n){return yl.includes(n)}var xl,yl,Ks=U(()=>{"use strict";xl=["x","y","w","h","left","right","top","bottom","cx","cy"];yl=["parent","prev","next","self","root"]});function e0(n){let e=[],t=0,r=()=>{if(!vl.test(n[t]??""))throw new De(`Expected a name at position ${t}`,t);let o=t;for(;t<n.length&&Qo.test(n[t]??"");)t++;return n.slice(o,t)},s=()=>{if(!Qo.test(n[t]??""))throw new De(`Expected a name at position ${t}`,t);let o=t;for(;t<n.length&&Qo.test(n[t]??"");)t++;return n.slice(o,t)},i=()=>{let o=[r()];for(;n[t]===".";)t++,o.push(s());return o};for(;t<n.length;){let o=n[t]??"";if(/\s/.test(o)){t++;continue}if(/[0-9]/.test(o)){let a=t;for(;t<n.length&&/[0-9]/.test(n[t]??"");)t++;if(n[t]==="."&&/[0-9]/.test(n[t+1]??""))for(t++;t<n.length&&/[0-9]/.test(n[t]??"");)t++;let u=n.slice(a,t),l=Number(u);if(!Number.isFinite(l))throw new De(`Bad number "${u}"`,a);n[t]==="%"?(t++,e.push({type:"percent",value:l})):e.push({type:"number",value:l});continue}if(o==="$"){t++,e.push({type:"token",name:r()});continue}if(o==="@"){t++,e.push({type:"ref",path:i()});continue}if(vl.test(o)){e.push({type:"word",path:i()});continue}if("+-*/()".includes(o)){t++,e.push({type:"op",value:o});continue}throw new De(`Unexpected character "${o}" at position ${t}`,t)}return e.push({type:"eof"}),e}var De,vl,Qo,t0=U(()=>{"use strict";De=class extends Error{position;constructor(e,t){super(e),this.position=t,this.name="ExprSyntaxError"}},vl=/[A-Za-z_]/,Qo=/[A-Za-z0-9_]/});function Js(n){try{let e=e0(n),t=new n0(e),r=t.parseBinary(0);return t.expectEof(),{ok:!0,ast:r}}catch(e){if(e instanceof De)return{ok:!1,message:e.message};throw e}}function Kp(n){return n==="+"||n==="-"||n==="*"||n==="/"}var Zp,n0,Qs=U(()=>{"use strict";Ks();t0();Zp={"+":1,"-":1,"*":2,"/":2};n0=class{tokens;index=0;constructor(e){this.tokens=e}peek(){return this.tokens[this.index]??{type:"eof"}}next(){let e=this.peek();return this.index++,e}expectEof(){if(this.peek().type!=="eof")throw new De("Unexpected trailing input",this.index)}parseBinary(e){let t=this.parseUnary();for(;;){let r=this.peek();if(r.type!=="op"||!Kp(r.value))break;let s=Zp[r.value];if(s<e)break;this.next();let i=this.parseBinary(s+1);t={kind:"binary",op:r.value,left:t,right:i}}return t}parseUnary(){let e=this.peek();return e.type==="op"&&(e.value==="-"||e.value==="+")?(this.next(),{kind:"unary",op:e.value,operand:this.parseUnary()}):this.parsePrimary()}parsePrimary(){let e=this.next();switch(e.type){case"number":return{kind:"number",value:e.value};case"percent":return{kind:"percent",value:e.value};case"token":return{kind:"token",name:e.name};case"ref":{if(e.path.length<2)throw new De(`@${e.path.join(".")} needs an edge, for example @${e.path.join(".")}.right`,this.index);return{kind:"nodeRef",path:e.path}}case"word":{let[t,r,...s]=e.path;if(t===void 0||!Jo(t))throw new De(`Unknown name "${e.path.join(".")}". Use $token for a token or @id.edge for a node.`,this.index);if(r===void 0||!Or(r)||s.length>0)throw new De(`${t} needs an edge, for example ${t}.w`,this.index);return{kind:"relRef",word:t,edge:r}}case"op":{if(e.value==="("){let t=this.parseBinary(0),r=this.next();if(r.type!=="op"||r.value!==")")throw new De("Missing closing parenthesis",this.index);return t}throw new De(`Unexpected "${e.value}"`,this.index)}case"eof":throw new De("Unexpected end of expression",this.index)}}}});var wl=U(()=>{"use strict";Je()});function ft(n,e){return`${n} ${e}`}function r0(n){switch(n){case"x":case"left":return["x"];case"y":case"top":return["y"];case"w":return["w"];case"h":return["h"];case"right":case"cx":return["x","w"];case"bottom":case"cy":return["y","h"]}}function s0(n,e,t,r,s){switch(n){case"x":case"left":return e;case"y":case"top":return t;case"w":return r;case"h":return s;case"right":return e+r;case"bottom":return t+s;case"cx":return e+r/2;case"cy":return t+s/2}}function i0(n){switch(n){case"x":case"left":case"right":case"cx":return"x";case"y":case"top":case"bottom":case"cy":return"y";case"w":case"h":return}}function o0(n,e,t){let r=d=>{let h=[];for(let p=t.parentOf.get(d);p!==void 0;p=t.parentOf.get(p))h.push(p);return h},s=r(n),i=r(e),o=new Set(i),a=s.find(d=>o.has(d)),u=d=>a===void 0?d:d.slice(0,d.indexOf(a)),l=new Map([[n,1]]),f=(d,h)=>{let p=(l.get(d)??0)+h;p===0?l.delete(d):l.set(d,p)};for(let d of u(s))f(d,1);for(let d of u(i))f(d,-1);return l}function a0(n){switch(n){case"right":case"bottom":return 1;case"cx":case"cy":return .5;default:return 0}}function ei(n){if(n==="x"||n==="w")return"w";if(n==="y"||n==="h")return"h"}function u0(n){let e=new Map,t=new Map,r=new Map,s=new Map,i=new Map,o=[];Te(n.root,(d,h)=>{if(e.has(d.id)||e.set(d.id,d),o.push(d),h){t.set(d.id,h.id);let p=i.get(h.id)??[],g=h.type==="instance"?[h.id,...p]:p;g.length>0&&i.set(d.id,g)}Ie(d)&&d.children.forEach((p,g)=>{let E=d.children[g-1],y=d.children[g+1];E&&r.set(p.id,E.id),y&&s.set(p.id,y.id)})});let a=new Map;for(let d of o){let h=t.get(d.id);for(;h!==void 0;){let p=e.get(h);if(!p||!gr(p))break;h=t.get(h)}h!==void 0&&a.set(d.id,h)}let u=new Map,l=new Map,f=d=>{if(Ie(d)){if(!gr(d)){let h=Sl(d);h.forEach((p,g)=>{let E=h[g-1],y=h[g+1];E&&u.set(p.id,E.id),y&&l.set(p.id,y.id)})}for(let h of d.children)f(h)}};return f(n.root),{rootId:n.root.id,byId:e,parentOf:t,prevOf:r,nextOf:s,layoutParentOf:a,layoutPrevOf:u,layoutNextOf:l,scopeOf:i,order:o}}function Sl(n){let e=[];for(let t of n.children)Ie(t)&&gr(t)?e.push(...Sl(t)):e.push(t);return e}function ti(n,e,t){if(n.kind==="relRef"){let i=Jp(n.word,e,t);return i===void 0?{ok:!1,message:`${e} has no ${n.word}`}:{ok:!0,nodeId:i,edge:n.edge}}let r=n.path[n.path.length-1]??"",s=n.path.slice(0,-1).join(".");if(!Or(r))return{ok:!1,message:`"${r}" is not an edge of @${s}`};for(let i of t.scopeOf.get(e)??[]){let o=`${i}.${s}`;if(t.byId.has(o))return{ok:!0,nodeId:o,edge:r};let a=t.byId.get(i);if(a?.type==="instance"&&a.component===s)return{ok:!0,nodeId:i,edge:r}}return t.byId.has(s)?{ok:!0,nodeId:s,edge:r}:{ok:!1,message:`No node @${s}`}}function Jp(n,e,t){switch(n){case"self":return e;case"root":return t.rootId;case"parent":return t.layoutParentOf.get(e);case"prev":return t.layoutPrevOf.get(e);case"next":return t.layoutNextOf.get(e)}}var l0=U(()=>{"use strict";Je();Ks()});function c0(n){let e=[...po(n.root)],t=u0(n),r=Qp(t),s=new Set;t1(r,e),n1(r,n,t,s,e);let i=r1(r);s1(r,i,e);let o=i1(r,i,n,t,s,e);return{nodes:a1(n.root,o,r,e),problems:e}}function Qp(n){let e=new Map;for(let t of n.order){let r=t;for(let s of ls(t)){let i=r[s]??e1(t,s,n);i!==void 0&&e.set(ft(t.id,s),{nodeId:t.id,prop:s,value:i,deps:[]})}}return e}function e1(n,e,t){if(!(n.type!=="instance"||e!=="w"&&e!=="h")&&t.byId.get(n.component)?.type==="frame")return en(`@${n.component}.${e}`)}function t1(n,e){for(let t of n.values()){if(!it(t.value))continue;let r=Js(t.value.expr);if(r.ok){t.ast=r.ast;continue}e.push({severity:"error",code:"expression-syntax",message:r.message,nodeId:t.nodeId,prop:t.prop})}}function n1(n,e,t,r,s){for(let i of n.values()){if(!i.ast)continue;let o=new Set,a=u=>{switch(u.kind){case"number":return;case"token":{let l=Ze(e)[u.name];typeof l!="number"&&s.push({severity:"error",code:l===void 0?"unknown-token":"token-not-a-number",message:l===void 0?`Unknown token $${u.name}`:`Token $${u.name} is not a number`,nodeId:i.nodeId,prop:i.prop});return}case"percent":{let l=ei(i.prop);if(!l)return;let f=t.layoutParentOf.get(i.nodeId),d=f===void 0?void 0:ft(f,l);if(d===void 0||!n.has(d)){s.push({severity:"error",code:"percent-without-parent",message:`${i.nodeId}.${i.prop} uses a percentage but has no parent to measure against`,nodeId:i.nodeId,prop:i.prop});return}o.add(d);return}case"nodeRef":case"relRef":{let l=ti(u,i.nodeId,t);if(!l.ok){r.add(u),s.push({severity:"error",code:"unknown-reference",message:l.message,nodeId:i.nodeId,prop:i.prop});return}let f=h=>{n.has(h)&&o.add(h)},d=i0(l.edge);if(!d){for(let h of r0(l.edge))f(ft(l.nodeId,h));return}for(let h of o0(l.nodeId,i.nodeId,t).keys())f(ft(h,d));a0(l.edge)!==0&&f(ft(l.nodeId,d==="x"?"w":"h"));return}case"unary":a(u.operand);return;case"binary":a(u.left),a(u.right);return}};a(i.ast),i.deps=[...o]}}function r1(n){let e=new Map,t=new Map;for(let[i,o]of n){e.set(i,o.deps.length);for(let a of o.deps){let u=t.get(a);u?u.push(i):t.set(a,[i])}}let r=[];for(let[i,o]of e)o===0&&r.push(i);let s=[];for(let i=0;i<r.length;i++){let o=r[i];s.push(o);for(let a of t.get(o)??[]){let u=(e.get(a)??0)-1;e.set(a,u),u===0&&r.push(a)}}return s}function s1(n,e,t){if(e.length===n.size)return;let r=new Set(e);for(let[s,i]of n)r.has(s)||t.push({severity:"error",code:"cycle",message:`${i.nodeId}.${i.prop} is part of a dependency cycle`,nodeId:i.nodeId,prop:i.prop})}function i1(n,e,t,r,s,i){let o=new Map,a=(u,l)=>o.get(ft(u,l))??0;for(let u of e){let l=n.get(u);if(l){if(!it(l.value)){o.set(u,l.value);continue}if(!l.ast){o.set(u,0);continue}o.set(u,kl(l.ast,l,t,r,s,i,a))}}return o}function kl(n,e,t,r,s,i,o){let a=u=>kl(u,e,t,r,s,i,o);switch(n.kind){case"number":return n.value;case"token":{let u=Ze(t)[n.name];return typeof u=="number"?u:0}case"percent":{let u=ei(e.prop);if(!u)return n.value/100;let l=r.layoutParentOf.get(e.nodeId);return l===void 0?0:n.value/100*o(l,u)}case"nodeRef":case"relRef":{if(s.has(n))return 0;let u=ti(n,e.nodeId,r);if(!u.ok)return 0;let l=i0(u.edge);if(!l)return s0(u.edge,o(u.nodeId,"x"),o(u.nodeId,"y"),o(u.nodeId,"w"),o(u.nodeId,"h"));let f=a0(u.edge)*o(u.nodeId,l==="x"?"w":"h");for(let[d,h]of o0(u.nodeId,e.nodeId,r))f+=h*o(d,l);return f}case"unary":{let u=a(n.operand);return n.op==="-"?-u:u}case"binary":{let u=a(n.left),l=a(n.right);if(n.op==="/"&&l===0)return i.push({severity:"error",code:"divide-by-zero",message:`${e.nodeId}.${e.prop} divides by zero`,nodeId:e.nodeId,prop:e.prop}),0;let f=o1(n.op,u,l);return Number.isFinite(f)?f:(i.push({severity:"error",code:"not-a-number",message:`${e.nodeId}.${e.prop} did not produce a finite number`,nodeId:e.nodeId,prop:e.prop}),0)}}}function o1(n,e,t){switch(n){case"+":return e+t;case"-":return e-t;case"*":return e*t;case"/":return e/t}}function a1(n,e,t,r){let s=new Map,i=(a,u)=>e.get(ft(a,u))??0,o=(a,u,l)=>{let f=i(a.id,"x"),d=i(a.id,"y"),h=i(a.id,"w"),p=i(a.id,"h"),g={};for(let A of ls(a)){let I=ft(a.id,A);t.has(I)&&(g[A]=e.get(I)??0)}(h<0||p<0)&&r.push({severity:"warning",code:"negative-size",message:`${a.id} resolved to a negative size`,nodeId:a.id});let E=u+f,y=l+d;if(s.set(a.id,{id:a.id,type:a.type,x:f,y:d,w:h,h:p,left:f,top:d,right:f+h,bottom:d+p,cx:f+h/2,cy:d+p/2,absX:E,absY:y,values:g}),Ie(a))for(let A of a.children)o(A,E,y)};return o(n,0,0),s}var Cl=U(()=>{"use strict";Je();l0();Qs()});var El=U(()=>{"use strict";Je();Qs()});var Al=U(()=>{"use strict";Ks();t0();Qs();wl();l0();Cl();El()});function Rt(){return{advance(n,e){return n.length*(e.size*.5+e.letterSpacing)},metrics(n){return{ascent:n.size*.8,descent:n.size*.2,lineGap:0}}}}function f0(n,e){if(n===void 0)return Il;let t=e[n];return t?t.fallback?`${Ol(t.family)}, ${t.fallback}`:Ol(t.family):n}function Ol(n){return/^[A-Za-z][A-Za-z0-9 -]*$/.test(n)?n:JSON.stringify(n)}function d0(n,e,t,r){let s={family:f0(e.font,t),size:e.size,weight:e.weight,italic:e.italic,underline:!1,strike:!1,fill:r(e.fill),letterSpacing:e.letterSpacing},i=typeof n=="string"?[n]:n,o=[];for(let a of i){if(typeof a=="string"){a.length>0&&o.push({text:a,style:s});continue}let u=a;u.text.length!==0&&o.push({text:u.text,style:{family:u.font===void 0?s.family:f0(u.font,t),size:u.size??s.size,weight:u.weight??s.weight,italic:u.italic??s.italic,underline:u.underline??!1,strike:u.strike??!1,fill:u.fill===void 0?s.fill:r(u.fill),letterSpacing:u.letterSpacing??s.letterSpacing,...u.link!==void 0&&on(u.link)?{link:u.link}:{}}})}return o}function u1(n,e){let t=[];for(let r of n)for(let s of r.text.split(/(\n)/))if(s!==""){if(s===`
|
|
9
|
-
`){let i=t[t.length-1];i&&!i.hardBreak?t[t.length-1]={...i,hardBreak:!0}:t.push({text:"",style:r.style,w:0,hardBreak:!0,glued:!1});continue}for(let i of s.match(/\S+\s*|\s+/g)??[]){let o=t[t.length-1];t.push({text:i,style:r.style,w:e.advance(i,r.style),hardBreak:!1,glued:o!==void 0&&!o.hardBreak&&/\S$/.test(o.text)&&/^\S/.test(i)})}}return t}function l1(n,e,t){let r=[...n.text],s=[],i="";for(let o of r){let a=i+o;if(i!==""&&t.advance(a,n.style)>e){s.push({text:i,style:n.style,w:t.advance(i,n.style),hardBreak:!1,glued:s.length===0&&n.glued}),i=o;continue}i=a}return i!==""&&s.push({text:i,style:n.style,w:t.advance(i,n.style),hardBreak:n.hardBreak,glued:s.length===0&&n.glued}),s.length>0?s:[n]}function Fl(n,e){let{width:t,measure:r}=e,s=u1(r.itemize?n.flatMap(l=>r.itemize?.(l)??[l]):n,r);if(s.length===0){let l=n[0]?.style,f=l?e.lineHeight*l.size:0;return{lines:l?[f1(l,e.lineHeight)]:[],width:0,height:f}}let i=[],o=[],a=0,u=()=>{i.push(o),o=[],a=0};for(let l=0;l<s.length;){let f=l+1;for(;s[f]?.glued;)f+=1;let d=s.slice(l,f);l=f,d.length>1&&o.length>0&&a+c1(d,r)>t&&u();for(let h of d){let p=o.length===0&&h.w>t&&t>0?l1(h,t,r):[h];for(let g of p){let E=g.text.trimEnd(),y=E===g.text?g.w:r.advance(E,g.style);o.length>0&&a+y>t&&u(),o.push(g),a+=g.w,g.hardBreak&&u()}}}return o.length>0&&i.push(o),d1(i,e)}function c1(n,e){let t=n[n.length-1],r=t.text.trimEnd(),s=r===t.text?t.w:e.advance(r,t.style);return n.slice(0,-1).reduce((i,o)=>i+o.w,0)+s}function f1(n,e){let t=e*n.size;return{y:0,h:t,baseline:t*.8,w:0,spans:[],style:n}}function d1(n,e){let t=[],r=0,s=0;return n.forEach((i,o)=>{let a=i.map(S=>S.style.size),u=Math.max(...a,0),l=e.lineHeight*u,f=i.map(S=>e.measure.metrics(S.style)),d=Math.max(...f.map(S=>S.ascent),0),h=Math.max(...f.map(S=>S.descent),0),p=r+(l-(d+h))/2+d,g=h1(i,e.measure),E=g.reduce((S,D)=>S+D.w,0);s=Math.max(s,E);let y=o===n.length-1||(i[i.length-1]?.hardBreak??!1),A=g.filter((S,D)=>D>0&&!S.glued).length,I=e.align==="justify"&&!y&&A>0,m=Math.max(0,e.width-E),P=e.align==="center"?m/2:e.align==="right"?m:0,M=I?m/A:0,$=[],_=P;g.forEach((S,D)=>{$.push({text:S.text,style:S.style,x:_,w:S.w});let v=g[D+1];_+=S.w+(v&&!v.glued?M:0)}),t.push({y:r,h:l,baseline:p,w:E,spans:p1($,I)}),r+=l}),{lines:t,width:s,height:r}}function h1(n,e){let t=[...n];for(;t.length>0;){let r=t[t.length-1],s=r.text.trimEnd();if(s===r.text)break;if(s===""){t.pop();continue}t[t.length-1]={...r,text:s,w:e.advance(s,r.style)};break}return t}function p1(n,e){if(e)return[...n];let t=[];for(let r of n){let s=t[t.length-1];if(s&&$l(s.style,r.style)&&Math.abs(s.x+s.w-r.x)<.01){t[t.length-1]={...s,text:s.text+r.text,w:s.w+r.w};continue}t.push(r)}return t}function $l(n,e){return n.family===e.family&&n.size===e.size&&n.weight===e.weight&&n.italic===e.italic&&n.underline===e.underline&&n.strike===e.strike&&n.fill===e.fill&&n.letterSpacing===e.letterSpacing&&n.link===e.link}function h0(n,e,t,r,s,i){let o={size:e.size??Tl,weight:e.weight??Pl,lineHeight:e.lineHeight??Ml,letterSpacing:e.letterSpacing??0,italic:n.italic??!1,font:typeof n.font=="string"?n.font:void 0,fill:typeof n.fill=="string"?n.fill:ni},a=d0(n.content,o,r,s),u=d0(" ",o,r,s).map(l=>({...l,text:""}));return Fl(a.length>0?a:u,{width:t,align:n.align??"left",lineHeight:o.lineHeight,measure:i})}function p0(n,e,t){let r=e-t;return n.valign==="middle"?r/2:n.valign==="bottom"?r:0}var Il,Tl,Pl,Ml,ni,ri=U(()=>{"use strict";Je();Il="system-ui, -apple-system, Segoe UI, Roboto, sans-serif",Tl=16,Pl=400,Ml=1.2,ni="#0F172A"});function m0(n){return n.lines.filter(e=>e.spans.length>0)}function oi(n){switch(n.kind){case"text":{let e=m0(n),t=Math.max(n.w,...e.map(s=>s.w)),r=Math.max(n.y+n.h,...e.map(s=>s.y+s.h));return{x:n.x,y:n.y,w:t,h:r-n.y}}case"vector":{let e=So(n.contours)??{x:n.x,y:n.y,w:n.w,h:n.h},t=n.stroke!==void 0?n.strokeWidth*2:0;return{x:e.x-t,y:e.y-t,w:e.w+t*2,h:e.h+t*2}}case"rect":case"ellipse":{let e=n.stroke!==void 0?n.strokeWidth/2:0;return{x:n.x-e,y:n.y-e,w:n.w+e*2,h:n.h+e*2}}case"frame":case"image":return{x:n.x,y:n.y,w:n.w,h:n.h}}}function ai(n,e){let t=n.x,r=n.y,s=n.x+n.w,i=n.y+n.h;for(let o of e){let a=o.spread+o.blur;t=Math.min(t,n.x+o.x-a),r=Math.min(r,n.y+o.y-a),s=Math.max(s,n.x+n.w+o.x+a),i=Math.max(i,n.y+n.h+o.y+a)}return{x:t,y:r,w:s-t,h:i-r}}function Bl(n,e,t={}){let r=[...e.problems],s=[],i=[],o=t.measure??Rt(),a=S1(Ze(n),r),u=a.paint,l=new Map,f=Mn(n.root);Te(n.root,(y,A)=>{if("hidden"in y&&y.hidden===!0)return!1;let I=A?l.get(A.id):void 0,m=e.nodes.get(y.id);if(!m){l.set(y.id,I);return}let P=y.type==="frame"?y:y.type==="instance"?f.get(y.component):void 0;if(y.type==="instance"&&!P){l.set(y.id,I);return}if(P){y.type==="frame"&&y.skip===!0&&A!==n.root&&r.push({severity:"warning",code:"skip-not-a-page",message:`${y.id}: skip only applies to a page, a frame at the top level`,nodeId:y.id,prop:"skip"});let $={x:m.absX,y:m.absY,w:Math.max(0,m.w),h:Math.max(0,m.h)};l.set(y.id,P.clip===!0?y.id:I),P.clip===!0&&i.push({id:y.id,...$,parent:I}),s.push({kind:"frame",id:y.id,...$,background:u(P.background,y.id,"background",$),clip:I,blend:P.blend??"normal",shadows:Vn(P.shadow,y.id,Ze(n),r),rotation:0});return}if(l.set(y.id,I),y.type==="text"){s.push(g1(y,m,n,o,r,I,u));return}if(y.type==="image"){s.push({kind:"image",id:y.id,x:m.absX,y:m.absY,w:Math.max(0,m.w),h:Math.max(0,m.h),href:E1(y,n,t.resolveAsset,r),fit:y.fit??"fill",radius:Math.max(0,m.values.radius??0),opacity:Tr(m.values.opacity??1),clip:I,blend:y.blend??"normal",shadows:Vn(y.shadow,y.id,Ze(n),r),rotation:m.values.rotation??0});return}if(y.type==="ellipse"){let $=Nl(m);s.push({kind:"ellipse",id:y.id,...$,fill:u(y.fill,y.id,"fill",$)??ii,stroke:u(y.stroke,y.id,"stroke",$),strokeWidth:m.values.strokeWidth??0,opacity:Tr(m.values.opacity??1),clip:I,blend:y.blend??"normal",shadows:Vn(y.shadow,y.id,Ze(n),r),rotation:m.values.rotation??0});return}if(y.type==="vector"){s.push(w1(y,m,r,I,u,Vn(y.shadow,y.id,Ze(n),r)));return}if(y.type!=="rect")return;let M=Nl(m);s.push({kind:"rect",id:y.id,...M,fill:u(y.fill,y.id,"fill",M)??ii,stroke:u(y.stroke,y.id,"stroke",M),strokeWidth:m.values.strokeWidth??0,radius:Math.max(0,m.values.radius??0),opacity:Tr(m.values.opacity??1),clip:I,blend:y.blend??"normal",shadows:Vn(y.shadow,y.id,Ze(n),r),rotation:m.values.rotation??0})});let d=e.nodes.get(n.root.id),h=n.root.w!==void 0&&n.root.h!==void 0,p=h?{x:0,y:0,width:Math.max(0,d?.w??0),height:Math.max(0,d?.h??0)}:m1(s,i),g={x:p.x,y:p.y,w:p.width,h:p.height},E=u(n.root.background,n.root.id,"background",g);return{...p,background:h?E??Rl:E,items:s,clips:i,gradients:a.gradients,problems:r}}function m1(n,e){let t=new Map;for(let a of e){let u=a.parent===void 0?void 0:t.get(a.parent);t.set(a.id,u?Dl(a,u):a)}let r=1/0,s=1/0,i=-1/0,o=-1/0;for(let a of n){let u=a.kind==="text"&&m0(a).length>0?Math.max(a.h,a.height):a.h,l=a.clip===void 0?void 0:t.get(a.clip),f=Ko(ai({x:a.x,y:a.y,w:a.w,h:u},a.shadows),a.rotation,Zs(a)),d=l?Dl(f,l):f;d.w<=0||d.h<=0||(r=Math.min(r,d.x),s=Math.min(s,d.y),i=Math.max(i,d.x+d.w),o=Math.max(o,d.y+d.h))}return Number.isFinite(r)?{x:r,y:s,width:i-r,height:o-s}:{x:0,y:0,width:0,height:0}}function Dl(n,e){let t=Math.max(n.x,e.x),r=Math.max(n.y,e.y);return{x:t,y:r,w:Math.min(n.x+n.w,e.x+e.w)-t,h:Math.min(n.y+n.h,e.y+e.h)-r}}function jn(n,e={}){return Bl(n,c0(n),e)}function g1(n,e,t,r,s,i,o){let a=Math.max(0,e.w),u=Math.max(0,e.h),l={x:e.absX,y:e.absY,w:a,h:u},f=h0(n,e.values,a,t.fonts,p=>o(p,n.id,"fill",l)??ni,r);!f.lines.every(p=>p.spans.length===0)&&f.height>u+.5&&s.push({severity:"warning",code:"text-overflow",message:`${n.id} needs ${Math.ceil(f.height)}px but its height is ${Math.round(u)}px`,nodeId:n.id,prop:"h"}),b1(n,t,s);let h=e.absY+p0(n,u,f.height);return{kind:"text",id:n.id,x:e.absX,y:e.absY,w:a,h:u,clip:i,blend:n.blend??"normal",shadows:Vn(n.shadow,n.id,Ze(t),s),rotation:e.values.rotation??0,opacity:Tr(e.values.opacity??1),height:f.height,lines:f.lines.map(p=>({y:h+p.y,h:p.h,baseline:h+p.baseline,w:p.w,spans:p.spans.map(g=>({text:g.text,x:e.absX+g.x,y:h+p.baseline,w:g.w,style:g.style})),...p.style?{style:p.style}:{}}))}}function b1(n,e,t){if(typeof n.content!="string")for(let r of n.content){if(typeof r=="string"||r.link===void 0)continue;let s=on(r.link);if(!s){t.push({severity:"warning",code:"invalid-link",message:`${n.id}: links go to https:, mailto: or #<frame>, not ${JSON.stringify(r.link)}`,nodeId:n.id,prop:"content"});continue}s.kind==="frame"&&!x1(e,s.id)&&t.push({severity:"warning",code:"link-target-missing",message:`${n.id}: links to #${s.id}, which is not a frame`,nodeId:n.id,prop:"content"})}}function x1(n,e){let t=!1;return Te(n.root,r=>{if(t)return!1;r.id===e&&r.type==="frame"&&(t=!0)}),t}function v1(n){let e=Ir.get(n);if(e)return e;let t=bo(n);return Ir.size>=y1&&Ir.delete(Ir.keys().next().value),Ir.set(n,t),t}function w1(n,e,t,r,s,i){let o=Math.max(0,e.w),a=Math.max(0,e.h),u={x:e.absX,y:e.absY,w:o,h:a},{contours:l,error:f}=v1(n.d);f!==void 0&&t.push({severity:"error",code:"bad-path",message:`${n.id}: ${f}`,nodeId:n.id,prop:"d"}),n.view!==void 0&&Ds(n.view)===void 0&&t.push({severity:"warning",code:"bad-view",message:`${n.id}: view must be four numbers, like "0 0 24 24"`,nodeId:n.id,prop:"view"});let d=wo(l,Co(ko(n.view,o,a),u));return{kind:"vector",id:n.id,...u,d:xo(d),contours:d,fill:s(n.fill,n.id,"fill",u)??ii,stroke:s(n.stroke,n.id,"stroke",u),strokeWidth:e.values.strokeWidth??0,opacity:Tr(e.values.opacity??1),rule:n.rule??"nonzero",cap:n.cap??"butt",join:n.join??"miter",clip:r,blend:n.blend??"normal",shadows:i,rotation:e.values.rotation??0}}function Ul(n,e,t,r,s){if(n===void 0)return;if(it(n)){s.push({severity:"warning",code:"expression-not-supported",message:`Expressions are not supported for ${r} yet; grammar v0 is numeric only`,nodeId:t,prop:r});return}let i=e[n];if(i===void 0)return n;if(typeof i=="string")return i;s.push({severity:"error",code:"token-not-a-colour",message:`Token $${n} is a number, not a colour`,nodeId:t,prop:r})}function Nl(n){return{x:n.absX,y:n.absY,w:Math.max(0,n.w),h:Math.max(0,n.h)}}function S1(n,e){let t=[],r=new Map;return{paint:(i,o,a,u)=>{let l=Ul(i,n,o,a,e);if(l===void 0)return;if(/url\(/i.test(l)){e.push({severity:"error",code:"invalid-paint",message:`${o}: a paint is a colour or a gradient, not ${JSON.stringify(l)}`,nodeId:o,prop:a});return}let f=Xo(l);if("error"in f){e.push({severity:"error",code:"invalid-paint",message:`${o}: ${f.error}`,nodeId:o,prop:a});return}if(f.kind==="solid")return l;let d=`${o}\0${a}\0${l}`,h=r.get(d);if(h!==void 0)return`url(#${h})`;let p=[...r.keys()].filter(y=>y.startsWith(`${o}\0${a}\0`)).length,g=`${Ll}${o}-${a}${p===0?"":`-${p+1}`}`;r.set(d,g);let E=Yo(f.stops).map(y=>({offset:y.at,colour:Vl(y.colour,n,o,a,e)}));return t.push(C1(f,g,u,k1(E))),`url(#${g})`},gradients:t}}function Vn(n,e,t,r){let s=Ul(n,t,e,"shadow",r);if(s===void 0)return[];let i=Zo(s);return"error"in i?(r.push({severity:"error",code:"invalid-shadow",message:`${e}: ${i.error}`,nodeId:e,prop:"shadow"}),[]):i.shadows.map(o=>({...o,colour:Vl(o.colour,t,e,"shadow",r)}))}function k1(n){return n.map((e,t)=>{if(e.colour.trim().toLowerCase()!=="transparent")return e;let r=[n[t-1],n[t+1]].find(s=>s!==void 0&&s.colour.trim().toLowerCase()!=="transparent");return r===void 0?e:{offset:e.offset,colour:r.colour,opacity:0}})}function Vl(n,e,t,r,s){let i=e[n];return i===void 0?n:typeof i=="string"&&!Ys(i)?i:(s.push({severity:"error",code:"invalid-paint",message:`${t}: a gradient stop names $${n}, which is not a colour`,nodeId:t,prop:r}),"transparent")}function C1(n,e,t,r){if(n.kind==="linear"){let l=n.angle*Math.PI/180,f=Math.sin(l),d=-Math.cos(l),h=(Math.abs(t.w*f)+Math.abs(t.h*d))/2,p=t.x+t.w/2,g=t.y+t.h/2;return{id:e,kind:"linear",x1:si(p-f*h),y1:si(g-d*h),x2:si(p+f*h),y2:si(g+d*h),stops:r}}let s=t.x+t.w*n.cx,i=t.y+t.h*n.cy,o={x:Math.max(s-t.x,t.x+t.w-s),y:Math.max(i-t.y,t.y+t.h-i)};if(n.shape==="circle"||o.x===0||o.y===0){let l=Math.hypot(o.x,o.y);return{id:e,kind:"radial",cx:s,cy:i,rx:l,ry:l,stops:r}}let a=o.x/o.y,u=Math.hypot(o.x/a,o.y);return{id:e,kind:"radial",cx:s,cy:i,rx:u*a,ry:u,stops:r}}function si(n){return Math.round(n*1e6)/1e6}function Tr(n){return Math.min(Math.max(n,0),1)}function E1(n,e,t,r){let s=it(n.src)?void 0:n.src,i=s===void 0?void 0:e.assets[s];if(!i){r.push({severity:"warning",code:"missing-asset",message:`No picture for ${JSON.stringify(s??n.src)} yet: an image slot waiting for one`,nodeId:n.id,prop:"src"});return}let o=t?.(i,s);return o===void 0&&r.push({severity:"warning",code:"unresolved-asset",message:`The bytes for asset "${s}" are not available here`,nodeId:n.id,prop:"src"}),o}var Ll,ii,Rl,Ir,y1,Gn=U(()=>{"use strict";Je();Al();ri();Ll="vd-paint-",ii="#CBD5E1",Rl="#FFFFFF";Ir=new Map,y1=512});var jl=U(()=>{"use strict";Je();Gn();ri()});var Gl=U(()=>{"use strict";Je();Gn()});function Mr(n,e={}){let t=e.indent??" ",r={ids:e.ids??!0,prefix:e.idPrefix??""},s=B(n.width),i=B(n.height),o=`${B(n.x)} ${B(n.y)} ${s} ${i}`,a=[`<svg xmlns="http://www.w3.org/2000/svg" width="${s}" height="${i}" viewBox="${o}">`],u=n.items.filter(l=>l.shadows.length>0);if(n.clips.length>0||n.gradients.length>0||u.length>0){a.push(`${t}<defs>`);for(let l of n.clips)a.push(t+t+I1(l,r.prefix));for(let l of n.gradients)a.push(t+t+T1(l,r.prefix));for(let l of u)a.push(t+t+F1(l,e.shadowsOnly,r.prefix));a.push(`${t}</defs>`)}n.background!==void 0&&a.push(`${t}<rect x="${B(n.x)}" y="${B(n.y)}" width="${s}" height="${i}" fill="${le(dn(n.background,r))}"/>`);for(let l of n.items){let f=$1(l,r);f!==""&&a.push(t+f)}return a.push("</svg>"),`${a.join(`
|
|
2
|
+
/*! @getv.design/embed v0.6.1. Free to use under the vDesign Embed Licence. © 2026 vDesign. https://getv.design/docs/licence/ */
|
|
3
|
+
var d1=Object.create;var ia=Object.defineProperty;var h1=Object.getOwnPropertyDescriptor;var p1=Object.getOwnPropertyNames;var m1=Object.getPrototypeOf,g1=Object.prototype.hasOwnProperty;var B=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var Oe=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}},b1=(t,e)=>{for(var n in e)ia(t,n,{get:e[n],enumerable:!0})},x1=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of p1(e))!g1.call(t,s)&&s!==n&&ia(t,s,{get:()=>e[s],enumerable:!(r=h1(e,s))||r.enumerable});return t};var jt=(t,e,n)=>(n=t!=null?d1(m1(t)):{},x1(e||!t||!t.__esModule?ia(n,"default",{value:t,enumerable:!0}):n,t));function mn(t){return{expr:t}}function Ue(t){return typeof t=="object"&&t!==null&&typeof t.expr=="string"}var Xn=B(()=>{"use strict"});function Bs(t){let e=t.radius??0,n=r=>Math.max(0,t[r]??e);return{tl:n("radiusTL"),tr:n("radiusTR"),br:n("radiusBR"),bl:n("radiusBL")}}function Us(t,e,n){let r=Math.max(0,e),s=Math.max(0,n),i=1,o=(a,u)=>{u>0&&(i=Math.min(i,a/u))};return o(r,t.tl+t.tr),o(r,t.bl+t.br),o(s,t.tl+t.bl),o(s,t.tr+t.br),i>=1?t:{tl:t.tl*i,tr:t.tr*i,br:t.br*i,bl:t.bl*i}}function Yn(t,e,n){return Us(Bs(t),e,n)}function zt(t){return t.tl<=0&&t.tr<=0&&t.br<=0&&t.bl<=0}function oa(t){return t.tl===t.tr&&t.tr===t.br&&t.br===t.bl}function aa(t){if(!t.startsWith('"'))return;let e;try{let a=JSON.parse(t);if(typeof a!="string")return;e=a}catch{return}let n=e.trim().split(/\s+/).filter(a=>a!=="");if(n.length<2)return;if(n.length>4)return{error:`the shorthand takes one to four corners, got ${n.length}: "${e}"`};for(let a of n){if(/^[$@(]/.test(a))return{error:`the shorthand takes numbers \u2014 bind one corner with its own cell, e.g. radiusTL=${a}`};if(!y1.test(a))return/^(-?\d+(?:\.\d+)?)px$/.exec(a)&&!a.startsWith("-")?{error:`drop the unit: radius="${n.map(l=>l.replace(/px$/,"")).join(" ")}"`}:{error:/^-\d/.test(a)?`a radius cannot be negative, got ${a}`:`the shorthand takes plain numbers, got "${a}"`}}let[r,s=r,i=r,o=s]=n;return{corners:[["radiusTL",r],["radiusTR",s],["radiusBR",i],["radiusBL",o]]}}var Ls,Gt,y1,Pt=B(()=>{"use strict";Ls=["radiusTL","radiusTR","radiusBR","radiusBL"],Gt=["radius",...Ls];y1=/^(?:\d+(?:\.\d*)?|\.\d+)$/});function zs(t){return Zl.includes(t)}function Ae(t){return zs(t.type)}function Kn(t){return t.type==="group"}function qe(t){return Ae(t)?t.children:[]}function Ws(t){return Jl[t.type]}function ve(t,e,n){if(e(t,n)!==!1&&Ae(t))for(let r of t.children)ve(r,e,t)}function et(t,e){let n;return ve(t,r=>{if(n)return!1;r.id===e&&(n=r)}),n}var Vs,Ur,Vr,gn,_s,js,Gs,Zl,Jl,Ne=B(()=>{"use strict";Pt();Vs=["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ur=["left","center","right","justify"],Vr=["top","middle","bottom"],gn=["cover","contain","fill"],_s=["nonzero","evenodd"],js=["butt","round","square"],Gs=["miter","round","bevel"],Zl=["canvas","frame","group","instance"];Jl={canvas:["w","h"],connector:["x1","y1","x2","y2","strokeWidth","opacity","blur"],ellipse:["x","y","w","h","rotation","strokeWidth","opacity","blur","backdrop"],frame:["x","y","w","h","strokeWidth",...Gt,"blur","backdrop"],group:[],instance:["x","y","w","h"],image:["x","y","w","h","rotation","strokeWidth",...Gt,"opacity","blur"],rect:["x","y","w","h","rotation","strokeWidth",...Gt,"opacity","blur","backdrop"],text:["x","y","w","h","rotation","size","weight","lineHeight","letterSpacing","strokeWidth","opacity","blur"],video:["x","y","w","h","rotation","strokeWidth",...Gt,"opacity","blur"],vector:["x","y","w","h","rotation","strokeWidth","opacity","blur","backdrop"]}});function Hs(t){return Ql.includes(t)}function Xs(t="",e=1){return{slug:t,version:e,changes:[],sources:[],roles:{},logos:{},rules:{},guides:{},review:[]}}function ca(t){let e=/^([a-z0-9][a-z0-9-]*)(?:@(\d+))?$/.exec(t);if(!e)return;let n=e[2]===void 0?1:Number(e[2]);if(!(!Number.isSafeInteger(n)||n<1))return{slug:e[1],version:n}}var ua,la,qs,Ql,bn=B(()=>{"use strict";ua=["light","dark"],la=["must","should"],qs=["no-gradient","contrast","font-only","logo-min"],Ql=["role","logo","rule","guide","review"]});function Zn(t){return!w1.has(t)}function Jn(t,e){return`${t}.${e}`}function Qn(t){let e=new Map,n=r=>{if(r.type!=="instance"){r.type==="frame"&&r.component===!0&&e.set(r.id,r);for(let s of qe(r))n(s)}};return n(t),e}function Ys(t,e){let n=[],r=s=>{if(s.type==="instance"){(e===void 0||s.component===e)&&n.push(s);return}for(let i of qe(s))r(i)};return r(t),n}function xn(t){let e=t;for(let n=0;n<v1;n+=1){let r=Qn(e),s=ec(e,r);if(s===e)return e;e=s}return e}function ec(t,e){if(t.type==="instance"){let s=e.get(t.component)??null;if(fa.has(t)&&fa.get(t)===s)return t;let i=tc(t,e,new Set),o=pa(i,t.children)?t:{...t,children:i};return fa.set(o,s),o}if(!Ae(t))return t;let n=!1,r=t.children.map(s=>{let i=ec(s,e);return i!==s&&(n=!0),i});return n?{...t,children:r}:t}function tc(t,e,n){let r=e.get(t.component);if(!r||n.has(r.id))return[];let s=new Set(n).add(r.id),i=r.children.map(o=>da(o,t.id,e,s));return k1(i,t.id,t.overrides)}function da(t,e,n,r){let s=Jn(e,t.id);if(t.type==="instance"){let i={...t,id:s};return{...i,children:tc(i,n,r)}}if(t.type==="frame"){let i={...t};return delete i.component,{...i,id:s,children:t.children.map(o=>da(o,e,n,r))}}return Ae(t)?{...t,id:s,children:t.children.map(i=>da(i,e,n,r))}:{...t,id:s}}function k1(t,e,n){if(n===void 0)return[...t];let r=new Map;for(let[i,o]of Object.entries(n))r.set(Jn(e,i),o);let s=i=>{let o=r.get(i.id),a=i;if(o){let u={...i};for(let[l,c]of Object.entries(o))Zn(l)&&(u[l]=c);a=u}return Ae(a)?{...a,children:a.children.map(s)}:a};return t.map(s)}function ma(t){let e=[],n=Qn(t);for(let i of Ys(t)){let o=n.get(i.component);if(!o){e.push({severity:"error",code:"missing-component",message:`${i.id} places ${i.component}, which is not a component \u2014 mark a frame with component, or point component= at one`,nodeId:i.id});continue}if(ha(o,o.id,n,new Set)){e.push({severity:"error",code:"component-cycle",message:`${o.id} holds an instance of itself, so ${i.id} cannot be drawn`,nodeId:i.id});continue}for(let a of Object.keys(i.overrides??{}))et(i,Jn(i.id,a))||e.push({severity:"warning",code:"orphaned-override",message:`${i.id} overrides ${a}, which ${o.id} no longer has`,nodeId:i.id})}for(let[i]of n)t.type==="canvas"&&t.children.some(o=>o.id===i)||e.push({severity:"warning",code:"component-not-top-level",message:`${i} is a component inside another frame \u2014 keep components in the row below the pages, at the top level`,nodeId:i});let r=new Map,s=i=>{r.set(i.id,(r.get(i.id)??0)+1);for(let o of qe(i))s(o)};s(t);for(let i of Ys(t))for(let o of i.children){let a=u=>{(r.get(u.id)??0)>1&&e.push({severity:"error",code:"duplicate-id",message:`${u.id} is both a node and a part of ${i.id} \u2014 rename one`,nodeId:u.id});for(let l of qe(u))a(l)};a(o)}return e}function ha(t,e,n,r){return qe(t).some(s=>{if(s.type==="instance"){if(s.component===e)return!0;if(r.has(s.component))return!1;r.add(s.component);let i=n.get(s.component);return i!==void 0&&ha(i,e,n,r)}return ha(s,e,n,r)})}function Ks(t){return Qn(t).size>0||Ys(t).length>0}function pa(t,e){if(t===e)return!0;if(typeof t!="object"||typeof e!="object"||t===null||e===null)return!1;if(Array.isArray(t)||Array.isArray(e))return Array.isArray(t)&&Array.isArray(e)&&t.length===e.length&&t.every((i,o)=>pa(i,e[o]));let n=t,r=e,s=new Set([...Object.keys(n),...Object.keys(r)]);for(let i of s)if(!pa(n[i],r[i]))return!1;return!0}var v1,w1,fa,dt=B(()=>{"use strict";Ne();v1=8,w1=new Set(["type","id","children","component","overrides"]);fa=new WeakMap});function Ve(t){let e=t.brand?.theme==="dark"?t.themes?.dark:void 0;if(e===void 0)return t.tokens;let n=nc.get(t);if(n!==void 0)return n;let r={...t.tokens,...e};return nc.set(t,r),r}function Wt(t){return t.root!==void 0&&ac(t.root)?ga:t.root!==void 0&&uc(t.root)?oc:t.root!==void 0&&Ks(t.root)?ic:t.kind==="brand"||t.brand!==void 0||t.themes!==void 0||S1(t.fonts)?sc:rc}function ac(t){let e=!1;return ve(t,n=>(n.type==="video"&&(e=!0),e?!1:void 0)),e}function uc(t){let e=!1;return ve(t,n=>(n.type==="connector"&&(e=!0),e?!1:void 0)),e}function S1(t){return Object.values(t??{}).some(e=>(e.faces??[]).some(n=>n.asset!==void 0))}function jr(t){return{type:"canvas",...t}}function Qs(t={}){let e=t.kind??er,n=tr(t.themes),r=xn(t.root??jr({id:yn,children:[]}));return{version:Wt({kind:e,root:r,...t.fonts===void 0?{}:{fonts:t.fonts},...t.brand===void 0?{}:{brand:t.brand},...n===void 0?{}:{themes:n}}),kind:e,...t.title===void 0?{}:{title:t.title},tokens:t.tokens??{},fonts:t.fonts??{},assets:t.assets??{},...t.motion===void 0||Object.keys(t.motion).length===0?{}:{motion:t.motion},...t.brand===void 0?{}:{brand:t.brand},...n===void 0?{}:{themes:n},root:r}}function tr(t){let e=t?.dark;return e===void 0||Object.keys(e).length===0?void 0:{dark:e}}var _r,er,nc,rc,sc,ic,oc,ga,Zs,Js,yn,qt=B(()=>{"use strict";dt();Ne();_r=["design","brand"],er="design",nc=new WeakMap;rc=4,sc=5,ic=6,oc=7,ga=8,Zs=[1,2,3,4,5,6,7,8],Js=ga;yn="doc"});function vn(t){let e=t.trim();if(e.startsWith("#")){let r=e.slice(1);return r===""?void 0:{kind:"frame",id:r}}let n;try{n=new URL(e)}catch{return}if(!(n.protocol!=="https:"&&n.protocol!=="mailto:"))return{kind:"url",url:e}}var ba=B(()=>{"use strict"});function nr(t){let e=C1.exec(t);if(!e)return;let n=Number(e[1]);if(Number.isFinite(n))return{count:n,unit:e[2].startsWith("bar")?"bar":"beat"}}function rr(t,e){return`${String(Math.round(t*1e6)/1e6)}${e}${t===1?"":"s"}`}function sr(t){return typeof t=="string"&&nr(t)!==void 0}function wn(t){let e=t?.bpm;if(e===void 0)return;let n=t?.meter??4,r=6e4/e;return{bpm:e,meter:n,beat:r,bar:r*n}}function Gr(t,e,n){if(t===void 0)return n;if(typeof t=="number")return t;let r=nr(t);return!r||!e?n:r.count*(r.unit==="bar"?e.bar:e.beat)}var ei,C1,zr,kn=B(()=>{"use strict";ei=["beat","bar"],C1=/^(\d+(?:\.\d+)?)(beats?|bars?)$/;zr=36e5});function ir(t){let e=t.trim();return e==="back"?{kind:"back"}:e==="next"?{kind:"next"}:vn(e)}function qr(t){return t===void 0||t.enter===void 0&&t.duration===void 0&&t.scroll!==!0&&t.length===void 0&&t.w===void 0&&t.h===void 0&&t.bpm===void 0&&t.meter===void 0&&t.music===void 0&&t.lines.length===0}function ui(t){return t.camera===!0||t.enter!==void 0||t.exit!==void 0||t.emphasis!==void 0||t.go!==void 0}function li(t){let e=t.motion;if(!e)return[];let n=t.root.children.map(s=>s.id).filter(s=>s in e),r=Object.keys(e).filter(s=>!n.includes(s)).sort();return[...n,...r]}function ci(t){return new Set(t.root.children.filter(e=>e.type==="frame"&&e.component!==!0).map(e=>e.id))}function fi(t){let e=new Map;for(let n of t.root.children)n.type!=="frame"||n.component===!0||ve(n,r=>{e.set(r.id,n.id)});return e}function O1(t){let e=new Set;return ve(t,n=>{e.add(n.id)}),e}function Hr(t,e){let n=t.motion;if(!n)return[];let r=[],s=ci(t),i=fi(t),o=O1(t.root),a=(u,l)=>{let c=e?.(u,l);return c===void 0?"":`Line ${c}: `};for(let u of li(t)){let l=n[u];if(!l)continue;if(!s.has(u)){r.push({severity:"warning",code:"motion-not-a-page",message:`${a(u)}motion ${u}: ${u} is not a page (a top-level frame), so none of it plays`,nodeId:u});continue}let c=new Set;for(let d of l.lines){let h=a(u,d.id);for(let x of["after","with"]){let S=d[x];S!==void 0&&!c.has(S)&&r.push({severity:"warning",code:"motion-anchor-missing",message:`${h}motion ${u}: ${x}=${S} names no line above, so it starts after the line above instead`,nodeId:d.id})}d.camera!==!0&&c.add(d.id);let p=o.has(d.id)?et(t.root,d.id):void 0;p&&r.push(...A1(d,p,h,u)),o.has(d.id)?i.get(d.id)!==u&&r.push({severity:"warning",code:"motion-wrong-page",message:`${h}motion ${u}: ${d.id} is not on ${u}, so Play skips it`,nodeId:d.id}):r.push({severity:"warning",code:"unknown-reference",message:`${h}motion ${u}: no node ${d.id}`,nodeId:d.id});let m=d.go===void 0?void 0:ir(d.go);m?.kind==="frame"&&!$1(t,m.id)&&r.push({severity:"warning",code:"unknown-reference",message:`${h}motion ${u}: go=#${m.id} names no frame`,nodeId:d.id})}}return r}function A1(t,e,n,r){let s=[],i=(a,u)=>{s.push({severity:"warning",code:a,message:`${n}motion ${r}: ${u}`,nodeId:e.id})};if(t.camera===!0)return s;let o=t.enter??t.exit;return o==="count"&&(e.type!=="text"||!/\d/.test(di(e.content)))&&i("count-no-number",`${e.id} has no number to count, so it fades in instead`),o==="draw"&&!T1(e)&&i("draw-no-stroke",`${e.id} has no stroked vector to draw, so it fades in instead`),t.by!==void 0&&e.type!=="text"?i("by-not-text",`by=${t.by} splits text, and ${e.id} is a ${e.type}`):t.by!==void 0&&e.type==="text"&&I1(e)&&i("by-rotated",`${e.id} is rotated, so by=${t.by} enters it whole`),t.stagger!==void 0&&t.by===void 0&&qe(e).length===0&&i("stagger-no-children",`${e.id} has no children to stagger: split a text with by=word`),s}function I1(t){let e=t.rotation;return e!==void 0&&e!==0}function T1(t){let e=!1;return ve(t,n=>((n.type==="vector"&&n.stroke!==void 0||n.type==="connector")&&(e=!0),e?!1:void 0)),e}function di(t){return typeof t=="string"?t:t.map(e=>typeof e=="string"?e:e.text).join("")}function $1(t,e){let n=!1;return ve(t.root,r=>{if(n)return!1;r.id===e&&(n=r.type==="frame")}),n}var ti,ni,ri,si,ii,oi,Sn,Wr,ai,Cn,gt=B(()=>{"use strict";ba();Ne();kn();ti=["cut","fade","push","slide"],ni=["cut","fade","rise","drop","pop","wipe","grow","count","draw"],ri=["cut","fade","rise","drop","pop"],si=["pulse"],ii=["out","in","inout","linear","spring"],oi=["word","letter"],Sn=["left","right","top","bottom"],Wr=1e4,ai=18e4,Cn=7680});function T(t){if(!Number.isFinite(t))return"0";let e=Math.round(t*1e4)/1e4,n=Object.is(e,-0)?0:e;return Math.abs(n)>=1e21?n.toFixed(0):String(n)}var En=B(()=>{"use strict";bn();qt();gt();dt();Xn()});function Xr(t){let e=[],n,r=0,s=0,i=0,o=0,a,u,l=M1(t),c=()=>(n||(n={anchors:[{x:r,y:s}],closed:!1},e.push(n)),n.anchors[n.anchors.length-1]),d=(x,S)=>{c(),n?.anchors.push({x,y:S}),r=x,s=S},h=(x,S,O,M)=>{c().out=x,n?.anchors.push({x:O,y:M,in:S}),r=O,s=M},p="",m=!0;for(;l.more();){let x=l.command();if(x!==void 0)p=x,m=!0;else if(p===""||p.toUpperCase()==="Z")return{contours:hi(e),error:`Expected a command at ${l.at()}`};let S=p.toUpperCase(),O=p!==S,M=P1[S];if(M===void 0)return{contours:hi(e),error:`Unknown command ${p}`};if(S==="Z"){n&&(n.closed=!0),n=void 0,r=i,s=o,a=void 0,u=void 0,p="";continue}let g=S==="A"?l.arc():l.numbers(M);if(g===void 0)return{contours:hi(e),error:`${p} expects ${M} numbers at ${l.at()}`};let F=O?r:0,N=O?s:0,R=E=>g[E];switch(S){case"M":m&&(n={anchors:[{x:F+R(0),y:N+R(1)}],closed:!1},e.push(n),r=i=F+R(0),s=o=N+R(1),p=O?"l":"L"),a=u=void 0;break;case"L":d(F+R(0),N+R(1)),a=u=void 0;break;case"H":d(F+R(0),s),a=u=void 0;break;case"V":d(r,N+R(0)),a=u=void 0;break;case"C":{let E={x:F+R(2),y:N+R(3)};h({x:F+R(0),y:N+R(1)},E,F+R(4),N+R(5)),a=E,u=void 0;break}case"S":{let E=a?{x:2*r-a.x,y:2*s-a.y}:{x:r,y:s},y={x:F+R(0),y:N+R(1)};h(E,y,F+R(2),N+R(3)),a=y,u=void 0;break}case"Q":case"T":{let E=S==="Q"?{x:F+R(0),y:N+R(1)}:u?{x:2*r-u.x,y:2*s-u.y}:{x:r,y:s},y=S==="Q"?F+R(2):F+R(0),P=S==="Q"?N+R(3):N+R(1),b={x:r+2/3*(E.x-r),y:s+2/3*(E.y-s)},I={x:y+2/3*(E.x-y),y:P+2/3*(E.y-P)};h(b,I,y,P),u=E,a=void 0;break}case"A":{let E=F+R(5),y=N+R(6);for(let[P,b,I]of F1(r,s,R(0),R(1),R(2),R(3)!==0,R(4)!==0,E,y))h(P,b,I.x,I.y);(r!==E||s!==y)&&d(E,y),a=u=void 0;break}}m=!1}return{contours:hi(e)}}function hi(t){return t.map(e=>{let n=[...e.anchors];if(e.closed&&n.length>1){let r=n[0],s=n[n.length-1];On(r,s)&&(n.pop(),n[0]={...r,...s.in?{in:s.in}:{}})}return{anchors:n.map(fc),closed:e.closed}})}function xa(t,e,n){return fc({x:t.x,y:t.y,...e?{in:e}:{},...n?{out:n}:{}})}function fc(t){let e={x:t.x,y:t.y};return t.in&&!On(t.in,t)&&(e.in=t.in),t.out&&!On(t.out,t)&&(e.out=t.out),e}function On(t,e,n=1e-6){return Math.abs(t.x-e.x)<n&&Math.abs(t.y-e.y)<n}function M1(t){let e=0,n=()=>{for(;e<t.length&&/[\s,]/.test(t[e]);)e+=1},r=()=>{n();let i=/^[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/.exec(t.slice(e));if(i)return e+=i[0].length,Number(i[0])},s=()=>{n();let i=t[e];if(!(i!=="0"&&i!=="1"))return e+=1,Number(i)};return{more(){return n(),e<t.length},command(){n();let i=t[e];if(/[a-zA-Z]/.test(i))return e+=1,i},numbers(i){let o=[];for(let a=0;a<i;a+=1){let u=r();if(u===void 0)return;o.push(u)}return o},arc(){let i=this.numbers(3),o=s(),a=s(),u=this.numbers(2);if(!(!i||o===void 0||a===void 0||!u))return[...i,o,a,...u]},at(){return e}}}function F1(t,e,n,r,s,i,o,a,u){let l=Math.abs(n),c=Math.abs(r);if(l===0||c===0||t===a&&e===u)return[];let d=s*Math.PI/180,h=Math.cos(d),p=Math.sin(d),m=(t-a)/2,x=(e-u)/2,S=h*m+p*x,O=-p*m+h*x,M=S*S/(l*l)+O*O/(c*c);M>1&&(l*=Math.sqrt(M),c*=Math.sqrt(M));let g=l*l*c*c-l*l*O*O-c*c*S*S,F=l*l*O*O+c*c*S*S,N=(i===o?-1:1)*Math.sqrt(Math.max(0,g/F)),R=N*l*O/c,E=-N*c*S/l,y=h*R-p*E+(t+a)/2,P=p*R+h*E+(e+u)/2,b=(_,K,pe,xe)=>{let Ee=_*pe+K*xe,Ie=Math.hypot(_,K)*Math.hypot(pe,xe),ne=Math.acos(Math.min(1,Math.max(-1,Ee/Ie)));return _*xe-K*pe<0?-ne:ne},I=b(1,0,(S-R)/l,(O-E)/c),A=b((S-R)/l,(O-E)/c,(-S-R)/l,(-O-E)/c);!o&&A>0&&(A-=2*Math.PI),o&&A<0&&(A+=2*Math.PI);let L=Math.max(1,Math.ceil(Math.abs(A)/(Math.PI/2)-1e-9)),X=A/L,H=4/3*Math.tan(X/4),q=_=>({x:y+l*Math.cos(_)*h-c*Math.sin(_)*p,y:P+l*Math.cos(_)*p+c*Math.sin(_)*h}),G=_=>({x:-l*Math.sin(_)*h-c*Math.cos(_)*p,y:-l*Math.sin(_)*p+c*Math.cos(_)*h}),Y=[];for(let _=0;_<L;_+=1){let K=I+_*X,pe=K+X,xe=q(K),Ee=_===L-1?{x:a,y:u}:q(pe),Ie=G(K),ne=G(pe);Y.push([{x:xe.x+H*Ie.x,y:xe.y+H*Ie.y},{x:Ee.x-H*ne.x,y:Ee.y-H*ne.y},Ee])}return Y}function ht(t){let e=[],n=r=>`${T(r.x)} ${T(r.y)}`;for(let r of t){let{anchors:s}=r,i=s[0];if(!i)continue;e.push(`M${n(i)}`);let o=ar(r);for(let a=0;a<o;a+=1){let u=s[a],l=s[(a+1)%s.length],c=r.closed&&a===s.length-1;!u.out&&!l.in?c||e.push(`L${n(l)}`):e.push(`C${n(u.out??u)} ${n(l.in??l)} ${n(l)}`)}r.closed&&e.push("Z")}return e.join(" ")}function ar(t){let e=t.anchors.length;return e<2?0:t.closed?e:e-1}function Yr(t,e){let n=t.anchors[e],r=t.anchors[(e+1)%t.anchors.length];return[{x:n.x,y:n.y},n.out??{x:n.x,y:n.y},r.in??{x:r.x,y:r.y},{x:r.x,y:r.y}]}function ya(t,e){let[n,r,s,i]=t,o=1-e,a=o*o*o,u=3*o*o*e,l=3*o*e*e,c=e*e*e;return{x:a*n.x+u*r.x+l*s.x+c*i.x,y:a*n.y+u*r.y+l*s.y+c*i.y}}function tt(t,e){return t.map(n=>({closed:n.closed,anchors:n.anchors.map(r=>{let s=e(r);return{x:s.x,y:s.y,...r.in?{in:e(r.in)}:{},...r.out?{out:e(r.out)}:{}}})}))}function ur(t){let e=1/0,n=1/0,r=-1/0,s=-1/0,i=o=>{e=Math.min(e,o.x),n=Math.min(n,o.y),r=Math.max(r,o.x),s=Math.max(s,o.y)};for(let o of t){for(let u of o.anchors)i(u);let a=ar(o);for(let u=0;u<a;u+=1){let l=Yr(o,u);for(let c of N1(l))i(ya(l,c))}}if(e!==1/0)return{x:e,y:n,w:r-e,h:s-n}}function N1(t){let[e,n,r,s]=t,i=[];for(let o of["x","y"]){let a=-e[o]+3*n[o]-3*r[o]+s[o],u=2*(e[o]-2*n[o]+r[o]),l=n[o]-e[o];if(Math.abs(a)<1e-12){Math.abs(u)>1e-12&&i.push(-l/u);continue}let c=u*u-4*a*l;if(c<0)continue;let d=Math.sqrt(c);i.push((-u+d)/(2*a),(-u-d)/(2*a))}return i.filter(o=>o>0&&o<1)}function pi(t){if(t===void 0)return;let e=t.trim().split(/[\s,]+/).map(Number);if(e.length!==4||e.some(o=>!Number.isFinite(o)))return;let[n,r,s,i]=e;return{x:n,y:r,w:s,h:i}}function Kr(t,e,n){return pi(t)??{x:0,y:0,w:e,h:n}}function Zr(t,e){let n=t.w===0?1:e.w/t.w,r=t.h===0?1:e.h/t.h;return s=>({x:e.x+(s.x-t.x)*n,y:e.y+(s.y-t.y)*r})}function mi(t,e=.5){let[n,r,s,i]=t;if(On(n,r)&&On(s,i))return[n,i];let a=Math.hypot(r.x-n.x,r.y-n.y)+Math.hypot(s.x-r.x,s.y-r.y)+Math.hypot(i.x-s.x,i.y-s.y),u=Math.min(256,Math.max(4,Math.ceil(Math.sqrt(a/e)))),l=[];for(let c=0;c<=u;c+=1)l.push(ya(t,c/u));return l}function va(t){let e=0;for(let n of t)for(let r=0;r<ar(n);r+=1){let s=mi(Yr(n,r),.25);for(let i=1;i<s.length;i+=1){let o=s[i-1],a=s[i];e+=Math.hypot(a.x-o.x,a.y-o.y)}}return e}function An(t,e,n=0){let r=Us(typeof n=="number"?{tl:Math.max(0,n),tr:Math.max(0,n),br:Math.max(0,n),bl:Math.max(0,n)}:n,t,e),s=[],i=(a,u,l,c)=>{if(a<=0){s.push({x:u.x,y:u.y});return}let d=or*a,h={x:u.x+l.x*a,y:u.y+l.y*a},p={x:u.x+c.x*a,y:u.y+c.y*a};s.push({x:h.x,y:h.y,out:{x:h.x-l.x*d,y:h.y-l.y*d}}),s.push({x:p.x,y:p.y,in:{x:p.x-c.x*d,y:p.y-c.y*d}})};i(r.tl,{x:0,y:0},{x:0,y:1},{x:1,y:0}),i(r.tr,{x:t,y:0},{x:-1,y:0},{x:0,y:1}),i(r.br,{x:t,y:e},{x:0,y:-1},{x:-1,y:0}),i(r.bl,{x:0,y:e},{x:1,y:0},{x:0,y:-1});let o=r.tl>0?s.slice(1).concat(s.slice(0,1)):s;return[{closed:!0,anchors:D1(o)}]}function Jr(t,e){let n=t/2,r=e/2,s=or*n,i=or*r;return[{closed:!0,anchors:[{x:n,y:0,in:{x:n-s,y:0},out:{x:n+s,y:0}},{x:t,y:r,in:{x:t,y:r-i},out:{x:t,y:r+i}},{x:n,y:e,in:{x:n+s,y:e},out:{x:n-s,y:e}},{x:0,y:r,in:{x:0,y:r+i},out:{x:0,y:r-i}}]}]}function D1(t){let e=[];for(let s of t){let i=e[e.length-1];if(i&&On(i,s)&&!i.out&&!s.in){e[e.length-1]=xa(i,i.in,s.out);continue}e.push(s)}let n=e[0],r=e[e.length-1];return e.length>1&&n&&r&&On(n,r)&&!r.out&&!n.in&&(e[0]=xa(n,r.in,n.out),e.pop()),e}var P1,or,gi=B(()=>{"use strict";Pt();En();P1={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0};or=.5522847498});function Ca(t){return{x:Math.min(t.x1,t.x2),y:Math.min(t.y1,t.y2),w:Math.abs(t.x2-t.x1),h:Math.abs(t.y2-t.y1)}}function dc(t){return Math.abs(t.x2-t.x1)>=Math.abs(t.y2-t.y1)?"x":"y"}function hc(t,e){let n=dc(t);return{start:e.start??n,end:e.end??n}}function pc(t,e,n={}){let{x1:r,y1:s,x2:i,y2:o}=t,a=(r+i)/2,u=(s+o)/2,l=hc(t,n);switch(e){case"straight":return{closed:!1,anchors:[{x:r,y:s},{x:i,y:o}]};case"elbow":{let c=l.start==="x"?l.end==="x"?[{x:a,y:s},{x:a,y:o}]:[{x:i,y:s}]:l.end==="y"?[{x:r,y:u},{x:i,y:u}]:[{x:r,y:o}];return{closed:!1,anchors:[{x:r,y:s},...c,{x:i,y:o}]}}case"curve":{let c=l.start!==l.end,d=l.start==="x"?{x:c?i:a,y:s}:{x:r,y:c?o:u},h=l.end==="x"?{x:c?r:a,y:o}:{x:i,y:c?s:u};return{closed:!1,anchors:[{x:r,y:s,out:d},{x:i,y:o,in:h}]}}}}function mc(t,e,n={}){let r=t.x2-t.x1,s=t.y2-t.y1;if(r===0&&s===0)return;if(e==="straight"||r===0||s===0){let u=Math.hypot(r,s),l={x:r/u,y:s/u};return{start:{x:-l.x,y:-l.y},end:l}}let i=hc(t,n),o=u=>u==="x"?{x:Math.sign(r),y:0}:{x:0,y:Math.sign(s)},a=o(i.start);return{start:{x:-a.x,y:-a.y},end:o(i.end)}}function yi(t){return 3*Math.max(0,t)+4}function wa(t,e,n,r){let s=yi(r),i=s/2,o={x:-n.x,y:-n.y},a={x:-n.y,y:n.x},u=(l,c)=>({x:e.x+o.x*l+a.x*c,y:e.y+o.y*l+a.y*c});switch(t){case"none":return;case"triangle":return{filled:!0,inset:i,contours:[{closed:!0,anchors:[u(0,0),u(s,i),u(s,-i)]}]};case"arrow":return{filled:!1,inset:r/2,contours:[{closed:!1,anchors:[u(s,i),u(0,0),u(s,-i)]}]};case"bar":return{filled:!1,inset:0,contours:[{closed:!1,anchors:[u(0,i),u(0,-i)]}]};case"dot":return{filled:!0,inset:0,contours:[R1(e,s*.4)]}}}function R1(t,e){let n=e*or,{x:r,y:s}=t;return{closed:!0,anchors:[{x:r+e,y:s,in:{x:r+e,y:s-n},out:{x:r+e,y:s+n}},{x:r,y:s+e,in:{x:r+n,y:s+e},out:{x:r-n,y:s+e}},{x:r-e,y:s,in:{x:r-e,y:s+n},out:{x:r-e,y:s-n}},{x:r,y:s-e,in:{x:r-n,y:s-e},out:{x:r+n,y:s-e}}]}}function Ea(t,e,n,r,s,i={}){let o=pc(t,e,i),a=mc(t,e,i);if(!a)return{route:o,filled:[],lined:[]};let u=[wa(n,{x:t.x1,y:t.y1},a.start,s),wa(r,{x:t.x2,y:t.y2},a.end,s)],l=L1(o,a,u[0]?.inset??0,u[1]?.inset??0),c=[],d=[];for(let h of u)h&&(h.filled?c:d).push(...h.contours);return{route:l,filled:c,lined:d}}function L1(t,e,n,r){if(n===0&&r===0)return t;let s=[...t.anchors],i=(o,a,u,l)=>{let c=s[o],d=s[a];if(!c||!d||u<=0)return;let h=Math.hypot(d.x-c.x,d.y-c.y),p=s.length===2?Math.min(u,h/2):Math.min(u,h),m=-l.x*p,x=-l.y*p,S=F=>F===void 0?void 0:{x:F.x+m,y:F.y+x},O={x:c.x+m,y:c.y+x},M=S(c.in),g=S(c.out);s[o]={...O,...M===void 0?{}:{in:M},...g===void 0?{}:{out:g}}};return i(0,1,n,e.start),i(s.length-1,s.length-2,r,e.end),{...t,anchors:s}}var bi,xi,ka,Sa,vi=B(()=>{"use strict";gi();bi=["straight","elbow","curve"],xi=["none","arrow","triangle","dot","bar"],ka="#1F2937",Sa=2});var gc=B(()=>{"use strict";Ne()});var Oa=B(()=>{"use strict";bn();qt();gt();dt();Ne();Xn()});function Qr(t){let e=t.trim();if(e===""||e==="none"||e==="solid")return{error:"a solid line has no dash \u2014 unset dash rather than writing one"};let n=e.split(/[\s,]+/),r=[];for(let s of n){if(!/^\d*\.?\d+$/.test(s)){let i=/^(\d*\.?\d+)[a-z%]+$/i.exec(s);return i?{error:`lengths have no unit \u2014 write ${i[1]} for ${s}`}:/^-/.test(s)?{error:`a dash length cannot be negative, got ${s}`}:{error:`expected lengths like "6 4", got ${JSON.stringify(t)}`}}r.push(Number(T(Number(s))))}return r.some(s=>s>0)?{dash:r}:{error:"a dash needs one length above zero \u2014 unset dash for a solid line"}}function ki(t){return t.map(e=>T(e)).join(" ")}function Aa(t){if(t===void 0)return[];let e=Qr(t);return"error"in e?[]:e.dash.length%2===1?[...e.dash,...e.dash]:e.dash}var wi,Si=B(()=>{"use strict";En();wi=["center","inside","outside"]});function Ii(t){return Ia.includes(t)}function ts(t,e){return Ci[t].find(([n])=>n===e)?.[1]}function Ta(t){for(let e of Ia){if(e==="canvas"||e==="instance")continue;let n=ts(e,t);if(n!==void 0)return n}}function $e(t,e){if(e==="boolean")return t===""||t==="true"?{value:!0}:t==="false"?{value:!1}:{error:`Expected true or false, got ${t}`};if(t.startsWith('"')){let r=bt(t);return r===void 0?{error:`Malformed quoted string ${t}`}:bc(r,e,t)}if(X1(t)){if(!W1(e))return{error:q1(t,e)};let r=wc(t).trim();return r===""?{error:"Empty expression"}:{value:mn(r)}}return e==="numberValue"&&yc.test(t)?{value:mn(t)}:bc(t,e,t)}function W1(t){return t==="numberValue"||t==="stringValue"}function q1(t,e){return e==="number"?`Expected a plain number, not an expression, got ${t}`:e==="string"&&/^\$\w+$/.test(t)?`Expected a literal, got ${t} \u2014 name a token without the $: ${t.slice(1)}`:`Expected a literal, not an expression, got ${t} \u2014 quote it if you meant the text`}function vc(t,e){let n=/^(-?\d+(?:\.\d+)?)([A-Za-z]+)$/.exec(t);return n?/^(?:beats?|bars?)$/.test(n[2])?" \u2014 beats and bars count motion times on a page with bpm=; this is milliseconds":n[2]==="s"&&e==="number"?` \u2014 durations are milliseconds: ${Number(n[1])*1e3}`:/^(?:px|pt|deg|ms)$/.test(n[2])?` \u2014 drop the unit: ${n[1]}`:" \u2014 units are not supported: use a number, a percentage like (100%), or an expression":e==="number"?yc.test(t)?" \u2014 a percentage is not allowed here":"":/^-[$@(]/.test(t)?` \u2014 wrap an expression in parentheses: (${t})`:/^-?[A-Za-z_]\w*(?:\.\w+)+$/.test(t)?` \u2014 wrap an expression in parentheses: (${t})`:""}function bc(t,e,n){switch(e){case"numberValue":case"number":{let r=Number(t);return Number.isFinite(r)&&t.trim()!==""?{value:r}:{error:`Expected a number, got ${n}${vc(t,e)}`}}case"align":return Ur.includes(t)?{value:t}:{error:`Expected one of ${Ur.join(", ")}, got ${n}`};case"valign":return Vr.includes(t)?{value:t}:{error:`Expected one of ${Vr.join(", ")}, got ${n}`};case"fontStyle":return t==="normal"||t==="italic"?{value:t}:{error:`Expected normal or italic, got ${n}`};case"imageFit":return gn.includes(t)?{value:t}:{error:`Expected one of ${gn.join(", ")}, got ${n}`};case"fillRule":return nt(_s,t,n);case"lineCap":return nt(js,t,n);case"lineJoin":return nt(Gs,t,n);case"dash":{let r=Qr(t);return"error"in r?{error:r.error}:{value:ki(r.dash)}}case"strokeAlign":return nt(wi,t,n);case"blendMode":return nt(Vs,t,n);case"route":return nt(bi,t,n);case"connectorEnd":return nt(xi,t,n);case"pageEffect":return nt(ti,t,n);case"nodeEffect":return nt(ni,t,n);case"emphasisEffect":return nt(si,t,n);case"ease":return nt(ii,t,n);case"piece":return nt(oi,t,n);case"time":{let r=nr(t);if(r)return{value:rr(r.count,r.unit)};let s=Number(t);return Number.isFinite(s)&&t.trim()!==""?{value:s}:{error:`Expected milliseconds or beats, got ${n}${H1(t)}`}}case"on":return ei.includes(t)?{value:t}:t==="downbeat"?{error:`Expected beat or bar, got ${n} \u2014 write on=bar: a bar starts on its downbeat`}:t==="beats"||t==="bars"?{error:`Expected beat or bar, got ${n} \u2014 write on=${t.slice(0,-1)}`}:{error:`Expected beat or bar, got ${n}`};case"from":{if(Sn.includes(t))return{value:t};let r=Number(t);return Number.isFinite(r)&&t.trim()!==""?{value:r}:{error:`Expected a number or one of ${Sn.join(", ")}, got ${n}`}}default:return{value:t}}}function H1(t){let e=/^(beat|bar|b)[:\s#]?(\d+(?:\.\d+)?)$/.exec(t);if(e){let r=e[1]==="bar"?"bar":"beat",s=Number(e[2]);return` \u2014 write ${rr(Math.max(0,s-1),r)} (counted from the start: ${r} ${s}'s ${r==="bar"?"downbeat":"start"})`}let n=/^(\d+(?:\.\d+)?)\s*(b|bt|beat|bars?|beats?)$/.exec(t);if(n){let r=n[2]?.startsWith("bar")?"bar":"beat";return` \u2014 write ${rr(Number(n[1]),r)} (counted from the start)`}return vc(t,"number")}function nt(t,e,n){return t.includes(e)?{value:e}:{error:`Expected one of ${t.join(", ")}, got ${n}`}}function X1(t){return/^[$@(]/.test(t)}function Ti(t,e){if(t!=="radius")return;let n=aa(e);if(n===void 0)return;if("error"in n)return n;let r=[];for(let[s,i]of n.corners){let o=$e(i,"numberValue");if("error"in o)return o;r.push([s,o.value])}return{cells:r}}function bt(t){try{let e=JSON.parse(t);return typeof e=="string"?e:void 0}catch{return}}function wc(t){if(!t.startsWith("("))return t;let e=0;for(let n=0;n<t.length;n+=1){let r=t[n];if(r==="(")e+=1;else if(r===")"&&(e-=1,e===0))return n===t.length-1?t.slice(1,-1):t}return t}function kc(t){let e=[],n="",r=0,s=!1;for(let i=0;i<t.length;i+=1){let o=t[i];if(s){n+=o,o==="\\"?(n+=t[i+1]??"",i+=1):o==='"'&&(s=!1);continue}if(o==='"'){s=!0,n+=o;continue}if(o==="("?r+=1:o===")"&&(r=Math.max(0,r-1)),r===0&&/\s/.test(o)){n!==""&&e.push(n),n="";continue}n+=o}return n!==""&&e.push(n),e}function $i(t,e,n){let r=n===void 0?void 0:Pe(n);if(r?.value===void 0||!xc(t[e]??""))return;let s=e;for(;s<t.length&&xc(t[s]??"");)s+=1;let i=[wc(r.value),...t.slice(e,s)].join(" ");return r.key==="dash"&&i.split(" ").every(o=>/^\d*\.?\d+$/.test(o))?{end:s,message:`dash: quote a pattern of several lengths \u2014 write dash="${i}"`}:r.key==="radius"&&i.split(" ").every(o=>/^-?\d+(?:\.\d+)?$/.test(o))?{end:s,message:`radius: quote the four-corner shorthand \u2014 write radius="${i}"`}:{end:s,message:`${r.key}: an expression with spaces needs parentheses \u2014 write ${r.key}=(${i})`}}function xc(t){return!t.includes("=")&&/^(?:[-+*/]|-?\d+(?:\.\d+)?%?|[$@][\w.]*|[A-Za-z_]\w*(?:\.\w+)+|\(.*|.*\))$/.test(t)}function Pe(t){let e=t.indexOf("=");return e===-1?{key:t,value:void 0}:{key:t.slice(0,e),value:t.slice(e+1)}}var Ci,Ei,Oi,es,Ai,Ia,$a,yc,rt=B(()=>{"use strict";Ne();gt();kn();vi();Pt();Si();En();Xn();Ci={canvas:[["name","string"],["w","numberValue"],["h","numberValue"],["background","stringValue"]],frame:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["background","stringValue"],["stroke","stringValue"],["strokeWidth","numberValue"],["dash","dash"],["strokeAlign","strokeAlign"],["cap","lineCap"],["radius","numberValue"],["radiusTL","numberValue"],["radiusTR","numberValue"],["radiusBR","numberValue"],["radiusBL","numberValue"],["clip","boolean"],["skip","boolean"],["component","boolean"],["blend","blendMode"],["shadow","stringValue"],["blur","numberValue"],["backdrop","numberValue"],["hidden","boolean"],["locked","boolean"]],connector:[["name","string"],["x1","numberValue"],["y1","numberValue"],["x2","numberValue"],["y2","numberValue"],["route","route"],["start","connectorEnd"],["end","connectorEnd"],["stroke","stringValue"],["strokeWidth","numberValue"],["dash","dash"],["cap","lineCap"],["opacity","numberValue"],["blend","blendMode"],["shadow","stringValue"],["blur","numberValue"],["hidden","boolean"],["locked","boolean"]],group:[["name","string"],["hidden","boolean"],["locked","boolean"]],instance:[["name","string"],["component","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["hidden","boolean"],["locked","boolean"]],ellipse:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["fill","stringValue"],["stroke","stringValue"],["strokeWidth","numberValue"],["dash","dash"],["strokeAlign","strokeAlign"],["cap","lineCap"],["opacity","numberValue"],["blend","blendMode"],["shadow","stringValue"],["blur","numberValue"],["backdrop","numberValue"],["hidden","boolean"],["locked","boolean"]],vector:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["view","string"],["d","string"],["fill","stringValue"],["stroke","stringValue"],["strokeWidth","numberValue"],["dash","dash"],["strokeAlign","strokeAlign"],["opacity","numberValue"],["rule","fillRule"],["cap","lineCap"],["join","lineJoin"],["blend","blendMode"],["shadow","stringValue"],["blur","numberValue"],["backdrop","numberValue"],["hidden","boolean"],["locked","boolean"]],video:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["src","stringValue"],["fit","imageFit"],["start","number"],["end","number"],["poster","number"],["muted","boolean"],["loop","boolean"],["mask","string"],["stroke","stringValue"],["strokeWidth","numberValue"],["dash","dash"],["strokeAlign","strokeAlign"],["cap","lineCap"],["radius","numberValue"],["radiusTL","numberValue"],["radiusTR","numberValue"],["radiusBR","numberValue"],["radiusBL","numberValue"],["opacity","numberValue"],["blend","blendMode"],["shadow","stringValue"],["blur","numberValue"],["hidden","boolean"],["locked","boolean"]],rect:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["fill","stringValue"],["stroke","stringValue"],["strokeWidth","numberValue"],["dash","dash"],["strokeAlign","strokeAlign"],["cap","lineCap"],["radius","numberValue"],["radiusTL","numberValue"],["radiusTR","numberValue"],["radiusBR","numberValue"],["radiusBL","numberValue"],["opacity","numberValue"],["blend","blendMode"],["shadow","stringValue"],["blur","numberValue"],["backdrop","numberValue"],["hidden","boolean"],["locked","boolean"]],image:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["src","stringValue"],["fit","imageFit"],["mask","string"],["stroke","stringValue"],["strokeWidth","numberValue"],["dash","dash"],["strokeAlign","strokeAlign"],["cap","lineCap"],["radius","numberValue"],["radiusTL","numberValue"],["radiusTR","numberValue"],["radiusBR","numberValue"],["radiusBL","numberValue"],["opacity","numberValue"],["blend","blendMode"],["shadow","stringValue"],["blur","numberValue"],["hidden","boolean"],["locked","boolean"]],text:[["name","string"],["x","numberValue"],["y","numberValue"],["w","numberValue"],["h","numberValue"],["rotation","numberValue"],["font","stringValue"],["size","numberValue"],["weight","numberValue"],["lineHeight","numberValue"],["letterSpacing","numberValue"],["align","align"],["valign","valign"],["italic","boolean"],["fill","stringValue"],["stroke","stringValue"],["strokeWidth","numberValue"],["dash","dash"],["opacity","numberValue"],["blend","blendMode"],["shadow","stringValue"],["blur","numberValue"],["hidden","boolean"],["locked","boolean"]]},Ei=[["font","string"],["size","number"],["weight","number"],["italic","boolean"],["underline","boolean"],["strike","boolean"],["fill","string"],["letterSpacing","number"],["link","string"]],Oi=[["enter","pageEffect"],["duration","number"],["scroll","boolean"],["length","time"],["w","number"],["h","number"],["bpm","number"],["meter","number"]],es=[["enter","nodeEffect"],["exit","nodeEffect"],["emphasis","emphasisEffect"],["from","from"],["by","piece"],["stagger","time"],["duration","time"],["hold","time"],["delay","time"],["at","time"],["after","string"],["with","string"],["step","boolean"],["together","boolean"],["on","on"],["ease","ease"],["pad","number"],["go","string"]],Ai=[["from","number"],["volume","number"],["fadein","time"],["fadeout","time"],["loop","boolean"]],Ia=Object.keys(Ci);$a="override";yc=/^-?\d+(?:\.\d+)?%$/});function Pa(t,e){let n,r=0,s,i=[],o=[],a={},u={},l={},c={},d=[],h=!1,p=!1,m,x=(y,P,b)=>{e.push({severity:"warning",code:P,message:`Line ${y}: ${b}`})},S=(y,P,b)=>{t(y.number,"invalid-brand",`${P} ${b} is written twice \u2014 keep one`)},O=y=>{if(n){t(y.number,"invalid-brand",`A document has one brand line; the first is on line ${r}`);return}let P=y.words[1]===void 0?void 0:ca(y.words[1]);if(!P){t(y.number,"invalid-brand","Expected brand <slug>@<version>, e.g. brand ember@3 \u2014 a slug is lower case, digits and dashes");return}let b=y.words.slice(2).includes("strict"),I=Mt({...y,words:y.words.filter((L,X)=>X<2||L!=="strict")},2,["id","theme"],t),A=I.theme;A!==void 0&&!ua.includes(A)&&t(y.number,"invalid-brand",`theme= is light or dark, got ${A}`),n={...P,...I.id===void 0?{}:{id:I.id},...A==="dark"||A==="light"?{theme:A}:{},...b?{strict:!0}:{}},r=y.number,m={kind:"brand"}},M=y=>{let P=y.words[0];if(P==="summary"){let b=Pi(y,1);b===void 0?t(y.number,"invalid-brand",'Expected summary "\u2026"'):s=b;return}if(P==="change"){let b=Number(y.words[1]),I=y.words[2]===void 0?void 0:Oc(y.words[2]);if(!Number.isSafeInteger(b)||b<1||I===void 0){t(y.number,"invalid-brand",'Expected change <version> "<what changed>" at=<date>');return}let A=Mt(y,3,["at"],t);i.push({version:b,note:I,...A.at===void 0?{}:{at:A.at}});return}if(P==="source"){let b=y.words[1];if(b===void 0||b.includes("=")){t(y.number,"invalid-brand","Expected source <kind> key=value\u2026, e.g. source site url=\u2026");return}o.push({kind:b,props:Mt(y,2,void 0,t)});return}if(P==="rule"){N(y);return}if(P==="banned"){let b=Pi(y,1);if(b===void 0){t(y.number,"invalid-brand",'Expected banned "\u2026"');return}(c.voice??={entries:[]}).entries.push({kind:"banned",text:b});return}t(y.number,"invalid-brand",`"${P}" is not a line of the brand block \u2014 it holds summary, change and source, and in a design rule and banned`)},g=y=>{let P=y.words[1];if(P===void 0||P.includes("=")){t(y.number,"invalid-role","Expected role <name> light=<token or colour> dark=\u2026");return}let b=Mt(y,2,["light","dark"],t),I=b.light;if(I===void 0){t(y.number,"invalid-role",`role ${P} needs light=`);return}if(Object.prototype.hasOwnProperty.call(a,P))return S(y,"role",P);let A=b.dark;a[P]={light:Sc(I),...A===void 0?{}:{dark:Sc(A)}}},F=y=>{let P=y.words[1];if(P===void 0||P.includes("=")){t(y.number,"invalid-logo","Expected logo <id> asset=<name> min=<px> clear=<fraction>");return}let b=Mt(y,2,["asset","min","clear"],t),I=b.asset;if(I===void 0){t(y.number,"invalid-logo",`logo ${P} needs asset=`);return}let A={asset:I};for(let L of["min","clear"]){let X=b[L];if(X===void 0)continue;let H=Number(X);if(!Number.isFinite(H)||H<0){t(y.number,"invalid-logo",`logo ${P}: ${L} must be a number, got ${X}`);continue}A[L]=H}if(Object.prototype.hasOwnProperty.call(u,P))return S(y,"logo",P);u[P]=A},N=y=>{let P=y.words[1],b=y.words[2],I=y.words[3],A=I?.startsWith('"')===!0?bt(I):void 0;if(P===void 0||P.includes("=")){t(y.number,"invalid-rule",'Expected rule <id> must|should "<what it asks>" check=\u2026');return}if(b===void 0||!la.includes(b)){t(y.number,"invalid-rule",`rule ${P}: the second word is must or should`);return}if(A===void 0){t(y.number,"invalid-rule",`rule ${P} needs its words, quoted: rule ${P} ${b} "\u2026"`);return}let{check:L,...X}=Mt(y,4,void 0,t);if(L!==void 0&&!qs.includes(L)&&x(y.number,"unknown-check",`rule ${P}: this build has no check "${L}", so it is kept as words only \u2014 the checks are ${qs.join(", ")}`),Object.prototype.hasOwnProperty.call(l,P))return S(y,"rule",P);l[P]={level:b,text:A,...L===void 0?{}:{check:L},...Object.keys(X).length===0?{}:{params:X}}},R=(y,P)=>{let b=y.words[0];if(b.startsWith('"')){let I=Pi(y,0);I===void 0?t(y.number,"invalid-guide",`Could not read ${y.text}`):P.push({kind:"line",text:I});return}if(b==="banned"||b==="avoid"){let I=Pi(y,1);I===void 0?t(y.number,"invalid-guide",`Expected ${b} "\u2026"`):P.push({kind:b,text:I});return}if(b==="rewrite"){let I=Mt(y,1,["from","to"],t),A=I.from,L=I.to;if(A===void 0||L===void 0){t(y.number,"invalid-guide",'Expected rewrite from="\u2026" to="\u2026"');return}P.push({kind:"rewrite",from:A,to:L});return}if(b==="ref"||b==="approved"||b==="rejected"){let I=Mt(y,1,["asset","note"],t),A=I.asset;if(A===void 0){t(y.number,"invalid-guide",`Expected ${b} asset=<name> note="\u2026"`);return}let L=I.note;P.push({kind:b,asset:A,...L===void 0?{}:{note:L}});return}t(y.number,"invalid-guide",`"${b}" is not a guide line \u2014 a guide holds quoted lines, banned, avoid, rewrite, ref, approved and rejected`)},E=y=>{let P=y.words[0];if(P.includes("=")||P.startsWith('"')){t(y.number,"invalid-review",'Expected <what>.<id> from=\u2026 note="\u2026", e.g. role.muted from=site');return}let b=Mt(y,1,["from","note"],t);d.push({target:P,...b.from===void 0?{}:{from:b.from},...b.note===void 0?{}:{note:b.note}})};return{take(y){if(y.indent>0)return m?(m.kind==="brand"?M(y):m.kind==="guide"?R(y,m.entries):E(y),!0):!1;m=void 0;let P=y.words[0];if(P!=="brand"&&!Hs(P))return!1;switch(p=!0,P){case"brand":O(y);break;case"role":g(y);break;case"logo":F(y);break;case"rule":N(y);break;case"guide":{let b=y.words[1];if(b===void 0||b.includes("=")||y.words.length>2){t(y.number,"invalid-guide","Expected guide <id> on its own line, e.g. guide voice"),m={kind:"guide",id:"",entries:[]};break}if(Object.prototype.hasOwnProperty.call(c,b)){S(y,"guide",b),m={kind:"guide",id:"",entries:[]};break}let I=[];c[b]={entries:I},m={kind:"guide",id:b,entries:I};break}case"review":y.words.length>1&&t(y.number,"invalid-review","review is a block: its items go on the lines under it"),h=!0,m={kind:"review"};break}return!0},finish(){if(!p)return{header:!1,review:!1};let y=n??Xs();return{brand:{slug:y.slug,version:y.version,...n?.id===void 0?{}:{id:n.id},...n?.theme===void 0?{}:{theme:n.theme},...n?.strict===!0?{strict:!0}:{},...s===void 0?{}:{summary:s},changes:i,sources:o,roles:a,logos:u,rules:l,guides:c,review:d},header:n!==void 0,review:h}}}}function Mt(t,e,n,r){let s={};for(let i of t.words.slice(e)){let{key:o,value:a}=Pe(i);if(a===void 0){r(t.number,"invalid-brand",`A stray word "${i}" \u2014 expected key=value`);continue}if(n!==void 0&&!n.includes(o)){r(t.number,"invalid-brand",`"${o}" is not allowed here; this line takes ${n.join(", ")}`);continue}s[o]=Oc(a)}return s}function Pi(t,e){if(t.words.length!==e+1)return;let n=t.words[e];return n.startsWith('"')?bt(n):void 0}function Oc(t){return t.startsWith('"')?bt(t)??t:t}function Sc(t){return t.startsWith("$")?t.slice(1):t}var Mi=B(()=>{"use strict";bn();En();rt()});function Ma(t){if(t==="at"||t==="length")return ai;if(t==="w"||t==="h")return Cn;if(t==="duration"||t==="delay"||t==="stagger"||t==="hold")return Wr;if(t==="pad")return Cn}function Fa(t,e){let n=t.words[1];if(n===void 0||n.includes("=")){e(t.number,"invalid-motion","Expected motion <page>, e.g. motion intro enter=fade");return}let r={};for(let i of t.words.slice(2)){let{key:o,value:a}=Pe(i),u=Oi.find(([c])=>c===o)?.[1];if(u===void 0){let c=K1.has(o)?` \u2014 ${o} goes on a node's line, under the header`:"";e(t.number,"invalid-motion",`motion ${n} has no "${o}"${c}`,n);continue}let l=$e(a??"",u);"error"in l?e(t.number,"invalid-motion",`${o}: ${sm(o,a)??l.error}`,n):o==="bpm"&&!nm(l.value)?e(t.number,"invalid-motion",`bpm: expected ${20} to ${300} beats a minute, got ${a??""}`,n):o==="meter"&&!rm(l.value)?e(t.number,"invalid-motion",`meter: expected a whole number of beats in a bar, 1 to ${16}, got ${a??""}`,n):l.value!==!1&&(r[o]=l.value)}let s=wn({...r,lines:[]});for(let[i]of Oi){let o=r[i];if(o===void 0||Ma(i)===void 0)continue;let a=Ra(i,o,s,n);a!==void 0&&(e(t.number,"invalid-motion",a,n),delete r[i])}return{page:n,number:t.number,head:r,lines:[],where:new Map,taken:new Map,numbers:[]}}function Na(t,e,n){if(e.words[0]==="music"&&!(e.words[1]??"").includes("=")){Q1(t,e,n);return}let r=e.words[0]==="camera"&&e.words[1]!==void 0&&!e.words[1].includes("="),s=r?e.words.slice(1):e.words,i=s[0];if(e.indent!==1){n(e.number,"invalid-motion","A motion line sits one level under its page");return}if(i.includes("=")){n(e.number,"invalid-motion",`Expected a node id first, got ${i}`);return}if(i===t.page&&!r){n(e.number,"invalid-motion",`${i} is the page: its transition goes on the header (motion ${i} enter=fade)`,i);return}let o=r?{id:i,camera:!0}:{id:i},a=!0;for(let c of s.slice(1)){let{key:d,value:h}=Pe(c),p=es.find(([S])=>S===d)?.[1];if(p===void 0){n(e.number,"invalid-motion",`A motion line has no "${d}"${im(d)}`,i),a=!1;continue}if(r&&!Z1.has(d)){n(e.number,"invalid-motion",`A camera line moves the shot and says only pad=, duration=, delay=, ease= and when: not ${d}=`,i),a=!1;continue}let m=$e(h??"",p),x="error"in m||Ma(d)===void 0?void 0:Ra(d,m.value,wn(Tc(t)),t.page);"error"in m?(n(e.number,"invalid-motion",`${d}: ${m.error}`,i),a=!1):x!==void 0?(n(e.number,"invalid-motion",`${i}: ${x}`,i),a=!1):d==="on"&&t.head.bpm===void 0?(n(e.number,"invalid-motion",`${i}: on=${String(m.value)} needs a tempo \u2014 motion ${t.page} bpm=120`,i),a=!1):d==="go"&&ir(m.value)===void 0?(n(e.number,"invalid-motion",`go: expected #<page>, back, next, or an https: or mailto: link, got ${h??""}`,i),a=!1):m.value!==!1&&(o[d]=m.value)}o.enter!==void 0&&o.exit!==void 0&&(n(e.number,"invalid-motion",`${i} either enters or exits on one line \u2014 write a second line for the other`,i),a=!1),o.emphasis!==void 0&&(o.enter!==void 0||o.exit!==void 0)&&(n(e.number,"invalid-motion",`${i} either ${o.enter!==void 0?"enters":"exits"} or is stressed on one line \u2014 write a second line for emphasis=`,i),a=!1);let u=Ic.filter(c=>o[c]!==void 0);if(o.step===!0&&o.together===!0?(n(e.number,"invalid-motion",`${i} waits for a step or starts together with the line above, not both`,i),a=!1):u.length>1?(n(e.number,"invalid-motion",`${i} says when it starts twice (${u.join(", ")}): keep one`,i),a=!1):o.on!==void 0&&(o.with!==void 0||o.together===!0)&&(n(e.number,"invalid-motion",`${i} starts with another line (${o.with===void 0?"together":"with="}), so on= could only pull it apart: keep one`,i),a=!1),a){let c=om(o);c!==void 0&&(n(e.number,"invalid-motion",`${i}: ${c}`,i),a=!1)}if(!a)return;let l=tm(o);if(!ui(l)){n(e.number,"invalid-motion",`${i} says nothing: give it enter=, exit=, emphasis= or go=`,i);return}if(r){t.where.has(i)||t.where.set(i,e.number),t.lines.push(l),t.numbers.push(e.number);return}for(let c of["enter","exit","emphasis","go"]){if(l[c]===void 0)continue;let d=t.taken.get(`${i} ${c}`);if(d!==void 0){let h=c==="go"?"has a go=":c==="enter"?"enters":c==="exit"?"exits":"has an emphasis=";n(e.number,"invalid-motion",`${i} already ${h} on line ${d}`,i);return}}for(let c of["enter","exit","emphasis","go"])l[c]!==void 0&&t.taken.set(`${i} ${c}`,e.number);t.where.has(i)||t.where.set(i,e.number),t.lines.push(l),t.numbers.push(e.number)}function Da(t){let e={...t.head.enter===void 0?{}:{enter:t.head.enter},...t.head.duration===void 0?{}:{duration:t.head.duration},...t.head.scroll===!0?{scroll:!0}:{},...t.head.length===void 0?{}:{length:t.head.length},...t.head.w===void 0?{}:{w:t.head.w},...t.head.h===void 0?{}:{h:t.head.h},...t.head.bpm===void 0?{}:{bpm:t.head.bpm},...t.head.meter===void 0?{}:{meter:t.head.meter},...t.music===void 0?{}:{music:t.music},lines:t.lines};return qr(e)?void 0:e}function Q1(t,e,n){let r=e.words[1];if(e.indent!==1){n(e.number,"invalid-motion","A motion line sits one level under its page");return}if(r===void 0){n(e.number,"invalid-motion","Expected music <asset>, e.g. music bed fadeout=1500");return}if(J1.has(r)){n(e.number,"invalid-motion",`music names its track first: music <asset> ${r}`);return}if(t.musicLine!==void 0){n(e.number,"invalid-motion",`motion ${t.page} already has music on line ${t.musicLine}: a page has one track`);return}let s={asset:r},i=wn(Tc(t)),o=!0,a=l=>{n(e.number,"invalid-motion",`music ${r}: ${l}`),o=!1};for(let l of e.words.slice(2)){let{key:c,value:d}=Pe(l),h=Ai.find(([m])=>m===c)?.[1];if(h===void 0){a(`the music line has no "${c}"${em(c)}`);continue}if(c==="from"&&d!==void 0&&/\d(?:beats?|bars?)$/.test(d)){a(`from= is where in the track to begin, in milliseconds, not ${d}`);continue}let p=$e(d??"",h);if("error"in p){a(`${c}: ${p.error}`);continue}if(c==="from"&&!Ac(p.value,0,zr)){a(`from: expected 0 to ${zr} milliseconds, got ${d??""}`);continue}if(c==="volume"&&!Ac(p.value,0,1)){a(`volume: expected 0 to 1, got ${d??""}`);continue}if(c==="fadein"||c==="fadeout"){let m=Ra(c,p.value,i,t.page);if(m!==void 0){a(m);continue}}p.value!==!1&&(s[c]=p.value)}if(!o)return;let u={asset:r};for(let[l]of Ai)s[l]!==void 0&&(u[l]=s[l]);t.music=u,t.musicLine=e.number}function Ac(t,e,n){return typeof t=="number"&&t>=e&&t<=n}function em(t){return t==="fade"?" \u2014 write fadein= and fadeout=":t==="fade-in"||t==="fadeIn"||t==="fade_in"?" \u2014 write fadein=":t==="fade-out"||t==="fadeOut"||t==="fade_out"?" \u2014 write fadeout=":t==="start"||t==="offset"||t==="seek"?" \u2014 write from= (where in the track to begin, in milliseconds)":t==="gain"||t==="level"?" \u2014 write volume= (0 to 1)":t==="at"||t==="delay"||t==="after"||t==="with"?": the music starts with the video; from= picks where in the track":": it takes from=, volume=, fadein=, fadeout= and loop"}function tm(t){let e=t.camera===!0?{id:t.id,camera:!0}:{id:t.id};for(let[n]of es)t[n]!==void 0&&(e[n]=t[n]);return e}function Tc(t){let{bpm:e,meter:n}=t.head;return{...e===void 0?{}:{bpm:e},...n===void 0?{}:{meter:n},lines:[]}}function Ra(t,e,n,r){if(sr(e)&&!n)return`${e} needs a tempo \u2014 motion ${r} bpm=120`;let s=typeof e=="number"||sr(e)?Gr(e,n):void 0,i=Ma(t)??Wr;if(s!==void 0&&s>=(t==="w"||t==="h"?16:0)&&s<=i)return;let a=String(e),u=sr(e)&&s!==void 0?` (${Math.round(s)} ms)`:"";return t==="w"||t==="h"?`${t}: expected 16 to ${Cn} pixels, got ${a}`:t==="pad"?`pad: expected 0 to ${Cn}, got ${a}`:`${t}: expected 0 to ${i} milliseconds, got ${a}${u}`}function nm(t){return typeof t=="number"&&t>=20&&t<=300}function rm(t){return typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=16}function sm(t,e){if(t==="meter"&&e!==void 0&&/^\d+\/\d+$/.test(e))return`Expected beats in a bar, got ${e} \u2014 meter is beats per bar: meter=${e.split("/")[0]??""}`;if(t==="duration"&&e!==void 0&&/\d(?:beats?|bars?)$/.test(e))return`Expected milliseconds, got ${e} \u2014 the page transition is milliseconds; beats are for the lines`}function im(t){return t==="emphasise"||t==="emphasize"?" \u2014 write emphasis=pulse":t==="easing"?" \u2014 write ease=":t==="split"?" \u2014 write by=word or by=letter":t==="start"?" \u2014 write at= (milliseconds), after= or with=":""}function om(t){let e=t.enter,n=t.exit,r=e??n,s=t.from;if(n==="count")return"count only enters: it runs a number up to its written value";if(s!==void 0)if(r==="count"){if(typeof s!="number")return"from= on count is the number it starts at, e.g. from=0"}else if(r==="wipe"||r==="grow"){if(typeof s=="number")return`from= on ${r} is a side: ${Sn.join(", ")}`}else return"from= goes with count (a number), or wipe and grow (a side)";if(t.by!==void 0&&r!==void 0&&!ri.includes(r))return`by= splits a text for ${ri.join(", ")}, not ${r}`;if(t.by!==void 0&&r===void 0)return"by= goes with enter= or exit=";if(t.stagger!==void 0&&r===void 0)return"stagger= goes with enter= or exit=";if(t.hold!==void 0&&e===void 0)return"hold= goes with enter=: how long to stay before leaving the way it came"}var K1,Ic,Z1,J1,Ri=B(()=>{"use strict";gt();kn();rt();K1=new Set(["exit","delay","step","together","go","at","after","with"]),Ic=["at","after","with","together","step"],Z1=new Set(["pad","duration","delay","ease","on",...Ic]);J1=new Set(["loop","step","together"])});var $c=B(()=>{"use strict";qt();dt();Ne();Pt();En();Mi();rt();Ri()});function Pc(t){let e=cm(t);return e===-1?{head:t,payload:""}:{head:t.slice(0,e),payload:t.slice(e+lr.length)}}function La(t){let{head:e,payload:n}=Pc(t);return{head:e,blocks:Mc(n)}}function Mc(t){let e=new Map;for(let n of t.split(`
|
|
4
|
+
`)){let r=n.indexOf(" ");if(r===-1)continue;let s=n.slice(0,r);s.startsWith(lm)&&e.set(s,n.slice(r+1).trim())}return e}function Ba(t,e){return`data:${t};base64,${e}`}function cm(t){if(t.startsWith(lr))return 0;let e=t.indexOf(`
|
|
5
|
+
${lr}`);return e===-1?-1:e+1}var lr,lm,Ua=B(()=>{"use strict";lr="--- payload base64 ---",lm="sha256-"});function Va(t){return(e,n,r,s)=>{t.push({severity:"error",code:n,message:`Line ${e}: ${r}`,...s===void 0?{}:{nodeId:s}})}}function _a(t){let e=[],n=t.split(`
|
|
6
|
+
`);for(let r=0;r<n.length;r+=1){let s=n[r],i=s.trim();if(i===lr)break;if(i===""||i.startsWith("```"))continue;let o=s.length-s.trimStart().length;e.push({number:r+1,indent:Math.floor(o/2),text:i,words:kc(i)})}return e}var ja=B(()=>{"use strict";rt();Ua()});function Ga(t){let e=[],n=[],r,s=()=>{r&&r.runs.length>0&&(r.props.content=Nc(r.runs)),r=void 0},i=o=>{for(s();e.length>0&&e[e.length-1].indent>=o;)hm(e.pop())};return{push(o){let a=o.words[0];if(a.startsWith('"')&&r&&o.indent>r.indent){let d=Fc(o,t);return d!==void 0&&r.runs.push(d),!0}if(a===$a){i(o.indent);let d=e[e.length-1];return!d||d.type!=="instance"?(t(o.number,"invalid-override","An override line must sit inside an instance"),!0):(r=dm(d,o,t),!0)}if(a.startsWith('"')){let d=e[e.length-1];if(!d||d.type!=="text")return t(o.number,"invalid-content","A quoted line must sit inside a text node"),!0;let h=Fc(o,t);return h!==void 0&&d.runs.push(h),!0}if(!Ii(a))return!1;i(o.indent);let u=o.words[1];if(u===void 0||u.includes("="))return t(o.number,"missing-id",`A ${a} needs an id`),!0;let l=fm(a,u,o.words.slice(2),o,t),c=e[e.length-1];return c?.type==="instance"?t(o.number,"invalid-override",`${c.record.id} takes its contents from its component \u2014 change the component, or write an override line`,u):c?c.children.push(l.record):n.push(l.record),e.push(l),!0},finish(){return i(0),n}}}function fm(t,e,n,r,s){let i={type:t,id:e},o=[];for(let a=0;a<n.length;a+=1){let{key:u,value:l}=Pe(n[a]),c=ts(t,u);if(c===void 0){let p=$i(n,a,n[a-1]);p?(s(r.number,"invalid-value",p.message,e),a=p.end-1):s(r.number,"invalid-value",`${t} has no property "${u}"`,e);continue}let d=Ti(u,l??"");if(d!==void 0){if("error"in d)s(r.number,"invalid-value",`${u}: ${d.error}`,e);else for(let[p,m]of d.cells)i[p]=m;continue}let h=$e(l??"",c);"error"in h?s(r.number,"invalid-value",`${u}: ${h.error}`,e):i[u]=h.value}return zs(t)&&(i.children=o),t==="text"&&(i.content=""),{indent:r.indent,type:t,record:i,children:o,runs:[]}}function dm(t,e,n){let r=t.record.id,s=e.words[1];if(s===void 0||s.includes("=")){n(e.number,"invalid-override","An override names the part it changes, e.g. override item.title fill=accent",r);return}let i=t.record.overrides??={},o=i[s]??={},a=e.words.slice(2);for(let u=0;u<a.length;u+=1){let{key:l,value:c}=Pe(a[u]),d=Zn(l)?Ta(l):void 0;if(d===void 0){let m=$i(a,u,a[u-1]);m?(n(e.number,"invalid-value",m.message,r),u=m.end-1):l==="content"?n(e.number,"invalid-value","Write the text as quoted lines under the override",r):n(e.number,"invalid-value",`An override cannot set "${l}"`,r);continue}let h=Ti(l,c??"");if(h!==void 0){if("error"in h)n(e.number,"invalid-value",`${l}: ${h.error}`,r);else for(let[m,x]of h.cells)o[m]=x;continue}let p=$e(c??"",d);"error"in p?n(e.number,"invalid-value",`${l}: ${p.error}`,r):o[l]=p.value}return{indent:e.indent,props:o,runs:[]}}function hm(t){if(t.type==="text"&&(t.record.content=Nc(t.runs)),t.type==="instance"){let e=t.record.overrides;for(let[n,r]of Object.entries(e??{}))Object.keys(r).length===0&&delete e?.[n];e&&Object.keys(e).length===0&&delete t.record.overrides}}function Nc(t){if(t.length===0)return"";let e=t[0];return t.length===1&&typeof e=="string"?e:[...t]}function Fc(t,e){let n=bt(t.words[0]);if(n===void 0){e(t.number,"invalid-run","Malformed quoted string");return}if(t.words.length===1)return n;let r={text:n};for(let s of t.words.slice(1)){let{key:i,value:o}=Pe(s),a=Ei.find(([l])=>l===i);if(!a){e(t.number,"invalid-run",`A run has no mark "${i}"`);continue}let u=$e(o??"",a[1]);"error"in u?e(t.number,"invalid-run",`${i}: ${u.error}`):r[i]=u.value}return r}var za=B(()=>{"use strict";Ne();dt();rt()});function ns(t){let e=[],n=Va(e),r=er,s,i=!1,o={},a={},u={},l=Ga(n),c=Pa(n,e),d,h={},p=!1,m=!1,x={},S=new Map,O,M=!1,g=()=>{if(!O)return;let A=O;O=void 0;let L=S.get(A.page);if(L!==void 0){n(A.number,"invalid-motion",`motion ${A.page} is written twice \u2014 put its lines in the block on line ${L}`,A.page);return}S.set(A.page,A.number);for(let[H,q]of A.where)S.set(`${A.page} ${H}`,q);let X=Da(A);X&&(x[A.page]=X)};for(let A of _a(t)){let L=A.words[0];if(O&&A.indent>0){Na(O,A,n);continue}if(!(M&&A.indent>0)){if(M=!1,g(),L==="motion"&&A.indent===0){d=void 0,O=Fa(A,n),M=O===void 0;continue}if(c.take(A)){d=void 0;continue}if(L==="version"){i=!0,gm(A,e);continue}if(L==="kind"&&A.indent===0){r=bm(A,e);continue}if(L==="title"&&A.indent===0){s=Dc(A,n);continue}if(L==="theme"&&A.indent===0){d=void 0,p=!0,m&&n(A.number,"invalid-theme","theme dark is written twice \u2014 keep one block"),m=!0,(A.words[1]!=="dark"||A.words.length>2)&&n(A.number,"invalid-theme","Expected theme dark on its own line, with the tokens that differ indented under it");continue}if(L.startsWith("$")){if(d=void 0,p&&A.indent>0){Wa(A,h,n);continue}p=!1,Wa(A,o,n);continue}if(A.indent===0)p=!1;else if(p){n(A.number,"invalid-theme","A theme block holds only $name = value lines");continue}if(L==="asset"&&A.indent===0){d=void 0,xm(A,u,n);continue}if(L==="font"&&A.indent===0){d=vm(A,a,n);continue}if((L==="fallback"||L==="face")&&d){km(L,A,d,n);continue}d=void 0,!l.push(A)&&n(A.number,"unknown-node-type",`Unknown statement "${L}"`)}}g();let F=mm(c.finish(),r,e),N=tr({dark:h}),R={...F===void 0?{}:{brand:F},...N===void 0?{}:{themes:N}},E=pm(l.finish(),e),y=Object.keys(x).length===0?{}:{motion:x},P=(A,L)=>S.get(L===void 0?A:`${A} ${L}`);if(!E){i||e.push({severity:"error",code:"invalid-document",message:"No nodes found"});let A=jr({id:yn,children:[]}),L=Qs({kind:r,...s===void 0?{}:{title:s},tokens:o,fonts:a,assets:u,...y,...R,root:A});return e.push(...Hr(L,P)),{document:L,problems:e}}let b=xn(E),I={version:Wt({kind:r,fonts:a,...R,root:b}),kind:r,...s===void 0?{}:{title:s},tokens:o,fonts:a,assets:u,...y,...R,root:b};return e.push(...Hr(I,P)),{document:I,problems:e}}function pm(t,e){let n=t[0];if(n!==void 0){if(t.length===1&&n.type==="canvas")return n;for(let r of t){if(r.type!=="canvas")continue;let s=r.id;e.push({severity:"error",code:"invalid-document",message:"A canvas must be the only top-level node",...typeof s=="string"?{nodeId:s}:{}})}return{type:"canvas",id:yn,children:[...t]}}}function mm(t,e,n){let r=t.brand;if(!r)return;t.header||n.push({severity:"error",code:"invalid-brand",message:"A brand needs its brand line first, e.g. brand ember@1"});let s=Object.entries(r.guides).filter(([o,a])=>o!=="voice"||a.entries.some(u=>u.kind!=="banned")),i=Object.keys(r.roles).length+Object.keys(r.logos).length+s.length+r.review.length;return e!=="brand"&&i>0&&n.push({severity:"warning",code:"brand-only",message:"Roles, logos, guides and review define a brand, and are read in a kind brand document"}),r}function gm(t,e){Zs.includes(Number(t.words[1]))||e.push({severity:"warning",code:"version-mismatch",message:`Line ${t.number}: expected version ${Js} or older, got ${t.words[1]??"nothing"}`})}function bm(t,e){let n=t.words[1];return n!==void 0&&_r.includes(n)?n:(e.push({severity:"error",code:"unknown-kind",message:`Line ${t.number}: unknown kind "${n??"nothing"}" \u2014 this build reads ${_r.join(", ")}`}),er)}function Dc(t,e){let n=t.words.slice(1).join(" ").trim();if(n===""){e(t.number,"invalid-value",'title needs a name, e.g. title "Pitch deck"');return}let r=n.startsWith('"')?bt(n):n;if(r===void 0){e(t.number,"invalid-value",`Could not read the title ${n}`);return}return r.trim()===""?void 0:r}function Wa(t,e,n){let{name:r,value:s}=qa(t.words);if(r===void 0||s===void 0){n(t.number,"invalid-token","Expected $name = value");return}if(!s.startsWith('"')&&/\s/.test(s)){n(t.number,"invalid-token",`$${r}: expected one value, got "${s}". Quote it if the value has spaces; there are no comments.`);return}let i=$e(s,"stringValue");if("error"in i){n(t.number,"invalid-token",`$${r}: ${i.error}`);return}if(typeof i.value!="string"){n(t.number,"invalid-token",`$${r} may not be an expression`);return}e[r]=Rc(i.value,s)}function Rc(t,e){let n=Number(t);return e.startsWith('"')||!Number.isFinite(n)||t.trim()===""?t:n}function qa(t){let e=t[0],n=i=>i.startsWith("$")?i.slice(1):i;if(t[1]==="=")return{name:n(e),value:t.slice(2).join(" ")||void 0};let{key:r,value:s}=Pe(e);return s!==void 0?{name:n(r),value:s}:{name:n(e)}}function xm(t,e,n){let r=t.words.slice(1),s=r[0],i=r[1]==="=",o=s===void 0?void 0:Pe(s),a=o?.key,u=i?r[2]:o?.value,l=r.slice(i?3:1);if(a===void 0||a===""||u===void 0){n(t.number,"invalid-asset","Expected asset <name> = <type> hash=\u2026 bytes=\u2026");return}let c={};for(let m of l){let{key:x,value:S}=Pe(m);if(S===void 0){n(t.number,"invalid-asset",`Asset "${a}" has a stray word "${m}"`);continue}c[x]=ym(S)}let d=c.hash,h=Number(c.bytes);if(d===void 0||!Number.isFinite(h)){n(t.number,"invalid-asset",`Asset "${a}" needs a hash and a bytes count`);return}let p=c.ms===void 0?void 0:Number(c.ms);if(p!==void 0&&!(Number.isFinite(p)&&p>=0)){n(t.number,"invalid-asset",`Asset "${a}": ms is the track's length, in milliseconds`);return}e[a]={type:u,hash:d,bytes:h,...p===void 0?{}:{ms:p},...c.credit===void 0?{}:{credit:c.credit},...c.source===void 0?{}:{source:c.source},...c.license===void 0?{}:{license:c.license}}}function ym(t){return t.startsWith('"')?bt(t)??t:t}function vm(t,e,n){let{name:r,value:s}=qa(t.words.slice(1));if(r===void 0||s===void 0){n(t.number,"invalid-font","Expected font <name> = <family>");return}let i=$e(s,"string"),o={family:"error"in i?s:i.value};return e[r]=o,{family:o,faces:[]}}function km(t,e,n,r){if(t==="fallback"){let a=$e(e.words.slice(1).join(" "),"string");"error"in a?r(e.number,"invalid-font",`fallback: ${a.error}`):n.family.fallback=a.value;return}let s=e.words[1];if(s===void 0){r(e.number,"invalid-font-face","A face needs a src, or asset=");return}let i=s.startsWith("asset=")?s.slice(6):void 0,o={};if(i!==void 0){if(!wm.test(i)){r(e.number,"invalid-font-face",`asset=${i}: not an asset name`);return}o.asset=i}else{let a=$e(s,"string");o.src="error"in a?s:a.value}for(let a of e.words.slice(2)){let{key:u,value:l}=Pe(a);if(u!=="weight"&&u!=="style"){r(e.number,"invalid-font-face",`A face has no property "${u}"`);continue}let c=$e(l??"",u==="weight"?"number":"fontStyle");"error"in c?r(e.number,"invalid-font-face",`${u}: ${c.error}`):o[u]=c.value}n.faces.push(o),n.family.faces=n.faces}var wm,Ha=B(()=>{"use strict";qt();gt();dt();Mi();rt();ja();Ri();za();wm=/^[A-Za-z_][\w-]*$/});function Ht(t){return{x:t.x+t.w/2,y:t.y+t.h/2}}function Li(t,e,n){if(n===0)return t;let r=n*Math.PI/180,s=Math.cos(r),i=Math.sin(r),o=t.x-e.x,a=t.y-e.y;return{x:e.x+o*s-a*i,y:e.y+o*i+a*s}}function cr(t,e,n=Ht(t)){if(e%360===0)return t;let r=[{x:t.x,y:t.y},{x:t.x+t.w,y:t.y},{x:t.x+t.w,y:t.y+t.h},{x:t.x,y:t.y+t.h}].map(u=>Li(u,n,e)),s=r.map(u=>u.x),i=r.map(u=>u.y),o=Math.min(...s),a=Math.min(...i);return{x:o,y:a,w:Math.max(...s)-o,h:Math.max(...i)-a}}var Xa=B(()=>{"use strict"});function Bi(t){return Lc.includes(t.type)}function Uc(t){return Bc.includes(t.type)}function Ui(t){let e=new Map,n=[],r=(o,a,u)=>{let l={node:o,page:a,instance:u};e.has(o.id)||e.set(o.id,l),Bi(o)&&o.mask!==void 0&&n.push(l);let c=o.type==="instance"?o.id:u;for(let d of qe(o)){let h=o===t&&d.type==="frame"?d.id:a;r(d,h,c)}};r(t,t.id,void 0);let s=new Map,i=[];for(let o of n){let a=o.node,u=a.mask,l=o.instance===void 0?void 0:Jn(o.instance,u),c=(l===void 0?void 0:e.get(l))??e.get(u);if(!c){i.push({severity:"error",code:"unknown-reference",message:`${a.id}: mask=${u} names nothing in the document, so it is drawn unmasked \u2014 point mask= at a rect, ellipse or vector on its page`,nodeId:a.id,prop:"mask"});continue}if(!Uc(c.node)){i.push({severity:"error",code:"mask-not-a-shape",message:c.node.id===a.id?`${a.id} cannot be its own mask, so it is drawn unmasked \u2014 point mask= at a rect, ellipse or vector`:`${a.id}: mask=${u} is ${Sm(c.node.type)} ${c.node.type}, so it is drawn unmasked \u2014 a mask is a rect, ellipse or vector`,nodeId:a.id,prop:"mask"});continue}if(c.page!==o.page){i.push({severity:"error",code:"mask-wrong-page",message:`${a.id}: mask=${u} is on ${c.page}, not ${o.page}, so it is drawn unmasked \u2014 move the shape onto the image's page`,nodeId:a.id,prop:"mask"});continue}s.set(a.id,c.node.id)}return{links:s,shapes:new Set(s.values()),problems:i}}function Ya(t){return[...Ui(t).problems]}function Sm(t){return/^[aeiou]/.test(t)?"an":"a"}function Ka(t,e,n){let r={x:e.x,y:e.y,w:Math.max(0,e.w),h:Math.max(0,e.h)},s=u=>({x:u.x+r.x,y:u.y+r.y}),i,o="nonzero";switch(t.type){case"rect":i=tt(An(r.w,r.h,Bs(n)),s);break;case"ellipse":i=tt(Jr(r.w,r.h),s);break;case"vector":i=tt(Xr(t.d).contours,Zr(Kr(t.view,r.w,r.h),r)),o=t.rule??"nonzero";break;case"canvas":case"connector":case"frame":case"group":case"image":case"instance":case"text":case"video":return}let a=n.rotation??0;if(a%360!==0){let u=Ht(r);i=tt(i,l=>Li(l,u,a))}return{contours:i,rule:o}}var Lc,Bc,Za=B(()=>{"use strict";dt();Ne();gi();Pt();Xa();Lc=["image","video"],Bc=["rect","ellipse","vector"]});function rs(t){return e0(t).map(e=>e.trim())}function Vi(t){return/^\s*image\s*\(/i.test(t)}function Ja(t){let e=t.trim();if(e==="")return{error:"A paint list has an empty layer"};if(!Vi(e))return ji(e);let n=/^image\s*\(([\s\S]*)\)$/i.exec(e);if(!n)return{error:'An image paint needs its closing ")"'};let r=e0(n[1]).map(o=>o.trim()),s=r[0]??"";if(!Cm.test(s))return{error:`image() names an asset, like image(photo, cover), not ${JSON.stringify(s)}`};if(r.length>2)return{error:"image() takes an asset and a fit: image(photo, cover)"};let i=(r[1]??"cover").toLowerCase();return gn.includes(i)?{kind:"image",asset:s,fit:i}:{error:`An image paint's fit is cover, contain or fill, not ${JSON.stringify(i)}`}}function _i(t){return/^\s*(linear|radial|conic|repeating-[a-z]+)-gradient\s*\(/i.test(t)}function ji(t){let e=t.trim(),n=/^([a-z-]+)-gradient\s*\(([\s\S]*)\)$/i.exec(e);if(!n)return _i(e)?{error:'A gradient needs its closing ")"'}:{kind:"solid",colour:e};let r=n[1].toLowerCase(),s=e0(n[2]).map(i=>i.trim());if(s.some(i=>i===""))return{error:"A gradient has an empty argument"};if(r==="linear"){let i=Om(s[0]),o=_c(i===void 0?s:s.slice(1));return"error"in o?o:{kind:"linear",angle:i??180,stops:o.stops}}if(r==="radial"){let i=Im(s[0]);if(i&&"error"in i)return i;let o=_c(i?s.slice(1):s);return"error"in o?o:{kind:"radial",shape:i?.shape??"ellipse",cx:i?.cx??.5,cy:i?.cy??.5,stops:o.stops}}return{error:`${r}-gradient is not supported; use linear-gradient or radial-gradient`}}function Qa(t){let e=t.map(r=>r.at);e[0]===void 0&&(e[0]=0),e[e.length-1]===void 0&&(e[e.length-1]=1);let n=0;for(let r=0;r<e.length;r+=1){let s=e[r];s!==void 0&&(n=Math.max(n,s),e[r]=n)}for(let r=1;r<e.length;r+=1){if(e[r]!==void 0)continue;let s=r-1,i=r;for(;e[i]===void 0;)i+=1;let o=e[s],a=e[i];for(let u=r;u<i;u+=1)e[u]=o+(a-o)*(u-s)/(i-s);r=i}return t.map((r,s)=>({colour:r.colour,at:e[s]}))}function e0(t){let e=[],n=0,r=0;for(let s=0;s<t.length;s+=1){let i=t[s];i==="("?n+=1:i===")"?n=Math.max(0,n-1):i===","&&n===0&&(e.push(t.slice(r,s)),r=s+1)}return e.push(t.slice(r)),e}function Om(t){let e=/^(-?\d*\.?\d+)(deg|turn|rad)$/i.exec(t);if(e){let i=Number(e[1]),o=e[2].toLowerCase();return o==="turn"?i*360:o==="rad"?i*180/Math.PI:i}let n=/^to\s+([a-z]+)(?:\s+([a-z]+))?$/i.exec(t);if(!n)return;let r=0,s=0;for(let i of[n[1],n[2]]){if(i===void 0)continue;let o=Em[i.toLowerCase()];if(!o)return;r+=o[0],s+=o[1]}return(Math.atan2(r,-s)*180/Math.PI+360)%360}function Im(t){let e=/^(circle|ellipse)?\s*(?:at\s+(\S+)(?:\s+(\S+))?)?$/i.exec(t);if(!e||e[1]===void 0&&e[2]===void 0)return;let n=e[1]?.toLowerCase();if(e[2]===void 0)return n?{shape:n}:void 0;let r=Vc(e[2]),s=e[3]===void 0?.5:Vc(e[3]);return r===void 0||s===void 0?{error:`A radial centre is two percentages or keywords, not "${t}"`}:{...n?{shape:n}:{},cx:r,cy:s}}function Vc(t){let e=Am[t.toLowerCase()];if(e!==void 0)return e;let n=/^(-?\d*\.?\d+)%$/.exec(t);return n?Number(n[1])/100:void 0}function _c(t){if(t.length<2)return{error:"A gradient needs at least two colours"};let e=[];for(let n of t){let r=/^([\s\S]*?\S)\s+(-?\d*\.?\d+)%$/.exec(n);if(r&&Tm(r[1]))e.push({colour:r[1],at:Number(r[2])/100});else{if(/\s/.test(n.replace(/\([^)]*\)/g,"")))return{error:`"${n}" is not a colour with an optional percentage`};e.push({colour:n})}}return{stops:e}}function Tm(t){let e=0;for(let n of t)if(n==="("&&(e+=1),n===")"&&(e-=1),e<0)return!1;return e===0}var Cm,Em,Am,t0=B(()=>{"use strict";Ne();Cm=/^[A-Za-z_][\w-]*$/;Em={top:[0,-1],bottom:[0,1],left:[-1,0],right:[1,0]};Am={left:0,top:0,center:.5,right:1,bottom:1}});var n0=B(()=>{"use strict";qt();Ne();t0()});var jc=B(()=>{"use strict";bn();gt();Ne();Oa();dt();Za();Pt();n0();rt();ja();Mi();Ri();Ha();za()});var Gc=B(()=>{"use strict"});function r0(t){let e=Vm.exec(t);if(!e)return;let n=e[1]??"",r="",s=n;for(;;){let i=s.indexOf("<![CDATA[");if(i===-1){r+=zc(s);break}r+=zc(s.slice(0,i));let o=s.indexOf("]]>",i);if(o===-1){r+=s.slice(i+9);break}r+=s.slice(i+9,o),s=s.slice(o+3)}return`${r.replace(/^\n/,"").replace(/\n$/,"")}
|
|
7
|
+
`}function s0(t){return/^\uFEFF?\s*</.test(t)}function zc(t){return t.replace(/&(lt|gt|quot|apos|amp|#\d+|#x[0-9a-fA-F]+);/g,(e,n)=>{switch(n){case"lt":return"<";case"gt":return">";case"quot":return'"';case"apos":return"'";case"amp":return"&";default:{let r=n.startsWith("#x")?parseInt(n.slice(2),16):parseInt(n.slice(1),10);return Number.isFinite(r)&&r<=1114111?String.fromCodePoint(r):e}}})}var Wc,d8,Vm,qc=B(()=>{"use strict";Wc="https://getv.design/ns/vd",d8=`<metadata><vd:document xmlns:vd="${Wc}" version="1"><![CDATA[
|
|
8
|
+
`,Vm=/<vd:document\b[^>]*>([\s\S]*?)<\/vd:document\s*>/});var Hc=B(()=>{"use strict";bn();Pt();qt();Ne();vi();Si();rt();dt();kn();gt();rt();Xn()});var Xc=B(()=>{"use strict";gt();kn();Ne()});function i0(t){let e=t.trim();if(e===""||e==="none")return{shadows:[]};let n=[];for(let r of Zm(e)){let s=Jm(r.trim()),i=s.filter(m=>m.toLowerCase()==="inset").length;if(i>1)return{error:`"${r.trim()}" says inset more than once`};let o=s[0]?.toLowerCase()==="inset",a=s[s.length-1]?.toLowerCase()==="inset";if(i===1&&!o&&!a)return{error:`"${r.trim()}" needs inset first or last, as CSS writes it`};i===1&&(s=o?s.slice(1):s.slice(0,-1));let u=[],l=[];for(let m of s){let x=/^(-?\d*\.?\d+)(px)?$/.exec(m);x&&l.length===0?u.push(Number(x[1])):l.push(m)}if(u.length<2||u.length>4)return{error:`"${r.trim()}" needs x, y, then optional blur and spread`};if(l.length!==1)return{error:`"${r.trim()}" needs one colour after its numbers`};let[c=0,d=0,h=0,p=0]=u;if(h<0)return{error:"A shadow cannot have a negative blur"};n.push({x:c,y:d,blur:h,spread:p,colour:l[0],...i?{inset:!0}:{}})}return{shadows:n}}function Zm(t){let e=[],n=0,r=0;for(let s=0;s<t.length;s+=1){let i=t[s];i==="("?n+=1:i===")"?n=Math.max(0,n-1):i===","&&n===0&&(e.push(t.slice(r,s)),r=s+1)}return e.push(t.slice(r)),e}function Jm(t){let e=[],n=0,r="";for(let s of t){if(s==="("&&(n+=1),s===")"&&(n=Math.max(0,n-1)),/\s/.test(s)&&n===0){r!==""&&e.push(r),r="";continue}r+=s}return r!==""&&e.push(r),e}var Yc=B(()=>{"use strict"});function o0(t){return Gi.includes(t.type)}function Kc(t,e){return t.end===void 0?e:e===void 0?t.end:Math.min(t.end,e)}function a0(t,e){let n=t.start??0,r=Kc(t,e),s=t.poster??n;return r===void 0?Math.max(s,n):eg(s,n,Qm(n,r))}function Qm(t,e){return Math.max(t,e-1)}function eg(t,e,n){return Math.min(Math.max(t,e),n)}var Gi,Zc=B(()=>{"use strict";Gi=["video/mp4","video/webm"]});var He=B(()=>{"use strict";Xn();Ne();bn();qt();vi();gc();dt();gi();Oa();En();rt();rt();$c();Ha();jc();n0();Za();Gc();qc();Ua();Hc();ba();gt();kn();Xc();t0();Si();Pt();Yc();Xa();Zc()});function In(t){return Qc.includes(t)}function u0(t){return ef.includes(t)}var Qc,ef,ss=B(()=>{"use strict";Qc=["x","y","w","h","left","right","top","bottom","cx","cy"];ef=["parent","prev","next","self","root"]});function c0(t){let e=[],n=0,r=()=>{if(!tf.test(t[n]??""))throw new De(`Expected a name at position ${n}`,n);let o=n;for(;n<t.length&&l0.test(t[n]??"");)n++;return t.slice(o,n)},s=()=>{if(!l0.test(t[n]??""))throw new De(`Expected a name at position ${n}`,n);let o=n;for(;n<t.length&&l0.test(t[n]??"");)n++;return t.slice(o,n)},i=()=>{let o=[r()];for(;t[n]===".";)n++,o.push(s());return o};for(;n<t.length;){let o=t[n]??"";if(/\s/.test(o)){n++;continue}if(/[0-9]/.test(o)){let a=n;for(;n<t.length&&/[0-9]/.test(t[n]??"");)n++;if(t[n]==="."&&/[0-9]/.test(t[n+1]??""))for(n++;n<t.length&&/[0-9]/.test(t[n]??"");)n++;let u=t.slice(a,n),l=Number(u);if(!Number.isFinite(l))throw new De(`Bad number "${u}"`,a);t[n]==="%"?(n++,e.push({type:"percent",value:l})):e.push({type:"number",value:l});continue}if(o==="$"){n++,e.push({type:"token",name:r()});continue}if(o==="@"){n++,e.push({type:"ref",path:i()});continue}if(tf.test(o)){e.push({type:"word",path:i()});continue}if("+-*/()".includes(o)){n++,e.push({type:"op",value:o});continue}throw new De(`Unexpected character "${o}" at position ${n}`,n)}return e.push({type:"eof"}),e}var De,tf,l0,f0=B(()=>{"use strict";De=class extends Error{position;constructor(e,n){super(e),this.position=n,this.name="ExprSyntaxError"}},tf=/[A-Za-z_]/,l0=/[A-Za-z0-9_]/});function Tn(t){try{let e=c0(t),n=new d0(e),r=n.parseBinary(0);return n.expectEof(),{ok:!0,ast:r}}catch(e){if(e instanceof De)return{ok:!1,message:e.message};throw e}}function lg(t){return t==="+"||t==="-"||t==="*"||t==="/"}var ug,d0,is=B(()=>{"use strict";ss();f0();ug={"+":1,"-":1,"*":2,"/":2};d0=class{tokens;index=0;constructor(e){this.tokens=e}peek(){return this.tokens[this.index]??{type:"eof"}}next(){let e=this.peek();return this.index++,e}expectEof(){if(this.peek().type!=="eof")throw new De("Unexpected trailing input",this.index)}parseBinary(e){let n=this.parseUnary();for(;;){let r=this.peek();if(r.type!=="op"||!lg(r.value))break;let s=ug[r.value];if(s<e)break;this.next();let i=this.parseBinary(s+1);n={kind:"binary",op:r.value,left:n,right:i}}return n}parseUnary(){let e=this.peek();return e.type==="op"&&(e.value==="-"||e.value==="+")?(this.next(),{kind:"unary",op:e.value,operand:this.parseUnary()}):this.parsePrimary()}parsePrimary(){let e=this.next();switch(e.type){case"number":return{kind:"number",value:e.value};case"percent":return{kind:"percent",value:e.value};case"token":return{kind:"token",name:e.name};case"ref":{if(e.path.length<2)throw new De(`@${e.path.join(".")} needs an edge, for example @${e.path.join(".")}.right`,this.index);return{kind:"nodeRef",path:e.path}}case"word":{let[n,r,...s]=e.path;if(n===void 0||!u0(n))throw new De(`Unknown name "${e.path.join(".")}". Use $token for a token or @id.edge for a node.`,this.index);if(r===void 0||!In(r)||s.length>0)throw new De(`${n} needs an edge, for example ${n}.w`,this.index);return{kind:"relRef",word:n,edge:r}}case"op":{if(e.value==="("){let n=this.parseBinary(0),r=this.next();if(r.type!=="op"||r.value!==")")throw new De("Missing closing parenthesis",this.index);return n}throw new De(`Unexpected "${e.value}"`,this.index)}case"eof":throw new De("Unexpected end of expression",this.index)}}}});var nf=B(()=>{"use strict";He()});function Je(t,e){return`${t} ${e}`}function h0(t){switch(t){case"x":case"left":return["x"];case"y":case"top":return["y"];case"w":return["w"];case"h":return["h"];case"right":case"cx":return["x","w"];case"bottom":case"cy":return["y","h"]}}function p0(t,e,n,r,s){switch(t){case"x":case"left":return e;case"y":case"top":return n;case"w":return r;case"h":return s;case"right":return e+r;case"bottom":return n+s;case"cx":return e+r/2;case"cy":return n+s/2}}function m0(t){switch(t){case"x":case"left":case"right":case"cx":return"x";case"y":case"top":case"bottom":case"cy":return"y";case"w":case"h":return}}function g0(t,e,n){let r=d=>{let h=[];for(let p=n.parentOf.get(d);p!==void 0;p=n.parentOf.get(p))h.push(p);return h},s=r(t),i=r(e),o=new Set(i),a=s.find(d=>o.has(d)),u=d=>a===void 0?d:d.slice(0,d.indexOf(a)),l=new Map([[t,1]]),c=(d,h)=>{let p=(l.get(d)??0)+h;p===0?l.delete(d):l.set(d,p)};for(let d of u(s))c(d,1);for(let d of u(i))c(d,-1);return l}function b0(t){switch(t){case"right":case"bottom":return 1;case"cx":case"cy":return .5;default:return 0}}function zi(t){if(t==="x"||t==="w"||t==="x1"||t==="x2")return"w";if(t==="y"||t==="h"||t==="y1"||t==="y2")return"h"}function os(t){let e=new Map,n=new Map,r=new Map,s=new Map,i=new Map,o=[];ve(t.root,(d,h)=>{if(e.has(d.id)||e.set(d.id,d),o.push(d),h){n.set(d.id,h.id);let p=i.get(h.id)??[],m=h.type==="instance"?[h.id,...p]:p;m.length>0&&i.set(d.id,m)}Ae(d)&&d.children.forEach((p,m)=>{let x=d.children[m-1],S=d.children[m+1];x&&r.set(p.id,x.id),S&&s.set(p.id,S.id)})});let a=new Map;for(let d of o){let h=n.get(d.id);for(;h!==void 0;){let p=e.get(h);if(!p||!Kn(p))break;h=n.get(h)}h!==void 0&&a.set(d.id,h)}let u=new Map,l=new Map,c=d=>{if(Ae(d)){if(!Kn(d)){let h=rf(d);h.forEach((p,m)=>{let x=h[m-1],S=h[m+1];x&&u.set(p.id,x.id),S&&l.set(p.id,S.id)})}for(let h of d.children)c(h)}};return c(t.root),{rootId:t.root.id,byId:e,parentOf:n,prevOf:r,nextOf:s,layoutParentOf:a,layoutPrevOf:u,layoutNextOf:l,scopeOf:i,order:o}}function rf(t){let e=[];for(let n of t.children)Ae(n)&&Kn(n)?e.push(...rf(n)):e.push(n);return e}function fr(t,e,n){if(t.kind==="relRef"){let i=cg(t.word,e,n);return i===void 0?{ok:!1,message:`${e} has no ${t.word}`}:{ok:!0,nodeId:i,edge:t.edge}}let r=t.path[t.path.length-1]??"",s=t.path.slice(0,-1).join(".");if(!In(r))return{ok:!1,message:`"${r}" is not an edge of @${s}`};for(let i of n.scopeOf.get(e)??[]){let o=`${i}.${s}`;if(n.byId.has(o))return{ok:!0,nodeId:o,edge:r};let a=n.byId.get(i);if(a?.type==="instance"&&a.component===s)return{ok:!0,nodeId:i,edge:r}}return n.byId.has(s)?{ok:!0,nodeId:s,edge:r}:{ok:!1,message:`No node @${s}`}}function cg(t,e,n){switch(t){case"self":return e;case"root":return n.rootId;case"parent":return n.layoutParentOf.get(e);case"prev":return n.layoutPrevOf.get(e);case"next":return n.layoutNextOf.get(e)}}var Wi=B(()=>{"use strict";He();ss()});function y0(t){return fg(os(t))}function fg(t){let e=new Map;for(let n of t.order){if(n.type!=="connector")continue;let r={},s={},i={};for(let[o,a,u]of af){let l=x0(n[a],n.id,t),c=x0(n[u],n.id,t),d=new Set([...l,...c]),[h]=d;if(d.size===1&&l.length>0&&c.length>0&&h!==void 0){r[o]=h;let p=sf(n[a]),m=sf(n[u]),x=dg(p,m);x!==void 0&&(s[o]=x);let S=x==="x"?p:x==="y"?m:void 0;(S==="left"||S==="right"||S==="top"||S==="bottom")&&(i[o]=S)}}(r.start!==void 0||r.end!==void 0)&&e.set(n.id,{...r,sides:s,named:i})}return e}function uf(t){let e=[];for(let n of t.order){if(n.type!=="connector")continue;let r=of(n.id,t),s=new Set;for(let[,i,o]of af)for(let a of[i,o])for(let u of x0(n[a],n.id,t)){if(u===n.id||s.has(u))continue;let l=t.byId.get(u)?.type;if(l==="group"||l==="canvas"){s.add(u),e.push({severity:"warning",code:"connector-no-box",message:`${n.id} follows @${u}, a ${l} with no box of its own, which reads as 0 \u2014 attach to a shape inside it`,nodeId:n.id,prop:a});continue}of(u,t)!==r&&(s.add(u),e.push({severity:"warning",code:"connector-other-page",message:`${n.id} follows @${u}, which is on another page, so the line leaves its own \u2014 attach to a node on the same page`,nodeId:n.id,prop:a}))}}return e}function sf(t){if(!Ue(t))return;let e=Tn(t.expr);if(!e.ok)return;let n=r=>{switch(r.kind){case"nodeRef":{let s=r.path[r.path.length-1];return s!==void 0&&In(s)?s:void 0}case"relRef":return r.edge;case"unary":return n(r.operand);case"binary":return n(r.left)??n(r.right);case"number":case"token":case"percent":return}};return n(e.ast)}function dg(t,e){let n=t==="left"||t==="right",r=e==="top"||e==="bottom";if(n&&!r)return"x";if(r&&!n)return"y"}function x0(t,e,n){if(!Ue(t))return[];let r=Tn(t.expr);if(!r.ok)return[];let s=[],i=o=>{switch(o.kind){case"nodeRef":case"relRef":{if(o.kind==="relRef"&&(o.word==="self"||o.word==="parent"))return;let a=fr(o,e,n);a.ok&&!s.includes(a.nodeId)&&s.push(a.nodeId);return}case"unary":i(o.operand);return;case"binary":i(o.left),i(o.right);return;case"number":case"token":case"percent":return}};return i(r.ast),s}function of(t,e){let n=t;for(;n!==void 0;){let r=e.parentOf.get(n);if(r===e.rootId)return e.byId.get(n)?.type==="frame"?n:void 0;n=r}}var af,v0=B(()=>{"use strict";He();ss();Wi();is();af=[["start","x1","y1"],["end","x2","y2"]]});function w0(t){let e=[...ma(t.root),...Ya(t.root)],n=os(t),r=hg(n),s=new Set;gg(r,e),bg(r,t,n,s,e),e.push(...uf(n));let i=xg(r);yg(r,i,e);let o=vg(r,i,t,n,s,e);return{nodes:kg(t.root,o,r,e),problems:e}}function hg(t){let e=new Map;for(let n of t.order){n.type==="connector"&&pg(n.id,e);let r=n;for(let s of Ws(n)){let i=r[s]??mg(n,s,t);i!==void 0&&e.set(Je(n.id,s),{nodeId:n.id,prop:s,value:i,deps:[]})}}return e}function pg(t,e){let n={x:["x1","x2",Math.min],y:["y1","y2",Math.min],w:["x1","x2",(r,s)=>Math.abs(s-r)],h:["y1","y2",(r,s)=>Math.abs(s-r)]};for(let[r,[s,i,o]]of Object.entries(n))e.set(Je(t,r),{nodeId:t,prop:r,value:0,deps:[Je(t,s),Je(t,i)],derive:a=>o(a(s),a(i))})}function mg(t,e,n){if(!(t.type!=="instance"||e!=="w"&&e!=="h")&&n.byId.get(t.component)?.type==="frame")return mn(`@${t.component}.${e}`)}function gg(t,e){for(let n of t.values()){if(!Ue(n.value))continue;let r=Tn(n.value.expr);if(r.ok){n.ast=r.ast;continue}e.push({severity:"error",code:"expression-syntax",message:r.message,nodeId:n.nodeId,prop:n.prop})}}function bg(t,e,n,r,s){for(let i of t.values()){if(!i.ast||i.derive)continue;let o=new Set,a=u=>{switch(u.kind){case"number":return;case"token":{let l=Ve(e)[u.name];typeof l!="number"&&s.push({severity:"error",code:l===void 0?"unknown-token":"token-not-a-number",message:l===void 0?`Unknown token $${u.name}`:`Token $${u.name} is not a number`,nodeId:i.nodeId,prop:i.prop});return}case"percent":{let l=zi(i.prop);if(!l)return;let c=n.layoutParentOf.get(i.nodeId),d=c===void 0?void 0:Je(c,l);if(d===void 0||!t.has(d)){s.push({severity:"error",code:"percent-without-parent",message:`${i.nodeId}.${i.prop} uses a percentage but has no parent to measure against`,nodeId:i.nodeId,prop:i.prop});return}o.add(d);return}case"nodeRef":case"relRef":{let l=fr(u,i.nodeId,n);if(!l.ok){r.add(u),s.push({severity:"error",code:"unknown-reference",message:l.message,nodeId:i.nodeId,prop:i.prop});return}let c=h=>{t.has(h)&&o.add(h)},d=m0(l.edge);if(!d){for(let h of h0(l.edge))c(Je(l.nodeId,h));return}for(let h of g0(l.nodeId,i.nodeId,n).keys())c(Je(h,d));b0(l.edge)!==0&&c(Je(l.nodeId,d==="x"?"w":"h"));return}case"unary":a(u.operand);return;case"binary":a(u.left),a(u.right);return}};a(i.ast),i.deps=[...o]}}function xg(t){let e=new Map,n=new Map;for(let[i,o]of t){e.set(i,o.deps.length);for(let a of o.deps){let u=n.get(a);u?u.push(i):n.set(a,[i])}}let r=[];for(let[i,o]of e)o===0&&r.push(i);let s=[];for(let i=0;i<r.length;i++){let o=r[i];s.push(o);for(let a of n.get(o)??[]){let u=(e.get(a)??0)-1;e.set(a,u),u===0&&r.push(a)}}return s}function yg(t,e,n){if(e.length===t.size)return;let r=new Set(e);for(let[s,i]of t)r.has(s)||n.push({severity:"error",code:"cycle",message:`${i.nodeId}.${i.prop} is part of a dependency cycle`,nodeId:i.nodeId,prop:i.prop})}function vg(t,e,n,r,s,i){let o=new Map,a=(u,l)=>o.get(Je(u,l))??0;for(let u of e){let l=t.get(u);if(l){if(l.derive){o.set(u,l.derive(c=>a(l.nodeId,c)));continue}if(!Ue(l.value)){o.set(u,l.value);continue}if(!l.ast){o.set(u,0);continue}o.set(u,lf(l.ast,l,n,r,s,i,a))}}return o}function lf(t,e,n,r,s,i,o){let a=u=>lf(u,e,n,r,s,i,o);switch(t.kind){case"number":return t.value;case"token":{let u=Ve(n)[t.name];return typeof u=="number"?u:0}case"percent":{let u=zi(e.prop);if(!u)return t.value/100;let l=r.layoutParentOf.get(e.nodeId);return l===void 0?0:t.value/100*o(l,u)}case"nodeRef":case"relRef":{if(s.has(t))return 0;let u=fr(t,e.nodeId,r);if(!u.ok)return 0;let l=m0(u.edge);if(!l)return p0(u.edge,o(u.nodeId,"x"),o(u.nodeId,"y"),o(u.nodeId,"w"),o(u.nodeId,"h"));let c=b0(u.edge)*o(u.nodeId,l==="x"?"w":"h");for(let[d,h]of g0(u.nodeId,e.nodeId,r))c+=h*o(d,l);return c}case"unary":{let u=a(t.operand);return t.op==="-"?-u:u}case"binary":{let u=a(t.left),l=a(t.right);if(t.op==="/"&&l===0)return i.push({severity:"error",code:"divide-by-zero",message:`${e.nodeId}.${e.prop} divides by zero`,nodeId:e.nodeId,prop:e.prop}),0;let c=wg(t.op,u,l);return Number.isFinite(c)?c:(i.push({severity:"error",code:"not-a-number",message:`${e.nodeId}.${e.prop} did not produce a finite number`,nodeId:e.nodeId,prop:e.prop}),0)}}}function wg(t,e,n){switch(t){case"+":return e+n;case"-":return e-n;case"*":return e*n;case"/":return e/n}}function kg(t,e,n,r){let s=new Map,i=(a,u)=>e.get(Je(a,u))??0,o=(a,u,l)=>{let c=i(a.id,"x"),d=i(a.id,"y"),h=i(a.id,"w"),p=i(a.id,"h"),m={};for(let O of Ws(a)){let M=Je(a.id,O);n.has(M)&&(m[O]=e.get(M)??0)}(h<0||p<0)&&r.push({severity:"warning",code:"negative-size",message:`${a.id} resolved to a negative size`,nodeId:a.id});let x=u+c,S=l+d;if(s.set(a.id,{id:a.id,type:a.type,x:c,y:d,w:h,h:p,left:c,top:d,right:c+h,bottom:d+p,cx:c+h/2,cy:d+p/2,absX:x,absY:S,values:m}),Ae(a))for(let O of a.children)o(O,x,S)};return o(t,0,0),s}var cf=B(()=>{"use strict";He();Wi();v0();is()});var ff=B(()=>{"use strict";He();is()});var df=B(()=>{"use strict";ss();f0();is();nf();Wi();cf();v0();ff()});function xt(t){if(t.kind==="frame")return;let e=t.stroke,n=t.strokeWidth??0;if(e===void 0||!(n>0))return;let r=t.dash??[];return t.kind==="text"?{paint:e,width:n,dash:r,align:"center",cap:"butt",join:hf}:{paint:e,width:n,dash:r,align:t.kind==="connector"?"center":t.strokeAlign??"center",cap:t.cap??"butt",join:t.kind==="vector"?t.join:"miter"}}function k0(t){if(t.mask!==void 0)return{contours:t.mask.contours,rule:t.mask.rule};let e=n=>tt(n,r=>({x:t.x+r.x,y:t.y+r.y}));switch(t.kind){case"text":case"connector":return;case"vector":return{contours:t.contours,rule:t.rule};case"ellipse":return t.w>0&&t.h>0?{contours:e(Jr(t.w,t.h)),rule:"nonzero"}:void 0;case"rect":case"image":case"border":case"frame":return t.w>0&&t.h>0?{contours:e(An(t.w,t.h,t.radii)),rule:"nonzero"}:void 0}}function Hi(t,e){if(e.align==="center"||t.mask!==void 0||t.kind!=="rect"&&t.kind!=="ellipse"&&t.kind!=="image"&&t.kind!=="border")return;let n=(e.align==="inside"?-e.width:e.width)/2,r=t.w+n*2,s=t.h+n*2;if(!(r>0&&s>0))return;let i=t.kind==="ellipse"?{tl:0,tr:0,br:0,bl:0}:{tl:qi(t.radii.tl,n),tr:qi(t.radii.tr,n),br:qi(t.radii.br,n),bl:qi(t.radii.bl,n)};return{x:t.x-n,y:t.y-n,w:r,h:s,radii:i}}function qi(t,e){return t<=0?0:Math.max(0,t+e)}function S0(t,e){return e.align!=="center"&&e.dash.length>0&&Hi(t,e)===void 0}function C0(t){let e=[];for(let n of t)for(let r=0;r<ar(n);r+=1){let s=mi(Yr(n,r),1);for(let i=1;i<s.length;i+=1)if(e.push([s[i-1],s[i]]),e.length>Sg)return!1}for(let n=0;n<e.length;n+=1)for(let r=n+1;r<e.length;r+=1)if(Cg(e[n],e[r]))return!0;return!1}function Cg(t,e){let n=(u,l,c)=>(l.x-u.x)*(c.y-u.y)-(l.y-u.y)*(c.x-u.x),r=n(e[0],e[1],t[0]),s=n(e[0],e[1],t[1]),i=n(t[0],t[1],e[0]),o=n(t[0],t[1],e[1]),a=1e-9;return(r>a&&s<-a||r<-a&&s>a)&&(i>a&&o<-a||i<-a&&o>a)}function E0(t){return t.width*2*4+1}function O0(t,e,n){let r=e+1,s=t.reduce((u,l)=>u+l,0);if(t.length===0||!(s>0)||e*n/s>Eg)return{array:[r,r],offset:r*(1-n)};let i=e*n,o=[],a=0;for(let u=0;a<i;u+=1){let l=t[u%t.length],c=Math.min(l,i-a);o.push(c),a+=c}return o.length%2===1?o.push(r):o.length>0?o[o.length-1]=o[o.length-1]+r:o.push(0,r),{array:o,offset:0}}var hf,Sg,Eg,Xi=B(()=>{"use strict";He();hf="round";Sg=600;Eg=2e3});function Xt(){return{advance(t,e){return t.length*(e.size*.5+e.letterSpacing)},metrics(t){return{ascent:t.size*.8,descent:t.size*.2,lineGap:0}}}}function A0(t,e){if(t===void 0)return mf;let n=e[t];return n?n.fallback?`${pf(n.family)}, ${n.fallback}`:pf(n.family):t}function pf(t){return/^[A-Za-z][A-Za-z0-9 -]*$/.test(t)?t:JSON.stringify(t)}function I0(t,e,n,r){let s={family:A0(e.font,n),size:e.size,weight:e.weight,italic:e.italic,underline:!1,strike:!1,fill:r(e.fill),letterSpacing:e.letterSpacing},i=typeof t=="string"?[t]:t,o=[];for(let a of i){if(typeof a=="string"){a.length>0&&o.push({text:a,style:s});continue}let u=a;u.text.length!==0&&o.push({text:u.text,style:{family:u.font===void 0?s.family:A0(u.font,n),size:u.size??s.size,weight:u.weight??s.weight,italic:u.italic??s.italic,underline:u.underline??!1,strike:u.strike??!1,fill:u.fill===void 0?s.fill:r(u.fill),letterSpacing:u.letterSpacing??s.letterSpacing,...u.link!==void 0&&vn(u.link)?{link:u.link}:{}}})}return o}function Og(t,e){let n=[];for(let r of t)for(let s of r.text.split(/(\n)/))if(s!==""){if(s===`
|
|
9
|
+
`){let i=n[n.length-1];i&&!i.hardBreak?n[n.length-1]={...i,hardBreak:!0}:n.push({text:"",style:r.style,w:0,hardBreak:!0,glued:!1});continue}for(let i of s.match(/\S+\s*|\s+/g)??[]){let o=n[n.length-1];n.push({text:i,style:r.style,w:e.advance(i,r.style),hardBreak:!1,glued:o!==void 0&&!o.hardBreak&&/\S$/.test(o.text)&&/^\S/.test(i)})}}return n}function Ag(t,e,n){let r=[...t.text],s=[],i="";for(let o of r){let a=i+o;if(i!==""&&n.advance(a,t.style)>e){s.push({text:i,style:t.style,w:n.advance(i,t.style),hardBreak:!1,glued:s.length===0&&t.glued}),i=o;continue}i=a}return i!==""&&s.push({text:i,style:t.style,w:n.advance(i,t.style),hardBreak:t.hardBreak,glued:s.length===0&&t.glued}),s.length>0?s:[t]}function yf(t,e){let{width:n,measure:r}=e,s=Og(r.itemize?t.flatMap(l=>r.itemize?.(l)??[l]):t,r);if(s.length===0){let l=t[0]?.style,c=l?e.lineHeight*l.size:0;return{lines:l?[Tg(l,e.lineHeight)]:[],width:0,height:c}}let i=[],o=[],a=0,u=()=>{i.push(o),o=[],a=0};for(let l=0;l<s.length;){let c=l+1;for(;s[c]?.glued;)c+=1;let d=s.slice(l,c);l=c,d.length>1&&o.length>0&&a+Ig(d,r)>n&&u();for(let h of d){let p=o.length===0&&h.w>n&&n>0?Ag(h,n,r):[h];for(let m of p){let x=m.text.trimEnd(),S=x===m.text?m.w:r.advance(x,m.style);o.length>0&&a+S>n&&u(),o.push(m),a+=m.w,m.hardBreak&&u()}}}return o.length>0&&i.push(o),$g(i,e)}function Ig(t,e){let n=t[t.length-1],r=n.text.trimEnd(),s=r===n.text?n.w:e.advance(r,n.style);return t.slice(0,-1).reduce((i,o)=>i+o.w,0)+s}function Tg(t,e){let n=e*t.size;return{y:0,h:n,baseline:n*.8,w:0,spans:[],style:t}}function $g(t,e){let n=[],r=0,s=0;return t.forEach((i,o)=>{let a=i.map(y=>y.style.size),u=Math.max(...a,0),l=e.lineHeight*u,c=i.map(y=>e.measure.metrics(y.style)),d=Math.max(...c.map(y=>y.ascent),0),h=Math.max(...c.map(y=>y.descent),0),p=r+(l-(d+h))/2+d,m=Pg(i,e.measure),x=m.reduce((y,P)=>y+P.w,0);s=Math.max(s,x);let S=o===t.length-1||(i[i.length-1]?.hardBreak??!1),O=m.filter((y,P)=>P>0&&!y.glued).length,M=e.align==="justify"&&!S&&O>0,g=Math.max(0,e.width-x),F=e.align==="center"?g/2:e.align==="right"?g:0,N=M?g/O:0,R=[],E=F;m.forEach((y,P)=>{R.push({text:y.text,style:y.style,x:E,w:y.w});let b=m[P+1];E+=y.w+(b&&!b.glued?N:0)}),n.push({y:r,h:l,baseline:p,w:x,spans:Mg(R,M)}),r+=l}),{lines:n,width:s,height:r}}function Pg(t,e){let n=[...t];for(;n.length>0;){let r=n[n.length-1],s=r.text.trimEnd();if(s===r.text)break;if(s===""){n.pop();continue}n[n.length-1]={...r,text:s,w:e.advance(s,r.style)};break}return n}function Mg(t,e){if(e)return[...t];let n=[];for(let r of t){let s=n[n.length-1];if(s&&vf(s.style,r.style)&&Math.abs(s.x+s.w-r.x)<.01){n[n.length-1]={...s,text:s.text+r.text,w:s.w+r.w};continue}n.push(r)}return n}function vf(t,e){return t.family===e.family&&t.size===e.size&&t.weight===e.weight&&t.italic===e.italic&&t.underline===e.underline&&t.strike===e.strike&&t.fill===e.fill&&t.letterSpacing===e.letterSpacing&&t.link===e.link}function T0(t,e,n,r,s,i){let o={size:e.size??gf,weight:e.weight??bf,lineHeight:e.lineHeight??xf,letterSpacing:e.letterSpacing??0,italic:t.italic??!1,font:typeof t.font=="string"?t.font:void 0,fill:typeof t.fill=="string"?t.fill:Yi},a=I0(t.content,o,r,s),u=I0(" ",o,r,s).map(l=>({...l,text:""}));return yf(a.length>0?a:u,{width:n,align:t.align??"left",lineHeight:o.lineHeight,measure:i})}function $0(t,e,n){let r=e-n;return t.valign==="middle"?r/2:t.valign==="bottom"?r:0}var mf,gf,bf,xf,Yi,Ki=B(()=>{"use strict";He();mf="system-ui, -apple-system, Segoe UI, Roboto, sans-serif",gf=16,bf=400,xf=1.2,Yi="#0F172A"});function M0(t){let e=cr({x:t.x,y:t.y,w:t.w,h:t.h},t.rotation),n=ur(t.mask.contours);if(!n)return e;let r=P0(e,n),s={...r,w:Math.max(0,r.w),h:Math.max(0,r.h)},i=Qi(t);if(!(i>0))return s;let o=Math.min(s.w>0?s.x:1/0,n.x-i),a=Math.min(s.h>0?s.y:1/0,n.y-i),u=Math.max(s.x+s.w,n.x+n.w+i),l=Math.max(s.y+s.h,n.y+n.h+i);return{x:o,y:a,w:u-o,h:l-a}}function dr(t){return t!==void 0&&t>0?Math.ceil(t*1.5):0}function F0(t,e){let n=t.indexOf(e);if(n<=0||e.backdrop===void 0)return[];let r=e.backdrop.page,s=0;if(r!==void 0)for(let i=n-1;i>=0;i-=1){let o=t[i];if(o.id===r&&o.kind==="frame"){s=i;break}}return t.slice(s,n).map(i=>{if(i.backdrop===void 0)return i;let{backdrop:o,...a}=i;return a})}function N0(t){return t.lines.filter(e=>e.spans.length>0)}function ls(t){switch(t.kind){case"text":{let e=N0(t),n=Math.max(t.w,...e.map(i=>i.w)),r=Math.max(t.y+t.h,...e.map(i=>i.y+i.h)),s=Qi(t);return{x:t.x-s,y:t.y-s,w:n+s*2,h:r-t.y+s*2}}case"connector":{let e=yi(t.strokeWidth)/2+t.strokeWidth;return{x:t.x-e,y:t.y-e,w:t.w+e*2,h:t.h+e*2}}case"vector":{let e=ur(t.contours)??{x:t.x,y:t.y,w:t.w,h:t.h},n=t.stroke!==void 0?t.strokeWidth*2:0;return{x:e.x-n,y:e.y-n,w:e.w+n*2,h:e.h+n*2}}case"rect":case"ellipse":case"image":case"border":{let e=Qi(t);return{x:t.x-e,y:t.y-e,w:t.w+e*2,h:t.h+e*2}}case"frame":return{x:t.x,y:t.y,w:t.w,h:t.h}}}function Qi(t){if(t.kind==="frame"||t.stroke===void 0)return 0;let e=t.strokeWidth??0;if(!(e>0))return 0;let n=t.kind==="text"||t.kind==="connector"?void 0:t.strokeAlign;return n==="inside"?0:n==="outside"?e:e/2}function to(t,e,n){let r=t.x,s=t.y,i=t.x+t.w,o=t.y+t.h;for(let u of e){if(u.inset)continue;let l=u.spread+u.blur;r=Math.min(r,t.x+u.x-l),s=Math.min(s,t.y+u.y-l),i=Math.max(i,t.x+t.w+u.x+l),o=Math.max(o,t.y+t.h+u.y+l)}let a=dr(n);return{x:r-a,y:s-a,w:i-r+a*2,h:o-s+a*2}}function Of(t,e,n={}){let r=[...e.problems],s=[],i=[],o=n.measure??Xt(),a=Hg(Ve(t),r,t,n.resolveAsset),u=a.paint,l=new Map,c=Qn(t.root),d=Ui(t.root),h=E=>{if(!Bi(E))return{};let y=d.links.get(E.id);if(y===void 0)return{};let P=Lg(t,e,y);return P?{mask:P}:(r.push({severity:"warning",code:"mask-empty",message:`${E.id}: its mask ${y} has no area, so it is drawn unmasked \u2014 give the shape a size`,nodeId:E.id,prop:"mask"}),{})},p,m=new Map,x=new Map,S=new Map,O=new Map;ve(t.root,(E,y)=>{if(y&&x.set(E.id,y.id),"hidden"in E&&E.hidden===!0)return!1;let P=y?l.get(y.id):void 0,b=e.nodes.get(E.id);if(!b||d.shapes.has(E.id)){l.set(E.id,P);return}let I=E.type==="frame"?E:E.type==="instance"?c.get(E.component):void 0;if(E.type==="instance"&&!I){l.set(E.id,P);return}let A=I&&E.type==="instance"?e.nodes.get(I.id):b,L=kf(A?.values.blur,E.id,"blur",r);L>0&&S.set(E.id,L);let X=kf(A?.values.backdrop,E.id,"backdrop",r);if(X>0&&O.set(E.id,X),I){E.type==="frame"&&E.skip===!0&&y!==t.root&&r.push({severity:"warning",code:"skip-not-a-page",message:`${E.id}: skip only applies to a page, a frame at the top level`,nodeId:E.id,prop:"skip"});let q={x:b.absX,y:b.absY,w:Math.max(0,b.w),h:Math.max(0,b.h)},G=E.type==="frame"?b:e.nodes.get(I.id),Y=Yn(G?.values??{},q.w,q.h);l.set(E.id,I.clip===!0?E.id:P),I.clip===!0&&i.push({id:E.id,...q,...zt(Y)?{}:{radii:Y},parent:P}),s.push({kind:"frame",id:E.id,...q,background:u(I.background,E.id,"background",q,q),radii:Y,clip:P,blend:I.blend??"normal",shadows:Yt(I.shadow,E.id,Ve(t),r),rotation:0});let _=u(I.stroke,E.id,"stroke",q),K=G?.values.strokeWidth??0;_!==void 0&&K>0&&m.set(E.id,{kind:"border",id:E.id,...q,radii:Y,stroke:_,strokeWidth:K,...Pn(I,E.id,r,!0),...I.cap===void 0?{}:{cap:I.cap},clip:P,blend:"normal",shadows:[],rotation:0});return}if(l.set(E.id,P),E.type==="text"){s.push(Ug(E,b,t,o,r,P,u));return}if(E.type==="video"){let q=Zi(b),G=Kg(E,t,n,r);s.push({kind:"image",id:E.id,...q,href:G.href,fit:E.fit??"fill",radii:Yn(b.values,q.w,q.h),opacity:$n(b.values.opacity??1),...wf(E,b.values,q,u,r),clip:P,blend:E.blend??"normal",shadows:Yt(E.shadow,E.id,Ve(t),r),rotation:b.values.rotation??0,...G.video===void 0?{}:{video:G.video},...G.href===void 0&&G.video?.clip===void 0?{}:h(E)});return}if(E.type==="image"){let q=Zi(b),G=Zg(E,t,n.resolveAsset,r);s.push({kind:"image",id:E.id,...q,href:G,fit:E.fit??"fill",radii:Yn(b.values,q.w,q.h),opacity:$n(b.values.opacity??1),...wf(E,b.values,q,u,r),clip:P,blend:E.blend??"normal",shadows:Yt(E.shadow,E.id,Ve(t),r),rotation:b.values.rotation??0,...G===void 0?{}:h(E)});return}if(E.type==="ellipse"){let q=Zi(b);s.push({kind:"ellipse",id:E.id,...q,fill:u(E.fill,E.id,"fill",q,q)??eo,stroke:u(E.stroke,E.id,"stroke",q),strokeWidth:b.values.strokeWidth??0,...Pn(E,E.id,r,!0),...E.cap===void 0?{}:{cap:E.cap},opacity:$n(b.values.opacity??1),clip:P,blend:E.blend??"normal",shadows:Yt(E.shadow,E.id,Ve(t),r),rotation:b.values.rotation??0});return}if(E.type==="connector"){p??=y0(t),s.push(Wg(E,b,p.get(E.id)?.sides??{},r,P,u,Yt(E.shadow,E.id,Ve(t),r)));return}if(E.type==="vector"){s.push(zg(E,b,r,P,u,Yt(E.shadow,E.id,Ve(t),r)));return}if(E.type!=="rect")return;let H=Zi(b);s.push({kind:"rect",id:E.id,...H,fill:u(E.fill,E.id,"fill",H,H)??eo,stroke:u(E.stroke,E.id,"stroke",H),strokeWidth:b.values.strokeWidth??0,...Pn(E,E.id,r,!0),...E.cap===void 0?{}:{cap:E.cap},radii:Yn(b.values,H.w,H.h),opacity:$n(b.values.opacity??1),clip:P,blend:E.blend??"normal",shadows:Yt(E.shadow,E.id,Ve(t),r),rotation:b.values.rotation??0})}),m.size>0&&Dg(s,m,x),(S.size>0||O.size>0)&&Rg(s,{blurs:S,backdrops:O,parents:x,root:t.root.id}),Ng(s,E=>x.get(E)===t.root.id,r);let M=e.nodes.get(t.root.id),g=t.root.w!==void 0&&t.root.h!==void 0,F=g?{x:0,y:0,width:Math.max(0,M?.w??0),height:Math.max(0,M?.h??0)}:Bg(s,i),N={x:F.x,y:F.y,w:F.width,h:F.height},R=u(t.root.background,t.root.id,"background",N,N);return{...F,background:g?R??Ef:R,items:s,clips:i,gradients:a.gradients,problems:r}}function Pn(t,e,n,r){let s=Aa(t.dash);t.dash!==void 0&&s.length===0&&n.push({severity:"error",code:"invalid-dash",message:`${e}: dash ${JSON.stringify(t.dash)} is not a dash array like "6 4", so the stroke is solid`,nodeId:e,prop:"dash"});let i=t.strokeAlign,o;return(i==="inside"||i==="outside")&&(r?o=i:t.stroke!==void 0&&n.push({severity:"warning",code:"stroke-align-open",message:`${e}: an ${i} stroke needs a closed path, so it is drawn centred \u2014 close every contour with Z, or set strokeAlign=center`,nodeId:e,prop:"strokeAlign"})),{...s.length===0?{}:{dash:s},...o===void 0?{}:{strokeAlign:o}}}function wf(t,e,n,r,s){let i=r(t.stroke,t.id,"stroke",n),o=e.strokeWidth??0;return i===void 0||!(o>0)?{}:{stroke:i,strokeWidth:o,...Pn(t,t.id,s,!0),...t.cap===void 0?{}:{cap:t.cap}}}function Fg(t,e,n,r,s){let i=r(t.stroke,t.id,"stroke",n),o=e.strokeWidth??0;if(i===void 0||!(o>0))return{};let{dash:a}=Pn(t,t.id,s,!1);return{stroke:i,strokeWidth:o,...a===void 0?{}:{dash:a}}}function Ng(t,e,n){let r=(s,i,o)=>{n.push({severity:"warning",code:i,message:`${s}: ${o}`,nodeId:s,prop:"strokeAlign"})};for(let s of t){let i=xt(s);if(!i||(s.kind==="border"&&i.align!=="inside"&&e(s.id)&&r(s.id,"stroke-page-edge",`the page's own edge cuts off its ${i.align==="outside"?"outside":"centred"} border in every export \u2014 use strokeAlign=inside`),i.align==="center"))continue;S0(s,i)&&r(s.id,"stroke-align-dash",`a dashed ${i.align} stroke on a path or a mask is cut along the outline, so its dashes' ends are not exact \u2014 use strokeAlign=center for exact dashes`);let o=s.mask?.contours??(s.kind==="vector"?s.contours:void 0);o&&C0(o)&&r(s.id,"stroke-align-overlap",`its outline crosses itself, so an ${i.align} stroke draws across the fill \u2014 make a clean outline with merge union first, or use strokeAlign=center`)}}function Dg(t,e,n){let r=new Map;t.forEach((o,a)=>{for(let u=o.id;u!==void 0;u=n.get(u))e.has(u)&&r.set(u,a)});let s=o=>{let a=0;for(let u=n.get(o);u!==void 0;u=n.get(u))a+=1;return a},i=[...e.values()].map(o=>({border:o,after:r.get(o.id)??-1,depth:s(o.id)})).filter(o=>o.after>=0).sort((o,a)=>a.after-o.after||o.depth-a.depth);for(let{border:o,after:a}of i)t.splice(a+1,0,o)}function kf(t,e,n,r){return t===void 0||t===0?0:t>0?t>us?(r.push({severity:"warning",code:"invalid-blur",message:`${e}: ${n} ${String(t)} is more than ${us}, so it is drawn at ${us}`,nodeId:e,prop:n}),us):t:(r.push({severity:"warning",code:"invalid-blur",message:`${e}: ${n} ${String(t)} is not a blur, so it is drawn unblurred \u2014 write 0 or more`,nodeId:e,prop:n}),0)}function Sf(t){return Math.sqrt(t.reduce((e,n)=>e+n*n,0))}function Rg(t,e){let{blurs:n,backdrops:r,parents:s,root:i}=e,o=new Map;for(let a of t)a.kind==="frame"&&o.set(a.id,a);t.forEach((a,u)=>{let l=a.kind==="frame"||a.kind==="border",c=l?0:n.get(a.id)??0,d=[];for(let g=l?a.id:s.get(a.id);g!==void 0;g=s.get(g)){let F=o.get(g);F&&(n.get(g)??0)>0&&d.push(F)}let h=d.every(g=>g.clip===a.clip),p=Sf(h?[c,...d.map(g=>n.get(g.id)??0)]:[c]),m=d[d.length-1],x=h||m===void 0?void 0:{id:m.id,blur:Sf(d.map(g=>n.get(g.id)??0)),clip:m.clip,x:m.x,y:m.y,w:m.w,h:m.h},S=r.get(a.id)??0,O=S>0&&(a.kind==="rect"||a.kind==="ellipse"||a.kind==="vector"||a.kind==="frame");if(!(p>0)&&!x&&!O)return;let M;for(let g=a.id;g!==void 0;g=s.get(g))s.get(g)===i&&o.has(g)&&(M=g);t[u]={...a,...p>0?{blur:p}:{},...x?{veil:x}:{},...O?{backdrop:{blur:S,page:M}}:{}}})}function Lg(t,e,n){let r=et(t.root,n),s=e.nodes.get(n);if(!r||!s)return;let i=Ka(r,{x:s.absX,y:s.absY,w:s.w,h:s.h},s.values),o=i?ur(i.contours):void 0;if(!(!i||!o||!(o.w>0)||!(o.h>0)))return{id:n,d:ht(i.contours),contours:i.contours,rule:i.rule}}function Bg(t,e){let n=new Map;for(let a of e){let u=a.parent===void 0?void 0:n.get(a.parent);n.set(a.id,u?P0(a,u):a)}let r=1/0,s=1/0,i=-1/0,o=-1/0;for(let a of t){let u=a.kind==="text"&&N0(a).length>0?Math.max(a.h,a.height):a.h,l=a.clip===void 0?void 0:n.get(a.clip),c=a.kind==="connector"?ls(a):{x:a.x,y:a.y,w:a.w,h:u},d=cr(to(c,a.shadows,a.blur),a.rotation,Ht(a)),h=l?P0(d,l):d;h.w<=0||h.h<=0||(r=Math.min(r,h.x),s=Math.min(s,h.y),i=Math.max(i,h.x+h.w),o=Math.max(o,h.y+h.h))}return Number.isFinite(r)?{x:r,y:s,width:i-r,height:o-s}:{x:0,y:0,width:0,height:0}}function P0(t,e){let n=Math.max(t.x,e.x),r=Math.max(t.y,e.y);return{x:n,y:r,w:Math.min(t.x+t.w,e.x+e.w)-n,h:Math.min(t.y+t.h,e.y+e.h)-r}}function hr(t,e={}){return Of(t,w0(t),e)}function Ug(t,e,n,r,s,i,o){let a=Math.max(0,e.w),u=Math.max(0,e.h),l={x:e.absX,y:e.absY,w:a,h:u},c=T0(t,e.values,a,n.fonts,p=>o(p,t.id,"fill",l)??Yi,r);!c.lines.every(p=>p.spans.length===0)&&c.height>u+.5&&s.push({severity:"warning",code:"text-overflow",message:`${t.id} needs ${Math.ceil(c.height)}px but its height is ${Math.round(u)}px`,nodeId:t.id,prop:"h"}),Vg(t,n,s);let h=e.absY+$0(t,u,c.height);return{kind:"text",id:t.id,x:e.absX,y:e.absY,w:a,h:u,clip:i,blend:t.blend??"normal",shadows:Yt(t.shadow,t.id,Ve(n),s),rotation:e.values.rotation??0,opacity:$n(e.values.opacity??1),...Fg(t,e.values,l,o,s),height:c.height,lines:c.lines.map(p=>({y:h+p.y,h:p.h,baseline:h+p.baseline,w:p.w,spans:p.spans.map(m=>({text:m.text,x:e.absX+m.x,y:h+p.baseline,w:m.w,style:m.style})),...p.style?{style:p.style}:{}}))}}function Vg(t,e,n){if(typeof t.content!="string")for(let r of t.content){if(typeof r=="string"||r.link===void 0)continue;let s=vn(r.link);if(!s){n.push({severity:"warning",code:"invalid-link",message:`${t.id}: links go to https:, mailto: or #<frame>, not ${JSON.stringify(r.link)}`,nodeId:t.id,prop:"content"});continue}s.kind==="frame"&&!_g(e,s.id)&&n.push({severity:"warning",code:"link-target-missing",message:`${t.id}: links to #${s.id}, which is not a frame`,nodeId:t.id,prop:"content"})}}function _g(t,e){let n=!1;return ve(t.root,r=>{if(n)return!1;r.id===e&&r.type==="frame"&&(n=!0)}),n}function Gg(t){let e=as.get(t);if(e)return e;let n=Xr(t);return as.size>=jg&&as.delete(as.keys().next().value),as.set(t,n),n}function zg(t,e,n,r,s,i){let o=Math.max(0,e.w),a=Math.max(0,e.h),u={x:e.absX,y:e.absY,w:o,h:a},{contours:l,error:c}=Gg(t.d);c!==void 0&&n.push({severity:"error",code:"bad-path",message:`${t.id}: ${c}`,nodeId:t.id,prop:"d"}),t.view!==void 0&&pi(t.view)===void 0&&n.push({severity:"warning",code:"bad-view",message:`${t.id}: view must be four numbers, like "0 0 24 24"`,nodeId:t.id,prop:"view"});let d=tt(l,Zr(Kr(t.view,o,a),u));return{kind:"vector",id:t.id,...u,d:ht(d),contours:d,fill:s(t.fill,t.id,"fill",u,qg(u,ur(d)))??eo,stroke:s(t.stroke,t.id,"stroke",u),strokeWidth:e.values.strokeWidth??0,...Pn(t,t.id,n,l.length>0&&l.every(h=>h.closed)),opacity:$n(e.values.opacity??1),rule:t.rule??"nonzero",cap:t.cap??"butt",join:t.join??"miter",clip:r,blend:t.blend??"normal",shadows:i,rotation:e.values.rotation??0}}function Wg(t,e,n,r,s,i,o){let a=e.absX-e.x,u=e.absY-e.y,l={x1:a+(e.values.x1??0),y1:u+(e.values.y1??0),x2:a+(e.values.x2??0),y2:u+(e.values.y2??0)},c=Ca(l),d=Math.max(0,e.values.strokeWidth??Sa),h=t.route??"straight",p=t.start??"none",m=t.end??"none",x=Ea(l,h,p,m,d,n),S=[x.route],{dash:O}=Pn(t,t.id,r,!1);return{kind:"connector",id:t.id,...c,...l,route:h,sides:n,start:p,end:m,d:ht(S),contours:S,filled:{d:ht(x.filled),contours:x.filled},lined:{d:ht(x.lined),contours:x.lined},stroke:i(t.stroke,t.id,"stroke",c)??ka,strokeWidth:d,...O===void 0?{}:{dash:O},opacity:$n(e.values.opacity??1),cap:t.cap??"butt",clip:s,blend:t.blend??"normal",shadows:o,rotation:0}}function Af(t,e,n,r,s){if(t===void 0)return;if(Ue(t)){s.push({severity:"warning",code:"expression-not-supported",message:`Expressions are not supported for ${r} yet; grammar v0 is numeric only`,nodeId:n,prop:r});return}let i=e[t];if(i===void 0)return t;if(typeof i=="string")return i;s.push({severity:"error",code:"token-not-a-colour",message:`Token $${t} is a number, not a colour`,nodeId:n,prop:r})}function qg(t,e){if(!e)return t;let n=Math.min(t.x,e.x),r=Math.min(t.y,e.y);return{x:n,y:r,w:Math.max(t.x+t.w,e.x+e.w)-n,h:Math.max(t.y+t.h,e.y+e.h)-r}}function Zi(t){return{x:t.absX,y:t.absY,w:Math.max(0,t.w),h:Math.max(0,t.h)}}function Hg(t,e,n,r){let s=[],i=[],o=new Map,a=(h,p,m)=>{let x=[...o.keys()].filter(O=>O.startsWith(`${p}\0${m}\0`)).length,S=`${Cf}${p}-${m}${x===0?"":`-${x+1}`}`;return o.set(h,S),S},u=(h,p,m)=>{e.some(S=>S.code==="invalid-paint"&&S.nodeId===h&&S.message===m)||e.push({severity:"error",code:"invalid-paint",message:m,nodeId:h,prop:p})},l=(h,p,m,x)=>{let S=ji(h);if("error"in S)return u(p,m,`${p}: ${S.error}`);if(S.kind==="solid")return h;let O=`${p}\0${m}\0${h}`,M=o.get(O);if(M!==void 0)return`url(#${M})`;let g=a(O,p,m),F=Qa(S.stops).map(N=>({offset:N.at,colour:If(N.colour,t,p,m,e)}));return s.push(Yg(S,g,x,Xg(F))),`url(#${g})`},c=(h,p,m,x)=>{let S=n.assets[h.asset];if(!S){e.push({severity:"warning",code:"fill-asset-missing",message:`${p}: ${m} names image ${JSON.stringify(h.asset)}, which is not one of the document's assets, so that layer is not drawn \u2014 add the picture with vd_add_asset, or take the layer out`,nodeId:p,prop:m});return}let O=r?.(S,h.asset);if(O===void 0){e.push({severity:"warning",code:"unresolved-asset",message:`The bytes for asset "${h.asset}" are not available here`,nodeId:p,prop:m});return}return{kind:"image",href:O,fit:h.fit,...x}};return{paint:(h,p,m,x,S)=>{let O=Af(h,t,p,m,e);if(O===void 0)return;if(/url\(/i.test(O))return u(p,m,`${p}: a paint is a colour or a gradient, not ${JSON.stringify(O)}`);let M=rs(O);if(M.length===1&&!Vi(O))return l(O,p,m,x);if(S===void 0)return u(p,m,`${p}: ${m} takes one colour or gradient, not ${M.length>1?"a list of paints":"a picture"}; only a shape's fill and a frame's background take layers`);let g=[];for(let y of M){let P=t[y],b=typeof P=="string"?P:y;if(/url\(/i.test(b)){u(p,m,`${p}: a paint is a colour or a gradient, not ${JSON.stringify(b)}`);continue}for(let I of rs(b)){let A=Ja(I);if("error"in A){u(p,m,`${p}: ${A.error}`);continue}let L=A.kind==="image"?c(A,p,m,x):(X=>X===void 0?void 0:{kind:"paint",paint:X})(l(I,p,m,x));L&&g.push(L)}}if(g.length===0)return;let F=g[0];if(g.length===1&&F.kind==="paint")return F.paint;let N=`${p}\0${m}\0${O}\0layers`,R=o.get(N);if(R!==void 0)return`url(#${R})`;let E=a(N,p,m);return i.push({id:E,kind:"layers",...S,layers:[...g].reverse()}),`url(#${E})`},get gradients(){return[...s,...i]}}}function Yt(t,e,n,r){let s=Af(t,n,e,"shadow",r);if(s===void 0)return[];let i=i0(s);return"error"in i?(r.push({severity:"error",code:"invalid-shadow",message:`${e}: ${i.error}`,nodeId:e,prop:"shadow"}),[]):i.shadows.map(o=>({...o,colour:If(o.colour,n,e,"shadow",r)}))}function Xg(t){return t.map((e,n)=>{if(e.colour.trim().toLowerCase()!=="transparent")return e;let r=[t[n-1],t[n+1]].find(s=>s!==void 0&&s.colour.trim().toLowerCase()!=="transparent");return r===void 0?e:{offset:e.offset,colour:r.colour,opacity:0}})}function If(t,e,n,r,s){let i=e[t];return i===void 0?t:typeof i=="string"&&!_i(i)?i:(s.push({severity:"error",code:"invalid-paint",message:`${n}: a gradient stop names $${t}, which is not a colour`,nodeId:n,prop:r}),"transparent")}function Yg(t,e,n,r){if(t.kind==="linear"){let l=t.angle*Math.PI/180,c=Math.sin(l),d=-Math.cos(l),h=(Math.abs(n.w*c)+Math.abs(n.h*d))/2,p=n.x+n.w/2,m=n.y+n.h/2;return{id:e,kind:"linear",x1:Ji(p-c*h),y1:Ji(m-d*h),x2:Ji(p+c*h),y2:Ji(m+d*h),stops:r}}let s=n.x+n.w*t.cx,i=n.y+n.h*t.cy,o={x:Math.max(s-n.x,n.x+n.w-s),y:Math.max(i-n.y,n.y+n.h-i)};if(t.shape==="circle"||o.x===0||o.y===0){let l=Math.hypot(o.x,o.y);return{id:e,kind:"radial",cx:s,cy:i,rx:l,ry:l,stops:r}}let a=o.x/o.y,u=Math.hypot(o.x/a,o.y);return{id:e,kind:"radial",cx:s,cy:i,rx:u*a,ry:u,stops:r}}function Ji(t){return Math.round(t*1e6)/1e6}function $n(t){return Math.min(Math.max(t,0),1)}function Kg(t,e,n,r){let s=Ue(t.src)?void 0:t.src,i=s===void 0?void 0:e.assets[s];if(!i||s===void 0)return r.push({severity:"warning",code:"missing-asset",message:`No clip for ${JSON.stringify(s??t.src)} yet: a video slot waiting for one`,nodeId:t.id,prop:"src"}),{href:void 0};if(!o0(i))return r.push({severity:"error",code:"not-a-video",message:`${t.id}: src=${s} is ${i.type}, not a clip \u2014 a video plays ${Gi.join(" or ")}; use an image for a picture`,nodeId:t.id,prop:"src"}),{href:void 0};i.bytes>26214400&&r.push({severity:"warning",code:"large-video",message:`${t.id}: clip ${s} is ${Math.round(i.bytes/1048576)} MB, and every save and every read of this document carries it \u2014 trim it, or keep it under 25 MB`,nodeId:t.id,prop:"src"});let o={...t.start===void 0?{}:{start:t.start},...t.end===void 0?{}:{end:t.end},...t.poster===void 0?{}:{poster:t.poster},...t.loop===void 0?{}:{loop:t.loop}},a=a0(o,i.ms),u=n.resolveAsset?.(i,s),l=n.resolveFrame?.(i,s,a);return u===void 0&&l===void 0&&r.push({severity:"warning",code:"unresolved-clip",message:`The frames of clip "${s}" are not available here, so it draws as a placeholder`,nodeId:t.id,prop:"src"}),{href:l,video:{asset:s,clip:u,at:a,...t.start===void 0?{}:{start:t.start},...t.end===void 0?{}:{end:t.end},loop:t.loop===!0,muted:t.muted===!0,...i.ms===void 0?{}:{ms:i.ms}}}}function Zg(t,e,n,r){let s=Ue(t.src)?void 0:t.src,i=s===void 0?void 0:e.assets[s];if(!i){r.push({severity:"warning",code:"missing-asset",message:`No picture for ${JSON.stringify(s??t.src)} yet: an image slot waiting for one`,nodeId:t.id,prop:"src"});return}let o=n?.(i,s);return o===void 0&&r.push({severity:"warning",code:"unresolved-asset",message:`The bytes for asset "${s}" are not available here`,nodeId:t.id,prop:"src"}),o}var us,Cf,eo,Ef,as,jg,pr=B(()=>{"use strict";He();df();Xi();Ki();us=250;Cf="vd-paint-",eo="#CBD5E1",Ef="#FFFFFF";as=new Map,jg=512});var Tf=B(()=>{"use strict";He();pr();Ki()});var $f=B(()=>{"use strict";He();pr()});function cs(t,e={}){let n=e.indent??" ",r={ids:e.ids??!0,prefix:e.idPrefix??""},s=T(t.width),i=T(t.height),o=`${T(t.x)} ${T(t.y)} ${s} ${i}`,a=[`<svg xmlns="http://www.w3.org/2000/svg" width="${s}" height="${i}" viewBox="${o}">`],u=e.shadowsOnly?"drops":e.insetsOnly?"insets":"all",l=t.items.filter(io),c=t.items.filter(h=>h.mask!==void 0),d=Nf(t.items);if(t.clips.length>0||t.gradients.length>0||l.length>0||c.length>0||d.length>0){a.push(`${n}<defs>`);for(let h of t.clips)a.push(n+n+e2(h,r.prefix));for(let h of c)a.push(n+n+d2(h,r.prefix));for(let h of t.gradients)a.push(n+n+t2(h,r.prefix));for(let h of l)a.push(n+n+i2(h,u,r.prefix));for(let h of d)a.push(n+n+a2(h,r.prefix));a.push(`${n}</defs>`)}t.background!==void 0&&!e.backdropsOnly&&a.push(`${n}<rect x="${T(t.x)}" y="${T(t.y)}" width="${s}" height="${i}" fill="${z(it(t.background,r))}"/>`);for(let h of t.items){if(h.backdrop!==void 0){let m=u2(t,h,r);m!==""&&a.push(n+m)}if(e.backdropsOnly)continue;let p=L0(h,r);p!==""&&a.push(n+p)}return a.push("</svg>"),`${a.join(`
|
|
10
10
|
`)}
|
|
11
|
-
`}function I1(n,e){let t=n.parent===void 0?"":` clip-path="url(#${le(e+Pr+n.parent)})"`;return`<clipPath id="${le(e+Pr+n.id)}"${t}><rect x="${B(n.x)}" y="${B(n.y)}" width="${B(n.w)}" height="${B(n.h)}"/></clipPath>`}function T1(n,e){let t=n.stops.map(s=>`<stop offset="${B(s.offset)}" stop-color="${le(s.colour)}"${s.opacity===void 0?"":` stop-opacity="${B(s.opacity)}"`}/>`).join(""),r=le(e+n.id);return n.kind==="linear"?`<linearGradient id="${r}" gradientUnits="userSpaceOnUse" x1="${B(n.x1)}" y1="${B(n.y1)}" x2="${B(n.x2)}" y2="${B(n.y2)}">${t}</linearGradient>`:`<radialGradient id="${r}" gradientUnits="userSpaceOnUse" cx="0" cy="0" r="1" gradientTransform="matrix(${B(n.rx)} 0 0 ${B(n.ry)} ${B(n.cx)} ${B(n.cy)})">${t}</radialGradient>`}function fn(n,e){let t=n.clip===void 0?[]:[`clip-path="url(#${le(e+Pr+n.clip)})"`];return n.rotation!==0&&t.push(`transform="${zl(n)}"`),n.shadows.length>0&&t.push(`filter="url(#${le(e+b0+n.id)})"`),n.blend!=="normal"&&t.push(`style="mix-blend-mode:${n.blend}"`),t}function F1(n,e,t){let r=ai(oi(n),n.shadows),s=2,i=[];n.shadows.forEach((a,u)=>{let l=`s${u}`,f="SourceAlpha";a.spread!==0&&(i.push(`<feMorphology in="${f}" operator="${a.spread>0?"dilate":"erode"}" radius="${B(Math.abs(a.spread))}" result="${l}m"/>`),f=`${l}m`),a.blur>0&&(i.push(`<feGaussianBlur in="${f}" stdDeviation="${B(a.blur/2)}" result="${l}b"/>`),f=`${l}b`),i.push(`<feOffset in="${f}" dx="${B(a.x)}" dy="${B(a.y)}" result="${l}o"/>`,`<feFlood flood-color="${le(a.colour)}" result="${l}c"/>`,`<feComposite in="${l}c" in2="${l}o" operator="in" result="${l}"/>`)});let o=n.shadows.map((a,u)=>`<feMergeNode in="s${n.shadows.length-1-u}"/>`).join("");return`<filter id="${le(t+b0+n.id)}" filterUnits="userSpaceOnUse" x="${B(r.x-s)}" y="${B(r.y-s)}" width="${B(r.w+s*2)}" height="${B(r.h+s*2)}" color-interpolation-filters="sRGB">`+i.join("")+`<feMerge>${o}${e?"":'<feMergeNode in="SourceGraphic"/>'}</feMerge></filter>`}function zl(n){return`rotate(${B(n.rotation)} ${B(n.x+n.w/2)} ${B(n.y+n.h/2)})`}function _l(n){return n.rotation!==0&&n.clip!==void 0}function $1(n,e){if(n.pose!==void 0)return D1(n,n.pose,e);if(_l(n)){let t=[`clip-path="url(#${le(e.prefix+Pr+n.clip)})"`];n.blend!=="normal"&&t.push(`style="mix-blend-mode:${n.blend}"`);let r=g0({...n,clip:void 0,blend:"normal"},e);return r===""?"":`<g ${t.join(" ")}>${r}</g>`}return g0(n,e)}function D1(n,e,t){let r=g0({...n,clip:void 0,blend:"normal",shadows:n.shadows},t);if(r==="")return"";let s=[];n.clip!==void 0&&s.push(`clip-path="url(#${le(t.prefix+Pr+n.clip)})"`),e.opacity<1&&s.push(`opacity="${B(e.opacity)}"`),n.blend!=="normal"&&s.push(`style="mix-blend-mode:${n.blend}"`);let i=e.sx===1&&e.sy===1&&e.tx===0&&e.ty===0?r:`<g transform="${Wl(e)}">${r}</g>`;return s.length===0?i:`<g ${s.join(" ")}>${i}</g>`}function Wl(n){return`matrix(${B(n.sx)} 0 0 ${B(n.sy)} ${B(n.tx)} ${B(n.ty)})`}function g0(n,e){switch(n.kind){case"ellipse":return B1(n,e);case"frame":return N1(n,e);case"image":return L1(n,e);case"rect":return R1(n,e);case"text":return V1(n,e);case"vector":return U1(n,e)}}function dn(n,e){return/url\(/i.test(n)&&!n.startsWith("url(#")?"none":e.prefix!==""&&n.startsWith("url(#")?`url(#${e.prefix}${n.slice(5)}`:n}function N1(n,e){let t=[];return e.ids&&t.push(`id="${le(n.id)}"`),t.push(`x="${B(n.x)}"`,`y="${B(n.y)}"`,`width="${B(n.w)}"`,`height="${B(n.h)}"`,`fill="${n.background===void 0?"none":le(dn(n.background,e))}"`,...fn(n,e.prefix)),`<rect ${t.join(" ")}/>`}function L1(n,e){let t=[];return e.ids&&t.push(`id="${le(n.id)}"`),t.push(`x="${B(n.x)}"`,`y="${B(n.y)}"`,`width="${B(n.w)}"`,`height="${B(n.h)}"`),n.href===void 0?(n.radius>0&&t.push(`rx="${B(n.radius)}"`),t.push('fill="none"',`stroke="${le(M1)}"`,'stroke-width="1"','stroke-dasharray="4 4"',...fn(n,e.prefix)),`<rect ${t.join(" ")}/>`):(t.push(`href="${le(n.href)}"`,`preserveAspectRatio="${P1[n.fit]}"`),n.opacity<1&&t.push(`opacity="${B(n.opacity)}"`),t.push(...fn(n,e.prefix)),`<image ${t.join(" ")}/>`)}function R1(n,e){let t=[];return e.ids&&t.push(`id="${le(n.id)}"`),t.push(`x="${B(n.x)}"`,`y="${B(n.y)}"`,`width="${B(n.w)}"`,`height="${B(n.h)}"`),n.radius>0&&t.push(`rx="${B(n.radius)}"`),t.push(`fill="${le(dn(n.fill,e))}"`),n.stroke!==void 0&&n.strokeWidth>0&&t.push(`stroke="${le(dn(n.stroke,e))}"`,`stroke-width="${B(n.strokeWidth)}"`),n.opacity<1&&t.push(`opacity="${B(n.opacity)}"`),t.push(...fn(n,e.prefix)),`<rect ${t.join(" ")}/>`}function ql(n,e){let t=[`fill="${le(dn(n.fill,e))}"`];return n.stroke!==void 0&&n.strokeWidth>0&&t.push(`stroke="${le(dn(n.stroke,e))}"`,`stroke-width="${B(n.strokeWidth)}"`),n.opacity<1&&t.push(`opacity="${B(n.opacity)}"`),t}function B1(n,e){let t=[];return e.ids&&t.push(`id="${le(n.id)}"`),t.push(`cx="${B(n.x+n.w/2)}"`,`cy="${B(n.y+n.h/2)}"`,`rx="${B(n.w/2)}"`,`ry="${B(n.h/2)}"`,...ql(n,e),...fn(n,e.prefix)),`<ellipse ${t.join(" ")}/>`}function U1(n,e){if(n.d==="")return"";let t=[];e.ids&&t.push(`id="${le(n.id)}"`),t.push(`d="${le(n.d)}"`,...ql(n,e));let r=n.pose?.trace;if(r!==void 0&&n.stroke!==void 0){let i=B(Ns(n.contours)+1);t.push(`stroke-dasharray="${i} ${i}"`,`stroke-dashoffset="${B((Ns(n.contours)+1)*(1-r))}"`)}let s=n.pose?.fillOpacity;return s!==void 0&&s<1&&t.push(`fill-opacity="${B(s)}"`),n.rule!=="nonzero"&&t.push(`fill-rule="${n.rule}"`),n.cap!=="butt"&&t.push(`stroke-linecap="${n.cap}"`),n.join!=="miter"&&t.push(`stroke-linejoin="${n.join}"`),t.push(...fn(n,e.prefix)),`<path ${t.join(" ")}/>`}function V1(n,e){if(n.lines.every(s=>s.spans.length===0))return"";let t=[];e.ids&&t.push(`id="${le(n.id)}"`),t.push('xml:space="preserve"'),n.opacity<1&&t.push(`opacity="${B(n.opacity)}"`),t.push(...fn(n,e.prefix));let r=[];for(let s of n.lines)for(let i of s.spans)i.text!==""&&r.push(j1(i,e));return`<text ${t.join(" ")}>${r.join("")}</text>`}function j1(n,e){let r=`<tspan ${[`x="${B(n.x)}"`,`y="${B(n.y)}"`,...G1(n.style,e)].join(" ")}>${z1(n.text)}</tspan>`;return n.style.link===void 0?r:`<a href="${le(n.style.link)}">${r}</a>`}function G1(n,e){let t=[`font-family="${le(n.family)}"`,`font-size="${B(n.size)}"`,`fill="${le(dn(n.fill,e))}"`];n.weight!==400&&t.push(`font-weight="${B(n.weight)}"`),n.italic&&t.push('font-style="italic"'),n.letterSpacing!==0&&t.push(`letter-spacing="${B(n.letterSpacing)}"`);let r=[n.underline?"underline":"",n.strike?"line-through":""].filter(Boolean).join(" ");return r&&t.push(`text-decoration="${r}"`),t}function z1(n){return n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function le(n){return n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var Pr,P1,M1,b0,x0=U(()=>{"use strict";Je();Gn();Pr="vd-clip-";P1={cover:"xMidYMid slice",contain:"xMidYMid meet",fill:"none"},M1="#94A3B8";b0="vd-shadow-"});function Hl(n,e={}){let{resolveAsset:t,measure:r,...s}=e;return Mr(jn(n,{...t?{resolveAsset:t}:{},...r?{measure:r}:{}}),s)}var ui=U(()=>{"use strict";Gn();jl();ri();Gl();x0();Gn();x0()});var X1,he,$r=U(()=>{X1={utf16le:"utf-16le",ucs2:"utf-16le",utf16be:"utf-16be"},he=class{constructor(e){this.buffer=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.pos=0,this.length=this.buffer.length}readString(e,t="ascii"){t=X1[t]||t;let r=this.readBuffer(e);try{return new TextDecoder(t).decode(r)}catch{return r}}readBuffer(e){return this.buffer.slice(this.pos,this.pos+=e)}readUInt24BE(){return(this.readUInt16BE()<<8)+this.readUInt8()}readUInt24LE(){return this.readUInt16LE()+(this.readUInt8()<<16)}readInt24BE(){return(this.readInt16BE()<<8)+this.readUInt8()}readInt24LE(){return this.readUInt16LE()+(this.readInt8()<<16)}};he.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8};for(let n of Object.getOwnPropertyNames(DataView.prototype))if(n.slice(0,3)==="get"){let e=n.slice(3).replace("Ui","UI");e==="Float32"?e="Float":e==="Float64"&&(e="Double");let t=he.TYPES[e];he.prototype["read"+e+(t===1?"":"BE")]=function(){let r=this.view[n](this.pos,!1);return this.pos+=t,r},t!==1&&(he.prototype["read"+e+"LE"]=function(){let r=this.view[n](this.pos,!0);return this.pos+=t,r})}});function tc(n,e){let t=new Uint16Array(n.length);for(let r=0;r<n.length;r++){let s=n.charCodeAt(r);e&&(s=s>>8|(s&255)<<8),t[r]=s}return new Uint8Array(t.buffer)}function Z1(n){let e=new Uint8Array(n.length);for(let t=0;t<n.length;t++)e[t]=n.charCodeAt(t);return e}var Y1,ec,Ot,k0=U(()=>{$r();Y1=new TextEncoder,ec=new Uint8Array(new Uint16Array([4660]).buffer)[0]==18,Ot=class{constructor(e){this.buffer=e,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.pos=0}writeBuffer(e){this.buffer.set(e,this.pos),this.pos+=e.length}writeString(e,t="ascii"){let r;switch(t){case"utf16le":case"utf16-le":case"ucs2":r=tc(e,ec);break;case"utf16be":case"utf16-be":r=tc(e,!ec);break;case"utf8":r=Y1.encode(e);break;case"ascii":r=Z1(e);break;default:throw new Error(`Unsupported encoding: ${t}`)}this.writeBuffer(r)}writeUInt24BE(e){this.buffer[this.pos++]=e>>>16&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e&255}writeUInt24LE(e){this.buffer[this.pos++]=e&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e>>>16&255}writeInt24BE(e){e>=0?this.writeUInt24BE(e):this.writeUInt24BE(e+16777215+1)}writeInt24LE(e){e>=0?this.writeUInt24LE(e):this.writeUInt24LE(e+16777215+1)}fill(e,t){if(t<this.buffer.length)this.buffer.fill(e,this.pos,this.pos+t),this.pos+=t;else{let r=new Uint8Array(t);r.fill(e),this.writeBuffer(r)}}};for(let n of Object.getOwnPropertyNames(DataView.prototype))if(n.slice(0,3)==="set"){let e=n.slice(3).replace("Ui","UI");e==="Float32"?e="Float":e==="Float64"&&(e="Double");let t=he.TYPES[e];Ot.prototype["write"+e+(t===1?"":"BE")]=function(r){this.view[n](this.pos,r,!1),this.pos+=t},t!==1&&(Ot.prototype["write"+e+"LE"]=function(r){this.view[n](this.pos,r,!0),this.pos+=t})}});var be,Qe=U(()=>{$r();k0();be=class{fromBuffer(e){let t=new he(e);return this.decode(t)}toBuffer(e){let t=this.size(e),r=new Uint8Array(t),s=new Ot(r);return this.encode(s,e),r}}});var ne,L,K1,c,t7,J1,It,n7,Q1,w,r7,ve,em,T,s7,i7,o7,tm,Bt,a7,u7,l7,c7,f7,dt,nm,nc,d7,rm,me,h7,hn=U(()=>{$r();Qe();ne=class extends be{constructor(e,t="BE"){super(),this.type=e,this.endian=t,this.fn=this.type,this.type[this.type.length-1]!=="8"&&(this.fn+=this.endian)}size(){return he.TYPES[this.type]}decode(e){return e[`read${this.fn}`]()}encode(e,t){return e[`write${this.fn}`](t)}},L=new ne("UInt8"),K1=new ne("UInt16","BE"),c=K1,t7=new ne("UInt16","LE"),J1=new ne("UInt24","BE"),It=J1,n7=new ne("UInt24","LE"),Q1=new ne("UInt32","BE"),w=Q1,r7=new ne("UInt32","LE"),ve=new ne("Int8"),em=new ne("Int16","BE"),T=em,s7=new ne("Int16","LE"),i7=new ne("Int24","BE"),o7=new ne("Int24","LE"),tm=new ne("Int32","BE"),Bt=tm,a7=new ne("Int32","LE"),u7=new ne("Float","BE"),l7=new ne("Float","LE"),c7=new ne("Double","BE"),f7=new ne("Double","LE"),dt=class extends ne{constructor(e,t,r=e>>1){super(`Int${e}`,t),this._point=1<<r}decode(e){return super.decode(e)/this._point}encode(e,t){return super.encode(e,t*this._point|0)}},nm=new dt(16,"BE"),nc=nm,d7=new dt(16,"LE"),rm=new dt(32,"BE"),me=rm,h7=new dt(32,"LE")});function Ne(n,e,t){let r;if(typeof n=="number"?r=n:typeof n=="function"?r=n.call(t,t):t&&typeof n=="string"?r=t[n]:e&&n instanceof ne&&(r=n.decode(e)),isNaN(r))throw new Error("Not a fixed size");return r}var Ut,Tt=U(()=>{hn();Ut=class{constructor(e={}){this.enumerable=!0,this.configurable=!0;for(let t in e){let r=e[t];this[t]=r}}}});var b,C0=U(()=>{Qe();hn();Tt();b=class extends be{constructor(e,t,r="count"){super(),this.type=e,this.length=t,this.lengthType=r}decode(e,t){let r,{pos:s}=e,i=[],o=t;if(this.length!=null&&(r=Ne(this.length,e,t)),this.length instanceof ne&&(Object.defineProperties(i,{parent:{value:t},_startOffset:{value:s},_currentOffset:{value:0,writable:!0},_length:{value:r}}),o=i),r==null||this.lengthType==="bytes"){let a=r!=null?e.pos+r:t?._length?t._startOffset+t._length:e.length;for(;e.pos<a;)i.push(this.type.decode(e,o))}else for(let a=0,u=r;a<u;a++)i.push(this.type.decode(e,o));return i}size(e,t,r=!0){if(!e)return this.type.size(null,t)*Ne(this.length,null,t);let s=0;this.length instanceof ne&&(s+=this.length.size(),t={parent:t,pointerSize:0});for(let i of e)s+=this.type.size(i,t);return t&&r&&this.length instanceof ne&&(s+=t.pointerSize),s}encode(e,t,r){let s=r;this.length instanceof ne&&(s={pointers:[],startOffset:e.pos,parent:r},s.pointerOffset=e.pos+this.size(t,s,!1),this.length.encode(e,t.length));for(let i of t)this.type.encode(e,i,s);if(this.length instanceof ne){let i=0;for(;i<s.pointers.length;){let o=s.pointers[i++];o.type.encode(e,o.val,o.parent)}}}}});var oe,Dr,rc=U(()=>{C0();hn();Tt();oe=class extends b{decode(e,t){let{pos:r}=e,s=Ne(this.length,e,t);this.length instanceof ne&&(t={parent:t,_startOffset:r,_currentOffset:0,_length:s});let i=new Dr(this.type,s,e,t);return e.pos+=s*this.type.size(null,t),i}size(e,t){return e instanceof Dr&&(e=e.toArray()),super.size(e,t)}encode(e,t,r){return t instanceof Dr&&(t=t.toArray()),super.encode(e,t,r)}},Dr=class{constructor(e,t,r,s){this.type=e,this.length=t,this.stream=r,this.ctx=s,this.base=this.stream.pos,this.items=[]}get(e){if(!(e<0||e>=this.length)){if(this.items[e]==null){let{pos:t}=this.stream;this.stream.pos=this.base+this.type.size(null,this.ctx)*e,this.items[e]=this.type.decode(this.stream,this.ctx),this.stream.pos=t}return this.items[e]}}toArray(){let e=[];for(let t=0,r=this.length;t<r;t++)e.push(this.get(t));return e}}});var Be,sc=U(()=>{Qe();Be=class extends be{constructor(e,t=[]){super(),this.type=e,this.flags=t}decode(e){let t=this.type.decode(e),r={};for(let s=0;s<this.flags.length;s++){let i=this.flags[s];i!=null&&(r[i]=!!(t&1<<s))}return r}size(){return this.type.size()}encode(e,t){let r=0;for(let s=0;s<this.flags.length;s++){let i=this.flags[s];i!=null&&t[i]&&(r|=1<<s)}return this.type.encode(e,r)}}});var ic=U(()=>{Qe()});var ze,oc=U(()=>{Qe();hn();Tt();ze=class extends be{constructor(e){super(),this.length=e}decode(e,t){let r=Ne(this.length,e,t);return e.readBuffer(r)}size(e,t){if(!e)return Ne(this.length,null,t);let r=e.length;return this.length instanceof ne&&(r+=this.length.size()),r}encode(e,t,r){return this.length instanceof ne&&this.length.encode(e,t.length),e.writeBuffer(t)}}});var ac=U(()=>{Qe()});var Vt,uc=U(()=>{Qe();Vt=class extends be{constructor(e,t=!0){super(),this.type=e,this.condition=t}decode(e,t){let{condition:r}=this;if(typeof r=="function"&&(r=r.call(t,t)),r)return this.type.decode(e,t)}size(e,t){let{condition:r}=this;return typeof r=="function"&&(r=r.call(t,t)),r?this.type.size(e,t):0}encode(e,t,r){let{condition:s}=this;if(typeof s=="function"&&(s=s.call(r,r)),s)return this.type.encode(e,t,r)}}});var ue,lc=U(()=>{Qe();Tt();ue=class extends be{constructor(e,t=1){super(),this.type=e,this.count=t}decode(e,t){e.pos+=this.size(null,t)}size(e,t){let r=Ne(this.count,null,t);return this.type.size()*r}encode(e,t,r){return e.fill(0,this.size(t,r))}}});function E0(n){switch(n){case"ascii":case"utf8":return 1;case"utf16le":case"utf16-le":case"utf-16be":case"utf-16le":case"utf16be":case"utf16-be":case"ucs2":return 2;default:return 1}}function cc(n,e){switch(e){case"ascii":return n.length;case"utf8":let t=0;for(let r=0;r<n.length;r++){let s=n.charCodeAt(r);if(s>=55296&&s<=56319&&r<n.length-1){let i=n.charCodeAt(++r);(i&64512)===56320?s=((s&1023)<<10)+(i&1023)+65536:r--}(s&4294967168)===0?t++:(s&4294965248)===0?t+=2:(s&4294901760)===0?t+=3:(s&4292870144)===0&&(t+=4)}return t;case"utf16le":case"utf16-le":case"utf16be":case"utf16-be":case"ucs2":return n.length*2;default:throw new Error("Unknown encoding "+e)}}var ie,fc=U(()=>{Qe();hn();Tt();ie=class extends be{constructor(e,t="ascii"){super(),this.length=e,this.encoding=t}decode(e,t){let r,s,{encoding:i}=this;typeof i=="function"&&(i=i.call(t,t)||"ascii");let o=E0(i);if(this.length!=null)r=Ne(this.length,e,t);else{let u;for({buffer:u,length:r,pos:s}=e;s<r-o+1&&(u[s]!==0||o===2&&u[s+1]!==0);)s+=o;r=s-e.pos}let a=e.readString(r,i);return this.length==null&&e.pos<e.length&&(e.pos+=o),a}size(e,t){if(e==null)return Ne(this.length,null,t);let{encoding:r}=this;typeof r=="function"&&(r=r.call(t?.val,t?.val)||"ascii"),r==="utf16be"&&(r="utf16le");let s=cc(e,r);return this.length instanceof ne&&(s+=this.length.size()),this.length==null&&(s+=E0(r)),s}encode(e,t,r){let{encoding:s}=this;if(typeof s=="function"&&(s=s.call(r?.val,r?.val)||"ascii"),this.length instanceof ne&&this.length.encode(e,cc(t,s)),e.writeString(t,s),this.length==null)return E0(s)==2?e.writeUInt16LE(0):e.writeUInt8(0)}}});var k,A0=U(()=>{Qe();Tt();k=class extends be{constructor(e={}){super(),this.fields=e}decode(e,t,r=0){let s=this._setup(e,t,r);return this._parseFields(e,s,this.fields),this.process!=null&&this.process.call(s,e),s}_setup(e,t,r){let s={};return Object.defineProperties(s,{parent:{value:t},_startOffset:{value:e.pos},_currentOffset:{value:0,writable:!0},_length:{value:r}}),s}_parseFields(e,t,r){for(let i in r){var s;let o=r[i];typeof o=="function"?s=o.call(t,t):s=o.decode(e,t),s!==void 0&&(s instanceof Ut?Object.defineProperty(t,i,s):t[i]=s),t._currentOffset=e.pos-t._startOffset}}size(e,t,r=!0){e==null&&(e={});let s={parent:t,val:e,pointerSize:0};this.preEncode!=null&&this.preEncode.call(e);let i=0;for(let o in this.fields){let a=this.fields[o];a.size!=null&&(i+=a.size(e[o],s))}return r&&(i+=s.pointerSize),i}encode(e,t,r){let s;this.preEncode!=null&&this.preEncode.call(t,e);let i={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};i.pointerOffset=e.pos+this.size(t,i,!1);for(let a in this.fields)s=this.fields[a],s.encode!=null&&s.encode(e,t[a],i);let o=0;for(;o<i.pointers.length;){let a=i.pointers[o++];a.type.encode(e,a.val,a.parent)}}}});var sm,J,dc=U(()=>{A0();sm=(n,e)=>e.reduce((t,r)=>t&&t[r],n),J=class n extends k{constructor(e,t={}){super(),this.type=e,this.versions=t,typeof e=="string"&&(this.versionPath=e.split("."))}decode(e,t,r=0){let s=this._setup(e,t,r);typeof this.type=="string"?s.version=sm(t,this.versionPath):s.version=this.type.decode(e),this.versions.header&&this._parseFields(e,s,this.versions.header);let i=this.versions[s.version];if(i==null)throw new Error(`Unknown version ${s.version}`);return i instanceof n?i.decode(e,t):(this._parseFields(e,s,i),this.process!=null&&this.process.call(s,e),s)}size(e,t,r=!0){let s,i;if(!e)throw new Error("Not a fixed size");this.preEncode!=null&&this.preEncode.call(e);let o={parent:t,val:e,pointerSize:0},a=0;if(typeof this.type!="string"&&(a+=this.type.size(e.version,o)),this.versions.header)for(s in this.versions.header)i=this.versions.header[s],i.size!=null&&(a+=i.size(e[s],o));let u=this.versions[e.version];if(u==null)throw new Error(`Unknown version ${e.version}`);for(s in u)i=u[s],i.size!=null&&(a+=i.size(e[s],o));return r&&(a+=o.pointerSize),a}encode(e,t,r){let s,i;this.preEncode!=null&&this.preEncode.call(t,e);let o={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};if(o.pointerOffset=e.pos+this.size(t,o,!1),typeof this.type!="string"&&this.type.encode(e,t.version),this.versions.header)for(s in this.versions.header)i=this.versions.header[s],i.encode!=null&&i.encode(e,t[s],o);let a=this.versions[t.version];for(s in a)i=a[s],i.encode!=null&&i.encode(e,t[s],o);let u=0;for(;u<o.pointers.length;){let l=o.pointers[u++];l.type.encode(e,l.val,l.parent)}}}});var x,zn,hc=U(()=>{Tt();Qe();x=class extends be{constructor(e,t,r={}){if(super(),this.offsetType=e,this.type=t,this.options=r,this.type==="void"&&(this.type=null),this.options.type==null&&(this.options.type="local"),this.options.allowNull==null&&(this.options.allowNull=!0),this.options.nullValue==null&&(this.options.nullValue=0),this.options.lazy==null&&(this.options.lazy=!1),this.options.relativeTo){if(typeof this.options.relativeTo!="function")throw new Error("relativeTo option must be a function");this.relativeToGetter=r.relativeTo}}decode(e,t){let r=this.offsetType.decode(e,t);if(r===this.options.nullValue&&this.options.allowNull)return null;let s;switch(this.options.type){case"local":s=t._startOffset;break;case"immediate":s=e.pos-this.offsetType.size();break;case"parent":s=t.parent._startOffset;break;default:for(var i=t;i.parent;)i=i.parent;s=i._startOffset||0}this.options.relativeTo&&(s+=this.relativeToGetter(t));let o=r+s;if(this.type!=null){let a=null,u=()=>{if(a!=null)return a;let{pos:l}=e;return e.pos=o,a=this.type.decode(e,t),e.pos=l,a};return this.options.lazy?new Ut({get:u}):u()}else return o}size(e,t){let r=t;switch(this.options.type){case"local":case"immediate":break;case"parent":t=t.parent;break;default:for(;t.parent;)t=t.parent}let{type:s}=this;if(s==null){if(!(e instanceof zn))throw new Error("Must be a VoidPointer");({type:s}=e),e=e.value}if(e&&t){let i=s.size(e,r);t.pointerSize+=i}return this.offsetType.size()}encode(e,t,r){let s,i=r;if(t==null){this.offsetType.encode(e,this.options.nullValue);return}switch(this.options.type){case"local":s=r.startOffset;break;case"immediate":s=e.pos+this.offsetType.size(t,i);break;case"parent":r=r.parent,s=r.startOffset;break;default:for(s=0;r.parent;)r=r.parent}this.options.relativeTo&&(s+=this.relativeToGetter(i.val)),this.offsetType.encode(e,r.pointerOffset-s);let{type:o}=this;if(o==null){if(!(t instanceof zn))throw new Error("Must be a VoidPointer");({type:o}=t),t=t.value}return r.pointers.push({type:o,val:t,parent:i}),r.pointerOffset+=o.size(t,i)}},zn=class{constructor(e,t){this.type=e,this.value=t}}});var pc=U(()=>{k0();$r();C0();rc();sc();ic();oc();ac();uc();lc();fc();A0();dc();Tt();hn();hc()});function Ue(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var mc=U(()=>{});function ke(n,e,t,r){var s=arguments.length,i=s<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(n,e,t,r);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(i=(s<3?o(i):s>3?o(e,t,i):o(e,t))||i);return s>3&&i&&Object.defineProperty(e,t,i),i}var gc=U(()=>{});var bc=U(()=>{gc()});var yc=Ee((h9,xc)=>{"use strict";xc.exports=function n(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var r,s,i;if(Array.isArray(e)){if(r=e.length,r!=t.length)return!1;for(s=r;s--!==0;)if(!n(e[s],t[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(i=Object.keys(e),r=i.length,r!==Object.keys(t).length)return!1;for(s=r;s--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[s]))return!1;for(s=r;s--!==0;){var o=i[s];if(!n(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}});var I0=Ee(ci=>{"use strict";ci.byteLength=om;ci.toByteArray=um;ci.fromByteArray=fm;var ht=[],et=[],im=typeof Uint8Array<"u"?Uint8Array:Array,O0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(mn=0,vc=O0.length;mn<vc;++mn)ht[mn]=O0[mn],et[O0.charCodeAt(mn)]=mn;var mn,vc;et[45]=62;et[95]=63;function wc(n){var e=n.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=n.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function om(n){var e=wc(n),t=e[0],r=e[1];return(t+r)*3/4-r}function am(n,e,t){return(e+t)*3/4-t}function um(n){var e,t=wc(n),r=t[0],s=t[1],i=new im(am(n,r,s)),o=0,a=s>0?r-4:r,u;for(u=0;u<a;u+=4)e=et[n.charCodeAt(u)]<<18|et[n.charCodeAt(u+1)]<<12|et[n.charCodeAt(u+2)]<<6|et[n.charCodeAt(u+3)],i[o++]=e>>16&255,i[o++]=e>>8&255,i[o++]=e&255;return s===2&&(e=et[n.charCodeAt(u)]<<2|et[n.charCodeAt(u+1)]>>4,i[o++]=e&255),s===1&&(e=et[n.charCodeAt(u)]<<10|et[n.charCodeAt(u+1)]<<4|et[n.charCodeAt(u+2)]>>2,i[o++]=e>>8&255,i[o++]=e&255),i}function lm(n){return ht[n>>18&63]+ht[n>>12&63]+ht[n>>6&63]+ht[n&63]}function cm(n,e,t){for(var r,s=[],i=e;i<t;i+=3)r=(n[i]<<16&16711680)+(n[i+1]<<8&65280)+(n[i+2]&255),s.push(lm(r));return s.join("")}function fm(n){for(var e,t=n.length,r=t%3,s=[],i=16383,o=0,a=t-r;o<a;o+=i)s.push(cm(n,o,o+i>a?a:o+i));return r===1?(e=n[t-1],s.push(ht[e>>2]+ht[e<<4&63]+"==")):r===2&&(e=(n[t-2]<<8)+n[t-1],s.push(ht[e>>10]+ht[e>>4&63]+ht[e<<2&63]+"=")),s.join("")}});var D0=Ee((m9,Mc)=>{var M0=0,Ec=-3;function Nr(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function dm(n,e){this.source=n,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new Nr,this.dtree=new Nr}var Ac=new Nr,Oc=new Nr,F0=new Uint8Array(30),$0=new Uint16Array(30),Ic=new Uint8Array(30),Tc=new Uint16Array(30),hm=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Sc=new Nr,pt=new Uint8Array(320);function Pc(n,e,t,r){var s,i;for(s=0;s<t;++s)n[s]=0;for(s=0;s<30-t;++s)n[s+t]=s/t|0;for(i=r,s=0;s<30;++s)e[s]=i,i+=1<<n[s]}function pm(n,e){var t;for(t=0;t<7;++t)n.table[t]=0;for(n.table[7]=24,n.table[8]=152,n.table[9]=112,t=0;t<24;++t)n.trans[t]=256+t;for(t=0;t<144;++t)n.trans[24+t]=t;for(t=0;t<8;++t)n.trans[168+t]=280+t;for(t=0;t<112;++t)n.trans[176+t]=144+t;for(t=0;t<5;++t)e.table[t]=0;for(e.table[5]=32,t=0;t<32;++t)e.trans[t]=t}var kc=new Uint16Array(16);function T0(n,e,t,r){var s,i;for(s=0;s<16;++s)n.table[s]=0;for(s=0;s<r;++s)n.table[e[t+s]]++;for(n.table[0]=0,i=0,s=0;s<16;++s)kc[s]=i,i+=n.table[s];for(s=0;s<r;++s)e[t+s]&&(n.trans[kc[e[t+s]]++]=s)}function mm(n){n.bitcount--||(n.tag=n.source[n.sourceIndex++],n.bitcount=7);var e=n.tag&1;return n.tag>>>=1,e}function mt(n,e,t){if(!e)return t;for(;n.bitcount<24;)n.tag|=n.source[n.sourceIndex++]<<n.bitcount,n.bitcount+=8;var r=n.tag&65535>>>16-e;return n.tag>>>=e,n.bitcount-=e,r+t}function P0(n,e){for(;n.bitcount<24;)n.tag|=n.source[n.sourceIndex++]<<n.bitcount,n.bitcount+=8;var t=0,r=0,s=0,i=n.tag;do r=2*r+(i&1),i>>>=1,++s,t+=e.table[s],r-=e.table[s];while(r>=0);return n.tag=i,n.bitcount-=s,e.trans[t+r]}function gm(n,e,t){var r,s,i,o,a,u;for(r=mt(n,5,257),s=mt(n,5,1),i=mt(n,4,4),o=0;o<19;++o)pt[o]=0;for(o=0;o<i;++o){var l=mt(n,3,0);pt[hm[o]]=l}for(T0(Sc,pt,0,19),a=0;a<r+s;){var f=P0(n,Sc);switch(f){case 16:var d=pt[a-1];for(u=mt(n,2,3);u;--u)pt[a++]=d;break;case 17:for(u=mt(n,3,3);u;--u)pt[a++]=0;break;case 18:for(u=mt(n,7,11);u;--u)pt[a++]=0;break;default:pt[a++]=f;break}}T0(e,pt,0,r),T0(t,pt,r,s)}function Cc(n,e,t){for(;;){var r=P0(n,e);if(r===256)return M0;if(r<256)n.dest[n.destLen++]=r;else{var s,i,o,a;for(r-=257,s=mt(n,F0[r],$0[r]),i=P0(n,t),o=n.destLen-mt(n,Ic[i],Tc[i]),a=o;a<o+s;++a)n.dest[n.destLen++]=n.dest[a]}}}function bm(n){for(var e,t,r;n.bitcount>8;)n.sourceIndex--,n.bitcount-=8;if(e=n.source[n.sourceIndex+1],e=256*e+n.source[n.sourceIndex],t=n.source[n.sourceIndex+3],t=256*t+n.source[n.sourceIndex+2],e!==(~t&65535))return Ec;for(n.sourceIndex+=4,r=e;r;--r)n.dest[n.destLen++]=n.source[n.sourceIndex++];return n.bitcount=0,M0}function xm(n,e){var t=new dm(n,e),r,s,i;do{switch(r=mm(t),s=mt(t,2,0),s){case 0:i=bm(t);break;case 1:i=Cc(t,Ac,Oc);break;case 2:gm(t,t.ltree,t.dtree),i=Cc(t,t.ltree,t.dtree);break;default:i=Ec}if(i!==M0)throw new Error("Data error")}while(!r);return t.destLen<t.dest.length?typeof t.dest.slice=="function"?t.dest.slice(0,t.destLen):t.dest.subarray(0,t.destLen):t.dest}pm(Ac,Oc);Pc(F0,$0,4,3);Pc(Ic,Tc,2,1);F0[28]=0;$0[28]=258;Mc.exports=xm});var Dc=Ee((g9,$c)=>{var ym=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,Fc=(n,e,t)=>{let r=n[e];n[e]=n[t],n[t]=r},vm=n=>{let e=n.length;for(let t=0;t<e;t+=4)Fc(n,t,t+3),Fc(n,t+1,t+2)},wm=n=>{ym&&vm(n)};$c.exports={swap32LE:wm}});var B0=Ee((b9,Rc)=>{var Nc=D0(),{swap32LE:Sm}=Dc(),R0=11,gn=5,km=R0-gn,Cm=65536>>R0,Em=1<<km,Am=Em-1,fi=2,Om=1<<gn,N0=Om-1,Lc=65536>>gn,Im=1024>>gn,Tm=Lc+Im,Pm=Tm,Mm=32,Fm=Pm+Mm,$m=1<<fi,L0=class{constructor(e){let t=typeof e.readUInt32BE=="function"&&typeof e.slice=="function";if(t||e instanceof Uint8Array){let r;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),r=e.readUInt32LE(8),e=e.slice(12);else{let s=new DataView(e.buffer);this.highStart=s.getUint32(0,!0),this.errorValue=s.getUint32(4,!0),r=s.getUint32(8,!0),e=e.subarray(12)}e=Nc(e,new Uint8Array(r)),e=Nc(e,new Uint8Array(r)),Sm(e),this.data=new Uint32Array(e.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>gn]<<fi)+(e&N0),this.data[t]):e<=65535?(t=(this.data[Lc+(e-55296>>gn)]<<fi)+(e&N0),this.data[t]):e<this.highStart?(t=this.data[Fm-Cm+(e>>R0)],t=this.data[t+(e>>gn&Am)],t=(t<<fi)+(e&N0),this.data[t]):this.data[this.data.length-$m]}};Rc.exports=L0});function bn(n){return n&&n.__esModule?n.default:n}function Lr(n){let e=U0.get(n);return bn(jt).categories[e>>Lm&Um]}function jc(n){let e=U0.get(n);return bn(jt).combiningClasses[e>>Rm&Vm]}function j0(n){let e=U0.get(n);return bn(jt).scripts[e>>Bm&jm]}function G0(n){return Lr(n)==="Nd"}function z0(n){let e=Lr(n);return e==="Mn"||e==="Me"||e==="Mc"}var Bc,Uc,jt,U0,Dm,di,Nm,Vc,V0,hi,pi,Lm,Rm,Bm,Um,Vm,jm,x9,y9,Gc=U(()=>{Bc=Nt(I0(),1),Uc=Nt(B0(),1);jt={};jt=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');U0=new Uc.default(Bc.default.toByteArray("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")),Dm=Math.log2||(n=>Math.log(n)/Math.LN2),di=n=>Dm(n)+1|0,Nm=di(bn(jt).categories.length-1),Vc=di(bn(jt).combiningClasses.length-1),V0=di(bn(jt).scripts.length-1),hi=di(bn(jt).eaw.length-1),pi=10,Lm=Vc+V0+hi+pi,Rm=V0+hi+pi,Bm=hi+pi,Um=(1<<Nm)-1,Vm=(1<<Vc)-1,jm=(1<<V0)-1,x9=(1<<hi)-1,y9=(1<<pi)-1});var _c=Ee((w9,zc)=>{"use strict";var _0=1,W0=0,q0=class{constructor(e){this.stateTable=e.stateTable,this.accepting=e.accepting,this.tags=e.tags}match(e){var t=this;return{*[Symbol.iterator](){for(var r=_0,s=null,i=null,o=null,a=0;a<e.length;a++){var u=e[a];o=r,r=t.stateTable[r][u],r===W0&&(s!=null&&i!=null&&i>=s&&(yield[s,i,t.tags[o]]),r=t.stateTable[_0][u],s=null),r!==W0&&s==null&&(s=a),t.accepting[r]&&(i=a),r===W0&&(r=_0)}s!=null&&i!=null&&i>=s&&(yield[s,i,t.tags[r]])}}}apply(e,t){for(var[r,s,i]of this.match(e))for(var o of i)typeof t[o]=="function"&&t[o](r,s,e.slice(r,s+1))}};zc.exports=q0});var Wc=Ee((S9,mi)=>{var Gm=(function(){"use strict";function n(f,d){return d!=null&&f instanceof d}var e;try{e=Map}catch{e=function(){}}var t;try{t=Set}catch{t=function(){}}var r;try{r=Promise}catch{r=function(){}}function s(f,d,h,p,g){typeof d=="object"&&(h=d.depth,p=d.prototype,g=d.includeNonEnumerable,d=d.circular);var E=[],y=[],A=typeof Buffer<"u";typeof d>"u"&&(d=!0),typeof h>"u"&&(h=1/0);function I(m,P){if(m===null)return null;if(P===0)return m;var M,$;if(typeof m!="object")return m;if(n(m,e))M=new e;else if(n(m,t))M=new t;else if(n(m,r))M=new r(function(q,ee){m.then(function(z){q(I(z,P-1))},function(z){ee(I(z,P-1))})});else if(s.__isArray(m))M=[];else if(s.__isRegExp(m))M=new RegExp(m.source,l(m)),m.lastIndex&&(M.lastIndex=m.lastIndex);else if(s.__isDate(m))M=new Date(m.getTime());else{if(A&&Buffer.isBuffer(m))return Buffer.allocUnsafe?M=Buffer.allocUnsafe(m.length):M=new Buffer(m.length),m.copy(M),M;n(m,Error)?M=Object.create(m):typeof p>"u"?($=Object.getPrototypeOf(m),M=Object.create($)):(M=Object.create(p),$=p)}if(d){var _=E.indexOf(m);if(_!=-1)return y[_];E.push(m),y.push(M)}n(m,e)&&m.forEach(function(q,ee){var z=I(ee,P-1),H=I(q,P-1);M.set(z,H)}),n(m,t)&&m.forEach(function(q){var ee=I(q,P-1);M.add(ee)});for(var S in m){var D;$&&(D=Object.getOwnPropertyDescriptor($,S)),!(D&&D.set==null)&&(M[S]=I(m[S],P-1))}if(Object.getOwnPropertySymbols)for(var v=Object.getOwnPropertySymbols(m),S=0;S<v.length;S++){var F=v[S],C=Object.getOwnPropertyDescriptor(m,F);C&&!C.enumerable&&!g||(M[F]=I(m[F],P-1),C.enumerable||Object.defineProperty(M,F,{enumerable:!1}))}if(g)for(var N=Object.getOwnPropertyNames(m),S=0;S<N.length;S++){var W=N[S],C=Object.getOwnPropertyDescriptor(m,W);C&&C.enumerable||(M[W]=I(m[W],P-1),Object.defineProperty(M,W,{enumerable:!1}))}return M}return I(f,h)}s.clonePrototype=function(d){if(d===null)return null;var h=function(){};return h.prototype=d,new h};function i(f){return Object.prototype.toString.call(f)}s.__objToStr=i;function o(f){return typeof f=="object"&&i(f)==="[object Date]"}s.__isDate=o;function a(f){return typeof f=="object"&&i(f)==="[object Array]"}s.__isArray=a;function u(f){return typeof f=="object"&&i(f)==="[object RegExp]"}s.__isRegExp=u;function l(f){var d="";return f.global&&(d+="g"),f.ignoreCase&&(d+="i"),f.multiline&&(d+="m"),d}return s.__getRegExpFlags=l,s})();typeof mi=="object"&&mi.exports&&(mi.exports=Gm)});var X0=Ee(H0=>{function qc(n){this.buffer=n,this.pos=0}qc.prototype.read=function(n,e,t){this.pos+t>this.buffer.length&&(t=this.buffer.length-this.pos);for(var r=0;r<t;r++)n[e+r]=this.buffer[this.pos+r];return this.pos+=t,t};H0.BrotliInput=qc;function Hc(n){this.buffer=n,this.pos=0}Hc.prototype.write=function(n,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(n.subarray(0,e),this.pos),this.pos+=e,e};H0.BrotliOutput=Hc});var Zc=Ee((C9,Yc)=>{var xn=4096,zm=2*xn+32,Xc=2*xn-1,_m=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function yn(n){this.buf_=new Uint8Array(zm),this.input_=n,this.reset()}yn.READ_SIZE=xn;yn.IBUF_MASK=Xc;yn.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var n=0;n<4;n++)this.val_|=this.buf_[this.pos_]<<8*n,++this.pos_;return this.bit_end_pos_>0};yn.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var n=this.buf_ptr_,e=this.input_.read(this.buf_,n,xn);if(e<0)throw new Error("Unexpected end of input");if(e<xn){this.eos_=1;for(var t=0;t<32;t++)this.buf_[n+e+t]=0}if(n===0){for(var t=0;t<32;t++)this.buf_[(xn<<1)+t]=this.buf_[t];this.buf_ptr_=xn}else this.buf_ptr_=0;this.bit_end_pos_+=e<<3}};yn.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[this.pos_&Xc]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0};yn.prototype.readBits=function(n){32-this.bit_pos_<n&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&_m[n];return this.bit_pos_+=n,e};Yc.exports=yn});var Jc=Ee((E9,Kc)=>{Kc.exports="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"});var ef=Ee(Qc=>{var Wm=I0();Qc.init=function(){var n=Y0().BrotliDecompressBuffer,e=Wm.toByteArray(Jc());return n(e)}});var Z0=Ee(vn=>{var qm=ef();vn.init=function(){vn.dictionary=qm.init()};vn.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]);vn.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]);vn.minDictionaryWordLength=4;vn.maxDictionaryWordLength=24});var J0=Ee(K0=>{function Wn(n,e){this.bits=n,this.value=e}K0.HuffmanCode=Wn;var _n=15;function tf(n,e){for(var t=1<<e-1;n&t;)t>>=1;return(n&t-1)+t}function nf(n,e,t,r,s){do r-=t,n[e+r]=new Wn(s.bits,s.value);while(r>0)}function Hm(n,e,t){for(var r=1<<e-t;e<_n&&(r-=n[e],!(r<=0));)++e,r<<=1;return e-t}K0.BrotliBuildHuffmanTable=function(n,e,t,r,s){var i=e,o,a,u,l,f,d,h,p,g,E,y,A=new Int32Array(_n+1),I=new Int32Array(_n+1);for(y=new Int32Array(s),u=0;u<s;u++)A[r[u]]++;for(I[1]=0,a=1;a<_n;a++)I[a+1]=I[a]+A[a];for(u=0;u<s;u++)r[u]!==0&&(y[I[r[u]]++]=u);if(p=t,g=1<<p,E=g,I[_n]===1){for(l=0;l<E;++l)n[e+l]=new Wn(0,y[0]&65535);return E}for(l=0,u=0,a=1,f=2;a<=t;++a,f<<=1)for(;A[a]>0;--A[a])o=new Wn(a&255,y[u++]&65535),nf(n,e+l,f,g,o),l=tf(l,a);for(h=E-1,d=-1,a=t+1,f=2;a<=_n;++a,f<<=1)for(;A[a]>0;--A[a])(l&h)!==d&&(e+=g,p=Hm(A,a,t),g=1<<p,E+=g,d=l&h,n[i+d]=new Wn(p+t&255,e-i-d&65535)),o=new Wn(a-t&255,y[u++]&65535),nf(n,e+(l>>t),f,g,o),l=tf(l,a);return E}});var rf=Ee(Q0=>{Q0.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,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,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,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,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,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,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,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,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,0,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,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,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,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,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,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,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);Q0.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])});var sf=Ee(qn=>{function V(n,e){this.offset=n,this.nbits=e}qn.kBlockLengthPrefixCode=[new V(1,2),new V(5,2),new V(9,2),new V(13,2),new V(17,3),new V(25,3),new V(33,3),new V(41,3),new V(49,4),new V(65,4),new V(81,4),new V(97,4),new V(113,5),new V(145,5),new V(177,5),new V(209,5),new V(241,6),new V(305,6),new V(369,7),new V(497,8),new V(753,9),new V(1265,10),new V(2289,11),new V(4337,12),new V(8433,13),new V(16625,24)];qn.kInsertLengthPrefixCode=[new V(0,0),new V(1,0),new V(2,0),new V(3,0),new V(4,0),new V(5,0),new V(6,1),new V(8,1),new V(10,2),new V(14,2),new V(18,3),new V(26,3),new V(34,4),new V(50,4),new V(66,5),new V(98,5),new V(130,6),new V(194,7),new V(322,8),new V(578,9),new V(1090,10),new V(2114,12),new V(6210,14),new V(22594,24)];qn.kCopyLengthPrefixCode=[new V(2,0),new V(3,0),new V(4,0),new V(5,0),new V(6,0),new V(7,0),new V(8,0),new V(9,0),new V(10,1),new V(12,1),new V(14,2),new V(18,2),new V(22,3),new V(30,3),new V(38,4),new V(54,4),new V(70,5),new V(102,5),new V(134,6),new V(198,7),new V(326,8),new V(582,9),new V(1094,10),new V(2118,24)];qn.kInsertRangeLut=[0,0,8,8,0,16,8,16,16];qn.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]});var lf=Ee(gi=>{var Xm=Z0(),G=0,of=1,Ym=2,Zm=3,Km=4,Jm=5,Qm=6,e2=7,t2=8,uf=9,ye=10,we=11,ea=12,n2=13,r2=14,s2=15,i2=16,o2=17,a2=18,u2=20;function O(n,e,t){this.prefix=new Uint8Array(n.length),this.transform=e,this.suffix=new Uint8Array(t.length);for(var r=0;r<n.length;r++)this.prefix[r]=n.charCodeAt(r);for(var r=0;r<t.length;r++)this.suffix[r]=t.charCodeAt(r)}var Rr=[new O("",G,""),new O("",G," "),new O(" ",G," "),new O("",ea,""),new O("",ye," "),new O("",G," the "),new O(" ",G,""),new O("s ",G," "),new O("",G," of "),new O("",ye,""),new O("",G," and "),new O("",n2,""),new O("",of,""),new O(", ",G," "),new O("",G,", "),new O(" ",ye," "),new O("",G," in "),new O("",G," to "),new O("e ",G," "),new O("",G,'"'),new O("",G,"."),new O("",G,'">'),new O("",G,`
|
|
12
|
-
`),new
|
|
13
|
-
`),new O("",G,":"),new O(" ",G,". "),new O("",G,"ed "),new O("",u2,""),new O("",a2,""),new O("",Qm,""),new O("",G,"("),new O("",ye,", "),new O("",t2,""),new O("",G," at "),new O("",G,"ly "),new O(" the ",G," of "),new O("",Jm,""),new O("",uf,""),new O(" ",ye,", "),new O("",ye,'"'),new O(".",G,"("),new O("",we," "),new O("",ye,'">'),new O("",G,'="'),new O(" ",G,"."),new O(".com/",G,""),new O(" the ",G," of the "),new O("",ye,"'"),new O("",G,". This "),new O("",G,","),new O(".",G," "),new O("",ye,"("),new O("",ye,"."),new O("",G," not "),new O(" ",G,'="'),new O("",G,"er "),new O(" ",we," "),new O("",G,"al "),new O(" ",we,""),new O("",G,"='"),new O("",we,'"'),new O("",ye,". "),new O(" ",G,"("),new O("",G,"ful "),new O(" ",ye,". "),new O("",G,"ive "),new O("",G,"less "),new O("",we,"'"),new O("",G,"est "),new O(" ",ye,"."),new O("",we,'">'),new O(" ",G,"='"),new O("",ye,","),new O("",G,"ize "),new O("",we,"."),new O("\xC2\xA0",G,""),new O(" ",G,","),new O("",ye,'="'),new O("",we,'="'),new O("",G,"ous "),new O("",we,", "),new O("",ye,"='"),new O(" ",ye,","),new O(" ",we,'="'),new O(" ",we,", "),new O("",we,","),new O("",we,"("),new O("",we,". "),new O(" ",we,"."),new O("",we,"='"),new O(" ",we,". "),new O(" ",ye,'="'),new O(" ",we,"='"),new O(" ",ye,"='")];gi.kTransforms=Rr;gi.kNumTransforms=Rr.length;function af(n,e){return n[e]<192?(n[e]>=97&&n[e]<=122&&(n[e]^=32),1):n[e]<224?(n[e+1]^=32,2):(n[e+2]^=5,3)}gi.transformDictionaryWord=function(n,e,t,r,s){var i=Rr[s].prefix,o=Rr[s].suffix,a=Rr[s].transform,u=a<ea?0:a-(ea-1),l=0,f=e,d;u>r&&(u=r);for(var h=0;h<i.length;)n[e++]=i[h++];for(t+=u,r-=u,a<=uf&&(r-=a),l=0;l<r;l++)n[e++]=Xm.dictionary[t+l];if(d=e-r,a===ye)af(n,d);else if(a===we)for(;r>0;){var p=af(n,d);d+=p,r-=p}for(var g=0;g<o.length;)n[e++]=o[g++];return e-f}});var Y0=Ee(yi=>{var mf=X0().BrotliInput,l2=X0().BrotliOutput,Yn=Zc(),Xn=Z0(),Se=J0().HuffmanCode,gf=J0().BrotliBuildHuffmanTable,Hn=rf(),Gt=sf(),cf=lf(),c2=8,ff=16,f2=256,d2=704,h2=26,df=6,hf=2,na=8,p2=255,zt=1080,ra=18,m2=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),sa=16,g2=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),b2=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),x2=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function bf(n){var e;return n.readBits(1)===0?16:(e=n.readBits(3),e>0?17+e:(e=n.readBits(3),e>0?8+e:17))}function xf(n){if(n.readBits(1)){var e=n.readBits(3);return e===0?1:n.readBits(e)+(1<<e)}return 0}function y2(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function yf(n){var e=new y2,t,r,s;if(e.input_end=n.readBits(1),e.input_end&&n.readBits(1))return e;if(t=n.readBits(2)+4,t===7){if(e.is_metadata=!0,n.readBits(1)!==0)throw new Error("Invalid reserved bit");if(r=n.readBits(2),r===0)return e;for(s=0;s<r;s++){var i=n.readBits(8);if(s+1===r&&r>1&&i===0)throw new Error("Invalid size byte");e.meta_block_length|=i<<s*8}}else for(s=0;s<t;++s){var o=n.readBits(4);if(s+1===t&&t>4&&o===0)throw new Error("Invalid size nibble");e.meta_block_length|=o<<s*4}return++e.meta_block_length,!e.input_end&&!e.is_metadata&&(e.is_uncompressed=n.readBits(1)),e}function Zn(n,e,t){var r=e,s;return t.fillBitWindow(),e+=t.val_>>>t.bit_pos_&p2,s=n[e].bits-na,s>0&&(t.bit_pos_+=na,e+=n[e].value,e+=t.val_>>>t.bit_pos_&(1<<s)-1),t.bit_pos_+=n[e].bits,n[e].value}function v2(n,e,t,r){for(var s=0,i=c2,o=0,a=0,u=32768,l=[],f=0;f<32;f++)l.push(new Se(0,0));for(gf(l,0,5,n,ra);s<e&&u>0;){var d=0,h;if(r.readMoreInput(),r.fillBitWindow(),d+=r.val_>>>r.bit_pos_&31,r.bit_pos_+=l[d].bits,h=l[d].value&255,h<ff)o=0,t[s++]=h,h!==0&&(i=h,u-=32768>>h);else{var p=h-14,g,E,y=0;if(h===ff&&(y=i),a!==y&&(o=0,a=y),g=o,o>0&&(o-=2,o<<=p),o+=r.readBits(p)+3,E=o-g,s+E>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var A=0;A<E;A++)t[s+A]=a;s+=E,a!==0&&(u-=E<<15-a)}}if(u!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+u);for(;s<e;s++)t[s]=0}function xi(n,e,t,r){var s=0,i,o=new Uint8Array(n);if(r.readMoreInput(),i=r.readBits(2),i===1){for(var a,u=n-1,l=0,f=new Int32Array(4),d=r.readBits(2)+1;u;)u>>=1,++l;for(a=0;a<d;++a)f[a]=r.readBits(l)%n,o[f[a]]=2;switch(o[f[0]]=1,d){case 1:break;case 3:if(f[0]===f[1]||f[0]===f[2]||f[1]===f[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(f[0]===f[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[f[1]]=1;break;case 4:if(f[0]===f[1]||f[0]===f[2]||f[0]===f[3]||f[1]===f[2]||f[1]===f[3]||f[2]===f[3])throw new Error("[ReadHuffmanCode] invalid symbols");r.readBits(1)?(o[f[2]]=3,o[f[3]]=3):o[f[0]]=2;break}}else{var a,h=new Uint8Array(ra),p=32,g=0,E=[new Se(2,0),new Se(2,4),new Se(2,3),new Se(3,2),new Se(2,0),new Se(2,4),new Se(2,3),new Se(4,1),new Se(2,0),new Se(2,4),new Se(2,3),new Se(3,2),new Se(2,0),new Se(2,4),new Se(2,3),new Se(4,5)];for(a=i;a<ra&&p>0;++a){var y=m2[a],A=0,I;r.fillBitWindow(),A+=r.val_>>>r.bit_pos_&15,r.bit_pos_+=E[A].bits,I=E[A].value,h[y]=I,I!==0&&(p-=32>>I,++g)}if(!(g===1||p===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");v2(h,n,o,r)}if(s=gf(e,t,na,o,n),s===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return s}function bi(n,e,t){var r,s;return r=Zn(n,e,t),s=Gt.kBlockLengthPrefixCode[r].nbits,Gt.kBlockLengthPrefixCode[r].offset+t.readBits(s)}function w2(n,e,t){var r;return n<sa?(t+=g2[n],t&=3,r=e[t]+b2[n]):r=n-sa+1,r}function S2(n,e){for(var t=n[e],r=e;r;--r)n[r]=n[r-1];n[0]=t}function k2(n,e){var t=new Uint8Array(256),r;for(r=0;r<256;++r)t[r]=r;for(r=0;r<e;++r){var s=n[r];n[r]=t[s],s&&S2(t,s)}}function wn(n,e){this.alphabet_size=n,this.num_htrees=e,this.codes=new Array(e+e*x2[n+31>>>5]),this.htrees=new Uint32Array(e)}wn.prototype.decode=function(n){var e,t,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,t=xi(this.alphabet_size,this.codes,r,n),r+=t};function pf(n,e){var t={num_htrees:null,context_map:null},r,s=0,i,o;e.readMoreInput();var a=t.num_htrees=xf(e)+1,u=t.context_map=new Uint8Array(n);if(a<=1)return t;for(r=e.readBits(1),r&&(s=e.readBits(4)+1),i=[],o=0;o<zt;o++)i[o]=new Se(0,0);for(xi(a+s,i,0,e),o=0;o<n;){var l;if(e.readMoreInput(),l=Zn(i,0,e),l===0)u[o]=0,++o;else if(l<=s)for(var f=1+(1<<l)+e.readBits(l);--f;){if(o>=n)throw new Error("[DecodeContextMap] i >= context_map_size");u[o]=0,++o}else u[o]=l-s,++o}return e.readBits(1)&&k2(u,n),t}function ta(n,e,t,r,s,i,o){var a=t*2,u=t,l=Zn(e,t*zt,o),f;l===0?f=s[a+(i[u]&1)]:l===1?f=s[a+(i[u]-1&1)]+1:f=l-2,f>=n&&(f-=n),r[t]=f,s[a+(i[u]&1)]=f,++i[u]}function C2(n,e,t,r,s,i){var o=s+1,a=t&s,u=i.pos_&Yn.IBUF_MASK,l;if(e<8||i.bit_pos_+(e<<3)<i.bit_end_pos_){for(;e-- >0;)i.readMoreInput(),r[a++]=i.readBits(8),a===o&&(n.write(r,o),a=0);return}if(i.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;i.bit_pos_<32;)r[a]=i.val_>>>i.bit_pos_,i.bit_pos_+=8,++a,--e;if(l=i.bit_end_pos_-i.bit_pos_>>3,u+l>Yn.IBUF_MASK){for(var f=Yn.IBUF_MASK+1-u,d=0;d<f;d++)r[a+d]=i.buf_[u+d];l-=f,a+=f,e-=f,u=0}for(var d=0;d<l;d++)r[a+d]=i.buf_[u+d];if(a+=l,e-=l,a>=o){n.write(r,o),a-=o;for(var d=0;d<a;d++)r[d]=r[o+d]}for(;a+e>=o;){if(l=o-a,i.input_.read(r,a,l)<l)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");n.write(r,o),e-=l,a=0}if(i.input_.read(r,a,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");i.reset()}function E2(n){var e=n.bit_pos_+7&-8,t=n.readBits(e-n.bit_pos_);return t==0}function vf(n){var e=new mf(n),t=new Yn(e);bf(t);var r=yf(t);return r.meta_block_length}yi.BrotliDecompressedSize=vf;function A2(n,e){var t=new mf(n);e==null&&(e=vf(n));var r=new Uint8Array(e),s=new l2(r);return wf(t,s),s.pos<s.buffer.length&&(s.buffer=s.buffer.subarray(0,s.pos)),s.buffer}yi.BrotliDecompressBuffer=A2;function wf(n,e){var t,r=0,s=0,i=0,o,a=0,u,l,f,d,h=[16,15,11,4],p=0,g=0,E=0,y=[new wn(0,0),new wn(0,0),new wn(0,0)],A,I,m,P=128+Yn.READ_SIZE;m=new Yn(n),i=bf(m),o=(1<<i)-16,u=1<<i,l=u-1,f=new Uint8Array(u+P+Xn.maxDictionaryWordLength),d=u,A=[],I=[];for(var M=0;M<3*zt;M++)A[M]=new Se(0,0),I[M]=new Se(0,0);for(;!s;){var $=0,_,S=[1<<28,1<<28,1<<28],D=[0],v=[1,1,1],F=[0,1,0,1,0,1],C=[0],N,W,q,ee,z=null,H=null,j,Y=null,pe,xe=0,Ce=null,Ae=0,te=0,We=null,je=0,qe=0,Fe=0,K,ce;for(t=0;t<3;++t)y[t].codes=null,y[t].htrees=null;m.readMoreInput();var vt=yf(m);if($=vt.meta_block_length,r+$>e.buffer.length){var Re=new Uint8Array(r+$);Re.set(e.buffer),e.buffer=Re}if(s=vt.input_end,_=vt.is_uncompressed,vt.is_metadata){for(E2(m);$>0;--$)m.readMoreInput(),m.readBits(8);continue}if($!==0){if(_){m.bit_pos_=m.bit_pos_+7&-8,C2(e,$,r,f,l,m),r+=$;continue}for(t=0;t<3;++t)v[t]=xf(m)+1,v[t]>=2&&(xi(v[t]+2,A,t*zt,m),xi(h2,I,t*zt,m),S[t]=bi(I,t*zt,m),C[t]=1);for(m.readMoreInput(),N=m.readBits(2),W=sa+(m.readBits(4)<<N),q=(1<<N)-1,ee=W+(48<<N),H=new Uint8Array(v[0]),t=0;t<v[0];++t)m.readMoreInput(),H[t]=m.readBits(2)<<1;var Qt=pf(v[0]<<df,m);j=Qt.num_htrees,z=Qt.context_map;var wt=pf(v[2]<<hf,m);for(pe=wt.num_htrees,Y=wt.context_map,y[0]=new wn(f2,j),y[1]=new wn(d2,v[1]),y[2]=new wn(ee,pe),t=0;t<3;++t)y[t].decode(m);for(Ce=0,We=0,K=H[D[0]],qe=Hn.lookupOffsets[K],Fe=Hn.lookupOffsets[K+1],ce=y[1].htrees[0];$>0;){var St,st,Dt,kt,On,Oe,de,Ge,cr,In,fr;for(m.readMoreInput(),S[1]===0&&(ta(v[1],A,1,D,F,C,m),S[1]=bi(I,zt,m),ce=y[1].htrees[D[1]]),--S[1],St=Zn(y[1].codes,ce,m),st=St>>6,st>=2?(st-=2,de=-1):de=0,Dt=Gt.kInsertRangeLut[st]+(St>>3&7),kt=Gt.kCopyRangeLut[st]+(St&7),On=Gt.kInsertLengthPrefixCode[Dt].offset+m.readBits(Gt.kInsertLengthPrefixCode[Dt].nbits),Oe=Gt.kCopyLengthPrefixCode[kt].offset+m.readBits(Gt.kCopyLengthPrefixCode[kt].nbits),g=f[r-1&l],E=f[r-2&l],In=0;In<On;++In)m.readMoreInput(),S[0]===0&&(ta(v[0],A,0,D,F,C,m),S[0]=bi(I,0,m),xe=D[0]<<df,Ce=xe,K=H[D[0]],qe=Hn.lookupOffsets[K],Fe=Hn.lookupOffsets[K+1]),cr=Hn.lookup[qe+g]|Hn.lookup[Fe+E],Ae=z[Ce+cr],--S[0],E=g,g=Zn(y[0].codes,y[0].htrees[Ae],m),f[r&l]=g,(r&l)===l&&e.write(f,u),++r;if($-=On,$<=0)break;if(de<0){var cr;if(m.readMoreInput(),S[2]===0&&(ta(v[2],A,2,D,F,C,m),S[2]=bi(I,2*zt,m),te=D[2]<<hf,We=te),--S[2],cr=(Oe>4?3:Oe-2)&255,je=Y[We+cr],de=Zn(y[2].codes,y[2].htrees[je],m),de>=W){var ro,Su,dr;de-=W,Su=de&q,de>>=N,ro=(de>>1)+1,dr=(2+(de&1)<<ro)-4,de=W+(dr+m.readBits(ro)<<N)+Su}}if(Ge=w2(de,h,p),Ge<0)throw new Error("[BrotliDecompress] invalid distance");if(r<o&&a!==o?a=r:a=o,fr=r&l,Ge>a)if(Oe>=Xn.minDictionaryWordLength&&Oe<=Xn.maxDictionaryWordLength){var dr=Xn.offsetsByLength[Oe],ku=Ge-a-1,Cu=Xn.sizeBitsByLength[Oe],hh=(1<<Cu)-1,ph=ku&hh,Eu=ku>>Cu;if(dr+=ph*Oe,Eu<cf.kNumTransforms){var so=cf.transformDictionaryWord(f,fr,dr,Oe,Eu);if(fr+=so,r+=so,$-=so,fr>=d){e.write(f,u);for(var rs=0;rs<fr-d;rs++)f[rs]=f[d+rs]}}else throw new Error("Invalid backward reference. pos: "+r+" distance: "+Ge+" len: "+Oe+" bytes left: "+$)}else throw new Error("Invalid backward reference. pos: "+r+" distance: "+Ge+" len: "+Oe+" bytes left: "+$);else{if(de>0&&(h[p&3]=Ge,++p),Oe>$)throw new Error("Invalid backward reference. pos: "+r+" distance: "+Ge+" len: "+Oe+" bytes left: "+$);for(In=0;In<Oe;++In)f[r&l]=f[r-Ge&l],(r&l)===l&&e.write(f,u),++r,--$}g=f[r-1&l],E=f[r-2&l]}r&=1073741823}}e.write(f,r&l)}yi.BrotliDecompress=wf;Xn.init()});var kf=Ee(($9,Sf)=>{Sf.exports=Y0().BrotliDecompressBuffer});import cd from"fs";function An(n,e,t,r){Object.defineProperty(n,e,{get:t,set:r,enumerable:!0,configurable:!0})}function Zi(n){return n&&n.__esModule?n.default:n}function ar(n){pa.push(n)}function ur(n,e){for(let t=0;t<pa.length;t++){let r=pa[t];if(r.probe(n)){let s=new r(new he(n));return e?s.getFont(e):s}}throw new Error("Unknown font format")}function O2(n="en"){Ti=n}function I2(n,e){let t=cd.readFileSync(n);return ur(t,e)}async function T2(n,e,t){typeof e=="function"&&(t=e,e=null);let r=await cd.promises.readFile(n);return ur(r,e)}function Me(n,e,t){if(t.get){let r=t.get;t.get=function(){let s=r.call(this);return Object.defineProperty(this,e,{value:s}),s}}else if(typeof t.value=="function"){let r=t.value;return{get(){let s=new Map;function i(...o){let a=o.length>0?o[0]:"value";if(s.has(a))return s.get(a);let u=r.apply(this,o);return s.set(a,u),u}return Object.defineProperty(this,e,{value:i}),i}}}}function md(n,e,t=0){return n===1&&Cf[t]?Cf[t]:H2[n][e]}function q2(n){let e=oa.get(n);if(e)return e;let t=W2[n];if(t){let r=new Map;for(let s=0;s<t.length;s++)r.set(t.charCodeAt(s),128+s);return oa.set(n,r),r}if(_2.has(n)){let r=new TextDecoder(n),s=new Uint8Array(128);for(let a=0;a<128;a++)s[a]=128+a;let i=new Map,o=r.decode(s);for(let a=0;a<128;a++)i.set(o.charCodeAt(a),128+a);return oa.set(n,i),i}}function Fi(n){let e=new k({lookupType:c,flags:dg,subTableCount:c,subTables:new b(new x(c,n),"subTableCount"),markFilteringSet:new Vt(c,t=>t.flags.flags.useMarkFilteringSet)});return new oe(new x(c,e),c)}function wi(n={},e=c){let t=Object.assign({newState:c,flags:c},n),r=new k(t),s=new nt(new b(c,o=>o.nClasses));return new k({nClasses:w,classTable:new x(w,new Zt(e)),stateArray:new x(w,s),entryTable:new x(w,new nt(r))})}function sx(n={},e=c){let t=new k({version(){return 8},firstGlyph:c,values:new b(L,c)}),r=Object.assign({newStateOffset:c,newState:a=>(a.newStateOffset-(a.parent.stateArray.base-a.parent._startOffset))/a.parent.nClasses,flags:c},n),s=new k(r),i=new nt(new b(L,a=>a.nClasses));return new k({nClasses:c,classTable:new x(c,t),stateArray:new x(c,i),entryTable:new x(c,new nt(s))})}function Ii(n,e){let t=0,r=n.length-1;for(;t<=r;){let s=t+r>>1,i=e(n[s]);if(i<0)r=s-1;else if(i>0)t=s+1;else return s}return-1}function Jn(n,e){let t=[];for(;n<e;)t.push(n++);return t}function iu(n){let e=n.length*.75;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);let t=new Uint8Array(e),r=0;for(let s=0,i=n.length;s<i;s+=4){let o=Vr[n.charCodeAt(s)],a=Vr[n.charCodeAt(s+1)],u=Vr[n.charCodeAt(s+2)],l=Vr[n.charCodeAt(s+3)];t[r++]=o<<2|a>>4,t[r++]=(a&15)<<4|u>>2,t[r++]=(u&3)<<6|l&63}return t}function Lx(n){return Aa[n]}function Rx(n){let e=n.length,t=0;for(;t<e;){let r=n.charCodeAt(t++);if(55296<=r&&r<=56319&&t<e){let i=n.charCodeAt(t);56320<=i&&i<=57343&&(t++,r=((r&1023)<<10)+(i&1023)+65536)}let s=j0(r);if(s!=="Common"&&s!=="Inherited"&&s!=="Unknown")return nr[s]}return nr.Unknown}function Bx(n){for(let e=0;e<n.length;e++){let t=n[e],r=j0(t);if(r!=="Common"&&r!=="Inherited"&&r!=="Unknown")return nr[r]}return nr.Unknown}function Nd(n){return Ux[n]?"rtl":"ltr"}function Vx(n){let e={};for(let t in n){let r;(r=Bi[t])&&(e[r[0]]==null&&(e[r[0]]={}),e[r[0]][r[1]]=n[t])}return e}function Vf(n){let[e,t]=n;if(isNaN(e))var r=kn[e]&&kn[e].code;else var r=e;if(isNaN(t))var s=kn[e]&&kn[e][t];else var s=t;return[r,s]}function jx(n){let e={};if(Array.isArray(n))for(let t=0;t<n.length;t++){let r,s=Vf(n[t]);(r=Cn[s[0]]&&Cn[s[0]][s[1]])&&(e[r]=!0)}else if(typeof n=="object")for(let t in n){let r=n[t];for(let s in r){let i,o=Vf([t,s]);r[s]&&(i=Cn[o[0]]&&Cn[o[0]][o[1]])&&(e[i]=!0)}}return Object.keys(e)}function Ve(n,e,t,r=!1,s=!1){let i=n.splice(t[0]-(t[1]-1),t[1]);s&&i.reverse();let o=n.splice(e[0],e[1],...i);return r&&o.reverse(),n.splice(t[0]-(e[1]-1),0,...o),n}function ny(n,e,t,r){let s=r-t+1;switch(e){case 0:return n;case 1:return Ve(n,[t,1],[r,0]);case 2:return Ve(n,[t,0],[r,1]);case 3:return Ve(n,[t,1],[r,1]);case 4:return Ve(n,[t,2],[r,0]);case 5:return Ve(n,[t,2],[r,0],!0,!1);case 6:return Ve(n,[t,0],[r,2]);case 7:return Ve(n,[t,0],[r,2],!1,!0);case 8:return Ve(n,[t,1],[r,2]);case 9:return Ve(n,[t,1],[r,2],!1,!0);case 10:return Ve(n,[t,2],[r,1]);case 11:return Ve(n,[t,2],[r,1],!0,!1);case 12:return Ve(n,[t,2],[r,2]);case 13:return Ve(n,[t,2],[r,2],!0,!1);case 14:return Ve(n,[t,2],[r,2],!1,!0);case 15:return Ve(n,[t,2],[r,2],!0,!0);default:throw new Error(`Unknown verb: ${e}`)}}function fy(n){let e=uy.get(n);if(e)return e-1;let t=Lr(n);return t==="Mn"||t==="Me"||t==="Cf"?Fa.Transparent:Fa.Non_Joining}function _i(n){return xy(n)?Iy:yy(n)?Gi:vy(n)?ou:ky(n)?zi:Sy(n)?Rd:wy(n)?Ty:Oy}function _r(n,e,t){return new at(n,n.glyphForCodePoint(e).id,[e],t)}function Bd(n,e,t){let r=n[e],i=r.codePoints[0]-sr,o=Xt+i%Zr;i=i/Zr|0;let a=Qi+i/ji|0,u=eo+i%ji;if(!t.hasGlyphForCodePoint(a)||!t.hasGlyphForCodePoint(u)||o!==Xt&&!t.hasGlyphForCodePoint(o))return e;let l=_r(t,a,r.features);l.features.ljmo=!0;let f=_r(t,u,r.features);f.features.vjmo=!0;let d=[l,f];if(o>Xt){let h=_r(t,o,r.features);h.features.tjmo=!0,d.push(h)}return n.splice(e,1,...d),e+d.length-1}function My(n,e,t){let r=n[e],s=n[e].codePoints[0],i=_i(s),o=n[e-1].codePoints[0],a=_i(o),u,l,f,d;if(a===zi&&i===ou)u=o,d=r;else{i===Gi?(l=n[e-1],f=r):(l=n[e-2],f=n[e-1],d=r);let p=l.codePoints[0],g=f.codePoints[0];Cy(p)&&Ey(g)&&(u=sr+((p-Qi)*ji+(g-eo))*Zr)}let h=d&&d.codePoints[0]||Xt;if(u!=null&&(h===Xt||Ay(h))){let p=u+(h-Xt);if(t.hasGlyphForCodePoint(p)){let g=a===Gi?3:2;return n.splice(e-g+1,g,_r(t,p,r.features)),e-g+1}}return l&&(l.features.ljmo=!0),f&&(f.features.vjmo=!0),d&&(d.features.tjmo=!0),a===zi?(Bd(n,e-1,t),e+1):e}function Fy(n){switch(_i(n)){case zi:case Rd:return 1;case Gi:return 2;case ou:return 3}}function $y(n,e,t){let r=n[e],s=n[e].codePoints[0];if(t.glyphForCodePoint(s).advanceWidth===0)return;let i=n[e-1].codePoints[0],o=Fy(i);return n.splice(e,1),n.splice(e-o,0,r)}function Dy(n,e,t){let r=n[e],s=n[e].codePoints[0];if(t.hasGlyphForCodePoint(Hf)){let i=_r(t,Hf,r.features),o=t.glyphForCodePoint(s).advanceWidth===0?e:e+1;n.splice(o,0,i),e++}return e}function Ra(n){return jd.get(n.codePoints[0])>>8}function Gd(n){return 1<<(jd.get(n.codePoints[0])&255)}function Uy(n,e){let t=0,r=0;for(let[s,i,o]of By.match(e.map(Ra))){if(s>r){++t;for(let a=r;a<s;a++)e[a].shaperInfo=new er(re.X,X.End,"non_indic_cluster",t)}++t;for(let a=s;a<=i;a++)e[a].shaperInfo=new er(1<<Ra(e[a]),Gd(e[a]),o[0],t);r=i+1}if(r<e.length){++t;for(let s=r;s<e.length;s++)e[s].shaperInfo=new er(re.X,X.End,"non_indic_cluster",t)}}function Sn(n){return n.shaperInfo.category&Ny}function xt(n){return n.shaperInfo.category&Vd}function Pt(n){return n.shaperInfo.category&Wr}function $t(n,e){for(let r of n)r.features={[e]:!0};return n[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([e],n),n.length===1}function Vy(n,e,t){let r=[t,e,t];return $t(r.slice(0,2),"blwf")||$t(r.slice(1,3),"blwf")?X.Below_C:$t(r.slice(0,2),"pstf")||$t(r.slice(1,3),"pstf")||$t(r.slice(0,2),"pref")||$t(r.slice(1,3),"pref")?X.Post_C:X.Base_C}function jy(n,e,t){let r=t.indicConfig,s=n._layoutEngine.engine.GSUBProcessor.features,i=n.glyphForCodePoint(9676).id,o=n.glyphForCodePoint(r.virama).id;if(o){let a=new at(n,o,[r.virama]);for(let u=0;u<e.length;u++)e[u].shaperInfo.position===X.Base_C&&(e[u].shaperInfo.position=Vy(n,e[u].copy(),a))}for(let a=0,u=Wi(e,0);a<e.length;a=u,u=Wi(e,a)){let{category:l,syllableType:f}=e[a].shaperInfo;if(f==="symbol_cluster"||f==="non_indic_cluster")continue;if(f==="broken_cluster"&&i){let m=new at(n,i,[9676]);m.shaperInfo=new er(1<<Ra(m),Gd(m),e[a].shaperInfo.syllableType,e[a].shaperInfo.syllable);let P=a;for(;P<u&&e[P].shaperInfo.category===re.Repha;)P++;e.splice(P++,0,m),u++}let d=u,h=a,p=!1;if(r.rephPos!==X.Ra_To_Become_Reph&&s.rphf&&a+3<=u&&(r.rephMode==="Implicit"&&!xt(e[a+2])||r.rephMode==="Explicit"&&e[a+2].shaperInfo.category===re.ZWJ)){let m=[e[a].copy(),e[a+1].copy(),e[a+2].copy()];if($t(m.slice(0,2),"rphf")||r.rephMode==="Explicit"&&$t(m,"rphf")){for(h+=2;h<u&&xt(e[h]);)h++;d=a,p=!0}}else if(r.rephMode==="Log_Repha"&&e[a].shaperInfo.category===re.Repha){for(h++;h<u&&xt(e[h]);)h++;d=a,p=!0}switch(r.basePos){case"Last":{let m=u,P=!1;do{let M=e[--m].shaperInfo;if(Sn(e[m])){if(M.position!==X.Below_C&&(M.position!==X.Post_C||P)){d=m;break}M.position===X.Below_C&&(P=!0),d=m}else if(a<m&&M.category===re.ZWJ&&e[m-1].shaperInfo.category===re.H)break}while(m>h);break}case"First":d=a;for(let m=d+1;m<u;m++)Sn(e[m])&&(e[m].shaperInfo.position=X.Below_C)}p&&d===a&&h-d<=2&&(p=!1);for(let m=a;m<d;m++){let P=e[m].shaperInfo;P.position=Math.min(X.Pre_C,P.position)}d<u&&(e[d].shaperInfo.position=X.Base_C);for(let m=d+1;m<u;m++)if(e[m].shaperInfo.category===re.M){for(let P=m+1;P<u;P++)if(Sn(e[P])){e[P].shaperInfo.position=X.Final_C;break}break}if(p&&(e[a].shaperInfo.position=X.Ra_To_Become_Reph),t.isOldSpec){let m=t.unicodeScript!=="Malayalam";for(let P=d+1;P<u;P++)if(e[P].shaperInfo.category===re.H){let M;for(M=u-1;M>P&&!(Sn(e[M])||m&&e[M].shaperInfo.category===re.H);M--);if(e[M].shaperInfo.category!==re.H&&M>P){let $=e[P];e.splice(P,0,...e.splice(P+1,M-P)),e[M]=$}break}}let g=X.Start;for(let m=a;m<u;m++){let P=e[m].shaperInfo;if(P.category&(Vd|re.N|re.RS|re.CM|Wr&P.category)){if(P.position=g,P.category===re.H&&P.position===X.Pre_M){for(let M=m;M>a;M--)if(e[M-1].shaperInfo.position!==X.Pre_M){P.position=e[M-1].shaperInfo.position;break}}}else P.position!==X.SMVD&&(g=P.position)}let E=d;for(let m=d+1;m<u;m++)if(Sn(e[m])){for(let P=E+1;P<m;P++)e[P].shaperInfo.position<X.SMVD&&(e[P].shaperInfo.position=e[m].shaperInfo.position);E=m}else e[m].shaperInfo.category===re.M&&(E=m);let y=e.slice(a,u);y.sort((m,P)=>m.shaperInfo.position-P.shaperInfo.position),e.splice(a,y.length,...y);for(let m=a;m<u;m++)if(e[m].shaperInfo.position===X.Base_C){d=m;break}for(let m=a;m<u&&e[m].shaperInfo.position===X.Ra_To_Become_Reph;m++)e[m].features.rphf=!0;let A=!t.isOldSpec&&r.blwfMode==="Pre_And_Post";for(let m=a;m<d;m++)e[m].features.half=!0,A&&(e[m].features.blwf=!0);for(let m=d+1;m<u;m++)e[m].features.abvf=!0,e[m].features.pstf=!0,e[m].features.blwf=!0;if(t.isOldSpec&&t.unicodeScript==="Devanagari")for(let m=a;m+1<d;m++)e[m].shaperInfo.category===re.Ra&&e[m+1].shaperInfo.category===re.H&&(m+1===d||e[m+2].shaperInfo.category===re.ZWJ)&&(e[m].features.blwf=!0,e[m+1].features.blwf=!0);let I=2;if(s.pref&&d+I<u)for(let m=d+1;m+I-1<u;m++){let P=[e[m].copy(),e[m+1].copy()];if($t(P,"pref")){for(let M=0;M<I;M++)e[m++].features.pref=!0;if(s.cfar)for(;m<u;m++)e[m].features.cfar=!0;break}}for(let m=a+1;m<u;m++)if(xt(e[m])){let P=e[m].shaperInfo.category===re.ZWNJ,M=m;do M--,P&&delete e[M].features.half;while(M>a&&!Sn(e[M]))}}}function Gy(n,e,t){let r=t.indicConfig,s=n._layoutEngine.engine.GSUBProcessor.features;for(let i=0,o=Wi(e,0);i<e.length;i=o,o=Wi(e,i)){let a=!!s.pref,u=i;for(;u<o;u++)if(e[u].shaperInfo.position>=X.Base_C){if(a&&u+1<o){for(let l=u+1;l<o;l++)if(e[l].features.pref){if(!(e[l].substituted&&e[l].isLigated&&!e[l].isMultiplied)){for(u=l;u<o&&Pt(e[u]);)u++;e[u].shaperInfo.position=X.BASE_C,a=!1}break}}if(t.unicodeScript==="Malayalam")for(let l=u+1;l<o;l++){for(;l<o&&xt(e[l]);)l++;if(l===o||!Pt(e[l]))break;for(l++;l<o&&xt(e[l]);)l++;l<o&&Sn(e[l])&&e[l].shaperInfo.position===X.Below_C&&(u=l,e[u].shaperInfo.position=X.Base_C)}i<u&&e[u].shaperInfo.position>X.Base_C&&u--;break}if(u===o&&i<u&&e[u-1].shaperInfo.category===re.ZWJ&&u--,u<o)for(;i<u&&e[u].shaperInfo.category&(re.N|Wr);)u--;if(i+1<o&&i<u){let l=u===o?u-2:u-1;if(t.unicodeScript!=="Malayalam"&&t.unicodeScript!=="Tamil"){for(;l>i&&!(e[l].shaperInfo.category&(re.M|Wr));)l--;Pt(e[l])&&e[l].shaperInfo.position!==X.Pre_M?l+1<o&&xt(e[l+1])&&l++:l=i}if(i<l&&e[l].shaperInfo.position!==X.Pre_M){for(let f=l;f>i;f--)if(e[f-1].shaperInfo.position===X.Pre_M){let d=f-1;d<u&&u<=l&&u--;let h=e[d];e.splice(d,0,...e.splice(d+1,l-d)),e[l]=h,l--}}}if(i+1<o&&e[i].shaperInfo.position===X.Ra_To_Become_Reph&&e[i].shaperInfo.category===re.Repha!==(e[i].isLigated&&!e[i].isMultiplied)){let l,f=r.rephPos,d=!1;if(f!==X.After_Post){for(l=i+1;l<u&&!Pt(e[l]);)l++;if(l<u&&Pt(e[l])&&(l+1<u&&xt(e[l+1])&&l++,d=!0),!d&&f===X.After_Main){for(l=u;l+1<o&&e[l+1].shaperInfo.position<=X.After_Main;)l++;d=l<o}if(!d&&f===X.After_Sub){for(l=u;l+1<o&&!(e[l+1].shaperInfo.position&(X.Post_C|X.After_Post|X.SMVD));)l++;d=l<o}}if(!d){for(l=i+1;l<u&&!Pt(e[l]);)l++;l<u&&Pt(e[l])&&(l+1<u&&xt(e[l+1])&&l++,d=!0)}if(!d){for(l=o-1;l>i&&e[l].shaperInfo.position===X.SMVD;)l--;if(Pt(e[l]))for(let p=u+1;p<l;p++)e[p].shaperInfo.category===re.M&&l--}let h=e[i];e.splice(i,0,...e.splice(i+1,l-i)),e[l]=h,i<u&&u<=l&&u--}if(a&&u+1<o){for(let l=u+1;l<o;l++)if(e[l].features.pref){if(e[l].isLigated&&!e[l].isMultiplied){let f=u;if(t.unicodeScript!=="Malayalam"&&t.unicodeScript!=="Tamil"){for(;f>i&&!(e[f-1].shaperInfo.category&(re.M|Wr));)f--;if(f>i&&e[f-1].shaperInfo.category===re.M){let p=l;for(let g=u+1;g<p;g++)if(e[g].shaperInfo.category===re.M){f--;break}}}f>i&&Pt(e[f-1])&&f<o&&xt(e[f])&&f++;let d=l,h=e[d];e.splice(f+1,0,...e.splice(f,d-f)),e[f]=h,f<=u&&u<d&&u++}break}}e[i].shaperInfo.position===X.Pre_M&&(!i||!/Cf|Mn/.test(Lr(e[i-1].codePoints[0])))&&(e[i].features.init=!0)}}function Wi(n,e){if(e>=n.length)return e;let t=n[e].shaperInfo.syllable;for(;++e<n.length&&n[e].shaperInfo.syllable===t;);return e}function Zf(n){return _y.get(n.codePoints[0])}function qy(n,e){let t=0;for(let[r,s,i]of Wy.match(e.map(Zf))){++t;for(let a=r;a<=s;a++)e[a].shaperInfo=new Ba(zy[Zf(e[a])],i[0],t);let o=e[r].shaperInfo.category==="R"?1:Math.min(3,s-r);for(let a=r;a<r+o;a++)e[a].features.rphf=!0}}function Kf(n,e){for(let t of e)t.substituted=!1}function Hy(n,e){for(let t of e)t.substituted&&t.features.rphf&&(t.shaperInfo.category="R")}function Xy(n,e){for(let t of e)t.substituted&&(t.shaperInfo.category="VPre")}function Yy(n,e){let t=n.glyphForCodePoint(9676).id;for(let r=0,s=Jf(e,0);r<e.length;r=s,s=Jf(e,r)){let i,o,a=e[r].shaperInfo,u=a.syllableType;if(!(u!=="virama_terminated_cluster"&&u!=="standard_cluster"&&u!=="broken_cluster")){if(u==="broken_cluster"&&t){let l=new at(n,t,[9676]);for(l.shaperInfo=a,i=r;i<s&&e[i].shaperInfo.category==="R";i++);e.splice(++i,0,l),s++}if(a.category==="R"&&s-r>1){for(i=r+1;i<s;i++)if(a=e[i].shaperInfo,Qf(a)||Ei(e[i])){Ei(e[i])&&i--,e.splice(r,0,...e.splice(r+1,i-r),e[i]);break}}for(i=r,o=s;i<s;i++)a=e[i].shaperInfo,Qf(a)||Ei(e[i])?o=Ei(e[i])?i+1:i:(a.category==="VPre"||a.category==="VMPre")&&o<i&&e.splice(o,1,e[i],...e.splice(o,i-o))}}}function Jf(n,e){if(e>=n.length)return e;let t=n[e].shaperInfo.syllable;for(;++e<n.length&&n[e].shaperInfo.syllable===t;);return e}function Ei(n){return n.shaperInfo.category==="H"&&!n.isLigated}function Qf(n){return n.category==="B"||n.category==="GB"}function Ky(n){Array.isArray(n)||(n=[n]);for(let e of n){let t=Zy[e];if(t)return t}return yt}function da(n){let e=n.readUInt8();return e===P3?n.readUInt16BE():e===F3?n.readUInt8()+ud:e===M3?n.readUInt8()+ud*2:e}function gt(n,e){return n&1?e:-e}function $3(n,e,t){let r,s=r=0,i=[];for(let u=0;u<t;u++){let l=0,f=0,d=n.readUInt8(),h=!(d>>7);if(d&=127,d<10)l=0,f=gt(d,((d&14)<<7)+e.readUInt8());else if(d<20)l=gt(d,((d-10&14)<<7)+e.readUInt8()),f=0;else if(d<84){var o=d-20,a=e.readUInt8();l=gt(d,1+(o&48)+(a>>4)),f=gt(d>>1,1+((o&12)<<2)+(a&15))}else if(d<120){var o=d-84;l=gt(d,1+(o/12<<8)+e.readUInt8()),f=gt(d>>1,1+(o%12>>2<<8)+e.readUInt8())}else if(d<124){var a=e.readUInt8();let g=e.readUInt8();l=gt(d,(a<<4)+(g>>4)),f=gt(d>>1,((g&15)<<8)+e.readUInt8())}else l=gt(d,e.readUInt16BE()),f=gt(d>>1,e.readUInt16BE());s+=l,r+=f,i.push(new ot(h,!1,s,r))}return i}var ha,Yi,nu,Ai,fd,dd,Kr,hd,pa,Ti,pd,P2,ia,M2,F2,$2,D2,N2,L2,R2,B2,U2,V2,j2,G2,z2,_2,W2,oa,H2,Cf,X2,Ef,Y2,Pi,Z2,ma,gd,aa,K2,J2,Q2,eg,ru,tg,ng,rg,tt,Br,Af,Of,jr,tr,He,Mi,ga,ba,Oi,bd,sg,xd,ig,og,yd,ag,ug,lg,vd,cg,wd,fg,Sd,dg,hg,ae,pg,Ht,qt,Jr,mg,gg,bg,xg,kd,yg,If,Cd,Gr,vg,wg,Sg,kg,Ki,Cg,Eg,Ag,Og,Ig,Ed,$i,xa,Ad,Tg,Pg,Mg,Di,Fg,$g,Dg,Ng,Od,ua,Ni,Id,Lg,Rg,Bg,Ug,Td,ya,Pd,Vg,jg,Qn,vi,Tf,Li,zr,U9,Pf,Gg,zg,_g,Wg,qg,Hg,Xg,Yg,Zg,Kg,Jg,Qg,qr,eb,tb,Md,nb,rb,sb,ib,ob,Mf,ab,ub,lb,cb,fb,db,Ff,hb,Kn,pb,Yt,mb,gb,bb,Hr,xb,yb,la,vb,$f,wb,Sb,kb,Xr,Cb,Fd,Eb,Ab,Ob,va,Ib,_t,Tb,$d,Pb,Mb,Fb,$b,wa,Db,ca,Nb,Lb,Rb,Bb,Ub,Vb,jb,Gb,zb,Df,_b,Nf,Lf,Wb,qb,Hb,Xb,Yb,Zb,Kb,Jb,Qb,ex,Rf,tx,nx,rx,Sa,nt,Zt,ix,ox,ax,ux,lx,cx,fx,dx,hx,ka,px,mx,gx,bx,xx,yx,vx,wx,Sx,Bf,kx,Cx,Ex,Ax,Ox,Ix,Tx,Px,Mx,Fx,$x,Dx,Z,Ri,Nx,su,Dd,Ji,Uf,Vr,Yr,Ca,Ea,Kt,nr,Aa,Ux,Oa,Ia,kn,R,Bi,Cn,En,Gx,jf,Gf,zf,zx,Ta,_x,Wx,qx,_f,Hx,Xx,Yx,Zx,Kx,Wf,Jx,Qx,ey,ty,Ui,Pa,Ma,ry,sy,iy,oy,ay,yt,uy,qf,Fa,fe,Wt,fa,ly,Si,ki,Ci,se,cy,bt,$a,dy,rr,at,Vi,sr,Ld,hy,Qi,eo,Xt,py,ji,Zr,my,gy,by,Hf,xy,yy,vy,wy,Sy,ky,Cy,Ey,Ay,Oy,Iy,Gi,ou,zi,Rd,Ty,_e,Mt,Da,Na,La,Py,Ud,to,re,X,Ny,Vd,Wr,Xf,Ly,Ry,jd,By,ge,er,zy,Yf,_y,Wy,Q,Ba,Zy,Ua,Va,ja,Ga,Jy,ir,Ur,rt,ed,Qy,e3,t3,n3,r3,s3,i3,o3,td,a3,u3,l3,ot,za,or,_a,c3,Wa,qi,qa,f3,d3,h3,nd,p3,rd,sd,id,m3,g3,b3,Ha,V9,Hi,x3,y3,v3,w3,S3,k3,Xi,od,Xa,Ya,Za,Le,C3,zd,E3,Ka,Ja,ad,A3,O3,_d,I3,Qa,Ft,T3,P3,M3,F3,ud,D3,eu,N3,j9,L3,R3,B3,U3,ld,tu,au=U(()=>{pc();mc();bc();ha=Nt(yc(),1);Gc();Yi=Nt(B0(),1),nu=Nt(_c(),1),Ai=Nt(Wc(),1),fd=Nt(D0(),1),dd=Nt(kf(),1);Kr={};An(Kr,"logErrors",()=>hd);An(Kr,"registerFormat",()=>ar);An(Kr,"create",()=>ur);An(Kr,"defaultLanguage",()=>Ti);An(Kr,"setDefaultLanguage",()=>O2);hd=!1,pa=[];Ti="en";pd={};An(pd,"openSync",()=>I2);An(pd,"open",()=>T2);P2=new k({firstCode:c,entryCount:c,idDelta:T,idRangeOffset:c}),ia=new k({startCharCode:w,endCharCode:w,glyphID:w}),M2=new k({startUnicodeValue:It,additionalCount:L}),F2=new k({unicodeValue:It,glyphID:c}),$2=new b(M2,w),D2=new b(F2,w),N2=new k({varSelector:It,defaultUVS:new x(w,$2,{type:"parent"}),nonDefaultUVS:new x(w,D2,{type:"parent"})}),L2=new J(c,{0:{length:c,language:c,codeMap:new oe(L,256)},2:{length:c,language:c,subHeaderKeys:new b(c,256),subHeaderCount:n=>Math.max.apply(Math,n.subHeaderKeys),subHeaders:new oe(P2,"subHeaderCount"),glyphIndexArray:new oe(c,"subHeaderCount")},4:{length:c,language:c,segCountX2:c,segCount:n=>n.segCountX2>>1,searchRange:c,entrySelector:c,rangeShift:c,endCode:new oe(c,"segCount"),reservedPad:new ue(c),startCode:new oe(c,"segCount"),idDelta:new oe(T,"segCount"),idRangeOffset:new oe(c,"segCount"),glyphIndexArray:new oe(c,n=>(n.length-n._currentOffset)/2)},6:{length:c,language:c,firstCode:c,entryCount:c,glyphIndices:new oe(c,"entryCount")},8:{reserved:new ue(c),length:w,language:c,is32:new oe(L,8192),nGroups:w,groups:new oe(ia,"nGroups")},10:{reserved:new ue(c),length:w,language:w,firstCode:w,entryCount:w,glyphIndices:new oe(c,"numChars")},12:{reserved:new ue(c),length:w,language:w,nGroups:w,groups:new oe(ia,"nGroups")},13:{reserved:new ue(c),length:w,language:w,nGroups:w,groups:new oe(ia,"nGroups")},14:{length:w,numRecords:w,varSelectors:new oe(N2,"numRecords")}}),R2=new k({platformID:c,encodingID:c,table:new x(w,L2,{type:"parent",lazy:!0})}),B2=new k({version:c,numSubtables:c,tables:new b(R2,"numSubtables")}),U2=new k({version:Bt,revision:Bt,checkSumAdjustment:w,magicNumber:w,flags:c,unitsPerEm:c,created:new b(Bt,2),modified:new b(Bt,2),xMin:T,yMin:T,xMax:T,yMax:T,macStyle:new Be(c,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:c,fontDirectionHint:T,indexToLocFormat:T,glyphDataFormat:T}),V2=new k({version:Bt,ascent:T,descent:T,lineGap:T,advanceWidthMax:c,minLeftSideBearing:T,minRightSideBearing:T,xMaxExtent:T,caretSlopeRise:T,caretSlopeRun:T,caretOffset:T,reserved:new ue(T,4),metricDataFormat:T,numberOfMetrics:c}),j2=new k({advance:c,bearing:T}),G2=new k({metrics:new oe(j2,n=>n.parent.hhea.numberOfMetrics),bearings:new oe(T,n=>n.parent.maxp.numGlyphs-n.parent.hhea.numberOfMetrics)}),z2=new k({version:Bt,numGlyphs:c,maxPoints:c,maxContours:c,maxComponentPoints:c,maxComponentContours:c,maxZones:c,maxTwilightPoints:c,maxStorage:c,maxFunctionDefs:c,maxInstructionDefs:c,maxStackElements:c,maxSizeOfInstructions:c,maxComponentElements:c,maxComponentDepth:c});_2=new Set(["x-mac-roman","x-mac-cyrillic","iso-8859-6","iso-8859-8"]),W2={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026 \xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026 \u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026 \u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026 \u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},oa=new Map;H2=[["utf-16be","utf-16be","utf-16be","utf-16be","utf-16be","utf-16be","utf-16be"],["x-mac-roman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","x-mac-greek","x-mac-cyrillic","x-mac-symbol","x-mac-devanagari","x-mac-gurmukhi","x-mac-gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","iso-8859-11","Laotian","Georgian","Armenian","gbk","Tibetan","Mongolian","Geez","x-mac-ce","Vietnamese","Sindhi"],["ascii",null,"iso-8859-1"],["symbol","utf-16be","shift-jis","gb18030","big5","euc-kr","johab",null,null,null,"utf-16be"]],Cf={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"},X2=[[],{0:"en",30:"fo",60:"ks",90:"rw",1:"fr",31:"fa",61:"ku",91:"rn",2:"de",32:"ru",62:"sd",92:"ny",3:"it",33:"zh",63:"bo",93:"mg",4:"nl",34:"nl-BE",64:"ne",94:"eo",5:"sv",35:"ga",65:"sa",128:"cy",6:"es",36:"sq",66:"mr",129:"eu",7:"da",37:"ro",67:"bn",130:"ca",8:"pt",38:"cz",68:"as",131:"la",9:"no",39:"sk",69:"gu",132:"qu",10:"he",40:"si",70:"pa",133:"gn",11:"ja",41:"yi",71:"or",134:"ay",12:"ar",42:"sr",72:"ml",135:"tt",13:"fi",43:"mk",73:"kn",136:"ug",14:"el",44:"bg",74:"ta",137:"dz",15:"is",45:"uk",75:"te",138:"jv",16:"mt",46:"be",76:"si",139:"su",17:"tr",47:"uz",77:"my",140:"gl",18:"hr",48:"kk",78:"km",141:"af",19:"zh-Hant",49:"az-Cyrl",79:"lo",142:"br",20:"ur",50:"az-Arab",80:"vi",143:"iu",21:"hi",51:"hy",81:"id",144:"gd",22:"th",52:"ka",82:"tl",145:"gv",23:"ko",53:"mo",83:"ms",146:"ga",24:"lt",54:"ky",84:"ms-Arab",147:"to",25:"pl",55:"tg",85:"am",148:"el-polyton",26:"hu",56:"tk",86:"ti",149:"kl",27:"es",57:"mn-CN",87:"om",150:"az",28:"lv",58:"mn",88:"so",151:"nn",29:"se",59:"ps",89:"sw"},[],{1078:"af",16393:"en-IN",1159:"rw",1074:"tn",1052:"sq",6153:"en-IE",1089:"sw",1115:"si",1156:"gsw",8201:"en-JM",1111:"kok",1051:"sk",1118:"am",17417:"en-MY",1042:"ko",1060:"sl",5121:"ar-DZ",5129:"en-NZ",1088:"ky",11274:"es-AR",15361:"ar-BH",13321:"en-PH",1108:"lo",16394:"es-BO",3073:"ar",18441:"en-SG",1062:"lv",13322:"es-CL",2049:"ar-IQ",7177:"en-ZA",1063:"lt",9226:"es-CO",11265:"ar-JO",11273:"en-TT",2094:"dsb",5130:"es-CR",13313:"ar-KW",2057:"en-GB",1134:"lb",7178:"es-DO",12289:"ar-LB",1033:"en",1071:"mk",12298:"es-EC",4097:"ar-LY",12297:"en-ZW",2110:"ms-BN",17418:"es-SV",6145:"ary",1061:"et",1086:"ms",4106:"es-GT",8193:"ar-OM",1080:"fo",1100:"ml",18442:"es-HN",16385:"ar-QA",1124:"fil",1082:"mt",2058:"es-MX",1025:"ar-SA",1035:"fi",1153:"mi",19466:"es-NI",10241:"ar-SY",2060:"fr-BE",1146:"arn",6154:"es-PA",7169:"aeb",3084:"fr-CA",1102:"mr",15370:"es-PY",14337:"ar-AE",1036:"fr",1148:"moh",10250:"es-PE",9217:"ar-YE",5132:"fr-LU",1104:"mn",20490:"es-PR",1067:"hy",6156:"fr-MC",2128:"mn-CN",3082:"es",1101:"as",4108:"fr-CH",1121:"ne",1034:"es",2092:"az-Cyrl",1122:"fy",1044:"nb",21514:"es-US",1068:"az",1110:"gl",2068:"nn",14346:"es-UY",1133:"ba",1079:"ka",1154:"oc",8202:"es-VE",1069:"eu",3079:"de-AT",1096:"or",2077:"sv-FI",1059:"be",1031:"de",1123:"ps",1053:"sv",2117:"bn",5127:"de-LI",1045:"pl",1114:"syr",1093:"bn-IN",4103:"de-LU",1046:"pt",1064:"tg",8218:"bs-Cyrl",2055:"de-CH",2070:"pt-PT",2143:"tzm",5146:"bs",1032:"el",1094:"pa",1097:"ta",1150:"br",1135:"kl",1131:"qu-BO",1092:"tt",1026:"bg",1095:"gu",2155:"qu-EC",1098:"te",1027:"ca",1128:"ha",3179:"qu",1054:"th",3076:"zh-HK",1037:"he",1048:"ro",1105:"bo",5124:"zh-MO",1081:"hi",1047:"rm",1055:"tr",2052:"zh",1038:"hu",1049:"ru",1090:"tk",4100:"zh-SG",1039:"is",9275:"smn",1152:"ug",1028:"zh-TW",1136:"ig",4155:"smj-NO",1058:"uk",1155:"co",1057:"id",5179:"smj",1070:"hsb",1050:"hr",1117:"iu",3131:"se-FI",1056:"ur",4122:"hr-BA",2141:"iu-Latn",1083:"se",2115:"uz-Cyrl",1029:"cs",2108:"ga",2107:"se-SE",1091:"uz",1030:"da",1076:"xh",8251:"sms",1066:"vi",1164:"prs",1077:"zu",6203:"sma-NO",1106:"cy",1125:"dv",1040:"it",7227:"sms",1160:"wo",2067:"nl-BE",2064:"it-CH",1103:"sa",1157:"sah",1043:"nl",1041:"ja",7194:"sr-Cyrl-BA",1144:"ii",3081:"en-AU",1099:"kn",3098:"sr",1130:"yo",10249:"en-BZ",1087:"kk",6170:"sr-Latn-BA",4105:"en-CA",1107:"km",2074:"sr-Latn",9225:"en-029",1158:"quc",1132:"nso"}],Ef=new k({platformID:c,encodingID:c,languageID:c,nameID:c,length:c,string:new x(c,new ie("length",n=>md(n.platformID,n.encodingID,n.languageID)),{type:"parent",relativeTo:n=>n.parent.stringOffset,allowNull:!1})}),Y2=new k({length:c,tag:new x(c,new ie("length","utf16be"),{type:"parent",relativeTo:n=>n.stringOffset})}),Pi=new J(c,{0:{count:c,stringOffset:c,records:new b(Ef,"count")},1:{count:c,stringOffset:c,records:new b(Ef,"count"),langTagCount:c,langTags:new b(Y2,"langTagCount")}}),Z2=Pi,ma=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];Pi.process=function(n){var e={};for(let t of this.records){let r=X2[t.platformID][t.languageID];r==null&&this.langTags!=null&&t.languageID>=32768&&(r=this.langTags[t.languageID-32768].tag),r==null&&(r=t.platformID+"-"+t.languageID);let s=t.nameID>=256?"fontFeatures":ma[t.nameID]||t.nameID;e[s]==null&&(e[s]={});let i=e[s];t.nameID>=256&&(i=i[t.nameID]||(i[t.nameID]={})),(typeof t.string=="string"||typeof i[r]!="string")&&(i[r]=t.string)}this.records=e};Pi.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let n=[];for(let e in this.records){let t=this.records[e];e!=="fontFeatures"&&(n.push({platformID:3,encodingID:1,languageID:1033,nameID:ma.indexOf(e),length:t.en.length*2,string:t.en}),e==="postscriptName"&&n.push({platformID:1,encodingID:0,languageID:0,nameID:ma.indexOf(e),length:t.en.length,string:t.en}))}this.records=n,this.count=n.length,this.stringOffset=Pi.size(this,null,!1)};gd=new J(c,{header:{xAvgCharWidth:T,usWeightClass:c,usWidthClass:c,fsType:new Be(c,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:T,ySubscriptYSize:T,ySubscriptXOffset:T,ySubscriptYOffset:T,ySuperscriptXSize:T,ySuperscriptYSize:T,ySuperscriptXOffset:T,ySuperscriptYOffset:T,yStrikeoutSize:T,yStrikeoutPosition:T,sFamilyClass:T,panose:new b(L,10),ulCharRange:new b(w,4),vendorID:new ie(4),fsSelection:new Be(c,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:c,usLastCharIndex:c},0:{},1:{typoAscender:T,typoDescender:T,typoLineGap:T,winAscent:c,winDescent:c,codePageRange:new b(w,2)},2:{typoAscender:T,typoDescender:T,typoLineGap:T,winAscent:c,winDescent:c,codePageRange:new b(w,2),xHeight:T,capHeight:T,defaultChar:c,breakChar:c,maxContent:c},5:{typoAscender:T,typoDescender:T,typoLineGap:T,winAscent:c,winDescent:c,codePageRange:new b(w,2),xHeight:T,capHeight:T,defaultChar:c,breakChar:c,maxContent:c,usLowerOpticalPointSize:c,usUpperOpticalPointSize:c}}),aa=gd.versions;aa[3]=aa[4]=aa[2];K2=gd,J2=new J(me,{header:{italicAngle:me,underlinePosition:T,underlineThickness:T,isFixedPitch:w,minMemType42:w,maxMemType42:w,minMemType1:w,maxMemType1:w},1:{},2:{numberOfGlyphs:c,glyphNameIndex:new b(c,"numberOfGlyphs"),names:new b(new ie(L))},2.5:{numberOfGlyphs:c,offsets:new b(L,"numberOfGlyphs")},3:{},4:{map:new b(w,n=>n.parent.maxp.numGlyphs)}}),Q2=new k({controlValues:new b(T)}),eg=new k({instructions:new b(L)}),ru=new J("head.indexToLocFormat",{0:{offsets:new b(c)},1:{offsets:new b(w)}});ru.process=function(){if(this.version===0&&!this._processed){for(let n=0;n<this.offsets.length;n++)this.offsets[n]<<=1;this._processed=!0}};ru.preEncode=function(){if(this.version===0&&this._processed!==!1){for(let n=0;n<this.offsets.length;n++)this.offsets[n]>>>=1;this._processed=!1}};tg=ru,ng=new k({controlValueProgram:new b(L)}),rg=new b(new ze),tt=class{getCFFVersion(e){for(;e&&!e.hdrSize;)e=e.parent;return e?e.version:-1}decode(e,t){let s=this.getCFFVersion(t)>=2?e.readUInt32BE():e.readUInt16BE();if(s===0)return[];let i=e.readUInt8(),o;if(i===1)o=L;else if(i===2)o=c;else if(i===3)o=It;else if(i===4)o=w;else throw new Error(`Bad offset size in CFFIndex: ${i} ${e.pos}`);let a=[],u=e.pos+(s+1)*i-1,l=o.decode(e);for(let f=0;f<s;f++){let d=o.decode(e);if(this.type!=null){let h=e.pos;e.pos=u+l,t.length=d-l,a.push(this.type.decode(e,t)),e.pos=h}else a.push({offset:u+l,length:d-l});l=d}return e.pos=u+l,a}size(e,t){let r=2;if(e.length===0)return r;let s=this.type||new ze,i=1;for(let a=0;a<e.length;a++){let u=e[a];i+=s.size(u,t)}let o;if(i<=255)o=L;else if(i<=65535)o=c;else if(i<=16777215)o=It;else if(i<=4294967295)o=w;else throw new Error("Bad offset in CFFIndex");return r+=1+o.size()*(e.length+1),r+=i-1,r}encode(e,t,r){if(e.writeUInt16BE(t.length),t.length===0)return;let s=this.type||new ze,i=[],o=1;for(let u of t){let l=s.size(u,r);i.push(l),o+=l}let a;if(o<=255)a=L;else if(o<=65535)a=c;else if(o<=16777215)a=It;else if(o<=4294967295)a=w;else throw new Error("Bad offset in CFFIndex");e.writeUInt8(a.size()),o=1,a.encode(e,o);for(let u of i)o+=u,a.encode(e,o);for(let u of t)s.encode(e,u,r)}constructor(e){this.type=e}},Br=15,Af=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],Of={".":10,E:11,"E-":12,"-":14},jr=class{static decode(e,t){if(32<=t&&t<=246)return t-139;if(247<=t&&t<=250)return(t-247)*256+e.readUInt8()+108;if(251<=t&&t<=254)return-(t-251)*256-e.readUInt8()-108;if(t===28)return e.readInt16BE();if(t===29)return e.readInt32BE();if(t===30){let r="";for(;;){let s=e.readUInt8(),i=s>>4;if(i===Br)break;r+=Af[i];let o=s&15;if(o===Br)break;r+=Af[o]}return parseFloat(r)}return null}static size(e){if(e.forceLarge&&(e=32768),(e|0)!==e){let t=""+e;return 1+Math.ceil((t.length+1)/2)}else return-107<=e&&e<=107?1:108<=e&&e<=1131||-1131<=e&&e<=-108?2:-32768<=e&&e<=32767?3:5}static encode(e,t){let r=Number(t);if(t.forceLarge)return e.writeUInt8(29),e.writeInt32BE(r);if((r|0)!==r){e.writeUInt8(30);let i=""+r;for(let o=0;o<i.length;o+=2){let a=i[o],u=Of[a]||+a;if(o===i.length-1)var s=Br;else{let l=i[o+1];var s=Of[l]||+l}e.writeUInt8(u<<4|s&15)}if(s!==Br)return e.writeUInt8(Br<<4)}else return-107<=r&&r<=107?e.writeUInt8(r+139):108<=r&&r<=1131?(r-=108,e.writeUInt8((r>>8)+247),e.writeUInt8(r&255)):-1131<=r&&r<=-108?(r=-r-108,e.writeUInt8((r>>8)+251),e.writeUInt8(r&255)):-32768<=r&&r<=32767?(e.writeUInt8(28),e.writeInt16BE(r)):(e.writeUInt8(29),e.writeInt32BE(r))}},tr=class{decodeOperands(e,t,r,s){if(Array.isArray(e))return s.map((i,o)=>this.decodeOperands(e[o],t,r,[i]));if(e.decode!=null)return e.decode(t,r,s);switch(e){case"number":case"offset":case"sid":return s[0];case"boolean":return!!s[0];default:return s}}encodeOperands(e,t,r,s){return Array.isArray(e)?s.map((i,o)=>this.encodeOperands(e[o],t,r,i)[0]):e.encode!=null?e.encode(t,s,r):typeof s=="number"?[s]:typeof s=="boolean"?[+s]:Array.isArray(s)?s:[s]}decode(e,t){let r=e.pos+t.length,s={},i=[];Object.defineProperties(s,{parent:{value:t},_startOffset:{value:e.pos}});for(let o in this.fields){let a=this.fields[o];s[a[1]]=a[3]}for(;e.pos<r;){let o=e.readUInt8();if(o<28){o===12&&(o=o<<8|e.readUInt8());let a=this.fields[o];if(!a)throw new Error(`Unknown operator ${o}`);let u=this.decodeOperands(a[2],e,s,i);u!=null&&(u instanceof Ut?Object.defineProperty(s,a[1],u):s[a[1]]=u),i=[]}else i.push(jr.decode(e,o))}return s}size(e,t,r=!0){let s={parent:t,val:e,pointerSize:0,startOffset:t.startOffset||0},i=0;for(let o in this.fields){let a=this.fields[o],u=e[a[1]];if(u==null||(0,ha.default)(u,a[3]))continue;let l=this.encodeOperands(a[2],null,s,u);for(let d of l)i+=jr.size(d);let f=Array.isArray(a[0])?a[0]:[a[0]];i+=f.length}return r&&(i+=s.pointerSize),i}encode(e,t,r){let s={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};s.pointerOffset=e.pos+this.size(t,s,!1);for(let o of this.ops){let a=t[o[1]];if(a==null||(0,ha.default)(a,o[3]))continue;let u=this.encodeOperands(o[2],e,s,a);for(let f of u)jr.encode(e,f);let l=Array.isArray(o[0])?o[0]:[o[0]];for(let f of l)e.writeUInt8(f)}let i=0;for(;i<s.pointers.length;){let o=s.pointers[i++];o.type.encode(e,o.val,o.parent)}}constructor(e=[]){this.ops=e,this.fields={};for(let t of e){let r=Array.isArray(t[0])?t[0][0]<<8|t[0][1]:t[0];this.fields[r]=t}}},He=class extends x{decode(e,t,r){return this.offsetType={decode:()=>r[0]},super.decode(e,t,r)}encode(e,t,r){if(!e)return this.offsetType={size:()=>0},this.size(t,r),[new Mi(0)];let s=null;return this.offsetType={encode:(i,o)=>s=o},super.encode(e,t,r),[new Mi(s)]}constructor(e,t={}){t.type==null&&(t.type="global"),super(null,e,t)}},Mi=class{valueOf(){return this.val}constructor(e){this.val=e,this.forceLarge=!0}},ga=class{static decode(e,t,r){let s=r.pop();for(;r.length>s;)r.pop()}},ba=new tr([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",ga,null],[19,"Subrs",new He(new tt,{type:"local"}),null]]),Oi=[".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"],bd=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],sg=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","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","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","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"],xd=[".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"],ig=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","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","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","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"],og=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],yd=new k({reserved:new ue(c),reqFeatureIndex:c,featureCount:c,featureIndexes:new b(c,"featureCount")}),ag=new k({tag:new ie(4),langSys:new x(c,yd,{type:"parent"})}),ug=new k({defaultLangSys:new x(c,yd),count:c,langSysRecords:new b(ag,"count")}),lg=new k({tag:new ie(4),script:new x(c,ug,{type:"parent"})}),vd=new b(lg,c),cg=new k({version:c,nameID:c}),wd=new k({featureParams:new x(c,cg),lookupCount:c,lookupListIndexes:new b(c,"lookupCount")}),fg=new k({tag:new ie(4),feature:new x(c,wd,{type:"parent"})}),Sd=new b(fg,c),dg=new k({markAttachmentType:L,flags:new Be(L,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});hg=new k({start:c,end:c,startCoverageIndex:c}),ae=new J(c,{1:{glyphCount:c,glyphs:new b(c,"glyphCount")},2:{rangeCount:c,rangeRecords:new b(hg,"rangeCount")}}),pg=new k({start:c,end:c,class:c}),Ht=new J(c,{1:{startGlyph:c,glyphCount:c,classValueArray:new b(c,"glyphCount")},2:{classRangeCount:c,classRangeRecord:new b(pg,"classRangeCount")}}),qt=new k({a:c,b:c,deltaFormat:c}),Jr=new k({sequenceIndex:c,lookupListIndex:c}),mg=new k({glyphCount:c,lookupCount:c,input:new b(c,n=>n.glyphCount-1),lookupRecords:new b(Jr,"lookupCount")}),gg=new b(new x(c,mg),c),bg=new k({glyphCount:c,lookupCount:c,classes:new b(c,n=>n.glyphCount-1),lookupRecords:new b(Jr,"lookupCount")}),xg=new b(new x(c,bg),c),kd=new J(c,{1:{coverage:new x(c,ae),ruleSetCount:c,ruleSets:new b(new x(c,gg),"ruleSetCount")},2:{coverage:new x(c,ae),classDef:new x(c,Ht),classSetCnt:c,classSet:new b(new x(c,xg),"classSetCnt")},3:{glyphCount:c,lookupCount:c,coverages:new b(new x(c,ae),"glyphCount"),lookupRecords:new b(Jr,"lookupCount")}}),yg=new k({backtrackGlyphCount:c,backtrack:new b(c,"backtrackGlyphCount"),inputGlyphCount:c,input:new b(c,n=>n.inputGlyphCount-1),lookaheadGlyphCount:c,lookahead:new b(c,"lookaheadGlyphCount"),lookupCount:c,lookupRecords:new b(Jr,"lookupCount")}),If=new b(new x(c,yg),c),Cd=new J(c,{1:{coverage:new x(c,ae),chainCount:c,chainRuleSets:new b(new x(c,If),"chainCount")},2:{coverage:new x(c,ae),backtrackClassDef:new x(c,Ht),inputClassDef:new x(c,Ht),lookaheadClassDef:new x(c,Ht),chainCount:c,chainClassSet:new b(new x(c,If),"chainCount")},3:{backtrackGlyphCount:c,backtrackCoverage:new b(new x(c,ae),"backtrackGlyphCount"),inputGlyphCount:c,inputCoverage:new b(new x(c,ae),"inputGlyphCount"),lookaheadGlyphCount:c,lookaheadCoverage:new b(new x(c,ae),"lookaheadGlyphCount"),lookupCount:c,lookupRecords:new b(Jr,"lookupCount")}}),Gr=new dt(16,"BE",14),vg=new k({startCoord:Gr,peakCoord:Gr,endCoord:Gr}),wg=new k({axisCount:c,regionCount:c,variationRegions:new b(new b(vg,"axisCount"),"regionCount")}),Sg=new k({shortDeltas:new b(T,n=>n.parent.shortDeltaCount),regionDeltas:new b(ve,n=>n.parent.regionIndexCount-n.parent.shortDeltaCount),deltas:n=>n.shortDeltas.concat(n.regionDeltas)}),kg=new k({itemCount:c,shortDeltaCount:c,regionIndexCount:c,regionIndexes:new b(c,"regionIndexCount"),deltaSets:new b(Sg,"itemCount")}),Ki=new k({format:c,variationRegionList:new x(w,wg),variationDataCount:c,itemVariationData:new b(new x(w,kg),"variationDataCount")}),Cg=new J(c,{1:{axisIndex:c,axisIndex:c,filterRangeMinValue:Gr,filterRangeMaxValue:Gr}}),Eg=new k({conditionCount:c,conditionTable:new b(new x(w,Cg),"conditionCount")}),Ag=new k({featureIndex:c,alternateFeatureTable:new x(w,wd,{type:"parent"})}),Og=new k({version:me,substitutionCount:c,substitutions:new b(Ag,"substitutionCount")}),Ig=new k({conditionSet:new x(w,Eg,{type:"parent"}),featureTableSubstitution:new x(w,Og,{type:"parent"})}),Ed=new k({majorVersion:c,minorVersion:c,featureVariationRecordCount:w,featureVariationRecords:new b(Ig,"featureVariationRecordCount")}),$i=class{decode(e,t,r){return this.predefinedOps[r[0]]?this.predefinedOps[r[0]]:this.type.decode(e,t,r)}size(e,t){return this.type.size(e,t)}encode(e,t,r){let s=this.predefinedOps.indexOf(t);return s!==-1?s:this.type.encode(e,t,r)}constructor(e,t){this.predefinedOps=e,this.type=t}},xa=class extends ne{decode(e){return L.decode(e)&127}constructor(){super("UInt8")}},Ad=new k({first:c,nLeft:L}),Tg=new k({first:c,nLeft:c}),Pg=new J(new xa,{0:{nCodes:L,codes:new b(L,"nCodes")},1:{nRanges:L,ranges:new b(Ad,"nRanges")}}),Mg=new $i([bd,sg],new He(Pg,{lazy:!0})),Di=class extends b{decode(e,t){let r=Ne(this.length,e,t),s=0,i=[];for(;s<r;){let o=this.type.decode(e,t);o.offset=s,s+=o.nLeft+1,i.push(o)}return i}},Fg=new J(L,{0:{glyphs:new b(c,n=>n.parent.CharStrings.length-1)},1:{ranges:new Di(Ad,n=>n.parent.CharStrings.length-1)},2:{ranges:new Di(Tg,n=>n.parent.CharStrings.length-1)}}),$g=new $i([xd,ig,og],new He(Fg,{lazy:!0})),Dg=new k({first:c,fd:L}),Ng=new k({first:w,fd:c}),Od=new J(L,{0:{fds:new b(L,n=>n.parent.CharStrings.length)},3:{nRanges:c,ranges:new b(Dg,"nRanges"),sentinel:c},4:{nRanges:w,ranges:new b(Ng,"nRanges"),sentinel:w}}),ua=new He(ba),Ni=class{decode(e,t,r){return t.length=r[0],ua.decode(e,t,[r[1]])}size(e,t){return[ba.size(e,t,!1),ua.size(e,t)[0]]}encode(e,t,r){return[ba.size(t,r,!1),ua.encode(e,t,r)[0]]}},Id=new tr([[18,"Private",new Ni,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),Lg=new tr([[[12,30],"ROS",["sid","sid","number"],null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",$g,xd],[16,"Encoding",Mg,bd],[17,"CharStrings",new He(new tt),null],[18,"Private",new Ni,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new He(Od),null],[[12,36],"FDArray",new He(new tt(Id)),null],[[12,38],"FontName","sid",null]]),Rg=new k({length:c,itemVariationStore:Ki}),Bg=new tr([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new He(new tt),null],[[12,37],"FDSelect",new He(Od),null],[[12,36],"FDArray",new He(new tt(Id)),null],[24,"vstore",new He(Rg),null],[25,"maxstack","number",193]]),Ug=new J(nc,{1:{hdrSize:L,offSize:L,nameIndex:new tt(new ie("length")),topDictIndex:new tt(Lg),stringIndex:new tt(new ie("length")),globalSubrIndex:new tt},2:{hdrSize:L,length:c,topDict:Bg,globalSubrIndex:new tt}}),Td=Ug,ya=class n{static decode(e){return new n(e)}decode(){let e=this.stream.pos,t=Td.decode(this.stream);for(let r in t){let s=t[r];this[r]=s}if(this.version<2){if(this.topDictIndex.length!==1)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=this.topDict.ROS!=null,this}string(e){return this.version>=2?null:e<Oi.length?Oi[e]:this.stringIndex[e-Oi.length]}get postscriptName(){return this.version<2?this.nameIndex[0]:null}get fullName(){return this.string(this.topDict.FullName)}get familyName(){return this.string(this.topDict.FamilyName)}getCharString(e){return this.stream.pos=this.topDict.CharStrings[e].offset,this.stream.readBuffer(this.topDict.CharStrings[e].length)}getGlyphName(e){if(this.version>=2||this.isCIDFont)return null;let{charset:t}=this.topDict;if(Array.isArray(t))return t[e];if(e===0)return".notdef";switch(e-=1,t.version){case 0:return this.string(t.glyphs[e]);case 1:case 2:for(let r=0;r<t.ranges.length;r++){let s=t.ranges[r];if(s.offset<=e&&e<=s.offset+s.nLeft)return this.string(s.first+(e-s.offset))}break}return null}fdForGlyph(e){if(!this.topDict.FDSelect)return null;switch(this.topDict.FDSelect.version){case 0:return this.topDict.FDSelect.fds[e];case 3:case 4:let{ranges:t}=this.topDict.FDSelect,r=0,s=t.length-1;for(;r<=s;){let i=r+s>>1;if(e<t[i].first)s=i-1;else if(i<s&&e>=t[i+1].first)r=i+1;else return t[i].fd}default:throw new Error(`Unknown FDSelect version: ${this.topDict.FDSelect.version}`)}}privateDictForGlyph(e){if(this.topDict.FDSelect){let t=this.fdForGlyph(e);return this.topDict.FDArray[t]?this.topDict.FDArray[t].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private}constructor(e){this.stream=e,this.decode()}},Pd=ya,Vg=new k({glyphIndex:c,vertOriginY:T}),jg=new k({majorVersion:c,minorVersion:c,defaultVertOriginY:T,numVertOriginYMetrics:c,metrics:new b(Vg,"numVertOriginYMetrics")}),Qn=new k({height:L,width:L,horiBearingX:ve,horiBearingY:ve,horiAdvance:L,vertBearingX:ve,vertBearingY:ve,vertAdvance:L}),vi=new k({height:L,width:L,bearingX:ve,bearingY:ve,advance:L}),Tf=new k({glyph:c,xOffset:ve,yOffset:ve}),Li=class{},zr=class{},U9=new J("version",{1:{metrics:vi,data:Li},2:{metrics:vi,data:zr},5:{data:zr},6:{metrics:Qn,data:Li},7:{metrics:Qn,data:zr},8:{metrics:vi,pad:new ue(L),numComponents:c,components:new b(Tf,"numComponents")},9:{metrics:Qn,pad:new ue(L),numComponents:c,components:new b(Tf,"numComponents")},17:{metrics:vi,dataLen:w,data:new ze("dataLen")},18:{metrics:Qn,dataLen:w,data:new ze("dataLen")},19:{dataLen:w,data:new ze("dataLen")}}),Pf=new k({ascender:ve,descender:ve,widthMax:L,caretSlopeNumerator:ve,caretSlopeDenominator:ve,caretOffset:ve,minOriginSB:ve,minAdvanceSB:ve,maxBeforeBL:ve,minAfterBL:ve,pad:new ue(ve,2)}),Gg=new k({glyphCode:c,offset:c}),zg=new J(c,{header:{imageFormat:c,imageDataOffset:w},1:{offsetArray:new b(w,n=>n.parent.lastGlyphIndex-n.parent.firstGlyphIndex+1)},2:{imageSize:w,bigMetrics:Qn},3:{offsetArray:new b(c,n=>n.parent.lastGlyphIndex-n.parent.firstGlyphIndex+1)},4:{numGlyphs:w,glyphArray:new b(Gg,n=>n.numGlyphs+1)},5:{imageSize:w,bigMetrics:Qn,numGlyphs:w,glyphCodeArray:new b(c,"numGlyphs")}}),_g=new k({firstGlyphIndex:c,lastGlyphIndex:c,subtable:new x(w,zg)}),Wg=new k({indexSubTableArray:new x(w,new b(_g,1),{type:"parent"}),indexTablesSize:w,numberOfIndexSubTables:w,colorRef:w,hori:Pf,vert:Pf,startGlyphIndex:c,endGlyphIndex:c,ppemX:L,ppemY:L,bitDepth:L,flags:new Be(L,["horizontal","vertical"])}),qg=new k({version:w,numSizes:w,sizes:new b(Wg,"numSizes")}),Hg=new k({ppem:c,resolution:c,imageOffsets:new b(new x(w,"void"),n=>n.parent.parent.maxp.numGlyphs+1)}),Xg=new k({version:c,flags:new Be(c,["renderOutlines"]),numImgTables:w,imageTables:new b(new x(w,Hg),"numImgTables")}),Yg=new k({gid:c,paletteIndex:c}),Zg=new k({gid:c,firstLayerIndex:c,numLayers:c}),Kg=new k({version:c,numBaseGlyphRecords:c,baseGlyphRecord:new x(w,new b(Zg,"numBaseGlyphRecords")),layerRecords:new x(w,new b(Yg,"numLayerRecords"),{lazy:!0}),numLayerRecords:c}),Jg=new k({blue:L,green:L,red:L,alpha:L}),Qg=new J(c,{header:{numPaletteEntries:c,numPalettes:c,numColorRecords:c,colorRecords:new x(w,new b(Jg,"numColorRecords")),colorRecordIndices:new b(c,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new x(w,new b(w,"numPalettes")),offsetPaletteLabelArray:new x(w,new b(c,"numPalettes")),offsetPaletteEntryLabelArray:new x(w,new b(c,"numPaletteEntries"))}}),qr=new J(c,{1:{coordinate:T},2:{coordinate:T,referenceGlyph:c,baseCoordPoint:c},3:{coordinate:T,deviceTable:new x(c,qt)}}),eb=new k({defaultIndex:c,baseCoordCount:c,baseCoords:new b(new x(c,qr),"baseCoordCount")}),tb=new k({tag:new ie(4),minCoord:new x(c,qr,{type:"parent"}),maxCoord:new x(c,qr,{type:"parent"})}),Md=new k({minCoord:new x(c,qr),maxCoord:new x(c,qr),featMinMaxCount:c,featMinMaxRecords:new b(tb,"featMinMaxCount")}),nb=new k({tag:new ie(4),minMax:new x(c,Md,{type:"parent"})}),rb=new k({baseValues:new x(c,eb),defaultMinMax:new x(c,Md),baseLangSysCount:c,baseLangSysRecords:new b(nb,"baseLangSysCount")}),sb=new k({tag:new ie(4),script:new x(c,rb,{type:"parent"})}),ib=new b(sb,c),ob=new b(new ie(4),c),Mf=new k({baseTagList:new x(c,ob),baseScriptList:new x(c,ib)}),ab=new J(w,{header:{horizAxis:new x(c,Mf),vertAxis:new x(c,Mf)},65536:{},65537:{itemVariationStore:new x(w,Ki)}}),ub=new b(c,c),lb=new k({coverage:new x(c,ae),glyphCount:c,attachPoints:new b(new x(c,ub),"glyphCount")}),cb=new J(c,{1:{coordinate:T},2:{caretValuePoint:c},3:{coordinate:T,deviceTable:new x(c,qt)}}),fb=new b(new x(c,cb),c),db=new k({coverage:new x(c,ae),ligGlyphCount:c,ligGlyphs:new b(new x(c,fb),"ligGlyphCount")}),Ff=new k({markSetTableFormat:c,markSetCount:c,coverage:new b(new x(w,ae),"markSetCount")}),hb=new J(w,{header:{glyphClassDef:new x(c,Ht),attachList:new x(c,lb),ligCaretList:new x(c,db),markAttachClassDef:new x(c,Ht)},65536:{},65538:{markGlyphSetsDef:new x(c,Ff)},65539:{markGlyphSetsDef:new x(c,Ff),itemVariationStore:new x(w,Ki)}}),Kn=new Be(c,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),pb={xPlacement:T,yPlacement:T,xAdvance:T,yAdvance:T,xPlaDevice:new x(c,qt,{type:"global",relativeTo:n=>n.rel}),yPlaDevice:new x(c,qt,{type:"global",relativeTo:n=>n.rel}),xAdvDevice:new x(c,qt,{type:"global",relativeTo:n=>n.rel}),yAdvDevice:new x(c,qt,{type:"global",relativeTo:n=>n.rel})},Yt=class{buildStruct(e){let t=e;for(;!t[this.key]&&t.parent;)t=t.parent;if(!t[this.key])return;let r={};r.rel=()=>t._startOffset;let s=t[this.key];for(let i in s)s[i]&&(r[i]=pb[i]);return new k(r)}size(e,t){return this.buildStruct(t).size(e,t)}decode(e,t){let r=this.buildStruct(t).decode(e,t);return delete r.rel,r}constructor(e="valueFormat"){this.key=e}},mb=new k({secondGlyph:c,value1:new Yt("valueFormat1"),value2:new Yt("valueFormat2")}),gb=new b(mb,c),bb=new k({value1:new Yt("valueFormat1"),value2:new Yt("valueFormat2")}),Hr=new J(c,{1:{xCoordinate:T,yCoordinate:T},2:{xCoordinate:T,yCoordinate:T,anchorPoint:c},3:{xCoordinate:T,yCoordinate:T,xDeviceTable:new x(c,qt),yDeviceTable:new x(c,qt)}}),xb=new k({entryAnchor:new x(c,Hr,{type:"parent"}),exitAnchor:new x(c,Hr,{type:"parent"})}),yb=new k({class:c,markAnchor:new x(c,Hr,{type:"parent"})}),la=new b(yb,c),vb=new b(new x(c,Hr),n=>n.parent.classCount),$f=new b(vb,c),wb=new b(new x(c,Hr),n=>n.parent.parent.classCount),Sb=new b(wb,c),kb=new b(new x(c,Sb),c),Xr=new J("lookupType",{1:new J(c,{1:{coverage:new x(c,ae),valueFormat:Kn,value:new Yt},2:{coverage:new x(c,ae),valueFormat:Kn,valueCount:c,values:new oe(new Yt,"valueCount")}}),2:new J(c,{1:{coverage:new x(c,ae),valueFormat1:Kn,valueFormat2:Kn,pairSetCount:c,pairSets:new oe(new x(c,gb),"pairSetCount")},2:{coverage:new x(c,ae),valueFormat1:Kn,valueFormat2:Kn,classDef1:new x(c,Ht),classDef2:new x(c,Ht),class1Count:c,class2Count:c,classRecords:new oe(new oe(bb,"class2Count"),"class1Count")}}),3:{format:c,coverage:new x(c,ae),entryExitCount:c,entryExitRecords:new b(xb,"entryExitCount")},4:{format:c,markCoverage:new x(c,ae),baseCoverage:new x(c,ae),classCount:c,markArray:new x(c,la),baseArray:new x(c,$f)},5:{format:c,markCoverage:new x(c,ae),ligatureCoverage:new x(c,ae),classCount:c,markArray:new x(c,la),ligatureArray:new x(c,kb)},6:{format:c,mark1Coverage:new x(c,ae),mark2Coverage:new x(c,ae),classCount:c,mark1Array:new x(c,la),mark2Array:new x(c,$f)},7:kd,8:Cd,9:{posFormat:c,lookupType:c,extension:new x(w,null)}});Xr.versions[9].extension.type=Xr;Cb=new J(w,{header:{scriptList:new x(c,vd),featureList:new x(c,Sd),lookupList:new x(c,new Fi(Xr))},65536:{},65537:{featureVariations:new x(w,Ed)}}),Fd=new b(c,c),Eb=Fd,Ab=new k({glyph:c,compCount:c,components:new b(c,n=>n.compCount-1)}),Ob=new b(new x(c,Ab),c),va=new J("lookupType",{1:new J(c,{1:{coverage:new x(c,ae),deltaGlyphID:T},2:{coverage:new x(c,ae),glyphCount:c,substitute:new oe(c,"glyphCount")}}),2:{substFormat:c,coverage:new x(c,ae),count:c,sequences:new oe(new x(c,Fd),"count")},3:{substFormat:c,coverage:new x(c,ae),count:c,alternateSet:new oe(new x(c,Eb),"count")},4:{substFormat:c,coverage:new x(c,ae),count:c,ligatureSets:new oe(new x(c,Ob),"count")},5:kd,6:Cd,7:{substFormat:c,lookupType:c,extension:new x(w,null)},8:{substFormat:c,coverage:new x(c,ae),backtrackCoverage:new b(new x(c,ae),"backtrackGlyphCount"),lookaheadGlyphCount:c,lookaheadCoverage:new b(new x(c,ae),"lookaheadGlyphCount"),glyphCount:c,substitutes:new b(c,"glyphCount")}});va.versions[7].extension.type=va;Ib=new J(w,{header:{scriptList:new x(c,vd),featureList:new x(c,Sd),lookupList:new x(c,new Fi(va))},65536:{},65537:{featureVariations:new x(w,Ed)}}),_t=new b(c,c),Tb=new k({shrinkageEnableGSUB:new x(c,_t),shrinkageDisableGSUB:new x(c,_t),shrinkageEnableGPOS:new x(c,_t),shrinkageDisableGPOS:new x(c,_t),shrinkageJstfMax:new x(c,new Fi(Xr)),extensionEnableGSUB:new x(c,_t),extensionDisableGSUB:new x(c,_t),extensionEnableGPOS:new x(c,_t),extensionDisableGPOS:new x(c,_t),extensionJstfMax:new x(c,new Fi(Xr))}),$d=new b(new x(c,Tb),c),Pb=new k({tag:new ie(4),jstfLangSys:new x(c,$d)}),Mb=new k({extenderGlyphs:new x(c,new b(c,c)),defaultLangSys:new x(c,$d),langSysCount:c,langSysRecords:new b(Pb,"langSysCount")}),Fb=new k({tag:new ie(4),script:new x(c,Mb,{type:"parent"})}),$b=new k({version:w,scriptCount:c,scriptList:new b(Fb,"scriptCount")}),wa=class{decode(e,t){switch(this.size(0,t)){case 1:return e.readUInt8();case 2:return e.readUInt16BE();case 3:return e.readUInt24BE();case 4:return e.readUInt32BE()}}size(e,t){return Ne(this._size,null,t)}constructor(e){this._size=e}},Db=new k({entry:new wa(n=>((n.parent.entryFormat&48)>>4)+1),outerIndex:n=>n.entry>>(n.parent.entryFormat&15)+1,innerIndex:n=>n.entry&(1<<(n.parent.entryFormat&15)+1)-1}),ca=new k({entryFormat:c,mapCount:c,mapData:new b(Db,"mapCount")}),Nb=new k({majorVersion:c,minorVersion:c,itemVariationStore:new x(w,Ki),advanceWidthMapping:new x(w,ca),LSBMapping:new x(w,ca),RSBMapping:new x(w,ca)}),Lb=new k({format:w,length:w,offset:w}),Rb=new k({reserved:new ue(c,2),cbSignature:w,signature:new ze("cbSignature")}),Bb=new k({ulVersion:w,usNumSigs:c,usFlag:c,signatures:new b(Lb,"usNumSigs"),signatureBlocks:new b(Rb,"usNumSigs")}),Ub=new k({rangeMaxPPEM:c,rangeGaspBehavior:new Be(c,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])}),Vb=new k({version:c,numRanges:c,gaspRanges:new b(Ub,"numRanges")}),jb=new k({pixelSize:L,maximumWidth:L,widths:new b(L,n=>n.parent.parent.maxp.numGlyphs)}),Gb=new k({version:c,numRecords:T,sizeDeviceRecord:Bt,records:new b(jb,"numRecords")}),zb=new k({left:c,right:c,value:T}),Df=new k({firstGlyph:c,nGlyphs:c,offsets:new b(c,"nGlyphs"),max:n=>n.offsets.length&&Math.max.apply(Math,n.offsets)}),_b=new k({off:n=>n._startOffset-n.parent.parent._startOffset,len:n=>((n.parent.leftTable.max-n.off)/n.parent.rowWidth+1)*(n.parent.rowWidth/2),values:new oe(T,"len")}),Nf=new J("format",{0:{nPairs:c,searchRange:c,entrySelector:c,rangeShift:c,pairs:new b(zb,"nPairs")},2:{rowWidth:c,leftTable:new x(c,Df,{type:"parent"}),rightTable:new x(c,Df,{type:"parent"}),array:new x(c,_b,{type:"parent"})},3:{glyphCount:c,kernValueCount:L,leftClassCount:L,rightClassCount:L,flags:L,kernValue:new b(T,"kernValueCount"),leftClass:new b(L,"glyphCount"),rightClass:new b(L,"glyphCount"),kernIndex:new b(L,n=>n.leftClassCount*n.rightClassCount)}}),Lf=new J("version",{0:{subVersion:c,length:c,format:L,coverage:new Be(L,["horizontal","minimum","crossStream","override"]),subtable:Nf,padding:new ue(L,n=>n.length-n._currentOffset)},1:{length:w,coverage:new Be(L,[null,null,null,null,null,"variation","crossStream","vertical"]),format:L,tupleIndex:c,subtable:Nf,padding:new ue(L,n=>n.length-n._currentOffset)}}),Wb=new J(c,{0:{nTables:c,tables:new b(Lf,"nTables")},1:{reserved:new ue(c),nTables:w,tables:new b(Lf,"nTables")}}),qb=new k({version:c,numGlyphs:c,yPels:new b(L,"numGlyphs")}),Hb=new k({version:c,fontNumber:w,pitch:c,xHeight:c,style:c,typeFamily:c,capHeight:c,symbolSet:c,typeface:new ie(16),characterComplement:new ie(8),fileName:new ie(6),strokeWeight:new ie(1),widthType:new ie(1),serifStyle:L,reserved:new ue(L)}),Xb=new k({bCharSet:L,xRatio:L,yStartRatio:L,yEndRatio:L}),Yb=new k({yPelHeight:c,yMax:T,yMin:T}),Zb=new k({recs:c,startsz:L,endsz:L,entries:new b(Yb,"recs")}),Kb=new k({version:c,numRecs:c,numRatios:c,ratioRanges:new b(Xb,"numRatios"),offsets:new b(c,"numRatios"),groups:new b(Zb,"numRecs")}),Jb=new k({version:c,ascent:T,descent:T,lineGap:T,advanceHeightMax:T,minTopSideBearing:T,minBottomSideBearing:T,yMaxExtent:T,caretSlopeRise:T,caretSlopeRun:T,caretOffset:T,reserved:new ue(T,4),metricDataFormat:T,numberOfMetrics:c}),Qb=new k({advance:c,bearing:T}),ex=new k({metrics:new oe(Qb,n=>n.parent.vhea.numberOfMetrics),bearings:new oe(T,n=>n.parent.maxp.numGlyphs-n.parent.vhea.numberOfMetrics)}),Rf=new dt(16,"BE",14),tx=new k({fromCoord:Rf,toCoord:Rf}),nx=new k({pairCount:c,correspondence:new b(tx,"pairCount")}),rx=new k({version:me,axisCount:w,segment:new b(nx,"axisCount")}),Sa=class{getItem(e){if(this._items[e]==null){let t=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*e,this._items[e]=this.type.decode(this.stream,this.parent),this.stream.pos=t}return this._items[e]}inspect(){return`[UnboundedArray ${this.type.constructor.name}]`}constructor(e,t,r){this.type=e,this.stream=t,this.parent=r,this.base=this.stream.pos,this._items=[]}},nt=class extends b{decode(e,t){return new Sa(this.type,e,t)}constructor(e){super(e,0)}},Zt=function(n=c){class e{decode(a,u){return u=u.parent.parent,this.type.decode(a,u)}size(a,u){return u=u.parent.parent,this.type.size(a,u)}encode(a,u,l){return l=l.parent.parent,this.type.encode(a,u,l)}constructor(a){this.type=a}}n=new e(n);let t=new k({unitSize:c,nUnits:c,searchRange:c,entrySelector:c,rangeShift:c}),r=new k({lastGlyph:c,firstGlyph:c,value:n}),s=new k({lastGlyph:c,firstGlyph:c,values:new x(c,new b(n,o=>o.lastGlyph-o.firstGlyph+1),{type:"parent"})}),i=new k({glyph:c,value:n});return new J(c,{0:{values:new nt(n)},2:{binarySearchHeader:t,segments:new b(r,o=>o.binarySearchHeader.nUnits)},4:{binarySearchHeader:t,segments:new b(s,o=>o.binarySearchHeader.nUnits)},6:{binarySearchHeader:t,segments:new b(i,o=>o.binarySearchHeader.nUnits)},8:{firstGlyph:c,count:c,values:new b(n,"count")}})};ix=new J("format",{0:{deltas:new b(T,32)},1:{deltas:new b(T,32),mappingData:new Zt(c)},2:{standardGlyph:c,controlPoints:new b(c,32)},3:{standardGlyph:c,controlPoints:new b(c,32),mappingData:new Zt(c)}}),ox=new k({version:me,format:c,defaultBaseline:c,subtable:ix}),ax=new k({setting:c,nameIndex:T,name:n=>n.parent.parent.parent.name.records.fontFeatures[n.nameIndex]}),ux=new k({feature:c,nSettings:c,settingTable:new x(w,new b(ax,"nSettings"),{type:"parent"}),featureFlags:new Be(L,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:L,nameIndex:T,name:n=>n.parent.parent.name.records.fontFeatures[n.nameIndex]}),lx=new k({version:me,featureNameCount:c,reserved1:new ue(c),reserved2:new ue(w),featureNames:new b(ux,"featureNameCount")}),cx=new k({axisTag:new ie(4),minValue:me,defaultValue:me,maxValue:me,flags:c,nameID:c,name:n=>n.parent.parent.name.records.fontFeatures[n.nameID]}),fx=new k({nameID:c,name:n=>n.parent.parent.name.records.fontFeatures[n.nameID],flags:c,coord:new b(me,n=>n.parent.axisCount),postscriptNameID:new Vt(c,n=>n.parent.instanceSize-n._currentOffset>0)}),dx=new k({version:me,offsetToData:c,countSizePairs:c,axisCount:c,axisSize:c,instanceCount:c,instanceSize:c,axis:new b(cx,"axisCount"),instance:new b(fx,"instanceCount")}),hx=new dt(16,"BE",14),ka=class{static decode(e,t){return t.flags?e.readUInt32BE():e.readUInt16BE()*2}},px=new k({version:c,reserved:new ue(c),axisCount:c,globalCoordCount:c,globalCoords:new x(w,new b(new b(hx,"axisCount"),"globalCoordCount")),glyphCount:c,flags:c,offsetToData:w,offsets:new b(new x(ka,"void",{relativeTo:n=>n.offsetToData,allowNull:!1}),n=>n.glyphCount+1)}),mx=px,gx=new k({length:c,coverage:c,subFeatureFlags:w,stateTable:new sx}),bx=new k({justClass:w,beforeGrowLimit:me,beforeShrinkLimit:me,afterGrowLimit:me,afterShrinkLimit:me,growFlags:c,shrinkFlags:c}),xx=new b(bx,w),yx=new J("actionType",{0:{lowerLimit:me,upperLimit:me,order:c,glyphs:new b(c,c)},1:{addGlyph:c},2:{substThreshold:me,addGlyph:c,substGlyph:c},3:{},4:{variationAxis:w,minimumLimit:me,noStretchValue:me,maximumLimit:me},5:{flags:c,glyph:c}}),vx=new k({actionClass:c,actionType:c,actionLength:w,actionData:yx,padding:new ue(L,n=>n.actionLength-n._currentOffset)}),wx=new b(vx,w),Sx=new k({lookupTable:new Zt(new x(c,wx))}),Bf=new k({classTable:new x(c,gx,{type:"parent"}),wdcOffset:c,postCompensationTable:new x(c,Sx,{type:"parent"}),widthDeltaClusters:new Zt(new x(c,xx,{type:"parent",relativeTo:n=>n.wdcOffset}))}),kx=new k({version:w,format:c,horizontal:new x(c,Bf),vertical:new x(c,Bf)}),Cx={action:c},Ex={markIndex:c,currentIndex:c},Ax={currentInsertIndex:c,markedInsertIndex:c},Ox=new k({items:new nt(new x(w,new Zt))}),Ix=new J("type",{0:{stateTable:new wi},1:{stateTable:new wi(Ex),substitutionTable:new x(w,Ox)},2:{stateTable:new wi(Cx),ligatureActions:new x(w,new nt(w)),components:new x(w,new nt(c)),ligatureList:new x(w,new nt(c))},4:{lookupTable:new Zt},5:{stateTable:new wi(Ax),insertionActions:new x(w,new nt(c))}}),Tx=new k({length:w,coverage:It,type:L,subFeatureFlags:w,table:Ix,padding:new ue(L,n=>n.length-n._currentOffset)}),Px=new k({featureType:c,featureSetting:c,enableFlags:w,disableFlags:w}),Mx=new k({defaultFlags:w,chainLength:w,nFeatureEntries:w,nSubtables:w,features:new b(Px,"nFeatureEntries"),subtables:new b(Tx,"nSubtables")}),Fx=new k({version:c,unused:new ue(c),nChains:w,chains:new b(Mx,"nChains")}),$x=new k({left:T,top:T,right:T,bottom:T}),Dx=new k({version:me,format:c,lookupTable:new Zt($x)}),Z={},Ri=Z;Z.cmap=B2;Z.head=U2;Z.hhea=V2;Z.hmtx=G2;Z.maxp=z2;Z.name=Z2;Z["OS/2"]=K2;Z.post=J2;Z.fpgm=eg;Z.loca=tg;Z.prep=ng;Z["cvt "]=Q2;Z.glyf=rg;Z["CFF "]=Pd;Z.CFF2=Pd;Z.VORG=jg;Z.EBLC=qg;Z.CBLC=Z.EBLC;Z.sbix=Xg;Z.COLR=Kg;Z.CPAL=Qg;Z.BASE=ab;Z.GDEF=hb;Z.GPOS=Cb;Z.GSUB=Ib;Z.JSTF=$b;Z.HVAR=Nb;Z.DSIG=Bb;Z.gasp=Vb;Z.hdmx=Gb;Z.kern=Wb;Z.LTSH=qb;Z.PCLT=Hb;Z.VDMX=Kb;Z.vhea=Jb;Z.vmtx=ex;Z.avar=rx;Z.bsln=ox;Z.feat=lx;Z.fvar=dx;Z.gvar=mx;Z.just=kx;Z.morx=Fx;Z.opbd=Dx;Nx=new k({tag:new ie(4),checkSum:w,offset:new x(w,"void",{type:"global"}),length:w}),su=new k({tag:new ie(4),numTables:c,searchRange:c,entrySelector:c,rangeShift:c,tables:new b(Nx,"numTables")});su.process=function(){let n={};for(let e of this.tables)n[e.tag]=e;this.tables=n};su.preEncode=function(){if(!Array.isArray(this.tables)){let t=[];for(let r in this.tables){let s=this.tables[r];s&&t.push({tag:r,checkSum:0,offset:new zn(Ri[r],s),length:Ri[r].size(s)})}this.tables=t}this.tag="true",this.numTables=this.tables.length;let n=Math.floor(Math.log(this.numTables)/Math.LN2),e=Math.pow(2,n);this.searchRange=e*16,this.entrySelector=Math.log(e)/Math.LN2,this.rangeShift=this.numTables*16-this.searchRange};Dd=su;Ji=new TextDecoder("ascii"),Uf="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Vr=new Uint8Array(256);for(let n=0;n<Uf.length;n++)Vr[Uf.charCodeAt(n)]=n;Yr=class{findSubtable(e,t){for(let[r,s]of t)for(let i of e.tables)if(i.platformID===r&&i.encodingID===s)return i.table;return null}lookup(e,t){if(this.encoding)e=this.encoding.get(e)||e;else if(t){let s=this.getVariationSelector(e,t);if(s)return s}let r=this.cmap;switch(r.version){case 0:return r.codeMap.get(e)||0;case 4:{let s=0,i=r.segCount-1;for(;s<=i;){let o=s+i>>1;if(e<r.startCode.get(o))i=o-1;else if(e>r.endCode.get(o))s=o+1;else{let a=r.idRangeOffset.get(o),u;if(a===0)u=e+r.idDelta.get(o);else{let l=a/2+(e-r.startCode.get(o))-(r.segCount-o);u=r.glyphIndexArray.get(l)||0,u!==0&&(u+=r.idDelta.get(o))}return u&65535}}return 0}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return r.glyphIndices.get(e-r.firstCode)||0;case 12:case 13:{let s=0,i=r.nGroups-1;for(;s<=i;){let o=s+i>>1,a=r.groups.get(o);if(e<a.startCharCode)i=o-1;else if(e>a.endCharCode)s=o+1;else return r.version===12?a.glyphID+(e-a.startCharCode):a.glyphID}return 0}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${r.version}`)}}getVariationSelector(e,t){if(!this.uvs)return 0;let r=this.uvs.varSelectors.toArray(),s=Ii(r,o=>t-o.varSelector),i=r[s];return s!==-1&&i.defaultUVS&&(s=Ii(i.defaultUVS,o=>e<o.startUnicodeValue?-1:e>o.startUnicodeValue+o.additionalCount?1:0)),s!==-1&&i.nonDefaultUVS&&(s=Ii(i.nonDefaultUVS,o=>e-o.unicodeValue),s!==-1)?i.nonDefaultUVS[s].glyphID:0}getCharacterSet(){let e=this.cmap;switch(e.version){case 0:return Jn(0,e.codeMap.length);case 4:{let t=[],r=e.endCode.toArray();for(let s=0;s<r.length;s++){let i=r[s]+1,o=e.startCode.get(s);t.push(...Jn(o,i))}return t}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return Jn(e.firstCode,e.firstCode+e.glyphIndices.length);case 12:case 13:{let t=[];for(let r of e.groups.toArray())t.push(...Jn(r.startCharCode,r.endCharCode+1));return t}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${e.version}`)}}codePointsForGlyph(e){let t=this.cmap;switch(t.version){case 0:{let s=[];for(let i=0;i<256;i++)t.codeMap.get(i)===e&&s.push(i);return s}case 4:{let s=[];for(let i=0;i<t.segCount;i++){let o=t.endCode.get(i),a=t.startCode.get(i),u=t.idRangeOffset.get(i),l=t.idDelta.get(i);for(var r=a;r<=o;r++){let f=0;if(u===0)f=r+l;else{let d=u/2+(r-a)-(t.segCount-i);f=t.glyphIndexArray.get(d)||0,f!==0&&(f+=l)}f===e&&s.push(r)}}return s}case 12:{let s=[];for(let i of t.groups.toArray())e>=i.glyphID&&e<=i.glyphID+(i.endCharCode-i.startCharCode)&&s.push(i.startCharCode+(e-i.glyphID));return s}case 13:{let s=[];for(let i of t.groups.toArray())e===i.glyphID&&s.push(...Jn(i.startCharCode,i.endCharCode+1));return s}default:throw new Error(`Unknown cmap format ${t.version}`)}}constructor(e){if(this.encoding=null,this.cmap=this.findSubtable(e,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap)for(let t of e.tables){let r=md(t.platformID,t.encodingID,t.table.language-1),s=q2(r);s&&(this.cmap=t.table,this.encoding=s)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(e,[[0,5]]),this.uvs&&this.uvs.version!==14&&(this.uvs=null)}};ke([Me],Yr.prototype,"getCharacterSet",null);ke([Me],Yr.prototype,"codePointsForGlyph",null);Ca=class{process(e,t){for(let r=0;r<e.length-1;r++){let s=e[r].id,i=e[r+1].id;t[r].xAdvance+=this.getKerning(s,i)}}getKerning(e,t){let r=0;for(let s of this.kern.tables){if(s.coverage.crossStream)continue;switch(s.version){case 0:if(!s.coverage.horizontal)continue;break;case 1:if(s.coverage.vertical||s.coverage.variation)continue;break;default:throw new Error(`Unsupported kerning table version ${s.version}`)}let i=0,o=s.subtable;switch(s.format){case 0:let a=Ii(o.pairs,function(d){return e-d.left||t-d.right});a>=0&&(i=o.pairs[a].value);break;case 2:let u=0,l=0;e>=o.leftTable.firstGlyph&&e<o.leftTable.firstGlyph+o.leftTable.nGlyphs?u=o.leftTable.offsets[e-o.leftTable.firstGlyph]:u=o.array.off,t>=o.rightTable.firstGlyph&&t<o.rightTable.firstGlyph+o.rightTable.nGlyphs&&(l=o.rightTable.offsets[t-o.rightTable.firstGlyph]);let f=(u+l-o.array.off)/2;i=o.array.values.get(f);break;case 3:if(e>=o.glyphCount||t>=o.glyphCount)return 0;i=o.kernValue[o.kernIndex[o.leftClass[e]*o.rightClassCount+o.rightClass[t]]];break;default:throw new Error(`Unsupported kerning sub-table format ${s.format}`)}s.coverage.override?r=i:r+=i}return r}constructor(e){this.kern=e.kern}},Ea=class{positionGlyphs(e,t){let r=0,s=0;for(let i=0;i<e.length;i++)e[i].isMark?s=i:(r!==s&&this.positionCluster(e,t,r,s),r=s=i);return r!==s&&this.positionCluster(e,t,r,s),t}positionCluster(e,t,r,s){let i=e[r],o=i.cbox.copy();i.codePoints.length>1&&(o.minX+=(i.codePoints.length-1)*o.width/i.codePoints.length);let a=-t[r].xAdvance,u=0,l=this.font.unitsPerEm/16;for(let f=r+1;f<=s;f++){let d=e[f],h=d.cbox,p=t[f],g=this.getCombiningClass(d.codePoints[0]);if(g!=="Not_Reordered"){switch(p.xOffset=p.yOffset=0,g){case"Double_Above":case"Double_Below":p.xOffset+=o.minX-h.width/2-h.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":p.xOffset+=o.minX-h.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":p.xOffset+=o.maxX-h.width-h.minX;break;default:p.xOffset+=o.minX+(o.width-h.width)/2-h.minX}switch(g){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":(g==="Attached_Below_Left"||g==="Attached_Below")&&(o.minY+=l),p.yOffset=-o.minY-h.maxY,o.minY+=h.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":(g==="Attached_Above"||g==="Attached_Above_Right")&&(o.maxY+=l),p.yOffset=o.maxY-h.minY,o.maxY+=h.height;break}p.xAdvance=p.yAdvance=0,p.xOffset+=a,p.yOffset+=u}else a-=p.xAdvance,u-=p.yAdvance}}getCombiningClass(e){let t=jc(e);if((e&-256)===3584){if(t==="Not_Reordered")switch(e){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(e===3642)return"Below_Right"}switch(t){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":return"Below";case"CCC23":return"Attached_Above";case"CCC24":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":return"Above";case"CCC21":break;case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":return"Above";case"CCC29":case"CCC32":return"Below";case"CCC103":return"Below_Right";case"CCC107":return"Above_Right";case"CCC118":return"Below";case"CCC122":return"Above";case"CCC129":case"CCC132":return"Below";case"CCC130":return"Above"}return t}constructor(e){this.font=e}},Kt=class n{get width(){return this.maxX-this.minX}get height(){return this.maxY-this.minY}addPoint(e,t){Math.abs(e)!==1/0&&(e<this.minX&&(this.minX=e),e>this.maxX&&(this.maxX=e)),Math.abs(t)!==1/0&&(t<this.minY&&(this.minY=t),t>this.maxY&&(this.maxY=t))}copy(){return new n(this.minX,this.minY,this.maxX,this.maxY)}constructor(e=1/0,t=1/0,r=-1/0,s=-1/0){this.minX=e,this.minY=t,this.maxX=r,this.maxY=s}},nr={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},Aa={};for(let n in nr){let e=nr[n];if(Array.isArray(e))for(let t of e)Aa[t]=n;else Aa[e]=n}Ux={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0};Oa=class{get advanceWidth(){let e=0;for(let t of this.positions)e+=t.xAdvance;return e}get advanceHeight(){let e=0;for(let t of this.positions)e+=t.yAdvance;return e}get bbox(){let e=new Kt,t=0,r=0;for(let s=0;s<this.glyphs.length;s++){let i=this.glyphs[s],o=this.positions[s],a=i.bbox;e.addPoint(a.minX+t+o.xOffset,a.minY+r+o.yOffset),e.addPoint(a.maxX+t+o.xOffset,a.maxY+r+o.yOffset),t+=o.xAdvance,r+=o.yAdvance}return e}constructor(e,t,r,s,i){if(this.glyphs=e,this.positions=null,this.script=r,this.language=s||null,this.direction=i||Nd(r),this.features={},Array.isArray(t))for(let o of t)this.features[o]=!0;else typeof t=="object"&&(this.features=t)}},Ia=class{constructor(e=0,t=0,r=0,s=0){this.xAdvance=e,this.yAdvance=t,this.xOffset=r,this.yOffset=s}},kn={allTypographicFeatures:{code:0,exclusive:!1,allTypeFeatures:0},ligatures:{code:1,exclusive:!1,requiredLigatures:0,commonLigatures:2,rareLigatures:4,rebusPictures:8,diphthongLigatures:10,squaredLigatures:12,abbrevSquaredLigatures:14,symbolLigatures:16,contextualLigatures:18,historicalLigatures:20},cursiveConnection:{code:2,exclusive:!0,unconnected:0,partiallyConnected:1,cursive:2},letterCase:{code:3,exclusive:!0},verticalSubstitution:{code:4,exclusive:!1,substituteVerticalForms:0},linguisticRearrangement:{code:5,exclusive:!1,linguisticRearrangement:0},numberSpacing:{code:6,exclusive:!0,monospacedNumbers:0,proportionalNumbers:1,thirdWidthNumbers:2,quarterWidthNumbers:3},smartSwash:{code:8,exclusive:!1,wordInitialSwashes:0,wordFinalSwashes:2,nonFinalSwashes:8},diacritics:{code:9,exclusive:!0,showDiacritics:0,hideDiacritics:1,decomposeDiacritics:2},verticalPosition:{code:10,exclusive:!0,normalPosition:0,superiors:1,inferiors:2,ordinals:3,scientificInferiors:4},fractions:{code:11,exclusive:!0,noFractions:0,verticalFractions:1,diagonalFractions:2},overlappingCharacters:{code:13,exclusive:!1,preventOverlap:0},typographicExtras:{code:14,exclusive:!1,slashedZero:4},mathematicalExtras:{code:15,exclusive:!1,mathematicalGreek:10},ornamentSets:{code:16,exclusive:!0,noOrnaments:0,dingbats:1,piCharacters:2,fleurons:3,decorativeBorders:4,internationalSymbols:5,mathSymbols:6},characterAlternatives:{code:17,exclusive:!0,noAlternates:0},designComplexity:{code:18,exclusive:!0,designLevel1:0,designLevel2:1,designLevel3:2,designLevel4:3,designLevel5:4},styleOptions:{code:19,exclusive:!0,noStyleOptions:0,displayText:1,engravedText:2,illuminatedCaps:3,titlingCaps:4,tallCaps:5},characterShape:{code:20,exclusive:!0,traditionalCharacters:0,simplifiedCharacters:1,JIS1978Characters:2,JIS1983Characters:3,JIS1990Characters:4,traditionalAltOne:5,traditionalAltTwo:6,traditionalAltThree:7,traditionalAltFour:8,traditionalAltFive:9,expertCharacters:10,JIS2004Characters:11,hojoCharacters:12,NLCCharacters:13,traditionalNamesCharacters:14},numberCase:{code:21,exclusive:!0,lowerCaseNumbers:0,upperCaseNumbers:1},textSpacing:{code:22,exclusive:!0,proportionalText:0,monospacedText:1,halfWidthText:2,thirdWidthText:3,quarterWidthText:4,altProportionalText:5,altHalfWidthText:6},transliteration:{code:23,exclusive:!0,noTransliteration:0},annotation:{code:24,exclusive:!0,noAnnotation:0,boxAnnotation:1,roundedBoxAnnotation:2,circleAnnotation:3,invertedCircleAnnotation:4,parenthesisAnnotation:5,periodAnnotation:6,romanNumeralAnnotation:7,diamondAnnotation:8,invertedBoxAnnotation:9,invertedRoundedBoxAnnotation:10},kanaSpacing:{code:25,exclusive:!0,fullWidthKana:0,proportionalKana:1},ideographicSpacing:{code:26,exclusive:!0,fullWidthIdeographs:0,proportionalIdeographs:1,halfWidthIdeographs:2},unicodeDecomposition:{code:27,exclusive:!1,canonicalComposition:0,compatibilityComposition:2,transcodingComposition:4},rubyKana:{code:28,exclusive:!1,rubyKana:2},CJKSymbolAlternatives:{code:29,exclusive:!0,noCJKSymbolAlternatives:0,CJKSymbolAltOne:1,CJKSymbolAltTwo:2,CJKSymbolAltThree:3,CJKSymbolAltFour:4,CJKSymbolAltFive:5},ideographicAlternatives:{code:30,exclusive:!0,noIdeographicAlternatives:0,ideographicAltOne:1,ideographicAltTwo:2,ideographicAltThree:3,ideographicAltFour:4,ideographicAltFive:5},CJKVerticalRomanPlacement:{code:31,exclusive:!0,CJKVerticalRomanCentered:0,CJKVerticalRomanHBaseline:1},italicCJKRoman:{code:32,exclusive:!1,CJKItalicRoman:2},caseSensitiveLayout:{code:33,exclusive:!1,caseSensitiveLayout:0,caseSensitiveSpacing:2},alternateKana:{code:34,exclusive:!1,alternateHorizKana:0,alternateVertKana:2},stylisticAlternatives:{code:35,exclusive:!1,noStylisticAlternates:0,stylisticAltOne:2,stylisticAltTwo:4,stylisticAltThree:6,stylisticAltFour:8,stylisticAltFive:10,stylisticAltSix:12,stylisticAltSeven:14,stylisticAltEight:16,stylisticAltNine:18,stylisticAltTen:20,stylisticAltEleven:22,stylisticAltTwelve:24,stylisticAltThirteen:26,stylisticAltFourteen:28,stylisticAltFifteen:30,stylisticAltSixteen:32,stylisticAltSeventeen:34,stylisticAltEighteen:36,stylisticAltNineteen:38,stylisticAltTwenty:40},contextualAlternates:{code:36,exclusive:!1,contextualAlternates:0,swashAlternates:2,contextualSwashAlternates:4},lowerCase:{code:37,exclusive:!0,defaultLowerCase:0,lowerCaseSmallCaps:1,lowerCasePetiteCaps:2},upperCase:{code:38,exclusive:!0,defaultUpperCase:0,upperCaseSmallCaps:1,upperCasePetiteCaps:2},languageTag:{code:39,exclusive:!0},CJKRomanSpacing:{code:103,exclusive:!0,halfWidthCJKRoman:0,proportionalCJKRoman:1,defaultCJKRoman:2,fullWidthCJKRoman:3}},R=(n,e)=>[kn[n].code,kn[n][e]],Bi={rlig:R("ligatures","requiredLigatures"),clig:R("ligatures","contextualLigatures"),dlig:R("ligatures","rareLigatures"),hlig:R("ligatures","historicalLigatures"),liga:R("ligatures","commonLigatures"),hist:R("ligatures","historicalLigatures"),smcp:R("lowerCase","lowerCaseSmallCaps"),pcap:R("lowerCase","lowerCasePetiteCaps"),frac:R("fractions","diagonalFractions"),dnom:R("fractions","diagonalFractions"),numr:R("fractions","diagonalFractions"),afrc:R("fractions","verticalFractions"),case:R("caseSensitiveLayout","caseSensitiveLayout"),ccmp:R("unicodeDecomposition","canonicalComposition"),cpct:R("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:R("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:R("contextualAlternates","swashAlternates"),cswh:R("contextualAlternates","contextualSwashAlternates"),curs:R("cursiveConnection","cursive"),c2pc:R("upperCase","upperCasePetiteCaps"),c2sc:R("upperCase","upperCaseSmallCaps"),init:R("smartSwash","wordInitialSwashes"),fin2:R("smartSwash","wordFinalSwashes"),medi:R("smartSwash","nonFinalSwashes"),med2:R("smartSwash","nonFinalSwashes"),fin3:R("smartSwash","wordFinalSwashes"),fina:R("smartSwash","wordFinalSwashes"),pkna:R("kanaSpacing","proportionalKana"),half:R("textSpacing","halfWidthText"),halt:R("textSpacing","altHalfWidthText"),hkna:R("alternateKana","alternateHorizKana"),vkna:R("alternateKana","alternateVertKana"),ital:R("italicCJKRoman","CJKItalicRoman"),lnum:R("numberCase","upperCaseNumbers"),onum:R("numberCase","lowerCaseNumbers"),mgrk:R("mathematicalExtras","mathematicalGreek"),calt:R("contextualAlternates","contextualAlternates"),vrt2:R("verticalSubstitution","substituteVerticalForms"),vert:R("verticalSubstitution","substituteVerticalForms"),tnum:R("numberSpacing","monospacedNumbers"),pnum:R("numberSpacing","proportionalNumbers"),sups:R("verticalPosition","superiors"),subs:R("verticalPosition","inferiors"),ordn:R("verticalPosition","ordinals"),pwid:R("textSpacing","proportionalText"),hwid:R("textSpacing","halfWidthText"),qwid:R("textSpacing","quarterWidthText"),twid:R("textSpacing","thirdWidthText"),fwid:R("textSpacing","proportionalText"),palt:R("textSpacing","altProportionalText"),trad:R("characterShape","traditionalCharacters"),smpl:R("characterShape","simplifiedCharacters"),jp78:R("characterShape","JIS1978Characters"),jp83:R("characterShape","JIS1983Characters"),jp90:R("characterShape","JIS1990Characters"),jp04:R("characterShape","JIS2004Characters"),expt:R("characterShape","expertCharacters"),hojo:R("characterShape","hojoCharacters"),nlck:R("characterShape","NLCCharacters"),tnam:R("characterShape","traditionalNamesCharacters"),ruby:R("rubyKana","rubyKana"),titl:R("styleOptions","titlingCaps"),zero:R("typographicExtras","slashedZero"),ss01:R("stylisticAlternatives","stylisticAltOne"),ss02:R("stylisticAlternatives","stylisticAltTwo"),ss03:R("stylisticAlternatives","stylisticAltThree"),ss04:R("stylisticAlternatives","stylisticAltFour"),ss05:R("stylisticAlternatives","stylisticAltFive"),ss06:R("stylisticAlternatives","stylisticAltSix"),ss07:R("stylisticAlternatives","stylisticAltSeven"),ss08:R("stylisticAlternatives","stylisticAltEight"),ss09:R("stylisticAlternatives","stylisticAltNine"),ss10:R("stylisticAlternatives","stylisticAltTen"),ss11:R("stylisticAlternatives","stylisticAltEleven"),ss12:R("stylisticAlternatives","stylisticAltTwelve"),ss13:R("stylisticAlternatives","stylisticAltThirteen"),ss14:R("stylisticAlternatives","stylisticAltFourteen"),ss15:R("stylisticAlternatives","stylisticAltFifteen"),ss16:R("stylisticAlternatives","stylisticAltSixteen"),ss17:R("stylisticAlternatives","stylisticAltSeventeen"),ss18:R("stylisticAlternatives","stylisticAltEighteen"),ss19:R("stylisticAlternatives","stylisticAltNineteen"),ss20:R("stylisticAlternatives","stylisticAltTwenty")};for(let n=1;n<=99;n++)Bi[`cv${`00${n}`.slice(-2)}`]=[kn.characterAlternatives.code,n];Cn={};for(let n in Bi){let e=Bi[n];Cn[e[0]]==null&&(Cn[e[0]]={}),Cn[e[0]][e[1]]=n}En=class{lookup(e){switch(this.table.version){case 0:return this.table.values.getItem(e);case 2:case 4:{let s=0,i=this.table.binarySearchHeader.nUnits-1;for(;s<=i;){var t=s+i>>1,r=this.table.segments[t];if(r.firstGlyph===65535)return null;if(e<r.firstGlyph)i=t-1;else if(e>r.lastGlyph)s=t+1;else return this.table.version===2?r.value:r.values[e-r.firstGlyph]}return null}case 6:{let s=0,i=this.table.binarySearchHeader.nUnits-1;for(;s<=i;){var t=s+i>>1,r=this.table.segments[t];if(r.glyph===65535)return null;if(e<r.glyph)i=t-1;else if(e>r.glyph)s=t+1;else return r.value}return null}case 8:return this.table.values[e-this.table.firstGlyph];default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}}glyphsForValue(e){let t=[];switch(this.table.version){case 2:case 4:for(let r of this.table.segments)if(this.table.version===2&&r.value===e)t.push(...Jn(r.firstGlyph,r.lastGlyph+1));else for(let s=0;s<r.values.length;s++)r.values[s]===e&&t.push(r.firstGlyph+s);break;case 6:for(let r of this.table.segments)r.value===e&&t.push(r.glyph);break;case 8:for(let r=0;r<this.table.values.length;r++)this.table.values[r]===e&&t.push(this.table.firstGlyph+r);break;default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}return t}constructor(e){this.table=e}};ke([Me],En.prototype,"glyphsForValue",null);Gx=0,jf=0,Gf=1,zf=2,zx=16384,Ta=class{process(e,t,r){let s=Gx,i=t?e.length-1:0,o=t?-1:1;for(;o===1&&i<=e.length||o===-1&&i>=-1;){let a=null,u=Gf,l=!0;i===e.length||i===-1?u=jf:(a=e[i],a.id===65535?u=zf:(u=this.lookupTable.lookup(a.id),u==null&&(u=Gf)));let d=this.stateTable.stateArray.getItem(s)[u],h=this.stateTable.entryTable.getItem(d);u!==jf&&u!==zf&&(r(a,h,i),l=!(h.flags&zx)),s=h.newState,l&&(i+=o)}return e}traverse(e,t=0,r=new Set){if(r.has(t))return;r.add(t);let{nClasses:s,stateArray:i,entryTable:o}=this.stateTable,a=i.getItem(t);for(let u=4;u<s;u++){let l=a[u],f=o.getItem(l);for(let d of this.lookupTable.glyphsForValue(u))e.enter&&e.enter(d,f),f.newState!==0&&this.traverse(e,f.newState,r),e.exit&&e.exit(d,f)}}constructor(e){this.stateTable=e,this.lookupTable=new En(e.classTable)}},_x=32768,Wx=8192,qx=15,_f=32768,Hx=32768,Xx=8192,Yx=2147483648,Zx=1073741824,Kx=1073741823,Wf=4194304,Jx=2048,Qx=1024,ey=992,ty=31,Ui=class{process(e,t={}){for(let s of this.morx.chains){let i=s.defaultFlags;for(let o of s.features){let a;(a=t[o.featureType])&&(a[o.featureSetting]?(i&=o.disableFlags,i|=o.enableFlags):a[o.featureSetting]===!1&&(i|=~o.disableFlags,i&=~o.enableFlags))}for(let o of s.subtables)o.subFeatureFlags&i&&this.processSubtable(o,e)}let r=e.length-1;for(;r>=0;)e[r].id===65535&&e.splice(r,1),r--;return e}processSubtable(e,t){if(this.subtable=e,this.glyphs=t,this.subtable.type===4){this.processNoncontextualSubstitutions(this.subtable,this.glyphs);return}this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let r=this.getStateMachine(e),s=this.getProcessor(),i=!!(this.subtable.coverage&Wf);return r.process(this.glyphs,i,s)}getStateMachine(e){return new Ta(e.table.stateTable)}getProcessor(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw new Error(`Invalid morx subtable type: ${this.subtable.type}`)}}processIndicRearragement(e,t,r){t.flags&_x&&(this.firstGlyph=r),t.flags&Wx&&(this.lastGlyph=r),ny(this.glyphs,t.flags&qx,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(e,t,r){let s=this.subtable.table.substitutionTable.items;if(t.markIndex!==65535){let o=s.getItem(t.markIndex),a=new En(o);e=this.glyphs[this.markedGlyph];var i=a.lookup(e.id);i&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(i,e.codePoints))}if(t.currentIndex!==65535){let o=s.getItem(t.currentIndex),a=new En(o);e=this.glyphs[r];var i=a.lookup(e.id);i&&(this.glyphs[r]=this.font.getGlyph(i,e.codePoints))}t.flags&_f&&(this.markedGlyph=r)}processLigature(e,t,r){if(t.flags&Hx&&this.ligatureStack.push(r),t.flags&Xx){let s=this.subtable.table.ligatureActions,i=this.subtable.table.components,o=this.subtable.table.ligatureList,a=t.action,u=!1,l=0,f=[],d=[];for(;!u;){let h=this.ligatureStack.pop();f.unshift(...this.glyphs[h].codePoints);let p=s.getItem(a++);u=!!(p&Yx);let g=!!(p&Zx),E=(p&Kx)<<2>>2;E+=this.glyphs[h].id;let y=i.getItem(E);if(l+=y,u||g){let A=o.getItem(l);this.glyphs[h]=this.font.getGlyph(A,f),d.push(h),l=0,f=[]}else this.glyphs[h]=this.font.getGlyph(65535)}this.ligatureStack.push(...d)}}processNoncontextualSubstitutions(e,t,r){let s=new En(e.table.lookupTable);for(r=0;r<t.length;r++){let i=t[r];if(i.id!==65535){let o=s.lookup(i.id);o&&(t[r]=this.font.getGlyph(o,i.codePoints))}}}_insertGlyphs(e,t,r,s){let i=[];for(;r--;){let o=this.subtable.table.insertionActions.getItem(t++);i.push(this.font.getGlyph(o))}s||e++,this.glyphs.splice(e,0,...i)}processGlyphInsertion(e,t,r){if(t.flags&_f&&(this.markedIndex=r),t.markedInsertIndex!==65535){let s=(t.flags&ty)>>>5,i=!!(t.flags&Qx);this._insertGlyphs(this.markedIndex,t.markedInsertIndex,s,i)}if(t.currentInsertIndex!==65535){let s=(t.flags&ey)>>>5,i=!!(t.flags&Jx);this._insertGlyphs(r,t.currentInsertIndex,s,i)}}getSupportedFeatures(){let e=[];for(let t of this.morx.chains)for(let r of t.features)e.push([r.featureType,r.featureSetting]);return e}generateInputs(e){return this.inputCache||this.generateInputCache(),this.inputCache[e]||[]}generateInputCache(){this.inputCache={};for(let e of this.morx.chains){let t=e.defaultFlags;for(let r of e.subtables)r.subFeatureFlags&t&&this.generateInputsForSubtable(r)}}generateInputsForSubtable(e){if(e.type!==2)return;if(!!(e.coverage&Wf))throw new Error("Reverse subtable, not supported.");this.subtable=e,this.ligatureStack=[];let r=this.getStateMachine(e),s=this.getProcessor(),i=[],o=[];this.glyphs=[],r.traverse({enter:(a,u)=>{let l=this.glyphs;o.push({glyphs:l.slice(),ligatureStack:this.ligatureStack.slice()});let f=this.font.getGlyph(a);i.push(f),l.push(i[i.length-1]),s(l[l.length-1],u,l.length-1);let d=0,h=0;for(let p=0;p<l.length&&d<=1;p++)l[p].id!==65535&&(d++,h=l[p].id);if(d===1){let p=i.map(E=>E.id),g=this.inputCache[h];g?g.push(p):this.inputCache[h]=[p]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=o.pop()),i.pop()}})}constructor(e){this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=e,this.morx=e.morx,this.inputCache=null}};ke([Me],Ui.prototype,"getStateMachine",null);Pa=class{substitute(e){e.direction==="rtl"&&e.glyphs.reverse(),this.morxProcessor.process(e.glyphs,Vx(e.features))}getAvailableFeatures(e,t){return jx(this.morxProcessor.getSupportedFeatures())}stringsForGlyph(e){let t=this.morxProcessor.generateInputs(e),r=new Set;for(let s of t)this._addStrings(s,0,r,"");return r}_addStrings(e,t,r,s){let i=this.font._cmapProcessor.codePointsForGlyph(e[t]);for(let o of i){let a=s+String.fromCodePoint(o);t<e.length-1?this._addStrings(e,t+1,r,a):r.add(a)}}constructor(e){this.font=e,this.morxProcessor=new Ui(e),this.fallbackPosition=!1}},Ma=class{_addFeatures(e,t){let r=this.stages.length-1,s=this.stages[r];for(let i of e)this.allFeatures[i]==null&&(s.push(i),this.allFeatures[i]=r,t&&(this.globalFeatures[i]=!0))}add(e,t=!0){if(this.stages.length===0&&this.stages.push([]),typeof e=="string"&&(e=[e]),Array.isArray(e))this._addFeatures(e,t);else if(typeof e=="object")this._addFeatures(e.global||[],!0),this._addFeatures(e.local||[],!1);else throw new Error("Unsupported argument to ShapingPlan#add")}addStage(e,t){typeof e=="function"?this.stages.push(e,[]):(this.stages.push([]),this.add(e,t))}setFeatureOverrides(e){if(Array.isArray(e))this.add(e);else if(typeof e=="object"){for(let t in e)if(e[t])this.add(t);else if(this.allFeatures[t]!=null){let r=this.stages[this.allFeatures[t]];r.splice(r.indexOf(t),1),delete this.allFeatures[t],delete this.globalFeatures[t]}}}assignGlobalFeatures(e){for(let t of e)for(let r in this.globalFeatures)t.features[r]=!0}process(e,t,r){for(let s of this.stages)typeof s=="function"?r||s(this.font,t,this):s.length>0&&e.applyFeatures(s,t,r)}constructor(e,t,r){this.font=e,this.script=t,this.direction=r,this.stages=[],this.globalFeatures={},this.allFeatures={}}},ry=["rvrn"],sy=["ccmp","locl","rlig","mark","mkmk"],iy=["frac","numr","dnom"],oy=["calt","clig","liga","rclt","curs","kern"],ay={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]},yt=class{static plan(e,t,r){this.planPreprocessing(e),this.planFeatures(e),this.planPostprocessing(e,r),e.assignGlobalFeatures(t),this.assignFeatures(e,t)}static planPreprocessing(e){e.add({global:[...ry,...ay[e.direction]],local:iy})}static planFeatures(e){}static planPostprocessing(e,t){e.add([...sy,...oy]),e.setFeatureOverrides(t)}static assignFeatures(e,t){for(let r=0;r<t.length;r++){let s=t[r];if(s.codePoints[0]===8260){let i=r,o=r+1;for(;i>0&&G0(t[i-1].codePoints[0]);)t[i-1].features.numr=!0,t[i-1].features.frac=!0,i--;for(;o<t.length&&G0(t[o].codePoints[0]);)t[o].features.dnom=!0,t[o].features.frac=!0,o++;s.features.frac=!0,r=o-1}}}};Ue(yt,"zeroMarkWidths","AFTER_GPOS");uy=new Yi.default(iu("APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCYaEcygEiqBQ4FAkCE4ikUgMiiBJSAgSiUQSDMn9L9eSl6bddddug9t7yS/trevre+3r27pcNxZiG+yCfdCVv/9LeQxOwRm4AJegD27ALbgD9+ABPJF+z+BN/h7yDj5k/VOWX6SdmU5+wLWknggxDxaS8u0qiiX4uiz9XamQ3wzDMAzDMAzDMAzDVI/h959V/v7BMAzDMAzDMLlyNTNiMSdewVxbiA44B4/guz1qW58VYlMI0WsJ0W+N6kXw0spvPtdwhtkwnGM6uLaV4Xyzg3v3PM9DPfQ/sOg4xPWjipy31P8LTqbU304c/cLCUmWJLNB2Uz2U1KTeRKNmKHVMfbJC+/0loTZRH/W5cvEvBJPMbREkWt3FD1NcqXZBSpuE2Ad0PBehPtNrPtIEdYP+hiRt/V1jIiE69X4NT/uVZI3PUHE9bm5M7ePGdZWy951v7Nn6j8v1WWKP3mt6ttnsigx6VN7Vc0VomSSGqW2mGNP1muZPl7LfjNUaKNFtDGVf2fvE9O7VlBS5j333c5p/eeoOqcs1R/hIqDWLJ7TTlksirVT1SI7l8k4Yp+g3jafGcrU1RM6l9th80XOpnlN97bDNY4i4s61B0Si/ipa0uHMl6zqEjlFfCZm/TM8KmzQDjmuTAQ==")),qf=["isol","fina","fin2","fin3","medi","med2","init"],Fa={Non_Joining:0,Left_Joining:1,Right_Joining:2,Dual_Joining:3,Join_Causing:3,ALAPH:4,"DALATH RISH":5,Transparent:6},fe="isol",Wt="fina",fa="fin2",ly="fin3",Si="medi",ki="med2",Ci="init",se=null,cy=[[[se,se,0],[se,fe,2],[se,fe,1],[se,fe,2],[se,fe,1],[se,fe,6]],[[se,se,0],[se,fe,2],[se,fe,1],[se,fe,2],[se,fa,5],[se,fe,6]],[[se,se,0],[se,fe,2],[Ci,Wt,1],[Ci,Wt,3],[Ci,Wt,4],[Ci,Wt,6]],[[se,se,0],[se,fe,2],[Si,Wt,1],[Si,Wt,3],[Si,Wt,4],[Si,Wt,6]],[[se,se,0],[se,fe,2],[ki,fe,1],[ki,fe,2],[ki,fa,5],[ki,fe,6]],[[se,se,0],[se,fe,2],[fe,fe,1],[fe,fe,2],[fe,fa,5],[fe,fe,6]],[[se,se,0],[se,fe,2],[se,fe,1],[se,fe,2],[se,ly,5],[se,fe,6]]],bt=class extends yt{static planFeatures(e){e.add(["ccmp","locl"]);for(let t=0;t<qf.length;t++){let r=qf[t];e.addStage(r,!1)}e.addStage("mset")}static assignFeatures(e,t){super.assignFeatures(e,t);let r=-1,s=0,i=[];for(let a=0;a<t.length;a++){let u,l;var o=t[a];let f=fy(o.codePoints[0]);if(f===Fa.Transparent){i[a]=se;continue}[l,u,s]=cy[s][f],l!==se&&r!==-1&&(i[r]=l),i[a]=u,r=a}for(let a=0;a<t.length;a++){let u;var o=t[a];(u=i[a])&&(o.features[u]=!0)}}};$a=class{reset(e={},t=0){this.options=e,this.flags=e.flags||{},this.markAttachmentType=e.markAttachmentType||0,this.index=t}get cur(){return this.glyphs[this.index]||null}shouldIgnore(e){return this.flags.ignoreMarks&&e.isMark||this.flags.ignoreBaseGlyphs&&e.isBase||this.flags.ignoreLigatures&&e.isLigature||this.markAttachmentType&&e.isMark&&e.markAttachmentType!==this.markAttachmentType}move(e){for(this.index+=e;0<=this.index&&this.index<this.glyphs.length&&this.shouldIgnore(this.glyphs[this.index]);)this.index+=e;return 0>this.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]}next(){return this.move(1)}prev(){return this.move(-1)}peek(e=1){let t=this.index,r=this.increment(e);return this.index=t,r}peekIndex(e=1){let t=this.index;this.increment(e);let r=this.index;return this.index=t,r}increment(e=1){let t=e<0?-1:1;for(e=Math.abs(e);e--;)this.move(t);return this.glyphs[this.index]}constructor(e,t){this.glyphs=e,this.reset(t)}},dy=["DFLT","dflt","latn"],rr=class{findScript(e){if(this.table.scriptList==null)return null;Array.isArray(e)||(e=[e]);for(let t of e)for(let r of this.table.scriptList)if(r.tag===t)return r;return null}selectScript(e,t,r){let s=!1,i;if(!this.script||e!==this.scriptTag){if(i=this.findScript(e),i||(i=this.findScript(dy)),!i)return this.scriptTag;this.scriptTag=i.tag,this.script=i.script,this.language=null,this.languageTag=null,s=!0}if((!r||r!==this.direction)&&(this.direction=r||Nd(e)),t&&t.length<4&&(t+=" ".repeat(4-t.length)),!t||t!==this.languageTag){this.language=null;for(let o of this.script.langSysRecords)if(o.tag===t){this.language=o.langSys,this.languageTag=o.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),s=!0}if(s&&(this.features={},this.language))for(let o of this.language.featureIndexes){let a=this.table.featureList[o],u=this.substituteFeatureForVariations(o);this.features[a.tag]=u||a.feature}return this.scriptTag}lookupsForFeatures(e=[],t){let r=[];for(let s of e){let i=this.features[s];if(i)for(let o of i.lookupListIndexes)t&&t.indexOf(o)!==-1||r.push({feature:s,index:o,lookup:this.table.lookupList.get(o)})}return r.sort((s,i)=>s.index-i.index),r}substituteFeatureForVariations(e){if(this.variationsIndex===-1)return null;let r=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions;for(let s of r)if(s.featureIndex===e)return s.alternateFeatureTable;return null}findVariationsIndex(e){let t=this.table.featureVariations;if(!t)return-1;let r=t.featureVariationRecords;for(let s=0;s<r.length;s++){let i=r[s].conditionSet.conditionTable;if(this.variationConditionsMatch(i,e))return s}return-1}variationConditionsMatch(e,t){return e.every(r=>{let s=r.axisIndex<t.length?t[r.axisIndex]:0;return r.filterRangeMinValue<=s&&s<=r.filterRangeMaxValue})}applyFeatures(e,t,r){let s=this.lookupsForFeatures(e);this.applyLookups(s,t,r)}applyLookups(e,t,r){this.glyphs=t,this.positions=r,this.glyphIterator=new $a(t);for(let{feature:s,lookup:i}of e)for(this.currentFeature=s,this.glyphIterator.reset(i.flags);this.glyphIterator.index<t.length;){if(!(s in this.glyphIterator.cur.features)){this.glyphIterator.next();continue}for(let o of i.subTables)if(this.applyLookup(i.lookupType,o))break;this.glyphIterator.next()}}applyLookup(e,t){throw new Error("applyLookup must be implemented by subclasses")}applyLookupList(e){let t=this.glyphIterator.options,r=this.glyphIterator.index;for(let s of e){this.glyphIterator.reset(t,r),this.glyphIterator.increment(s.sequenceIndex);let i=this.table.lookupList.get(s.lookupListIndex);this.glyphIterator.reset(i.flags,this.glyphIterator.index);for(let o of i.subTables)if(this.applyLookup(i.lookupType,o))break}return this.glyphIterator.reset(t,r),!0}coverageIndex(e,t){switch(t==null&&(t=this.glyphIterator.cur.id),e.version){case 1:return e.glyphs.indexOf(t);case 2:for(let r of e.rangeRecords)if(r.start<=t&&t<=r.end)return r.startCoverageIndex+t-r.start;break}return-1}match(e,t,r,s){let i=this.glyphIterator.index,o=this.glyphIterator.increment(e),a=0;for(;a<t.length&&o&&r(t[a],o);)s&&s.push(this.glyphIterator.index),a++,o=this.glyphIterator.next();return this.glyphIterator.index=i,a<t.length?!1:s||!0}sequenceMatches(e,t){return this.match(e,t,(r,s)=>r===s.id)}sequenceMatchIndices(e,t){return this.match(e,t,(r,s)=>this.currentFeature in s.features?r===s.id:!1,[])}coverageSequenceMatches(e,t){return this.match(e,t,(r,s)=>this.coverageIndex(r,s.id)>=0)}getClassID(e,t){switch(t.version){case 1:let r=e-t.startGlyph;if(r>=0&&r<t.classValueArray.length)return t.classValueArray[r];break;case 2:for(let s of t.classRangeRecord)if(s.start<=e&&e<=s.end)return s.class;break}return 0}classSequenceMatches(e,t,r){return this.match(e,t,(s,i)=>s===this.getClassID(i.id,r))}applyContext(e){let t,r;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),t===-1)return!1;r=e.ruleSets[t];for(let s of r)if(this.sequenceMatches(1,s.input))return this.applyLookupList(s.lookupRecords);break;case 2:if(this.coverageIndex(e.coverage)===-1||(t=this.getClassID(this.glyphIterator.cur.id,e.classDef),t===-1))return!1;r=e.classSet[t];for(let s of r)if(this.classSequenceMatches(1,s.classes,e.classDef))return this.applyLookupList(s.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,e.coverages))return this.applyLookupList(e.lookupRecords);break}return!1}applyChainingContext(e){let t;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),t===-1)return!1;let r=e.chainRuleSets[t];for(let i of r)if(this.sequenceMatches(-i.backtrack.length,i.backtrack)&&this.sequenceMatches(1,i.input)&&this.sequenceMatches(1+i.input.length,i.lookahead))return this.applyLookupList(i.lookupRecords);break;case 2:if(this.coverageIndex(e.coverage)===-1)return!1;t=this.getClassID(this.glyphIterator.cur.id,e.inputClassDef);let s=e.chainClassSet[t];if(!s)return!1;for(let i of s)if(this.classSequenceMatches(-i.backtrack.length,i.backtrack,e.backtrackClassDef)&&this.classSequenceMatches(1,i.input,e.inputClassDef)&&this.classSequenceMatches(1+i.input.length,i.lookahead,e.lookaheadClassDef))return this.applyLookupList(i.lookupRecords);break;case 3:if(this.coverageSequenceMatches(-e.backtrackGlyphCount,e.backtrackCoverage)&&this.coverageSequenceMatches(0,e.inputCoverage)&&this.coverageSequenceMatches(e.inputGlyphCount,e.lookaheadCoverage))return this.applyLookupList(e.lookupRecords);break}return!1}constructor(e,t){this.font=e,this.table=t,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=e._variationProcessor?this.findVariationsIndex(e._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}},at=class n{get id(){return this._id}set id(e){this._id=e,this.substituted=!0;let t=this._font.GDEF;if(t&&t.glyphClassDef){let r=rr.prototype.getClassID(e,t.glyphClassDef);this.isBase=r===1,this.isLigature=r===2,this.isMark=r===3,this.markAttachmentType=t.markAttachClassDef?rr.prototype.getClassID(e,t.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(z0),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new n(this._font,this.id,this.codePoints,this.features)}constructor(e,t,r=[],s){if(this._font=e,this.codePoints=r,this.id=t,this.features={},Array.isArray(s))for(let i=0;i<s.length;i++){let o=s[i];this.features[o]=!0}else typeof s=="object"&&Object.assign(this.features,s);this.ligatureID=null,this.ligatureComponent=null,this.isLigated=!1,this.cursiveAttachment=null,this.markAttachment=null,this.shaperInfo=null,this.substituted=!1,this.isMultiplied=!1}},Vi=class extends yt{static planFeatures(e){e.add(["ljmo","vjmo","tjmo"],!1)}static assignFeatures(e,t){let r=0,s=0;for(;s<t.length;){let i,a=t[s].codePoints[0],u=_i(a);switch([i,r]=Py[r][u],i){case Mt:e.font.hasGlyphForCodePoint(a)||(s=Bd(t,s,e.font));break;case Da:s=My(t,s,e.font);break;case Na:$y(t,s,e.font);break;case La:s=Dy(t,s,e.font);break}s++}}};Ue(Vi,"zeroMarkWidths","NONE");sr=44032,Ld=55204,hy=Ld-sr+1,Qi=4352,eo=4449,Xt=4519,py=19,ji=21,Zr=28,my=Qi+py-1,gy=eo+ji-1,by=Xt+Zr-1,Hf=9676,xy=n=>4352<=n&&n<=4447||43360<=n&&n<=43388,yy=n=>4448<=n&&n<=4519||55216<=n&&n<=55238,vy=n=>4520<=n&&n<=4607||55243<=n&&n<=55291,wy=n=>12334<=n&&n<=12335,Sy=n=>sr<=n&&n<=Ld,ky=n=>n-sr<hy&&(n-sr)%Zr===0,Cy=n=>Qi<=n&&n<=my,Ey=n=>eo<=n&&n<=gy,Ay=n=>Xt+1&&1<=n&&n<=by,Oy=0,Iy=1,Gi=2,ou=3,zi=4,Rd=5,Ty=6;_e=0,Mt=1,Da=2,Na=4,La=5,Py=[[[_e,0],[_e,1],[_e,0],[_e,0],[Mt,2],[Mt,3],[La,0]],[[_e,0],[_e,1],[Da,2],[_e,0],[Mt,2],[Mt,3],[La,0]],[[_e,0],[_e,1],[_e,0],[Da,3],[Mt,2],[Mt,3],[Na,0]],[[_e,0],[_e,1],[_e,0],[_e,0],[Mt,2],[Mt,3],[Na,0]]];Ud={};Ud=JSON.parse('{"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,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,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,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,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,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,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,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,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,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,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,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,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,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,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,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,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,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,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,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,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,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,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,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,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,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,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,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,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,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,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,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,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,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,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,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,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,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,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,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,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],"accepting":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],"tags":[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]}');to={};to=JSON.parse('{"categories":["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","null","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","M","VS","N","HN","MAbv"],"decompositions":{"2507":[2503,2494],"2508":[2503,2519],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3270,3266,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415],"3546":[3545,3530],"3548":[3545,3535],"3549":[3545,3535,3530],"3550":[3545,3551],"3635":[3661,3634],"3763":[3789,3762],"3955":[3953,3954],"3957":[3953,3956],"3958":[4018,3968],"3959":[4018,3953,3968],"3960":[4019,3968],"3961":[4019,3953,3968],"3969":[3953,3968],"6971":[6970,6965],"6973":[6972,6965],"6976":[6974,6965],"6977":[6975,6965],"6979":[6978,6965],"69934":[69937,69927],"69935":[69938,69927],"70475":[70471,70462],"70476":[70471,70487],"70843":[70841,70842],"70844":[70841,70832],"70846":[70841,70845],"71098":[71096,71087],"71099":[71097,71087]},"stateTable":[[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,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,0,23,0,0,2,0,0,24,0,25],[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,26,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,27,28,0,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,39,0,0,47],[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,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,18,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,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,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,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,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,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,0,0,0,0,0,27,28,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,0,0,0,28,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,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,41,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,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[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,0,0,51,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,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[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,50,0,51,0]],"accepting":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],"tags":[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]}');re={X:1,C:2,V:4,N:8,H:16,ZWNJ:32,ZWJ:64,M:128,SM:256,VD:512,A:1024,Placeholder:2048,Dotted_Circle:4096,RS:8192,Coeng:16384,Repha:32768,Ra:65536,CM:131072,Symbol:262144},X={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Above_C:64,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},Ny=re.C|re.Ra|re.CM|re.V|re.Placeholder|re.Dotted_Circle,Vd=re.ZWJ|re.ZWNJ,Wr=re.H|re.Coeng,Xf={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:X.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:X.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:X.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:X.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:X.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:X.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:X.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:X.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:X.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:X.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:X.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},Ly={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},{decompositions:Ry}=Zi(to),jd=new Yi.default(iu("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")),By=new nu.default(Zi(Ud)),ge=class extends yt{static planFeatures(e){e.addStage(Uy),e.addStage(["locl","ccmp"]),e.addStage(jy),e.addStage("nukt"),e.addStage("akhn"),e.addStage("rphf",!1),e.addStage("rkrf"),e.addStage("pref",!1),e.addStage("blwf",!1),e.addStage("abvf",!1),e.addStage("half",!1),e.addStage("pstf",!1),e.addStage("vatu"),e.addStage("cjct"),e.addStage("cfar",!1),e.addStage(Gy),e.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),e.unicodeScript=Lx(e.script),e.indicConfig=Xf[e.unicodeScript]||Xf.Default,e.isOldSpec=e.indicConfig.hasOldSpec&&e.script[e.script.length-1]!=="2"}static assignFeatures(e,t){for(let r=t.length-1;r>=0;r--){let s=t[r].codePoints[0],i=Ly[s]||Ry[s];if(i){let o=i.map(a=>{let u=e.font.glyphForCodePoint(a);return new at(e.font,u.id,[a],t[r].features)});t.splice(r,1,...o)}}}};Ue(ge,"zeroMarkWidths","NONE");er=class{constructor(e,t,r,s){this.category=e,this.position=t,this.syllableType=r,this.syllable=s}};({categories:zy,decompositions:Yf}=Zi(to)),_y=new Yi.default(iu("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")),Wy=new nu.default(Zi(to)),Q=class extends yt{static planFeatures(e){e.addStage(qy),e.addStage(["locl","ccmp","nukt","akhn"]),e.addStage(Kf),e.addStage(["rphf"],!1),e.addStage(Hy),e.addStage(Kf),e.addStage(["pref"]),e.addStage(Xy),e.addStage(["rkrf","abvf","blwf","half","pstf","vatu","cjct"]),e.addStage(Yy),e.addStage(["abvs","blws","pres","psts","dist","abvm","blwm"])}static assignFeatures(e,t){for(let r=t.length-1;r>=0;r--){let s=t[r].codePoints[0];if(Yf[s]){let i=Yf[s].map(o=>{let a=e.font.glyphForCodePoint(o);return new at(e.font,a.id,[o],t[r].features)});t.splice(r,1,...i)}}}};Ue(Q,"zeroMarkWidths","BEFORE_GPOS");Ba=class{constructor(e,t,r){this.category=e,this.syllableType=t,this.syllable=r}};Zy={arab:bt,mong:bt,syrc:bt,"nko ":bt,phag:bt,mand:bt,mani:bt,phlp:bt,hang:Vi,bng2:ge,beng:ge,dev2:ge,deva:ge,gjr2:ge,gujr:ge,guru:ge,gur2:ge,knda:ge,knd2:ge,mlm2:ge,mlym:ge,ory2:ge,orya:ge,taml:ge,tml2:ge,telu:ge,tel2:ge,khmr:ge,bali:Q,batk:Q,brah:Q,bugi:Q,buhd:Q,cakm:Q,cham:Q,dupl:Q,egyp:Q,gran:Q,hano:Q,java:Q,kthi:Q,kali:Q,khar:Q,khoj:Q,sind:Q,lepc:Q,limb:Q,mahj:Q,mtei:Q,modi:Q,hmng:Q,rjng:Q,saur:Q,shrd:Q,sidd:Q,sinh:ge,sund:Q,sylo:Q,tglg:Q,tagb:Q,tale:Q,lana:Q,tavt:Q,takr:Q,tibt:Q,tfng:Q,tirh:Q,latn:yt,DFLT:yt};Ua=class extends rr{applyLookup(e,t){switch(e){case 1:{let s=this.coverageIndex(t.coverage);if(s===-1)return!1;let i=this.glyphIterator.cur;switch(t.version){case 1:i.id=i.id+t.deltaGlyphID&65535;break;case 2:i.id=t.substitute.get(s);break}return!0}case 2:{let s=this.coverageIndex(t.coverage);if(s!==-1){let i=t.sequences.get(s);if(i.length===0)return this.glyphs.splice(this.glyphIterator.index,1),!0;this.glyphIterator.cur.id=i[0],this.glyphIterator.cur.ligatureComponent=0;let o=this.glyphIterator.cur.features,a=this.glyphIterator.cur,u=i.slice(1).map((l,f)=>{let d=new at(this.font,l,void 0,o);return d.shaperInfo=a.shaperInfo,d.isLigated=a.isLigated,d.ligatureComponent=f+1,d.substituted=!0,d.isMultiplied=!0,d});return this.glyphs.splice(this.glyphIterator.index+1,0,...u),!0}return!1}case 3:{let s=this.coverageIndex(t.coverage);if(s!==-1){let i=0;return this.glyphIterator.cur.id=t.alternateSet.get(s)[i],!0}return!1}case 4:{let s=this.coverageIndex(t.coverage);if(s===-1)return!1;for(let i of t.ligatureSets.get(s)){let o=this.sequenceMatchIndices(1,i.components);if(!o)continue;let a=this.glyphIterator.cur,u=a.codePoints.slice();for(let E of o)u.push(...this.glyphs[E].codePoints);let l=new at(this.font,i.glyph,u,a.features);l.shaperInfo=a.shaperInfo,l.isLigated=!0,l.substituted=!0;let f=a.isMark;for(let E=0;E<o.length&&f;E++)f=this.glyphs[o[E]].isMark;l.ligatureID=f?null:this.ligatureID++;let d=a.ligatureID,h=a.codePoints.length,p=h,g=this.glyphIterator.index+1;for(let E of o){if(f)g=E;else for(;g<E;){var r=p-h+Math.min(this.glyphs[g].ligatureComponent||1,h);this.glyphs[g].ligatureID=l.ligatureID,this.glyphs[g].ligatureComponent=r,g++}d=this.glyphs[g].ligatureID,h=this.glyphs[g].codePoints.length,p+=h,g++}if(d&&!f)for(let E=g;E<this.glyphs.length&&this.glyphs[E].ligatureID===d;E++){var r=p-h+Math.min(this.glyphs[E].ligatureComponent||1,h);this.glyphs[E].ligatureComponent=r}for(let E=o.length-1;E>=0;E--)this.glyphs.splice(o[E],1);return this.glyphs[this.glyphIterator.index]=l,!0}return!1}case 5:return this.applyContext(t);case 6:return this.applyChainingContext(t);case 7:return this.applyLookup(t.lookupType,t.extension);default:throw new Error(`GSUB lookupType ${e} is not supported`)}}},Va=class extends rr{applyPositionValue(e,t){let r=this.positions[this.glyphIterator.peekIndex(e)];t.xAdvance!=null&&(r.xAdvance+=t.xAdvance),t.yAdvance!=null&&(r.yAdvance+=t.yAdvance),t.xPlacement!=null&&(r.xOffset+=t.xPlacement),t.yPlacement!=null&&(r.yOffset+=t.yPlacement);let s=this.font._variationProcessor,i=this.font.GDEF&&this.font.GDEF.itemVariationStore;s&&i&&(t.xPlaDevice&&(r.xOffset+=s.getDelta(i,t.xPlaDevice.a,t.xPlaDevice.b)),t.yPlaDevice&&(r.yOffset+=s.getDelta(i,t.yPlaDevice.a,t.yPlaDevice.b)),t.xAdvDevice&&(r.xAdvance+=s.getDelta(i,t.xAdvDevice.a,t.xAdvDevice.b)),t.yAdvDevice&&(r.yAdvance+=s.getDelta(i,t.yAdvDevice.a,t.yAdvDevice.b)))}applyLookup(e,t){switch(e){case 1:{let s=this.coverageIndex(t.coverage);if(s===-1)return!1;switch(t.version){case 1:this.applyPositionValue(0,t.value);break;case 2:this.applyPositionValue(0,t.values.get(s));break}return!0}case 2:{let s=this.glyphIterator.peek();if(!s)return!1;let i=this.coverageIndex(t.coverage);if(i===-1)return!1;switch(t.version){case 1:let o=t.pairSets.get(i);for(let l of o)if(l.secondGlyph===s.id)return this.applyPositionValue(0,l.value1),this.applyPositionValue(1,l.value2),!0;return!1;case 2:let a=this.getClassID(this.glyphIterator.cur.id,t.classDef1),u=this.getClassID(s.id,t.classDef2);if(a===-1||u===-1)return!1;var r=t.classRecords.get(a).get(u);return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0}}case 3:{let s=this.glyphIterator.peekIndex(),i=this.glyphs[s];if(!i)return!1;let o=t.entryExitRecords[this.coverageIndex(t.coverage)];if(!o||!o.exitAnchor)return!1;let a=t.entryExitRecords[this.coverageIndex(t.coverage,i.id)];if(!a||!a.entryAnchor)return!1;let u=this.getAnchor(a.entryAnchor),l=this.getAnchor(o.exitAnchor),f=this.positions[this.glyphIterator.index],d=this.positions[s],h;switch(this.direction){case"ltr":f.xAdvance=l.x+f.xOffset,h=u.x+d.xOffset,d.xAdvance-=h,d.xOffset-=h;break;case"rtl":h=l.x+f.xOffset,f.xAdvance-=h,f.xOffset-=h,d.xAdvance=u.x+d.xOffset;break}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=s,f.yOffset=u.y-l.y):(i.cursiveAttachment=this.glyphIterator.index,f.yOffset=l.y-u.y),!0}case 4:{let s=this.coverageIndex(t.markCoverage);if(s===-1)return!1;let i=this.glyphIterator.index;for(;--i>=0&&(this.glyphs[i].isMark||this.glyphs[i].ligatureComponent>0););if(i<0)return!1;let o=this.coverageIndex(t.baseCoverage,this.glyphs[i].id);if(o===-1)return!1;let a=t.markArray[s],u=t.baseArray[o][a.class];return this.applyAnchor(a,u,i),!0}case 5:{let s=this.coverageIndex(t.markCoverage);if(s===-1)return!1;let i=this.glyphIterator.index;for(;--i>=0&&this.glyphs[i].isMark;);if(i<0)return!1;let o=this.coverageIndex(t.ligatureCoverage,this.glyphs[i].id);if(o===-1)return!1;let a=t.ligatureArray[o],u=this.glyphIterator.cur,l=this.glyphs[i],f=l.ligatureID&&l.ligatureID===u.ligatureID&&u.ligatureComponent>0?Math.min(u.ligatureComponent,l.codePoints.length)-1:l.codePoints.length-1,d=t.markArray[s],h=a[f][d.class];return this.applyAnchor(d,h,i),!0}case 6:{let s=this.coverageIndex(t.mark1Coverage);if(s===-1)return!1;let i=this.glyphIterator.peekIndex(-1),o=this.glyphs[i];if(!o||!o.isMark)return!1;let a=this.glyphIterator.cur,u=!1;if(a.ligatureID===o.ligatureID?a.ligatureID?a.ligatureComponent===o.ligatureComponent&&(u=!0):u=!0:(a.ligatureID&&!a.ligatureComponent||o.ligatureID&&!o.ligatureComponent)&&(u=!0),!u)return!1;let l=this.coverageIndex(t.mark2Coverage,o.id);if(l===-1)return!1;let f=t.mark1Array[s],d=t.mark2Array[l][f.class];return this.applyAnchor(f,d,i),!0}case 7:return this.applyContext(t);case 8:return this.applyChainingContext(t);case 9:return this.applyLookup(t.lookupType,t.extension);default:throw new Error(`Unsupported GPOS table: ${e}`)}}applyAnchor(e,t,r){let s=this.getAnchor(t),i=this.getAnchor(e.markAnchor),o=this.positions[r],a=this.positions[this.glyphIterator.index];a.xOffset=s.x-i.x,a.yOffset=s.y-i.y,this.glyphIterator.cur.markAttachment=r}getAnchor(e){let t=e.xCoordinate,r=e.yCoordinate,s=this.font._variationProcessor,i=this.font.GDEF&&this.font.GDEF.itemVariationStore;return s&&i&&(e.xDeviceTable&&(t+=s.getDelta(i,e.xDeviceTable.a,e.xDeviceTable.b)),e.yDeviceTable&&(r+=s.getDelta(i,e.yDeviceTable.a,e.yDeviceTable.b))),{x:t,y:r}}applyFeatures(e,t,r){super.applyFeatures(e,t,r);for(var s=0;s<this.glyphs.length;s++)this.fixCursiveAttachment(s);this.fixMarkAttachment()}fixCursiveAttachment(e){let t=this.glyphs[e];if(t.cursiveAttachment!=null){let r=t.cursiveAttachment;t.cursiveAttachment=null,this.fixCursiveAttachment(r),this.positions[e].yOffset+=this.positions[r].yOffset}}fixMarkAttachment(){for(let e=0;e<this.glyphs.length;e++){let t=this.glyphs[e];if(t.markAttachment!=null){let r=t.markAttachment;if(this.positions[e].xOffset+=this.positions[r].xOffset,this.positions[e].yOffset+=this.positions[r].yOffset,this.direction==="ltr")for(let s=r;s<e;s++)this.positions[e].xOffset-=this.positions[s].xAdvance,this.positions[e].yOffset-=this.positions[s].yAdvance;else for(let s=r+1;s<e+1;s++)this.positions[e].xOffset+=this.positions[s].xAdvance,this.positions[e].yOffset+=this.positions[s].yAdvance}}}},ja=class{setup(e){this.glyphInfos=e.glyphs.map(r=>new at(this.font,r.id,[...r.codePoints]));let t=null;this.GPOSProcessor&&(t=this.GPOSProcessor.selectScript(e.script,e.language,e.direction)),this.GSUBProcessor&&(t=this.GSUBProcessor.selectScript(e.script,e.language,e.direction)),this.shaper=Ky(t),this.plan=new Ma(this.font,t,e.direction),this.shaper.plan(this.plan,this.glyphInfos,e.features);for(let r in this.plan.allFeatures)e.features[r]=!0}substitute(e){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),e.glyphs=this.glyphInfos.map(t=>this.font.getGlyph(t.id,t.codePoints)))}position(e){return this.shaper.zeroMarkWidths==="BEFORE_GPOS"&&this.zeroMarkAdvances(e.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,e.positions),this.shaper.zeroMarkWidths==="AFTER_GPOS"&&this.zeroMarkAdvances(e.positions),e.direction==="rtl"&&(e.glyphs.reverse(),e.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features}zeroMarkAdvances(e){for(let t=0;t<this.glyphInfos.length;t++)this.glyphInfos[t].isMark&&(e[t].xAdvance=0,e[t].yAdvance=0)}cleanup(){this.glyphInfos=null,this.plan=null,this.shaper=null}getAvailableFeatures(e,t){let r=[];return this.GSUBProcessor&&(this.GSUBProcessor.selectScript(e,t),r.push(...Object.keys(this.GSUBProcessor.features))),this.GPOSProcessor&&(this.GPOSProcessor.selectScript(e,t),r.push(...Object.keys(this.GPOSProcessor.features))),r}constructor(e){this.font=e,this.glyphInfos=null,this.plan=null,this.GSUBProcessor=null,this.GPOSProcessor=null,this.fallbackPosition=!0,e.GSUB&&(this.GSUBProcessor=new Ua(e,e.GSUB)),e.GPOS&&(this.GPOSProcessor=new Va(e,e.GPOS))}},Ga=class{layout(e,t,r,s,i){if(typeof t=="string"&&(i=s,s=r,r=t,t=[]),typeof e=="string"){r==null&&(r=Rx(e));var o=this.font.glyphsForString(e)}else{if(r==null){let l=[];for(let f of e)l.push(...f.codePoints);r=Bx(l)}var o=e}let a=new Oa(o,t,r,s,i);return o.length===0?(a.positions=[],a):(this.engine&&this.engine.setup&&this.engine.setup(a),this.substitute(a),this.position(a),this.hideDefaultIgnorables(a.glyphs,a.positions),this.engine&&this.engine.cleanup&&this.engine.cleanup(),a)}substitute(e){this.engine&&this.engine.substitute&&this.engine.substitute(e)}position(e){e.positions=e.glyphs.map(r=>new Ia(r.advanceWidth));let t=null;this.engine&&this.engine.position&&(t=this.engine.position(e)),!t&&(!this.engine||this.engine.fallbackPosition)&&(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new Ea(this.font)),this.unicodeLayoutEngine.positionGlyphs(e.glyphs,e.positions)),(!t||!t.kern)&&e.features.kern!==!1&&this.font.kern&&(this.kernProcessor||(this.kernProcessor=new Ca(this.font)),this.kernProcessor.process(e.glyphs,e.positions),e.features.kern=!0)}hideDefaultIgnorables(e,t){let r=this.font.glyphForCodePoint(32);for(let s=0;s<e.length;s++)this.isDefaultIgnorable(e[s].codePoints[0])&&(e[s]=r,t[s].xAdvance=0,t[s].yAdvance=0)}isDefaultIgnorable(e){let t=e>>16;if(t===0)switch(e>>8){case 0:return e===173;case 3:return e===847;case 6:return e===1564;case 23:return 6068<=e&&e<=6069;case 24:return 6155<=e&&e<=6158;case 32:return 8203<=e&&e<=8207||8234<=e&&e<=8238||8288<=e&&e<=8303;case 254:return 65024<=e&&e<=65039||e===65279;case 255:return 65520<=e&&e<=65528;default:return!1}else switch(t){case 1:return 113824<=e&&e<=113827||119155<=e&&e<=119162;case 14:return 917504<=e&&e<=921599;default:return!1}}getAvailableFeatures(e,t){let r=[];return this.engine&&r.push(...this.engine.getAvailableFeatures(e,t)),this.font.kern&&r.indexOf("kern")===-1&&r.push("kern"),r}stringsForGlyph(e){let t=new Set,r=this.font._cmapProcessor.codePointsForGlyph(e);for(let s of r)t.add(String.fromCodePoint(s));if(this.engine&&this.engine.stringsForGlyph)for(let s of this.engine.stringsForGlyph(e))t.add(s);return Array.from(t)}constructor(e){this.font=e,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new Pa(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new ja(this.font))}},Jy={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"},ir=class n{toFunction(){return e=>{this.commands.forEach(t=>e[t.command].apply(e,t.args))}}toSVG(){return this.commands.map(t=>{let r=t.args.map(s=>Math.round(s*100)/100);return`${Jy[t.command]}${r.join(" ")}`}).join("")}get cbox(){if(!this._cbox){let e=new Kt;for(let t of this.commands)for(let r=0;r<t.args.length;r+=2)e.addPoint(t.args[r],t.args[r+1]);this._cbox=Object.freeze(e)}return this._cbox}get bbox(){if(this._bbox)return this._bbox;let e=new Kt,t=0,r=0,s=I=>Math.pow(1-I,3)*p[A]+3*Math.pow(1-I,2)*I*g[A]+3*(1-I)*Math.pow(I,2)*E[A]+Math.pow(I,3)*y[A];for(let I of this.commands)switch(I.command){case"moveTo":case"lineTo":let[m,P]=I.args;e.addPoint(m,P),t=m,r=P;break;case"quadraticCurveTo":case"bezierCurveTo":if(I.command==="quadraticCurveTo")var[i,o,d,h]=I.args,a=t+2/3*(i-t),u=r+2/3*(o-r),l=d+2/3*(i-d),f=h+2/3*(o-h);else var[a,u,l,f,d,h]=I.args;e.addPoint(d,h);for(var p=[t,r],g=[a,u],E=[l,f],y=[d,h],A=0;A<=1;A++){let M=6*p[A]-12*g[A]+6*E[A],$=-3*p[A]+9*g[A]-9*E[A]+3*y[A];if(I=3*g[A]-3*p[A],$===0){if(M===0)continue;let v=-I/M;0<v&&v<1&&(A===0?e.addPoint(s(v),e.maxY):A===1&&e.addPoint(e.maxX,s(v)));continue}let _=Math.pow(M,2)-4*I*$;if(_<0)continue;let S=(-M+Math.sqrt(_))/(2*$);0<S&&S<1&&(A===0?e.addPoint(s(S),e.maxY):A===1&&e.addPoint(e.maxX,s(S)));let D=(-M-Math.sqrt(_))/(2*$);0<D&&D<1&&(A===0?e.addPoint(s(D),e.maxY):A===1&&e.addPoint(e.maxX,s(D)))}t=d,r=h;break}return this._bbox=Object.freeze(e)}mapPoints(e){let t=new n;for(let r of this.commands){let s=[];for(let i=0;i<r.args.length;i+=2){let[o,a]=e(r.args[i],r.args[i+1]);s.push(o,a)}t[r.command](...s)}return t}transform(e,t,r,s,i,o){return this.mapPoints((a,u)=>{let l=e*a+r*u+i,f=t*a+s*u+o;return[l,f]})}translate(e,t){return this.transform(1,0,0,1,e,t)}rotate(e){let t=Math.cos(e),r=Math.sin(e);return this.transform(t,r,-r,t,0,0)}scale(e,t=e){return this.transform(e,0,0,t,0,0)}constructor(){this.commands=[],this._bbox=null,this._cbox=null}};for(let n of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])ir.prototype[n]=function(...e){return this._bbox=this._cbox=null,this.commands.push({command:n,args:e}),this};Ur=[".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"],rt=class{_getPath(){return new ir}_getCBox(){return this.path.cbox}_getBBox(){return this.path.bbox}_getTableMetrics(e){if(this.id<e.metrics.length)return e.metrics.get(this.id);let t=e.metrics.get(e.metrics.length-1);return{advance:t?t.advance:0,bearing:e.bearings.get(this.id-e.metrics.length)||0}}_getMetrics(e){if(this._metrics)return this._metrics;let{advance:t,bearing:r}=this._getTableMetrics(this._font.hmtx);if(this._font.vmtx)var{advance:s,bearing:i}=this._getTableMetrics(this._font.vmtx);else{let o;if((typeof e>"u"||e===null)&&({cbox:e}=this),(o=this._font["OS/2"])&&o.version>0)var s=Math.abs(o.typoAscender-o.typoDescender),i=o.typoAscender-e.maxY;else{let{hhea:a}=this._font;var s=Math.abs(a.ascent-a.descent),i=a.ascent-e.maxY}}return this._font._variationProcessor&&this._font.HVAR&&(t+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:t,advanceHeight:s,leftBearing:r,topBearing:i}}get cbox(){return this._getCBox()}get bbox(){return this._getBBox()}get path(){return this._getPath()}getScaledPath(e){let t=1/this._font.unitsPerEm*e;return this.path.scale(t)}get advanceWidth(){return this._getMetrics().advanceWidth}get advanceHeight(){return this._getMetrics().advanceHeight}get ligatureCaretPositions(){}_getName(){let{post:e}=this._font;if(!e)return null;switch(e.version){case 1:return Ur[this.id];case 2:let t=e.glyphNameIndex[this.id];return t<Ur.length?Ur[t]:e.names[t-Ur.length];case 2.5:return Ur[this.id+e.offsets[this.id]];case 4:return String.fromCharCode(e.map[this.id])}}get name(){return this._getName()}render(e,t){e.save();let r=1/this._font.head.unitsPerEm*t;e.scale(r,r),this.path.toFunction()(e),e.fill(),e.restore()}constructor(e,t,r){this.id=e,this.codePoints=t,this._font=r,this.isMark=this.codePoints.length>0&&this.codePoints.every(z0),this.isLigature=this.codePoints.length>1}};ke([Me],rt.prototype,"cbox",null);ke([Me],rt.prototype,"bbox",null);ke([Me],rt.prototype,"path",null);ke([Me],rt.prototype,"advanceWidth",null);ke([Me],rt.prototype,"advanceHeight",null);ke([Me],rt.prototype,"name",null);ed=new k({numberOfContours:T,xMin:T,yMin:T,xMax:T,yMax:T}),Qy=1,e3=2,t3=4,n3=8,r3=16,s3=32,i3=1,o3=8,td=32,a3=64,u3=128,l3=256,ot=class n{copy(){return new n(this.onCurve,this.endContour,this.x,this.y)}constructor(e,t,r=0,s=0){this.onCurve=e,this.endContour=t,this.x=r,this.y=s}},za=class{constructor(e,t,r){this.glyphID=e,this.dx=t,this.dy=r,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0}},or=class extends rt{_getCBox(e){if(this._font._variationProcessor&&!e)return this.path.cbox;let t=this._font._getTableStream("glyf");t.pos+=this._font.loca.offsets[this.id];let r=ed.decode(t),s=new Kt(r.xMin,r.yMin,r.xMax,r.yMax);return Object.freeze(s)}_parseGlyphCoord(e,t,r,s){if(r){var i=e.readUInt8();s||(i=-i),i+=t}else if(s)var i=t;else var i=t+e.readInt16BE();return i}_decode(){let e=this._font.loca.offsets[this.id],t=this._font.loca.offsets[this.id+1];if(e===t)return null;let r=this._font._getTableStream("glyf");r.pos+=e;let s=r.pos,i=ed.decode(r);return i.numberOfContours>0?this._decodeSimple(i,r):i.numberOfContours<0&&this._decodeComposite(i,r,s),i}_decodeSimple(e,t){e.points=[];let r=new b(c,e.numberOfContours).decode(t);e.instructions=new b(L,c).decode(t);let s=[],i=r[r.length-1]+1;for(;s.length<i;){var o=t.readUInt8();if(s.push(o),o&n3){let f=t.readUInt8();for(let d=0;d<f;d++)s.push(o)}}for(var a=0;a<s.length;a++){var o=s[a];let d=new ot(!!(o&Qy),r.indexOf(a)>=0,0,0);e.points.push(d)}let u=0;for(var a=0;a<s.length;a++){var o=s[a];e.points[a].x=u=this._parseGlyphCoord(t,u,o&e3,o&r3)}let l=0;for(var a=0;a<s.length;a++){var o=s[a];e.points[a].y=l=this._parseGlyphCoord(t,l,o&t3,o&s3)}if(this._font._variationProcessor){let f=e.points.slice();f.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,f),e.phantomPoints=f.slice(-4)}}_decodeComposite(e,t,r=0){e.components=[];let s=!1,i=td;for(;i&td;){i=t.readUInt16BE();let l=t.pos-r,f=t.readUInt16BE();if(s||(s=(i&l3)!==0),i&i3)var o=t.readInt16BE(),a=t.readInt16BE();else var o=t.readInt8(),a=t.readInt8();var u=new za(f,o,a);u.pos=l,i&o3?u.scaleX=u.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824:i&a3?(u.scaleX=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,u.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824):i&u3&&(u.scaleX=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,u.scale01=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,u.scale10=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,u.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824),e.components.push(u)}if(this._font._variationProcessor){let l=[];for(let f=0;f<e.components.length;f++){var u=e.components[f];l.push(new ot(!0,!0,u.dx,u.dy))}l.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,l),e.phantomPoints=l.splice(-4,4);for(let f=0;f<l.length;f++){let d=l[f];e.components[f].dx=d.x,e.components[f].dy=d.y}}return s}_getPhantomPoints(e){let t=this._getCBox(!0);this._metrics==null&&(this._metrics=rt.prototype._getMetrics.call(this,t));let{advanceWidth:r,advanceHeight:s,leftBearing:i,topBearing:o}=this._metrics;return[new ot(!1,!0,e.xMin-i,0),new ot(!1,!0,e.xMin-i+r,0),new ot(!1,!0,0,e.yMax+o),new ot(!1,!0,0,e.yMax+o+s)]}_getContours(){let e=this._decode();if(!e)return[];let t=[];if(e.numberOfContours<0)for(let o of e.components){let a=this._font.getGlyph(o.glyphID)._getContours();for(let u=0;u<a.length;u++){let l=a[u];for(let f=0;f<l.length;f++){let d=l[f],h=d.x*o.scaleX+d.y*o.scale01+o.dx,p=d.y*o.scaleY+d.x*o.scale10+o.dy;t.push(new ot(d.onCurve,d.endContour,h,p))}}}else t=e.points||[];e.phantomPoints&&!this._font.directory.tables.HVAR&&(this._metrics.advanceWidth=e.phantomPoints[1].x-e.phantomPoints[0].x,this._metrics.advanceHeight=e.phantomPoints[3].y-e.phantomPoints[2].y,this._metrics.leftBearing=e.xMin-e.phantomPoints[0].x,this._metrics.topBearing=e.phantomPoints[2].y-e.yMax);let r=[],s=[];for(let o=0;o<t.length;o++){var i=t[o];s.push(i),i.endContour&&(r.push(s),s=[])}return r}_getMetrics(){if(this._metrics)return this._metrics;let e=this._getCBox(!0);return super._getMetrics(e),this._font._variationProcessor&&!this._font.HVAR&&this.path,this._metrics}_getPath(){let e=this._getContours(),t=new ir;for(let s=0;s<e.length;s++){let i=e[s],o=i[0],a=i[i.length-1],u=0;if(o.onCurve){var r=null;u=1}else{a.onCurve?o=a:o=new ot(!1,!1,(o.x+a.x)/2,(o.y+a.y)/2);var r=o}t.moveTo(o.x,o.y);for(let l=u;l<i.length;l++){let f=i[l],d=l===0?o:i[l-1];if(d.onCurve&&f.onCurve)t.lineTo(f.x,f.y);else if(d.onCurve&&!f.onCurve)var r=f;else if(!d.onCurve&&!f.onCurve){let p=(d.x+f.x)/2,g=(d.y+f.y)/2;t.quadraticCurveTo(d.x,d.y,p,g);var r=f}else if(!d.onCurve&&f.onCurve){t.quadraticCurveTo(r.x,r.y,f.x,f.y);var r=null}else throw new Error("Unknown TTF path state")}r&&t.quadraticCurveTo(r.x,r.y,o.x,o.y),t.closePath()}return t}constructor(...e){super(...e),Ue(this,"type","TTF")}},_a=class extends rt{_getName(){return this._font.CFF2?super._getName():this._font["CFF "].getGlyphName(this.id)}bias(e){return e.length<1240?107:e.length<33900?1131:32768}_getPath(){let e=this._font.CFF2||this._font["CFF "],{stream:t}=e,r=e.topDict.CharStrings[this.id],s=r.offset+r.length;t.pos=r.offset;let i=new ir,o=[],a=[],u=null,l=0,f=0,d=0,h,p,g=!1;this._usedGsubrs=h={},this._usedSubrs=p={};let E=e.globalSubrIndex||[],y=this.bias(E),A=e.privateDictForGlyph(this.id)||{},I=A.Subrs||[],m=this.bias(I),P=e.topDict.vstore&&e.topDict.vstore.itemVariationStore,M=A.vsindex,$=this._font._variationProcessor;function _(){u==null&&(u=o.shift()+A.nominalWidthX)}function S(){return o.length%2!==0&&_(),l+=o.length>>1,o.length=0}function D(F,C){g&&i.closePath(),i.moveTo(F,C),g=!0}let v=function(){for(;t.pos<s;){let N=t.readUInt8();if(N<32){let W,q,ee,z,H,j,Y,pe,xe,Ce,Ae,te,We,je,qe,Fe;switch(N){case 1:case 3:case 18:case 23:S();break;case 4:o.length>1&&_(),d+=o.shift(),D(f,d);break;case 5:for(;o.length>=2;)f+=o.shift(),d+=o.shift(),i.lineTo(f,d);break;case 6:case 7:for(ee=N===6;o.length>=1;)ee?f+=o.shift():d+=o.shift(),i.lineTo(f,d),ee=!ee;break;case 8:for(;o.length>0;)z=f+o.shift(),H=d+o.shift(),j=z+o.shift(),Y=H+o.shift(),f=j+o.shift(),d=Y+o.shift(),i.bezierCurveTo(z,H,j,Y,f,d);break;case 10:if(W=o.pop()+m,q=I[W],q){p[W]=!0;let K=t.pos,ce=s;t.pos=q.offset,s=q.offset+q.length,v(),t.pos=K,s=ce}break;case 11:if(e.version>=2)break;return;case 14:if(e.version>=2)break;o.length>0&&_(),g&&(i.closePath(),g=!1);break;case 15:if(e.version<2)throw new Error("vsindex operator not supported in CFF v1");M=o.pop();break;case 16:{if(e.version<2)throw new Error("blend operator not supported in CFF v1");if(!$)throw new Error("blend operator in non-variation font");let K=$.getBlendVector(P,M),ce=o.pop(),vt=ce*K.length,Re=o.length-vt,Qt=Re-ce;for(let wt=0;wt<ce;wt++){let St=o[Qt+wt];for(let st=0;st<K.length;st++)St+=K[st]*o[Re++];o[Qt+wt]=St}for(;vt--;)o.pop();break}case 19:case 20:S(),t.pos+=l+7>>3;break;case 21:o.length>2&&_(),f+=o.shift(),d+=o.shift(),D(f,d);break;case 22:o.length>1&&_(),f+=o.shift(),D(f,d);break;case 24:for(;o.length>=8;)z=f+o.shift(),H=d+o.shift(),j=z+o.shift(),Y=H+o.shift(),f=j+o.shift(),d=Y+o.shift(),i.bezierCurveTo(z,H,j,Y,f,d);f+=o.shift(),d+=o.shift(),i.lineTo(f,d);break;case 25:for(;o.length>=8;)f+=o.shift(),d+=o.shift(),i.lineTo(f,d);z=f+o.shift(),H=d+o.shift(),j=z+o.shift(),Y=H+o.shift(),f=j+o.shift(),d=Y+o.shift(),i.bezierCurveTo(z,H,j,Y,f,d);break;case 26:for(o.length%2&&(f+=o.shift());o.length>=4;)z=f,H=d+o.shift(),j=z+o.shift(),Y=H+o.shift(),f=j,d=Y+o.shift(),i.bezierCurveTo(z,H,j,Y,f,d);break;case 27:for(o.length%2&&(d+=o.shift());o.length>=4;)z=f+o.shift(),H=d,j=z+o.shift(),Y=H+o.shift(),f=j+o.shift(),d=Y,i.bezierCurveTo(z,H,j,Y,f,d);break;case 28:o.push(t.readInt16BE());break;case 29:if(W=o.pop()+y,q=E[W],q){h[W]=!0;let K=t.pos,ce=s;t.pos=q.offset,s=q.offset+q.length,v(),t.pos=K,s=ce}break;case 30:case 31:for(ee=N===31;o.length>=4;)ee?(z=f+o.shift(),H=d,j=z+o.shift(),Y=H+o.shift(),d=Y+o.shift(),f=j+(o.length===1?o.shift():0)):(z=f,H=d+o.shift(),j=z+o.shift(),Y=H+o.shift(),f=j+o.shift(),d=Y+(o.length===1?o.shift():0)),i.bezierCurveTo(z,H,j,Y,f,d),ee=!ee;break;case 12:switch(N=t.readUInt8(),N){case 3:let K=o.pop(),ce=o.pop();o.push(K&&ce?1:0);break;case 4:K=o.pop(),ce=o.pop(),o.push(K||ce?1:0);break;case 5:K=o.pop(),o.push(K?0:1);break;case 9:K=o.pop(),o.push(Math.abs(K));break;case 10:K=o.pop(),ce=o.pop(),o.push(K+ce);break;case 11:K=o.pop(),ce=o.pop(),o.push(K-ce);break;case 12:K=o.pop(),ce=o.pop(),o.push(K/ce);break;case 14:K=o.pop(),o.push(-K);break;case 15:K=o.pop(),ce=o.pop(),o.push(K===ce?1:0);break;case 18:o.pop();break;case 20:let vt=o.pop(),Re=o.pop();a[Re]=vt;break;case 21:Re=o.pop(),o.push(a[Re]||0);break;case 22:let Qt=o.pop(),wt=o.pop(),St=o.pop(),st=o.pop();o.push(St<=st?Qt:wt);break;case 23:o.push(Math.random());break;case 24:K=o.pop(),ce=o.pop(),o.push(K*ce);break;case 26:K=o.pop(),o.push(Math.sqrt(K));break;case 27:K=o.pop(),o.push(K,K);break;case 28:K=o.pop(),ce=o.pop(),o.push(ce,K);break;case 29:Re=o.pop(),Re<0?Re=0:Re>o.length-1&&(Re=o.length-1),o.push(o[Re]);break;case 30:let Dt=o.pop(),kt=o.pop();if(kt>=0)for(;kt>0;){var F=o[Dt-1];for(let de=Dt-2;de>=0;de--)o[de+1]=o[de];o[0]=F,kt--}else for(;kt<0;){var F=o[0];for(let Ge=0;Ge<=Dt;Ge++)o[Ge]=o[Ge+1];o[Dt-1]=F,kt++}break;case 34:z=f+o.shift(),H=d,j=z+o.shift(),Y=H+o.shift(),pe=j+o.shift(),xe=Y,Ce=pe+o.shift(),Ae=xe,te=Ce+o.shift(),We=Ae,je=te+o.shift(),qe=We,f=je,d=qe,i.bezierCurveTo(z,H,j,Y,pe,xe),i.bezierCurveTo(Ce,Ae,te,We,je,qe);break;case 35:Fe=[];for(let de=0;de<=5;de++)f+=o.shift(),d+=o.shift(),Fe.push(f,d);i.bezierCurveTo(...Fe.slice(0,6)),i.bezierCurveTo(...Fe.slice(6)),o.shift();break;case 36:z=f+o.shift(),H=d+o.shift(),j=z+o.shift(),Y=H+o.shift(),pe=j+o.shift(),xe=Y,Ce=pe+o.shift(),Ae=xe,te=Ce+o.shift(),We=Ae+o.shift(),je=te+o.shift(),qe=We,f=je,d=qe,i.bezierCurveTo(z,H,j,Y,pe,xe),i.bezierCurveTo(Ce,Ae,te,We,je,qe);break;case 37:let On=f,Oe=d;Fe=[];for(let de=0;de<=4;de++)f+=o.shift(),d+=o.shift(),Fe.push(f,d);Math.abs(f-On)>Math.abs(d-Oe)?(f+=o.shift(),d=Oe):(f=On,d+=o.shift()),Fe.push(f,d),i.bezierCurveTo(...Fe.slice(0,6)),i.bezierCurveTo(...Fe.slice(6));break;default:throw new Error(`Unknown op: 12 ${N}`)}break;default:throw new Error(`Unknown op: ${N}`)}}else if(N<247)o.push(N-139);else if(N<251){var C=t.readUInt8();o.push((N-247)*256+C+108)}else if(N<255){var C=t.readUInt8();o.push(-(N-251)*256-C-108)}else o.push(t.readInt32BE()/65536)}};return v(),g&&i.closePath(),i}constructor(...e){super(...e),Ue(this,"type","CFF")}},c3=new k({originX:c,originY:c,type:new ie(4),data:new ze(n=>n.parent.buflen-n._currentOffset)}),Wa=class extends or{getImageForSize(e){for(let o=0;o<this._font.sbix.imageTables.length;o++){var t=this._font.sbix.imageTables[o];if(t.ppem>=e)break}let r=t.imageOffsets,s=r[this.id],i=r[this.id+1];return s===i?null:(this._font.stream.pos=s,c3.decode(this._font.stream,{buflen:i-s}))}render(e,t){let r=this.getImageForSize(t);if(r!=null){let s=t/this._font.unitsPerEm;e.image(r.data,{height:t,x:r.originX,y:(this.bbox.minY-r.originY)*s})}this._font.sbix.flags.renderOutlines&&super.render(e,t)}constructor(...e){super(...e),Ue(this,"type","SBIX")}},qi=class{constructor(e,t){this.glyph=e,this.color=t}},qa=class extends rt{_getBBox(){let e=new Kt;for(let t=0;t<this.layers.length;t++){let s=this.layers[t].glyph.bbox;e.addPoint(s.minX,s.minY),e.addPoint(s.maxX,s.maxY)}return e}get layers(){let e=this._font.CPAL,t=this._font.COLR,r=0,s=t.baseGlyphRecord.length-1;for(;r<=s;){let f=r+s>>1;var i=t.baseGlyphRecord[f];if(this.id<i.gid)s=f-1;else if(this.id>i.gid)r=f+1;else{var o=i;break}}if(o==null){var a=this._font._getBaseGlyph(this.id),u={red:0,green:0,blue:0,alpha:255};return[new qi(a,u)]}let l=[];for(let f=o.firstLayerIndex;f<o.firstLayerIndex+o.numLayers;f++){var i=t.layerRecords[f],u=e.colorRecords[i.paletteIndex],a=this._font._getBaseGlyph(i.gid);l.push(new qi(a,u))}return l}render(e,t){for(let{glyph:r,color:s}of this.layers)e.fillColor([s.red,s.green,s.blue],s.alpha/255*100),r.render(e,t)}constructor(...e){super(...e),Ue(this,"type","COLR")}},f3=32768,d3=4095,h3=32768,nd=16384,p3=8192,rd=4095,sd=128,id=127,m3=128,g3=64,b3=63,Ha=class{normalizeCoords(e){let t=[];for(var r=0;r<this.font.fvar.axis.length;r++){let s=this.font.fvar.axis[r];e[r]<s.defaultValue?t.push((e[r]-s.defaultValue+Number.EPSILON)/(s.defaultValue-s.minValue+Number.EPSILON)):t.push((e[r]-s.defaultValue+Number.EPSILON)/(s.maxValue-s.defaultValue+Number.EPSILON))}if(this.font.avar)for(var r=0;r<this.font.avar.segment.length;r++){let i=this.font.avar.segment[r];for(let o=0;o<i.correspondence.length;o++){let a=i.correspondence[o];if(o>=1&&t[r]<a.fromCoord){let u=i.correspondence[o-1];t[r]=((t[r]-u.fromCoord)*(a.toCoord-u.toCoord)+Number.EPSILON)/(a.fromCoord-u.fromCoord+Number.EPSILON)+u.toCoord;break}}}return t}transformPoints(e,t){if(!this.font.fvar||!this.font.gvar)return;let{gvar:r}=this.font;if(e>=r.glyphCount)return;let s=r.offsets[e];if(s===r.offsets[e+1])return;let{stream:i}=this.font;if(i.pos=s,i.pos>=i.length)return;let o=i.readUInt16BE(),a=s+i.readUInt16BE();if(o&f3){var u=i.pos;i.pos=a;var l=this.decodePoints();a=i.pos,i.pos=u}let f=t.map(y=>y.copy());o&=d3;for(let y=0;y<o;y++){let A=i.readUInt16BE(),I=i.readUInt16BE();if(I&h3){var d=[];for(let S=0;S<r.axisCount;S++)d.push(i.readInt16BE()/16384)}else{if((I&rd)>=r.globalCoordCount)throw new Error("Invalid gvar table");var d=r.globalCoords[I&rd]}if(I&nd){var h=[];for(let S=0;S<r.axisCount;S++)h.push(i.readInt16BE()/16384);var p=[];for(let S=0;S<r.axisCount;S++)p.push(i.readInt16BE()/16384)}let m=this.tupleFactor(I,d,h,p);if(m===0){a+=A;continue}var u=i.pos;if(i.pos=a,I&p3)var g=this.decodePoints();else var g=l;let M=g.length===0?t.length:g.length,$=this.decodeDeltas(M),_=this.decodeDeltas(M);if(g.length===0)for(let S=0;S<t.length;S++){var E=t[S];E.x+=Math.round($[S]*m),E.y+=Math.round(_[S]*m)}else{let S=f.map(v=>v.copy()),D=t.map(()=>!1);for(let v=0;v<g.length;v++){let F=g[v];if(F<t.length){let C=S[F];D[F]=!0,C.x+=$[v]*m,C.y+=_[v]*m}}this.interpolateMissingDeltas(S,f,D);for(let v=0;v<t.length;v++){let F=S[v].x-f[v].x,C=S[v].y-f[v].y;t[v].x=Math.round(t[v].x+F),t[v].y=Math.round(t[v].y+C)}}a+=A,i.pos=u}}decodePoints(){let e=this.font.stream,t=e.readUInt8();t&sd&&(t=(t&id)<<8|e.readUInt8());let r=new Uint16Array(t),s=0,i=0;for(;s<t;){let o=e.readUInt8(),a=(o&id)+1,u=o&sd?e.readUInt16:e.readUInt8;for(let l=0;l<a&&s<t;l++)i+=u.call(e),r[s++]=i}return r}decodeDeltas(e){let t=this.font.stream,r=0,s=new Int16Array(e);for(;r<e;){let i=t.readUInt8(),o=(i&b3)+1;if(i&m3)r+=o;else{let a=i&g3?t.readInt16BE:t.readInt8;for(let u=0;u<o&&r<e;u++)s[r++]=a.call(t)}}return s}tupleFactor(e,t,r,s){let i=this.normalizedCoords,{gvar:o}=this.font,a=1;for(let u=0;u<o.axisCount;u++)if(t[u]!==0){if(i[u]===0)return 0;if((e&nd)===0){if(i[u]<Math.min(0,t[u])||i[u]>Math.max(0,t[u]))return 0;a=(a*i[u]+Number.EPSILON)/(t[u]+Number.EPSILON)}else{if(i[u]<r[u]||i[u]>s[u])return 0;i[u]<t[u]?a=a*(i[u]-r[u]+Number.EPSILON)/(t[u]-r[u]+Number.EPSILON):a=a*(s[u]-i[u]+Number.EPSILON)/(s[u]-t[u]+Number.EPSILON)}}return a}interpolateMissingDeltas(e,t,r){if(e.length===0)return;let s=0;for(;s<e.length;){let i=s,o=s,a=e[o];for(;!a.endContour;)a=e[++o];for(;s<=o&&!r[s];)s++;if(s>o)continue;let u=s,l=s;for(s++;s<=o;)r[s]&&(this.deltaInterpolate(l+1,s-1,l,s,t,e),l=s),s++;l===u?this.deltaShift(i,o,l,t,e):(this.deltaInterpolate(l+1,o,l,u,t,e),u>0&&this.deltaInterpolate(i,u-1,l,u,t,e)),s=o+1}}deltaInterpolate(e,t,r,s,i,o){if(e>t)return;let a=["x","y"];for(let l=0;l<a.length;l++){let f=a[l];if(i[r][f]>i[s][f]){var u=r;r=s,s=u}let d=i[r][f],h=i[s][f],p=o[r][f],g=o[s][f];if(d!==h||p===g){let E=d===h?0:(g-p)/(h-d);for(let y=e;y<=t;y++){let A=i[y][f];A<=d?A+=p-d:A>=h?A+=g-h:A=p+(A-d)*E,o[y][f]=A}}}}deltaShift(e,t,r,s,i){let o=i[r].x-s[r].x,a=i[r].y-s[r].y;if(!(o===0&&a===0))for(let u=e;u<=t;u++)u!==r&&(i[u].x+=o,i[u].y+=a)}getAdvanceAdjustment(e,t){let r,s;if(t.advanceWidthMapping){let i=e;i>=t.advanceWidthMapping.mapCount&&(i=t.advanceWidthMapping.mapCount-1);let o=t.advanceWidthMapping.entryFormat;({outerIndex:r,innerIndex:s}=t.advanceWidthMapping.mapData[i])}else r=0,s=e;return this.getDelta(t.itemVariationStore,r,s)}getDelta(e,t,r){if(t>=e.itemVariationData.length)return 0;let s=e.itemVariationData[t];if(r>=s.deltaSets.length)return 0;let i=s.deltaSets[r],o=this.getBlendVector(e,t),a=0;for(let u=0;u<s.regionIndexCount;u++)a+=i.deltas[u]*o[u];return a}getBlendVector(e,t){let r=e.itemVariationData[t];if(this.blendVectors.has(r))return this.blendVectors.get(r);let s=this.normalizedCoords,i=[];for(let o=0;o<r.regionIndexCount;o++){let a=1,u=r.regionIndexes[o],l=e.variationRegionList.variationRegions[u];for(let f=0;f<l.length;f++){let d=l[f],h;d.startCoord>d.peakCoord||d.peakCoord>d.endCoord||d.startCoord<0&&d.endCoord>0&&d.peakCoord!==0||d.peakCoord===0?h=1:s[f]<d.startCoord||s[f]>d.endCoord?h=0:s[f]===d.peakCoord?h=1:s[f]<d.peakCoord?h=(s[f]-d.startCoord+Number.EPSILON)/(d.peakCoord-d.startCoord+Number.EPSILON):h=(d.endCoord-s[f]+Number.EPSILON)/(d.endCoord-d.peakCoord+Number.EPSILON),a*=h}i[o]=a}return this.blendVectors.set(r,i),i}constructor(e,t){this.font=e,this.normalizedCoords=this.normalizeCoords(t),this.blendVectors=new Map}},V9=Promise.resolve(),Hi=class{includeGlyph(e){return typeof e=="object"&&(e=e.id),this.mapping[e]==null&&(this.glyphs.push(e),this.mapping[e]=this.glyphs.length-1),this.mapping[e]}constructor(e){this.font=e,this.glyphs=[],this.mapping={},this.includeGlyph(0)}},x3=1,y3=2,v3=4,w3=8,S3=16,k3=32,Xi=class{static size(e){return e>=0&&e<=255?1:2}static encode(e,t){t>=0&&t<=255?e.writeUInt8(t):e.writeInt16BE(t)}},od=new k({numberOfContours:T,xMin:T,yMin:T,xMax:T,yMax:T,endPtsOfContours:new b(c,"numberOfContours"),instructions:new b(L,c),flags:new b(L,0),xPoints:new b(Xi,0),yPoints:new b(Xi,0)}),Xa=class{encodeSimple(e,t=[]){let r=[],s=[],i=[],o=[],a=0,u=0,l=0,f=0,d=0;for(let A=0;A<e.commands.length;A++){let I=e.commands[A];for(let m=0;m<I.args.length;m+=2){let P=I.args[m],M=I.args[m+1],$=0;if(I.command==="quadraticCurveTo"&&m===2){let _=e.commands[A+1];if(_&&_.command==="quadraticCurveTo"){let S=(u+_.args[0])/2,D=(l+_.args[1])/2;if(P===S&&M===D)continue}}I.command==="quadraticCurveTo"&&m===0||($|=x3),$=this._encodePoint(P,u,s,$,y3,S3),$=this._encodePoint(M,l,i,$,v3,k3),$===f&&a<255?(o[o.length-1]|=w3,a++):(a>0&&(o.push(a),a=0),o.push($),f=$),u=P,l=M,d++}I.command==="closePath"&&r.push(d-1)}e.commands.length>1&&e.commands[e.commands.length-1].command!=="closePath"&&r.push(d-1);let h=e.bbox,p={numberOfContours:r.length,xMin:h.minX,yMin:h.minY,xMax:h.maxX,yMax:h.maxY,endPtsOfContours:r,instructions:t,flags:o,xPoints:s,yPoints:i},g=od.size(p),E=4-g%4,y=new Ot(g+E);return od.encode(y,p),E!==0&&y.fill(0,E),y.buffer}_encodePoint(e,t,r,s,i,o){let a=e-t;return e===t?s|=o:(-255<=a&&a<=255&&(s|=i,a<0?a=-a:s|=o),r.push(a)),s}},Ya=class extends Hi{_addGlyph(e){let t=this.font.getGlyph(e),r=t._decode(),s=this.font.loca.offsets[e],i=this.font.loca.offsets[e+1],o=this.font._getTableStream("glyf");o.pos+=s;let a=o.readBuffer(i-s);if(r&&r.numberOfContours<0){a=new Uint8Array(a);let u=new DataView(a.buffer);for(let l of r.components)e=this.includeGlyph(l.glyphID),u.setUint16(l.pos,e)}else r&&this.font._variationProcessor&&(a=this.glyphEncoder.encodeSimple(t.path,r.instructions));return this.glyf.push(a),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:t.advanceWidth,bearing:t._getMetrics().leftBearing}),this.offset+=a.length,this.glyf.length-1}encode(){this.glyf=[],this.offset=0,this.loca={offsets:[],version:this.font.loca.version},this.hmtx={metrics:[],bearings:[]};let e=0;for(;e<this.glyphs.length;)this._addGlyph(this.glyphs[e++]);let t=(0,Ai.default)(this.font.maxp);t.numGlyphs=this.glyf.length,this.loca.offsets.push(this.offset);let r=(0,Ai.default)(this.font.head);r.indexToLocFormat=this.loca.version;let s=(0,Ai.default)(this.font.hhea);return s.numberOfMetrics=this.hmtx.metrics.length,Dd.toBuffer({tables:{head:r,hhea:s,loca:this.loca,maxp:t,"cvt ":this.font["cvt "],prep:this.font.prep,glyf:this.glyf,hmtx:this.hmtx,fpgm:this.font.fpgm}})}constructor(e){super(e),this.glyphEncoder=new Xa}},Za=class extends Hi{subsetCharstrings(){this.charstrings=[];let e={};for(let t of this.glyphs){this.charstrings.push(this.cff.getCharString(t));let r=this.font.getGlyph(t),s=r.path;for(let i in r._usedGsubrs)e[i]=!0}this.gsubrs=this.subsetSubrs(this.cff.globalSubrIndex,e)}subsetSubrs(e,t){let r=[];for(let s=0;s<e.length;s++){let i=e[s];t[s]?(this.cff.stream.pos=i.offset,r.push(this.cff.stream.readBuffer(i.length))):r.push(new Uint8Array([11]))}return r}subsetFontdict(e){e.FDArray=[],e.FDSelect={version:0,fds:[]};let t={},r=[],s={};for(let i of this.glyphs){let o=this.cff.fdForGlyph(i);if(o==null)continue;t[o]||(e.FDArray.push(Object.assign({},this.cff.topDict.FDArray[o])),r.push({}),s[o]=e.FDArray.length-1),t[o]=!0,e.FDSelect.fds.push(s[o]);let a=this.font.getGlyph(i),u=a.path;for(let l in a._usedSubrs)r[s[o]][l]=!0}for(let i=0;i<e.FDArray.length;i++){let o=e.FDArray[i];delete o.FontName,o.Private&&o.Private.Subrs&&(o.Private=Object.assign({},o.Private),o.Private.Subrs=this.subsetSubrs(o.Private.Subrs,r[i]))}}createCIDFontdict(e){let t={};for(let s of this.glyphs){let i=this.font.getGlyph(s),o=i.path;for(let a in i._usedSubrs)t[a]=!0}let r=Object.assign({},this.cff.topDict.Private);return this.cff.topDict.Private&&this.cff.topDict.Private.Subrs&&(r.Subrs=this.subsetSubrs(this.cff.topDict.Private.Subrs,t)),e.FDArray=[{Private:r}],e.FDSelect={version:3,nRanges:1,ranges:[{first:0,fd:0}],sentinel:this.charstrings.length}}addString(e){return e?(this.strings||(this.strings=[]),this.strings.push(e),Oi.length+this.strings.length-1):null}encode(){this.subsetCharstrings();let e={version:this.charstrings.length>255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},t=Object.assign({},this.cff.topDict);t.Private=null,t.charset=e,t.Encoding=null,t.CharStrings=this.charstrings;for(let s of["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"])t[s]=this.addString(this.cff.string(t[s]));t.ROS=[this.addString("Adobe"),this.addString("Identity"),0],t.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(t):this.createCIDFontdict(t);let r={version:1,hdrSize:this.cff.hdrSize,offSize:4,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[t],stringIndex:this.strings,globalSubrIndex:this.gsubrs};return Td.toBuffer(r)}constructor(e){if(super(e),this.cff=this.font["CFF "],!this.cff)throw new Error("Not a CFF Font")}},Le=class n{static probe(e){let t=Ji.decode(e.slice(0,4));return t==="true"||t==="OTTO"||t==="\0\0\0"}setDefaultLanguage(e=null){this.defaultLanguage=e}_getTable(e){if(!(e.tag in this._tables))try{this._tables[e.tag]=this._decodeTable(e)}catch(t){hd&&(console.error(`Error decoding table ${e.tag}`),console.error(t.stack))}return this._tables[e.tag]}_getTableStream(e){let t=this.directory.tables[e];return t?(this.stream.pos=t.offset,this.stream):null}_decodeDirectory(){return this.directory=Dd.decode(this.stream,{_startOffset:0})}_decodeTable(e){let t=this.stream.pos,r=this._getTableStream(e.tag),s=Ri[e.tag].decode(r,this,e.length);return this.stream.pos=t,s}getName(e,t=this.defaultLanguage||Ti){let r=this.name&&this.name.records[e];return r&&(r[t]||r[this.defaultLanguage]||r[Ti]||r.en||r[Object.keys(r)[0]])||null}get postscriptName(){return this.getName("postscriptName")}get fullName(){return this.getName("fullName")}get familyName(){return this.getName("fontFamily")}get subfamilyName(){return this.getName("fontSubfamily")}get copyright(){return this.getName("copyright")}get version(){return this.getName("version")}get ascent(){return this.hhea.ascent}get descent(){return this.hhea.descent}get lineGap(){return this.hhea.lineGap}get underlinePosition(){return this.post.underlinePosition}get underlineThickness(){return this.post.underlineThickness}get italicAngle(){return this.post.italicAngle}get capHeight(){let e=this["OS/2"];return e?e.capHeight:this.ascent}get xHeight(){let e=this["OS/2"];return e?e.xHeight:0}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get bbox(){return Object.freeze(new Kt(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new Yr(this.cmap)}get characterSet(){return this._cmapProcessor.getCharacterSet()}hasGlyphForCodePoint(e){return!!this._cmapProcessor.lookup(e)}glyphForCodePoint(e){return this.getGlyph(this._cmapProcessor.lookup(e),[e])}glyphsForString(e){let t=[],r=e.length,s=0,i=-1,o=-1;for(;s<=r;){let a=0,u=0;if(s<r){if(a=e.charCodeAt(s++),55296<=a&&a<=56319&&s<r){let l=e.charCodeAt(s);56320<=l&&l<=57343&&(s++,a=((a&1023)<<10)+(l&1023)+65536)}u=65024<=a&&a<=65039||917760<=a&&a<=917999?1:0}else s++;o===0&&u===1?t.push(this.getGlyph(this._cmapProcessor.lookup(i,a),[i,a])):o===0&&u===0&&t.push(this.glyphForCodePoint(i)),i=a,o=u}return t}get _layoutEngine(){return new Ga(this)}layout(e,t,r,s,i){return this._layoutEngine.layout(e,t,r,s,i)}stringsForGlyph(e){return this._layoutEngine.stringsForGlyph(e)}get availableFeatures(){return this._layoutEngine.getAvailableFeatures()}getAvailableFeatures(e,t){return this._layoutEngine.getAvailableFeatures(e,t)}_getBaseGlyph(e,t=[]){return this._glyphs[e]||(this.directory.tables.glyf?this._glyphs[e]=new or(e,t,this):(this.directory.tables["CFF "]||this.directory.tables.CFF2)&&(this._glyphs[e]=new _a(e,t,this))),this._glyphs[e]||null}getGlyph(e,t=[]){return this._glyphs[e]||(this.directory.tables.sbix?this._glyphs[e]=new Wa(e,t,this):this.directory.tables.COLR&&this.directory.tables.CPAL?this._glyphs[e]=new qa(e,t,this):this._getBaseGlyph(e,t)),this._glyphs[e]||null}createSubset(){return this.directory.tables["CFF "]?new Za(this):new Ya(this)}get variationAxes(){let e={};if(!this.fvar)return e;for(let t of this.fvar.axis)e[t.axisTag.trim()]={name:t.name.en,min:t.minValue,default:t.defaultValue,max:t.maxValue};return e}get namedVariations(){let e={};if(!this.fvar)return e;for(let t of this.fvar.instance){let r={};for(let s=0;s<this.fvar.axis.length;s++){let i=this.fvar.axis[s];r[i.axisTag.trim()]=t.coord[s]}e[t.name.en]=r}return e}getVariation(e){if(!(this.directory.tables.fvar&&(this.directory.tables.gvar&&this.directory.tables.glyf||this.directory.tables.CFF2)))throw new Error("Variations require a font with the fvar, gvar and glyf, or CFF2 tables.");if(typeof e=="string"&&(e=this.namedVariations[e]),typeof e!="object")throw new Error("Variation settings must be either a variation name or settings object.");let t=this.fvar.axis.map((i,o)=>{let a=i.axisTag.trim();return a in e?Math.max(i.minValue,Math.min(i.maxValue,e[a])):i.defaultValue}),r=new he(this.stream.buffer);r.pos=this._directoryPos;let s=new n(r,t);return s._tables=this._tables,s}get _variationProcessor(){if(!this.fvar)return null;let e=this.variationCoords;return!e&&!this.CFF2?null:(e||(e=this.fvar.axis.map(t=>t.defaultValue)),new Ha(this,e))}getFont(e){return this.getVariation(e)}constructor(e,t=null){Ue(this,"type","TTF"),this.defaultLanguage=null,this.stream=e,this.variationCoords=t,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory();for(let r in this.directory.tables){let s=this.directory.tables[r];Ri[r]&&s.length>0&&Object.defineProperty(this,r,{get:this._getTable.bind(this,s)})}}};ke([Me],Le.prototype,"bbox",null);ke([Me],Le.prototype,"_cmapProcessor",null);ke([Me],Le.prototype,"characterSet",null);ke([Me],Le.prototype,"_layoutEngine",null);ke([Me],Le.prototype,"variationAxes",null);ke([Me],Le.prototype,"namedVariations",null);ke([Me],Le.prototype,"_variationProcessor",null);C3=new k({tag:new ie(4),offset:new x(w,"void",{type:"global"}),compLength:w,length:w,origChecksum:w}),zd=new k({tag:new ie(4),flavor:w,length:w,numTables:c,reserved:new ue(c),totalSfntSize:w,majorVersion:c,minorVersion:c,metaOffset:w,metaLength:w,metaOrigLength:w,privOffset:w,privLength:w,tables:new b(C3,"numTables")});zd.process=function(){let n={};for(let e of this.tables)n[e.tag]=e;this.tables=n};E3=zd,Ka=class extends Le{static probe(e){return Ji.decode(e.slice(0,4))==="wOFF"}_decodeDirectory(){this.directory=E3.decode(this.stream,{_startOffset:0})}_getTableStream(e){let t=this.directory.tables[e];if(t)if(this.stream.pos=t.offset,t.compLength<t.length){this.stream.pos+=2;let r=new Uint8Array(t.length),s=(0,fd.default)(this.stream.readBuffer(t.compLength-2),r);return new he(s)}else return this.stream;return null}constructor(...e){super(...e),Ue(this,"type","WOFF")}},Ja=class extends or{_decode(){return this._font._transformedGlyphs[this.id]}_getCBox(){return this.path.bbox}constructor(...e){super(...e),Ue(this,"type","WOFF2")}},ad={decode(n){let e=0,t=[0,1,2,3,4];for(let r=0;r<t.length;r++){let s=t[r],i=n.readUInt8();if(e&3758096384)throw new Error("Overflow");if(e=e<<7|i&127,(i&128)===0)return e}throw new Error("Bad base 128 number")}},A3=["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"],O3=new k({flags:L,customTag:new Vt(new ie(4),n=>(n.flags&63)===63),tag:n=>n.customTag||A3[n.flags&63],length:ad,transformVersion:n=>n.flags>>>6&3,transformed:n=>n.tag==="glyf"||n.tag==="loca"?n.transformVersion===0:n.transformVersion!==0,transformLength:new Vt(ad,n=>n.transformed)}),_d=new k({tag:new ie(4),flavor:w,length:w,numTables:c,reserved:new ue(c),totalSfntSize:w,totalCompressedSize:w,majorVersion:c,minorVersion:c,metaOffset:w,metaLength:w,metaOrigLength:w,privOffset:w,privLength:w,tables:new b(O3,"numTables")});_d.process=function(){let n={};for(let e=0;e<this.tables.length;e++){let t=this.tables[e];n[t.tag]=t}return this.tables=n};I3=_d,Qa=class extends Le{static probe(e){return Ji.decode(e.slice(0,4))==="wOF2"}_decodeDirectory(){this.directory=I3.decode(this.stream),this._dataPos=this.stream.pos}_decompress(){if(!this._decompressed){this.stream.pos=this._dataPos;let e=this.stream.readBuffer(this.directory.totalCompressedSize),t=0;for(let s in this.directory.tables){let i=this.directory.tables[s];i.offset=t,t+=i.transformLength!=null?i.transformLength:i.length}let r=(0,dd.default)(e,t);if(!r)throw new Error("Error decoding compressed data in WOFF2");this.stream=new he(r),this._decompressed=!0}}_decodeTable(e){return this._decompress(),super._decodeTable(e)}_getBaseGlyph(e,t=[]){if(!this._glyphs[e])return this.directory.tables.glyf&&this.directory.tables.glyf.transformed?(this._transformedGlyphs||this._transformGlyfTable(),this._glyphs[e]=new Ja(e,t,this)):super._getBaseGlyph(e,t)}_transformGlyfTable(){this._decompress(),this.stream.pos=this.directory.tables.glyf.offset;let e=T3.decode(this.stream),t=[];for(let s=0;s<e.numGlyphs;s++){let i={},o=e.nContours.readInt16BE();if(i.numberOfContours=o,o>0){let a=[],u=0;for(let l=0;l<o;l++){let f=da(e.nPoints);u+=f,a.push(u)}i.points=$3(e.flags,e.glyphs,u);for(let l=0;l<o;l++)i.points[a[l]-1].endContour=!0;var r=da(e.glyphs)}else if(o<0&&or.prototype._decodeComposite.call({_font:this},i,e.composites))var r=da(e.glyphs);t.push(i)}this._transformedGlyphs=t}constructor(...e){super(...e),Ue(this,"type","WOFF2")}},Ft=class{decode(e,t){return new he(this._buf.decode(e,t))}constructor(e){this.length=e,this._buf=new ze(e)}},T3=new k({version:w,numGlyphs:c,indexFormat:c,nContourStreamSize:w,nPointsStreamSize:w,flagStreamSize:w,glyphStreamSize:w,compositeStreamSize:w,bboxStreamSize:w,instructionStreamSize:w,nContours:new Ft("nContourStreamSize"),nPoints:new Ft("nPointsStreamSize"),flags:new Ft("flagStreamSize"),glyphs:new Ft("glyphStreamSize"),composites:new Ft("compositeStreamSize"),bboxes:new Ft("bboxStreamSize"),instructions:new Ft("instructionStreamSize")}),P3=253,M3=254,F3=255,ud=253;D3=new J(w,{65536:{numFonts:w,offsets:new b(w,"numFonts")},131072:{numFonts:w,offsets:new b(w,"numFonts"),dsigTag:w,dsigLength:w,dsigOffset:w}}),eu=class{static probe(e){return Ji.decode(e.slice(0,4))==="ttcf"}getFont(e){for(let t of this.header.offsets){let r=new he(this.stream.buffer);r.pos=t;let s=new Le(r);if(s.postscriptName===e||s.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&s.postscriptName.every((i,o)=>e[o]===i))return s}return null}get fonts(){let e=[];for(let t of this.header.offsets){let r=new he(this.stream.buffer);r.pos=t,e.push(new Le(r))}return e}constructor(e){if(Ue(this,"type","TTC"),this.stream=e,e.readString(4)!=="ttcf")throw new Error("Not a TrueType collection");this.header=D3.decode(e)}},N3=new ie(L),j9=new k({len:w,buf:new ze("len")}),L3=new k({id:c,nameOffset:T,attr:L,dataOffset:It,handle:w}),R3=new k({name:new ie(4),maxTypeIndex:c,refList:new x(c,new b(L3,n=>n.maxTypeIndex+1),{type:"parent"})}),B3=new k({length:c,types:new b(R3,n=>n.length+1)}),U3=new k({reserved:new ue(L,24),typeList:new x(c,B3),nameListOffset:new x(c,"void")}),ld=new k({dataOffset:w,map:new x(w,U3),dataLength:w,mapLength:w}),tu=class{static probe(e){let t=new he(e);try{var r=ld.decode(t)}catch{return!1}for(let s of r.map.typeList.types)if(s.name==="sfnt")return!0;return!1}getFont(e){if(!this.sfnt)return null;for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,s=new he(this.stream.buffer.slice(r)),i=new Le(s);if(i.postscriptName===e||i.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&i.postscriptName.every((o,a)=>e[a]===o))return i}return null}get fonts(){let e=[];for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,s=new he(this.stream.buffer.slice(r));e.push(new Le(s))}return e}constructor(e){Ue(this,"type","DFont"),this.stream=e,this.header=ld.decode(this.stream);for(let t of this.header.map.typeList.types){for(let r of t.refList)r.nameOffset>=0?(this.stream.pos=r.nameOffset+this.header.map.nameListOffset,r.name=N3.decode(this.stream)):r.name=null;t.name==="sfnt"&&(this.sfnt=t)}}};ar(Le);ar(Ka);ar(Qa);ar(eu);ar(tu)});function uu(n){if(!n.startsWith("data:"))return;let e=n.indexOf(",");if(e<0)return;let t=n.slice(5,e),r=n.slice(e+1);try{return/;base64$/i.test(t)?V3(r):new TextEncoder().encode(decodeURIComponent(r))}catch{return}}function V3(n){let e=atob(n.replace(/\s+/g,"")),t=new Uint8Array(e.length);for(let r=0;r<e.length;r+=1)t[r]=e.charCodeAt(r);return t}function lu(n){return n instanceof Uint8Array?n:new Uint8Array(n)}function cu(n,e){let t=2166136261,r=1523705862,s=i=>{t=Math.imul(t^i,16777619)>>>0,r=Math.imul(r^i,16777621)>>>0};for(let i=0;i<e.length;i+=1)s(e.charCodeAt(i)&255);for(let i=0;i<n.length;i+=1)s(n[i]);return t.toString(16).padStart(8,"0")+r.toString(16).padStart(8,"0")}var fu=U(()=>{"use strict"});function Hd(n){let e={bytes:n,dropped:[]};if(n.byteLength<12)return e;let t=Xd(n),r=t.getUint32(0);if(r!==j3&&r!==G3&&r!==z3)return e;let s=t.getUint16(4);if(12+s*16>n.byteLength)return e;let i=[],o=[];for(let a=0;a<s;a+=1){let u=12+a*16,l=H3(t,u),f=t.getUint32(u+8),d=t.getUint32(u+12);if(f+d>n.byteLength)return e;let h=n.subarray(f,f+d);if(_3.has(l)||l==="kern"&&!W3(h)){o.push(l);continue}i.push({tag:l,checksum:t.getUint32(u+4),bytes:h})}return o.length===0?e:{bytes:q3(r,i),dropped:o}}function W3(n){if(n.byteLength<4)return!1;let e=Xd(n);if(e.getUint16(0)!==0)return!1;let t=4;for(let r=0;r<e.getUint16(2);r+=1){if(t+6>n.byteLength||e.getUint16(t+4)>>8!==0)return!1;t+=e.getUint16(t+2)}return!0}function q3(n,e){let t=[...e].sort((l,f)=>l.tag<f.tag?-1:l.tag>f.tag?1:0),r=12+t.length*16,s=t.reduce((l,f)=>l+qd(f.bytes.byteLength),r),i=new Uint8Array(s),o=new DataView(i.buffer),a=t.length>0?2**Math.floor(Math.log2(t.length)):0;o.setUint32(0,n),o.setUint16(4,t.length),o.setUint16(6,a*16),o.setUint16(8,a>0?Math.log2(a):0),o.setUint16(10,t.length*16-a*16);let u=r;return t.forEach((l,f)=>{let d=12+f*16;for(let h=0;h<4;h+=1)i[d+h]=l.tag.charCodeAt(h);o.setUint32(d+4,l.checksum),o.setUint32(d+8,u),o.setUint32(d+12,l.bytes.byteLength),i.set(l.bytes,u),u+=qd(l.bytes.byteLength)}),i}function qd(n){return n+3&-4}function Xd(n){return new DataView(n.buffer,n.byteOffset,n.byteLength)}function H3(n,e){return String.fromCharCode(n.getUint8(e),n.getUint8(e+1),n.getUint8(e+2),n.getUint8(e+3))}var j3,G3,z3,_3,du=U(()=>{"use strict";j3=65536,G3=1330926671,z3=1953658213,_3=new Set(["morx","mort","kerx","feat","trak","ankr","just","prop","lcar","opbd","bsln"])});function Jt(n,e,t){if(n.length===0)return;let r=t?"italic":"normal",s=n.filter(o=>o.style===r),i=s.length>0?s:n;return X3(i,e)}function X3(n,e){let t=n.find(i=>i.weight===e);if(t)return t;let r=n.filter(i=>i.weight<e).sort((i,o)=>o.weight-i.weight),s=n.filter(i=>i.weight>e).sort((i,o)=>i.weight-o.weight);if(e>=400&&e<=500){let i=s.filter(a=>a.weight<=500),o=s.filter(a=>a.weight>500);return i[0]??r[0]??o[0]}return e<400?r[0]??s[0]:s[0]??r[0]}var hu=U(()=>{"use strict"});function Qr(n){let e=[],t="",r;for(let i of n){if(r!==void 0){i===r?r=void 0:t+=i;continue}if(i==='"'||i==="'"){r=i;continue}if(i===","){s();continue}t+=i}return s(),e;function s(){let i=t.trim().replace(/\s+/g," ");i!==""&&e.push(i),t=""}}function es(n){let e=n.toLowerCase();return Y3.has(e)?"system":Z3.has(e)?"generic":"named"}var Y3,Z3,pu=U(()=>{"use strict";Y3=new Set(["system-ui","-apple-system","blinkmacsystemfont","ui-sans-serif","sans-serif"]),Z3=new Set(["serif","monospace","cursive","fantasy","math","emoji","fangsong","ui-serif","ui-monospace","ui-rounded"])});function gu(n={}){let e=n.defaultFamily??"Inter",t=new Map,r=new Map,s=new Set,i,o=new Map,a=new Set,u=[];function l(p){let g=K3(p);if(!g)return;let E=t.get(g.id)??g;if(t.set(E.id,E),p.origin!=="document"){let y=p.family.toLowerCase(),A=r.get(y)??[];if(!A.includes(E)){A.push(E),r.set(y,A);for(let I of[...s])I()}}return E}function f(p){if(!i)return;let g=p.toLowerCase(),E=o.get(g);if(E)return E;let y=i.family(p).then(A=>A.map(I=>l(I)).some(I=>I!==void 0),()=>!1);return o.set(g,y),y}function d(p,g,E){if(!i?.fallback)return;let y=[...new Set(p)].filter(A=>!a.has(`${A}|${g}|${E?1:0}`));if(y.length!==0){for(let A of y)a.add(`${A}|${g}|${E?1:0}`);return i.fallback(y.join(""),g,E).then(A=>{let I=!1;for(let m of A){let P=m.family.toLowerCase();u.includes(P)||u.push(P),l(m)&&(I=!0)}return I},()=>!1)}}return{add:l,faces:()=>[...t.values()],defaultFamily:e,setProvider(p){i=p,o.clear(),a.clear()},forDocument(p,g={}){return t4(p,g.loader,g.asset,{add:l,shared:E=>r.get(E.toLowerCase())??[],face:E=>t.get(E),lookup:f,fallbackFaces:(E,y)=>u.map(A=>Jt(r.get(A)??[],E,y)).filter(A=>A!==void 0),requestFallback:d,defaultFamily:e,subscribe(E){return s.add(E),()=>s.delete(E)}})},onChange(p){return s.add(p),()=>s.delete(p)}}}function K3(n){let{bytes:e,dropped:t}=Hd(n.bytes),r={...n,bytes:e},s;try{s=ur(r.bytes)}catch{return}let i="fonts"in s?s.fonts.find(f=>f.postscriptName===r.postscriptName)??s.fonts[0]:s;if(!i||typeof i.layout!="function"||!(i.unitsPerEm>0))return;let o=J3(i),a=r.weight??o.weight??400,u=r.style??(o.italic||i.italicAngle!==0?"italic":"normal");return{id:`vd-${cu(r.bytes,`${r.postscriptName??""}|${a}|${u}`)}`,family:r.family,weight:a,style:u,origin:r.origin,bytes:r.bytes,postscriptName:i.postscriptName,font:i,dropped:t}}function J3(n){try{let e=n["OS/2"];return{...e?.usWeightClass?{weight:e.usWeightClass}:{},italic:e?.fsSelection?.italic===!0}}catch{return{italic:!1}}}function Q3(n,e){return/\p{M}/u.test(n)||e===8204||e===8205||e>=65024&&e<=65039||e>=917760&&e<=917999||e>=127995&&e<=127999}function t4(n,e,t,r){let s=new Map,i=new Set,o=new Set,a=[],u=Rt(),l=new Map,f=new Map,d=new Map,h=new Map,p=!1,g=()=>{if(!p){l=new Map,f=new Map,h.clear();for(let v of[...o])v()}},E=r.subscribe(g);for(let v of Object.values(n.fonts))y(v);function y(v){let F=v.family.toLowerCase();for(let C of v.faces??[]){let N=C.asset!==void 0?`asset ${C.asset}`:C.src??"",W=j=>{if(!j){a.push({kind:"unloadable",requested:v.family,detail:N});return}let Y=s.get(F)??[];Y.includes(j)||Y.push(j),s.set(F,Y)},q=j=>({family:v.family,bytes:j,origin:"document",...C.weight!==void 0?{weight:C.weight}:{},...C.style!==void 0?{style:C.style}:{}}),ee=C.src===void 0?void 0:uu(C.src);if(ee){W(r.add(q(ee)));continue}let z,H;if(C.asset!==void 0){let j=n.assets[C.asset];H=j===void 0?`asset ${C.asset} (no asset by that name)`:`asset ${C.asset} (its bytes are not here)`;try{z=j===void 0?void 0:t?.(j,C.asset)}catch{z=void 0}}else{H=`${N} (a path, and nothing here can read one)`;try{z=e?.(N)}catch{z=void 0}}if(z===void 0){a.push({kind:"unloadable",requested:v.family,detail:H});continue}if(z instanceof Uint8Array||z instanceof ArrayBuffer){W(r.add(q(lu(z))));continue}A(Promise.resolve(z).then(j=>j===void 0?(W(void 0),!1):(W(r.add(q(lu(j)))),g(),!0),()=>(W(void 0),!1)))}}function A(v){i.add(v),v.finally(()=>i.delete(v))}function I(v){let F=v.toLowerCase();return s.get(F)??r.shared(F)}function m(v,F,C){let N=`${v}\0${F}\0${C?1:0}`,W=l.get(N);if(W)return W;let q=[],ee=[],z=te=>{te&&!q.includes(te)&&q.push(te)},H=I(r.defaultFamily),j=P(v);if(j){let te={faces:[j],issues:[]};return l.set(N,te),te}let Y;for(let te of Qr(v)){let We=es(te);if(We==="named"){q.length===0&&(Y??=te);let qe=I(te);if(qe.length>0){let K=Jt(qe,F,C);z(K),mu(ee,te,K,F,C);continue}let Fe=r.lookup(te);Fe&&A(Fe),ee.push({kind:"unavailable",requested:te});continue}let je=Jt(H,F,C);We==="generic"&&je&&q.length===0&&ee.push({kind:"generic",requested:te,used:je.family}),z(je),mu(ee,r.defaultFamily,je,F,C)}let pe=Jt(H,F,C);q.length===0&&pe&&mu(ee,r.defaultFamily,pe,F,C),z(pe);for(let te of r.fallbackFaces(F,C))z(te);let xe=q[0],Ce=ee.map(te=>te.kind==="unavailable"&&xe?{...te,used:xe.family}:te).filter(te=>te.kind!=="unavailable"||te.requested===Y),Ae={faces:q,issues:Ce};return l.set(N,Ae),Ae}function P(v){if(!(!v.startsWith("vd-")&&!v.startsWith('"vd-')))return r.face(v.replace(/^"|"$/g,""))}function M(v){for(let F of v.issues)h.set(`${F.kind}|${F.requested}|${F.used??""}|${F.detail??""}`,F)}function $(v){d.set(v.id,v);let F=v.dropped.filter(C=>["kern","kerx","morx","mort"].includes(C));return F.length>0&&h.set(`platform-layout|${v.family}`,{kind:"platform-layout",requested:v.family,detail:F.join(", ")}),v}function _(v){let F=m(v.family,v.weight,v.italic);M(F);let C=F.faces[0];return C?$(C):void 0}function S(v,F){let C=`${v.id}\0${F}`,N=f.get(C);if(N!==void 0)return N;let W;try{W=v.font.layout(F).advanceWidth}catch{W=0}return f.size>=e4&&(f=new Map),f.set(C,W),W}let D={advance(v,F){if(v==="")return 0;let C=D.itemize({text:v,style:F}),N=0;for(let W of C){let q=P(W.style.family);N+=q?S(q,W.text)*F.size/q.font.unitsPerEm:u.advance(W.text,{...F,letterSpacing:0})}return N+F.letterSpacing*[...v].length},metrics(v){let F=P(v.family)??_(v);if(!F)return u.metrics(v);let C=v.size/F.font.unitsPerEm;return{ascent:F.font.ascent*C,descent:-F.font.descent*C,lineGap:0}},itemize(v){if(P(v.style.family))return[v];let C=m(v.style.family,v.style.weight,v.style.italic);M(C);let N=C.faces[0];if(!N)return[v];let W=[],q,ee="",z=new Set;for(let H of v.text){let j=H.codePointAt(0)??0,Y;if(q&&(Q3(H,j)||r4(j)))Y=q;else{let pe=C.faces.find(xe=>n4(xe,j));!pe&&!/\s/.test(H)&&z.add(H),Y=pe??q??N}Y!==q&&ee!==""&&(W.push({text:ee,style:{...v.style,family:q.id}}),ee=""),q=$(Y),ee+=H}if(ee!==""&&q&&W.push({text:ee,style:{...v.style,family:q.id}}),z.size>0){let H=[...z].join(""),j=r.requestFallback(H,v.style.weight,v.style.italic);j&&A(j),h.set(`missing-glyphs|${v.style.family}|${H}`,{kind:"missing-glyphs",requested:v.style.family,used:N.family,detail:H})}return W}};return{measurer:D,usedFaces:()=>[...d.values()],faceOf:v=>P(v),issues:()=>[...a,...h.values()],async settle(){let v=!1;for(;i.size>0;)(await Promise.all([...i])).some(Boolean)&&(v=!0);return v},onChange(v){return o.add(v),()=>o.delete(v)},dispose(){p=!0,E(),o.clear()}}}function n4(n,e){try{return n.font.hasGlyphForCodePoint(e)}catch{return!1}}function r4(n){return n<32||n>=127&&n<160}function mu(n,e,t,r,s){t&&(s&&t.style!=="italic"&&n.push({kind:"no-italic",requested:e,used:t.family}),t.weight!==r&&n.push({kind:"weight",requested:e,used:t.family,detail:`${r} drawn as ${t.weight}`}))}var e4,Yd=U(()=>{"use strict";au();ui();fu();du();hu();pu();e4=5e4});var s4,ts,lr,Zd=U(()=>{"use strict";s4=[[100,"Thin"],[200,"ExtraLight"],[300,"Light"],[400,"Regular"],[500,"Medium"],[600,"SemiBold"],[700,"Bold"],[800,"ExtraBold"],[900,"Black"]],ts="Inter",lr=s4.flatMap(([n,e])=>[{family:ts,weight:n,style:"normal",file:`Inter-${e}.woff2`},{family:ts,weight:n,style:"italic",file:n===400?"Inter-Italic.woff2":`Inter-${e}Italic.woff2`}])});var Kd=U(()=>{"use strict"});var Jd=U(()=>{"use strict";au()});var Qd=U(()=>{"use strict";Yd();hu();pu();Zd();fu();du();Kd();Jd()});var sh={};vh(sh,{BUNDLED_FACE_COUNT:()=>o4,createExactFonts:()=>nh,exactFontsAt:()=>xu,exactSvg:()=>a4,exactSvgNow:()=>u4,facesFor:()=>bu});function bu(n){let e=new Set(Object.values(n.fonts).filter(o=>(o.faces?.length??0)>0).map(o=>o.family.toLowerCase())),t=new Set,r=(o,a,u)=>{if(!i4(o,e))return;let l=Jt(lr,a,u);l&&t.add(l)},s=Rt();return jn(n,{measure:{advance(o,a){return r(a.family,a.weight,a.italic),s.advance(o,a)},metrics(o){return r(o.family,o.weight,o.italic),s.metrics(o)}}}),lr.filter(o=>t.has(o))}function i4(n,e){for(let t of Qr(n)){if(es(t)!=="named")return!0;let r=t.toLowerCase();if(e.has(r))return!1;if(r===ts.toLowerCase())return!0}return!0}function nh(n){let e=gu(),t=n.read??f4,r=new Map,s=new Set;function i(o){let a=r.get(o.file);if(a)return a;let u=(async()=>{try{let l=await t(new URL(o.file,n.base));if(e.add({...o,bytes:l,origin:"bundled"})){s.add(o.file);return}return{file:o.file,reason:"not a font this package can read"}}catch(l){return{file:o.file,reason:l instanceof Error?l.message:String(l)}}})().then(l=>(l&&r.delete(o.file),l));return r.set(o.file,u),u}return{library:e,async ensure(o){return(await Promise.all(bu(o).map(i))).filter(u=>u!==void 0)},async ensureAll(){return(await Promise.all(lr.map(i))).filter(a=>a!==void 0)},has(o){return bu(o).every(a=>s.has(a.file))}}}function xu(n){let e=eh.get(n.href);return e||eh.set(n.href,e=nh({base:n})),e}async function a4(n,e){let t=xu(e.base),r=await t.ensure(n);if(r.length>0)return{failures:r};let s=t.library.forDocument(n);try{return await s.settle(),{svg:rh(n,s,e)}}finally{s.dispose()}}function u4(n,e){let t=xu(e.base);if(!t.has(n))return;let r=t.library.forDocument(n);try{return rh(n,r,e)}finally{r.dispose()}}function rh(n,e,t){let r=jn(n,{measure:e.measurer,...t.resolveAsset?{resolveAsset:t.resolveAsset}:{}});return Mr(l4(r,e),{ids:!1,...t.idPrefix?{idPrefix:t.idPrefix}:{}})}function l4(n,e){return{...n,items:n.items.map(t=>t.kind!=="text"?t:{...t,lines:t.lines.map(r=>({...r,spans:r.spans.map(s=>{let i=e.faceOf(s.style.family);return i?{...s,style:{...s.style,family:i.origin==="bundled"?`${th(i.family)}, sans-serif`:th(i.family),weight:i.weight,italic:i.style==="italic"}}:s})}))})}}function th(n){return/^[A-Za-z][A-Za-z0-9 -]*$/.test(n)?n:JSON.stringify(n)}function c4(){return globalThis.process?.getBuiltinModule?.("node:fs/promises")}async function f4(n){if(n.protocol==="file:"){let t=c4();if(!t)throw new Error(`cannot read ${n.href} here`);return new Uint8Array(await t.readFile(n))}let e=await fetch(n.href);if(!e.ok)throw new Error(`${n.href} answered ${e.status}`);return new Uint8Array(await e.arrayBuffer())}var o4,eh,ih=U(()=>{"use strict";Qd();ui();o4=lr.length,eh=new Map});import{mkdirSync as m4,readdirSync as g4,readFileSync as uh,statSync as lh,writeFileSync as b4,existsSync as x4}from"node:fs";import{basename as yu,dirname as vu,join as wu,relative as ch,resolve as ns}from"node:path";Je();ui();Je();var y0="0.5.5",v0="https://cdn.jsdelivr.net/npm/@getv.design/embed@0.5.5/fonts/";var _1=Symbol.for(`vdesign.embed.documents@${y0}`),Xl=globalThis[_1]??=new WeakMap,W1=/^Line (\d+): /;function q1(n){let e=W1.exec(n.message);return{...e?{line:Number(e[1])}:{},code:n.code,message:n.message,severity:n.severity}}function li(n){if(typeof n!="string")return w0(Ar("").document,new Map,[{code:"not-text",message:`parse() takes .vd text, not ${n===null?"null":typeof n}.`,severity:"error"}]);let e=Yl(n);if(e.vd===void 0)return w0(Ar("").document,new Map,[{code:"not-vd",message:"This SVG carries no vDesign document: only a .vd.svg exported from vDesign does.",severity:"error"}]);let{head:t,blocks:r}=No(e.vd),s=Ar(t),i=s.problems.map(q1).map(o=>o.line===void 0?o:{...o,line:o.line+e.offset});return w0(s.document,r,i)}function Yl(n){if(!Ho(n))return{vd:n,offset:0};let e=qo(n);if(e===void 0)return{vd:void 0,offset:0};let t=n.indexOf("<vd:document"),r=n.indexOf("</vd:document",t),s=n.indexOf("<![CDATA[",t);if(s===-1||r!==-1&&s>r){let a=n.indexOf(">",t)+1,u=n.slice(0,a).split(`
|
|
14
|
-
`).length-1;return{vd:e,offset:u+(
|
|
15
|
-
`?1:0)}}let i=s+9,o=
|
|
16
|
-
`).length-1;return{vd:e,offset:o+(
|
|
17
|
-
`?1:0)}}function
|
|
11
|
+
`}function e2(t,e){let n=t.parent===void 0?"":` clip-path="url(#${z(e+Zt+t.parent)})"`;return`<clipPath id="${z(e+Zt+t.id)}"${n}>${st(t,t.radii)}</clipPath>`}function st(t,e,n=[],r=[]){let s=r.map(o=>`${o} `).join(""),i=n.length===0?"":` ${n.join(" ")}`;if(e===void 0||!Mf(e)){let o=e!==void 0&&!zt(e)?` rx="${T(e.tl)}"`:"";return`<rect ${s}x="${T(t.x)}" y="${T(t.y)}" width="${T(t.w)}" height="${T(t.h)}"${o}${i}/>`}return`<path ${s}d="${Pf(t,e)}"${i}/>`}function Pf(t,e){return ht(tt(An(t.w,t.h,e),n=>({x:t.x+n.x,y:t.y+n.y})))}function Mf(t){return!zt(t)&&!oa(t)}function t2(t,e){if(t.kind==="layers")return n2(t,e);let n=t.stops.map(s=>`<stop offset="${T(s.offset)}" stop-color="${z(s.colour)}"${s.opacity===void 0?"":` stop-opacity="${T(s.opacity)}"`}/>`).join(""),r=z(e+t.id);return t.kind==="linear"?`<linearGradient id="${r}" gradientUnits="userSpaceOnUse" x1="${T(t.x1)}" y1="${T(t.y1)}" x2="${T(t.x2)}" y2="${T(t.y2)}">${n}</linearGradient>`:`<radialGradient id="${r}" gradientUnits="userSpaceOnUse" cx="0" cy="0" r="1" gradientTransform="matrix(${T(t.rx)} 0 0 ${T(t.ry)} ${T(t.cx)} ${T(t.cy)})">${n}</radialGradient>`}function n2(t,e){let n=`x="${T(t.x)}" y="${T(t.y)}" width="${T(t.w)}" height="${T(t.h)}"`,r=t.layers.map(s=>{if(s.kind==="paint"){let i=it(s.paint,{ids:!1,prefix:e});return`<rect ${n} fill="${z(i)}"/>`}return`<image href="${z(s.href)}" x="${T(s.x)}" y="${T(s.y)}" width="${T(s.w)}" height="${T(s.h)}" preserveAspectRatio="${Ff[s.fit]}"/>`}).join("");return`<pattern id="${z(e+t.id)}" patternUnits="userSpaceOnUse" ${n} viewBox="${T(t.x)} ${T(t.y)} ${T(t.w)} ${T(t.h)}">${r}</pattern>`}function Ft(t,e){let n=t.clip===void 0?[]:[`clip-path="url(#${z(e+Zt+t.clip)})"`];return t.rotation!==0&&n.push(`transform="${R0(t)}"`),io(t)&&n.push(`filter="url(#${z(e+so+t.id)})"`),t.blend!=="normal"&&n.push(`style="mix-blend-mode:${t.blend}"`),n}function io(t){return t.shadows.length>0||(t.blur??0)>0}function i2(t,e,n){let r=t.mask===void 0?ls(t):M0({...t,mask:t.mask}),s=e==="insets"?[]:t.shadows.filter(h=>!h.inset),i=e==="drops"?[]:t.shadows.filter(h=>h.inset),o=e==="all"?t.blur??0:0,a=to(r,s,o);for(let h of i){let p=Math.abs(h.x)+Math.abs(h.y)+dr(h.blur)+Math.abs(h.spread);a=o2(a,{x:r.x-p,y:r.y-p,w:r.w+p*2,h:r.h+p*2})}let u=2,l=[];s.forEach((h,p)=>{let m=`s${p}`,x="SourceAlpha";h.spread!==0&&(l.push(`<feMorphology in="${x}" operator="${h.spread>0?"dilate":"erode"}" radius="${T(Math.abs(h.spread))}" result="${m}m"/>`),x=`${m}m`),h.blur>0&&(l.push(`<feGaussianBlur in="${x}" stdDeviation="${T(h.blur/2)}" result="${m}b"/>`),x=`${m}b`),l.push(`<feOffset in="${x}" dx="${T(h.x)}" dy="${T(h.y)}" result="${m}o"/>`,`<feFlood flood-color="${z(h.colour)}" result="${m}c"/>`,`<feComposite in="${m}c" in2="${m}o" operator="in" result="${m}"/>`)}),i.length>0&&l.push(`<feComponentTransfer in="SourceAlpha" result="solid"><feFuncA type="linear" slope="${s2}"/></feComponentTransfer>`),i.forEach((h,p)=>{let m=`i${p}`,x="solid";h.spread!==0&&(l.push(`<feMorphology in="${x}" operator="${h.spread>0?"erode":"dilate"}" radius="${T(Math.abs(h.spread))}" result="${m}m"/>`),x=`${m}m`),l.push(`<feComponentTransfer in="${x}" result="${m}n"><feFuncA type="table" tableValues="1 0"/></feComponentTransfer>`),x=`${m}n`,h.blur>0&&(l.push(`<feGaussianBlur in="${x}" stdDeviation="${T(h.blur/2)}" result="${m}b"/>`),x=`${m}b`),l.push(`<feOffset in="${x}" dx="${T(h.x)}" dy="${T(h.y)}" result="${m}o"/>`,`<feFlood flood-color="${z(h.colour)}" result="${m}c"/>`,`<feComposite in="${m}c" in2="${m}o" operator="in" result="${m}k"/>`,`<feComposite in="${m}k" in2="solid" operator="in" result="${m}"/>`)});let c=[...s.map((h,p)=>`<feMergeNode in="s${s.length-1-p}"/>`),...e==="all"?['<feMergeNode in="SourceGraphic"/>']:[],...i.map((h,p)=>`<feMergeNode in="i${i.length-1-p}"/>`)].join(""),d=o>0?`<feMerge result="layer">${c}</feMerge><feGaussianBlur in="layer" stdDeviation="${T(o/2)}"/>`:`<feMerge>${c}</feMerge>`;return`<filter id="${z(n+so+t.id)}" filterUnits="userSpaceOnUse" x="${T(a.x-u)}" y="${T(a.y-u)}" width="${T(a.w+u*2)}" height="${T(a.h+u*2)}" color-interpolation-filters="sRGB">`+l.join("")+d+"</filter>"}function o2(t,e){let n=Math.min(t.x,e.x),r=Math.min(t.y,e.y);return{x:n,y:r,w:Math.max(t.x+t.w,e.x+e.w)-n,h:Math.max(t.y+t.h,e.y+e.h)-r}}function Nf(t){let e=new Map;for(let n of t)n.veil&&e.set(n.veil.id,n.veil);return[...e.values()]}function a2(t,e){let n=dr(t.blur)+2;return`<filter id="${z(e+D0+t.id)}" filterUnits="userSpaceOnUse" x="${T(t.x-n)}" y="${T(t.y-n)}" width="${T(t.w+n*2)}" height="${T(t.h+n*2)}" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="${T(t.blur/2)}"/></filter>`}function u2(t,e,n){let r=e.backdrop;if(r===void 0)return"";let s={ids:!1,prefix:n.prefix},i=F0(t.items,e).map(x=>L0(x,s)).filter(x=>x!=="");if(r.page===void 0&&t.background!==void 0&&i.unshift(`<rect x="${T(t.x)}" y="${T(t.y)}" width="${T(t.width)}" height="${T(t.height)}" fill="${z(it(t.background,n))}"/>`),i.length===0)return"";let o=l2(e);if(o==="")return"";let a=z(n.prefix+Df+e.id),u=e.pose,l=cr({x:e.x,y:e.y,w:e.w,h:e.h},e.rotation,Ht({x:e.x,y:e.y,w:e.w,h:e.h})),c=u?{x:u.sx*l.x+u.tx,y:u.sy*l.y+u.ty,w:u.sx*l.w,h:u.sy*l.h}:l,d=dr(r.blur)+2,h=`<filter id="${a}-blur" filterUnits="userSpaceOnUse" x="${T(c.x-d)}" y="${T(c.y-d)}" width="${T(c.w+d*2)}" height="${T(c.h+d*2)}" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation="${T(r.blur/2)}"/></filter>`,p=[];e.clip!==void 0&&p.push(`clip-path="url(#${z(n.prefix+Zt+e.clip)})"`);let m=("opacity"in e?e.opacity:1)*(u?.opacity??1);return m<1&&p.push(`opacity="${T(m)}"`),`<g${p.length===0?"":` ${p.join(" ")}`}><defs><clipPath id="${a}">${o}</clipPath>${h}</defs><g clip-path="url(#${a})" filter="url(#${a}-blur)">${i.join("")}</g></g>`}function l2(t){let e=t.rotation===0?"":R0(t),r=[t.pose?B0(t.pose):"",e].filter(i=>i!=="").join(" "),s=r===""?[]:[`transform="${r}"`];switch(t.kind){case"rect":case"frame":return st(t,t.radii,s);case"ellipse":return no(t,s);case"vector":return t.d===""?"":`<path d="${z(t.d)}"${t.rule==="evenodd"?' clip-rule="evenodd"':""}${s.length===0?"":` ${s.join(" ")}`}/>`;case"image":case"text":case"border":case"connector":return""}}function R0(t){return`rotate(${T(t.rotation)} ${T(t.x+t.w/2)} ${T(t.y+t.h/2)})`}function Rf(t){return t.rotation!==0&&t.clip!==void 0&&t.mask===void 0}function L0(t,e){if(t.veil!==void 0){let{veil:n,...r}=t,s=L0(r,e);if(s==="")return"";let i=[`filter="url(#${z(e.prefix+D0+n.id)})"`];return n.clip!==void 0&&i.push(`clip-path="url(#${z(e.prefix+Zt+n.clip)})"`),`<g ${i.join(" ")}>${s}</g>`}if(t.pose!==void 0)return c2(t,t.pose,e);if(t.mask!==void 0)return Lf(t,e);if(Rf(t)){let n=[`clip-path="url(#${z(e.prefix+Zt+t.clip)})"`];t.blend!=="normal"&&n.push(`style="mix-blend-mode:${t.blend}"`);let r=ro({...t,clip:void 0,blend:"normal"},e);return r===""?"":`<g ${n.join(" ")}>${r}</g>`}return ro(t,e)}function c2(t,e,n){let r=ro({...t,clip:void 0,blend:"normal",shadows:t.shadows},n);if(r==="")return"";let s=[];t.clip!==void 0&&s.push(`clip-path="url(#${z(n.prefix+Zt+t.clip)})"`),e.opacity<1&&s.push(`opacity="${T(e.opacity)}"`),t.blend!=="normal"&&s.push(`style="mix-blend-mode:${t.blend}"`);let i=e.sx===1&&e.sy===1&&e.tx===0&&e.ty===0?r:`<g transform="${B0(e)}">${r}</g>`;return s.length===0?i:`<g ${s.join(" ")}>${i}</g>`}function B0(t){return`matrix(${T(t.sx)} 0 0 ${T(t.sy)} ${T(t.tx)} ${T(t.ty)})`}function Lf(t,e){let n=ro(Bf(t),{...e,ids:!1});if(n==="")return"";let r=[];e.ids&&r.push(`id="${z(t.id)}"`),t.clip!==void 0&&r.push(`clip-path="url(#${z(e.prefix+Zt+t.clip)})"`),io(t)&&r.push(`filter="url(#${z(e.prefix+so+t.id)})"`),"opacity"in t&&t.opacity<1&&r.push(`opacity="${T(t.opacity)}"`),t.blend!=="normal"&&r.push(`style="mix-blend-mode:${t.blend}"`);let s=r.length===0?"<g>":`<g ${r.join(" ")}>`,i=f2(t,e.prefix);return`${s}<g clip-path="url(#${z(e.prefix+oo+t.id)})">${n}</g>${i===""?"":`<g>${i}</g>`}</g>`}function Bf(t){let e=Uf(t),n={..."opacity"in e?{...e,opacity:1}:e,clip:void 0,blend:"normal",shadows:[]};if(n.kind!=="image")return n;let{stroke:r,strokeWidth:s,...i}=n;return r===void 0&&s===void 0?n:i}function f2(t,e){let n=xt(t),r=t.mask;if(!n||r===void 0)return"";let s=z(r.d);if(n.align==="center")return`<path d="${s}" fill="none" ${Kt(t,n,e,!1).join(" ")}/>`;let i=Kt(t,n,e,!0).join(" ");if(n.align==="inside")return`<path d="${s}" fill="none" ${i} clip-path="url(#${z(e+oo+t.id)})"/>`;let o=z(e+j0+t.id);return`<clipPath id="${o}">${zf(r.contours,n)}</clipPath><path d="${s}" fill="none" ${i} clip-path="url(#${o})"/>`}function d2(t,e){let n=t.mask;if(n===void 0)return"";let r=n.rule==="evenodd"?' clip-rule="evenodd"':"";return`<clipPath id="${z(e+oo+t.id)}"><path d="${z(n.d)}"${r}/></clipPath>`}function Uf(t){let{mask:e,...n}=t;return e===void 0?t:n}function ro(t,e){if(t.mask!==void 0)return Lf(t,e);if(Gf(t))return w2(t,e);switch(t.kind){case"border":return g2(t,e);case"connector":return y2(t,e);case"ellipse":return b2(t,e);case"frame":return h2(t,e);case"image":return Vf(t,e);case"rect":return m2(t,e);case"text":return C2(t,e);case"vector":return x2(t,e)}}function it(t,e){return/url\(/i.test(t)&&!t.startsWith("url(#")?"none":e.prefix!==""&&t.startsWith("url(#")?`url(#${e.prefix}${t.slice(5)}`:t}function h2(t,e){return st(t,t.radii,[`fill="${t.background===void 0?"none":z(it(t.background,e))}"`,...Ft(t,e.prefix)],e.ids?[`id="${z(t.id)}"`]:[])}function Vf(t,e,n=!1){let r=e.ids?[`id="${z(t.id)}"`]:[],s=n?[]:Ft(t,e.prefix);if(t.href===void 0&&t.video?.clip!==void 0){let u=t.opacity<1?[`opacity="${T(t.opacity)}"`]:[],l=[...r,...u,...s];return`<g${l.length===0?"":` ${l.join(" ")}`}>${_f(t,e.prefix)}</g>`}if(t.href===void 0)return st(t,t.radii,['fill="none"',`stroke="${z(r2)}"`,'stroke-width="1"','stroke-dasharray="4 4"',...s],r);let i=[`x="${T(t.x)}"`,`y="${T(t.y)}"`,`width="${T(t.w)}"`,`height="${T(t.h)}"`,`href="${z(t.href)}"`,`preserveAspectRatio="${Ff[t.fit]}"`],o=t.opacity<1?[`opacity="${T(t.opacity)}"`]:[];if(zt(t.radii))return`<image ${[...r,...i,...o,...s].join(" ")}/>`;let a=z(e.prefix+U0+t.id);return`${n?"<g>":`<g ${[...r,...o,...s].join(" ")}>`}<clipPath id="${a}">${st(t,t.radii)}</clipPath><image ${[...i,`clip-path="url(#${a})"`].join(" ")}/></g>`}function _f(t,e=""){let n=[`x="${T(t.x)}"`,`y="${T(t.y)}"`,`width="${T(t.w)}"`,`height="${T(t.h)}"`],r=z(e+U0+t.id),s=zt(t.radii),i=`width:100%;height:100%;display:block;object-fit:${p2[t.fit]}`;return(s?"":`<clipPath id="${r}">${st(t,t.radii)}</clipPath>`)+`<foreignObject ${[...n,...s?[]:[`clip-path="url(#${r})"`]].join(" ")}><video xmlns="http://www.w3.org/1999/xhtml" data-vd-video="${z(t.id)}" src="${z(t.video?.clip??"")}" muted="" playsinline="" preload="auto" style="${i}"></video></foreignObject>`}function m2(t,e){return st(t,t.radii,[...V0(t,e),...jf(t,e),...Ft(t,e.prefix)],e.ids?[`id="${z(t.id)}"`]:[])}function g2(t,e){let n=xt(t);return n?st(t,t.radii,['fill="none"',...Kt(t,n,e.prefix,!1),...Ft(t,e.prefix)]):""}function jf(t,e){let n=xt(t);return n?Kt(t,n,e.prefix,!1).slice(2):[]}function V0(t,e){let n=[`fill="${z(it(t.fill,e))}"`];return t.stroke!==void 0&&t.strokeWidth>0&&n.push(`stroke="${z(it(t.stroke,e))}"`,`stroke-width="${T(t.strokeWidth)}"`),t.opacity<1&&n.push(`opacity="${T(t.opacity)}"`),n}function b2(t,e){let n=[];return e.ids&&n.push(`id="${z(t.id)}"`),n.push(`cx="${T(t.x+t.w/2)}"`,`cy="${T(t.y+t.h/2)}"`,`rx="${T(t.w/2)}"`,`ry="${T(t.h/2)}"`,...V0(t,e),...jf(t,e),...Ft(t,e.prefix)),`<ellipse ${n.join(" ")}/>`}function x2(t,e){if(t.d==="")return"";let n=[];e.ids&&n.push(`id="${z(t.id)}"`),n.push(`d="${z(t.d)}"`,...V0(t,e)),n.push(..._0(t,t.dash??[]));let r=t.pose?.fillOpacity;return r!==void 0&&r<1&&n.push(`fill-opacity="${T(r)}"`),t.rule!=="nonzero"&&n.push(`fill-rule="${t.rule}"`),t.cap!=="butt"&&n.push(`stroke-linecap="${t.cap}"`),t.join!=="miter"&&n.push(`stroke-linejoin="${t.join}"`),t.paintOrder!==void 0&&n.push(`paint-order="${t.paintOrder}"`),n.push(...Ft(t,e.prefix)),`<path ${n.join(" ")}/>`}function y2(t,e){let n=v2(t,e.prefix);if(n==="")return"";let r=[];return e.ids&&r.push(`id="${z(t.id)}"`),t.opacity<1&&r.push(`opacity="${T(t.opacity)}"`),r.push(...Ft(t,e.prefix)),`<g ${r.join(" ")}>${n}</g>`}function v2(t,e){if(!(t.strokeWidth>0))return"";let n=z(it(t.stroke,{ids:!1,prefix:e})),r=T(t.strokeWidth),s=t.pose?.trace,i=[`d="${z(t.d)}"`,'fill="none"',`stroke="${n}"`,`stroke-width="${r}"`,..._0(t,t.dash??[])];t.cap!=="butt"&&i.push(`stroke-linecap="${t.cap}"`);let o=[`<path ${i.join(" ")}/>`];return(u=>{u&&(t.filled.d!==""&&o.push(`<path d="${z(t.filled.d)}" fill="${n}"/>`),t.lined.d!==""&&o.push(`<path d="${z(t.lined.d)}" fill="none" stroke="${n}" stroke-width="${r}"/>`))})(s===void 0||s>=1),o.join("")}function _0(t,e){let n=t.kind==="vector"||t.kind==="connector",r=n?t.pose?.trace:void 0;if(r!==void 0&&n&&t.stroke!==void 0){let s=O0(e,va(t.contours),r),i=[`stroke-dasharray="${s.array.map(T).join(" ")}"`];return(s.offset!==0||e.length===0)&&i.push(`stroke-dashoffset="${T(s.offset)}"`),i}return e.length===0?[]:[`stroke-dasharray="${e.map(T).join(" ")}"`]}function Kt(t,e,n,r){let s=[`stroke="${z(it(e.paint,{ids:!1,prefix:n}))}"`,`stroke-width="${T(e.width*(r?2:1))}"`,..._0(t,e.dash)];return e.cap!=="butt"&&s.push(`stroke-linecap="${e.cap}"`),e.join!=="miter"&&s.push(`stroke-linejoin="${e.join}"`),s}function Gf(t){if(t.mask!==void 0)return!1;let e=xt(t);return!e||t.kind==="text"?!1:t.kind==="image"||e.align!=="center"}function w2(t,e){let n=[];return e.ids&&t.kind!=="border"&&n.push(`id="${z(t.id)}"`),"opacity"in t&&t.opacity<1&&n.push(`opacity="${T(t.opacity)}"`),n.push(...Ft(t,e.prefix)),`${n.length===0?"<g>":`<g ${n.join(" ")}>`}${k2(t,e.prefix)}</g>`}function k2(t,e){let n=xt(t),r={ids:!1,prefix:e},s="",i="",o=d=>{switch(t.kind){case"ellipse":i=no(t,d);return;case"vector":i=t.d===""?"":`<path d="${z(t.d)}" ${d.join(" ")}/>`;return;case"rect":case"image":case"border":i=st(t,t.radii,d);return;case"frame":case"text":return}};switch(t.kind){case"rect":s=st(t,t.radii,[`fill="${z(it(t.fill,r))}"`]);break;case"ellipse":s=no(t,[`fill="${z(it(t.fill,r))}"`]);break;case"vector":{let d=[`fill="${z(it(t.fill,r))}"`],h=t.pose?.fillOpacity;h!==void 0&&h<1&&d.push(`fill-opacity="${T(h)}"`),t.rule!=="nonzero"&&d.push(`fill-rule="${t.rule}"`),s=t.d===""?"":`<path d="${z(t.d)}" ${d.join(" ")}/>`;break}case"image":s=Vf({...t,opacity:1,clip:void 0,rotation:0,shadows:[],blend:"normal"},r,!0);break;case"border":case"frame":case"text":break}if(!n)return s;if(n.align==="center")return o(['fill="none"',...Kt(t,n,e,!1)]),s+i;let a=Hi(t,n);if(a){let d=['fill="none"',...Kt(t,n,e,!1)],h=t.kind==="ellipse"?no(a,d):st(a,a.radii,d);return s+h}let u=k0(t);if(!u)return s;let l=z(e+j0+t.id);o(['fill="none"',...Kt(t,n,e,!0),`clip-path="url(#${l})"`]);let c=n.align==="inside"?`<path d="${z(ht(u.contours))}"${u.rule==="evenodd"?' clip-rule="evenodd"':""}/>`:zf(u.contours,n);return`${s}<clipPath id="${l}">${c}</clipPath>${i}`}function zf(t,e){let n=S2(t),r=E0(e),s=n.x-r,i=n.y-r,o=n.x+n.w+r,a=n.y+n.h+r,u=`M${T(s)} ${T(i)}H${T(o)}V${T(a)}H${T(s)}Z`;return`<path d="${z(u+ht(t))}" clip-rule="evenodd"/>`}function S2(t){let e=1/0,n=1/0,r=-1/0,s=-1/0;for(let i of t)for(let o of i.anchors)for(let a of[o,o.in,o.out])a&&(e=Math.min(e,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),s=Math.max(s,a.y));return Number.isFinite(e)?{x:e,y:n,w:r-e,h:s-n}:{x:0,y:0,w:0,h:0}}function no(t,e){return`<ellipse cx="${T(t.x+t.w/2)}" cy="${T(t.y+t.h/2)}" rx="${T(t.w/2)}" ry="${T(t.h/2)}" ${e.join(" ")}/>`}function C2(t,e){if(t.lines.every(i=>i.spans.length===0))return"";let n=[];e.ids&&n.push(`id="${z(t.id)}"`),n.push('xml:space="preserve"'),t.opacity<1&&n.push(`opacity="${T(t.opacity)}"`);let r=xt(t);r&&n.push(...Kt(t,r,e.prefix,!1),'paint-order="stroke"'),n.push(...Ft(t,e.prefix));let s=[];for(let i of t.lines)for(let o of i.spans)o.text!==""&&s.push(E2(o,e));return`<text ${n.join(" ")}>${s.join("")}</text>`}function E2(t,e){let r=`<tspan ${[`x="${T(t.x)}"`,`y="${T(t.y)}"`,...O2(t.style,e)].join(" ")}>${A2(t.text)}</tspan>`;return t.style.link===void 0?r:`<a href="${z(t.style.link)}">${r}</a>`}function O2(t,e){let n=[`font-family="${z(t.family)}"`,`font-size="${T(t.size)}"`,`fill="${z(it(t.fill,e))}"`];t.weight!==400&&n.push(`font-weight="${T(t.weight)}"`),t.italic&&n.push('font-style="italic"'),t.letterSpacing!==0&&n.push(`letter-spacing="${T(t.letterSpacing)}"`);let r=[t.underline?"underline":"",t.strike?"line-through":""].filter(Boolean).join(" ");return r&&n.push(`text-decoration="${r}"`),n}function A2(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function z(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var Zt,Ff,r2,so,s2,D0,Df,oo,p2,U0,j0,G0=B(()=>{"use strict";He();pr();Xi();Zt="vd-clip-";Ff={cover:"xMidYMid slice",contain:"xMidYMid meet",fill:"none"},r2="#94A3B8";so="vd-shadow-";s2=20;D0="vd-veil-";Df="vd-backdrop-";oo="vd-mask-";p2={cover:"cover",contain:"contain",fill:"fill"},U0="vd-round-";j0="vd-stroke-"});function Wf(t,e={}){let{resolveAsset:n,measure:r,...s}=e;return cs(hr(t,{...n?{resolveAsset:n}:{},...r?{measure:r}:{}}),s)}var ao=B(()=>{"use strict";pr();Xi();Tf();Ki();$f();G0();pr();G0()});var M2,he,ds=B(()=>{M2={utf16le:"utf-16le",ucs2:"utf-16le",utf16be:"utf-16be"},he=class{constructor(e){this.buffer=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.pos=0,this.length=this.buffer.length}readString(e,n="ascii"){n=M2[n]||n;let r=this.readBuffer(e);try{return new TextDecoder(n).decode(r)}catch{return r}}readBuffer(e){return this.buffer.slice(this.pos,this.pos+=e)}readUInt24BE(){return(this.readUInt16BE()<<8)+this.readUInt8()}readUInt24LE(){return this.readUInt16LE()+(this.readUInt8()<<16)}readInt24BE(){return(this.readInt16BE()<<8)+this.readUInt8()}readInt24LE(){return this.readUInt16LE()+(this.readInt8()<<16)}};he.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8};for(let t of Object.getOwnPropertyNames(DataView.prototype))if(t.slice(0,3)==="get"){let e=t.slice(3).replace("Ui","UI");e==="Float32"?e="Float":e==="Float64"&&(e="Double");let n=he.TYPES[e];he.prototype["read"+e+(n===1?"":"BE")]=function(){let r=this.view[t](this.pos,!1);return this.pos+=n,r},n!==1&&(he.prototype["read"+e+"LE"]=function(){let r=this.view[t](this.pos,!0);return this.pos+=n,r})}});function Qf(t,e){let n=new Uint16Array(t.length);for(let r=0;r<t.length;r++){let s=t.charCodeAt(r);e&&(s=s>>8|(s&255)<<8),n[r]=s}return new Uint8Array(n.buffer)}function N2(t){let e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=t.charCodeAt(n);return e}var F2,Jf,Nt,X0=B(()=>{ds();F2=new TextEncoder,Jf=new Uint8Array(new Uint16Array([4660]).buffer)[0]==18,Nt=class{constructor(e){this.buffer=e,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.pos=0}writeBuffer(e){this.buffer.set(e,this.pos),this.pos+=e.length}writeString(e,n="ascii"){let r;switch(n){case"utf16le":case"utf16-le":case"ucs2":r=Qf(e,Jf);break;case"utf16be":case"utf16-be":r=Qf(e,!Jf);break;case"utf8":r=F2.encode(e);break;case"ascii":r=N2(e);break;default:throw new Error(`Unsupported encoding: ${n}`)}this.writeBuffer(r)}writeUInt24BE(e){this.buffer[this.pos++]=e>>>16&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e&255}writeUInt24LE(e){this.buffer[this.pos++]=e&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e>>>16&255}writeInt24BE(e){e>=0?this.writeUInt24BE(e):this.writeUInt24BE(e+16777215+1)}writeInt24LE(e){e>=0?this.writeUInt24LE(e):this.writeUInt24LE(e+16777215+1)}fill(e,n){if(n<this.buffer.length)this.buffer.fill(e,this.pos,this.pos+n),this.pos+=n;else{let r=new Uint8Array(n);r.fill(e),this.writeBuffer(r)}}};for(let t of Object.getOwnPropertyNames(DataView.prototype))if(t.slice(0,3)==="set"){let e=t.slice(3).replace("Ui","UI");e==="Float32"?e="Float":e==="Float64"&&(e="Double");let n=he.TYPES[e];Nt.prototype["write"+e+(n===1?"":"BE")]=function(r){this.view[t](this.pos,r,!1),this.pos+=n},n!==1&&(Nt.prototype["write"+e+"LE"]=function(r){this.view[t](this.pos,r,!0),this.pos+=n})}});var be,ot=B(()=>{ds();X0();be=class{fromBuffer(e){let n=new he(e);return this.decode(n)}toBuffer(e){let n=this.size(e),r=new Uint8Array(n),s=new Nt(r);return this.encode(s,e),r}}});var re,U,D2,f,lC,R2,Dt,cC,L2,k,fC,we,B2,D,dC,hC,pC,U2,Jt,mC,gC,bC,xC,yC,yt,V2,ed,vC,_2,me,wC,Mn=B(()=>{ds();ot();re=class extends be{constructor(e,n="BE"){super(),this.type=e,this.endian=n,this.fn=this.type,this.type[this.type.length-1]!=="8"&&(this.fn+=this.endian)}size(){return he.TYPES[this.type]}decode(e){return e[`read${this.fn}`]()}encode(e,n){return e[`write${this.fn}`](n)}},U=new re("UInt8"),D2=new re("UInt16","BE"),f=D2,lC=new re("UInt16","LE"),R2=new re("UInt24","BE"),Dt=R2,cC=new re("UInt24","LE"),L2=new re("UInt32","BE"),k=L2,fC=new re("UInt32","LE"),we=new re("Int8"),B2=new re("Int16","BE"),D=B2,dC=new re("Int16","LE"),hC=new re("Int24","BE"),pC=new re("Int24","LE"),U2=new re("Int32","BE"),Jt=U2,mC=new re("Int32","LE"),gC=new re("Float","BE"),bC=new re("Float","LE"),xC=new re("Double","BE"),yC=new re("Double","LE"),yt=class extends re{constructor(e,n,r=e>>1){super(`Int${e}`,n),this._point=1<<r}decode(e){return super.decode(e)/this._point}encode(e,n){return super.encode(e,n*this._point|0)}},V2=new yt(16,"BE"),ed=V2,vC=new yt(16,"LE"),_2=new yt(32,"BE"),me=_2,wC=new yt(32,"LE")});function Re(t,e,n){let r;if(typeof t=="number"?r=t:typeof t=="function"?r=t.call(n,n):n&&typeof t=="string"?r=n[t]:e&&t instanceof re&&(r=t.decode(e)),isNaN(r))throw new Error("Not a fixed size");return r}var Qt,Rt=B(()=>{Mn();Qt=class{constructor(e={}){this.enumerable=!0,this.configurable=!0;for(let n in e){let r=e[n];this[n]=r}}}});var v,Y0=B(()=>{ot();Mn();Rt();v=class extends be{constructor(e,n,r="count"){super(),this.type=e,this.length=n,this.lengthType=r}decode(e,n){let r,{pos:s}=e,i=[],o=n;if(this.length!=null&&(r=Re(this.length,e,n)),this.length instanceof re&&(Object.defineProperties(i,{parent:{value:n},_startOffset:{value:s},_currentOffset:{value:0,writable:!0},_length:{value:r}}),o=i),r==null||this.lengthType==="bytes"){let a=r!=null?e.pos+r:n?._length?n._startOffset+n._length:e.length;for(;e.pos<a;)i.push(this.type.decode(e,o))}else for(let a=0,u=r;a<u;a++)i.push(this.type.decode(e,o));return i}size(e,n,r=!0){if(!e)return this.type.size(null,n)*Re(this.length,null,n);let s=0;this.length instanceof re&&(s+=this.length.size(),n={parent:n,pointerSize:0});for(let i of e)s+=this.type.size(i,n);return n&&r&&this.length instanceof re&&(s+=n.pointerSize),s}encode(e,n,r){let s=r;this.length instanceof re&&(s={pointers:[],startOffset:e.pos,parent:r},s.pointerOffset=e.pos+this.size(n,s,!1),this.length.encode(e,n.length));for(let i of n)this.type.encode(e,i,s);if(this.length instanceof re){let i=0;for(;i<s.pointers.length;){let o=s.pointers[i++];o.type.encode(e,o.val,o.parent)}}}}});var ae,hs,td=B(()=>{Y0();Mn();Rt();ae=class extends v{decode(e,n){let{pos:r}=e,s=Re(this.length,e,n);this.length instanceof re&&(n={parent:n,_startOffset:r,_currentOffset:0,_length:s});let i=new hs(this.type,s,e,n);return e.pos+=s*this.type.size(null,n),i}size(e,n){return e instanceof hs&&(e=e.toArray()),super.size(e,n)}encode(e,n,r){return n instanceof hs&&(n=n.toArray()),super.encode(e,n,r)}},hs=class{constructor(e,n,r,s){this.type=e,this.length=n,this.stream=r,this.ctx=s,this.base=this.stream.pos,this.items=[]}get(e){if(!(e<0||e>=this.length)){if(this.items[e]==null){let{pos:n}=this.stream;this.stream.pos=this.base+this.type.size(null,this.ctx)*e,this.items[e]=this.type.decode(this.stream,this.ctx),this.stream.pos=n}return this.items[e]}}toArray(){let e=[];for(let n=0,r=this.length;n<r;n++)e.push(this.get(n));return e}}});var _e,nd=B(()=>{ot();_e=class extends be{constructor(e,n=[]){super(),this.type=e,this.flags=n}decode(e){let n=this.type.decode(e),r={};for(let s=0;s<this.flags.length;s++){let i=this.flags[s];i!=null&&(r[i]=!!(n&1<<s))}return r}size(){return this.type.size()}encode(e,n){let r=0;for(let s=0;s<this.flags.length;s++){let i=this.flags[s];i!=null&&n[i]&&(r|=1<<s)}return this.type.encode(e,r)}}});var rd=B(()=>{ot()});var Xe,sd=B(()=>{ot();Mn();Rt();Xe=class extends be{constructor(e){super(),this.length=e}decode(e,n){let r=Re(this.length,e,n);return e.readBuffer(r)}size(e,n){if(!e)return Re(this.length,null,n);let r=e.length;return this.length instanceof re&&(r+=this.length.size()),r}encode(e,n,r){return this.length instanceof re&&this.length.encode(e,n.length),e.writeBuffer(n)}}});var id=B(()=>{ot()});var en,od=B(()=>{ot();en=class extends be{constructor(e,n=!0){super(),this.type=e,this.condition=n}decode(e,n){let{condition:r}=this;if(typeof r=="function"&&(r=r.call(n,n)),r)return this.type.decode(e,n)}size(e,n){let{condition:r}=this;return typeof r=="function"&&(r=r.call(n,n)),r?this.type.size(e,n):0}encode(e,n,r){let{condition:s}=this;if(typeof s=="function"&&(s=s.call(r,r)),s)return this.type.encode(e,n,r)}}});var le,ad=B(()=>{ot();Rt();le=class extends be{constructor(e,n=1){super(),this.type=e,this.count=n}decode(e,n){e.pos+=this.size(null,n)}size(e,n){let r=Re(this.count,null,n);return this.type.size()*r}encode(e,n,r){return e.fill(0,this.size(n,r))}}});function K0(t){switch(t){case"ascii":case"utf8":return 1;case"utf16le":case"utf16-le":case"utf-16be":case"utf-16le":case"utf16be":case"utf16-be":case"ucs2":return 2;default:return 1}}function ud(t,e){switch(e){case"ascii":return t.length;case"utf8":let n=0;for(let r=0;r<t.length;r++){let s=t.charCodeAt(r);if(s>=55296&&s<=56319&&r<t.length-1){let i=t.charCodeAt(++r);(i&64512)===56320?s=((s&1023)<<10)+(i&1023)+65536:r--}(s&4294967168)===0?n++:(s&4294965248)===0?n+=2:(s&4294901760)===0?n+=3:(s&4292870144)===0&&(n+=4)}return n;case"utf16le":case"utf16-le":case"utf16be":case"utf16-be":case"ucs2":return t.length*2;default:throw new Error("Unknown encoding "+e)}}var oe,ld=B(()=>{ot();Mn();Rt();oe=class extends be{constructor(e,n="ascii"){super(),this.length=e,this.encoding=n}decode(e,n){let r,s,{encoding:i}=this;typeof i=="function"&&(i=i.call(n,n)||"ascii");let o=K0(i);if(this.length!=null)r=Re(this.length,e,n);else{let u;for({buffer:u,length:r,pos:s}=e;s<r-o+1&&(u[s]!==0||o===2&&u[s+1]!==0);)s+=o;r=s-e.pos}let a=e.readString(r,i);return this.length==null&&e.pos<e.length&&(e.pos+=o),a}size(e,n){if(e==null)return Re(this.length,null,n);let{encoding:r}=this;typeof r=="function"&&(r=r.call(n?.val,n?.val)||"ascii"),r==="utf16be"&&(r="utf16le");let s=ud(e,r);return this.length instanceof re&&(s+=this.length.size()),this.length==null&&(s+=K0(r)),s}encode(e,n,r){let{encoding:s}=this;if(typeof s=="function"&&(s=s.call(r?.val,r?.val)||"ascii"),this.length instanceof re&&this.length.encode(e,ud(n,s)),e.writeString(n,s),this.length==null)return K0(s)==2?e.writeUInt16LE(0):e.writeUInt8(0)}}});var C,Z0=B(()=>{ot();Rt();C=class extends be{constructor(e={}){super(),this.fields=e}decode(e,n,r=0){let s=this._setup(e,n,r);return this._parseFields(e,s,this.fields),this.process!=null&&this.process.call(s,e),s}_setup(e,n,r){let s={};return Object.defineProperties(s,{parent:{value:n},_startOffset:{value:e.pos},_currentOffset:{value:0,writable:!0},_length:{value:r}}),s}_parseFields(e,n,r){for(let i in r){var s;let o=r[i];typeof o=="function"?s=o.call(n,n):s=o.decode(e,n),s!==void 0&&(s instanceof Qt?Object.defineProperty(n,i,s):n[i]=s),n._currentOffset=e.pos-n._startOffset}}size(e,n,r=!0){e==null&&(e={});let s={parent:n,val:e,pointerSize:0};this.preEncode!=null&&this.preEncode.call(e);let i=0;for(let o in this.fields){let a=this.fields[o];a.size!=null&&(i+=a.size(e[o],s))}return r&&(i+=s.pointerSize),i}encode(e,n,r){let s;this.preEncode!=null&&this.preEncode.call(n,e);let i={pointers:[],startOffset:e.pos,parent:r,val:n,pointerSize:0};i.pointerOffset=e.pos+this.size(n,i,!1);for(let a in this.fields)s=this.fields[a],s.encode!=null&&s.encode(e,n[a],i);let o=0;for(;o<i.pointers.length;){let a=i.pointers[o++];a.type.encode(e,a.val,a.parent)}}}});var j2,ee,cd=B(()=>{Z0();j2=(t,e)=>e.reduce((n,r)=>n&&n[r],t),ee=class t extends C{constructor(e,n={}){super(),this.type=e,this.versions=n,typeof e=="string"&&(this.versionPath=e.split("."))}decode(e,n,r=0){let s=this._setup(e,n,r);typeof this.type=="string"?s.version=j2(n,this.versionPath):s.version=this.type.decode(e),this.versions.header&&this._parseFields(e,s,this.versions.header);let i=this.versions[s.version];if(i==null)throw new Error(`Unknown version ${s.version}`);return i instanceof t?i.decode(e,n):(this._parseFields(e,s,i),this.process!=null&&this.process.call(s,e),s)}size(e,n,r=!0){let s,i;if(!e)throw new Error("Not a fixed size");this.preEncode!=null&&this.preEncode.call(e);let o={parent:n,val:e,pointerSize:0},a=0;if(typeof this.type!="string"&&(a+=this.type.size(e.version,o)),this.versions.header)for(s in this.versions.header)i=this.versions.header[s],i.size!=null&&(a+=i.size(e[s],o));let u=this.versions[e.version];if(u==null)throw new Error(`Unknown version ${e.version}`);for(s in u)i=u[s],i.size!=null&&(a+=i.size(e[s],o));return r&&(a+=o.pointerSize),a}encode(e,n,r){let s,i;this.preEncode!=null&&this.preEncode.call(n,e);let o={pointers:[],startOffset:e.pos,parent:r,val:n,pointerSize:0};if(o.pointerOffset=e.pos+this.size(n,o,!1),typeof this.type!="string"&&this.type.encode(e,n.version),this.versions.header)for(s in this.versions.header)i=this.versions.header[s],i.encode!=null&&i.encode(e,n[s],o);let a=this.versions[n.version];for(s in a)i=a[s],i.encode!=null&&i.encode(e,n[s],o);let u=0;for(;u<o.pointers.length;){let l=o.pointers[u++];l.type.encode(e,l.val,l.parent)}}}});var w,mr,fd=B(()=>{Rt();ot();w=class extends be{constructor(e,n,r={}){if(super(),this.offsetType=e,this.type=n,this.options=r,this.type==="void"&&(this.type=null),this.options.type==null&&(this.options.type="local"),this.options.allowNull==null&&(this.options.allowNull=!0),this.options.nullValue==null&&(this.options.nullValue=0),this.options.lazy==null&&(this.options.lazy=!1),this.options.relativeTo){if(typeof this.options.relativeTo!="function")throw new Error("relativeTo option must be a function");this.relativeToGetter=r.relativeTo}}decode(e,n){let r=this.offsetType.decode(e,n);if(r===this.options.nullValue&&this.options.allowNull)return null;let s;switch(this.options.type){case"local":s=n._startOffset;break;case"immediate":s=e.pos-this.offsetType.size();break;case"parent":s=n.parent._startOffset;break;default:for(var i=n;i.parent;)i=i.parent;s=i._startOffset||0}this.options.relativeTo&&(s+=this.relativeToGetter(n));let o=r+s;if(this.type!=null){let a=null,u=()=>{if(a!=null)return a;let{pos:l}=e;return e.pos=o,a=this.type.decode(e,n),e.pos=l,a};return this.options.lazy?new Qt({get:u}):u()}else return o}size(e,n){let r=n;switch(this.options.type){case"local":case"immediate":break;case"parent":n=n.parent;break;default:for(;n.parent;)n=n.parent}let{type:s}=this;if(s==null){if(!(e instanceof mr))throw new Error("Must be a VoidPointer");({type:s}=e),e=e.value}if(e&&n){let i=s.size(e,r);n.pointerSize+=i}return this.offsetType.size()}encode(e,n,r){let s,i=r;if(n==null){this.offsetType.encode(e,this.options.nullValue);return}switch(this.options.type){case"local":s=r.startOffset;break;case"immediate":s=e.pos+this.offsetType.size(n,i);break;case"parent":r=r.parent,s=r.startOffset;break;default:for(s=0;r.parent;)r=r.parent}this.options.relativeTo&&(s+=this.relativeToGetter(i.val)),this.offsetType.encode(e,r.pointerOffset-s);let{type:o}=this;if(o==null){if(!(n instanceof mr))throw new Error("Must be a VoidPointer");({type:o}=n),n=n.value}return r.pointers.push({type:o,val:n,parent:i}),r.pointerOffset+=o.size(n,i)}},mr=class{constructor(e,n){this.type=e,this.value=n}}});var dd=B(()=>{X0();ds();Y0();td();nd();rd();sd();id();od();ad();ld();Z0();cd();Rt();Mn();fd()});function je(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var hd=B(()=>{});function Ce(t,e,n,r){var s=arguments.length,i=s<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(i=(s<3?o(i):s>3?o(e,n,i):o(e,n))||i);return s>3&&i&&Object.defineProperty(e,n,i),i}var pd=B(()=>{});var md=B(()=>{pd()});var bd=Oe((wE,gd)=>{"use strict";gd.exports=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,s,i;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(s=r;s--!==0;)if(!t(e[s],n[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(i=Object.keys(e),r=i.length,r!==Object.keys(n).length)return!1;for(s=r;s--!==0;)if(!Object.prototype.hasOwnProperty.call(n,i[s]))return!1;for(s=r;s--!==0;){var o=i[s];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n}});var Q0=Oe(lo=>{"use strict";lo.byteLength=z2;lo.toByteArray=q2;lo.fromByteArray=Y2;var vt=[],at=[],G2=typeof Uint8Array<"u"?Uint8Array:Array,J0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Nn=0,xd=J0.length;Nn<xd;++Nn)vt[Nn]=J0[Nn],at[J0.charCodeAt(Nn)]=Nn;var Nn,xd;at[45]=62;at[95]=63;function yd(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function z2(t){var e=yd(t),n=e[0],r=e[1];return(n+r)*3/4-r}function W2(t,e,n){return(e+n)*3/4-n}function q2(t){var e,n=yd(t),r=n[0],s=n[1],i=new G2(W2(t,r,s)),o=0,a=s>0?r-4:r,u;for(u=0;u<a;u+=4)e=at[t.charCodeAt(u)]<<18|at[t.charCodeAt(u+1)]<<12|at[t.charCodeAt(u+2)]<<6|at[t.charCodeAt(u+3)],i[o++]=e>>16&255,i[o++]=e>>8&255,i[o++]=e&255;return s===2&&(e=at[t.charCodeAt(u)]<<2|at[t.charCodeAt(u+1)]>>4,i[o++]=e&255),s===1&&(e=at[t.charCodeAt(u)]<<10|at[t.charCodeAt(u+1)]<<4|at[t.charCodeAt(u+2)]>>2,i[o++]=e>>8&255,i[o++]=e&255),i}function H2(t){return vt[t>>18&63]+vt[t>>12&63]+vt[t>>6&63]+vt[t&63]}function X2(t,e,n){for(var r,s=[],i=e;i<n;i+=3)r=(t[i]<<16&16711680)+(t[i+1]<<8&65280)+(t[i+2]&255),s.push(H2(r));return s.join("")}function Y2(t){for(var e,n=t.length,r=n%3,s=[],i=16383,o=0,a=n-r;o<a;o+=i)s.push(X2(t,o,o+i>a?a:o+i));return r===1?(e=t[n-1],s.push(vt[e>>2]+vt[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],s.push(vt[e>>10]+vt[e>>4&63]+vt[e<<2&63]+"=")),s.join("")}});var iu=Oe((SE,Td)=>{var nu=0,Sd=-3;function ps(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function K2(t,e){this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new ps,this.dtree=new ps}var Cd=new ps,Ed=new ps,ru=new Uint8Array(30),su=new Uint16Array(30),Od=new Uint8Array(30),Ad=new Uint16Array(30),Z2=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),vd=new ps,wt=new Uint8Array(320);function Id(t,e,n,r){var s,i;for(s=0;s<n;++s)t[s]=0;for(s=0;s<30-n;++s)t[s+n]=s/n|0;for(i=r,s=0;s<30;++s)e[s]=i,i+=1<<t[s]}function J2(t,e){var n;for(n=0;n<7;++n)t.table[n]=0;for(t.table[7]=24,t.table[8]=152,t.table[9]=112,n=0;n<24;++n)t.trans[n]=256+n;for(n=0;n<144;++n)t.trans[24+n]=n;for(n=0;n<8;++n)t.trans[168+n]=280+n;for(n=0;n<112;++n)t.trans[176+n]=144+n;for(n=0;n<5;++n)e.table[n]=0;for(e.table[5]=32,n=0;n<32;++n)e.trans[n]=n}var wd=new Uint16Array(16);function eu(t,e,n,r){var s,i;for(s=0;s<16;++s)t.table[s]=0;for(s=0;s<r;++s)t.table[e[n+s]]++;for(t.table[0]=0,i=0,s=0;s<16;++s)wd[s]=i,i+=t.table[s];for(s=0;s<r;++s)e[n+s]&&(t.trans[wd[e[n+s]]++]=s)}function Q2(t){t.bitcount--||(t.tag=t.source[t.sourceIndex++],t.bitcount=7);var e=t.tag&1;return t.tag>>>=1,e}function kt(t,e,n){if(!e)return n;for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var r=t.tag&65535>>>16-e;return t.tag>>>=e,t.bitcount-=e,r+n}function tu(t,e){for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var n=0,r=0,s=0,i=t.tag;do r=2*r+(i&1),i>>>=1,++s,n+=e.table[s],r-=e.table[s];while(r>=0);return t.tag=i,t.bitcount-=s,e.trans[n+r]}function eb(t,e,n){var r,s,i,o,a,u;for(r=kt(t,5,257),s=kt(t,5,1),i=kt(t,4,4),o=0;o<19;++o)wt[o]=0;for(o=0;o<i;++o){var l=kt(t,3,0);wt[Z2[o]]=l}for(eu(vd,wt,0,19),a=0;a<r+s;){var c=tu(t,vd);switch(c){case 16:var d=wt[a-1];for(u=kt(t,2,3);u;--u)wt[a++]=d;break;case 17:for(u=kt(t,3,3);u;--u)wt[a++]=0;break;case 18:for(u=kt(t,7,11);u;--u)wt[a++]=0;break;default:wt[a++]=c;break}}eu(e,wt,0,r),eu(n,wt,r,s)}function kd(t,e,n){for(;;){var r=tu(t,e);if(r===256)return nu;if(r<256)t.dest[t.destLen++]=r;else{var s,i,o,a;for(r-=257,s=kt(t,ru[r],su[r]),i=tu(t,n),o=t.destLen-kt(t,Od[i],Ad[i]),a=o;a<o+s;++a)t.dest[t.destLen++]=t.dest[a]}}}function tb(t){for(var e,n,r;t.bitcount>8;)t.sourceIndex--,t.bitcount-=8;if(e=t.source[t.sourceIndex+1],e=256*e+t.source[t.sourceIndex],n=t.source[t.sourceIndex+3],n=256*n+t.source[t.sourceIndex+2],e!==(~n&65535))return Sd;for(t.sourceIndex+=4,r=e;r;--r)t.dest[t.destLen++]=t.source[t.sourceIndex++];return t.bitcount=0,nu}function nb(t,e){var n=new K2(t,e),r,s,i;do{switch(r=Q2(n),s=kt(n,2,0),s){case 0:i=tb(n);break;case 1:i=kd(n,Cd,Ed);break;case 2:eb(n,n.ltree,n.dtree),i=kd(n,n.ltree,n.dtree);break;default:i=Sd}if(i!==nu)throw new Error("Data error")}while(!r);return n.destLen<n.dest.length?typeof n.dest.slice=="function"?n.dest.slice(0,n.destLen):n.dest.subarray(0,n.destLen):n.dest}J2(Cd,Ed);Id(ru,su,4,3);Id(Od,Ad,2,1);ru[28]=0;su[28]=258;Td.exports=nb});var Md=Oe((CE,Pd)=>{var rb=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,$d=(t,e,n)=>{let r=t[e];t[e]=t[n],t[n]=r},sb=t=>{let e=t.length;for(let n=0;n<e;n+=4)$d(t,n,n+3),$d(t,n+1,n+2)},ib=t=>{rb&&sb(t)};Pd.exports={swap32LE:ib}});var lu=Oe((EE,Dd)=>{var Fd=iu(),{swap32LE:ob}=Md(),uu=11,Dn=5,ab=uu-Dn,ub=65536>>uu,lb=1<<ab,cb=lb-1,co=2,fb=1<<Dn,ou=fb-1,Nd=65536>>Dn,db=1024>>Dn,hb=Nd+db,pb=hb,mb=32,gb=pb+mb,bb=1<<co,au=class{constructor(e){let n=typeof e.readUInt32BE=="function"&&typeof e.slice=="function";if(n||e instanceof Uint8Array){let r;if(n)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),r=e.readUInt32LE(8),e=e.slice(12);else{let s=new DataView(e.buffer);this.highStart=s.getUint32(0,!0),this.errorValue=s.getUint32(4,!0),r=s.getUint32(8,!0),e=e.subarray(12)}e=Fd(e,new Uint8Array(r)),e=Fd(e,new Uint8Array(r)),ob(e),this.data=new Uint32Array(e.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let n;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(n=(this.data[e>>Dn]<<co)+(e&ou),this.data[n]):e<=65535?(n=(this.data[Nd+(e-55296>>Dn)]<<co)+(e&ou),this.data[n]):e<this.highStart?(n=this.data[gb-ub+(e>>uu)],n=this.data[n+(e>>Dn&cb)],n=(n<<co)+(e&ou),this.data[n]):this.data[this.data.length-bb]}};Dd.exports=au});function Rn(t){return t&&t.__esModule?t.default:t}function ms(t){let e=cu.get(t);return Rn(tn).categories[e>>vb&Sb]}function Ud(t){let e=cu.get(t);return Rn(tn).combiningClasses[e>>wb&Cb]}function du(t){let e=cu.get(t);return Rn(tn).scripts[e>>kb&Eb]}function hu(t){return ms(t)==="Nd"}function pu(t){let e=ms(t);return e==="Mn"||e==="Me"||e==="Mc"}var Rd,Ld,tn,cu,xb,fo,yb,Bd,fu,ho,po,vb,wb,kb,Sb,Cb,Eb,OE,AE,Vd=B(()=>{Rd=jt(Q0(),1),Ld=jt(lu(),1);tn={};tn=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');cu=new Ld.default(Rd.default.toByteArray("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")),xb=Math.log2||(t=>Math.log(t)/Math.LN2),fo=t=>xb(t)+1|0,yb=fo(Rn(tn).categories.length-1),Bd=fo(Rn(tn).combiningClasses.length-1),fu=fo(Rn(tn).scripts.length-1),ho=fo(Rn(tn).eaw.length-1),po=10,vb=Bd+fu+ho+po,wb=fu+ho+po,kb=ho+po,Sb=(1<<yb)-1,Cb=(1<<Bd)-1,Eb=(1<<fu)-1,OE=(1<<ho)-1,AE=(1<<po)-1});var jd=Oe((TE,_d)=>{"use strict";var mu=1,gu=0,bu=class{constructor(e){this.stateTable=e.stateTable,this.accepting=e.accepting,this.tags=e.tags}match(e){var n=this;return{*[Symbol.iterator](){for(var r=mu,s=null,i=null,o=null,a=0;a<e.length;a++){var u=e[a];o=r,r=n.stateTable[r][u],r===gu&&(s!=null&&i!=null&&i>=s&&(yield[s,i,n.tags[o]]),r=n.stateTable[mu][u],s=null),r!==gu&&s==null&&(s=a),n.accepting[r]&&(i=a),r===gu&&(r=mu)}s!=null&&i!=null&&i>=s&&(yield[s,i,n.tags[r]])}}}apply(e,n){for(var[r,s,i]of this.match(e))for(var o of i)typeof n[o]=="function"&&n[o](r,s,e.slice(r,s+1))}};_d.exports=bu});var Gd=Oe(($E,mo)=>{var Ob=(function(){"use strict";function t(c,d){return d!=null&&c instanceof d}var e;try{e=Map}catch{e=function(){}}var n;try{n=Set}catch{n=function(){}}var r;try{r=Promise}catch{r=function(){}}function s(c,d,h,p,m){typeof d=="object"&&(h=d.depth,p=d.prototype,m=d.includeNonEnumerable,d=d.circular);var x=[],S=[],O=typeof Buffer<"u";typeof d>"u"&&(d=!0),typeof h>"u"&&(h=1/0);function M(g,F){if(g===null)return null;if(F===0)return g;var N,R;if(typeof g!="object")return g;if(t(g,e))N=new e;else if(t(g,n))N=new n;else if(t(g,r))N=new r(function(H,q){g.then(function(G){H(M(G,F-1))},function(G){q(M(G,F-1))})});else if(s.__isArray(g))N=[];else if(s.__isRegExp(g))N=new RegExp(g.source,l(g)),g.lastIndex&&(N.lastIndex=g.lastIndex);else if(s.__isDate(g))N=new Date(g.getTime());else{if(O&&Buffer.isBuffer(g))return Buffer.allocUnsafe?N=Buffer.allocUnsafe(g.length):N=new Buffer(g.length),g.copy(N),N;t(g,Error)?N=Object.create(g):typeof p>"u"?(R=Object.getPrototypeOf(g),N=Object.create(R)):(N=Object.create(p),R=p)}if(d){var E=x.indexOf(g);if(E!=-1)return S[E];x.push(g),S.push(N)}t(g,e)&&g.forEach(function(H,q){var G=M(q,F-1),Y=M(H,F-1);N.set(G,Y)}),t(g,n)&&g.forEach(function(H){var q=M(H,F-1);N.add(q)});for(var y in g){var P;R&&(P=Object.getOwnPropertyDescriptor(R,y)),!(P&&P.set==null)&&(N[y]=M(g[y],F-1))}if(Object.getOwnPropertySymbols)for(var b=Object.getOwnPropertySymbols(g),y=0;y<b.length;y++){var I=b[y],A=Object.getOwnPropertyDescriptor(g,I);A&&!A.enumerable&&!m||(N[I]=M(g[I],F-1),A.enumerable||Object.defineProperty(N,I,{enumerable:!1}))}if(m)for(var L=Object.getOwnPropertyNames(g),y=0;y<L.length;y++){var X=L[y],A=Object.getOwnPropertyDescriptor(g,X);A&&A.enumerable||(N[X]=M(g[X],F-1),Object.defineProperty(N,X,{enumerable:!1}))}return N}return M(c,h)}s.clonePrototype=function(d){if(d===null)return null;var h=function(){};return h.prototype=d,new h};function i(c){return Object.prototype.toString.call(c)}s.__objToStr=i;function o(c){return typeof c=="object"&&i(c)==="[object Date]"}s.__isDate=o;function a(c){return typeof c=="object"&&i(c)==="[object Array]"}s.__isArray=a;function u(c){return typeof c=="object"&&i(c)==="[object RegExp]"}s.__isRegExp=u;function l(c){var d="";return c.global&&(d+="g"),c.ignoreCase&&(d+="i"),c.multiline&&(d+="m"),d}return s.__getRegExpFlags=l,s})();typeof mo=="object"&&mo.exports&&(mo.exports=Ob)});var yu=Oe(xu=>{function zd(t){this.buffer=t,this.pos=0}zd.prototype.read=function(t,e,n){this.pos+n>this.buffer.length&&(n=this.buffer.length-this.pos);for(var r=0;r<n;r++)t[e+r]=this.buffer[this.pos+r];return this.pos+=n,n};xu.BrotliInput=zd;function Wd(t){this.buffer=t,this.pos=0}Wd.prototype.write=function(t,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(t.subarray(0,e),this.pos),this.pos+=e,e};xu.BrotliOutput=Wd});var Xd=Oe((ME,Hd)=>{var Ln=4096,Ab=2*Ln+32,qd=2*Ln-1,Ib=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function Bn(t){this.buf_=new Uint8Array(Ab),this.input_=t,this.reset()}Bn.READ_SIZE=Ln;Bn.IBUF_MASK=qd;Bn.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var t=0;t<4;t++)this.val_|=this.buf_[this.pos_]<<8*t,++this.pos_;return this.bit_end_pos_>0};Bn.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var t=this.buf_ptr_,e=this.input_.read(this.buf_,t,Ln);if(e<0)throw new Error("Unexpected end of input");if(e<Ln){this.eos_=1;for(var n=0;n<32;n++)this.buf_[t+e+n]=0}if(t===0){for(var n=0;n<32;n++)this.buf_[(Ln<<1)+n]=this.buf_[n];this.buf_ptr_=Ln}else this.buf_ptr_=0;this.bit_end_pos_+=e<<3}};Bn.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[this.pos_&qd]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0};Bn.prototype.readBits=function(t){32-this.bit_pos_<t&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&Ib[t];return this.bit_pos_+=t,e};Hd.exports=Bn});var Kd=Oe((FE,Yd)=>{Yd.exports="W5/fcQLn5gKf2XUbAiQ1XULX+TZz6ADToDsgqk6qVfeC0e4m6OO2wcQ1J76ZBVRV1fRkEsdu//62zQsFEZWSTCnMhcsQKlS2qOhuVYYMGCkV0fXWEoMFbESXrKEZ9wdUEsyw9g4bJlEt1Y6oVMxMRTEVbCIwZzJzboK5j8m4YH02qgXYhv1V+PM435sLVxyHJihaJREEhZGqL03txGFQLm76caGO/ovxKvzCby/3vMTtX/459f0igi7WutnKiMQ6wODSoRh/8Lx1V3Q99MvKtwB6bHdERYRY0hStJoMjNeTsNX7bn+Y7e4EQ3bf8xBc7L0BsyfFPK43dGSXpL6clYC/I328h54/VYrQ5i0648FgbGtl837svJ35L3Mot/+nPlNpWgKx1gGXQYqX6n+bbZ7wuyCHKcUok12Xjqub7NXZGzqBx0SD+uziNf87t7ve42jxSKQoW3nyxVrWIGlFShhCKxjpZZ5MeGna0+lBkk+kaN8F9qFBAFgEogyMBdcX/T1W/WnMOi/7ycWUQloEBKGeC48MkiwqJkJO+12eQiOFHMmck6q/IjWW3RZlany23TBm+cNr/84/oi5GGmGBZWrZ6j+zykVozz5fT/QH/Da6WTbZYYPynVNO7kxzuNN2kxKKWche5WveitPKAecB8YcAHz/+zXLjcLzkdDSktNIDwZE9J9X+tto43oJy65wApM3mDzYtCwX9lM+N5VR3kXYo0Z3t0TtXfgBFg7gU8oN0Dgl7fZlUbhNll+0uuohRVKjrEd8egrSndy5/Tgd2gqjA4CAVuC7ESUmL3DZoGnfhQV8uwnpi8EGvAVVsowNRxPudck7+oqAUDkwZopWqFnW1riss0t1z6iCISVKreYGNvQcXv+1L9+jbP8cd/dPUiqBso2q+7ZyFBvENCkkVr44iyPbtOoOoCecWsiuqMSML5lv+vN5MzUr+Dnh73G7Q1YnRYJVYXHRJaNAOByiaK6CusgFdBPE40r0rvqXV7tksKO2DrHYXBTv8P5ysqxEx8VDXUDDqkPH6NNOV/a2WH8zlkXRELSa8P+heNyJBBP7PgsG1EtWtNef6/i+lcayzQwQCsduidpbKfhWUDgAEmyhGu/zVTacI6RS0zTABrOYueemnVa19u9fT23N/Ta6RvTpof5DWygqreCqrDAgM4LID1+1T/taU6yTFVLqXOv+/MuQOFnaF8vLMKD7tKWDoBdALgxF33zQccCcdHx8fKIVdW69O7qHtXpeGr9jbbpFA+qRMWr5hp0s67FPc7HAiLV0g0/peZlW7hJPYEhZyhpSwahnf93/tZgfqZWXFdmdXBzqxGHLrQKxoAY6fRoBhgCRPmmGueYZ5JexTVDKUIXzkG/fqp/0U3hAgQdJ9zumutK6nqWbaqvm1pgu03IYR+G+8s0jDBBz8cApZFSBeuWasyqo2OMDKAZCozS+GWSvL/HsE9rHxooe17U3s/lTE+VZAk4j3dp6uIGaC0JMiqR5CUsabPyM0dOYDR7Ea7ip4USZlya38YfPtvrX/tBlhHilj55nZ1nfN24AOAi9BVtz/Mbn8AEDJCqJgsVUa6nQnSxv2Fs7l/NlCzpfYEjmPrNyib/+t0ei2eEMjvNhLkHCZlci4WhBe7ePZTmzYqlY9+1pxtS4GB+5lM1BHT9tS270EWUDYFq1I0yY/fNiAk4bk9yBgmef/f2k6AlYQZHsNFnW8wBQxCd68iWv7/35bXfz3JZmfGligWAKRjIs3IpzxQ27vAglHSiOzCYzJ9L9A1CdiyFvyR66ucA4jKifu5ehwER26yV7HjKqn5Mfozo7Coxxt8LWWPT47BeMxX8p0Pjb7hZn+6bw7z3Lw+7653j5sI8CLu5kThpMlj1m4c2ch3jGcP1FsT13vuK3qjecKTZk2kHcOZY40UX+qdaxstZqsqQqgXz+QGF99ZJLqr3VYu4aecl1Ab5GmqS8k/GV5b95zxQ5d4EfXUJ6kTS/CXF/aiqKDOT1T7Jz5z0PwDUcwr9clLN1OJGCiKfqvah+h3XzrBOiLOW8wvn8gW6qE8vPxi+Efv+UH55T7PQFVMh6cZ1pZQlzJpKZ7P7uWvwPGJ6DTlR6wbyj3Iv2HyefnRo/dv7dNx+qaa0N38iBsR++Uil7Wd4afwDNsrzDAK4fXZwvEY/jdKuIKXlfrQd2C39dW7ntnRbIp9OtGy9pPBn/V2ASoi/2UJZfS+xuGLH8bnLuPlzdTNS6zdyk8Dt/h6sfOW5myxh1f+zf3zZ3MX/mO9cQPp5pOx967ZA6/pqHvclNfnUFF+rq+Vd7alKr6KWPcIDhpn6v2K6NlUu6LrKo8b/pYpU/Gazfvtwhn7tEOUuXht5rUJdSf6sLjYf0VTYDgwJ81yaqKTUYej/tbHckSRb/HZicwGJqh1mAHB/IuNs9dc9yuvF3D5Xocm3elWFdq5oEy70dYFit79yaLiNjPj5UUcVmZUVhQEhW5V2Z6Cm4HVH/R8qlamRYwBileuh07CbEce3TXa2JmXWBf+ozt319psboobeZhVnwhMZzOeQJzhpTDbP71Tv8HuZxxUI/+ma3XW6DFDDs4+qmpERwHGBd2edxwUKlODRdUWZ/g0GOezrbzOZauFMai4QU6GVHV6aPNBiBndHSsV4IzpvUiiYyg6OyyrL4Dj5q/Lw3N5kAwftEVl9rNd7Jk5PDij2hTH6wIXnsyXkKePxbmHYgC8A6an5Fob/KH5GtC0l4eFso+VpxedtJHdHpNm+Bvy4C79yVOkrZsLrQ3OHCeB0Ra+kBIRldUGlDCEmq2RwXnfyh6Dz+alk6eftI2n6sastRrGwbwszBeDRS/Fa/KwRJkCzTsLr/JCs5hOPE/MPLYdZ1F1fv7D+VmysX6NpOC8aU9F4Qs6HvDyUy9PvFGDKZ/P5101TYHFl8pjj6wm/qyS75etZhhfg0UEL4OYmHk6m6dO192AzoIyPSV9QedDA4Ml23rRbqxMPMxf7FJnDc5FTElVS/PyqgePzmwVZ26NWhRDQ+oaT7ly7ell4s3DypS1s0g+tOr7XHrrkZj9+x/mJBttrLx98lFIaRZzHz4aC7r52/JQ4VjHahY2/YVXZn/QC2ztQb/sY3uRlyc5vQS8nLPGT/n27495i8HPA152z7Fh5aFpyn1GPJKHuPL8Iw94DuW3KjkURAWZXn4EQy89xiKEHN1mk/tkM4gYDBxwNoYvRfE6LFqsxWJtPrDGbsnLMap3Ka3MUoytW0cvieozOmdERmhcqzG+3HmZv2yZeiIeQTKGdRT4HHNxekm1tY+/n06rGmFleqLscSERzctTKM6G9P0Pc1RmVvrascIxaO1CQCiYPE15bD7c3xSeW7gXxYjgxcrUlcbIvO0r+Yplhx0kTt3qafDOmFyMjgGxXu73rddMHpV1wMubyAGcf/v5dLr5P72Ta9lBF+fzMJrMycwv+9vnU3ANIl1cH9tfW7af8u0/HG0vV47jNFXzFTtaha1xvze/s8KMtCYucXc1nzfd/MQydUXn/b72RBt5wO/3jRcMH9BdhC/yctKBIveRYPrNpDWqBsO8VMmP+WvRaOcA4zRMR1PvSoO92rS7pYEv+fZfEfTMzEdM+6X5tLlyxExhqLRkms5EuLovLfx66de5fL2/yX02H52FPVwahrPqmN/E0oVXnsCKhbi/yRxX83nRbUKWhzYceXOntfuXn51NszJ6MO73pQf5Pl4in3ec4JU8hF7ppV34+mm9r1LY0ee/i1O1wpd8+zfLztE0cqBxggiBi5Bu95v9l3r9r/U5hweLn+TbfxowrWDqdJauKd8+q/dH8sbPkc9ttuyO94f7/XK/nHX46MPFLEb5qQlNPvhJ50/59t9ft3LXu7uVaWaO2bDrDCnRSzZyWvFKxO1+vT8MwwunR3bX0CkfPjqb4K9O19tn5X50PvmYpEwHtiW9WtzuV/s76B1zvLLNkViNd8ySxIl/3orfqP90TyTGaf7/rx8jQzeHJXdmh/N6YDvbvmTBwCdxfEQ1NcL6wNMdSIXNq7b1EUzRy1/Axsyk5p22GMG1b+GxFgbHErZh92wuvco0AuOLXct9hvw2nw/LqIcDRRmJmmZzcgUa7JpM/WV/S9IUfbF56TL2orzqwebdRD8nIYNJ41D/hz37Fo11p2Y21wzPcn713qVGhqtevStYfGH4n69OEJtPvbbLYWvscDqc3Hgnu166+tAyLnxrX0Y5zoYjV++1sI7t5kMr02KT/+uwtkc+rZLOf/qn/s3nYCf13Dg8/sB2diJgjGqjQ+TLhxbzyue2Ob7X6/9lUwW7a+lbznHzOYy8LKW1C/uRPbQY3KW/0gO9LXunHLvPL97afba9bFtc9hmz7GAttjVYlCvQAiOwAk/gC5+hkLEs6tr3AZKxLJtOEwk2dLxTYWsIB/j/ToWtIWzo906FrSG8iaqqqqqqiIiIiAgzMzMzNz+AyK+01/zi8n8S+Y1MjoRaQ80WU/G8MBlO+53VPXANrWm4wzGUVZUjjBJZVdhpcfkjsmcWaO+UEldXi1e+zq+HOsCpknYshuh8pOLISJun7TN0EIGW2xTnlOImeecnoGW4raxe2G1T3HEvfYUYMhG+gAFOAwh5nK8mZhwJMmN7r224QVsNFvZ87Z0qatvknklyPDK3Hy45PgVKXji52Wen4d4PlFVVYGnNap+fSpFbK90rYnhUc6n91Q3AY9E0tJOFrcfZtm/491XbcG/jsViUPPX76qmeuiz+qY1Hk7/1VPM405zWVuoheLUimpWYdVzCmUdKHebMdzgrYrb8mL2eeLSnRWHdonfZa8RsOU9F37w+591l5FLYHiOqWeHtE/lWrBHcRKp3uhtr8yXm8LU/5ms+NM6ZKsqu90cFZ4o58+k4rdrtB97NADFbwmEG7lXqvirhOTOqU14xuUF2myIjURcPHrPOQ4lmM3PeMg7bUuk0nnZi67bXsU6H8lhqIo8TaOrEafCO1ARK9PjC0QOoq2BxmMdgYB9G/lIb9++fqNJ2s7BHGFyBNmZAR8J3KCo012ikaSP8BCrf6VI0X5xdnbhHIO+B5rbOyB54zXkzfObyJ4ecwxfqBJMLFc7m59rNcw7hoHnFZ0b00zee+gTqvjm61Pb4xn0kcDX4jvHM0rBXZypG3DCKnD/Waa/ZtHmtFPgO5eETx+k7RrVg3aSwm2YoNXnCs3XPQDhNn+Fia6IlOOuIG6VJH7TP6ava26ehKHQa2T4N0tcZ9dPCGo3ZdnNltsHQbeYt5vPnJezV/cAeNypdml1vCHI8M81nSRP5Qi2+mI8v/sxiZru9187nRtp3f/42NemcONa+4eVC3PCZzc88aZh851CqSsshe70uPxeN/dmYwlwb3trwMrN1Gq8jbnApcVDx/yDPeYs5/7r62tsQ6lLg+DiFXTEhzR9dHqv0iT4tgj825W+H3XiRUNUZT2kR9Ri0+lp+UM3iQtS8uOE23Ly4KYtvqH13jghUntJRAewuzNLDXp8RxdcaA3cMY6TO2IeSFRXezeWIjCqyhsUdMYuCgYTZSKpBype1zRfq8FshvfBPc6BAQWl7/QxIDp3VGo1J3vn42OEs3qznws+YLRXbymyB19a9XBx6n/owcyxlEYyFWCi+kG9F+EyD/4yn80+agaZ9P7ay2Dny99aK2o91FkfEOY8hBwyfi5uwx2y5SaHmG+oq/zl1FX/8irOf8Y3vAcX/6uLP6A6nvMO24edSGPjQc827Rw2atX+z2bKq0CmW9mOtYnr5/AfDa1ZfPaXnKtlWborup7QYx+Or2uWb+N3N//2+yDcXMqIJdf55xl7/vsj4WoPPlxLxtVrkJ4w/tTe3mLdATOOYwxcq52w5Wxz5MbPdVs5O8/lhfE7dPj0bIiPQ3QV0iqm4m3YX8hRfc6jQ3fWepevMqUDJd86Z4vwM40CWHnn+WphsGHfieF02D3tmZvpWD+kBpNCFcLnZhcmmrhpGzzbdA+sQ1ar18OJD87IOKOFoRNznaHPNHUfUNhvY1iU+uhvEvpKHaUn3qK3exVVyX4joipp3um7FmYJWmA+WbIDshRpbVRx5/nqstCgy87FGbfVB8yDGCqS+2qCsnRwnSAN6zgzxfdB2nBT/vZ4/6uxb6oH8b4VBRxiIB93wLa47hG3w2SL/2Z27yOXJFwZpSJaBYyvajA7vRRYNKqljXKpt/CFD/tSMr18DKKbwB0xggBePatl1nki0yvqW5zchlyZmJ0OTxJ3D+fsYJs/mxYN5+Le5oagtcl+YsVvy8kSjI2YGvGjvmpkRS9W2dtXqWnVuxUhURm1lKtou/hdEq19VBp9OjGvHEQSmrpuf2R24mXGheil8KeiANY8fW1VERUfBImb64j12caBZmRViZHbeVMjCrPDg9A90IXrtnsYCuZtRQ0PyrKDjBNOsPfKsg1pA02gHlVr0OXiFhtp6nJqXVzcbfM0KnzC3ggOENPE9VBdmHKN6LYaijb4wXxJn5A0FSDF5j+h1ooZx885Jt3ZKzO5n7Z5WfNEOtyyPqQEnn7WLv5Fis3PdgMshjF1FRydbNyeBbyKI1oN1TRVrVK7kgsb/zjX4NDPIRMctVeaxVB38Vh1x5KbeJbU138AM5KzmZu3uny0ErygxiJF7GVXUrPzFxrlx1uFdAaZFDN9cvIb74qD9tzBMo7L7WIEYK+sla1DVMHpF0F7b3+Y6S+zjvLeDMCpapmJo1weBWuxKF3rOocih1gun4BoJh1kWnV/Jmiq6uOhK3VfKxEHEkafjLgK3oujaPzY6SXg8phhL4TNR1xvJd1Wa0aYFfPUMLrNBDCh4AuGRTbtKMc6Z1Udj8evY/ZpCuMAUefdo69DZUngoqE1P9A3PJfOf7WixCEj+Y6t7fYeHbbxUAoFV3M89cCKfma3fc1+jKRe7MFWEbQqEfyzO2x/wrO2VYH7iYdQ9BkPyI8/3kXBpLaCpU7eC0Yv/am/tEDu7HZpqg0EvHo0nf/R/gRzUWy33/HXMJQeu1GylKmOkXzlCfGFruAcPPhaGqZOtu19zsJ1SO2Jz4Ztth5cBX6mRQwWmDwryG9FUMlZzNckMdK+IoMJv1rOWnBamS2w2KHiaPMPLC15hCZm4KTpoZyj4E2TqC/P6r7/EhnDMhKicZZ1ZwxuC7DPzDGs53q8gXaI9kFTK+2LTq7bhwsTbrMV8Rsfua5lMS0FwbTitUVnVa1yTb5IX51mmYnUcP9wPr8Ji1tiYJeJV9GZTrQhF7vvdU2OTU42ogJ9FDwhmycI2LIg++03C6scYhUyUuMV5tkw6kGUoL+mjNC38+wMdWNljn6tGPpRES7veqrSn5TRuv+dh6JVL/iDHU1db4c9WK3++OrH3PqziF916UMUKn8G67nN60GfWiHrXYhUG3yVWmyYak59NHj8t1smG4UDiWz2rPHNrKnN4Zo1LBbr2/eF9YZ0n0blx2nG4X+EKFxvS3W28JESD+FWk61VCD3z/URGHiJl++7TdBwkCj6tGOH3qDb0QqcOF9Kzpj0HUb/KyFW3Yhj2VMKJqGZleFBH7vqvf7WqLC3XMuHV8q8a4sTFuxUtkD/6JIBvKaVjv96ndgruKZ1k/BHzqf2K9fLk7HGXANyLDd1vxkK/i055pnzl+zw6zLnwXlVYVtfmacJgEpRP1hbGgrYPVN6v2lG+idQNGmwcKXu/8xEj/P6qe/sB2WmwNp6pp8jaISMkwdleFXYK55NHWLTTbutSUqjBfDGWo/Yg918qQ+8BRZSAHZbfuNZz2O0sov1Ue4CWlVg3rFhM3Kljj9ksGd/NUhk4nH+a5UN2+1i8+NM3vRNp7uQ6sqexSCukEVlVZriHNqFi5rLm9TMWa4qm3idJqppQACol2l4VSuvWLfta4JcXy3bROPNbXOgdOhG47LC0CwW/dMlSx4Jf17aEU3yA1x9p+Yc0jupXgcMuYNku64iYOkGToVDuJvlbEKlJqsmiHbvNrIVZEH+yFdF8DbleZ6iNiWwMqvtMp/mSpwx5KxRrT9p3MAPTHGtMbfvdFhyj9vhaKcn3At8Lc16Ai+vBcSp1ztXi7rCJZx/ql7TXcclq6Q76UeKWDy9boS0WHIjUuWhPG8LBmW5y2rhuTpM5vsLt+HOLh1Yf0DqXa9tsfC+kaKt2htA0ai/L2i7RKoNjEwztkmRU0GfgW1TxUvPFhg0V7DdfWJk5gfrccpYv+MA9M0dkGTLECeYwUixRzjRFdmjG7zdZIl3XKB9YliNKI31lfa7i2JG5C8Ss+rHe0D7Z696/V3DEAOWHnQ9yNahMUl5kENWS6pHKKp2D1BaSrrHdE1w2qNxIztpXgUIrF0bm15YML4b6V1k+GpNysTahKMVrrS85lTVo9OGJ96I47eAy5rYWpRf/mIzeoYU1DKaQCTUVwrhHeyNoDqHel+lLxr9WKzhSYw7vrR6+V5q0pfi2k3L1zqkubY6rrd9ZLvSuWNf0uqnkY+FpTvFzSW9Fp0b9l8JA7THV9eCi/PY/SCZIUYx3BU2alj7Cm3VV6eYpios4b6WuNOJdYXUK3zTqj5CVG2FqYM4Z7CuIU0qO05XR0d71FHM0YhZmJmTRfLlXEumN82BGtzdX0S19t1e+bUieK8zRmqpa4Qc5TSjifmaQsY2ETLjhI36gMR1+7qpjdXXHiceUekfBaucHShAOiFXmv3sNmGQyU5iVgnoocuonQXEPTFwslHtS8R+A47StI9wj0iSrtbi5rMysczFiImsQ+bdFClnFjjpXXwMy6O7qfjOr8Fb0a7ODItisjnn3EQO16+ypd1cwyaAW5Yzxz5QknfMO7643fXW/I9y3U2xH27Oapqr56Z/tEzglj6IbT6HEHjopiXqeRbe5mQQvxtcbDOVverN0ZgMdzqRYRjaXtMRd56Q4cZSmdPvZJdSrhJ1D9zNXPqAEqPIavPdfubt5oke2kmv0dztIszSv2VYuoyf1UuopbsYb+uX9h6WpwjpgtZ6fNNawNJ4q8O3CFoSbioAaOSZMx2GYaPYB+rEb6qjQiNRFQ76TvwNFVKD+BhH9VhcKGsXzmMI7BptU/CNWolM7YzROvpFAntsiWJp6eR2d3GarcYShVYSUqhmYOWj5E96NK2WvmYNTeY7Zs4RUEdv9h9QT4EseKt6LzLrqEOs3hxAY1MaNWpSa6zZx8F3YOVeCYMS88W+CYHDuWe4yoc6YK+djDuEOrBR5lvh0r+Q9uM88lrjx9x9AtgpQVNE8r+3O6Gvw59D+kBF/UMXyhliYUtPjmvXGY6Dk3x+kEOW+GtdMVC4EZTqoS/jmR0P0LS75DOc/w2vnri97M4SdbZ8qeU7gg8DVbERkU5geaMQO3mYrSYyAngeUQqrN0C0/vsFmcgWNXNeidsTAj7/4MncJR0caaBUpbLK1yBCBNRjEv6KvuVSdpPnEMJdsRRtqJ+U8tN1gXA4ePHc6ZT0eviI73UOJF0fEZ8YaneAQqQdGphNvwM4nIqPnXxV0xA0fnCT+oAhJuyw/q8jO0y8CjSteZExwBpIN6SvNp6A5G/abi6egeND/1GTguhuNjaUbbnSbGd4L8937Ezm34Eyi6n1maeOBxh3PI0jzJDf5mh/BsLD7F2GOKvlA/5gtvxI3/eV4sLfKW5Wy+oio+es/u6T8UU+nsofy57Icb/JlZHPFtCgd/x+bwt3ZT+xXTtTtTrGAb4QehC6X9G+8YT+ozcLxDsdCjsuOqwPFnrdLYaFc92Ui0m4fr39lYmlCaqTit7G6O/3kWDkgtXjNH4BiEm/+jegQnihOtfffn33WxsFjhfMd48HT+f6o6X65j7XR8WLSHMFkxbvOYsrRsF1bowDuSQ18Mkxk4qz2zoGPL5fu9h2Hqmt1asl3Q3Yu3szOc+spiCmX4AETBM3pLoTYSp3sVxahyhL8eC4mPN9k2x3o0xkiixIzM3CZFzf5oR4mecQ5+ax2wCah3/crmnHoqR0+KMaOPxRif1oEFRFOO/kTPPmtww+NfMXxEK6gn6iU32U6fFruIz8Q4WgljtnaCVTBgWx7diUdshC9ZEa5yKpRBBeW12r/iNc/+EgNqmhswNB8SBoihHXeDF7rrWDLcmt3V8GYYN7pXRy4DZjj4DJuUBL5iC3DQAaoo4vkftqVTYRGLS3mHZ7gdmdTTqbgNN/PTdTCOTgXolc88MhXAEUMdX0iy1JMuk5wLsgeu0QUYlz2S4skTWwJz6pOm/8ihrmgGfFgri+ZWUK2gAPHgbWa8jaocdSuM4FJYoKicYX/ZSENkg9Q1ZzJfwScfVnR2DegOGwCvmogaWJCLQepv9WNlU6QgsmOwICquU28Mlk3d9W5E81lU/5Ez0LcX6lwKMWDNluNKfBDUy/phJgBcMnfkh9iRxrdOzgs08JdPB85Lwo+GUSb4t3nC+0byqMZtO2fQJ4U2zGIr49t/28qmmGv2RanDD7a3FEcdtutkW8twwwlUSpb8QalodddbBfNHKDQ828BdE7OBgFdiKYohLawFYqpybQoxATZrheLhdI7+0Zlu9Q1myRcd15r9UIm8K2LGJxqTegntqNVMKnf1a8zQiyUR1rxoqjiFxeHxqFcYUTHfDu7rhbWng6qOxOsI+5A1p9mRyEPdVkTlE24vY54W7bWc6jMgZvNXdfC9/9q7408KDsbdL7Utz7QFSDetz2picArzrdpL8OaCHC9V26RroemtDZ5yNM/KGkWMyTmfnInEvwtSD23UcFcjhaE3VKzkoaEMKGBft4XbIO6forTY1lmGQwVmKicBCiArDzE+1oIxE08fWeviIOD5TznqH+OoHadvoOP20drMPe5Irg3XBQziW2XDuHYzjqQQ4wySssjXUs5H+t3FWYMHppUnBHMx/nYIT5d7OmjDbgD9F6na3m4l7KdkeSO3kTEPXafiWinogag7b52taiZhL1TSvBFmEZafFq2H8khQaZXuitCewT5FBgVtPK0j4xUHPfUz3Q28eac1Z139DAP23dgki94EC8vbDPTQC97HPPSWjUNG5tWKMsaxAEMKC0665Xvo1Ntd07wCLNf8Q56mrEPVpCxlIMVlQlWRxM3oAfpgIc+8KC3rEXUog5g06vt7zgXY8grH7hhwVSaeuvC06YYRAwpbyk/Unzj9hLEZNs2oxPQB9yc+GnL6zTgq7rI++KDJwX2SP8Sd6YzTuw5lV/kU6eQxRD12omfQAW6caTR4LikYkBB1CMOrvgRr/VY75+NSB40Cni6bADAtaK+vyxVWpf9NeKJxN2KYQ8Q2xPB3K1s7fuhvWbr2XpgW044VD6DRs0qXoqKf1NFsaGvKJc47leUV3pppP/5VTKFhaGuol4Esfjf5zyCyUHmHthChcYh4hYLQF+AFWsuq4t0wJyWgdwQVOZiV0efRHPoK5+E1vjz9wTJmVkITC9oEstAsyZSgE/dbicwKr89YUxKZI+owD205Tm5lnnmDRuP/JnzxX3gMtlrcX0UesZdxyQqYQuEW4R51vmQ5xOZteUd8SJruMlTUzhtVw/Nq7eUBcqN2/HVotgfngif60yKEtoUx3WYOZlVJuJOh8u59fzSDPFYtQgqDUAGyGhQOAvKroXMcOYY0qjnStJR/G3aP+Jt1sLVlGV8POwr/6OGsqetnyF3TmTqZjENfnXh51oxe9qVUw2M78EzAJ+IM8lZ1MBPQ9ZWSVc4J3mWSrLKrMHReA5qdGoz0ODRsaA+vwxXA2cAM4qlfzBJA6581m4hzxItQw5dxrrBL3Y6kCbUcFxo1S8jyV44q//+7ASNNudZ6xeaNOSIUffqMn4A9lIjFctYn2gpEPAb3f7p3iIBN8H14FUGQ9ct2hPsL+cEsTgUrR47uJVN4n4wt/wgfwwHuOnLd4yobkofy8JvxSQTA7rMpDIc608SlZFJfZYcmbT0tAHpPE8MrtQ42siTUNWxqvWZOmvu9f0JPoQmg+6l7sZWwyfi6PXkxJnwBraUG0MYG4zYHQz3igy/XsFkx5tNQxw43qvI9dU3f0DdhOUlHKjmi1VAr2Kiy0HZwD8VeEbhh0OiDdMYspolQsYdSwjCcjeowIXNZVUPmL2wwIkYhmXKhGozdCJ4lRKbsf4NBh/XnQoS92NJEWOVOFs2YhN8c5QZFeK0pRdAG40hqvLbmoSA8xQmzOOEc7wLcme9JOsjPCEgpCwUs9E2DohMHRhUeyGIN6TFvrbny8nDuilsDpzrH5mS76APoIEJmItS67sQJ+nfwddzmjPxcBEBBCw0kWDwd0EZCkNeOD7NNQhtBm7KHL9mRxj6U1yWU2puzlIDtpYxdH4ZPeXBJkTGAJfUr/oTCz/iypY6uXaR2V1doPxJYlrw2ghH0D5gbrhFcIxzYwi4a/4hqVdf2DdxBp6vGYDjavxMAAoy+1+3aiO6S3W/QAKNVXagDtvsNtx7Ks+HKgo6U21B+QSZgIogV5Bt+BnXisdVfy9VyXV+2P5fMuvdpAjM1o/K9Z+XnE4EOCrue+kcdYHqAQ0/Y/OmNlQ6OI33jH/uD1RalPaHpJAm2av0/xtpqdXVKNDrc9F2izo23Wu7firgbURFDNX9eGGeYBhiypyXZft2j3hTvzE6PMWKsod//rEILDkzBXfi7xh0eFkfb3/1zzPK/PI5Nk3FbZyTl4mq5BfBoVoqiPHO4Q4QKZAlrQ3MdNfi3oxIjvsM3kAFv3fdufurqYR3PSwX/mpGy/GFI/B2MNPiNdOppWVbs/gjF3YH+QA9jMhlAbhvasAHstB0IJew09iAkmXHl1/TEj+jvHOpOGrPRQXbPADM+Ig2/OEcUcpgPTItMtW4DdqgfYVI/+4hAFWYjUGpOP/UwNuB7+BbKOcALbjobdgzeBQfjgNSp2GOpxzGLj70Vvq5cw2AoYENwKLUtJUX8sGRox4dVa/TN4xKwaKcl9XawQR/uNus700Hf17pyNnezrUgaY9e4MADhEDBpsJT6y1gDJs1q6wlwGhuUzGR7C8kgpjPyHWwsvrf3yn1zJEIRa5eSxoLAZOCR9xbuztxFRJW9ZmMYfCFJ0evm9F2fVnuje92Rc4Pl6A8bluN8MZyyJGZ0+sNSb//DvAFxC2BqlEsFwccWeAl6CyBcQV1bx4mQMBP1Jxqk1EUADNLeieS2dUFbQ/c/kvwItbZ7tx0st16viqd53WsRmPTKv2AD8CUnhtPWg5aUegNpsYgasaw2+EVooeNKmrW3MFtj76bYHJm5K9gpAXZXsE5U8DM8XmVOSJ1F1WnLy6nQup+jx52bAb+rCq6y9WXl2B2oZDhfDkW7H3oYfT/4xx5VncBuxMXP2lNfhUVQjSSzSRbuZFE4vFawlzveXxaYKVs8LpvAb8IRYF3ZHiRnm0ADeNPWocwxSzNseG7NrSEVZoHdKWqaGEBz1N8Pt7kFbqh3LYmAbm9i1IChIpLpM5AS6mr6OAPHMwwznVy61YpBYX8xZDN/a+lt7n+x5j4bNOVteZ8lj3hpAHSx1VR8vZHec4AHO9XFCdjZ9eRkSV65ljMmZVzaej2qFn/qt1lvWzNZEfHxK3qOJrHL6crr0CRzMox5f2e8ALBB4UGFZKA3tN6F6IXd32GTJXGQ7DTi9j/dNcLF9jCbDcWGKxoKTYblIwbLDReL00LRcDPMcQuXLMh5YzgtfjkFK1DP1iDzzYYVZz5M/kWYRlRpig1htVRjVCknm+h1M5LiEDXOyHREhvzCGpFZjHS0RsK27o2avgdilrJkalWqPW3D9gmwV37HKmfM3F8YZj2ar+vHFvf3B8CRoH4kDHIK9mrAg+owiEwNjjd9V+FsQKYR8czJrUkf7Qoi2YaW6EVDZp5zYlqiYtuXOTHk4fAcZ7qBbdLDiJq0WNV1l2+Hntk1mMWvxrYmc8kIx8G3rW36J6Ra4lLrTOCgiOihmow+YnzUT19jbV2B3RWqSHyxkhmgsBqMYWvOcUom1jDQ436+fcbu3xf2bbeqU/ca+C4DOKE+e3qvmeMqW3AxejfzBRFVcwVYPq4L0APSWWoJu+5UYX4qg5U6YTioqQGPG9XrnuZ/BkxuYpe6Li87+18EskyQW/uA+uk2rpHpr6hut2TlVbKgWkFpx+AZffweiw2+VittkEyf/ifinS/0ItRL2Jq3tQOcxPaWO2xrG68GdFoUpZgFXaP2wYVtRc6xYCfI1CaBqyWpg4bx8OHBQwsV4XWMibZZ0LYjWEy2IxQ1mZrf1/UNbYCJplWu3nZ4WpodIGVA05d+RWSS+ET9tH3RfGGmNI1cIY7evZZq7o+a0bjjygpmR3mVfalkT/SZGT27Q8QGalwGlDOS9VHCyFAIL0a1Q7JiW3saz9gqY8lqKynFrPCzxkU4SIfLc9VfCI5edgRhDXs0edO992nhTKHriREP1NJC6SROMgQ0xO5kNNZOhMOIT99AUElbxqeZF8A3xrfDJsWtDnUenAHdYWSwAbYjFqQZ+D5gi3hNK8CSxU9i6f6ClL9IGlj1OPMQAsr84YG6ijsJpCaGWj75c3yOZKBB9mNpQNPUKkK0D6wgLH8MGoyRxTX6Y05Q4AnYNXMZwXM4eij/9WpsM/9CoRnFQXGR6MEaY+FXvXEO3RO0JaStk6OXuHVATHJE+1W+TU3bSZ2ksMtqjO0zfSJCdBv7y2d8DMx6TfVme3q0ZpTKMMu4YL/t7ciTNtdDkwPogh3Cnjx7qk08SHwf+dksZ7M2vCOlfsF0hQ6J4ehPCaHTNrM/zBSOqD83dBEBCW/F/LEmeh0nOHd7oVl3/Qo/9GUDkkbj7yz+9cvvu+dDAtx8NzCDTP4iKdZvk9MWiizvtILLepysflSvTLFBZ37RLwiriqyRxYv/zrgFd/9XVHh/OmzBvDX4mitMR/lUavs2Vx6cR94lzAkplm3IRNy4TFfu47tuYs9EQPIPVta4P64tV+sZ7n3ued3cgEx2YK+QL5+xms6osk8qQbTyuKVGdaX9FQqk6qfDnT5ykxk0VK7KZ62b6DNDUfQlqGHxSMKv1P0XN5BqMeKG1P4Wp5QfZDUCEldppoX0U6ss2jIko2XpURKCIhfaOqLPfShdtS37ZrT+jFRSH2xYVV1rmT/MBtRQhxiO4MQ3iAGlaZi+9PWBEIXOVnu9jN1f921lWLZky9bqbM3J2MAAI9jmuAx3gyoEUa6P2ivs0EeNv/OR+AX6q5SW6l5HaoFuS6jr6yg9limu+P0KYKzfMXWcQSfTXzpOzKEKpwI3YGXZpSSy2LTlMgfmFA3CF6R5c9xWEtRuCg2ZPUQ2Nb6dRFTNd4TfGHrnEWSKHPuRyiJSDAZ+KX0VxmSHjGPbQTLVpqixia2uyhQ394gBMt7C3ZAmxn/DJS+l1fBsAo2Eir/C0jG9csd4+/tp12pPc/BVJGaK9mfvr7M/CeztrmCO5qY06Edi4xAGtiEhnWAbzLy2VEyazE1J5nPmgU4RpW4Sa0TnOT6w5lgt3/tMpROigHHmexBGAMY0mdcDbDxWIz41NgdD6oxgHsJRgr5RnT6wZAkTOcStU4NMOQNemSO7gxGahdEsC+NRVGxMUhQmmM0llWRbbmFGHzEqLM4Iw0H7577Kyo+Zf+2cUFIOw93gEY171vQaM0HLwpjpdRR6Jz7V0ckE7XzYJ0TmY9znLdzkva0vNrAGGT5SUZ5uaHDkcGvI0ySpwkasEgZPMseYcu85w8HPdSNi+4T6A83iAwDbxgeFcB1ZM2iGXzFcEOUlYVrEckaOyodfvaYSQ7GuB4ISE0nYJc15X/1ciDTPbPCgYJK55VkEor4LvzL9S2WDy4xj+6FOqVyTAC2ZNowheeeSI5hA/02l8UYkv4nk9iaVn+kCVEUstgk5Hyq+gJm6R9vG3rhuM904he/hFmNQaUIATB1y3vw+OmxP4X5Yi6A5I5jJufHCjF9+AGNwnEllZjUco6XhsO5T5+R3yxz5yLVOnAn0zuS+6zdj0nTJbEZCbXJdtpfYZfCeCOqJHoE2vPPFS6eRLjIJlG69X93nfR0mxSFXzp1Zc0lt/VafDaImhUMtbnqWVb9M4nGNQLN68BHP7AR8Il9dkcxzmBv8PCZlw9guY0lurbBsmNYlwJZsA/B15/HfkbjbwPddaVecls/elmDHNW2r4crAx43feNkfRwsaNq/yyJ0d/p5hZ6AZajz7DBfUok0ZU62gCzz7x8eVfJTKA8IWn45vINLSM1q+HF9CV9qF3zP6Ml21kPPL3CXzkuYUlnSqT+Ij4tI/od5KwIs+tDajDs64owN7tOAd6eucGz+KfO26iNcBFpbWA5732bBNWO4kHNpr9D955L61bvHCF/mwSrz6eQaDjfDEANqGMkFc+NGxpKZzCD2sj/JrHd+zlPQ8Iz7Q+2JVIiVCuCKoK/hlAEHzvk/Piq3mRL1rT/fEh9hoT5GJmeYswg1otiKydizJ/fS2SeKHVu6Z3JEHjiW8NaTQgP5xdBli8nC57XiN9hrquBu99hn9zqwo92+PM2JXtpeVZS0PdqR5mDyDreMMtEws+CpwaRyyzoYtfcvt9PJIW0fJVNNi/FFyRsea7peLvJrL+5b4GOXJ8tAr+ATk9f8KmiIsRhqRy0vFzwRV3Z5dZ3QqIU8JQ/uQpkJbjMUMFj2F9sCFeaBjI4+fL/oN3+LQgjI4zuAfQ+3IPIPFQBccf0clJpsfpnBxD84atwtupkGqKvrH7cGNl/QcWcSi6wcVDML6ljOgYbo+2BOAWNNjlUBPiyitUAwbnhFvLbnqw42kR3Yp2kv2dMeDdcGOX5kT4S6M44KHEB/SpCfl7xgsUvs+JNY9G3O2X/6FEt9FyAn57lrbiu+tl83sCymSvq9eZbe9mchL7MTf/Ta78e80zSf0hYY5eUU7+ff14jv7Xy8qjzfzzzvaJnrIdvFb5BLWKcWGy5/w7+vV2cvIfwHqdTB+RuJK5oj9mbt0Hy94AmjMjjwYNZlNS6uiyxNnwNyt3gdreLb64p/3+08nXkb92LTkkRgFOwk1oGEVllcOj5lv1hfAZywDows0944U8vUFw+A/nuVq/UCygsrmWIBnHyU01d0XJPwriEOvx/ISK6Pk4y2w0gmojZs7lU8TtakBAdne4v/aNxmMpK4VcGMp7si0yqsiolXRuOi1Z1P7SqD3Zmp0CWcyK4Ubmp2SXiXuI5nGLCieFHKHNRIlcY3Pys2dwMTYCaqlyWSITwr2oGXvyU3h1Pf8eQ3w1bnD7ilocVjYDkcXR3Oo1BXgMLTUjNw2xMVwjtp99NhSVc5aIWrDQT5DHPKtCtheBP4zHcw4dz2eRdTMamhlHhtfgqJJHI7NGDUw1XL8vsSeSHyKqDtqoAmrQqsYwvwi7HW3ojWyhIa5oz5xJTaq14NAzFLjVLR12rRNUQ6xohDnrWFb5bG9yf8aCD8d5phoackcNJp+Dw3Due3RM+5Rid7EuIgsnwgpX0rUWh/nqPtByMhMZZ69NpgvRTKZ62ViZ+Q7Dp5r4K0d7EfJuiy06KuIYauRh5Ecrhdt2QpTS1k1AscEHvapNbU3HL1F2TFyR33Wxb5MvH5iZsrn3SDcsxlnnshO8PLwmdGN+paWnQuORtZGX37uhFT64SeuPsx8UOokY6ON85WdQ1dki5zErsJGazcBOddWJEKqNPiJpsMD1GrVLrVY+AOdPWQneTyyP1hRX/lMM4ZogGGOhYuAdr7F/DOiAoc++cn5vlf0zkMUJ40Z1rlgv9BelPqVOpxKeOpzKdF8maK+1Vv23MO9k/8+qpLoxrIGH2EDQlnGmH8CD31G8QqlyQIcpmR5bwmSVw9/Ns6IHgulCRehvZ/+VrM60Cu/r3AontFfrljew74skYe2uyn7JKQtFQBQRJ9ryGic/zQOsbS4scUBctA8cPToQ3x6ZBQu6DPu5m1bnCtP8TllLYA0UTQNVqza5nfew3Mopy1GPUwG5jsl0OVXniPmAcmLqO5HG8Hv3nSLecE9oOjPDXcsTxoCBxYyzBdj4wmnyEV4kvFDunipS8SSkvdaMnTBN9brHUR8xdmmEAp/Pdqk9uextp1t+JrtXwpN/MG2w/qhRMpSNxQ1uhg/kKO30eQ/FyHUDkWHT8V6gGRU4DhDMxZu7xXij9Ui6jlpWmQCqJg3FkOTq3WKneCRYZxBXMNAVLQgHXSCGSqNdjebY94oyIpVjMYehAiFx/tqzBXFHZaL5PeeD74rW5OysFoUXY8sebUZleFTUa/+zBKVTFDopTReXNuZq47QjkWnxjirCommO4L/GrFtVV21EpMyw8wyThL5Y59d88xtlx1g1ttSICDwnof6lt/6zliPzgVUL8jWBjC0o2D6Kg+jNuThkAlaDJsq/AG2aKA//A76avw2KNqtv223P+Wq3StRDDNKFFgtsFukYt1GFDWooFVXitaNhb3RCyJi4cMeNjROiPEDb4k+G3+hD8tsg+5hhmSc/8t2JTSwYoCzAI75doq8QTHe+E/Tw0RQSUDlU+6uBeNN3h6jJGX/mH8oj0i3caCNsjvTnoh73BtyZpsflHLq6AfwJNCDX4S98h4+pCOhGKDhV3rtkKHMa3EG4J9y8zFWI4UsfNzC/Rl5midNn7gwoN9j23HGCQQ+OAZpTTPMdiVow740gIyuEtd0qVxMyNXhHcnuXRKdw5wDUSL358ktjMXmAkvIB73BLa1vfF9BAUZInPYJiwxqFWQQBVk7gQH4ojfUQ/KEjn+A/WR6EEe4CtbpoLe1mzHkajgTIoE0SLDHVauKhrq12zrAXBGbPPWKCt4DGedq3JyGRbmPFW32bE7T20+73BatV/qQhhBWfWBFHfhYWXjALts38FemnoT+9bn1jDBMcUMmYgSc0e7GQjv2MUBwLU8ionCpgV+Qrhg7iUIfUY6JFxR0Y+ZTCPM+rVuq0GNLyJXX6nrUTt8HzFBRY1E/FIm2EeVA9NcXrj7S6YYIChVQCWr/m2fYUjC4j0XLkzZ8GCSLfmkW3PB/xq+nlXsKVBOj7vTvqKCOMq7Ztqr3cQ+N8gBnPaAps+oGwWOkbuxnRYj/x/WjiDclVrs22xMK4qArE1Ztk1456kiJriw6abkNeRHogaPRBgbgF9Z8i/tbzWELN4CvbqtrqV9TtGSnmPS2F9kqOIBaazHYaJ9bi3AoDBvlZasMluxt0BDXfhp02Jn411aVt6S4TUB8ZgFDkI6TP6gwPY85w+oUQSsjIeXVminrwIdK2ZAawb8Se6XOJbOaliQxHSrnAeONDLuCnFejIbp4YDtBcQCwMsYiRZfHefuEJqJcwKTTJ8sx5hjHmJI1sPFHOr6W9AhZ2NAod38mnLQk1gOz2LCAohoQbgMbUK9RMEA3LkiF7Sr9tLZp6lkciIGhE2V546w3Mam53VtVkGbB9w0Yk2XiRnCmbpxmHr2k4eSC0RuNbjNsUfDIfc8DZvRvgUDe1IlKdZTzcT4ZGEb53dp8VtsoZlyXzLHOdAbsp1LPTVaHvLA0GYDFMbAW/WUBfUAdHwqLFAV+3uHvYWrCfhUOR2i89qvCBoOb48usAGdcF2M4aKn79k/43WzBZ+xR1L0uZfia70XP9soQReeuhZiUnXFDG1T8/OXNmssTSnYO+3kVLAgeiY719uDwL9FQycgLPessNihMZbAKG7qwPZyG11G1+ZA3jAX2yddpYfmaKBlmfcK/V0mwIRUDC0nJSOPUl2KB8h13F4dlVZiRhdGY5farwN+f9hEb1cRi41ZcGDn6Xe9MMSTOY81ULJyXIHSWFIQHstVYLiJEiUjktlHiGjntN5/btB8Fu+vp28zl2fZXN+dJDyN6EXhS+0yzqpl/LSJNEUVxmu7BsNdjAY0jVsAhkNuuY0E1G48ej25mSt+00yPbQ4SRCVkIwb6ISvYtmJRPz9Zt5dk76blf+lJwAPH5KDF+vHAmACLoCdG2Adii6dOHnNJnTmZtoOGO8Q1jy1veMw6gbLFToQmfJa7nT7Al89mRbRkZZQxJTKgK5Kc9INzmTJFp0tpAPzNmyL/F08bX3nhCumM/cR/2RPn9emZ3VljokttZD1zVWXlUIqEU7SLk5I0lFRU0AcENXBYazNaVzsVHA/sD3o9hm42wbHIRb/BBQTKzAi8s3+bMtpOOZgLdQzCYPfX3UUxKd1WYVkGH7lh/RBBgMZZwXzU9+GYxdBqlGs0LP+DZ5g2BWNh6FAcR944B+K/JTWI3t9YyVyRhlP4CCoUk/mmF7+r2pilVBjxXBHFaBfBtr9hbVn2zDuI0kEOG3kBx8CGdPOjX1ph1POOZJUO1JEGG0jzUy2tK4X0CgVNYhmkqqQysRNtKuPdCJqK3WW57kaV17vXgiyPrl4KEEWgiGF1euI4QkSFHFf0TDroQiLNKJiLbdhH0YBhriRNCHPxSqJmNNoketaioohqMglh6wLtEGWSM1EZbQg72h0UJAIPVFCAJOThpQGGdKfFovcwEeiBuZHN2Ob4uVM7+gwZLz1D9E7ta4RmMZ24OBBAg7Eh6dLXGofZ4U2TFOCQMKjwhVckjrydRS+YaqCw1kYt6UexuzbNEDyYLTZnrY1PzsHZJT4U+awO2xlqTSYu6n/U29O2wPXgGOEKDMSq+zTUtyc8+6iLp0ivav4FKx+xxVy4FxhIF/pucVDqpsVe2jFOfdZhTzLz2QjtzvsTCvDPU7bzDH2eXVKUV9TZ+qFtaSSxnYgYdXKwVreIgvWhT9eGDB2OvnWyPLfIIIfNnfIxU8nW7MbcH05nhlsYtaW9EZRsxWcKdEqInq1DiZPKCz7iGmAU9/ccnnQud2pNgIGFYOTAWjhIrd63aPDgfj8/sdlD4l+UTlcxTI9jbaMqqN0gQxSHs60IAcW3cH4p3V1aSciTKB29L1tz2eUQhRiTgTvmqc+sGtBNh4ky0mQJGsdycBREP+fAaSs1EREDVo5gvgi5+aCN7NECw30owbCc1mSpjiahyNVwJd1jiGgzSwfTpzf2c5XJvG/g1n0fH88KHNnf+u7ZiRMlXueSIsloJBUtW9ezvsx9grfsX/FNxnbxU1Lvg0hLxixypHKGFAaPu0xCD8oDTeFSyfRT6s8109GMUZL8m2xXp8X2dpPCWWdX84iga4BrTlOfqox4shqEgh/Ht4qRst52cA1xOIUuOxgfUivp6v5f8IVyaryEdpVk72ERAwdT4aoY1usBgmP+0m06Q216H/nubtNYxHaOIYjcach3A8Ez/zc0KcShhel0HCYjFsA0FjYqyJ5ZUH1aZw3+zWC0hLpM6GDfcAdn9fq2orPmZbW6XXrf+Krc9RtvII5jeD3dFoT1KwZJwxfUMvc5KLfn8rROW23Jw89sJ2a5dpB3qWDUBWF2iX8OCuKprHosJ2mflBR+Wqs86VvgI/XMnsqb97+VlKdPVysczPj8Jhzf+WCvGBHijAqYlavbF60soMWlHbvKT+ScvhprgeTln51xX0sF+Eadc/l2s2a5BgkVbHYyz0E85p0LstqH+gEGiR84nBRRFIn8hLSZrGwqjZ3E29cuGi+5Z5bp7EM8MWFa9ssS/vy4VrDfECSv7DSU84DaP0sXI3Ap4lWznQ65nQoTKRWU30gd7Nn8ZowUvGIx4aqyXGwmA/PB4qN8msJUODezUHEl0VP9uo+cZ8vPFodSIB4C7lQYjEFj8yu49C2KIV3qxMFYTevG8KqAr0TPlkbzHHnTpDpvpzziAiNFh8xiT7C/TiyH0EguUw4vxAgpnE27WIypV+uFN2zW7xniF/n75trs9IJ5amB1zXXZ1LFkJ6GbS/dFokzl4cc2mamVwhL4XU0Av5gDWAl+aEWhAP7t2VIwU+EpvfOPDcLASX7H7lZpXA2XQfbSlD4qU18NffNPoAKMNSccBfO9YVVgmlW4RydBqfHAV7+hrZ84WJGho6bNT0YMhxxLdOx/dwGj0oyak9aAkNJ8lRJzUuA8sR+fPyiyTgUHio5+Pp+YaKlHrhR41jY5NESPS3x+zTMe0S2HnLOKCOQPpdxKyviBvdHrCDRqO+l96HhhNBLXWv4yEMuEUYo8kXnYJM8oIgVM4XJ+xXOev4YbWeqsvgq0lmw4/PiYr9sYLt+W5EAuYSFnJEan8CwJwbtASBfLBBpJZiRPor/aCJBZsM+MhvS7ZepyHvU8m5WSmaZnxuLts8ojl6KkS8oSAHkq5GWlCB/NgJ5W3rO2Cj1MK7ahxsCrbTT3a0V/QQH+sErxV4XUWDHx0kkFy25bPmBMBQ6BU3HoHhhYcJB9JhP6NXUWKxnE0raXHB6U9KHpWdQCQI72qevp5fMzcm+AvC85rsynVQhruDA9fp9COe7N56cg1UKGSas89vrN+WlGLYTwi5W+0xYdKEGtGCeNJwXKDU0XqU5uQYnWsMwTENLGtbQMvoGjIFIEMzCRal4rnBAg7D/CSn8MsCvS+FDJJAzoiioJEhZJgAp9n2+1Yznr7H+6eT4YkJ9Mpj60ImcW4i4iHDLn9RydB8dx3QYm3rsX6n4VRrZDsYK6DCGwkwd5n3/INFEpk16fYpP6JtMQpqEMzcOfQGAHXBTEGzuLJ03GYQL9bmV2/7ExDlRf+Uvf1sM2frRtCWmal12pMgtonvSCtR4n1CLUZRdTHDHP1Otwqd+rcdlavnKjUB/OYXQHUJzpNyFoKpQK+2OgrEKpGyIgIBgn2y9QHnTJihZOpEvOKIoHAMGAXHmj21Lym39Mbiow4IF+77xNuewziNVBxr6KD5e+9HzZSBIlUa/AmsDFJFXeyrQakR3FwowTGcADJHcEfhGkXYNGSYo4dh4bxwLM+28xjiqkdn0/3R4UEkvcBrBfn/SzBc1XhKM2VPlJgKSorjDac96V2UnQYXl1/yZPT4DVelgO+soMjexXwYO58VLl5xInQUZI8jc3H2CPnCNb9X05nOxIy4MlecasTqGK6s2az4RjpF2cQP2G28R+7wDPsZDZC/kWtjdoHC7SpdPmqQrUAhMwKVuxCmYTiD9q/O7GHtZvPSN0CAUQN/rymXZNniYLlJDE70bsk6Xxsh4kDOdxe7A2wo7P9F5YvqqRDI6brf79yPCSp4I0jVoO4YnLYtX5nzspR5WB4AKOYtR1ujXbOQpPyYDvfRE3FN5zw0i7reehdi7yV0YDRKRllGCGRk5Yz+Uv1fYl2ZwrnGsqsjgAVo0xEUba8ohjaNMJNwTwZA/wBDWFSCpg1eUH8MYL2zdioxRTqgGQrDZxQyNzyBJPXZF0+oxITJAbj7oNC5JwgDMUJaM5GqlGCWc//KCIrI+aclEe4IA0uzv7cuj6GCdaJONpi13O544vbtIHBF+A+JeDFUQNy61Gki3rtyQ4aUywn6ru314/dkGiP8Iwjo0J/2Txs49ZkwEl4mx+iYUUO55I6pJzU4P+7RRs+DXZkyKUYZqVWrPF4I94m4Wx1tXeE74o9GuX977yvJ/jkdak8+AmoHVjI15V+WwBdARFV2IPirJgVMdsg1Pez2VNHqa7EHWdTkl3XTcyjG9BiueWFvQfXI8aWSkuuRmqi/HUuzqyvLJfNfs0txMqldYYflWB1BS31WkuPJGGwXUCpjiQSktkuBMWwHjSkQxeehqw1Kgz0Trzm7QbtgxiEPDVmWCNCAeCfROTphd1ZNOhzLy6XfJyG6Xgd5MCAZw4xie0Sj5AnY1/akDgNS9YFl3Y06vd6FAsg2gVQJtzG7LVq1OH2frbXNHWH/NY89NNZ4QUSJqL2yEcGADbT38X0bGdukqYlSoliKOcsSTuqhcaemUeYLLoI8+MZor2RxXTRThF1LrHfqf/5LcLAjdl4EERgUysYS2geE+yFdasU91UgUDsc2cSQ1ZoT9+uLOwdgAmifwQqF028INc2IQEDfTmUw3eZxvz7Ud1z3xc1PQfeCvfKsB9jOhRj7rFyb9XcDWLcYj0bByosychMezMLVkFiYcdBBQtvI6K0KRuOZQH2kBsYHJaXTkup8F0eIhO1/GcIwWKpr2mouB7g5TUDJNvORXPXa/mU8bh27TAZYBe2sKx4NSv5OjnHIWD2RuysCzBlUfeNXhDd2jxnHoUlheJ3jBApzURy0fwm2FwwsSU0caQGl0Kv8hopRQE211NnvtLRsmCNrhhpEDoNiZEzD2QdJWKbRRWnaFedXHAELSN0t0bfsCsMf0ktfBoXBoNA+nZN9+pSlmuzspFevmsqqcMllzzvkyXrzoA+Ryo1ePXpdGOoJvhyru+EBRsmOp7MXZ0vNUMUqHLUoKglg1p73sWeZmPc+KAw0pE2zIsFFE5H4192KwDvDxdxEYoDBDNZjbg2bmADTeUKK57IPD4fTYF4c6EnXx/teYMORBDtIhPJneiZny7Nv/zG+YmekIKCoxr6kauE2bZtBLufetNG0BtBY7f+/ImUypMBvdWu/Q7vTMRzw5aQGZWuc1V0HEsItFYMIBnoKGZ0xcarba/TYZq50kCaflFysYjA4EDKHqGdpYWdKYmm+a7TADmW35yfnOYpZYrkpVEtiqF0EujI00aeplNs2k+qyFZNeE3CDPL9P6b4PQ/kataHkVpLSEVGK7EX6rAa7IVNrvZtFvOA6okKvBgMtFDAGZOx88MeBcJ8AR3AgUUeIznAN6tjCUipGDZONm1FjWJp4A3QIzSaIOmZ7DvF/ysYYbM/fFDOV0jntAjRdapxJxL0eThpEhKOjCDDq2ks+3GrwxqIFKLe1WdOzII8XIOPGnwy6LKXVfpSDOTEfaRsGujhpS4hBIsMOqHbl16PJxc4EkaVu9wpEYlF/84NSv5Zum4drMfp9yXbzzAOJqqS4YkI4cBrFrC7bMPiCfgI3nNZAqkk3QOZqR+yyqx+nDQKBBBZ7QKrfGMCL+XpqFaBJU0wpkBdAhbR4hJsmT5aynlvkouoxm/NjD5oe6BzVIO9uktM+/5dEC5P7vZvarmuO/lKXz4sBabVPIATuKTrwbJP8XUkdM6uEctHKXICUJGjaZIWRbZp8czquQYfY6ynBUCfIU+gG6wqSIBmYIm9pZpXdaL121V7q0VjDjmQnXvMe7ysoEZnZL15B0SpxS1jjd83uNIOKZwu5MPzg2NhOx3xMOPYwEn2CUzbSrwAs5OAtrz3GAaUkJOU74XwjaYUmGJdZBS1NJVkGYrToINLKDjxcuIlyfVsKQSG/G4DyiO2SlQvJ0d0Ot1uOG5IFSAkq+PRVMgVMDvOIJMdqjeCFKUGRWBW9wigYvcbU7CQL/7meF2KZAaWl+4y9uhowAX7elogAvItAAxo2+SFxGRsHGEW9BnhlTuWigYxRcnVUBRQHV41LV+Fr5CJYV7sHfeywswx4XMtUx6EkBhR+q8AXXUA8uPJ73Pb49i9KG9fOljvXeyFj9ixgbo6CcbAJ7WHWqKHy/h+YjBwp6VcN7M89FGzQ04qbrQtgrOFybg3gQRTYG5xn73ArkfQWjCJROwy3J38Dx/D7jOa6BBNsitEw1wGq780EEioOeD+ZGp2J66ADiVGMayiHYucMk8nTK2zzT9CnEraAk95kQjy4k0GRElLL5YAKLQErJ5rp1eay9O4Fb6yJGm9U4FaMwPGxtKD6odIIHKoWnhKo1U8KIpFC+MVn59ZXmc7ZTBZfsg6FQ8W10YfTr4u0nYrpHZbZ1jXiLmooF0cOm0+mPnJBXQtepc7n0BqOipNCqI6yyloTeRShNKH04FIo0gcMk0H/xThyN4pPAWjDDkEp3lNNPRNVfpMI44CWRlRgViP64eK0JSRp0WUvCWYumlW/c58Vcz/yMwVcW5oYb9+26TEhwvbxiNg48hl1VI1UXTU//Eta+BMKnGUivctfL5wINDD0giQL1ipt6U7C9cd4+lgqY2lMUZ02Uv6Prs+ZEZer7ZfWBXVghlfOOrClwsoOFKzWEfz6RZu1eCs+K8fLvkts5+BX0gyrFYve0C3qHrn5U/Oh6D/CihmWIrY7HUZRhJaxde+tldu6adYJ+LeXupQw0XExC36RETdNFxcq9glMu4cNQSX9cqR/GQYp+IxUkIcNGWVU7ZtGa6P3XAyodRt0XeS3Tp01AnCh0ZbUh4VrSZeV9RWfSoWyxnY3hzcZ30G/InDq4wxRrEejreBxnhIQbkxenxkaxl+k7eLUQkUR6vKJ2iDFNGX3WmVA1yaOH+mvhBd+sE6vacQzFobwY5BqEAFmejwW5ne7HtVNolOUgJc8CsUxmc/LBi8N5mu9VsIA5HyErnS6zeCz7VLI9+n/hbT6hTokMXTVyXJRKSG2hd2labXTbtmK4fNH3IZBPreSA4FMeVouVN3zG5x9CiGpLw/3pceo4qGqp+rVp+z+7yQ98oEf+nyH4F3+J9IheDBa94Wi63zJbLBCIZm7P0asHGpIJt3PzE3m0S4YIWyXBCVXGikj8MudDPB/6Nm2v4IxJ5gU0ii0guy5SUHqGUYzTP0jIJU5E82RHUXtX4lDdrihBLdP1YaG1AGUC12rQKuIaGvCpMjZC9bWSCYnjDlvpWbkdXMTNeBHLKiuoozMGIvkczmP0aRJSJ8PYnLCVNhKHXBNckH79e8Z8Kc2wUej4sQZoH8qDRGkg86maW/ZQWGNnLcXmq3FlXM6ssR/3P6E/bHMvm6HLrv1yRixit25JsH3/IOr2UV4BWJhxXW5BJ6Xdr07n9kF3ZNAk6/Xpc5MSFmYJ2R7bdL8Kk7q1OU9Elg/tCxJ8giT27wSTySF0GOxg4PbYJdi/Nyia9Nn89CGDulfJemm1aiEr/eleGSN+5MRrVJ4K6lgyTTIW3i9cQ0dAi6FHt0YMbH3wDSAtGLSAccezzxHitt1QdhW36CQgPcA8vIIBh3/JNjf/Obmc2yzpk8edSlS4lVdwgW5vzbYEyFoF4GCBBby1keVNueHAH+evi+H7oOVfS3XuPQSNTXOONAbzJeSb5stwdQHl1ZjrGoE49I8+A9j3t+ahhQj74FCSWpZrj7wRSFJJnnwi1T9HL5qrCFW/JZq6P62XkMWTb+u4lGpKfmmwiJWx178GOG7KbrZGqyWwmuyKWPkNswkZ1q8uptUlviIi+AXh2bOOTOLsrtNkfqbQJeh24reebkINLkjut5r4d9GR/r8CBa9SU0UQhsnZp5cP+RqWCixRm7i4YRFbtZ4EAkhtNa6jHb6gPYQv7MKqkPLRmX3dFsK8XsRLVZ6IEVrCbmNDc8o5mqsogjAQfoC9Bc7R6gfw03m+lQpv6kTfhxscDIX6s0w+fBxtkhjXAXr10UouWCx3C/p/FYwJRS/AXRKkjOb5CLmK4XRe0+xeDDwVkJPZau52bzLEDHCqV0f44pPgKOkYKgTZJ33fmk3Tu8SdxJ02SHM8Fem5SMsWqRyi2F1ynfRJszcFKykdWlNqgDA/L9lKYBmc7Zu/q9ii1FPF47VJkqhirUob53zoiJtVVRVwMR34gV9iqcBaHbRu9kkvqk3yMpfRFG49pKKjIiq7h/VpRwPGTHoY4cg05X5028iHsLvUW/uz+kjPyIEhhcKUwCkJAwbR9pIEGOn8z6svAO8i89sJ3dL5qDWFYbS+HGPRMxYwJItFQN86YESeJQhn2urGiLRffQeLptDl8dAgb+Tp47UQPxWOw17OeChLN1WnzlkPL1T5O+O3Menpn4C3IY5LEepHpnPeZHbvuWfeVtPlkH4LZjPbBrkJT3NoRJzBt86CO0Xq59oQ+8dsm0ymRcmQyn8w71mhmcuEI5byuF+C88VPYly2sEzjlzAQ3vdn/1+Hzguw6qFNNbqenhZGbdiG6RwZaTG7jTA2X9RdXjDN9yj1uQpyO4Lx8KRAcZcbZMafp4wPOd5MdXoFY52V1A8M9hi3sso93+uprE0qYNMjkE22CvK4HuUxqN7oIz5pWuETq1lQAjqlSlqdD2Rnr/ggp/TVkQYjn9lMfYelk2sH5HPdopYo7MHwlV1or9Bxf+QCyLzm92vzG2wjiIjC/ZHEJzeroJl6bdFPTpZho5MV2U86fLQqxNlGIMqCGy+9WYhJ8ob1r0+Whxde9L2PdysETv97O+xVw+VNN1TZSQN5I6l9m5Ip6pLIqLm4a1B1ffH6gHyqT9p82NOjntRWGIofO3bJz5GhkvSWbsXueTAMaJDou99kGLqDlhwBZNEQ4mKPuDvVwSK4WmLluHyhA97pZiVe8g+JxmnJF8IkV/tCs4Jq/HgOoAEGR9tCDsDbDmi3OviUQpG5D8XmKcSAUaFLRXb2lmJTNYdhtYyfjBYZQmN5qT5CNuaD3BVnlkCk7bsMW3AtXkNMMTuW4HjUERSJnVQ0vsBGa1wo3Qh7115XGeTF3NTz8w0440AgU7c3bSXO/KMINaIWXd0oLpoq/0/QJxCQSJ9XnYy1W7TYLBJpHsVWD1ahsA7FjNvRd6mxCiHsm8g6Z0pnzqIpF1dHUtP2ITU5Z1hZHbu+L3BEEStBbL9XYvGfEakv1bmf+bOZGnoiuHEdlBnaChxYKNzB23b8sw8YyT7Ajxfk49eJIAvdbVkdFCe2J0gMefhQ0bIZxhx3fzMIysQNiN8PgOUKxOMur10LduigREDRMZyP4oGWrP1GFY4t6groASsZ421os48wAdnrbovNhLt7ScNULkwZ5AIZJTrbaKYTLjA1oJ3sIuN/aYocm/9uoQHEIlacF1s/TM1fLcPTL38O9fOsjMEIwoPKfvt7opuI9G2Hf/PR4aCLDQ7wNmIdEuXJ/QNL72k5q4NejAldPfe3UVVqzkys8YZ/jYOGOp6c+YzRCrCuq0M11y7TiN6qk7YXRMn/gukxrEimbMQjr3jwRM6dKVZ4RUfWQr8noPXLJq6yh5R3EH1IVOHESst/LItbG2D2vRsZRkAObzvQAAD3mb3/G4NzopI0FAiHfbpq0X72adg6SRj+8OHMShtFxxLZlf/nLgRLbClwl5WmaYSs+yEjkq48tY7Z2bE0N91mJwt+ua0NlRJIDh0HikF4UvSVorFj2YVu9YeS5tfvlVjPSoNu/Zu6dEUfBOT555hahBdN3Sa5Xuj2Rvau1lQNIaC944y0RWj9UiNDskAK1WoL+EfXcC6IbBXFRyVfX/WKXxPAwUyIAGW8ggZ08hcijKTt1YKnUO6QPvcrmDVAb0FCLIXn5id4fD/Jx4tw/gbXs7WF9b2RgXtPhLBG9vF5FEkdHAKrQHZAJC/HWvk7nvzzDzIXZlfFTJoC3JpGgLPBY7SQTjGlUvG577yNutZ1hTfs9/1nkSXK9zzKLRZ3VODeKUovJe0WCq1zVMYxCJMenmNzPIU2S8TA4E7wWmbNkxq9rI2dd6v0VpcAPVMxnDsvWTWFayyqvKZO7Z08a62i/oH2/jxf8rpmfO64in3FLiL1GX8IGtVE9M23yGsIqJbxDTy+LtaMWDaPqkymb5VrQdzOvqldeU0SUi6IirG8UZ3jcpRbwHa1C0Dww9G/SFX3gPvTJQE+kyz+g1BeMILKKO+olcHzctOWgzxYHnOD7dpCRtuZEXACjgqesZMasoPgnuDC4nUviAAxDc5pngjoAITIkvhKwg5d608pdrZcA+qn5TMT6Uo/QzBaOxBCLTJX3Mgk85rMfsnWx86oLxf7p2PX5ONqieTa/qM3tPw4ZXvlAp83NSD8F7+ZgctK1TpoYwtiU2h02HCGioH5tkVCqNVTMH5p00sRy2JU1qyDBP2CII/Dg4WDsIl+zgeX7589srx6YORRQMBfKbodbB743Tl4WLKOEnwWUVBsm94SOlCracU72MSyj068wdpYjyz1FwC2bjQnxnB6Mp/pZ+yyZXtguEaYB+kqhjQ6UUmwSFazOb+rhYjLaoiM+aN9/8KKn0zaCTFpN9eKwWy7/u4EHzO46TdFSNjMfn2iPSJwDPCFHc0I1+vjdAZw5ZjqR/uzi9Zn20oAa5JnLEk/EA3VRWE7J/XrupfFJPtCUuqHPpnlL7ISJtRpSVcB8qsZCm2QEkWoROtCKKxUh3yEcMbWYJwk6DlEBG0bZP6eg06FL3v6RPb7odGuwm7FN8fG4woqtB8e7M5klPpo97GoObNwt+ludTAmxyC5hmcFx+dIvEZKI6igFKHqLH01iY1o7903VzG9QGetyVx5RNmBYUU+zIuSva/yIcECUi4pRmE3VkF2avqulQEUY4yZ/wmNboBzPmAPey3+dSYtBZUjeWWT0pPwCz4Vozxp9xeClIU60qvEFMQCaPvPaA70WlOP9f/ey39macvpGCVa+zfa8gO44wbxpJUlC8GN/pRMTQtzY8Z8/hiNrU+Zq64ZfFGIkdj7m7abcK1EBtws1X4J/hnqvasPvvDSDYWN+QcQVGMqXalkDtTad5rYY0TIR1Eqox3czwPMjKPvF5sFv17Thujr1IZ1Ytl4VX1J0vjXKmLY4lmXipRAro0qVGEcXxEVMMEl54jQMd4J7RjgomU0j1ptjyxY+cLiSyXPfiEcIS2lWDK3ISAy6UZ3Hb5vnPncA94411jcy75ay6B6DSTzK6UTCZR9uDANtPBrvIDgjsfarMiwoax2OlLxaSoYn4iRgkpEGqEkwox5tyI8aKkLlfZ12lO11TxsqRMY89j5JaO55XfPJPDL1LGSnC88Re9Ai+Nu5bZjtwRrvFITUFHPR4ZmxGslQMecgbZO7nHk32qHxYkdvWpup07ojcMCaVrpFAyFZJJbNvBpZfdf39Hdo2kPtT7v0/f8R/B5Nz4f1t9/3zNM/7n6SUHfcWk5dfQFJvcJMgPolGCpOFb/WC0FGWU2asuQyT+rm88ZKZ78Cei/CAh939CH0JYbpZIPtxc2ufXqjS3pHH9lnWK4iJ7OjR/EESpCo2R3MYKyE7rHfhTvWho4cL1QdN4jFTyR6syMwFm124TVDDRXMNveI1Dp/ntwdz8k8kxw7iFSx6+Yx6O+1LzMVrN0BBzziZi9kneZSzgollBnVwBh6oSOPHXrglrOj+QmR/AESrhDpKrWT+8/AiMDxS/5wwRNuGQPLlJ9ovomhJWn8sMLVItQ8N/7IXvtD8kdOoHaw+vBSbFImQsv/OCAIui99E+YSIOMlMvBXkAt+NAZK8wB9Jf8CPtB+TOUOR+z71d/AFXpPBT6+A5FLjxMjLIEoJzrQfquvxEIi+WoUzGR1IzQFNvbYOnxb2PyQ0kGdyXKzW2axQL8lNAXPk6NEjqrRD1oZtKLlFoofrXw0dCNWASHzy+7PSzOUJ3XtaPZsxLDjr+o41fKuKWNmjiZtfkOzItvlV2MDGSheGF0ma04qE3TUEfqJMrXFm7DpK+27DSvCUVf7rbNoljPhha5W7KBqVq0ShUSTbRmuqPtQreVWH4JET5yMhuqMoSd4r/N8sDmeQiQQvi1tcZv7Moc7dT5X5AtCD6kNEGZOzVcNYlpX4AbTsLgSYYliiPyVoniuYYySxsBy5cgb3pD+EK0Gpb0wJg031dPgaL8JZt6sIvzNPEHfVPOjXmaXj4bd4voXzpZ5GApMhILgMbCEWZ2zwgdeQgjNHLbPIt+KqxRwWPLTN6HwZ0Ouijj4UF+Sg0Au8XuIKW0WxlexdrFrDcZJ8Shauat3X0XmHygqgL1nAu2hrJFb4wZXkcS+i36KMyU1yFvYv23bQUJi/3yQpqr/naUOoiEWOxckyq/gq43dFou1DVDaYMZK9tho7+IXXokBCs5GRfOcBK7g3A+jXQ39K4YA8PBRW4m5+yR0ZAxWJncjRVbITvIAPHYRt1EJ3YLiUbqIvoKHtzHKtUy1ddRUQ0AUO41vonZDUOW+mrszw+SW/6Q/IUgNpcXFjkM7F4CSSQ2ExZg85otsMs7kqsQD4OxYeBNDcSpifjMoLb7GEbGWTwasVObmB/bfPcUlq0wYhXCYEDWRW02TP5bBrYsKTGWjnWDDJ1F7zWai0zW/2XsCuvBQjPFcTYaQX3tSXRSm8hsAoDdjArK/OFp6vcWYOE7lizP0Yc+8p16i7/NiXIiiQTp7c7Xus925VEtlKAjUdFhyaiLT7VxDagprMFwix4wZ05u0qj7cDWFd0W9OYHIu3JbJKMXRJ1aYNovugg+QqRN7fNHSi26VSgBpn+JfMuPo3aeqPWik/wI5Rz3BWarPQX4i5+dM0npwVOsX+KsOhC7vDg+OJsz4Q5zlnIeflUWL6QYMbf9WDfLmosLF4Qev3mJiOuHjoor/dMeBpA9iKDkMjYBNbRo414HCxjsHrB4EXNbHzNMDHCLuNBG6Sf+J4MZ/ElVsDSLxjIiGsTPhw8BPjxbfQtskj+dyNMKOOcUYIRBEIqbazz3lmjlRQhplxq673VklMMY6597vu+d89ec/zq7Mi4gQvh87ehYbpOuZEXj5g/Q7S7BFDAAB9DzG35SC853xtWVcnZQoH54jeOqYLR9NDuwxsVthTV7V99n/B7HSbAytbEyVTz/5NhJ8gGIjG0E5j3griULUd5Rg7tQR+90hJgNQKQH2btbSfPcaTOfIexc1db1BxUOhM1vWCpLaYuKr3FdNTt/T3PWCpEUWDKEtzYrjpzlL/wri3MITKsFvtF8QVV/NhVo97aKIBgdliNc10dWdXVDpVtsNn+2UIolrgqdWA4EY8so0YvB4a+aLzMXiMAuOHQrXY0tr+CL10JbvZzgjJJuB1cRkdT7DUqTvnswVUp5kkUSFVtIIFYK05+tQxT6992HHNWVhWxUsD1PkceIrlXuUVRogwmfdhyrf6zzaL8+c0L7GXMZOteAhAVQVwdJh+7nrX7x4LaIIfz2F2v7Dg/uDfz2Fa+4gFm2zHAor8UqimJG3VTJtZEoFXhnDYXvxMJFc6ku2bhbCxzij2z5UNuK0jmp1mnvkVNUfR+SEmj1Lr94Lym75PO7Fs0MIr3GdsWXRXSfgLTVY0FLqba97u1In8NAcY7IC6TjWLigwKEIm43NxTdaVTv9mcKkzuzBkKd8x/xt1p/9BbP7Wyb4bpo1K1gnOpbLvKz58pWl3B55RJ/Z5mRDLPtNQg14jdOEs9+h/V5UVpwrAI8kGbX8KPVPDIMfIqKDjJD9UyDOPhjZ3vFAyecwyq4akUE9mDOtJEK1hpDyi6Ae87sWAClXGTiwPwN7PXWwjxaR79ArHRIPeYKTunVW24sPr/3HPz2IwH8oKH4OlWEmt4BLM6W5g4kMcYbLwj2usodD1088stZA7VOsUSpEVl4w7NMb1EUHMRxAxLF0CIV+0L3iZb+ekB1vSDSFjAZ3hfLJf7gFaXrOKn+mhR+rWw/eTXIcAgl4HvFuBg1LOmOAwJH3eoVEjjwheKA4icbrQCmvAtpQ0mXG0agYp5mj4Rb6mdQ+RV4QBPbxMqh9C7o8nP0Wko2ocnCHeRGhN1XVyT2b9ACsL+6ylUy+yC3QEnaKRIJK91YtaoSrcWZMMwxuM0E9J68Z+YyjA0g8p1PfHAAIROy6Sa04VXOuT6A351FOWhKfTGsFJ3RTJGWYPoLk5FVK4OaYR9hkJvezwF9vQN1126r6isMGXWTqFW+3HL3I/jurlIdDWIVvYY+s6yq7lrFSPAGRdnU7PVwY/SvWbZGpXzy3BQ2LmAJlrONUsZs4oGkly0V267xbD5KMY8woNNsmWG1VVgLCra8aQBBcI4DP2BlNwxhiCtHlaz6OWFoCW0vMR3ErrG7JyMjTSCnvRcsEHgmPnwA6iNpJ2DrFb4gLlhKJyZGaWkA97H6FFdwEcLT6DRQQL++fOkVC4cYGW1TG/3iK5dShRSuiBulmihqgjR45Vi03o2RbQbP3sxt90VxQ6vzdlGfkXmmKmjOi080JSHkLntjvsBJnv7gKscOaTOkEaRQqAnCA4HWtB4XnMtOhpRmH2FH8tTXrIjAGNWEmudQLCkcVlGTQ965Kh0H6ixXbgImQP6b42B49sO5C8pc7iRlgyvSYvcnH9FgQ3azLbQG2cUW96SDojTQStxkOJyOuDGTHAnnWkz29aEwN9FT8EJ4yhXOg+jLTrCPKeEoJ9a7lDXOjEr8AgX4BmnMQ668oW0zYPyQiVMPxKRHtpfnEEyaKhdzNVThlxxDQNdrHeZiUFb6NoY2KwvSb7BnRcpJy+/g/zAYx3fYSN5QEaVD2Y1VsNWxB0BSO12MRsRY8JLfAezRMz5lURuLUnG1ToKk6Q30FughqWN6gBNcFxP/nY/iv+iaUQOa+2Nuym46wtI/DvSfzSp1jEi4SdYBE7YhTiVV5cX9gwboVDMVgZp5YBQlHOQvaDNfcCoCJuYhf5kz5kwiIKPjzgpcRJHPbOhJajeoeRL53cuMahhV8Z7IRr6M4hW0JzT7mzaMUzQpm866zwM7Cs07fJYXuWvjAMkbe5O6V4bu71sOG6JQ4oL8zIeXHheFVavzxmlIyBkgc9IZlEDplMPr8xlcyss4pVUdwK1e7CK2kTsSdq7g5SHRAl3pYUB9Ko4fsh4qleOyJv1z3KFSTSvwEcRO/Ew8ozEDYZSqpfoVW9uhJfYrNAXR0Z3VmeoAD+rVWtwP/13sE/3ICX3HhDG3CMc476dEEC0K3umSAD4j+ZQLVdFOsWL2C1TH5+4KiSWH+lMibo+B55hR3Gq40G1n25sGcN0mEcoU2wN9FCVyQLBhYOu9aHVLWjEKx2JIUZi5ySoHUAI9b8hGzaLMxCZDMLhv8MkcpTqEwz9KFDpCpqQhVmsGQN8m24wyB82FAKNmjgfKRsXRmsSESovAwXjBIoMKSG51p6Um8b3i7GISs7kjTq/PZoioCfJzfKdJTN0Q45kQEQuh9H88M3yEs3DbtRTKALraM0YC8laiMiOOe6ADmTcCiREeAWZelBaEXRaSuj2lx0xHaRYqF65O0Lo5OCFU18A8cMDE4MLYm9w2QSr9NgQAIcRxZsNpA7UJR0e71JL+VU+ISWFk5I97lra8uGg7GlQYhGd4Gc6rxsLFRiIeGO4abP4S4ekQ1fiqDCy87GZHd52fn5aaDGuvOmIofrzpVwMvtbreZ/855OaXTRcNiNE0wzGZSxbjg26v8ko8L537v/XCCWP2MFaArJpvnkep0pA+O86MWjRAZPQRfznZiSIaTppy6m3p6HrNSsY7fDtz7Cl4V/DJAjQDoyiL2uwf1UHVd2AIrzBUSlJaTj4k6NL97a/GqhWKU9RUmjnYKpm2r+JYUcrkCuZKvcYvrg8pDoUKQywY9GDWg03DUFSirlUXBS5SWn/KAntnf0IdHGL/7mwXqDG+LZYjbEdQmqUqq4y54TNmWUP7IgcAw5816YBzwiNIJiE9M4lPCzeI/FGBeYy3p6IAmH4AjXXmvQ4Iy0Y82NTobcAggT2Cdqz6Mx4TdGoq9fn2etrWKUNFyatAHydQTVUQ2S5OWVUlugcNvoUrlA8cJJz9MqOa/W3iVno4zDHfE7zhoY5f5lRTVZDhrQbR8LS4eRLz8iPMyBL6o4PiLlp89FjdokQLaSBmKHUwWp0na5fE3v9zny2YcDXG/jfI9sctulHRbdkI5a4GOPJx4oAJQzVZ/yYAado8KNZUdEFs9ZPiBsausotXMNebEgr0dyopuqfScFJ3ODNPHgclACPdccwv0YJGQdsN2lhoV4HVGBxcEUeUX/alr4nqpcc1CCR3vR7g40zteQg/JvWmFlUE4mAiTpHlYGrB7w+U2KdSwQz2QJKBe/5eiixWipmfP15AFWrK8Sh1GBBYLgzki1wTMhGQmagXqJ2+FuqJ8f0XzXCVJFHQdMAw8xco11HhM347alrAu+wmX3pDFABOvkC+WPX0Uhg1Z5MVHKNROxaR84YV3s12UcM+70cJ460SzEaKLyh472vOMD3XnaK7zxZcXlWqenEvcjmgGNR2OKbI1s8U+iwiW+HotHalp3e1MGDy6BMVIvajnAzkFHbeVsgjmJUkrP9OAwnEHYXVBqYx3q7LvXjoVR0mY8h+ZaOnh053pdsGkmbqhyryN01eVHySr+CkDYkSMeZ1xjPNVM+gVLTDKu2VGsMUJqWO4TwPDP0VOg2/8ITbAUaMGb4LjL7L+Pi11lEVMXTYIlAZ/QHmTENjyx3kDkBdfcvvQt6tKk6jYFM4EG5UXDTaF5+1ZjRz6W7MdJPC+wTkbDUim4p5QQH3b9kGk2Bkilyeur8Bc20wm5uJSBO95GfYDI1EZipoRaH7uVveneqz43tlTZGRQ4a7CNmMHgXyOQQOL6WQkgMUTQDT8vh21aSdz7ERiZT1jK9F+v6wgFvuEmGngSvIUR2CJkc5tx1QygfZnAruONobB1idCLB1FCfO7N1ZdRocT8/Wye+EnDiO9pzqIpnLDl4bkaRKW+ekBVwHn46Shw1X0tclt/0ROijuUB4kIInrVJU4buWf4YITJtjOJ6iKdr1u+flgQeFH70GxKjhdgt/MrwfB4K/sXczQ+9zYcrD4dhY6qZhZ010rrxggWA8JaZyg2pYij8ieYEg1aZJkZK9O1Re7sB0iouf60rK0Gd+AYlp7soqCBCDGwfKeUQhCBn0E0o0GS6PdmjLi0TtCYZeqazqwN+yNINIA8Lk3iPDnWUiIPLGNcHmZDxfeK0iAdxm/T7LnN+gemRL61hHIc0NCAZaiYJR+OHnLWSe8sLrK905B5eEJHNlWq4RmEXIaFTmo49f8w61+NwfEUyuJAwVqZCLFcyHBKAcIVj3sNzfEOXzVKIndxHw+AR93owhbCxUZf6Gs8cz6/1VdrFEPrv330+9s6BtMVPJ3zl/Uf9rUi0Z/opexfdL3ykF76e999GPfVv8fJv/Y/+/5hEMon1tqNFyVRevV9y9/uIvsG3dbB8GRRrgaEXfhx+2xeOFt+cEn3RZanNxdEe2+B6MHpNbrRE53PlDifPvFcp4kO78ILR0T4xyW/WGPyBsqGdoA7zJJCu1TKbGfhnqgnRbxbB2B3UZoeQ2bz2sTVnUwokTcTU21RxN1PYPS3Sar7T0eRIsyCNowr9amwoMU/od9s2APtiKNL6ENOlyKADstAEWKA+sdKDhrJ6BOhRJmZ+QJbAaZ3/5Fq0/lumCgEzGEbu3yi0Y4I4EgVAjqxh4HbuQn0GrRhOWyAfsglQJAVL1y/6yezS2k8RE2MstJLh92NOB3GCYgFXznF4d25qiP4ZCyI4RYGesut6FXK6GwPpKK8WHEkhYui0AyEmr5Ml3uBFtPFdnioI8RiCooa7Z1G1WuyIi3nSNglutc+xY8BkeW3JJXPK6jd2VIMpaSxpVtFq+R+ySK9J6WG5Qvt+C+QH1hyYUOVK7857nFmyDBYgZ/o+AnibzNVqyYCJQvyDXDTK+iXdkA71bY7TL3bvuLxLBQ8kbTvTEY9aqkQ3+MiLWbEgjLzOH+lXgco1ERgzd80rDCymlpaRQbOYnKG/ODoFl46lzT0cjM5FYVvv0qLUbD5lyJtMUaC1pFlTkNONx6lliaX9o0i/1vws5bNKn5OuENQEKmLlcP4o2ZmJjD4zzd3Fk32uQ4uRWkPSUqb4LBe3EXHdORNB2BWsws5daRnMfNVX7isPSb1hMQdAJi1/qmDMfRUlCU74pmnzjbXfL8PVG8NsW6IQM2Ne23iCPIpryJjYbVnm5hCvKpMa7HLViNiNc+xTfDIaKm3jctViD8A1M9YPJNk003VVr4Zo2MuGW8vil8SLaGpPXqG7I4DLdtl8a4Rbx1Lt4w5Huqaa1XzZBtj208EJVGcmKYEuaeN27zT9EE6a09JerXdEbpaNgNqYJdhP1NdqiPKsbDRUi86XvvNC7rME5mrSQtrzAZVndtSjCMqd8BmaeGR4l4YFULGRBeXIV9Y4yxLFdyoUNpiy2IhePSWzBofYPP0eIa2q5JP4j9G8at/AqoSsLAUuRXtvgsqX/zYwsE+of6oSDbUOo4RMJw+DOUTJq+hnqwKim9Yy/napyZNTc2rCq6V9jHtJbxGPDwlzWj/Sk3zF/BHOlT/fSjSq7FqlPI1q6J+ru8Aku008SFINXZfOfnZNOvGPMtEmn2gLPt+H4QLA+/SYe4j398auzhKIp2Pok3mPC5q1IN1HgR+mnEfc4NeeHYwd2/kpszR3cBn7ni9NbIqhtSWFW8xbUJuUPVOeeXu3j0IGZmFNiwaNZ6rH4/zQ2ODz6tFxRLsUYZu1bfd1uIvfQDt4YD/efKYv8VF8bHGDgK22w2Wqwpi43vNCOXFJZCGMqWiPbL8mil6tsmOTXAWCyMCw73e2rADZj2IK6rqksM3EXF2cbLb4vjB14wa/yXK5vwU+05MzERJ5nXsXsW21o7M+gO0js2OyKciP5uF2iXyb2DiptwQeHeqygkrNsqVCSlldxBMpwHi1vfc8RKpP/4L3Lmpq6DZcvhDDfxTCE3splacTcOtXdK2g303dIWBVe2wD/Gvja1cClFQ67gw0t1ZUttsUgQ1Veky8oOpS6ksYEc4bqseCbZy766SvL3FodmnahlWJRgVCNjPxhL/fk2wyvlKhITH/VQCipOI0dNcRa5B1M5HmOBjTLeZQJy237e2mobwmDyJNHePhdDmiknvLKaDbShL+Is1XTCJuLQd2wmdJL7+mKvs294whXQD+vtd88KKk0DXP8B1Xu9J+xo69VOuFgexgTrcvI6SyltuLix9OPuE6/iRJYoBMEXxU4shQMf4Fjqwf1PtnJ/wWSZd29rhZjRmTGgiGTAUQqRz+nCdjeMfYhsBD5Lv60KILWEvNEHfmsDs2L0A252351eUoYxAysVaCJVLdH9QFWAmqJDCODUcdoo12+gd6bW2boY0pBVHWL6LQDK5bYWh1V8vFvi0cRpfwv7cJiMX3AZNJuTddHehTIdU0YQ/sQ1dLoF2xQPcCuHKiuCWOY30DHe1OwcClLAhqAKyqlnIbH/8u9ScJpcS4kgp6HKDUdiOgRaRGSiUCRBjzI5gSksMZKqy7Sd51aeg0tgJ+x0TH9YH2Mgsap9N7ENZdEB0bey2DMTrBA1hn56SErNHf3tKtqyL9b6yXEP97/rc+jgD2N1LNUH6RM9AzP3kSipr06RkKOolR7HO768jjWiH1X92jA7dkg7gcNcjqsZCgfqWw0tPXdLg20cF6vnQypg7gLtkazrHAodyYfENPQZsdfnjMZiNu4nJO97D1/sQE+3vNFzrSDOKw+keLECYf7RJwVHeP/j79833oZ0egonYB2FlFE5qj02B/LVOMJQlsB8uNg3Leg4qtZwntsOSNidR0abbZmAK4sCzvt8Yiuz2yrNCJoH5O8XvX/vLeR/BBYTWj0sOPYM/jyxRd5+/JziKAABaPcw/34UA3aj/gLZxZgRCWN6m4m3demanNgsx0P237/Q+Ew5VYnJPkyCY0cIVHoFn2Ay/e7U4P19APbPFXEHX94N6KhEMPG7iwB3+I+O1jd5n6VSgHegxgaSawO6iQCYFgDsPSMsNOcUj4q3sF6KzGaH/0u5PQoAj/8zq6Uc9MoNrGqhYeb2jQo0WlGlXjxtanZLS24/OIN5Gx/2g684BPDQpwlqnkFcxpmP/osnOXrFuu4PqifouQH0eF5qCkvITQbJw/Zvy5mAHWC9oU+cTiYhJmSfKsCyt1cGVxisKu+NymEQIAyaCgud/V09qT3nk/9s/SWsYtha7yNpzBIMM40rCSGaJ9u6lEkl00vXBiEt7p9P5IBCiavynEOv7FgLqPdeqxRiCwuFVMolSIUBcoyfUC2e2FJSAUgYdVGFf0b0Kn2EZlK97yyxrT2MVgvtRikfdaAW8RwEEfN+B7/eK8bBdp7URpbqn1xcrC6d2UjdsKbzCjBFqkKkoZt7Mrhg6YagE7spkqj0jOrWM+UGQ0MUlG2evP1uE1p2xSv4dMK0dna6ENcNUF+xkaJ7B764NdxLCpuvhblltVRAf7vK5qPttJ/9RYFUUSGcLdibnz6mf7WkPO3MkUUhR2mAOuGv8IWw5XG1ZvoVMnjSAZe6T7WYA99GENxoHkMiKxHlCuK5Gd0INrISImHQrQmv6F4mqU/TTQ8nHMDzCRivKySQ8dqkpQgnUMnwIkaAuc6/FGq1hw3b2Sba398BhUwUZSAIO8XZvnuLdY2n6hOXws+gq9BHUKcKFA6kz6FDnpxLPICa3qGhnc97bo1FT/XJk48LrkHJ2CAtBv0RtN97N21plfpXHvZ8gMJb7Zc4cfI6MbPwsW7AilCSXMFIEUEmir8XLEklA0ztYbGpTTGqttp5hpFTTIqUyaAIqvMT9A/x+Ji5ejA4Bhxb/cl1pUdOD6epd3yilIdO6j297xInoiBPuEDW2/UfslDyhGkQs7Wy253bVnlT+SWg89zYIK/9KXFl5fe+jow2rd5FXv8zDPrmfMXiUPt9QBO/iK4QGbX5j/7Rx1c1vzsY8ONbP3lVIaPrhL4+1QrECTN3nyKavGG0gBBtHvTKhGoBHgMXHStFowN+HKrPriYu+OZ05Frn8okQrPaaxoKP1ULCS/cmKFN3gcH7HQlVjraCeQmtjg1pSQxeuqXiSKgLpxc/1OiZsU4+n4lz4hpahGyWBURLi4642n1gn9qz9bIsaCeEPJ0uJmenMWp2tJmIwLQ6VSgDYErOeBCfSj9P4G/vI7oIF+l/n5fp956QgxGvur77ynawAu3G9MdFbJbu49NZnWnnFcQHjxRuhUYvg1U/e84N4JTecciDAKb/KYIFXzloyuE1eYXf54MmhjTq7B/yBToDzzpx3tJCTo3HCmVPYfmtBRe3mPYEE/6RlTIxbf4fSOcaKFGk4gbaUWe44hVk9SZzhW80yfW5QWBHxmtUzvMhfVQli4gZTktIOZd9mjJ5hsbmzttaHQB29Am3dZkmx3g/qvYocyhZ2PXAWsNQiIaf+Q8W/MWPIK7/TjvCx5q2XRp4lVWydMc2wIQkhadDB0xsnw/kSEyGjLKjI4coVIwtubTF3E7MJ6LS6UOsJKj82XVAVPJJcepfewbzE91ivXZvOvYfsmMevwtPpfMzGmC7WJlyW2j0jh7AF1JLmwEJSKYwIvu6DHc3YnyLH9ZdIBnQ+nOVDRiP+REpqv++typYHIvoJyICGA40d8bR7HR2k7do6UQTHF4oriYeIQbxKe4Th6+/l1BjUtS9hqORh3MbgvYrStXTfSwaBOmAVQZzpYNqsAmQyjY56MUqty3c/xH6GuhNvNaG9vGbG6cPtBM8UA3e8r51D0AR9kozKuGGSMgLz3nAHxDNnc7GTwpLj7/6HeWp1iksDeTjwCLpxejuMtpMnGJgsiku1sOACwQ9ukzESiDRN77YNESxR5LphOlcASXA5uIts1LnBIcn1J7BLWs49DMALSnuz95gdOrTZr0u1SeYHinno/pE58xYoXbVO/S+FEMMs5qyWkMnp8Q3ClyTlZP52Y9nq7b8fITPuVXUk9ohG5EFHw4gAEcjFxfKb3xuAsEjx2z1wxNbSZMcgS9GKyW3R6KwJONgtA64LTyxWm8Bvudp0M1FdJPEGopM4Fvg7G/hsptkhCfHFegv4ENwxPeXmYhxwZy7js+BeM27t9ODBMynVCLJ7RWcBMteZJtvjOYHb5lOnCLYWNEMKC59BA7covu1cANa2PXL05iGdufOzkgFqqHBOrgQVUmLEc+Mkz4Rq8O6WkNr7atNkH4M8d+SD1t/tSzt3oFql+neVs+AwEI5JaBJaxARtY2Z4mKoUqxds4UpZ0sv3zIbNoo0J4fihldQTX3XNcuNcZmcrB5LTWMdzeRuAtBk3cZHYQF6gTi3PNuDJ0nmR+4LPLoHvxQIxRgJ9iNNXqf2SYJhcvCtJiVWo85TsyFOuq7EyBPJrAdhEgE0cTq16FQXhYPJFqSfiVn0IQnPOy0LbU4BeG94QjdYNB0CiQ3QaxQqD2ebSMiNjaVaw8WaM4Z5WnzcVDsr4eGweSLa2DE3BWViaxhZFIcSTjgxNCAfelg+hznVOYoe5VqTYs1g7WtfTm3e4/WduC6p+qqAM8H4ZyrJCGpewThTDPe6H7CzX/zQ8Tm+r65HeZn+MsmxUciEWPlAVaK/VBaQBWfoG/aRL/jSZIQfep/89GjasWmbaWzeEZ2R1FOjvyJT37O9B8046SRSKVEnXWlBqbkb5XCS3qFeuE9xb9+frEknxWB5h1D/hruz2iVDEAS7+qkEz5Ot5agHJc7WCdY94Ws61sURcX5nG8UELGBAHZ3i+3VulAyT0nKNNz4K2LBHBWJcTBX1wzf+//u/j/9+//v87+9/l9Lbh/L/uyNYiTsWV2LwsjaA6MxTuzFMqmxW8Jw/+IppdX8t/Clgi1rI1SN0UC/r6tX/4lUc2VV1OQReSeCsjUpKZchw4XUcjHfw6ryCV3R8s6VXm67vp4n+lcPV9gJwmbKQEsmrJi9c2vkwrm8HFbVYNTaRGq8D91t9n5+U+aD/hNtN3HjC/nC/vUoGFSCkXP+NlRcmLUqLbiUBl4LYf1U/CCvwtd3ryCH8gUmGITAxiH1O5rnGTz7y1LuFjmnFGQ1UWuM7HwfXtWl2fPFKklYwNUpF2IL/TmaRETjQiM5SJacI+3Gv5MBU8lP5Io6gWkawpyzNEVGqOdx4YlO1dCvjbWFZWbCmeiFKPSlMKtKcMFLs/KQxtgAHi7NZNCQ32bBAW2mbHflVZ8wXKi1JKVHkW20bnYnl3dKWJeWJOiX3oKPBD6Zbi0ZvSIuWktUHB8qDR8DMMh1ZfkBL9FS9x5r0hBGLJ8pUCJv3NYH+Ae8p40mZWd5m5fhobFjQeQvqTT4VKWIYfRL0tfaXKiVl75hHReuTJEcqVlug+eOIIc4bdIydtn2K0iNZPsYWQvQio2qbO3OqAlPHDDOB7DfjGEfVF51FqqNacd6QmgFKJpMfLp5DHTv4wXlONKVXF9zTJpDV4m1sYZqJPhotcsliZM8yksKkCkzpiXt+EcRQvSQqmBS9WdWkxMTJXPSw94jqI3varCjQxTazjlMH8jTS8ilaW8014/vwA/LNa+YiFoyyx3s/KswP3O8QW1jtq45yTM/DX9a8M4voTVaO2ebvw1EooDw/yg6Y1faY+WwrdVs5Yt0hQ5EwRfYXSFxray1YvSM+kYmlpLG2/9mm1MfmbKHXr44Ih8nVKb1M537ZANUkCtdsPZ80JVKVKabVHCadaLXg+IV8i5GSwpZti0h6diTaKs9sdpUKEpd7jDUpYmHtiX33SKiO3tuydkaxA7pEc9XIQEOfWJlszj5YpL5bKeQyT7aZSBOamvSHl8xsWvgo26IP/bqk+0EJUz+gkkcvlUlyPp2kdKFtt7y5aCdks9ZJJcFp5ZWeaWKgtnXMN3ORwGLBE0PtkEIek5FY2aVssUZHtsWIvnljMVJtuVIjpZup/5VL1yPOHWWHkOMc6YySWMckczD5jUj2mlLVquFaMU8leGVaqeXis+aRRL8zm4WuBk6cyWfGMxgtr8useQEx7k/PvRoZyd9nde1GUCV84gMX8Ogu/BWezYPSR27llzQnA97oo0pYyxobYUJfsj+ysTm9zJ+S4pk0TGo9VTG0KjqYhTmALfoDZVKla2b5yhv241PxFaLJs3i05K0AAIdcGxCJZmT3ZdT7CliR7q+kur7WdQjygYtOWRL9B8E4s4LI8KpAj7bE0dg7DLOaX+MGeAi0hMMSSWZEz+RudXbZCsGYS0QqiXjH9XQbd8sCB+nIVTq7/T/FDS+zWY9q7Z2fdq1tdLb6v3hKKVDAw5gjj6o9r1wHFROdHc18MJp4SJ2Ucvu+iQ9EgkekW8VCM+psM6y+/2SBy8tNN4a3L1MzP+OLsyvESo5gS7IQOnIqMmviJBVc6zbVG1n8eXiA3j46kmvvtJlewwNDrxk4SbJOtP/TV/lIVK9ueShNbbMHfwnLTLLhbZuO79ec5XvfgRwLFK+w1r5ZWW15rVFZrE+wKqNRv5KqsLNfpGgnoUU6Y71NxEmN7MyqwqAQqoIULOw/LbuUB2+uE75gJt+kq1qY4LoxV+qR/zalupea3D5+WMeaRIn0sAI6DDWDh158fqUb4YhAxhREbUN0qyyJYkBU4V2KARXDT65gW3gRsiv7xSPYEKLwzgriWcWgPr0sbZnv7m1XHNFW6xPdGNZUdxFiUYlmXNjDVWuu7LCkX/nVkrXaJhiYktBISC2xgBXQnNEP+cptWl1eG62a7CPXrnrkTQ5BQASbEqUZWMDiZUisKyHDeLFOaJILUo5f6iDt4ZO8MlqaKLto0AmTHVVbkGuyPa1R/ywZsWRoRDoRdNMMHwYTsklMVnlAd2S0282bgMI8fiJpDh69OSL6K3qbo20KfpNMurnYGQSr/stFqZ7hYsxKlLnKAKhsmB8AIpEQ4bd/NrTLTXefsE6ChRmKWjXKVgpGoPs8GAicgKVw4K0qgDgy1A6hFq1WRat3fHF+FkU+b6H4NWpOU3KXTxrIb2qSHAb+qhm8hiSROi/9ofapjxhyKxxntPpge6KL5Z4+WBMYkAcE6+0Hd3Yh2zBsK2MV3iW0Y6cvOCroXlRb2MMJtdWx+3dkFzGh2Pe3DZ9QpSqpaR/rE1ImOrHqYYyccpiLC22amJIjRWVAherTfpQLmo6/K2pna85GrDuQPlH1Tsar8isAJbXLafSwOof4gg9RkAGm/oYpBQQiPUoyDk2BCQ1k+KILq48ErFo4WSRhHLq/y7mgw3+L85PpP6xWr6cgp9sOjYjKagOrxF148uhuaWtjet953fh1IQiEzgC+d2IgBCcUZqgTAICm2bR8oCjDLBsmg+ThyhfD+zBalsKBY1Ce54Y/t9cwfbLu9SFwEgphfopNA3yNxgyDafUM3mYTovZNgPGdd4ZFFOj1vtfFW3u7N+iHEN1HkeesDMXKPyoCDCGVMo4GCCD6PBhQ3dRZIHy0Y/3MaE5zU9mTCrwwnZojtE+qNpMSkJSpmGe0EzLyFelMJqhfFQ7a50uXxZ8pCc2wxtAKWgHoeamR2O7R+bq7IbPYItO0esdRgoTaY38hZLJ5y02oIVwoPokGIzxAMDuanQ1vn2WDQ00Rh6o5QOaCRu99fwDbQcN0XAuqkFpxT/cfz3slGRVokrNU0iqiMAJFEbKScZdmSkTUznC0U+MfwFOGdLgsewRyPKwBZYSmy6U325iUhBQNxbAC3FLKDV9VSOuQpOOukJ/GAmu/tyEbX9DgEp6dv1zoU0IqzpG6gssSjIYRVPGgU1QAQYRgIT8gEV0EXr1sqeh2I6rXjtmoCYyEDCe/PkFEi/Q48FuT29p557iN+LCwk5CK/CZ2WdAdfQZh2Z9QGrzPLSNRj5igUWzl9Vi0rCqH8G1Kp4QMLkuwMCAypdviDXyOIk0AHTM8HBYKh3b0/F+DxoNj4ZdoZfCpQVdnZarqoMaHWnMLNVcyevytGsrXQEoIbubqWYNo7NRHzdc0zvT21fWVirj7g36iy6pxogfvgHp1xH1Turbz8QyyHnXeBJicpYUctbzApwzZ1HT+FPEXMAgUZetgeGMwt4G+DHiDT2Lu+PT21fjJCAfV16a/Wu1PqOkUHSTKYhWW6PhhHUlNtWzFnA7MbY+r64vkwdpfNB2JfWgWXAvkzd42K4lN9x7Wrg4kIKgXCb4mcW595MCPJ/cTfPAMQMFWwnqwde4w8HZYJFpQwcSMhjVz4B8p6ncSCN1X4klxoIH4BN2J6taBMj6lHkAOs8JJAmXq5xsQtrPIPIIp/HG6i21xMGcFgqDXSRF0xQg14d2uy6HgKE13LSvQe52oShF5Jx1R6avyL4thhXQZHfC94oZzuPUBKFYf1VvDaxIrtV6dNGSx7DO0i1p6CzBkuAmEqyWceQY7F9+U0ObYDzoa1iKao/cOD/v6Q9gHrrr1uCeOk8fST9MG23Ul0KmM3r+Wn6Hi6WAcL7gEeaykicvgjzkjSwFsAXIR81Zx4QJ6oosVyJkCcT+4xAldCcihqvTf94HHUPXYp3REIaR4dhpQF6+FK1H0i9i7Pvh8owu3lO4PT1iuqu+DkL2Bj9+kdfGAg2TXw03iNHyobxofLE2ibjsYDPgeEQlRMR7afXbSGQcnPjI2D+sdtmuQ771dbASUsDndU7t58jrrNGRzISvwioAlHs5FA+cBE5Ccznkd8NMV6BR6ksnKLPZnMUawRDU1MZ/ib3xCdkTblHKu4blNiylH5n213yM0zubEie0o4JhzcfAy3H5qh2l17uLooBNLaO+gzonTH2uF8PQu9EyH+pjGsACTMy4cHzsPdymUSXYJOMP3yTkXqvO/lpvt0cX5ekDEu9PUfBeZODkFuAjXCaGdi6ew4qxJ8PmFfwmPpkgQjQlWqomFY6UkjmcnAtJG75EVR+NpzGpP1Ef5qUUbfowrC3zcSLX3BxgWEgEx/v9cP8H8u1Mvt9/rMDYf6sjwU1xSOPBgzFEeJLMRVFtKo5QHsUYT8ZRLCah27599EuqoC9PYjYO6aoAMHB8X1OHwEAYouHfHB3nyb2B+SnZxM/vw/bCtORjLMSy5aZoEpvgdGvlJfNPFUu/p7Z4VVK1hiI0/UTuB3ZPq4ohEbm7Mntgc1evEtknaosgZSwnDC2BdMmibpeg48X8Ixl+/8+xXdbshQXUPPvx8jT3fkELivHSmqbhblfNFShWAyQnJ3WBU6SMYSIpTDmHjdLVAdlADdz9gCplZw6mTiHqDwIsxbm9ErGusiVpg2w8Q3khKV/R9Oj8PFeF43hmW/nSd99nZzhyjCX3QOZkkB6BsH4H866WGyv9E0hVAzPYah2tkRfQZMmP2rinfOeQalge0ovhduBjJs9a1GBwReerceify49ctOh5/65ATYuMsAkVltmvTLBk4oHpdl6i+p8DoNj4Fb2vhdFYer2JSEilEwPd5n5zNoGBXEjreg/wh2NFnNRaIUHSOXa4eJRwygZoX6vnWnqVdCRT1ARxeFrNBJ+tsdooMwqnYhE7zIxnD8pZH+P0Nu1wWxCPTADfNWmqx626IBJJq6NeapcGeOmbtXvl0TeWG0Y7OGGV4+EHTtNBIT5Wd0Bujl7inXgZgfXTM5efD3qDTJ54O9v3Bkv+tdIRlq1kXcVD0BEMirmFxglNPt5pedb1AnxuCYMChUykwsTIWqT23XDpvTiKEru1cTcEMeniB+HQDehxPXNmkotFdwUPnilB/u4Nx5Xc6l8J9jH1EgKZUUt8t8cyoZleDBEt8oibDmJRAoMKJ5Oe9CSWS5ZMEJvacsGVdXDWjp/Ype5x0p9PXB2PAwt2LRD3d+ftNgpuyvxlP8pB84oB1i73vAVpwyrmXW72hfW6Dzn9Jkj4++0VQ4d0KSx1AsDA4OtXXDo63/w+GD+zC7w5SJaxsmnlYRQ4dgdjA7tTl2KNLnpJ+mvkoDxtt1a4oPaX3EVqj96o9sRKBQqU7ZOiupeAIyLMD+Y3YwHx30XWHB5CQiw7q3mj1EDlP2eBsZbz79ayUMbyHQ7s8gu4Lgip1LiGJj7NQj905/+rgUYKAA5qdrlHKIknWmqfuR+PB8RdBkDg/NgnlT89G72h2NvySnj7UyBwD+mi/IWs1xWbxuVwUIVXun5cMqBtFbrccI+DILjsVQg6eeq0itiRfedn89CvyFtpkxaauEvSANuZmB1p8FGPbU94J9medwsZ9HkUYjmI7OH5HuxendLbxTaYrPuIfE2ffXFKhoNBUp33HsFAXmCV/Vxpq5AYgFoRr5Ay93ZLRlgaIPjhZjXZZChT+aE5iWAXMX0oSFQEtwjiuhQQItTQX5IYrKfKB+queTNplR1Hoflo5/I6aPPmACwQCE2jTOYo5Dz1cs7Sod0KTG/3kEDGk3kUaUCON19xSJCab3kNpWZhSWkO8l+SpW70Wn3g0ciOIJO5JXma6dbos6jyisuxXwUUhj2+1uGhcvuliKtWwsUTw4gi1c/diEEpZHoKoxTBeMDmhPhKTx7TXWRakV8imJR355DcIHkR9IREHxohP4TbyR5LtFU24umRPRmEYHbpe1LghyxPx7YgUHjNbbQFRQhh4KeU1EabXx8FS3JAxp2rwRDoeWkJgWRUSKw6gGP5U2PuO9V4ZuiKXGGzFQuRuf+tkSSsbBtRJKhCi3ENuLlXhPbjTKD4djXVnfXFds6Zb+1XiUrRfyayGxJq1+SYBEfbKlgjiSmk0orgTqzSS+DZ5rTqsJbttiNtp+KMqGE2AHGFw6jQqM5vD6vMptmXV9OAjq49Uf/Lx9Opam+Hn5O9p8qoBBAQixzQZ4eNVkO9sPzJAMyR1y4/RCQQ1s0pV5KAU5sKLw3tkcFbI/JqrjCsK4Mw+W8aod4lioYuawUiCyVWBE/qPaFi5bnkgpfu/ae47174rI1fqQoTbW0HrU6FAejq7ByM0V4zkZTg02/YJK2N7hUQRCeZ4BIgSEqgD8XsjzG6LIsSbuHoIdz/LhFzbNn1clci1NHWJ0/6/O8HJMdIpEZbqi1RrrFfoo/rI/7ufm2MPG5lUI0IYJ4MAiHRTSOFJ2oTverFHYXThkYFIoyFx6rMYFgaOKM4xNWdlOnIcKb/suptptgTOTdVIf4YgdaAjJnIAm4qNNHNQqqAzvi53GkyRCEoseUBrHohZsjUbkR8gfKtc/+Oa72lwxJ8Mq6HDfDATbfbJhzeIuFQJSiw1uZprHlzUf90WgqG76zO0eCB1WdPv1IT6sNxxh91GEL2YpgC97ikFHyoaH92ndwduqZ6IYjkg20DX33MWdoZk7QkcKUCgisIYslOaaLyvIIqRKWQj16jE1DlQWJJaPopWTJjXfixEjRJJo8g4++wuQjbq+WVYjsqCuNIQW3YjnxKe2M5ZKEqq+cX7ZVgnkbsU3RWIyXA1rxv4kGersYJjD//auldXGmcEbcfTeF16Y1708FB1HIfmWv6dSFi6oD4E+RIjCsEZ+kY7dKnwReJJw3xCjKvi3kGN42rvyhUlIz0Bp+fNSV5xwFiuBzG296e5s/oHoFtUyUplmPulIPl+e1CQIQVtjlzLzzzbV+D/OVQtYzo5ixtMi5BmHuG4N/uKfJk5UIREp7+12oZlKtPBomXSzAY0KgtbPzzZoHQxujnREUgBU+O/jKKhgxVhRPtbqyHiUaRwRpHv7pgRPyUrnE7fYkVblGmfTY28tFCvlILC04Tz3ivkNWVazA+OsYrxvRM/hiNn8Fc4bQBeUZABGx5S/xFf9Lbbmk298X7iFg2yeimvsQqqJ+hYbt6uq+Zf9jC+Jcwiccd61NKQtFvGWrgJiHB5lwi6fR8KzYS7EaEHf/ka9EC7H8D+WEa3TEACHBkNSj/cXxFeq4RllC+fUFm2xtstYLL2nos1DfzsC9vqDDdRVcPA3Ho95aEQHvExVThXPqym65llkKlfRXbPTRiDepdylHjmV9YTWAEjlD9DdQnCem7Aj/ml58On366392214B5zrmQz/9ySG2mFqEwjq5sFl5tYJPw5hNz8lyZPUTsr5E0F2C9VMPnZckWP7+mbwp/BiN7f4kf7vtGnZF2JGvjK/sDX1RtcFY5oPQnE4lIAYV49U3C9SP0LCY/9i/WIFK9ORjzM9kG/KGrAuwFmgdEpdLaiqQNpCTGZVuAO65afkY1h33hrqyLjZy92JK3/twdj9pafFcwfXONmPQWldPlMe7jlP24Js0v9m8bIJ9TgS2IuRvE9ZVRaCwSJYOtAfL5H/YS4FfzKWKbek+GFulheyKtDNlBtrdmr+KU+ibHTdalzFUmMfxw3f36x+3cQbJLItSilW9cuvZEMjKw987jykZRlsH/UI+HlKfo2tLwemBEeBFtmxF2xmItA/dAIfQ+rXnm88dqvXa+GapOYVt/2waFimXFx3TC2MUiOi5/Ml+3rj/YU6Ihx2hXgiDXFsUeQkRAD6wF3SCPi2flk7XwKAA4zboqynuELD312EJ88lmDEVOMa1W/K/a8tGylZRMrMoILyoMQzzbDJHNZrhH77L9qSC42HVmKiZ5S0016UTp83gOhCwz9XItK9fgXfK3F5d7nZCBUekoLxrutQaPHa16Rjsa0gTrzyjqTnmcIcrxg6X6dkKiucudc0DD5W4pJPf0vuDW8r5/uw24YfMuxFRpD2ovT2mFX79xH6Jf+MVdv2TYqR6/955QgVPe3JCD/WjAYcLA9tpXgFiEjge2J5ljeI/iUzg91KQuHkII4mmHZxC3XQORLAC6G7uFn5LOmlnXkjFdoO976moNTxElS8HdxWoPAkjjocDR136m2l+f5t6xaaNgdodOvTu0rievnhNAB79WNrVs6EsPgkgfahF9gSFzzAd+rJSraw5Mllit7vUP5YxA843lUpu6/5jAR0RvH4rRXkSg3nE+O5GFyfe+L0s5r3k05FyghSFnKo4TTgs07qj4nTLqOYj6qaW9knJTDkF5OFMYbmCP+8H16Ty482OjvERV6OFyw043L9w3hoJi408sR+SGo1WviXUu8d7qS+ehKjpKwxeCthsm2LBFSFeetx0x4AaKPxtp3CxdWqCsLrB1s/j5TAhc1jNZsXWl6tjo/WDoewxzg8T8NnhZ1niUwL/nhfygLanCnRwaFGDyLw+sfZhyZ1UtYTp8TYB6dE7R3VsKKH95CUxJ8u8N+9u2/9HUNKHW3x3w5GQrfOPafk2w5qZq8MaHT0ebeY3wIsp3rN9lrpIsW9c1ws3VNV+JwNz0Lo9+V7zZr6GD56We6gWVIvtmam5GPPkVAbr74r6SwhuL+TRXtW/0pgyX16VNl4/EAD50TnUPuwrW6OcUO2VlWXS0inq872kk7GUlW6o/ozFKq+Sip6LcTtSDfDrPTcCHhx75H8BeRon+KG2wRwzfDgWhALmiWOMO6h3pm1UCZEPEjScyk7tdLx6WrdA2N1QTPENvNnhCQjW6kl057/qv7IwRryHrZBCwVSbLLnFRiHdTwk8mlYixFt1slEcPD7FVht13HyqVeyD55HOXrh2ElAxJyinGeoFzwKA91zfrdLvDxJSjzmImfvTisreI25EDcVfGsmxLVbfU8PGe/7NmWWKjXcdTJ11jAlVIY/Bv/mcxg/Q10vCHwKG1GW/XbJq5nxDhyLqiorn7Wd7VEVL8UgVzpHMjQ+Z8DUgSukiVwWAKkeTlVVeZ7t1DGnCgJVIdBPZAEK5f8CDyDNo7tK4/5DBjdD5MPV86TaEhGsLVFPQSI68KlBYy84FievdU9gWh6XZrugvtCZmi9vfd6db6V7FmoEcRHnG36VZH8N4aZaldq9zZawt1uBFgxYYx+Gs/qW1jwANeFy+LCoymyM6zgG7j8bGzUyLhvrbJkTYAEdICEb4kMKusKT9V3eIwMLsjdUdgijMc+7iKrr+TxrVWG0U+W95SGrxnxGrE4eaJFfgvAjUM4SAy8UaRwE9j6ZQH5qYAWGtXByvDiLSDfOD0yFA3UCMKSyQ30fyy1mIRg4ZcgZHLNHWl+c9SeijOvbOJxoQy7lTN2r3Y8p6ovxvUY74aOYbuVezryqXA6U+fcp6wSV9X5/OZKP18tB56Ua0gMyxJI7XyNT7IrqN8GsB9rL/kP5KMrjXxgqKLDa+V5OCH6a5hmOWemMUsea9vQl9t5Oce76PrTyTv50ExOqngE3PHPfSL//AItPdB7kGnyTRhVUUFNdJJ2z7RtktZwgmQzhBG/G7QsjZmJfCE7k75EmdIKH7xlnmDrNM/XbTT6FzldcH/rcRGxlPrv4qDScqE7JSmQABJWqRT/TUcJSwoQM+1jvDigvrjjH8oeK2in1S+/yO1j8xAws/T5u0VnIvAPqaE1atNuN0cuRliLcH2j0nTL4JpcR7w9Qya0JoaHgsOiALLCCzRkl1UUESz+ze/gIXHGtDwgYrK6pCFKJ1webSDog4zTlPkgXZqxlQDiYMjhDpwTtBW2WxthWbov9dt2X9XFLFmcF+eEc1UaQ74gqZiZsdj63pH1qcv3Vy8JYciogIVKsJ8Yy3J9w/GhjWVSQAmrS0BPOWK+RKV+0lWqXgYMnIFwpcZVD7zPSp547i9HlflB8gVnSTGmmq1ClO081OW/UH11pEQMfkEdDFzjLC1Cdo/BdL3s7cXb8J++Hzz1rhOUVZFIPehRiZ8VYu6+7Er7j5PSZu9g/GBdmNzJmyCD9wiswj9BZw+T3iBrg81re36ihMLjoVLoWc+62a1U/7qVX5CpvTVF7rocSAKwv4cBVqZm7lLDS/qoXs4fMs/VQi6BtVbNA3uSzKpQfjH1o3x4LrvkOn40zhm6hjduDglzJUwA0POabgdXIndp9fzhOo23Pe+Rk9GSLX0d71Poqry8NQDTzNlsa+JTNG9+UrEf+ngxCjGEsDCc0bz+udVRyHQI1jmEO3S+IOQycEq7XwB6z3wfMfa73m8PVRp+iOgtZfeSBl01xn03vMaQJkyj7vnhGCklsCWVRUl4y+5oNUzQ63B2dbjDF3vikd/3RUMifPYnX5Glfuk2FsV/7RqjI9yKTbE8wJY+74p7qXO8+dIYgjtLD/N8TJtRh04N9tXJA4H59IkMmLElgvr0Q5OCeVfdAt+5hkh4pQgfRMHpL74XatLQpPiOyHRs/OdmHtBf8nOZcxVKzdGclIN16lE7kJ+pVMjspOI+5+TqLRO6m0ZpNXJoZRv9MPDRcAfJUtNZHyig/s2wwReakFgPPJwCQmu1I30/tcBbji+Na53i1W1N+BqoY7Zxo+U/M9XyJ4Ok2SSkBtoOrwuhAY3a03Eu6l8wFdIG1cN+e8hopTkiKF093KuH/BcB39rMiGDLn6XVhGKEaaT/vqb/lufuAdpGExevF1+J9itkFhCfymWr9vGb3BTK4j598zRH7+e+MU9maruZqb0pkGxRDRE1CD4Z8LV4vhgPidk5w2Bq816g3nHw1//j3JStz7NR9HIWELO8TMn3QrP/zZp//+Dv9p429/ogv+GATR+n/UdF+ns9xNkXZQJXY4t9jMkJNUFygAtzndXwjss+yWH9HAnLQQfhAskdZS2l01HLWv7L7us5uTH409pqitvfSOQg/c+Zt7k879P3K9+WV68n7+3cZfuRd/dDPP/03rn+d+/nBvWfgDlt8+LzjqJ/vx3CnNOwiXhho778C96iD+1TBvRZYeP+EH81LE0vVwOOrmCLB3iKzI1x+vJEsrPH4uF0UB4TJ4X3uDfOCo3PYpYe0MF4bouh0DQ/l43fxUF7Y+dpWuvTSffB0yO2UQUETI/LwCZE3BvnevJ7c9zUlY3H58xzke6DNFDQG8n0WtDN4LAYN4nogKav1ezOfK/z+t6tsCTp+dhx4ymjWuCJk1dEUifDP+HyS4iP/Vg9B2jTo9L4NbiBuDS4nuuHW6H+JDQn2JtqRKGkEQPEYE7uzazXIkcxIAqUq1esasZBETlEZY7y7Jo+RoV/IsjY9eIMkUvr42Hc0xqtsavZvhz1OLwSxMOTuqzlhb0WbdOwBH9EYiyBjatz40bUxTHbiWxqJ0uma19qhPruvcWJlbiSSH48OLDDpaHPszvyct41ZfTu10+vjox6kOqK6v0K/gEPphEvMl/vwSv+A4Hhm36JSP9IXTyCZDm4kKsqD5ay8b1Sad/vaiyO5N/sDfEV6Z4q95E+yfjxpqBoBETW2C7xl4pIO2bDODDFurUPwE7EWC2Uplq+AHmBHvir2PSgkR12/Ry65O0aZtQPeXi9mTlF/Wj5GQ+vFkYyhXsLTjrBSP9hwk4GPqDP5rBn5/l8b0mLRAvRSzXHc293bs3s8EsdE3m2exxidWVB4joHR+S+dz5/W+v00K3TqN14CDBth8eWcsTbiwXPsygHdGid0PEdy6HHm2v/IUuV5RVapYmzGsX90mpnIdNGcOOq64Dbc5GUbYpD9M7S+6cLY//QmjxFLP5cuTFRm3vA5rkFZroFnO3bjHF35uU3s8mvL7Tp9nyTc4mymTJ5sLIp7umSnGkO23faehtz3mmTS7fbVx5rP7x3HXIjRNeq/A3xCs9JNB08c9S9BF2O3bOur0ItslFxXgRPdaapBIi4dRpKGxVz7ir69t/bc9qTxjvtOyGOfiLGDhR4fYywHv1WdOplxIV87TpLBy3Wc0QP0P9s4G7FBNOdITS/tep3o3h1TEa5XDDii7fWtqRzUEReP2fbxz7bHWWJdbIOxOUJZtItNZpTFRfj6vm9sYjRxQVO+WTdiOhdPeTJ+8YirPvoeL88l5iLYOHd3b/Imkq+1ZN1El3UikhftuteEYxf1Wujof8Pr4ICTu5ezZyZ4tHQMxlzUHLYO2VMOoNMGL/20S5i2o2obfk+8qqdR7xzbRDbgU0lnuIgz4LelQ5XS7xbLuSQtNS95v3ZUOdaUx/Qd8qxCt6xf2E62yb/HukLO6RyorV8KgYl5YNc75y+KvefrxY+lc/64y9kvWP0a0bDz/rojq+RWjO06WeruWqNFU7r3HPIcLWRql8ICZsz2Ls/qOm/CLn6++X+Qf7mGspYCrZod/lpl6Rw4xN/yuq8gqV4B6aHk1hVE1SfILxWu5gvXqbfARYQpspcxKp1F/c8XOPzkZvmoSw+vEqBLdrq1fr3wAPv5NnM9i8F+jdAuxkP5Z71c6uhK3enlnGymr7UsWZKC12qgUiG8XXGQ9mxnqz4GSIlybF9eXmbqj2sHX+a1jf0gRoONHRdRSrIq03Ty89eQ1GbV/Bk+du4+V15zls+vvERvZ4E7ZbnxWTVjDjb4o/k8jlw44pTIrUGxxuJvBeO+heuhOjpFsO6lVJ/aXnJDa/bM0Ql1cLbXE/Pbv3EZ3vj3iVrB5irjupZTzlnv677NrI9UNYNqbPgp/HZXS+lJmk87wec+7YOxTDo2aw2l3NfDr34VNlvqWJBknuK7oSlZ6/T10zuOoPZOeoIk81N+sL843WJ2Q4Z0fZ3scsqC/JV2fuhWi1jGURSKZV637lf53Xnnx16/vKEXY89aVJ0fv91jGdfG+G4+sniwHes4hS+udOr4RfhFhG/F5gUG35QaU+McuLmclb5ZWmR+sG5V6nf+PxYzlrnFGxpZaK8eqqVo0NfmAWoGfXDiT/FnUbWvzGDOTr8aktOZWg4BYvz5YH12ZbfCcGtNk+dDAZNGWvHov+PIOnY9Prjg8h/wLRrT69suaMVZ5bNuK00lSVpnqSX1NON/81FoP92rYndionwgOiA8WMf4vc8l15KqEEG4yAm2+WAN5Brfu1sq9suWYqgoajgOYt/JCk1gC8wPkK+XKCtRX6TAtgvrnuBgNRmn6I8lVDipOVB9kX6Oxkp4ZKyd1M6Gj8/v2U7k+YQBL95Kb9PQENucJb0JlW3b5tObN7m/Z1j1ev388d7o15zgXsI9CikAGAViR6lkJv7nb4Ak40M2G8TJ447kN+pvfHiOFjSUSP6PM+QfbAywKJCBaxSVxpizHseZUyUBhq59vFwrkyGoRiHbo0apweEZeSLuNiQ+HAekOnarFg00dZNXaPeoHPTRR0FmEyqYExOVaaaO8c0uFUh7U4e/UxdBmthlBDgg257Q33j1hA7HTxSeTTSuVnPZbgW1nodwmG16aKBDKxEetv7D9OjO0JhrbJTnoe+kcGoDJazFSO8/fUN9Jy/g4XK5PUkw2dgPDGpJqBfhe7GA+cjzfE/EGsMM+FV9nj9IAhrSfT/J3QE5TEIYyk5UjsI6ZZcCPr6A8FZUF4g9nnpVmjX90MLSQysIPD0nFzqwCcSJmIb5mYv2Cmk+C1MDFkZQyCBq4c/Yai9LJ6xYkGS/x2s5/frIW2vmG2Wrv0APpCdgCA9snFvfpe8uc0OwdRs4G9973PGEBnQB5qKrCQ6m6X/H7NInZ7y/1674/ZXOVp7OeuCRk8JFS516VHrnH1HkIUIlTIljjHaQtEtkJtosYul77cVwjk3gW1Ajaa6zWeyHGLlpk3VHE2VFzT2yI/EvlGUSz2H9zYE1s4nsKMtMqNyKNtL/59CpFJki5Fou6VXGm8vWATEPwrUVOLvoA8jLuwOzVBCgHB2Cr5V6OwEWtJEKokJkfc87h+sNHTvMb0KVTp5284QTPupoWvQVUwUeogZR3kBMESYo0mfukewRVPKh5+rzLQb7HKjFFIgWhj1w3yN/qCNoPI8XFiUgBNT1hCHBsAz8L7Oyt8wQWUFj92ONn/APyJFg8hzueqoJdNj57ROrFbffuS/XxrSXLTRgj5uxZjpgQYceeMc2wJrahReSKpm3QjHfqExTLAB2ipVumE8pqcZv8LYXQiPHHsgb5BMW8zM5pvQit+mQx8XGaVDcfVbLyMTlY8xcfmm/RSAT/H09UQol5gIz7rESDmnrQ4bURIB4iRXMDQwxgex1GgtDxKp2HayIkR+E/aDmCttNm2C6lytWdfOVzD6X2SpDWjQDlMRvAp1symWv4my1bPCD+E1EmGnMGWhNwmycJnDV2WrQNxO45ukEb08AAffizYKVULp15I4vbNK5DzWwCSUADfmKhfGSUqii1L2UsE8rB7mLuHuUJZOx4+WiizHBJ/hwboaBzhpNOVvgFTf5cJsHef7L1HCI9dOUUbb+YxUJWn6dYOLz+THi91kzY5dtO5c+grX7v0jEbsuoOGnoIreDIg/sFMyG+TyCLIcAWd1IZ1UNFxE8Uie13ucm40U2fcxC0u3WLvLOxwu+F7MWUsHsdtFQZ7W+nlfCASiAKyh8rnP3EyDByvtJb6Kax6/HkLzT9SyEyTMVM1zPtM0MJY14DmsWh4MgD15Ea9Hd00AdkTZ0EiG5NAGuIBzQJJ0JR0na+OB7lQA6UKxMfihIQ7GCCnVz694QvykWXTxpS2soDu+smru1UdIxSvAszBFD1c8c6ZOobA8bJiJIvuycgIXBQIXWwhyTgZDQxJTRXgEwRNAawGSXO0a1DKjdihLVNp/taE/xYhsgwe+VpKEEB4LlraQyE84gEihxCnbfoyOuJIEXy2FIYw+JjRusybKlU2g/vhTSGTydvCvXhYBdtAXtS2v7LkHtmXh/8fly1do8FI/D0f8UbzVb5h+KRhMGSAmR2mhi0YG/uj7wgxcfzCrMvdjitUIpXDX8ae2JcF/36qUWIMwN6JsjaRGNj+jEteGDcFyTUb8X/NHSucKMJp7pduxtD6KuxVlyxxwaeiC1FbGBESO84lbyrAugYxdl+2N8/6AgWpo/IeoAOcsG35IA/b3AuSyoa55L7llBLlaWlEWvuCFd8f8NfcTUgzJv6CbB+6ohWwodlk9nGWFpBAOaz5uEW5xBvmjnHFeDsb0mXwayj3mdYq5gxxNf3H3/tnCgHwjSrpSgVxLmiTtuszdRUFIsn6LiMPjL808vL1uQhDbM7aA43mISXReqjSskynIRcHCJ9qeFopJfx9tqyUoGbSwJex/0aDE3plBPGtNBYgWbdLom3+Q/bjdizR2/AS/c/dH/d3G7pyl1qDXgtOFtEqidwLqxPYtrNEveasWq3vPUUtqTeu8gpov4bdOQRI2kneFvRNMrShyVeEupK1PoLDPMSfWMIJcs267mGB8X9CehQCF0gIyhpP10mbyM7lwW1e6TGvHBV1sg/UyTghHPGRqMyaebC6pbB1WKNCQtlai1GGvmq9zUKaUzLaXsXEBYtHxmFbEZ2kJhR164LhWW2Tlp1dhsGE7ZgIWRBOx3Zcu2DxgH+G83WTPceKG0TgQKKiiNNOlWgvqNEbnrk6fVD+AqRam2OguZb0YWSTX88N+i/ELSxbaUUpPx4vJUzYg/WonSeA8xUK6u7DPHgpqWpEe6D4cXg5uK9FIYVba47V/nb+wyOtk+zG8RrS4EA0ouwa04iByRLSvoJA2FzaobbZtXnq8GdbfqEp5I2dpfpj59TCVif6+E75p665faiX8gS213RqBxTZqfHP46nF6NSenOneuT+vgbLUbdTH2/t0REFXZJOEB6DHvx6N6g9956CYrY/AYcm9gELJXYkrSi+0F0geKDZgOCIYkLU/+GOW5aGj8mvLFgtFH5+XC8hvAE3CvHRfl4ofM/Qwk4x2A+R+nyc9gNu/9Tem7XW4XRnyRymf52z09cTOdr+PG6+P/Vb4QiXlwauc5WB1z3o+IJjlbxI8MyWtSzT+k4sKVbhF3xa+vDts3NxXa87iiu+xRH9cAprnOL2h6vV54iQRXuOAj1s8nLFK8gZ70ThIQcWdF19/2xaJmT0efrkNDkWbpAQPdo92Z8+Hn/aLjbOzB9AI/k12fPs9HhUNDJ1u6ax2VxD3R6PywN7BrLJ26z6s3QoMp76qzzwetrDABKSGkfW5PwS1GvYNUbK6uRqxfyVGNyFB0E+OugMM8kKwmJmupuRWO8XkXXXQECyRVw9UyIrtCtcc4oNqXqr7AURBmKn6Khz3eBN96LwIJrAGP9mr/59uTOSx631suyT+QujDd4beUFpZ0kJEEnjlP+X/Kr2kCKhnENTg4BsMTOmMqlj2WMFLRUlVG0fzdCBgUta9odrJfpVdFomTi6ak0tFjXTcdqqvWBAzjY6hVrH9sbt3Z9gn+AVDpTcQImefbB4edirjzrsNievve4ZT4EUZWV3TxEsIW+9MT/RJoKfZZYSRGfC1CwPG/9rdMOM8qR/LUYvw5f/emUSoD7YSFuOoqchdUg2UePd1eCtFSKgxLSZ764oy4lvRCIH6bowPxZWwxNFctksLeil47pfevcBipkkBIc4ngZG+kxGZ71a72KQ7VaZ6MZOZkQJZXM6kb/Ac0/XkJx8dvyfJcWbI3zONEaEPIW8GbkYjsZcwy+eMoKrYjDmvEEixHzkCSCRPRzhOfJZuLdcbx19EL23MA8rnjTZZ787FGMnkqnpuzB5/90w1gtUSRaWcb0eta8198VEeZMUSfIhyuc4/nywFQ9uqn7jdqXh+5wwv+RK9XouNPbYdoEelNGo34KyySwigsrfCe0v/PlWPvQvQg8R0KgHO18mTVThhQrlbEQ0Kp/JxPdjHyR7E1QPw/ut0r+HDDG7BwZFm9IqEUZRpv2WpzlMkOemeLcAt5CsrzskLGaVOAxyySzZV/D2EY7ydNZMf8e8VhHcKGHAWNszf1EOq8fNstijMY4JXyATwTdncFFqcNDfDo+mWFvxJJpc4sEZtjXyBdoFcxbUmniCoKq5jydUHNjYJxMqN1KzYV62MugcELVhS3Bnd+TLLOh7dws/zSXWzxEb4Nj4aFun5x4kDWLK5TUF/yCXB/cZYvI9kPgVsG2jShtXkxfgT+xzjJofXqPEnIXIQ1lnIdmVzBOM90EXvJUW6a0nZ/7XjJGl8ToO3H/fdxnxmTNKBZxnkpXLVgLXCZywGT3YyS75w/PAH5I/jMuRspej8xZObU9kREbRA+kqjmKRFaKGWAmFQspC+QLbKPf0RaK3OXvBSWqo46p70ws/eZpu6jCtZUgQy6r4tHMPUdAgWGGUYNbuv/1a6K+MVFsd3T183+T8capSo6m0+Sh57fEeG/95dykGJBQMj09DSW2bY0mUonDy9a8trLnnL5B5LW3Nl8rJZNysO8Zb+80zXxqUGFpud3Qzwb7bf+8mq6x0TAnJU9pDQR9YQmZhlna2xuxJt0aCO/f1SU8gblOrbIyMsxTlVUW69VJPzYU2HlRXcqE2lLLxnObZuz2tT9CivfTAUYfmzJlt/lOPgsR6VN64/xQd4Jlk/RV7UKVv2Gx/AWsmTAuCWKhdwC+4HmKEKYZh2Xis4KsUR1BeObs1c13wqFRnocdmuheaTV30gvVXZcouzHKK5zwrN52jXJEuX6dGx3BCpV/++4f3hyaW/cQJLFKqasjsMuO3B3WlMq2gyYfdK1e7L2pO/tRye2mwzwZPfdUMrl5wdLqdd2Kv/wVtnpyWYhd49L6rsOV+8HXPrWH2Kup89l2tz6bf80iYSd+V4LROSOHeamvexR524q4r43rTmtFzQvArpvWfLYFZrbFspBsXNUqqenjxNNsFXatZvlIhk7teUPfK+YL32F8McTnjv0BZNppb+vshoCrtLXjIWq3EJXpVXIlG6ZNL0dh6qEm2WMwDjD3LfOfkGh1/czYc/0qhiD2ozNnH4882MVVt3JbVFkbwowNCO3KL5IoYW5wlVeGCViOuv1svZx7FbzxKzA4zGqBlRRaRWCobXaVq4yYCWbZf8eiJwt3OY+MFiSJengcFP2t0JMfzOiJ7cECvpx7neg1Rc5x+7myPJOXt2FohVRyXtD+/rDoTOyGYInJelZMjolecVHUhUNqvdZWg2J2t0jPmiLFeRD/8fOT4o+NGILb+TufCo9ceBBm3JLVn+MO2675n7qiEX/6W+188cYg3Zn5NSTjgOKfWFSAANa6raCxSoVU851oJLY11WIoYK0du0ec5E4tCnAPoKh71riTsjVIp3gKvBbEYQiNYrmH22oLQWA2AdwMnID6PX9b58dR2QKo4qag1D1Z+L/FwEKTR7osOZPWECPJIHQqPUsM5i/CH5YupVPfFA5pHUBcsesh8eO5YhyWnaVRPZn/BmdXVumZWPxMP5e28zm2uqHgFoT9CymHYNNrzrrjlXZM06HnzDxYNlI5b/QosxLmmrqDFqmogQdqk0WLkUceoAvQxHgkIyvWU69BPFr24VB6+lx75Rna6dGtrmOxDnvBojvi1/4dHjVeg8owofPe1cOnxU1ioh016s/Vudv9mhV9f35At+Sh28h1bpp8xhr09+vf47Elx3Ms6hyp6QvB3t0vnLbOhwo660cp7K0vvepabK7YJfxEWWfrC2YzJfYOjygPwfwd/1amTqa0hZ5ueebhWYVMubRTwIjj+0Oq0ohU3zfRfuL8gt59XsHdwKtxTQQ4Y2qz6gisxnm2UdlmpEkgOsZz7iEk6QOt8BuPwr+NR01LTqXmJo1C76o1N274twJvl+I069TiLpenK/miRxhyY8jvYV6W1WuSwhH9q7kuwnJMtm7IWcqs7HsnyHSqWXLSpYtZGaR1V3t0gauninFPZGtWskF65rtti48UV9uV9KM8kfDYs0pgB00S+TlzTXV6P8mxq15b9En8sz3jWSszcifZa/NuufPNnNTb031pptt0+sRSH/7UG8pzbsgtt3OG3ut7B9JzDMt2mTZuyRNIV8D54TuTrpNcHtgmMlYJeiY9XS83NYJicjRjtJSf9BZLsQv629QdDsKQhTK5CnXhpk7vMNkHzPhm0ExW/VCGApHfPyBagtZQTQmPHx7g5IXXsrQDPzIVhv2LB6Ih138iSDww1JNHrDvzUxvp73MsQBVhW8EbrReaVUcLB1R3PUXyaYG4HpJUcLVxMgDxcPkVRQpL7VTAGabDzbKcvg12t5P8TSGQkrj/gOrpnbiDHwluA73xbXts/L7u468cRWSWRtgTwlQnA47EKg0OiZDgFxAKQQUcsbGomITgeXUAAyKe03eA7Mp4gnyKQmm0LXJtEk6ddksMJCuxDmmHzmVhO+XaN2A54MIh3niw5CF7PwiXFZrnA8wOdeHLvvhdoqIDG9PDI7UnWWHq526T8y6ixJPhkuVKZnoUruOpUgOOp3iIKBjk+yi1vHo5cItHXb1PIKzGaZlRS0g5d3MV2pD8FQdGYLZ73aae/eEIUePMc4NFz8pIUfLCrrF4jVWH5gQneN3S8vANBmUXrEcKGn6hIUN95y1vpsvLwbGpzV9L0ZKTan6TDXM05236uLJcIEMKVAxKNT0K8WljuwNny3BNQRfzovA85beI9zr1AGNYnYCVkR1aGngWURUrgqR+gRrQhxW81l3CHevjvGEPzPMTxdsIfB9dfGRbZU0cg/1mcubtECX4tvaedmNAvTxCJtc2QaoUalGfENCGK7IS/O8CRpdOVca8EWCRwv2sSWE8CJPW5PCugjCXPd3h6U60cPD+bdhtXZuYB6stcoveE7Sm5MM2yvfUHXFSW7KzLmi7/EeEWL0wqcOH9MOSKjhCHHmw+JGLcYE/7SBZQCRggox0ZZTAxrlzNNXYXL5fNIjkdT4YMqVUz6p8YDt049v4OXGdg3qTrtLBUXOZf7ahPlZAY/O+7Sp0bvGSHdyQ8B1LOsplqMb9Se8VAE7gIdSZvxbRSrfl+Lk5Qaqi5QJceqjitdErcHXg/3MryljPSIAMaaloFm1cVwBJ8DNmkDqoGROSHFetrgjQ5CahuKkdH5pRPigMrgTtlFI8ufJPJSUlGgTjbBSvpRc0zypiUn6U5KZqcRoyrtzhmJ7/caeZkmVRwJQeLOG8LY6vP5ChpKhc8Js0El+n6FXqbx9ItdtLtYP92kKfaTLtCi8StLZdENJa9Ex1nOoz1kQ7qxoiZFKRyLf4O4CHRT0T/0W9F8epNKVoeyxUXhy3sQMMsJjQJEyMOjmOhMFgOmmlscV4eFi1CldU92yjwleirEKPW3bPAuEhRZV7JsKV3Lr5cETAiFuX5Nw5UlF7d2HZ96Bh0sgFIL5KGaKSoVYVlvdKpZJVP5+NZ7xDEkQhmDgsDKciazJCXJ6ZN2B3FY2f6VZyGl/t4aunGIAk/BHaS+i+SpdRfnB/OktOvyjinWNfM9Ksr6WwtCa1hCmeRI6icpFM4o8quCLsikU0tMoZI/9EqXRMpKGaWzofl4nQuVQm17d5fU5qXCQeCDqVaL9XJ9qJ08n3G3EFZS28SHEb3cdRBdtO0YcTzil3QknNKEe/smQ1fTb0XbpyNB5xAeuIlf+5KWlEY0DqJbsnzJlQxJPOVyHiKMx5Xu9FcEv1Fbg6Fhm4t+Jyy5JC1W3YO8dYLsO0PXPbxodBgttTbH3rt9Cp1lJIk2r3O1Zqu94eRbnIz2f50lWolYzuKsj4PMok4abHLO8NAC884hiXx5Fy5pWKO0bWL7uEGXaJCtznhP67SlQ4xjWIfgq6EpZ28QMtuZK7JC0RGbl9nA4XtFLug/NLMoH1pGt9IonAJqcEDLyH6TDROcbsmGPaGIxMo41IUAnQVPMPGByp4mOmh9ZQMkBAcksUK55LsZj7E5z5XuZoyWCKu6nHmDq22xI/9Z8YdxJy4kWpD16jLVrpwGLWfyOD0Wd+cBzFBxVaGv7S5k9qwh/5t/LQEXsRqI3Q9Rm3QIoaZW9GlsDaKOUyykyWuhNOprSEi0s1G4rgoiX1V743EELti+pJu5og6X0g6oTynUqlhH9k6ezyRi05NGZHz0nvp3HOJr7ebrAUFrDjbkFBObEvdQWkkUbL0pEvMU46X58vF9j9F3j6kpyetNUBItrEubW9ZvMPM4qNqLlsSBJqOH3XbNwv/cXDXNxN8iFLzUhteisYY+RlHYOuP29/Cb+L+xv+35Rv7xudnZ6ohK4cMPfCG8KI7dNmjNk/H4e84pOxn/sZHK9psfvj8ncA8qJz7O8xqbxESDivGJOZzF7o5PJLQ7g34qAWoyuA+x3btU98LT6ZyGyceIXjrqob2CAVql4VOTQPUQYvHV/g4zAuCZGvYQBtf0wmd5lilrvuEn1BXLny01B4h4SMDlYsnNpm9d7m9h578ufpef9Z4WplqWQvqo52fyUA7J24eZD5av6SyGIV9kpmHNqyvdfzcpEMw97BvknV2fq+MFHun9BT3Lsf8pbzvisWiIQvYkng+8Vxk1V+dli1u56kY50LRjaPdotvT5BwqtwyF+emo/z9J3yVUVGfKrxQtJMOAQWoQii/4dp9wgybSa5mkucmRLtEQZ/pz0tL/NVcgWAd95nEQ3Tg6tNbuyn3Iepz65L3huMUUBntllWuu4DbtOFSMSbpILV4fy6wlM0SOvi6CpLh81c1LreIvKd61uEWBcDw1lUBUW1I0Z+m/PaRlX+PQ/oxg0Ye6KUiIiTF4ADNk59Ydpt5/rkxmq9tV5Kcp/eQLUVVmBzQNVuytQCP6Ezd0G8eLxWyHpmZWJ3bAzkWTtg4lZlw42SQezEmiUPaJUuR/qklVA/87S4ArFCpALdY3QRdUw3G3XbWUp6aq9z0zUizcPa7351p9JXOZyfdZBFnqt90VzQndXB/mwf8LC9STj5kenVpNuqOQQP3mIRJj7eV21FxG8VAxKrEn3c+XfmZ800EPb9/5lIlijscUbB6da0RQaMook0zug1G0tKi/JBC4rw7/D3m4ARzAkzMcVrDcT2SyFtUdWAsFlsPDFqV3N+EjyXaoEePwroaZCiLqEzb8MW+PNE9TmTC01EzWli51PzZvUqkmyuROU+V6ik+Le/9qT6nwzUzf9tP68tYei0YaDGx6kAd7jn1cKqOCuYbiELH9zYqcc4MnRJjkeGiqaGwLImhyeKs+xKJMBlOJ05ow9gGCKZ1VpnMKoSCTbMS+X+23y042zOb5MtcY/6oBeAo1Vy89OTyhpavFP78jXCcFH0t7Gx24hMEOm2gsEfGabVpQgvFqbQKMsknFRRmuPHcZu0Su/WMFphZvB2r/EGbG72rpGGho3h+Msz0uGzJ7hNK2uqQiE1qmn0zgacKYYZBCqsxV+sjbpoVdSilW/b94n2xNb648VmNIoizqEWhBnsen+d0kbCPmRItfWqSBeOd9Wne3c6bcd6uvXOJ6WdiSsuXq0ndhqrQ4QoWUjCjYtZ0EAhnSOP1m44xkf0O7jXghrzSJWxP4a/t72jU29Vu2rvu4n7HfHkkmQOMGSS+NPeLGO5I73mC2B7+lMiBQQZRM9/9liLIfowupUFAbPBbR+lxDM6M8Ptgh1paJq5Rvs7yEuLQv/7d1oU2woFSb3FMPWQOKMuCuJ7pDDjpIclus5TeEoMBy2YdVB4fxmesaCeMNsEgTHKS5WDSGyNUOoEpcC2OFWtIRf0w27ck34/DjxRTVIcc9+kqZE6iMSiVDsiKdP/Xz5XfEhm/sBhO50p1rvJDlkyyxuJ9SPgs7YeUJBjXdeAkE+P9OQJm6SZnn1svcduI78dYmbkE2mtziPrcjVisXG78spLvbZaSFx/Rks9zP4LKn0Cdz/3JsetkT06A8f/yCgMO6Mb1Hme0JJ7b2wZz1qleqTuKBGokhPVUZ0dVu+tnQYNEY1fmkZSz6+EGZ5EzL7657mreZGR3jUfaEk458PDniBzsSmBKhDRzfXameryJv9/D5m6HIqZ0R+ouCE54Dzp4IJuuD1e4Dc5i+PpSORJfG23uVgqixAMDvchMR0nZdH5brclYwRoJRWv/rlxGRI5ffD5NPGmIDt7vDE1434pYdVZIFh89Bs94HGGJbTwrN8T6lh1HZFTOB4lWzWj6EVqxSMvC0/ljWBQ3F2kc/mO2b6tWonT2JEqEwFts8rz2h+oWNds9ceR2cb7zZvJTDppHaEhK5avWqsseWa2Dt5BBhabdWSktS80oMQrL4TvAM9b5HMmyDnO+OkkbMXfUJG7eXqTIG6lqSOEbqVR+qYdP7uWb57WEJqzyh411GAVsDinPs7KvUeXItlcMdOUWzXBH6zscymV1LLVCtc8IePojzXHF9m5b5zGwBRdzcyUJkiu938ApmAayRdJrX1PmVguWUvt2ThQ62czItTyWJMW2An/hdDfMK7SiFQlGIdAbltHz3ycoh7j9V7GxNWBpbtcSdqm4XxRwTawc3cbZ+xfSv9qQfEkDKfZTwCkqWGI/ur250ItXlMlh6vUNWEYIg9A3GzbgmbqvTN8js2YMo87CU5y6nZ4dbJLDQJj9fc7yM7tZzJDZFtqOcU8+mZjYlq4VmifI23iHb1ZoT9E+kT2dolnP1AfiOkt7PQCSykBiXy5mv637IegWSKj9IKrYZf4Lu9+I7ub+mkRdlvYzehh/jaJ9n7HUH5b2IbgeNdkY7wx1yVzxS7pbvky6+nmVUtRllEFfweUQ0/nG017WoUYSxs+j2B4FV/F62EtHlMWZXYrjGHpthnNb1x66LKZ0Qe92INWHdfR/vqp02wMS8r1G4dJqHok8KmQ7947G13a4YXbsGgHcBvRuVu1eAi4/A5+ZixmdSXM73LupB/LH7O9yxLTVXJTyBbI1S49TIROrfVCOb/czZ9pM4JsZx8kUz8dQGv7gUWKxXvTH7QM/3J2OuXXgciUhqY+cgtaOliQQVOYthBLV3xpESZT3rmfEYNZxmpBbb24CRao86prn+i9TNOh8VxRJGXJfXHATJHs1T5txgc/opYrY8XjlGQQbRcoxIBcnVsMjmU1ymmIUL4dviJXndMAJ0Yet+c7O52/p98ytlmAsGBaTAmMhimAnvp1TWNGM9BpuitGj+t810CU2UhorrjPKGtThVC8WaXw04WFnT5fTjqmPyrQ0tN3CkLsctVy2xr0ZWgiWVZ1OrlFjjxJYsOiZv2cAoOvE+7sY0I/TwWcZqMoyIKNOftwP7w++Rfg67ljfovKYa50if3fzE/8aPYVey/Nq35+nH2sLPh/fP5TsylSKGOZ4k69d2PnH43+kq++sRXHQqGArWdwhx+hpwQC6JgT2uxehYU4Zbw7oNb6/HLikPyJROGK2ouyr+vzseESp9G50T4AyFrSqOQ0rroCYP4sMDFBrHn342EyZTMlSyk47rHSq89Y9/nI3zG5lX16Z5lxphguLOcZUndL8wNcrkyjH82jqg8Bo8OYkynrxZvbFno5lUS3OPr8Ko3mX9NoRPdYOKKjD07bvgFgpZ/RF+YzkWvJ/Hs/tUbfeGzGWLxNAjfDzHHMVSDwB5SabQLsIZHiBp43FjGkaienYoDd18hu2BGwOK7U3o70K/WY/kuuKdmdrykIBUdG2mvE91L1JtTbh20mOLbk1vCAamu7utlXeGU2ooVikbU/actcgmsC1FKk2qmj3GWeIWbj4tGIxE7BLcBWUvvcnd/lYxsMV4F917fWeFB/XbINN3qGvIyTpCalz1lVewdIGqeAS/gB8Mi+sA+BqDiX3VGD2eUunTRbSY+AuDy4E3Qx3hAhwnSXX+B0zuj3eQ1miS8Vux2z/l6/BkWtjKGU72aJkOCWhGcSf3+kFkkB15vGOsQrSdFr6qTj0gBYiOlnBO41170gOWHSUoBVRU2JjwppYdhIFDfu7tIRHccSNM5KZOFDPz0TGMAjzzEpeLwTWp+kn201kU6NjbiMQJx83+LX1e1tZ10kuChJZ/XBUQ1dwaBHjTDJDqOympEk8X2M3VtVw21JksChA8w1tTefO3RJ1FMbqZ01bHHkudDB/OhLfe7P5GOHaI28ZXKTMuqo0hLWQ4HabBsGG7NbP1RiXtETz074er6w/OerJWEqjmkq2y51q1BVI+JUudnVa3ogBpzdhFE7fC7kybrAt2Z6RqDjATAUEYeYK45WMupBKQRtQlU+uNsjnzj6ZmGrezA+ASrWxQ6LMkHRXqXwNq7ftv28dUx/ZSJciDXP2SWJsWaN0FjPX9Yko6LobZ7aYW/IdUktI9apTLyHS8DyWPyuoZyxN1TK/vtfxk3HwWh6JczZC8Ftn0bIJay2g+n5wd7lm9rEsKO+svqVmi+c1j88hSCxbzrg4+HEP0Nt1/B6YW1XVm09T1CpAKjc9n18hjqsaFGdfyva1ZG0Xu3ip6N6JGpyTSqY5h4BOlpLPaOnyw45PdXTN+DtAKg7DLrLFTnWusoSBHk3s0d7YouJHq85/R09Tfc37ENXZF48eAYLnq9GLioNcwDZrC6FW6godB8JnqYUPvn0pWLfQz0lM0Yy8Mybgn84Ds3Q9bDP10bLyOV+qzxa4Rd9Dhu7cju8mMaONXK3UqmBQ9qIg7etIwEqM/kECk/Dzja4Bs1xR+Q/tCbc8IKrSGsTdJJ0vge7IG20W687uVmK6icWQ6cD3lwFzgNMGtFvO5qyJeKflGLAAcQZOrkxVwy3cWvqlGpvjmf9Qe6Ap20MPbV92DPV0OhFM4kz8Yr0ffC2zLWSQ1kqY6QdQrttR3kh1YLtQd1kCEv5hVoPIRWl5ERcUTttBIrWp6Xs5Ehh5OUUwI5aEBvuiDmUoENmnVw1FohCrbRp1A1E+XSlWVOTi7ADW+5Ohb9z1vK4qx5R5lPdGCPBJZ00mC+Ssp8VUbgpGAvXWMuWQQRbCqI6Rr2jtxZxtfP7W/8onz+yz0Gs76LaT5HX9ecyiZCB/ZR/gFtMxPsDwohoeCRtiuLxE1GM1vUEUgBv86+eehL58/P56QFGQ/MqOe/vC76L63jzmeax4exd/OKTUvkXg+fOJUHych9xt/9goJMrapSgvXrj8+8vk/N80f22Sewj6cyGqt1B6mztoeklVHHraouhvHJaG/OuBz6DHKMpFmQULU1bRWlyYE0RPXYYkUycIemN7TLtgNCJX6BqdyxDKkegO7nJK5xQ7OVYDZTMf9bVHidtk6DQX9Et+V9M7esgbsYBdEeUpsB0Xvw2kd9+rI7V+m47u+O/tq7mw7262HU1WlS9uFzsV6JxIHNmUCy0QS9e077JGRFbG65z3/dOKB/Zk+yDdKpUmdXjn/aS3N5nv4fK7bMHHmPlHd4E2+iTbV5rpzScRnxk6KARuDTJ8Q1LpK2mP8gj1EbuJ9RIyY+EWK4hCiIDBAS1Tm2IEXAFfgKPgdL9O6mAa06wjCcUAL6EsxPQWO9VNegBPm/0GgkZbDxCynxujX/92vmGcjZRMAY45puak2sFLCLSwXpEsyy5fnF0jGJBhm+fNSHKKUUfy+276A7/feLOFxxUuHRNJI2Osenxyvf8DAGObT60pfTTlhEg9u/KKkhJqm5U1/+BEcSkpFDA5XeCqxwXmPac1jcuZ3JWQ+p0NdWzb/5v1ZvF8GtMTFFEdQjpLO0bwPb0BHNWnip3liDXI2fXf05jjvfJ0NpjLCUgfTh9CMFYVFKEd4Z/OG/2C+N435mnK+9t1gvCiVcaaH7rK4+PjCvpVNiz+t2QyqH1O8x3JKZVl6Q+Lp/XK8wMjVMslOq9FdSw5FtUs/CptXH9PW+wbWHgrV17R5jTVOtGtKFu3nb80T+E0tv9QkzW3J2dbaw/8ddAKZ0pxIaEqLjlPrji3VgJ3GvdFvlqD8075woxh4fVt0JZE0KVFsAvqhe0dqN9b35jtSpnYMXkU+vZq+IAHad3IHc2s/LYrnD1anfG46IFiMIr9oNbZDWvwthqYNqOigaKd/XlLU4XHfk/PXIjPsLy/9/kAtQ+/wKH+hI/IROWj5FPvTZAT9f7j4ZXQyG4M0TujMAFXYkKvEHv1xhySekgXGGqNxWeWKlf8dDAlLuB1cb/qOD+rk7cmwt+1yKpk9cudqBanTi6zTbXRtV8qylNtjyOVKy1HTz0GW9rjt6sSjAZcT5R+KdtyYb0zyqG9pSLuCw5WBwAn7fjBjKLLoxLXMI+52L9cLwIR2B6OllJZLHJ8vDxmWdtF+QJnmt1rsHPIWY20lftk8fYePkAIg6Hgn532QoIpegMxiWgAOfe5/U44APR8Ac0NeZrVh3gEhs12W+tVSiWiUQekf/YBECUy5fdYbA08dd7VzPAP9aiVcIB9k6tY7WdJ1wNV+bHeydNtmC6G5ICtFC1ZwmJU/j8hf0I8TRVKSiz5oYIa93EpUI78X8GYIAZabx47/n8LDAAJ0nNtP1rpROprqKMBRecShca6qXuTSI3jZBLOB3Vp381B5rCGhjSvh/NSVkYp2qIdP/Bg="});var Jd=Oe(Zd=>{var Tb=Q0();Zd.init=function(){var t=vu().BrotliDecompressBuffer,e=Tb.toByteArray(Kd());return t(e)}});var wu=Oe(Un=>{var $b=Jd();Un.init=function(){Un.dictionary=$b.init()};Un.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]);Un.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]);Un.minDictionaryWordLength=4;Un.maxDictionaryWordLength=24});var Su=Oe(ku=>{function br(t,e){this.bits=t,this.value=e}ku.HuffmanCode=br;var gr=15;function Qd(t,e){for(var n=1<<e-1;t&n;)n>>=1;return(t&n-1)+n}function eh(t,e,n,r,s){do r-=n,t[e+r]=new br(s.bits,s.value);while(r>0)}function Pb(t,e,n){for(var r=1<<e-n;e<gr&&(r-=t[e],!(r<=0));)++e,r<<=1;return e-n}ku.BrotliBuildHuffmanTable=function(t,e,n,r,s){var i=e,o,a,u,l,c,d,h,p,m,x,S,O=new Int32Array(gr+1),M=new Int32Array(gr+1);for(S=new Int32Array(s),u=0;u<s;u++)O[r[u]]++;for(M[1]=0,a=1;a<gr;a++)M[a+1]=M[a]+O[a];for(u=0;u<s;u++)r[u]!==0&&(S[M[r[u]]++]=u);if(p=n,m=1<<p,x=m,M[gr]===1){for(l=0;l<x;++l)t[e+l]=new br(0,S[0]&65535);return x}for(l=0,u=0,a=1,c=2;a<=n;++a,c<<=1)for(;O[a]>0;--O[a])o=new br(a&255,S[u++]&65535),eh(t,e+l,c,m,o),l=Qd(l,a);for(h=x-1,d=-1,a=n+1,c=2;a<=gr;++a,c<<=1)for(;O[a]>0;--O[a])(l&h)!==d&&(e+=m,p=Pb(O,a,n),m=1<<p,x+=m,d=l&h,t[i+d]=new br(p+n&255,e-i-d&65535)),o=new br(a-n&255,S[u++]&65535),eh(t,e+(l>>n),c,m,o),l=Qd(l,a);return x}});var th=Oe(Cu=>{Cu.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,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,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,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,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,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,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,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,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,0,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,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,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,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,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,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,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);Cu.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])});var nh=Oe(xr=>{function j(t,e){this.offset=t,this.nbits=e}xr.kBlockLengthPrefixCode=[new j(1,2),new j(5,2),new j(9,2),new j(13,2),new j(17,3),new j(25,3),new j(33,3),new j(41,3),new j(49,4),new j(65,4),new j(81,4),new j(97,4),new j(113,5),new j(145,5),new j(177,5),new j(209,5),new j(241,6),new j(305,6),new j(369,7),new j(497,8),new j(753,9),new j(1265,10),new j(2289,11),new j(4337,12),new j(8433,13),new j(16625,24)];xr.kInsertLengthPrefixCode=[new j(0,0),new j(1,0),new j(2,0),new j(3,0),new j(4,0),new j(5,0),new j(6,1),new j(8,1),new j(10,2),new j(14,2),new j(18,3),new j(26,3),new j(34,4),new j(50,4),new j(66,5),new j(98,5),new j(130,6),new j(194,7),new j(322,8),new j(578,9),new j(1090,10),new j(2114,12),new j(6210,14),new j(22594,24)];xr.kCopyLengthPrefixCode=[new j(2,0),new j(3,0),new j(4,0),new j(5,0),new j(6,0),new j(7,0),new j(8,0),new j(9,0),new j(10,1),new j(12,1),new j(14,2),new j(18,2),new j(22,3),new j(30,3),new j(38,4),new j(54,4),new j(70,5),new j(102,5),new j(134,6),new j(198,7),new j(326,8),new j(582,9),new j(1094,10),new j(2118,24)];xr.kInsertRangeLut=[0,0,8,8,0,16,8,16,16];xr.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]});var oh=Oe(go=>{var Mb=wu(),W=0,rh=1,Fb=2,Nb=3,Db=4,Rb=5,Lb=6,Bb=7,Ub=8,ih=9,ye=10,ke=11,Eu=12,Vb=13,_b=14,jb=15,Gb=16,zb=17,Wb=18,qb=20;function $(t,e,n){this.prefix=new Uint8Array(t.length),this.transform=e,this.suffix=new Uint8Array(n.length);for(var r=0;r<t.length;r++)this.prefix[r]=t.charCodeAt(r);for(var r=0;r<n.length;r++)this.suffix[r]=n.charCodeAt(r)}var gs=[new $("",W,""),new $("",W," "),new $(" ",W," "),new $("",Eu,""),new $("",ye," "),new $("",W," the "),new $(" ",W,""),new $("s ",W," "),new $("",W," of "),new $("",ye,""),new $("",W," and "),new $("",Vb,""),new $("",rh,""),new $(", ",W," "),new $("",W,", "),new $(" ",ye," "),new $("",W," in "),new $("",W," to "),new $("e ",W," "),new $("",W,'"'),new $("",W,"."),new $("",W,'">'),new $("",W,`
|
|
12
|
+
`),new $("",Nb,""),new $("",W,"]"),new $("",W," for "),new $("",_b,""),new $("",Fb,""),new $("",W," a "),new $("",W," that "),new $(" ",ye,""),new $("",W,". "),new $(".",W,""),new $(" ",W,", "),new $("",jb,""),new $("",W," with "),new $("",W,"'"),new $("",W," from "),new $("",W," by "),new $("",Gb,""),new $("",zb,""),new $(" the ",W,""),new $("",Db,""),new $("",W,". The "),new $("",ke,""),new $("",W," on "),new $("",W," as "),new $("",W," is "),new $("",Bb,""),new $("",rh,"ing "),new $("",W,`
|
|
13
|
+
`),new $("",W,":"),new $(" ",W,". "),new $("",W,"ed "),new $("",qb,""),new $("",Wb,""),new $("",Lb,""),new $("",W,"("),new $("",ye,", "),new $("",Ub,""),new $("",W," at "),new $("",W,"ly "),new $(" the ",W," of "),new $("",Rb,""),new $("",ih,""),new $(" ",ye,", "),new $("",ye,'"'),new $(".",W,"("),new $("",ke," "),new $("",ye,'">'),new $("",W,'="'),new $(" ",W,"."),new $(".com/",W,""),new $(" the ",W," of the "),new $("",ye,"'"),new $("",W,". This "),new $("",W,","),new $(".",W," "),new $("",ye,"("),new $("",ye,"."),new $("",W," not "),new $(" ",W,'="'),new $("",W,"er "),new $(" ",ke," "),new $("",W,"al "),new $(" ",ke,""),new $("",W,"='"),new $("",ke,'"'),new $("",ye,". "),new $(" ",W,"("),new $("",W,"ful "),new $(" ",ye,". "),new $("",W,"ive "),new $("",W,"less "),new $("",ke,"'"),new $("",W,"est "),new $(" ",ye,"."),new $("",ke,'">'),new $(" ",W,"='"),new $("",ye,","),new $("",W,"ize "),new $("",ke,"."),new $("\xC2\xA0",W,""),new $(" ",W,","),new $("",ye,'="'),new $("",ke,'="'),new $("",W,"ous "),new $("",ke,", "),new $("",ye,"='"),new $(" ",ye,","),new $(" ",ke,'="'),new $(" ",ke,", "),new $("",ke,","),new $("",ke,"("),new $("",ke,". "),new $(" ",ke,"."),new $("",ke,"='"),new $(" ",ke,". "),new $(" ",ye,'="'),new $(" ",ke,"='"),new $(" ",ye,"='")];go.kTransforms=gs;go.kNumTransforms=gs.length;function sh(t,e){return t[e]<192?(t[e]>=97&&t[e]<=122&&(t[e]^=32),1):t[e]<224?(t[e+1]^=32,2):(t[e+2]^=5,3)}go.transformDictionaryWord=function(t,e,n,r,s){var i=gs[s].prefix,o=gs[s].suffix,a=gs[s].transform,u=a<Eu?0:a-(Eu-1),l=0,c=e,d;u>r&&(u=r);for(var h=0;h<i.length;)t[e++]=i[h++];for(n+=u,r-=u,a<=ih&&(r-=a),l=0;l<r;l++)t[e++]=Mb.dictionary[n+l];if(d=e-r,a===ye)sh(t,d);else if(a===ke)for(;r>0;){var p=sh(t,d);d+=p,r-=p}for(var m=0;m<o.length;)t[e++]=o[m++];return e-c}});var vu=Oe(yo=>{var dh=yu().BrotliInput,Hb=yu().BrotliOutput,wr=Xd(),vr=wu(),Se=Su().HuffmanCode,hh=Su().BrotliBuildHuffmanTable,yr=th(),nn=nh(),ah=oh(),Xb=8,uh=16,Yb=256,Kb=704,Zb=26,lh=6,ch=2,Au=8,Jb=255,rn=1080,Iu=18,Qb=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),Tu=16,ex=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),tx=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),nx=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function ph(t){var e;return t.readBits(1)===0?16:(e=t.readBits(3),e>0?17+e:(e=t.readBits(3),e>0?8+e:17))}function mh(t){if(t.readBits(1)){var e=t.readBits(3);return e===0?1:t.readBits(e)+(1<<e)}return 0}function rx(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function gh(t){var e=new rx,n,r,s;if(e.input_end=t.readBits(1),e.input_end&&t.readBits(1))return e;if(n=t.readBits(2)+4,n===7){if(e.is_metadata=!0,t.readBits(1)!==0)throw new Error("Invalid reserved bit");if(r=t.readBits(2),r===0)return e;for(s=0;s<r;s++){var i=t.readBits(8);if(s+1===r&&r>1&&i===0)throw new Error("Invalid size byte");e.meta_block_length|=i<<s*8}}else for(s=0;s<n;++s){var o=t.readBits(4);if(s+1===n&&n>4&&o===0)throw new Error("Invalid size nibble");e.meta_block_length|=o<<s*4}return++e.meta_block_length,!e.input_end&&!e.is_metadata&&(e.is_uncompressed=t.readBits(1)),e}function kr(t,e,n){var r=e,s;return n.fillBitWindow(),e+=n.val_>>>n.bit_pos_&Jb,s=t[e].bits-Au,s>0&&(n.bit_pos_+=Au,e+=t[e].value,e+=n.val_>>>n.bit_pos_&(1<<s)-1),n.bit_pos_+=t[e].bits,t[e].value}function sx(t,e,n,r){for(var s=0,i=Xb,o=0,a=0,u=32768,l=[],c=0;c<32;c++)l.push(new Se(0,0));for(hh(l,0,5,t,Iu);s<e&&u>0;){var d=0,h;if(r.readMoreInput(),r.fillBitWindow(),d+=r.val_>>>r.bit_pos_&31,r.bit_pos_+=l[d].bits,h=l[d].value&255,h<uh)o=0,n[s++]=h,h!==0&&(i=h,u-=32768>>h);else{var p=h-14,m,x,S=0;if(h===uh&&(S=i),a!==S&&(o=0,a=S),m=o,o>0&&(o-=2,o<<=p),o+=r.readBits(p)+3,x=o-m,s+x>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var O=0;O<x;O++)n[s+O]=a;s+=x,a!==0&&(u-=x<<15-a)}}if(u!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+u);for(;s<e;s++)n[s]=0}function xo(t,e,n,r){var s=0,i,o=new Uint8Array(t);if(r.readMoreInput(),i=r.readBits(2),i===1){for(var a,u=t-1,l=0,c=new Int32Array(4),d=r.readBits(2)+1;u;)u>>=1,++l;for(a=0;a<d;++a)c[a]=r.readBits(l)%t,o[c[a]]=2;switch(o[c[0]]=1,d){case 1:break;case 3:if(c[0]===c[1]||c[0]===c[2]||c[1]===c[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(c[0]===c[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[c[1]]=1;break;case 4:if(c[0]===c[1]||c[0]===c[2]||c[0]===c[3]||c[1]===c[2]||c[1]===c[3]||c[2]===c[3])throw new Error("[ReadHuffmanCode] invalid symbols");r.readBits(1)?(o[c[2]]=3,o[c[3]]=3):o[c[0]]=2;break}}else{var a,h=new Uint8Array(Iu),p=32,m=0,x=[new Se(2,0),new Se(2,4),new Se(2,3),new Se(3,2),new Se(2,0),new Se(2,4),new Se(2,3),new Se(4,1),new Se(2,0),new Se(2,4),new Se(2,3),new Se(3,2),new Se(2,0),new Se(2,4),new Se(2,3),new Se(4,5)];for(a=i;a<Iu&&p>0;++a){var S=Qb[a],O=0,M;r.fillBitWindow(),O+=r.val_>>>r.bit_pos_&15,r.bit_pos_+=x[O].bits,M=x[O].value,h[S]=M,M!==0&&(p-=32>>M,++m)}if(!(m===1||p===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");sx(h,t,o,r)}if(s=hh(e,n,Au,o,t),s===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return s}function bo(t,e,n){var r,s;return r=kr(t,e,n),s=nn.kBlockLengthPrefixCode[r].nbits,nn.kBlockLengthPrefixCode[r].offset+n.readBits(s)}function ix(t,e,n){var r;return t<Tu?(n+=ex[t],n&=3,r=e[n]+tx[t]):r=t-Tu+1,r}function ox(t,e){for(var n=t[e],r=e;r;--r)t[r]=t[r-1];t[0]=n}function ax(t,e){var n=new Uint8Array(256),r;for(r=0;r<256;++r)n[r]=r;for(r=0;r<e;++r){var s=t[r];t[r]=n[s],s&&ox(n,s)}}function Vn(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*nx[t+31>>>5]),this.htrees=new Uint32Array(e)}Vn.prototype.decode=function(t){var e,n,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,n=xo(this.alphabet_size,this.codes,r,t),r+=n};function fh(t,e){var n={num_htrees:null,context_map:null},r,s=0,i,o;e.readMoreInput();var a=n.num_htrees=mh(e)+1,u=n.context_map=new Uint8Array(t);if(a<=1)return n;for(r=e.readBits(1),r&&(s=e.readBits(4)+1),i=[],o=0;o<rn;o++)i[o]=new Se(0,0);for(xo(a+s,i,0,e),o=0;o<t;){var l;if(e.readMoreInput(),l=kr(i,0,e),l===0)u[o]=0,++o;else if(l<=s)for(var c=1+(1<<l)+e.readBits(l);--c;){if(o>=t)throw new Error("[DecodeContextMap] i >= context_map_size");u[o]=0,++o}else u[o]=l-s,++o}return e.readBits(1)&&ax(u,t),n}function Ou(t,e,n,r,s,i,o){var a=n*2,u=n,l=kr(e,n*rn,o),c;l===0?c=s[a+(i[u]&1)]:l===1?c=s[a+(i[u]-1&1)]+1:c=l-2,c>=t&&(c-=t),r[n]=c,s[a+(i[u]&1)]=c,++i[u]}function ux(t,e,n,r,s,i){var o=s+1,a=n&s,u=i.pos_&wr.IBUF_MASK,l;if(e<8||i.bit_pos_+(e<<3)<i.bit_end_pos_){for(;e-- >0;)i.readMoreInput(),r[a++]=i.readBits(8),a===o&&(t.write(r,o),a=0);return}if(i.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;i.bit_pos_<32;)r[a]=i.val_>>>i.bit_pos_,i.bit_pos_+=8,++a,--e;if(l=i.bit_end_pos_-i.bit_pos_>>3,u+l>wr.IBUF_MASK){for(var c=wr.IBUF_MASK+1-u,d=0;d<c;d++)r[a+d]=i.buf_[u+d];l-=c,a+=c,e-=c,u=0}for(var d=0;d<l;d++)r[a+d]=i.buf_[u+d];if(a+=l,e-=l,a>=o){t.write(r,o),a-=o;for(var d=0;d<a;d++)r[d]=r[o+d]}for(;a+e>=o;){if(l=o-a,i.input_.read(r,a,l)<l)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");t.write(r,o),e-=l,a=0}if(i.input_.read(r,a,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");i.reset()}function lx(t){var e=t.bit_pos_+7&-8,n=t.readBits(e-t.bit_pos_);return n==0}function bh(t){var e=new dh(t),n=new wr(e);ph(n);var r=gh(n);return r.meta_block_length}yo.BrotliDecompressedSize=bh;function cx(t,e){var n=new dh(t);e==null&&(e=bh(t));var r=new Uint8Array(e),s=new Hb(r);return xh(n,s),s.pos<s.buffer.length&&(s.buffer=s.buffer.subarray(0,s.pos)),s.buffer}yo.BrotliDecompressBuffer=cx;function xh(t,e){var n,r=0,s=0,i=0,o,a=0,u,l,c,d,h=[16,15,11,4],p=0,m=0,x=0,S=[new Vn(0,0),new Vn(0,0),new Vn(0,0)],O,M,g,F=128+wr.READ_SIZE;g=new wr(t),i=ph(g),o=(1<<i)-16,u=1<<i,l=u-1,c=new Uint8Array(u+F+vr.maxDictionaryWordLength),d=u,O=[],M=[];for(var N=0;N<3*rn;N++)O[N]=new Se(0,0),M[N]=new Se(0,0);for(;!s;){var R=0,E,y=[1<<28,1<<28,1<<28],P=[0],b=[1,1,1],I=[0,1,0,1,0,1],A=[0],L,X,H,q,G=null,Y=null,_,K=null,pe,xe=0,Ee=null,Ie=0,ne=0,Ke=null,ze=0,Ze=0,Fe=0,Q,ce;for(n=0;n<3;++n)S[n].codes=null,S[n].htrees=null;g.readMoreInput();var At=gh(g);if(R=At.meta_block_length,r+R>e.buffer.length){var Be=new Uint8Array(r+R);Be.set(e.buffer),e.buffer=Be}if(s=At.input_end,E=At.is_uncompressed,At.is_metadata){for(lx(g);R>0;--R)g.readMoreInput(),g.readBits(8);continue}if(R!==0){if(E){g.bit_pos_=g.bit_pos_+7&-8,ux(e,R,r,c,l,g),r+=R;continue}for(n=0;n<3;++n)b[n]=mh(g)+1,b[n]>=2&&(xo(b[n]+2,O,n*rn,g),xo(Zb,M,n*rn,g),y[n]=bo(M,n*rn,g),A[n]=1);for(g.readMoreInput(),L=g.readBits(2),X=Tu+(g.readBits(4)<<L),H=(1<<L)-1,q=X+(48<<L),Y=new Uint8Array(b[0]),n=0;n<b[0];++n)g.readMoreInput(),Y[n]=g.readBits(2)<<1;var pn=fh(b[0]<<lh,g);_=pn.num_htrees,G=pn.context_map;var It=fh(b[2]<<ch,g);for(pe=It.num_htrees,K=It.context_map,S[0]=new Vn(Yb,_),S[1]=new Vn(Kb,b[1]),S[2]=new Vn(q,pe),n=0;n<3;++n)S[n].decode(g);for(Ee=0,Ke=0,Q=Y[P[0]],Ze=yr.lookupOffsets[Q],Fe=yr.lookupOffsets[Q+1],ce=S[1].htrees[0];R>0;){var Tt,ft,_t,$t,qn,Te,de,We,Rr,Hn,Lr;for(g.readMoreInput(),y[1]===0&&(Ou(b[1],O,1,P,I,A,g),y[1]=bo(M,rn,g),ce=S[1].htrees[P[1]]),--y[1],Tt=kr(S[1].codes,ce,g),ft=Tt>>6,ft>=2?(ft-=2,de=-1):de=0,_t=nn.kInsertRangeLut[ft]+(Tt>>3&7),$t=nn.kCopyRangeLut[ft]+(Tt&7),qn=nn.kInsertLengthPrefixCode[_t].offset+g.readBits(nn.kInsertLengthPrefixCode[_t].nbits),Te=nn.kCopyLengthPrefixCode[$t].offset+g.readBits(nn.kCopyLengthPrefixCode[$t].nbits),m=c[r-1&l],x=c[r-2&l],Hn=0;Hn<qn;++Hn)g.readMoreInput(),y[0]===0&&(Ou(b[0],O,0,P,I,A,g),y[0]=bo(M,0,g),xe=P[0]<<lh,Ee=xe,Q=Y[P[0]],Ze=yr.lookupOffsets[Q],Fe=yr.lookupOffsets[Q+1]),Rr=yr.lookup[Ze+m]|yr.lookup[Fe+x],Ie=G[Ee+Rr],--y[0],x=m,m=kr(S[0].codes,S[0].htrees[Ie],g),c[r&l]=m,(r&l)===l&&e.write(c,u),++r;if(R-=qn,R<=0)break;if(de<0){var Rr;if(g.readMoreInput(),y[2]===0&&(Ou(b[2],O,2,P,I,A,g),y[2]=bo(M,2*rn,g),ne=P[2]<<ch,Ke=ne),--y[2],Rr=(Te>4?3:Te-2)&255,ze=K[Ke+Rr],de=kr(S[2].codes,S[2].htrees[ze],g),de>=X){var ra,Hl,Br;de-=X,Hl=de&H,de>>=L,ra=(de>>1)+1,Br=(2+(de&1)<<ra)-4,de=X+(Br+g.readBits(ra)<<L)+Hl}}if(We=ix(de,h,p),We<0)throw new Error("[BrotliDecompress] invalid distance");if(r<o&&a!==o?a=r:a=o,Lr=r&l,We>a)if(Te>=vr.minDictionaryWordLength&&Te<=vr.maxDictionaryWordLength){var Br=vr.offsetsByLength[Te],Xl=We-a-1,Yl=vr.sizeBitsByLength[Te],c1=(1<<Yl)-1,f1=Xl&c1,Kl=Xl>>Yl;if(Br+=f1*Te,Kl<ah.kNumTransforms){var sa=ah.transformDictionaryWord(c,Lr,Br,Te,Kl);if(Lr+=sa,r+=sa,R-=sa,Lr>=d){e.write(c,u);for(var Rs=0;Rs<Lr-d;Rs++)c[Rs]=c[d+Rs]}}else throw new Error("Invalid backward reference. pos: "+r+" distance: "+We+" len: "+Te+" bytes left: "+R)}else throw new Error("Invalid backward reference. pos: "+r+" distance: "+We+" len: "+Te+" bytes left: "+R);else{if(de>0&&(h[p&3]=We,++p),Te>R)throw new Error("Invalid backward reference. pos: "+r+" distance: "+We+" len: "+Te+" bytes left: "+R);for(Hn=0;Hn<Te;++Hn)c[r&l]=c[r-We&l],(r&l)===l&&e.write(c,u),++r,--R}m=c[r-1&l],x=c[r-2&l]}r&=1073741823}}e.write(c,r&l)}yo.BrotliDecompress=xh;vr.init()});var vh=Oe((_E,yh)=>{yh.exports=vu().BrotliDecompressBuffer});import ap from"fs";function Wn(t,e,n,r){Object.defineProperty(t,e,{get:n,set:r,enumerable:!0,configurable:!0})}function Ko(t){return t&&t.__esModule?t.default:t}function Fr(t){Uu.push(t)}function Nr(t,e){for(let n=0;n<Uu.length;n++){let r=Uu[n];if(r.probe(t)){let s=new r(new he(t));return e?s.getFont(e):s}}throw new Error("Unknown font format")}function fx(t="en"){To=t}function dx(t,e){let n=ap.readFileSync(t);return Nr(n,e)}async function hx(t,e,n){typeof e=="function"&&(n=e,e=null);let r=await ap.promises.readFile(t);return Nr(r,e)}function Me(t,e,n){if(n.get){let r=n.get;n.get=function(){let s=r.call(this);return Object.defineProperty(this,e,{value:s}),s}}else if(typeof n.value=="function"){let r=n.value;return{get(){let s=new Map;function i(...o){let a=o.length>0?o[0]:"value";if(s.has(a))return s.get(a);let u=r.apply(this,o);return s.set(a,u),u}return Object.defineProperty(this,e,{value:i}),i}}}}function dp(t,e,n=0){return t===1&&wh[n]?wh[n]:Px[t][e]}function $x(t){let e=Pu.get(t);if(e)return e;let n=Tx[t];if(n){let r=new Map;for(let s=0;s<n.length;s++)r.set(n.charCodeAt(s),128+s);return Pu.set(t,r),r}if(Ix.has(t)){let r=new TextDecoder(t),s=new Uint8Array(128);for(let a=0;a<128;a++)s[a]=128+a;let i=new Map,o=r.decode(s);for(let a=0;a<128;a++)i.set(o.charCodeAt(a),128+a);return Pu.set(t,i),i}}function Mo(t){let e=new C({lookupType:f,flags:Kx,subTableCount:f,subTables:new v(new w(f,t),"subTableCount"),markFilteringSet:new en(f,n=>n.flags.flags.useMarkFilteringSet)});return new ae(new w(f,e),f)}function wo(t={},e=f){let n=Object.assign({newState:f,flags:f},t),r=new C(n),s=new lt(new v(f,o=>o.nClasses));return new C({nClasses:k,classTable:new w(k,new fn(e)),stateArray:new w(k,s),entryTable:new w(k,new lt(r))})}function j3(t={},e=f){let n=new C({version(){return 8},firstGlyph:f,values:new v(U,f)}),r=Object.assign({newStateOffset:f,newState:a=>(a.newStateOffset-(a.parent.stateArray.base-a.parent._startOffset))/a.parent.nClasses,flags:f},t),s=new C(r),i=new lt(new v(U,a=>a.nClasses));return new C({nClasses:f,classTable:new w(f,n),stateArray:new w(f,i),entryTable:new w(f,new lt(s))})}function Io(t,e){let n=0,r=t.length-1;for(;n<=r;){let s=n+r>>1,i=e(t[s]);if(i<0)r=s-1;else if(i>0)n=s+1;else return s}return-1}function Cr(t,e){let n=[];for(;t<e;)n.push(t++);return n}function $l(t){let e=t.length*.75;t[t.length-1]==="="&&(e--,t[t.length-2]==="="&&e--);let n=new Uint8Array(e),r=0;for(let s=0,i=t.length;s<i;s+=4){let o=ys[t.charCodeAt(s)],a=ys[t.charCodeAt(s+1)],u=ys[t.charCodeAt(s+2)],l=ys[t.charCodeAt(s+3)];n[r++]=o<<2|a>>4,n[r++]=(a&15)<<4|u>>2,n[r++]=(u&3)<<6|l&63}return n}function vv(t){return Zu[t]}function wv(t){let e=t.length,n=0;for(;n<e;){let r=t.charCodeAt(n++);if(55296<=r&&r<=56319&&n<e){let i=t.charCodeAt(n);56320<=i&&i<=57343&&(n++,r=((r&1023)<<10)+(i&1023)+65536)}let s=du(r);if(s!=="Common"&&s!=="Inherited"&&s!=="Unknown")return Ir[s]}return Ir.Unknown}function kv(t){for(let e=0;e<t.length;e++){let n=t[e],r=du(n);if(r!=="Common"&&r!=="Inherited"&&r!=="Unknown")return Ir[r]}return Ir.Unknown}function Mp(t){return Sv[t]?"rtl":"ltr"}function Cv(t){let e={};for(let n in t){let r;(r=Bo[n])&&(e[r[0]]==null&&(e[r[0]]={}),e[r[0]][r[1]]=t[n])}return e}function Lh(t){let[e,n]=t;if(isNaN(e))var r=jn[e]&&jn[e].code;else var r=e;if(isNaN(n))var s=jn[e]&&jn[e][n];else var s=n;return[r,s]}function Ev(t){let e={};if(Array.isArray(t))for(let n=0;n<t.length;n++){let r,s=Lh(t[n]);(r=Gn[s[0]]&&Gn[s[0]][s[1]])&&(e[r]=!0)}else if(typeof t=="object")for(let n in t){let r=t[n];for(let s in r){let i,o=Lh([n,s]);r[s]&&(i=Gn[o[0]]&&Gn[o[0]][o[1]])&&(e[i]=!0)}}return Object.keys(e)}function Ge(t,e,n,r=!1,s=!1){let i=t.splice(n[0]-(n[1]-1),n[1]);s&&i.reverse();let o=t.splice(e[0],e[1],...i);return r&&o.reverse(),t.splice(n[0]-(e[1]-1),0,...o),t}function Vv(t,e,n,r){let s=r-n+1;switch(e){case 0:return t;case 1:return Ge(t,[n,1],[r,0]);case 2:return Ge(t,[n,0],[r,1]);case 3:return Ge(t,[n,1],[r,1]);case 4:return Ge(t,[n,2],[r,0]);case 5:return Ge(t,[n,2],[r,0],!0,!1);case 6:return Ge(t,[n,0],[r,2]);case 7:return Ge(t,[n,0],[r,2],!1,!0);case 8:return Ge(t,[n,1],[r,2]);case 9:return Ge(t,[n,1],[r,2],!1,!0);case 10:return Ge(t,[n,2],[r,1]);case 11:return Ge(t,[n,2],[r,1],!0,!1);case 12:return Ge(t,[n,2],[r,2]);case 13:return Ge(t,[n,2],[r,2],!0,!1);case 14:return Ge(t,[n,2],[r,2],!1,!0);case 15:return Ge(t,[n,2],[r,2],!0,!0);default:throw new Error(`Unknown verb: ${e}`)}}function Yv(t){let e=qv.get(t);if(e)return e-1;let n=ms(t);return n==="Mn"||n==="Me"||n==="Cf"?rl.Transparent:rl.Non_Joining}function zo(t){return nw(t)?dw:rw(t)?jo:sw(t)?Pl:aw(t)?Go:ow(t)?Np:iw(t)?hw:fw}function Ss(t,e,n){return new mt(t,t.glyphForCodePoint(e).id,[e],n)}function Dp(t,e,n){let r=t[e],i=r.codePoints[0]-$r,o=ln+i%Ts;i=i/Ts|0;let a=Qo+i/_o|0,u=ea+i%_o;if(!n.hasGlyphForCodePoint(a)||!n.hasGlyphForCodePoint(u)||o!==ln&&!n.hasGlyphForCodePoint(o))return e;let l=Ss(n,a,r.features);l.features.ljmo=!0;let c=Ss(n,u,r.features);c.features.vjmo=!0;let d=[l,c];if(o>ln){let h=Ss(n,o,r.features);h.features.tjmo=!0,d.push(h)}return t.splice(e,1,...d),e+d.length-1}function mw(t,e,n){let r=t[e],s=t[e].codePoints[0],i=zo(s),o=t[e-1].codePoints[0],a=zo(o),u,l,c,d;if(a===Go&&i===Pl)u=o,d=r;else{i===jo?(l=t[e-1],c=r):(l=t[e-2],c=t[e-1],d=r);let p=l.codePoints[0],m=c.codePoints[0];uw(p)&&lw(m)&&(u=$r+((p-Qo)*_o+(m-ea))*Ts)}let h=d&&d.codePoints[0]||ln;if(u!=null&&(h===ln||cw(h))){let p=u+(h-ln);if(n.hasGlyphForCodePoint(p)){let m=a===jo?3:2;return t.splice(e-m+1,m,Ss(n,p,r.features)),e-m+1}}return l&&(l.features.ljmo=!0),c&&(c.features.vjmo=!0),d&&(d.features.tjmo=!0),a===Go?(Dp(t,e-1,n),e+1):e}function gw(t){switch(zo(t)){case Go:case Np:return 1;case jo:return 2;case Pl:return 3}}function bw(t,e,n){let r=t[e],s=t[e].codePoints[0];if(n.glyphForCodePoint(s).advanceWidth===0)return;let i=t[e-1].codePoints[0],o=gw(i);return t.splice(e,1),t.splice(e-o,0,r)}function xw(t,e,n){let r=t[e],s=t[e].codePoints[0];if(n.hasGlyphForCodePoint(zh)){let i=Ss(n,zh,r.features),o=n.glyphForCodePoint(s).advanceWidth===0?e:e+1;t.splice(o,0,i),e++}return e}function ul(t){return Bp.get(t.codePoints[0])>>8}function Up(t){return 1<<(Bp.get(t.codePoints[0])&255)}function Sw(t,e){let n=0,r=0;for(let[s,i,o]of kw.match(e.map(ul))){if(s>r){++n;for(let a=r;a<s;a++)e[a].shaperInfo=new Or(se.X,Z.End,"non_indic_cluster",n)}++n;for(let a=s;a<=i;a++)e[a].shaperInfo=new Or(1<<ul(e[a]),Up(e[a]),o[0],n);r=i+1}if(r<e.length){++n;for(let s=r;s<e.length;s++)e[s].shaperInfo=new Or(se.X,Z.End,"non_indic_cluster",n)}}function _n(t){return t.shaperInfo.category&yw}function Et(t){return t.shaperInfo.category&Lp}function Lt(t){return t.shaperInfo.category&Cs}function Vt(t,e){for(let r of t)r.features={[e]:!0};return t[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([e],t),t.length===1}function Cw(t,e,n){let r=[n,e,n];return Vt(r.slice(0,2),"blwf")||Vt(r.slice(1,3),"blwf")?Z.Below_C:Vt(r.slice(0,2),"pstf")||Vt(r.slice(1,3),"pstf")||Vt(r.slice(0,2),"pref")||Vt(r.slice(1,3),"pref")?Z.Post_C:Z.Base_C}function Ew(t,e,n){let r=n.indicConfig,s=t._layoutEngine.engine.GSUBProcessor.features,i=t.glyphForCodePoint(9676).id,o=t.glyphForCodePoint(r.virama).id;if(o){let a=new mt(t,o,[r.virama]);for(let u=0;u<e.length;u++)e[u].shaperInfo.position===Z.Base_C&&(e[u].shaperInfo.position=Cw(t,e[u].copy(),a))}for(let a=0,u=Wo(e,0);a<e.length;a=u,u=Wo(e,a)){let{category:l,syllableType:c}=e[a].shaperInfo;if(c==="symbol_cluster"||c==="non_indic_cluster")continue;if(c==="broken_cluster"&&i){let g=new mt(t,i,[9676]);g.shaperInfo=new Or(1<<ul(g),Up(g),e[a].shaperInfo.syllableType,e[a].shaperInfo.syllable);let F=a;for(;F<u&&e[F].shaperInfo.category===se.Repha;)F++;e.splice(F++,0,g),u++}let d=u,h=a,p=!1;if(r.rephPos!==Z.Ra_To_Become_Reph&&s.rphf&&a+3<=u&&(r.rephMode==="Implicit"&&!Et(e[a+2])||r.rephMode==="Explicit"&&e[a+2].shaperInfo.category===se.ZWJ)){let g=[e[a].copy(),e[a+1].copy(),e[a+2].copy()];if(Vt(g.slice(0,2),"rphf")||r.rephMode==="Explicit"&&Vt(g,"rphf")){for(h+=2;h<u&&Et(e[h]);)h++;d=a,p=!0}}else if(r.rephMode==="Log_Repha"&&e[a].shaperInfo.category===se.Repha){for(h++;h<u&&Et(e[h]);)h++;d=a,p=!0}switch(r.basePos){case"Last":{let g=u,F=!1;do{let N=e[--g].shaperInfo;if(_n(e[g])){if(N.position!==Z.Below_C&&(N.position!==Z.Post_C||F)){d=g;break}N.position===Z.Below_C&&(F=!0),d=g}else if(a<g&&N.category===se.ZWJ&&e[g-1].shaperInfo.category===se.H)break}while(g>h);break}case"First":d=a;for(let g=d+1;g<u;g++)_n(e[g])&&(e[g].shaperInfo.position=Z.Below_C)}p&&d===a&&h-d<=2&&(p=!1);for(let g=a;g<d;g++){let F=e[g].shaperInfo;F.position=Math.min(Z.Pre_C,F.position)}d<u&&(e[d].shaperInfo.position=Z.Base_C);for(let g=d+1;g<u;g++)if(e[g].shaperInfo.category===se.M){for(let F=g+1;F<u;F++)if(_n(e[F])){e[F].shaperInfo.position=Z.Final_C;break}break}if(p&&(e[a].shaperInfo.position=Z.Ra_To_Become_Reph),n.isOldSpec){let g=n.unicodeScript!=="Malayalam";for(let F=d+1;F<u;F++)if(e[F].shaperInfo.category===se.H){let N;for(N=u-1;N>F&&!(_n(e[N])||g&&e[N].shaperInfo.category===se.H);N--);if(e[N].shaperInfo.category!==se.H&&N>F){let R=e[F];e.splice(F,0,...e.splice(F+1,N-F)),e[N]=R}break}}let m=Z.Start;for(let g=a;g<u;g++){let F=e[g].shaperInfo;if(F.category&(Lp|se.N|se.RS|se.CM|Cs&F.category)){if(F.position=m,F.category===se.H&&F.position===Z.Pre_M){for(let N=g;N>a;N--)if(e[N-1].shaperInfo.position!==Z.Pre_M){F.position=e[N-1].shaperInfo.position;break}}}else F.position!==Z.SMVD&&(m=F.position)}let x=d;for(let g=d+1;g<u;g++)if(_n(e[g])){for(let F=x+1;F<g;F++)e[F].shaperInfo.position<Z.SMVD&&(e[F].shaperInfo.position=e[g].shaperInfo.position);x=g}else e[g].shaperInfo.category===se.M&&(x=g);let S=e.slice(a,u);S.sort((g,F)=>g.shaperInfo.position-F.shaperInfo.position),e.splice(a,S.length,...S);for(let g=a;g<u;g++)if(e[g].shaperInfo.position===Z.Base_C){d=g;break}for(let g=a;g<u&&e[g].shaperInfo.position===Z.Ra_To_Become_Reph;g++)e[g].features.rphf=!0;let O=!n.isOldSpec&&r.blwfMode==="Pre_And_Post";for(let g=a;g<d;g++)e[g].features.half=!0,O&&(e[g].features.blwf=!0);for(let g=d+1;g<u;g++)e[g].features.abvf=!0,e[g].features.pstf=!0,e[g].features.blwf=!0;if(n.isOldSpec&&n.unicodeScript==="Devanagari")for(let g=a;g+1<d;g++)e[g].shaperInfo.category===se.Ra&&e[g+1].shaperInfo.category===se.H&&(g+1===d||e[g+2].shaperInfo.category===se.ZWJ)&&(e[g].features.blwf=!0,e[g+1].features.blwf=!0);let M=2;if(s.pref&&d+M<u)for(let g=d+1;g+M-1<u;g++){let F=[e[g].copy(),e[g+1].copy()];if(Vt(F,"pref")){for(let N=0;N<M;N++)e[g++].features.pref=!0;if(s.cfar)for(;g<u;g++)e[g].features.cfar=!0;break}}for(let g=a+1;g<u;g++)if(Et(e[g])){let F=e[g].shaperInfo.category===se.ZWNJ,N=g;do N--,F&&delete e[N].features.half;while(N>a&&!_n(e[N]))}}}function Ow(t,e,n){let r=n.indicConfig,s=t._layoutEngine.engine.GSUBProcessor.features;for(let i=0,o=Wo(e,0);i<e.length;i=o,o=Wo(e,i)){let a=!!s.pref,u=i;for(;u<o;u++)if(e[u].shaperInfo.position>=Z.Base_C){if(a&&u+1<o){for(let l=u+1;l<o;l++)if(e[l].features.pref){if(!(e[l].substituted&&e[l].isLigated&&!e[l].isMultiplied)){for(u=l;u<o&&Lt(e[u]);)u++;e[u].shaperInfo.position=Z.BASE_C,a=!1}break}}if(n.unicodeScript==="Malayalam")for(let l=u+1;l<o;l++){for(;l<o&&Et(e[l]);)l++;if(l===o||!Lt(e[l]))break;for(l++;l<o&&Et(e[l]);)l++;l<o&&_n(e[l])&&e[l].shaperInfo.position===Z.Below_C&&(u=l,e[u].shaperInfo.position=Z.Base_C)}i<u&&e[u].shaperInfo.position>Z.Base_C&&u--;break}if(u===o&&i<u&&e[u-1].shaperInfo.category===se.ZWJ&&u--,u<o)for(;i<u&&e[u].shaperInfo.category&(se.N|Cs);)u--;if(i+1<o&&i<u){let l=u===o?u-2:u-1;if(n.unicodeScript!=="Malayalam"&&n.unicodeScript!=="Tamil"){for(;l>i&&!(e[l].shaperInfo.category&(se.M|Cs));)l--;Lt(e[l])&&e[l].shaperInfo.position!==Z.Pre_M?l+1<o&&Et(e[l+1])&&l++:l=i}if(i<l&&e[l].shaperInfo.position!==Z.Pre_M){for(let c=l;c>i;c--)if(e[c-1].shaperInfo.position===Z.Pre_M){let d=c-1;d<u&&u<=l&&u--;let h=e[d];e.splice(d,0,...e.splice(d+1,l-d)),e[l]=h,l--}}}if(i+1<o&&e[i].shaperInfo.position===Z.Ra_To_Become_Reph&&e[i].shaperInfo.category===se.Repha!==(e[i].isLigated&&!e[i].isMultiplied)){let l,c=r.rephPos,d=!1;if(c!==Z.After_Post){for(l=i+1;l<u&&!Lt(e[l]);)l++;if(l<u&&Lt(e[l])&&(l+1<u&&Et(e[l+1])&&l++,d=!0),!d&&c===Z.After_Main){for(l=u;l+1<o&&e[l+1].shaperInfo.position<=Z.After_Main;)l++;d=l<o}if(!d&&c===Z.After_Sub){for(l=u;l+1<o&&!(e[l+1].shaperInfo.position&(Z.Post_C|Z.After_Post|Z.SMVD));)l++;d=l<o}}if(!d){for(l=i+1;l<u&&!Lt(e[l]);)l++;l<u&&Lt(e[l])&&(l+1<u&&Et(e[l+1])&&l++,d=!0)}if(!d){for(l=o-1;l>i&&e[l].shaperInfo.position===Z.SMVD;)l--;if(Lt(e[l]))for(let p=u+1;p<l;p++)e[p].shaperInfo.category===se.M&&l--}let h=e[i];e.splice(i,0,...e.splice(i+1,l-i)),e[l]=h,i<u&&u<=l&&u--}if(a&&u+1<o){for(let l=u+1;l<o;l++)if(e[l].features.pref){if(e[l].isLigated&&!e[l].isMultiplied){let c=u;if(n.unicodeScript!=="Malayalam"&&n.unicodeScript!=="Tamil"){for(;c>i&&!(e[c-1].shaperInfo.category&(se.M|Cs));)c--;if(c>i&&e[c-1].shaperInfo.category===se.M){let p=l;for(let m=u+1;m<p;m++)if(e[m].shaperInfo.category===se.M){c--;break}}}c>i&&Lt(e[c-1])&&c<o&&Et(e[c])&&c++;let d=l,h=e[d];e.splice(c+1,0,...e.splice(c,d-c)),e[c]=h,c<=u&&u<d&&u++}break}}e[i].shaperInfo.position===Z.Pre_M&&(!i||!/Cf|Mn/.test(ms(e[i-1].codePoints[0])))&&(e[i].features.init=!0)}}function Wo(t,e){if(e>=t.length)return e;let n=t[e].shaperInfo.syllable;for(;++e<t.length&&t[e].shaperInfo.syllable===n;);return e}function Hh(t){return Iw.get(t.codePoints[0])}function $w(t,e){let n=0;for(let[r,s,i]of Tw.match(e.map(Hh))){++n;for(let a=r;a<=s;a++)e[a].shaperInfo=new ll(Aw[Hh(e[a])],i[0],n);let o=e[r].shaperInfo.category==="R"?1:Math.min(3,s-r);for(let a=r;a<r+o;a++)e[a].features.rphf=!0}}function Xh(t,e){for(let n of e)n.substituted=!1}function Pw(t,e){for(let n of e)n.substituted&&n.features.rphf&&(n.shaperInfo.category="R")}function Mw(t,e){for(let n of e)n.substituted&&(n.shaperInfo.category="VPre")}function Fw(t,e){let n=t.glyphForCodePoint(9676).id;for(let r=0,s=Yh(e,0);r<e.length;r=s,s=Yh(e,r)){let i,o,a=e[r].shaperInfo,u=a.syllableType;if(!(u!=="virama_terminated_cluster"&&u!=="standard_cluster"&&u!=="broken_cluster")){if(u==="broken_cluster"&&n){let l=new mt(t,n,[9676]);for(l.shaperInfo=a,i=r;i<s&&e[i].shaperInfo.category==="R";i++);e.splice(++i,0,l),s++}if(a.category==="R"&&s-r>1){for(i=r+1;i<s;i++)if(a=e[i].shaperInfo,Kh(a)||Eo(e[i])){Eo(e[i])&&i--,e.splice(r,0,...e.splice(r+1,i-r),e[i]);break}}for(i=r,o=s;i<s;i++)a=e[i].shaperInfo,Kh(a)||Eo(e[i])?o=Eo(e[i])?i+1:i:(a.category==="VPre"||a.category==="VMPre")&&o<i&&e.splice(o,1,e[i],...e.splice(o,i-o))}}}function Yh(t,e){if(e>=t.length)return e;let n=t[e].shaperInfo.syllable;for(;++e<t.length&&t[e].shaperInfo.syllable===n;);return e}function Eo(t){return t.shaperInfo.category==="H"&&!t.isLigated}function Kh(t){return t.category==="B"||t.category==="GB"}function Dw(t){Array.isArray(t)||(t=[t]);for(let e of t){let n=Nw[e];if(n)return n}return Ot}function Lu(t){let e=t.readUInt8();return e===p4?t.readUInt16BE():e===g4?t.readUInt8()+ip:e===m4?t.readUInt8()+ip*2:e}function St(t,e){return t&1?e:-e}function b4(t,e,n){let r,s=r=0,i=[];for(let u=0;u<n;u++){let l=0,c=0,d=t.readUInt8(),h=!(d>>7);if(d&=127,d<10)l=0,c=St(d,((d&14)<<7)+e.readUInt8());else if(d<20)l=St(d,((d-10&14)<<7)+e.readUInt8()),c=0;else if(d<84){var o=d-20,a=e.readUInt8();l=St(d,1+(o&48)+(a>>4)),c=St(d>>1,1+((o&12)<<2)+(a&15))}else if(d<120){var o=d-84;l=St(d,1+(o/12<<8)+e.readUInt8()),c=St(d>>1,1+(o%12>>2<<8)+e.readUInt8())}else if(d<124){var a=e.readUInt8();let m=e.readUInt8();l=St(d,(a<<4)+(m>>4)),c=St(d>>1,((m&15)<<8)+e.readUInt8())}else l=St(d,e.readUInt16BE()),c=St(d>>1,e.readUInt16BE());s+=l,r+=c,i.push(new pt(h,!1,s,r))}return i}var Bu,Yo,Al,Oo,up,lp,$s,cp,Uu,To,fp,px,$u,mx,gx,bx,xx,yx,vx,wx,kx,Sx,Cx,Ex,Ox,Ax,Ix,Tx,Pu,Px,wh,Mx,kh,Fx,$o,Nx,Vu,hp,Mu,Dx,Rx,Lx,Bx,Il,Ux,Vx,_x,ut,bs,Sh,Ch,vs,Ar,Qe,Po,_u,ju,Ao,pp,jx,mp,Gx,zx,gp,Wx,qx,Hx,bp,Xx,xp,Yx,yp,Kx,Zx,ue,Jx,un,an,Ps,Qx,ey,ty,ny,vp,ry,Eh,wp,ws,sy,iy,oy,ay,Zo,uy,ly,cy,fy,dy,kp,Fo,Gu,Sp,hy,py,my,No,gy,by,xy,yy,Cp,Fu,Do,Ep,vy,wy,ky,Sy,Op,zu,Ap,Cy,Ey,Er,vo,Oh,Ro,ks,HE,Ah,Oy,Ay,Iy,Ty,$y,Py,My,Fy,Ny,Dy,Ry,Ly,Es,By,Uy,Ip,Vy,_y,jy,Gy,zy,Ih,Wy,qy,Hy,Xy,Yy,Ky,Th,Zy,Sr,Jy,cn,Qy,e3,t3,Os,n3,r3,Nu,s3,$h,i3,o3,a3,As,u3,Tp,l3,c3,f3,Wu,d3,sn,h3,$p,p3,m3,g3,b3,qu,x3,Du,y3,v3,w3,k3,S3,C3,E3,O3,A3,Ph,I3,Mh,Fh,T3,$3,P3,M3,F3,N3,D3,R3,L3,B3,Nh,U3,V3,_3,Hu,lt,fn,G3,z3,W3,q3,H3,X3,Y3,K3,Z3,Xu,J3,Q3,ev,tv,nv,rv,sv,iv,ov,Dh,av,uv,lv,cv,fv,dv,hv,pv,mv,gv,bv,xv,J,Lo,yv,Tl,Pp,Jo,Rh,ys,Is,Yu,Ku,dn,Ir,Zu,Sv,Ju,Qu,jn,V,Bo,Gn,zn,Ov,Bh,Uh,Vh,Av,el,Iv,Tv,$v,_h,Pv,Mv,Fv,Nv,Dv,jh,Rv,Lv,Bv,Uv,Uo,tl,nl,_v,jv,Gv,zv,Wv,Ot,qv,Gh,rl,fe,on,Ru,Hv,ko,So,Co,ie,Xv,Ct,sl,Kv,Tr,mt,Vo,$r,Fp,Zv,Qo,ea,ln,Jv,_o,Ts,Qv,ew,tw,zh,nw,rw,sw,iw,ow,aw,uw,lw,cw,fw,dw,jo,Pl,Go,Np,hw,Ye,Bt,il,ol,al,pw,Rp,ta,se,Z,yw,Lp,Cs,Wh,vw,ww,Bp,kw,ge,Or,Aw,qh,Iw,Tw,te,ll,Nw,cl,fl,dl,hl,Rw,Pr,xs,ct,Zh,Lw,Bw,Uw,Vw,_w,jw,Gw,zw,Jh,Ww,qw,Hw,pt,pl,Mr,ml,Xw,gl,qo,bl,Yw,Kw,Zw,Qh,Jw,ep,tp,np,Qw,e4,t4,xl,XE,Ho,n4,r4,s4,i4,o4,a4,Xo,rp,yl,vl,wl,Le,u4,Vp,l4,kl,Sl,sp,c4,f4,_p,d4,Cl,Ut,h4,p4,m4,g4,ip,x4,El,y4,YE,v4,w4,k4,S4,op,Ol,Ml=B(()=>{dd();hd();md();Bu=jt(bd(),1);Vd();Yo=jt(lu(),1),Al=jt(jd(),1),Oo=jt(Gd(),1),up=jt(iu(),1),lp=jt(vh(),1);$s={};Wn($s,"logErrors",()=>cp);Wn($s,"registerFormat",()=>Fr);Wn($s,"create",()=>Nr);Wn($s,"defaultLanguage",()=>To);Wn($s,"setDefaultLanguage",()=>fx);cp=!1,Uu=[];To="en";fp={};Wn(fp,"openSync",()=>dx);Wn(fp,"open",()=>hx);px=new C({firstCode:f,entryCount:f,idDelta:D,idRangeOffset:f}),$u=new C({startCharCode:k,endCharCode:k,glyphID:k}),mx=new C({startUnicodeValue:Dt,additionalCount:U}),gx=new C({unicodeValue:Dt,glyphID:f}),bx=new v(mx,k),xx=new v(gx,k),yx=new C({varSelector:Dt,defaultUVS:new w(k,bx,{type:"parent"}),nonDefaultUVS:new w(k,xx,{type:"parent"})}),vx=new ee(f,{0:{length:f,language:f,codeMap:new ae(U,256)},2:{length:f,language:f,subHeaderKeys:new v(f,256),subHeaderCount:t=>Math.max.apply(Math,t.subHeaderKeys),subHeaders:new ae(px,"subHeaderCount"),glyphIndexArray:new ae(f,"subHeaderCount")},4:{length:f,language:f,segCountX2:f,segCount:t=>t.segCountX2>>1,searchRange:f,entrySelector:f,rangeShift:f,endCode:new ae(f,"segCount"),reservedPad:new le(f),startCode:new ae(f,"segCount"),idDelta:new ae(D,"segCount"),idRangeOffset:new ae(f,"segCount"),glyphIndexArray:new ae(f,t=>(t.length-t._currentOffset)/2)},6:{length:f,language:f,firstCode:f,entryCount:f,glyphIndices:new ae(f,"entryCount")},8:{reserved:new le(f),length:k,language:f,is32:new ae(U,8192),nGroups:k,groups:new ae($u,"nGroups")},10:{reserved:new le(f),length:k,language:k,firstCode:k,entryCount:k,glyphIndices:new ae(f,"numChars")},12:{reserved:new le(f),length:k,language:k,nGroups:k,groups:new ae($u,"nGroups")},13:{reserved:new le(f),length:k,language:k,nGroups:k,groups:new ae($u,"nGroups")},14:{length:k,numRecords:k,varSelectors:new ae(yx,"numRecords")}}),wx=new C({platformID:f,encodingID:f,table:new w(k,vx,{type:"parent",lazy:!0})}),kx=new C({version:f,numSubtables:f,tables:new v(wx,"numSubtables")}),Sx=new C({version:Jt,revision:Jt,checkSumAdjustment:k,magicNumber:k,flags:f,unitsPerEm:f,created:new v(Jt,2),modified:new v(Jt,2),xMin:D,yMin:D,xMax:D,yMax:D,macStyle:new _e(f,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:f,fontDirectionHint:D,indexToLocFormat:D,glyphDataFormat:D}),Cx=new C({version:Jt,ascent:D,descent:D,lineGap:D,advanceWidthMax:f,minLeftSideBearing:D,minRightSideBearing:D,xMaxExtent:D,caretSlopeRise:D,caretSlopeRun:D,caretOffset:D,reserved:new le(D,4),metricDataFormat:D,numberOfMetrics:f}),Ex=new C({advance:f,bearing:D}),Ox=new C({metrics:new ae(Ex,t=>t.parent.hhea.numberOfMetrics),bearings:new ae(D,t=>t.parent.maxp.numGlyphs-t.parent.hhea.numberOfMetrics)}),Ax=new C({version:Jt,numGlyphs:f,maxPoints:f,maxContours:f,maxComponentPoints:f,maxComponentContours:f,maxZones:f,maxTwilightPoints:f,maxStorage:f,maxFunctionDefs:f,maxInstructionDefs:f,maxStackElements:f,maxSizeOfInstructions:f,maxComponentElements:f,maxComponentDepth:f});Ix=new Set(["x-mac-roman","x-mac-cyrillic","iso-8859-6","iso-8859-8"]),Tx={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026 \xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026 \u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026 \u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026 \u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},Pu=new Map;Px=[["utf-16be","utf-16be","utf-16be","utf-16be","utf-16be","utf-16be","utf-16be"],["x-mac-roman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","x-mac-greek","x-mac-cyrillic","x-mac-symbol","x-mac-devanagari","x-mac-gurmukhi","x-mac-gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","iso-8859-11","Laotian","Georgian","Armenian","gbk","Tibetan","Mongolian","Geez","x-mac-ce","Vietnamese","Sindhi"],["ascii",null,"iso-8859-1"],["symbol","utf-16be","shift-jis","gb18030","big5","euc-kr","johab",null,null,null,"utf-16be"]],wh={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"},Mx=[[],{0:"en",30:"fo",60:"ks",90:"rw",1:"fr",31:"fa",61:"ku",91:"rn",2:"de",32:"ru",62:"sd",92:"ny",3:"it",33:"zh",63:"bo",93:"mg",4:"nl",34:"nl-BE",64:"ne",94:"eo",5:"sv",35:"ga",65:"sa",128:"cy",6:"es",36:"sq",66:"mr",129:"eu",7:"da",37:"ro",67:"bn",130:"ca",8:"pt",38:"cz",68:"as",131:"la",9:"no",39:"sk",69:"gu",132:"qu",10:"he",40:"si",70:"pa",133:"gn",11:"ja",41:"yi",71:"or",134:"ay",12:"ar",42:"sr",72:"ml",135:"tt",13:"fi",43:"mk",73:"kn",136:"ug",14:"el",44:"bg",74:"ta",137:"dz",15:"is",45:"uk",75:"te",138:"jv",16:"mt",46:"be",76:"si",139:"su",17:"tr",47:"uz",77:"my",140:"gl",18:"hr",48:"kk",78:"km",141:"af",19:"zh-Hant",49:"az-Cyrl",79:"lo",142:"br",20:"ur",50:"az-Arab",80:"vi",143:"iu",21:"hi",51:"hy",81:"id",144:"gd",22:"th",52:"ka",82:"tl",145:"gv",23:"ko",53:"mo",83:"ms",146:"ga",24:"lt",54:"ky",84:"ms-Arab",147:"to",25:"pl",55:"tg",85:"am",148:"el-polyton",26:"hu",56:"tk",86:"ti",149:"kl",27:"es",57:"mn-CN",87:"om",150:"az",28:"lv",58:"mn",88:"so",151:"nn",29:"se",59:"ps",89:"sw"},[],{1078:"af",16393:"en-IN",1159:"rw",1074:"tn",1052:"sq",6153:"en-IE",1089:"sw",1115:"si",1156:"gsw",8201:"en-JM",1111:"kok",1051:"sk",1118:"am",17417:"en-MY",1042:"ko",1060:"sl",5121:"ar-DZ",5129:"en-NZ",1088:"ky",11274:"es-AR",15361:"ar-BH",13321:"en-PH",1108:"lo",16394:"es-BO",3073:"ar",18441:"en-SG",1062:"lv",13322:"es-CL",2049:"ar-IQ",7177:"en-ZA",1063:"lt",9226:"es-CO",11265:"ar-JO",11273:"en-TT",2094:"dsb",5130:"es-CR",13313:"ar-KW",2057:"en-GB",1134:"lb",7178:"es-DO",12289:"ar-LB",1033:"en",1071:"mk",12298:"es-EC",4097:"ar-LY",12297:"en-ZW",2110:"ms-BN",17418:"es-SV",6145:"ary",1061:"et",1086:"ms",4106:"es-GT",8193:"ar-OM",1080:"fo",1100:"ml",18442:"es-HN",16385:"ar-QA",1124:"fil",1082:"mt",2058:"es-MX",1025:"ar-SA",1035:"fi",1153:"mi",19466:"es-NI",10241:"ar-SY",2060:"fr-BE",1146:"arn",6154:"es-PA",7169:"aeb",3084:"fr-CA",1102:"mr",15370:"es-PY",14337:"ar-AE",1036:"fr",1148:"moh",10250:"es-PE",9217:"ar-YE",5132:"fr-LU",1104:"mn",20490:"es-PR",1067:"hy",6156:"fr-MC",2128:"mn-CN",3082:"es",1101:"as",4108:"fr-CH",1121:"ne",1034:"es",2092:"az-Cyrl",1122:"fy",1044:"nb",21514:"es-US",1068:"az",1110:"gl",2068:"nn",14346:"es-UY",1133:"ba",1079:"ka",1154:"oc",8202:"es-VE",1069:"eu",3079:"de-AT",1096:"or",2077:"sv-FI",1059:"be",1031:"de",1123:"ps",1053:"sv",2117:"bn",5127:"de-LI",1045:"pl",1114:"syr",1093:"bn-IN",4103:"de-LU",1046:"pt",1064:"tg",8218:"bs-Cyrl",2055:"de-CH",2070:"pt-PT",2143:"tzm",5146:"bs",1032:"el",1094:"pa",1097:"ta",1150:"br",1135:"kl",1131:"qu-BO",1092:"tt",1026:"bg",1095:"gu",2155:"qu-EC",1098:"te",1027:"ca",1128:"ha",3179:"qu",1054:"th",3076:"zh-HK",1037:"he",1048:"ro",1105:"bo",5124:"zh-MO",1081:"hi",1047:"rm",1055:"tr",2052:"zh",1038:"hu",1049:"ru",1090:"tk",4100:"zh-SG",1039:"is",9275:"smn",1152:"ug",1028:"zh-TW",1136:"ig",4155:"smj-NO",1058:"uk",1155:"co",1057:"id",5179:"smj",1070:"hsb",1050:"hr",1117:"iu",3131:"se-FI",1056:"ur",4122:"hr-BA",2141:"iu-Latn",1083:"se",2115:"uz-Cyrl",1029:"cs",2108:"ga",2107:"se-SE",1091:"uz",1030:"da",1076:"xh",8251:"sms",1066:"vi",1164:"prs",1077:"zu",6203:"sma-NO",1106:"cy",1125:"dv",1040:"it",7227:"sms",1160:"wo",2067:"nl-BE",2064:"it-CH",1103:"sa",1157:"sah",1043:"nl",1041:"ja",7194:"sr-Cyrl-BA",1144:"ii",3081:"en-AU",1099:"kn",3098:"sr",1130:"yo",10249:"en-BZ",1087:"kk",6170:"sr-Latn-BA",4105:"en-CA",1107:"km",2074:"sr-Latn",9225:"en-029",1158:"quc",1132:"nso"}],kh=new C({platformID:f,encodingID:f,languageID:f,nameID:f,length:f,string:new w(f,new oe("length",t=>dp(t.platformID,t.encodingID,t.languageID)),{type:"parent",relativeTo:t=>t.parent.stringOffset,allowNull:!1})}),Fx=new C({length:f,tag:new w(f,new oe("length","utf16be"),{type:"parent",relativeTo:t=>t.stringOffset})}),$o=new ee(f,{0:{count:f,stringOffset:f,records:new v(kh,"count")},1:{count:f,stringOffset:f,records:new v(kh,"count"),langTagCount:f,langTags:new v(Fx,"langTagCount")}}),Nx=$o,Vu=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];$o.process=function(t){var e={};for(let n of this.records){let r=Mx[n.platformID][n.languageID];r==null&&this.langTags!=null&&n.languageID>=32768&&(r=this.langTags[n.languageID-32768].tag),r==null&&(r=n.platformID+"-"+n.languageID);let s=n.nameID>=256?"fontFeatures":Vu[n.nameID]||n.nameID;e[s]==null&&(e[s]={});let i=e[s];n.nameID>=256&&(i=i[n.nameID]||(i[n.nameID]={})),(typeof n.string=="string"||typeof i[r]!="string")&&(i[r]=n.string)}this.records=e};$o.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let t=[];for(let e in this.records){let n=this.records[e];e!=="fontFeatures"&&(t.push({platformID:3,encodingID:1,languageID:1033,nameID:Vu.indexOf(e),length:n.en.length*2,string:n.en}),e==="postscriptName"&&t.push({platformID:1,encodingID:0,languageID:0,nameID:Vu.indexOf(e),length:n.en.length,string:n.en}))}this.records=t,this.count=t.length,this.stringOffset=$o.size(this,null,!1)};hp=new ee(f,{header:{xAvgCharWidth:D,usWeightClass:f,usWidthClass:f,fsType:new _e(f,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:D,ySubscriptYSize:D,ySubscriptXOffset:D,ySubscriptYOffset:D,ySuperscriptXSize:D,ySuperscriptYSize:D,ySuperscriptXOffset:D,ySuperscriptYOffset:D,yStrikeoutSize:D,yStrikeoutPosition:D,sFamilyClass:D,panose:new v(U,10),ulCharRange:new v(k,4),vendorID:new oe(4),fsSelection:new _e(f,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:f,usLastCharIndex:f},0:{},1:{typoAscender:D,typoDescender:D,typoLineGap:D,winAscent:f,winDescent:f,codePageRange:new v(k,2)},2:{typoAscender:D,typoDescender:D,typoLineGap:D,winAscent:f,winDescent:f,codePageRange:new v(k,2),xHeight:D,capHeight:D,defaultChar:f,breakChar:f,maxContent:f},5:{typoAscender:D,typoDescender:D,typoLineGap:D,winAscent:f,winDescent:f,codePageRange:new v(k,2),xHeight:D,capHeight:D,defaultChar:f,breakChar:f,maxContent:f,usLowerOpticalPointSize:f,usUpperOpticalPointSize:f}}),Mu=hp.versions;Mu[3]=Mu[4]=Mu[2];Dx=hp,Rx=new ee(me,{header:{italicAngle:me,underlinePosition:D,underlineThickness:D,isFixedPitch:k,minMemType42:k,maxMemType42:k,minMemType1:k,maxMemType1:k},1:{},2:{numberOfGlyphs:f,glyphNameIndex:new v(f,"numberOfGlyphs"),names:new v(new oe(U))},2.5:{numberOfGlyphs:f,offsets:new v(U,"numberOfGlyphs")},3:{},4:{map:new v(k,t=>t.parent.maxp.numGlyphs)}}),Lx=new C({controlValues:new v(D)}),Bx=new C({instructions:new v(U)}),Il=new ee("head.indexToLocFormat",{0:{offsets:new v(f)},1:{offsets:new v(k)}});Il.process=function(){if(this.version===0&&!this._processed){for(let t=0;t<this.offsets.length;t++)this.offsets[t]<<=1;this._processed=!0}};Il.preEncode=function(){if(this.version===0&&this._processed!==!1){for(let t=0;t<this.offsets.length;t++)this.offsets[t]>>>=1;this._processed=!1}};Ux=Il,Vx=new C({controlValueProgram:new v(U)}),_x=new v(new Xe),ut=class{getCFFVersion(e){for(;e&&!e.hdrSize;)e=e.parent;return e?e.version:-1}decode(e,n){let s=this.getCFFVersion(n)>=2?e.readUInt32BE():e.readUInt16BE();if(s===0)return[];let i=e.readUInt8(),o;if(i===1)o=U;else if(i===2)o=f;else if(i===3)o=Dt;else if(i===4)o=k;else throw new Error(`Bad offset size in CFFIndex: ${i} ${e.pos}`);let a=[],u=e.pos+(s+1)*i-1,l=o.decode(e);for(let c=0;c<s;c++){let d=o.decode(e);if(this.type!=null){let h=e.pos;e.pos=u+l,n.length=d-l,a.push(this.type.decode(e,n)),e.pos=h}else a.push({offset:u+l,length:d-l});l=d}return e.pos=u+l,a}size(e,n){let r=2;if(e.length===0)return r;let s=this.type||new Xe,i=1;for(let a=0;a<e.length;a++){let u=e[a];i+=s.size(u,n)}let o;if(i<=255)o=U;else if(i<=65535)o=f;else if(i<=16777215)o=Dt;else if(i<=4294967295)o=k;else throw new Error("Bad offset in CFFIndex");return r+=1+o.size()*(e.length+1),r+=i-1,r}encode(e,n,r){if(e.writeUInt16BE(n.length),n.length===0)return;let s=this.type||new Xe,i=[],o=1;for(let u of n){let l=s.size(u,r);i.push(l),o+=l}let a;if(o<=255)a=U;else if(o<=65535)a=f;else if(o<=16777215)a=Dt;else if(o<=4294967295)a=k;else throw new Error("Bad offset in CFFIndex");e.writeUInt8(a.size()),o=1,a.encode(e,o);for(let u of i)o+=u,a.encode(e,o);for(let u of n)s.encode(e,u,r)}constructor(e){this.type=e}},bs=15,Sh=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],Ch={".":10,E:11,"E-":12,"-":14},vs=class{static decode(e,n){if(32<=n&&n<=246)return n-139;if(247<=n&&n<=250)return(n-247)*256+e.readUInt8()+108;if(251<=n&&n<=254)return-(n-251)*256-e.readUInt8()-108;if(n===28)return e.readInt16BE();if(n===29)return e.readInt32BE();if(n===30){let r="";for(;;){let s=e.readUInt8(),i=s>>4;if(i===bs)break;r+=Sh[i];let o=s&15;if(o===bs)break;r+=Sh[o]}return parseFloat(r)}return null}static size(e){if(e.forceLarge&&(e=32768),(e|0)!==e){let n=""+e;return 1+Math.ceil((n.length+1)/2)}else return-107<=e&&e<=107?1:108<=e&&e<=1131||-1131<=e&&e<=-108?2:-32768<=e&&e<=32767?3:5}static encode(e,n){let r=Number(n);if(n.forceLarge)return e.writeUInt8(29),e.writeInt32BE(r);if((r|0)!==r){e.writeUInt8(30);let i=""+r;for(let o=0;o<i.length;o+=2){let a=i[o],u=Ch[a]||+a;if(o===i.length-1)var s=bs;else{let l=i[o+1];var s=Ch[l]||+l}e.writeUInt8(u<<4|s&15)}if(s!==bs)return e.writeUInt8(bs<<4)}else return-107<=r&&r<=107?e.writeUInt8(r+139):108<=r&&r<=1131?(r-=108,e.writeUInt8((r>>8)+247),e.writeUInt8(r&255)):-1131<=r&&r<=-108?(r=-r-108,e.writeUInt8((r>>8)+251),e.writeUInt8(r&255)):-32768<=r&&r<=32767?(e.writeUInt8(28),e.writeInt16BE(r)):(e.writeUInt8(29),e.writeInt32BE(r))}},Ar=class{decodeOperands(e,n,r,s){if(Array.isArray(e))return s.map((i,o)=>this.decodeOperands(e[o],n,r,[i]));if(e.decode!=null)return e.decode(n,r,s);switch(e){case"number":case"offset":case"sid":return s[0];case"boolean":return!!s[0];default:return s}}encodeOperands(e,n,r,s){return Array.isArray(e)?s.map((i,o)=>this.encodeOperands(e[o],n,r,i)[0]):e.encode!=null?e.encode(n,s,r):typeof s=="number"?[s]:typeof s=="boolean"?[+s]:Array.isArray(s)?s:[s]}decode(e,n){let r=e.pos+n.length,s={},i=[];Object.defineProperties(s,{parent:{value:n},_startOffset:{value:e.pos}});for(let o in this.fields){let a=this.fields[o];s[a[1]]=a[3]}for(;e.pos<r;){let o=e.readUInt8();if(o<28){o===12&&(o=o<<8|e.readUInt8());let a=this.fields[o];if(!a)throw new Error(`Unknown operator ${o}`);let u=this.decodeOperands(a[2],e,s,i);u!=null&&(u instanceof Qt?Object.defineProperty(s,a[1],u):s[a[1]]=u),i=[]}else i.push(vs.decode(e,o))}return s}size(e,n,r=!0){let s={parent:n,val:e,pointerSize:0,startOffset:n.startOffset||0},i=0;for(let o in this.fields){let a=this.fields[o],u=e[a[1]];if(u==null||(0,Bu.default)(u,a[3]))continue;let l=this.encodeOperands(a[2],null,s,u);for(let d of l)i+=vs.size(d);let c=Array.isArray(a[0])?a[0]:[a[0]];i+=c.length}return r&&(i+=s.pointerSize),i}encode(e,n,r){let s={pointers:[],startOffset:e.pos,parent:r,val:n,pointerSize:0};s.pointerOffset=e.pos+this.size(n,s,!1);for(let o of this.ops){let a=n[o[1]];if(a==null||(0,Bu.default)(a,o[3]))continue;let u=this.encodeOperands(o[2],e,s,a);for(let c of u)vs.encode(e,c);let l=Array.isArray(o[0])?o[0]:[o[0]];for(let c of l)e.writeUInt8(c)}let i=0;for(;i<s.pointers.length;){let o=s.pointers[i++];o.type.encode(e,o.val,o.parent)}}constructor(e=[]){this.ops=e,this.fields={};for(let n of e){let r=Array.isArray(n[0])?n[0][0]<<8|n[0][1]:n[0];this.fields[r]=n}}},Qe=class extends w{decode(e,n,r){return this.offsetType={decode:()=>r[0]},super.decode(e,n,r)}encode(e,n,r){if(!e)return this.offsetType={size:()=>0},this.size(n,r),[new Po(0)];let s=null;return this.offsetType={encode:(i,o)=>s=o},super.encode(e,n,r),[new Po(s)]}constructor(e,n={}){n.type==null&&(n.type="global"),super(null,e,n)}},Po=class{valueOf(){return this.val}constructor(e){this.val=e,this.forceLarge=!0}},_u=class{static decode(e,n,r){let s=r.pop();for(;r.length>s;)r.pop()}},ju=new Ar([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",_u,null],[19,"Subrs",new Qe(new ut,{type:"local"}),null]]),Ao=[".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"],pp=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],jx=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","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","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","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"],mp=[".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"],Gx=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","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","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","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"],zx=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],gp=new C({reserved:new le(f),reqFeatureIndex:f,featureCount:f,featureIndexes:new v(f,"featureCount")}),Wx=new C({tag:new oe(4),langSys:new w(f,gp,{type:"parent"})}),qx=new C({defaultLangSys:new w(f,gp),count:f,langSysRecords:new v(Wx,"count")}),Hx=new C({tag:new oe(4),script:new w(f,qx,{type:"parent"})}),bp=new v(Hx,f),Xx=new C({version:f,nameID:f}),xp=new C({featureParams:new w(f,Xx),lookupCount:f,lookupListIndexes:new v(f,"lookupCount")}),Yx=new C({tag:new oe(4),feature:new w(f,xp,{type:"parent"})}),yp=new v(Yx,f),Kx=new C({markAttachmentType:U,flags:new _e(U,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});Zx=new C({start:f,end:f,startCoverageIndex:f}),ue=new ee(f,{1:{glyphCount:f,glyphs:new v(f,"glyphCount")},2:{rangeCount:f,rangeRecords:new v(Zx,"rangeCount")}}),Jx=new C({start:f,end:f,class:f}),un=new ee(f,{1:{startGlyph:f,glyphCount:f,classValueArray:new v(f,"glyphCount")},2:{classRangeCount:f,classRangeRecord:new v(Jx,"classRangeCount")}}),an=new C({a:f,b:f,deltaFormat:f}),Ps=new C({sequenceIndex:f,lookupListIndex:f}),Qx=new C({glyphCount:f,lookupCount:f,input:new v(f,t=>t.glyphCount-1),lookupRecords:new v(Ps,"lookupCount")}),ey=new v(new w(f,Qx),f),ty=new C({glyphCount:f,lookupCount:f,classes:new v(f,t=>t.glyphCount-1),lookupRecords:new v(Ps,"lookupCount")}),ny=new v(new w(f,ty),f),vp=new ee(f,{1:{coverage:new w(f,ue),ruleSetCount:f,ruleSets:new v(new w(f,ey),"ruleSetCount")},2:{coverage:new w(f,ue),classDef:new w(f,un),classSetCnt:f,classSet:new v(new w(f,ny),"classSetCnt")},3:{glyphCount:f,lookupCount:f,coverages:new v(new w(f,ue),"glyphCount"),lookupRecords:new v(Ps,"lookupCount")}}),ry=new C({backtrackGlyphCount:f,backtrack:new v(f,"backtrackGlyphCount"),inputGlyphCount:f,input:new v(f,t=>t.inputGlyphCount-1),lookaheadGlyphCount:f,lookahead:new v(f,"lookaheadGlyphCount"),lookupCount:f,lookupRecords:new v(Ps,"lookupCount")}),Eh=new v(new w(f,ry),f),wp=new ee(f,{1:{coverage:new w(f,ue),chainCount:f,chainRuleSets:new v(new w(f,Eh),"chainCount")},2:{coverage:new w(f,ue),backtrackClassDef:new w(f,un),inputClassDef:new w(f,un),lookaheadClassDef:new w(f,un),chainCount:f,chainClassSet:new v(new w(f,Eh),"chainCount")},3:{backtrackGlyphCount:f,backtrackCoverage:new v(new w(f,ue),"backtrackGlyphCount"),inputGlyphCount:f,inputCoverage:new v(new w(f,ue),"inputGlyphCount"),lookaheadGlyphCount:f,lookaheadCoverage:new v(new w(f,ue),"lookaheadGlyphCount"),lookupCount:f,lookupRecords:new v(Ps,"lookupCount")}}),ws=new yt(16,"BE",14),sy=new C({startCoord:ws,peakCoord:ws,endCoord:ws}),iy=new C({axisCount:f,regionCount:f,variationRegions:new v(new v(sy,"axisCount"),"regionCount")}),oy=new C({shortDeltas:new v(D,t=>t.parent.shortDeltaCount),regionDeltas:new v(we,t=>t.parent.regionIndexCount-t.parent.shortDeltaCount),deltas:t=>t.shortDeltas.concat(t.regionDeltas)}),ay=new C({itemCount:f,shortDeltaCount:f,regionIndexCount:f,regionIndexes:new v(f,"regionIndexCount"),deltaSets:new v(oy,"itemCount")}),Zo=new C({format:f,variationRegionList:new w(k,iy),variationDataCount:f,itemVariationData:new v(new w(k,ay),"variationDataCount")}),uy=new ee(f,{1:{axisIndex:f,axisIndex:f,filterRangeMinValue:ws,filterRangeMaxValue:ws}}),ly=new C({conditionCount:f,conditionTable:new v(new w(k,uy),"conditionCount")}),cy=new C({featureIndex:f,alternateFeatureTable:new w(k,xp,{type:"parent"})}),fy=new C({version:me,substitutionCount:f,substitutions:new v(cy,"substitutionCount")}),dy=new C({conditionSet:new w(k,ly,{type:"parent"}),featureTableSubstitution:new w(k,fy,{type:"parent"})}),kp=new C({majorVersion:f,minorVersion:f,featureVariationRecordCount:k,featureVariationRecords:new v(dy,"featureVariationRecordCount")}),Fo=class{decode(e,n,r){return this.predefinedOps[r[0]]?this.predefinedOps[r[0]]:this.type.decode(e,n,r)}size(e,n){return this.type.size(e,n)}encode(e,n,r){let s=this.predefinedOps.indexOf(n);return s!==-1?s:this.type.encode(e,n,r)}constructor(e,n){this.predefinedOps=e,this.type=n}},Gu=class extends re{decode(e){return U.decode(e)&127}constructor(){super("UInt8")}},Sp=new C({first:f,nLeft:U}),hy=new C({first:f,nLeft:f}),py=new ee(new Gu,{0:{nCodes:U,codes:new v(U,"nCodes")},1:{nRanges:U,ranges:new v(Sp,"nRanges")}}),my=new Fo([pp,jx],new Qe(py,{lazy:!0})),No=class extends v{decode(e,n){let r=Re(this.length,e,n),s=0,i=[];for(;s<r;){let o=this.type.decode(e,n);o.offset=s,s+=o.nLeft+1,i.push(o)}return i}},gy=new ee(U,{0:{glyphs:new v(f,t=>t.parent.CharStrings.length-1)},1:{ranges:new No(Sp,t=>t.parent.CharStrings.length-1)},2:{ranges:new No(hy,t=>t.parent.CharStrings.length-1)}}),by=new Fo([mp,Gx,zx],new Qe(gy,{lazy:!0})),xy=new C({first:f,fd:U}),yy=new C({first:k,fd:f}),Cp=new ee(U,{0:{fds:new v(U,t=>t.parent.CharStrings.length)},3:{nRanges:f,ranges:new v(xy,"nRanges"),sentinel:f},4:{nRanges:k,ranges:new v(yy,"nRanges"),sentinel:k}}),Fu=new Qe(ju),Do=class{decode(e,n,r){return n.length=r[0],Fu.decode(e,n,[r[1]])}size(e,n){return[ju.size(e,n,!1),Fu.size(e,n)[0]]}encode(e,n,r){return[ju.size(n,r,!1),Fu.encode(e,n,r)[0]]}},Ep=new Ar([[18,"Private",new Do,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),vy=new Ar([[[12,30],"ROS",["sid","sid","number"],null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",by,mp],[16,"Encoding",my,pp],[17,"CharStrings",new Qe(new ut),null],[18,"Private",new Do,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new Qe(Cp),null],[[12,36],"FDArray",new Qe(new ut(Ep)),null],[[12,38],"FontName","sid",null]]),wy=new C({length:f,itemVariationStore:Zo}),ky=new Ar([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new Qe(new ut),null],[[12,37],"FDSelect",new Qe(Cp),null],[[12,36],"FDArray",new Qe(new ut(Ep)),null],[24,"vstore",new Qe(wy),null],[25,"maxstack","number",193]]),Sy=new ee(ed,{1:{hdrSize:U,offSize:U,nameIndex:new ut(new oe("length")),topDictIndex:new ut(vy),stringIndex:new ut(new oe("length")),globalSubrIndex:new ut},2:{hdrSize:U,length:f,topDict:ky,globalSubrIndex:new ut}}),Op=Sy,zu=class t{static decode(e){return new t(e)}decode(){let e=this.stream.pos,n=Op.decode(this.stream);for(let r in n){let s=n[r];this[r]=s}if(this.version<2){if(this.topDictIndex.length!==1)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=this.topDict.ROS!=null,this}string(e){return this.version>=2?null:e<Ao.length?Ao[e]:this.stringIndex[e-Ao.length]}get postscriptName(){return this.version<2?this.nameIndex[0]:null}get fullName(){return this.string(this.topDict.FullName)}get familyName(){return this.string(this.topDict.FamilyName)}getCharString(e){return this.stream.pos=this.topDict.CharStrings[e].offset,this.stream.readBuffer(this.topDict.CharStrings[e].length)}getGlyphName(e){if(this.version>=2||this.isCIDFont)return null;let{charset:n}=this.topDict;if(Array.isArray(n))return n[e];if(e===0)return".notdef";switch(e-=1,n.version){case 0:return this.string(n.glyphs[e]);case 1:case 2:for(let r=0;r<n.ranges.length;r++){let s=n.ranges[r];if(s.offset<=e&&e<=s.offset+s.nLeft)return this.string(s.first+(e-s.offset))}break}return null}fdForGlyph(e){if(!this.topDict.FDSelect)return null;switch(this.topDict.FDSelect.version){case 0:return this.topDict.FDSelect.fds[e];case 3:case 4:let{ranges:n}=this.topDict.FDSelect,r=0,s=n.length-1;for(;r<=s;){let i=r+s>>1;if(e<n[i].first)s=i-1;else if(i<s&&e>=n[i+1].first)r=i+1;else return n[i].fd}default:throw new Error(`Unknown FDSelect version: ${this.topDict.FDSelect.version}`)}}privateDictForGlyph(e){if(this.topDict.FDSelect){let n=this.fdForGlyph(e);return this.topDict.FDArray[n]?this.topDict.FDArray[n].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private}constructor(e){this.stream=e,this.decode()}},Ap=zu,Cy=new C({glyphIndex:f,vertOriginY:D}),Ey=new C({majorVersion:f,minorVersion:f,defaultVertOriginY:D,numVertOriginYMetrics:f,metrics:new v(Cy,"numVertOriginYMetrics")}),Er=new C({height:U,width:U,horiBearingX:we,horiBearingY:we,horiAdvance:U,vertBearingX:we,vertBearingY:we,vertAdvance:U}),vo=new C({height:U,width:U,bearingX:we,bearingY:we,advance:U}),Oh=new C({glyph:f,xOffset:we,yOffset:we}),Ro=class{},ks=class{},HE=new ee("version",{1:{metrics:vo,data:Ro},2:{metrics:vo,data:ks},5:{data:ks},6:{metrics:Er,data:Ro},7:{metrics:Er,data:ks},8:{metrics:vo,pad:new le(U),numComponents:f,components:new v(Oh,"numComponents")},9:{metrics:Er,pad:new le(U),numComponents:f,components:new v(Oh,"numComponents")},17:{metrics:vo,dataLen:k,data:new Xe("dataLen")},18:{metrics:Er,dataLen:k,data:new Xe("dataLen")},19:{dataLen:k,data:new Xe("dataLen")}}),Ah=new C({ascender:we,descender:we,widthMax:U,caretSlopeNumerator:we,caretSlopeDenominator:we,caretOffset:we,minOriginSB:we,minAdvanceSB:we,maxBeforeBL:we,minAfterBL:we,pad:new le(we,2)}),Oy=new C({glyphCode:f,offset:f}),Ay=new ee(f,{header:{imageFormat:f,imageDataOffset:k},1:{offsetArray:new v(k,t=>t.parent.lastGlyphIndex-t.parent.firstGlyphIndex+1)},2:{imageSize:k,bigMetrics:Er},3:{offsetArray:new v(f,t=>t.parent.lastGlyphIndex-t.parent.firstGlyphIndex+1)},4:{numGlyphs:k,glyphArray:new v(Oy,t=>t.numGlyphs+1)},5:{imageSize:k,bigMetrics:Er,numGlyphs:k,glyphCodeArray:new v(f,"numGlyphs")}}),Iy=new C({firstGlyphIndex:f,lastGlyphIndex:f,subtable:new w(k,Ay)}),Ty=new C({indexSubTableArray:new w(k,new v(Iy,1),{type:"parent"}),indexTablesSize:k,numberOfIndexSubTables:k,colorRef:k,hori:Ah,vert:Ah,startGlyphIndex:f,endGlyphIndex:f,ppemX:U,ppemY:U,bitDepth:U,flags:new _e(U,["horizontal","vertical"])}),$y=new C({version:k,numSizes:k,sizes:new v(Ty,"numSizes")}),Py=new C({ppem:f,resolution:f,imageOffsets:new v(new w(k,"void"),t=>t.parent.parent.maxp.numGlyphs+1)}),My=new C({version:f,flags:new _e(f,["renderOutlines"]),numImgTables:k,imageTables:new v(new w(k,Py),"numImgTables")}),Fy=new C({gid:f,paletteIndex:f}),Ny=new C({gid:f,firstLayerIndex:f,numLayers:f}),Dy=new C({version:f,numBaseGlyphRecords:f,baseGlyphRecord:new w(k,new v(Ny,"numBaseGlyphRecords")),layerRecords:new w(k,new v(Fy,"numLayerRecords"),{lazy:!0}),numLayerRecords:f}),Ry=new C({blue:U,green:U,red:U,alpha:U}),Ly=new ee(f,{header:{numPaletteEntries:f,numPalettes:f,numColorRecords:f,colorRecords:new w(k,new v(Ry,"numColorRecords")),colorRecordIndices:new v(f,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new w(k,new v(k,"numPalettes")),offsetPaletteLabelArray:new w(k,new v(f,"numPalettes")),offsetPaletteEntryLabelArray:new w(k,new v(f,"numPaletteEntries"))}}),Es=new ee(f,{1:{coordinate:D},2:{coordinate:D,referenceGlyph:f,baseCoordPoint:f},3:{coordinate:D,deviceTable:new w(f,an)}}),By=new C({defaultIndex:f,baseCoordCount:f,baseCoords:new v(new w(f,Es),"baseCoordCount")}),Uy=new C({tag:new oe(4),minCoord:new w(f,Es,{type:"parent"}),maxCoord:new w(f,Es,{type:"parent"})}),Ip=new C({minCoord:new w(f,Es),maxCoord:new w(f,Es),featMinMaxCount:f,featMinMaxRecords:new v(Uy,"featMinMaxCount")}),Vy=new C({tag:new oe(4),minMax:new w(f,Ip,{type:"parent"})}),_y=new C({baseValues:new w(f,By),defaultMinMax:new w(f,Ip),baseLangSysCount:f,baseLangSysRecords:new v(Vy,"baseLangSysCount")}),jy=new C({tag:new oe(4),script:new w(f,_y,{type:"parent"})}),Gy=new v(jy,f),zy=new v(new oe(4),f),Ih=new C({baseTagList:new w(f,zy),baseScriptList:new w(f,Gy)}),Wy=new ee(k,{header:{horizAxis:new w(f,Ih),vertAxis:new w(f,Ih)},65536:{},65537:{itemVariationStore:new w(k,Zo)}}),qy=new v(f,f),Hy=new C({coverage:new w(f,ue),glyphCount:f,attachPoints:new v(new w(f,qy),"glyphCount")}),Xy=new ee(f,{1:{coordinate:D},2:{caretValuePoint:f},3:{coordinate:D,deviceTable:new w(f,an)}}),Yy=new v(new w(f,Xy),f),Ky=new C({coverage:new w(f,ue),ligGlyphCount:f,ligGlyphs:new v(new w(f,Yy),"ligGlyphCount")}),Th=new C({markSetTableFormat:f,markSetCount:f,coverage:new v(new w(k,ue),"markSetCount")}),Zy=new ee(k,{header:{glyphClassDef:new w(f,un),attachList:new w(f,Hy),ligCaretList:new w(f,Ky),markAttachClassDef:new w(f,un)},65536:{},65538:{markGlyphSetsDef:new w(f,Th)},65539:{markGlyphSetsDef:new w(f,Th),itemVariationStore:new w(k,Zo)}}),Sr=new _e(f,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),Jy={xPlacement:D,yPlacement:D,xAdvance:D,yAdvance:D,xPlaDevice:new w(f,an,{type:"global",relativeTo:t=>t.rel}),yPlaDevice:new w(f,an,{type:"global",relativeTo:t=>t.rel}),xAdvDevice:new w(f,an,{type:"global",relativeTo:t=>t.rel}),yAdvDevice:new w(f,an,{type:"global",relativeTo:t=>t.rel})},cn=class{buildStruct(e){let n=e;for(;!n[this.key]&&n.parent;)n=n.parent;if(!n[this.key])return;let r={};r.rel=()=>n._startOffset;let s=n[this.key];for(let i in s)s[i]&&(r[i]=Jy[i]);return new C(r)}size(e,n){return this.buildStruct(n).size(e,n)}decode(e,n){let r=this.buildStruct(n).decode(e,n);return delete r.rel,r}constructor(e="valueFormat"){this.key=e}},Qy=new C({secondGlyph:f,value1:new cn("valueFormat1"),value2:new cn("valueFormat2")}),e3=new v(Qy,f),t3=new C({value1:new cn("valueFormat1"),value2:new cn("valueFormat2")}),Os=new ee(f,{1:{xCoordinate:D,yCoordinate:D},2:{xCoordinate:D,yCoordinate:D,anchorPoint:f},3:{xCoordinate:D,yCoordinate:D,xDeviceTable:new w(f,an),yDeviceTable:new w(f,an)}}),n3=new C({entryAnchor:new w(f,Os,{type:"parent"}),exitAnchor:new w(f,Os,{type:"parent"})}),r3=new C({class:f,markAnchor:new w(f,Os,{type:"parent"})}),Nu=new v(r3,f),s3=new v(new w(f,Os),t=>t.parent.classCount),$h=new v(s3,f),i3=new v(new w(f,Os),t=>t.parent.parent.classCount),o3=new v(i3,f),a3=new v(new w(f,o3),f),As=new ee("lookupType",{1:new ee(f,{1:{coverage:new w(f,ue),valueFormat:Sr,value:new cn},2:{coverage:new w(f,ue),valueFormat:Sr,valueCount:f,values:new ae(new cn,"valueCount")}}),2:new ee(f,{1:{coverage:new w(f,ue),valueFormat1:Sr,valueFormat2:Sr,pairSetCount:f,pairSets:new ae(new w(f,e3),"pairSetCount")},2:{coverage:new w(f,ue),valueFormat1:Sr,valueFormat2:Sr,classDef1:new w(f,un),classDef2:new w(f,un),class1Count:f,class2Count:f,classRecords:new ae(new ae(t3,"class2Count"),"class1Count")}}),3:{format:f,coverage:new w(f,ue),entryExitCount:f,entryExitRecords:new v(n3,"entryExitCount")},4:{format:f,markCoverage:new w(f,ue),baseCoverage:new w(f,ue),classCount:f,markArray:new w(f,Nu),baseArray:new w(f,$h)},5:{format:f,markCoverage:new w(f,ue),ligatureCoverage:new w(f,ue),classCount:f,markArray:new w(f,Nu),ligatureArray:new w(f,a3)},6:{format:f,mark1Coverage:new w(f,ue),mark2Coverage:new w(f,ue),classCount:f,mark1Array:new w(f,Nu),mark2Array:new w(f,$h)},7:vp,8:wp,9:{posFormat:f,lookupType:f,extension:new w(k,null)}});As.versions[9].extension.type=As;u3=new ee(k,{header:{scriptList:new w(f,bp),featureList:new w(f,yp),lookupList:new w(f,new Mo(As))},65536:{},65537:{featureVariations:new w(k,kp)}}),Tp=new v(f,f),l3=Tp,c3=new C({glyph:f,compCount:f,components:new v(f,t=>t.compCount-1)}),f3=new v(new w(f,c3),f),Wu=new ee("lookupType",{1:new ee(f,{1:{coverage:new w(f,ue),deltaGlyphID:D},2:{coverage:new w(f,ue),glyphCount:f,substitute:new ae(f,"glyphCount")}}),2:{substFormat:f,coverage:new w(f,ue),count:f,sequences:new ae(new w(f,Tp),"count")},3:{substFormat:f,coverage:new w(f,ue),count:f,alternateSet:new ae(new w(f,l3),"count")},4:{substFormat:f,coverage:new w(f,ue),count:f,ligatureSets:new ae(new w(f,f3),"count")},5:vp,6:wp,7:{substFormat:f,lookupType:f,extension:new w(k,null)},8:{substFormat:f,coverage:new w(f,ue),backtrackCoverage:new v(new w(f,ue),"backtrackGlyphCount"),lookaheadGlyphCount:f,lookaheadCoverage:new v(new w(f,ue),"lookaheadGlyphCount"),glyphCount:f,substitutes:new v(f,"glyphCount")}});Wu.versions[7].extension.type=Wu;d3=new ee(k,{header:{scriptList:new w(f,bp),featureList:new w(f,yp),lookupList:new w(f,new Mo(Wu))},65536:{},65537:{featureVariations:new w(k,kp)}}),sn=new v(f,f),h3=new C({shrinkageEnableGSUB:new w(f,sn),shrinkageDisableGSUB:new w(f,sn),shrinkageEnableGPOS:new w(f,sn),shrinkageDisableGPOS:new w(f,sn),shrinkageJstfMax:new w(f,new Mo(As)),extensionEnableGSUB:new w(f,sn),extensionDisableGSUB:new w(f,sn),extensionEnableGPOS:new w(f,sn),extensionDisableGPOS:new w(f,sn),extensionJstfMax:new w(f,new Mo(As))}),$p=new v(new w(f,h3),f),p3=new C({tag:new oe(4),jstfLangSys:new w(f,$p)}),m3=new C({extenderGlyphs:new w(f,new v(f,f)),defaultLangSys:new w(f,$p),langSysCount:f,langSysRecords:new v(p3,"langSysCount")}),g3=new C({tag:new oe(4),script:new w(f,m3,{type:"parent"})}),b3=new C({version:k,scriptCount:f,scriptList:new v(g3,"scriptCount")}),qu=class{decode(e,n){switch(this.size(0,n)){case 1:return e.readUInt8();case 2:return e.readUInt16BE();case 3:return e.readUInt24BE();case 4:return e.readUInt32BE()}}size(e,n){return Re(this._size,null,n)}constructor(e){this._size=e}},x3=new C({entry:new qu(t=>((t.parent.entryFormat&48)>>4)+1),outerIndex:t=>t.entry>>(t.parent.entryFormat&15)+1,innerIndex:t=>t.entry&(1<<(t.parent.entryFormat&15)+1)-1}),Du=new C({entryFormat:f,mapCount:f,mapData:new v(x3,"mapCount")}),y3=new C({majorVersion:f,minorVersion:f,itemVariationStore:new w(k,Zo),advanceWidthMapping:new w(k,Du),LSBMapping:new w(k,Du),RSBMapping:new w(k,Du)}),v3=new C({format:k,length:k,offset:k}),w3=new C({reserved:new le(f,2),cbSignature:k,signature:new Xe("cbSignature")}),k3=new C({ulVersion:k,usNumSigs:f,usFlag:f,signatures:new v(v3,"usNumSigs"),signatureBlocks:new v(w3,"usNumSigs")}),S3=new C({rangeMaxPPEM:f,rangeGaspBehavior:new _e(f,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])}),C3=new C({version:f,numRanges:f,gaspRanges:new v(S3,"numRanges")}),E3=new C({pixelSize:U,maximumWidth:U,widths:new v(U,t=>t.parent.parent.maxp.numGlyphs)}),O3=new C({version:f,numRecords:D,sizeDeviceRecord:Jt,records:new v(E3,"numRecords")}),A3=new C({left:f,right:f,value:D}),Ph=new C({firstGlyph:f,nGlyphs:f,offsets:new v(f,"nGlyphs"),max:t=>t.offsets.length&&Math.max.apply(Math,t.offsets)}),I3=new C({off:t=>t._startOffset-t.parent.parent._startOffset,len:t=>((t.parent.leftTable.max-t.off)/t.parent.rowWidth+1)*(t.parent.rowWidth/2),values:new ae(D,"len")}),Mh=new ee("format",{0:{nPairs:f,searchRange:f,entrySelector:f,rangeShift:f,pairs:new v(A3,"nPairs")},2:{rowWidth:f,leftTable:new w(f,Ph,{type:"parent"}),rightTable:new w(f,Ph,{type:"parent"}),array:new w(f,I3,{type:"parent"})},3:{glyphCount:f,kernValueCount:U,leftClassCount:U,rightClassCount:U,flags:U,kernValue:new v(D,"kernValueCount"),leftClass:new v(U,"glyphCount"),rightClass:new v(U,"glyphCount"),kernIndex:new v(U,t=>t.leftClassCount*t.rightClassCount)}}),Fh=new ee("version",{0:{subVersion:f,length:f,format:U,coverage:new _e(U,["horizontal","minimum","crossStream","override"]),subtable:Mh,padding:new le(U,t=>t.length-t._currentOffset)},1:{length:k,coverage:new _e(U,[null,null,null,null,null,"variation","crossStream","vertical"]),format:U,tupleIndex:f,subtable:Mh,padding:new le(U,t=>t.length-t._currentOffset)}}),T3=new ee(f,{0:{nTables:f,tables:new v(Fh,"nTables")},1:{reserved:new le(f),nTables:k,tables:new v(Fh,"nTables")}}),$3=new C({version:f,numGlyphs:f,yPels:new v(U,"numGlyphs")}),P3=new C({version:f,fontNumber:k,pitch:f,xHeight:f,style:f,typeFamily:f,capHeight:f,symbolSet:f,typeface:new oe(16),characterComplement:new oe(8),fileName:new oe(6),strokeWeight:new oe(1),widthType:new oe(1),serifStyle:U,reserved:new le(U)}),M3=new C({bCharSet:U,xRatio:U,yStartRatio:U,yEndRatio:U}),F3=new C({yPelHeight:f,yMax:D,yMin:D}),N3=new C({recs:f,startsz:U,endsz:U,entries:new v(F3,"recs")}),D3=new C({version:f,numRecs:f,numRatios:f,ratioRanges:new v(M3,"numRatios"),offsets:new v(f,"numRatios"),groups:new v(N3,"numRecs")}),R3=new C({version:f,ascent:D,descent:D,lineGap:D,advanceHeightMax:D,minTopSideBearing:D,minBottomSideBearing:D,yMaxExtent:D,caretSlopeRise:D,caretSlopeRun:D,caretOffset:D,reserved:new le(D,4),metricDataFormat:D,numberOfMetrics:f}),L3=new C({advance:f,bearing:D}),B3=new C({metrics:new ae(L3,t=>t.parent.vhea.numberOfMetrics),bearings:new ae(D,t=>t.parent.maxp.numGlyphs-t.parent.vhea.numberOfMetrics)}),Nh=new yt(16,"BE",14),U3=new C({fromCoord:Nh,toCoord:Nh}),V3=new C({pairCount:f,correspondence:new v(U3,"pairCount")}),_3=new C({version:me,axisCount:k,segment:new v(V3,"axisCount")}),Hu=class{getItem(e){if(this._items[e]==null){let n=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*e,this._items[e]=this.type.decode(this.stream,this.parent),this.stream.pos=n}return this._items[e]}inspect(){return`[UnboundedArray ${this.type.constructor.name}]`}constructor(e,n,r){this.type=e,this.stream=n,this.parent=r,this.base=this.stream.pos,this._items=[]}},lt=class extends v{decode(e,n){return new Hu(this.type,e,n)}constructor(e){super(e,0)}},fn=function(t=f){class e{decode(a,u){return u=u.parent.parent,this.type.decode(a,u)}size(a,u){return u=u.parent.parent,this.type.size(a,u)}encode(a,u,l){return l=l.parent.parent,this.type.encode(a,u,l)}constructor(a){this.type=a}}t=new e(t);let n=new C({unitSize:f,nUnits:f,searchRange:f,entrySelector:f,rangeShift:f}),r=new C({lastGlyph:f,firstGlyph:f,value:t}),s=new C({lastGlyph:f,firstGlyph:f,values:new w(f,new v(t,o=>o.lastGlyph-o.firstGlyph+1),{type:"parent"})}),i=new C({glyph:f,value:t});return new ee(f,{0:{values:new lt(t)},2:{binarySearchHeader:n,segments:new v(r,o=>o.binarySearchHeader.nUnits)},4:{binarySearchHeader:n,segments:new v(s,o=>o.binarySearchHeader.nUnits)},6:{binarySearchHeader:n,segments:new v(i,o=>o.binarySearchHeader.nUnits)},8:{firstGlyph:f,count:f,values:new v(t,"count")}})};G3=new ee("format",{0:{deltas:new v(D,32)},1:{deltas:new v(D,32),mappingData:new fn(f)},2:{standardGlyph:f,controlPoints:new v(f,32)},3:{standardGlyph:f,controlPoints:new v(f,32),mappingData:new fn(f)}}),z3=new C({version:me,format:f,defaultBaseline:f,subtable:G3}),W3=new C({setting:f,nameIndex:D,name:t=>t.parent.parent.parent.name.records.fontFeatures[t.nameIndex]}),q3=new C({feature:f,nSettings:f,settingTable:new w(k,new v(W3,"nSettings"),{type:"parent"}),featureFlags:new _e(U,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:U,nameIndex:D,name:t=>t.parent.parent.name.records.fontFeatures[t.nameIndex]}),H3=new C({version:me,featureNameCount:f,reserved1:new le(f),reserved2:new le(k),featureNames:new v(q3,"featureNameCount")}),X3=new C({axisTag:new oe(4),minValue:me,defaultValue:me,maxValue:me,flags:f,nameID:f,name:t=>t.parent.parent.name.records.fontFeatures[t.nameID]}),Y3=new C({nameID:f,name:t=>t.parent.parent.name.records.fontFeatures[t.nameID],flags:f,coord:new v(me,t=>t.parent.axisCount),postscriptNameID:new en(f,t=>t.parent.instanceSize-t._currentOffset>0)}),K3=new C({version:me,offsetToData:f,countSizePairs:f,axisCount:f,axisSize:f,instanceCount:f,instanceSize:f,axis:new v(X3,"axisCount"),instance:new v(Y3,"instanceCount")}),Z3=new yt(16,"BE",14),Xu=class{static decode(e,n){return n.flags?e.readUInt32BE():e.readUInt16BE()*2}},J3=new C({version:f,reserved:new le(f),axisCount:f,globalCoordCount:f,globalCoords:new w(k,new v(new v(Z3,"axisCount"),"globalCoordCount")),glyphCount:f,flags:f,offsetToData:k,offsets:new v(new w(Xu,"void",{relativeTo:t=>t.offsetToData,allowNull:!1}),t=>t.glyphCount+1)}),Q3=J3,ev=new C({length:f,coverage:f,subFeatureFlags:k,stateTable:new j3}),tv=new C({justClass:k,beforeGrowLimit:me,beforeShrinkLimit:me,afterGrowLimit:me,afterShrinkLimit:me,growFlags:f,shrinkFlags:f}),nv=new v(tv,k),rv=new ee("actionType",{0:{lowerLimit:me,upperLimit:me,order:f,glyphs:new v(f,f)},1:{addGlyph:f},2:{substThreshold:me,addGlyph:f,substGlyph:f},3:{},4:{variationAxis:k,minimumLimit:me,noStretchValue:me,maximumLimit:me},5:{flags:f,glyph:f}}),sv=new C({actionClass:f,actionType:f,actionLength:k,actionData:rv,padding:new le(U,t=>t.actionLength-t._currentOffset)}),iv=new v(sv,k),ov=new C({lookupTable:new fn(new w(f,iv))}),Dh=new C({classTable:new w(f,ev,{type:"parent"}),wdcOffset:f,postCompensationTable:new w(f,ov,{type:"parent"}),widthDeltaClusters:new fn(new w(f,nv,{type:"parent",relativeTo:t=>t.wdcOffset}))}),av=new C({version:k,format:f,horizontal:new w(f,Dh),vertical:new w(f,Dh)}),uv={action:f},lv={markIndex:f,currentIndex:f},cv={currentInsertIndex:f,markedInsertIndex:f},fv=new C({items:new lt(new w(k,new fn))}),dv=new ee("type",{0:{stateTable:new wo},1:{stateTable:new wo(lv),substitutionTable:new w(k,fv)},2:{stateTable:new wo(uv),ligatureActions:new w(k,new lt(k)),components:new w(k,new lt(f)),ligatureList:new w(k,new lt(f))},4:{lookupTable:new fn},5:{stateTable:new wo(cv),insertionActions:new w(k,new lt(f))}}),hv=new C({length:k,coverage:Dt,type:U,subFeatureFlags:k,table:dv,padding:new le(U,t=>t.length-t._currentOffset)}),pv=new C({featureType:f,featureSetting:f,enableFlags:k,disableFlags:k}),mv=new C({defaultFlags:k,chainLength:k,nFeatureEntries:k,nSubtables:k,features:new v(pv,"nFeatureEntries"),subtables:new v(hv,"nSubtables")}),gv=new C({version:f,unused:new le(f),nChains:k,chains:new v(mv,"nChains")}),bv=new C({left:D,top:D,right:D,bottom:D}),xv=new C({version:me,format:f,lookupTable:new fn(bv)}),J={},Lo=J;J.cmap=kx;J.head=Sx;J.hhea=Cx;J.hmtx=Ox;J.maxp=Ax;J.name=Nx;J["OS/2"]=Dx;J.post=Rx;J.fpgm=Bx;J.loca=Ux;J.prep=Vx;J["cvt "]=Lx;J.glyf=_x;J["CFF "]=Ap;J.CFF2=Ap;J.VORG=Ey;J.EBLC=$y;J.CBLC=J.EBLC;J.sbix=My;J.COLR=Dy;J.CPAL=Ly;J.BASE=Wy;J.GDEF=Zy;J.GPOS=u3;J.GSUB=d3;J.JSTF=b3;J.HVAR=y3;J.DSIG=k3;J.gasp=C3;J.hdmx=O3;J.kern=T3;J.LTSH=$3;J.PCLT=P3;J.VDMX=D3;J.vhea=R3;J.vmtx=B3;J.avar=_3;J.bsln=z3;J.feat=H3;J.fvar=K3;J.gvar=Q3;J.just=av;J.morx=gv;J.opbd=xv;yv=new C({tag:new oe(4),checkSum:k,offset:new w(k,"void",{type:"global"}),length:k}),Tl=new C({tag:new oe(4),numTables:f,searchRange:f,entrySelector:f,rangeShift:f,tables:new v(yv,"numTables")});Tl.process=function(){let t={};for(let e of this.tables)t[e.tag]=e;this.tables=t};Tl.preEncode=function(){if(!Array.isArray(this.tables)){let n=[];for(let r in this.tables){let s=this.tables[r];s&&n.push({tag:r,checkSum:0,offset:new mr(Lo[r],s),length:Lo[r].size(s)})}this.tables=n}this.tag="true",this.numTables=this.tables.length;let t=Math.floor(Math.log(this.numTables)/Math.LN2),e=Math.pow(2,t);this.searchRange=e*16,this.entrySelector=Math.log(e)/Math.LN2,this.rangeShift=this.numTables*16-this.searchRange};Pp=Tl;Jo=new TextDecoder("ascii"),Rh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ys=new Uint8Array(256);for(let t=0;t<Rh.length;t++)ys[Rh.charCodeAt(t)]=t;Is=class{findSubtable(e,n){for(let[r,s]of n)for(let i of e.tables)if(i.platformID===r&&i.encodingID===s)return i.table;return null}lookup(e,n){if(this.encoding)e=this.encoding.get(e)||e;else if(n){let s=this.getVariationSelector(e,n);if(s)return s}let r=this.cmap;switch(r.version){case 0:return r.codeMap.get(e)||0;case 4:{let s=0,i=r.segCount-1;for(;s<=i;){let o=s+i>>1;if(e<r.startCode.get(o))i=o-1;else if(e>r.endCode.get(o))s=o+1;else{let a=r.idRangeOffset.get(o),u;if(a===0)u=e+r.idDelta.get(o);else{let l=a/2+(e-r.startCode.get(o))-(r.segCount-o);u=r.glyphIndexArray.get(l)||0,u!==0&&(u+=r.idDelta.get(o))}return u&65535}}return 0}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return r.glyphIndices.get(e-r.firstCode)||0;case 12:case 13:{let s=0,i=r.nGroups-1;for(;s<=i;){let o=s+i>>1,a=r.groups.get(o);if(e<a.startCharCode)i=o-1;else if(e>a.endCharCode)s=o+1;else return r.version===12?a.glyphID+(e-a.startCharCode):a.glyphID}return 0}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${r.version}`)}}getVariationSelector(e,n){if(!this.uvs)return 0;let r=this.uvs.varSelectors.toArray(),s=Io(r,o=>n-o.varSelector),i=r[s];return s!==-1&&i.defaultUVS&&(s=Io(i.defaultUVS,o=>e<o.startUnicodeValue?-1:e>o.startUnicodeValue+o.additionalCount?1:0)),s!==-1&&i.nonDefaultUVS&&(s=Io(i.nonDefaultUVS,o=>e-o.unicodeValue),s!==-1)?i.nonDefaultUVS[s].glyphID:0}getCharacterSet(){let e=this.cmap;switch(e.version){case 0:return Cr(0,e.codeMap.length);case 4:{let n=[],r=e.endCode.toArray();for(let s=0;s<r.length;s++){let i=r[s]+1,o=e.startCode.get(s);n.push(...Cr(o,i))}return n}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return Cr(e.firstCode,e.firstCode+e.glyphIndices.length);case 12:case 13:{let n=[];for(let r of e.groups.toArray())n.push(...Cr(r.startCharCode,r.endCharCode+1));return n}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${e.version}`)}}codePointsForGlyph(e){let n=this.cmap;switch(n.version){case 0:{let s=[];for(let i=0;i<256;i++)n.codeMap.get(i)===e&&s.push(i);return s}case 4:{let s=[];for(let i=0;i<n.segCount;i++){let o=n.endCode.get(i),a=n.startCode.get(i),u=n.idRangeOffset.get(i),l=n.idDelta.get(i);for(var r=a;r<=o;r++){let c=0;if(u===0)c=r+l;else{let d=u/2+(r-a)-(n.segCount-i);c=n.glyphIndexArray.get(d)||0,c!==0&&(c+=l)}c===e&&s.push(r)}}return s}case 12:{let s=[];for(let i of n.groups.toArray())e>=i.glyphID&&e<=i.glyphID+(i.endCharCode-i.startCharCode)&&s.push(i.startCharCode+(e-i.glyphID));return s}case 13:{let s=[];for(let i of n.groups.toArray())e===i.glyphID&&s.push(...Cr(i.startCharCode,i.endCharCode+1));return s}default:throw new Error(`Unknown cmap format ${n.version}`)}}constructor(e){if(this.encoding=null,this.cmap=this.findSubtable(e,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap)for(let n of e.tables){let r=dp(n.platformID,n.encodingID,n.table.language-1),s=$x(r);s&&(this.cmap=n.table,this.encoding=s)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(e,[[0,5]]),this.uvs&&this.uvs.version!==14&&(this.uvs=null)}};Ce([Me],Is.prototype,"getCharacterSet",null);Ce([Me],Is.prototype,"codePointsForGlyph",null);Yu=class{process(e,n){for(let r=0;r<e.length-1;r++){let s=e[r].id,i=e[r+1].id;n[r].xAdvance+=this.getKerning(s,i)}}getKerning(e,n){let r=0;for(let s of this.kern.tables){if(s.coverage.crossStream)continue;switch(s.version){case 0:if(!s.coverage.horizontal)continue;break;case 1:if(s.coverage.vertical||s.coverage.variation)continue;break;default:throw new Error(`Unsupported kerning table version ${s.version}`)}let i=0,o=s.subtable;switch(s.format){case 0:let a=Io(o.pairs,function(d){return e-d.left||n-d.right});a>=0&&(i=o.pairs[a].value);break;case 2:let u=0,l=0;e>=o.leftTable.firstGlyph&&e<o.leftTable.firstGlyph+o.leftTable.nGlyphs?u=o.leftTable.offsets[e-o.leftTable.firstGlyph]:u=o.array.off,n>=o.rightTable.firstGlyph&&n<o.rightTable.firstGlyph+o.rightTable.nGlyphs&&(l=o.rightTable.offsets[n-o.rightTable.firstGlyph]);let c=(u+l-o.array.off)/2;i=o.array.values.get(c);break;case 3:if(e>=o.glyphCount||n>=o.glyphCount)return 0;i=o.kernValue[o.kernIndex[o.leftClass[e]*o.rightClassCount+o.rightClass[n]]];break;default:throw new Error(`Unsupported kerning sub-table format ${s.format}`)}s.coverage.override?r=i:r+=i}return r}constructor(e){this.kern=e.kern}},Ku=class{positionGlyphs(e,n){let r=0,s=0;for(let i=0;i<e.length;i++)e[i].isMark?s=i:(r!==s&&this.positionCluster(e,n,r,s),r=s=i);return r!==s&&this.positionCluster(e,n,r,s),n}positionCluster(e,n,r,s){let i=e[r],o=i.cbox.copy();i.codePoints.length>1&&(o.minX+=(i.codePoints.length-1)*o.width/i.codePoints.length);let a=-n[r].xAdvance,u=0,l=this.font.unitsPerEm/16;for(let c=r+1;c<=s;c++){let d=e[c],h=d.cbox,p=n[c],m=this.getCombiningClass(d.codePoints[0]);if(m!=="Not_Reordered"){switch(p.xOffset=p.yOffset=0,m){case"Double_Above":case"Double_Below":p.xOffset+=o.minX-h.width/2-h.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":p.xOffset+=o.minX-h.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":p.xOffset+=o.maxX-h.width-h.minX;break;default:p.xOffset+=o.minX+(o.width-h.width)/2-h.minX}switch(m){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":(m==="Attached_Below_Left"||m==="Attached_Below")&&(o.minY+=l),p.yOffset=-o.minY-h.maxY,o.minY+=h.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":(m==="Attached_Above"||m==="Attached_Above_Right")&&(o.maxY+=l),p.yOffset=o.maxY-h.minY,o.maxY+=h.height;break}p.xAdvance=p.yAdvance=0,p.xOffset+=a,p.yOffset+=u}else a-=p.xAdvance,u-=p.yAdvance}}getCombiningClass(e){let n=Ud(e);if((e&-256)===3584){if(n==="Not_Reordered")switch(e){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(e===3642)return"Below_Right"}switch(n){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":return"Below";case"CCC23":return"Attached_Above";case"CCC24":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":return"Above";case"CCC21":break;case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":return"Above";case"CCC29":case"CCC32":return"Below";case"CCC103":return"Below_Right";case"CCC107":return"Above_Right";case"CCC118":return"Below";case"CCC122":return"Above";case"CCC129":case"CCC132":return"Below";case"CCC130":return"Above"}return n}constructor(e){this.font=e}},dn=class t{get width(){return this.maxX-this.minX}get height(){return this.maxY-this.minY}addPoint(e,n){Math.abs(e)!==1/0&&(e<this.minX&&(this.minX=e),e>this.maxX&&(this.maxX=e)),Math.abs(n)!==1/0&&(n<this.minY&&(this.minY=n),n>this.maxY&&(this.maxY=n))}copy(){return new t(this.minX,this.minY,this.maxX,this.maxY)}constructor(e=1/0,n=1/0,r=-1/0,s=-1/0){this.minX=e,this.minY=n,this.maxX=r,this.maxY=s}},Ir={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},Zu={};for(let t in Ir){let e=Ir[t];if(Array.isArray(e))for(let n of e)Zu[n]=t;else Zu[e]=t}Sv={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0};Ju=class{get advanceWidth(){let e=0;for(let n of this.positions)e+=n.xAdvance;return e}get advanceHeight(){let e=0;for(let n of this.positions)e+=n.yAdvance;return e}get bbox(){let e=new dn,n=0,r=0;for(let s=0;s<this.glyphs.length;s++){let i=this.glyphs[s],o=this.positions[s],a=i.bbox;e.addPoint(a.minX+n+o.xOffset,a.minY+r+o.yOffset),e.addPoint(a.maxX+n+o.xOffset,a.maxY+r+o.yOffset),n+=o.xAdvance,r+=o.yAdvance}return e}constructor(e,n,r,s,i){if(this.glyphs=e,this.positions=null,this.script=r,this.language=s||null,this.direction=i||Mp(r),this.features={},Array.isArray(n))for(let o of n)this.features[o]=!0;else typeof n=="object"&&(this.features=n)}},Qu=class{constructor(e=0,n=0,r=0,s=0){this.xAdvance=e,this.yAdvance=n,this.xOffset=r,this.yOffset=s}},jn={allTypographicFeatures:{code:0,exclusive:!1,allTypeFeatures:0},ligatures:{code:1,exclusive:!1,requiredLigatures:0,commonLigatures:2,rareLigatures:4,rebusPictures:8,diphthongLigatures:10,squaredLigatures:12,abbrevSquaredLigatures:14,symbolLigatures:16,contextualLigatures:18,historicalLigatures:20},cursiveConnection:{code:2,exclusive:!0,unconnected:0,partiallyConnected:1,cursive:2},letterCase:{code:3,exclusive:!0},verticalSubstitution:{code:4,exclusive:!1,substituteVerticalForms:0},linguisticRearrangement:{code:5,exclusive:!1,linguisticRearrangement:0},numberSpacing:{code:6,exclusive:!0,monospacedNumbers:0,proportionalNumbers:1,thirdWidthNumbers:2,quarterWidthNumbers:3},smartSwash:{code:8,exclusive:!1,wordInitialSwashes:0,wordFinalSwashes:2,nonFinalSwashes:8},diacritics:{code:9,exclusive:!0,showDiacritics:0,hideDiacritics:1,decomposeDiacritics:2},verticalPosition:{code:10,exclusive:!0,normalPosition:0,superiors:1,inferiors:2,ordinals:3,scientificInferiors:4},fractions:{code:11,exclusive:!0,noFractions:0,verticalFractions:1,diagonalFractions:2},overlappingCharacters:{code:13,exclusive:!1,preventOverlap:0},typographicExtras:{code:14,exclusive:!1,slashedZero:4},mathematicalExtras:{code:15,exclusive:!1,mathematicalGreek:10},ornamentSets:{code:16,exclusive:!0,noOrnaments:0,dingbats:1,piCharacters:2,fleurons:3,decorativeBorders:4,internationalSymbols:5,mathSymbols:6},characterAlternatives:{code:17,exclusive:!0,noAlternates:0},designComplexity:{code:18,exclusive:!0,designLevel1:0,designLevel2:1,designLevel3:2,designLevel4:3,designLevel5:4},styleOptions:{code:19,exclusive:!0,noStyleOptions:0,displayText:1,engravedText:2,illuminatedCaps:3,titlingCaps:4,tallCaps:5},characterShape:{code:20,exclusive:!0,traditionalCharacters:0,simplifiedCharacters:1,JIS1978Characters:2,JIS1983Characters:3,JIS1990Characters:4,traditionalAltOne:5,traditionalAltTwo:6,traditionalAltThree:7,traditionalAltFour:8,traditionalAltFive:9,expertCharacters:10,JIS2004Characters:11,hojoCharacters:12,NLCCharacters:13,traditionalNamesCharacters:14},numberCase:{code:21,exclusive:!0,lowerCaseNumbers:0,upperCaseNumbers:1},textSpacing:{code:22,exclusive:!0,proportionalText:0,monospacedText:1,halfWidthText:2,thirdWidthText:3,quarterWidthText:4,altProportionalText:5,altHalfWidthText:6},transliteration:{code:23,exclusive:!0,noTransliteration:0},annotation:{code:24,exclusive:!0,noAnnotation:0,boxAnnotation:1,roundedBoxAnnotation:2,circleAnnotation:3,invertedCircleAnnotation:4,parenthesisAnnotation:5,periodAnnotation:6,romanNumeralAnnotation:7,diamondAnnotation:8,invertedBoxAnnotation:9,invertedRoundedBoxAnnotation:10},kanaSpacing:{code:25,exclusive:!0,fullWidthKana:0,proportionalKana:1},ideographicSpacing:{code:26,exclusive:!0,fullWidthIdeographs:0,proportionalIdeographs:1,halfWidthIdeographs:2},unicodeDecomposition:{code:27,exclusive:!1,canonicalComposition:0,compatibilityComposition:2,transcodingComposition:4},rubyKana:{code:28,exclusive:!1,rubyKana:2},CJKSymbolAlternatives:{code:29,exclusive:!0,noCJKSymbolAlternatives:0,CJKSymbolAltOne:1,CJKSymbolAltTwo:2,CJKSymbolAltThree:3,CJKSymbolAltFour:4,CJKSymbolAltFive:5},ideographicAlternatives:{code:30,exclusive:!0,noIdeographicAlternatives:0,ideographicAltOne:1,ideographicAltTwo:2,ideographicAltThree:3,ideographicAltFour:4,ideographicAltFive:5},CJKVerticalRomanPlacement:{code:31,exclusive:!0,CJKVerticalRomanCentered:0,CJKVerticalRomanHBaseline:1},italicCJKRoman:{code:32,exclusive:!1,CJKItalicRoman:2},caseSensitiveLayout:{code:33,exclusive:!1,caseSensitiveLayout:0,caseSensitiveSpacing:2},alternateKana:{code:34,exclusive:!1,alternateHorizKana:0,alternateVertKana:2},stylisticAlternatives:{code:35,exclusive:!1,noStylisticAlternates:0,stylisticAltOne:2,stylisticAltTwo:4,stylisticAltThree:6,stylisticAltFour:8,stylisticAltFive:10,stylisticAltSix:12,stylisticAltSeven:14,stylisticAltEight:16,stylisticAltNine:18,stylisticAltTen:20,stylisticAltEleven:22,stylisticAltTwelve:24,stylisticAltThirteen:26,stylisticAltFourteen:28,stylisticAltFifteen:30,stylisticAltSixteen:32,stylisticAltSeventeen:34,stylisticAltEighteen:36,stylisticAltNineteen:38,stylisticAltTwenty:40},contextualAlternates:{code:36,exclusive:!1,contextualAlternates:0,swashAlternates:2,contextualSwashAlternates:4},lowerCase:{code:37,exclusive:!0,defaultLowerCase:0,lowerCaseSmallCaps:1,lowerCasePetiteCaps:2},upperCase:{code:38,exclusive:!0,defaultUpperCase:0,upperCaseSmallCaps:1,upperCasePetiteCaps:2},languageTag:{code:39,exclusive:!0},CJKRomanSpacing:{code:103,exclusive:!0,halfWidthCJKRoman:0,proportionalCJKRoman:1,defaultCJKRoman:2,fullWidthCJKRoman:3}},V=(t,e)=>[jn[t].code,jn[t][e]],Bo={rlig:V("ligatures","requiredLigatures"),clig:V("ligatures","contextualLigatures"),dlig:V("ligatures","rareLigatures"),hlig:V("ligatures","historicalLigatures"),liga:V("ligatures","commonLigatures"),hist:V("ligatures","historicalLigatures"),smcp:V("lowerCase","lowerCaseSmallCaps"),pcap:V("lowerCase","lowerCasePetiteCaps"),frac:V("fractions","diagonalFractions"),dnom:V("fractions","diagonalFractions"),numr:V("fractions","diagonalFractions"),afrc:V("fractions","verticalFractions"),case:V("caseSensitiveLayout","caseSensitiveLayout"),ccmp:V("unicodeDecomposition","canonicalComposition"),cpct:V("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:V("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:V("contextualAlternates","swashAlternates"),cswh:V("contextualAlternates","contextualSwashAlternates"),curs:V("cursiveConnection","cursive"),c2pc:V("upperCase","upperCasePetiteCaps"),c2sc:V("upperCase","upperCaseSmallCaps"),init:V("smartSwash","wordInitialSwashes"),fin2:V("smartSwash","wordFinalSwashes"),medi:V("smartSwash","nonFinalSwashes"),med2:V("smartSwash","nonFinalSwashes"),fin3:V("smartSwash","wordFinalSwashes"),fina:V("smartSwash","wordFinalSwashes"),pkna:V("kanaSpacing","proportionalKana"),half:V("textSpacing","halfWidthText"),halt:V("textSpacing","altHalfWidthText"),hkna:V("alternateKana","alternateHorizKana"),vkna:V("alternateKana","alternateVertKana"),ital:V("italicCJKRoman","CJKItalicRoman"),lnum:V("numberCase","upperCaseNumbers"),onum:V("numberCase","lowerCaseNumbers"),mgrk:V("mathematicalExtras","mathematicalGreek"),calt:V("contextualAlternates","contextualAlternates"),vrt2:V("verticalSubstitution","substituteVerticalForms"),vert:V("verticalSubstitution","substituteVerticalForms"),tnum:V("numberSpacing","monospacedNumbers"),pnum:V("numberSpacing","proportionalNumbers"),sups:V("verticalPosition","superiors"),subs:V("verticalPosition","inferiors"),ordn:V("verticalPosition","ordinals"),pwid:V("textSpacing","proportionalText"),hwid:V("textSpacing","halfWidthText"),qwid:V("textSpacing","quarterWidthText"),twid:V("textSpacing","thirdWidthText"),fwid:V("textSpacing","proportionalText"),palt:V("textSpacing","altProportionalText"),trad:V("characterShape","traditionalCharacters"),smpl:V("characterShape","simplifiedCharacters"),jp78:V("characterShape","JIS1978Characters"),jp83:V("characterShape","JIS1983Characters"),jp90:V("characterShape","JIS1990Characters"),jp04:V("characterShape","JIS2004Characters"),expt:V("characterShape","expertCharacters"),hojo:V("characterShape","hojoCharacters"),nlck:V("characterShape","NLCCharacters"),tnam:V("characterShape","traditionalNamesCharacters"),ruby:V("rubyKana","rubyKana"),titl:V("styleOptions","titlingCaps"),zero:V("typographicExtras","slashedZero"),ss01:V("stylisticAlternatives","stylisticAltOne"),ss02:V("stylisticAlternatives","stylisticAltTwo"),ss03:V("stylisticAlternatives","stylisticAltThree"),ss04:V("stylisticAlternatives","stylisticAltFour"),ss05:V("stylisticAlternatives","stylisticAltFive"),ss06:V("stylisticAlternatives","stylisticAltSix"),ss07:V("stylisticAlternatives","stylisticAltSeven"),ss08:V("stylisticAlternatives","stylisticAltEight"),ss09:V("stylisticAlternatives","stylisticAltNine"),ss10:V("stylisticAlternatives","stylisticAltTen"),ss11:V("stylisticAlternatives","stylisticAltEleven"),ss12:V("stylisticAlternatives","stylisticAltTwelve"),ss13:V("stylisticAlternatives","stylisticAltThirteen"),ss14:V("stylisticAlternatives","stylisticAltFourteen"),ss15:V("stylisticAlternatives","stylisticAltFifteen"),ss16:V("stylisticAlternatives","stylisticAltSixteen"),ss17:V("stylisticAlternatives","stylisticAltSeventeen"),ss18:V("stylisticAlternatives","stylisticAltEighteen"),ss19:V("stylisticAlternatives","stylisticAltNineteen"),ss20:V("stylisticAlternatives","stylisticAltTwenty")};for(let t=1;t<=99;t++)Bo[`cv${`00${t}`.slice(-2)}`]=[jn.characterAlternatives.code,t];Gn={};for(let t in Bo){let e=Bo[t];Gn[e[0]]==null&&(Gn[e[0]]={}),Gn[e[0]][e[1]]=t}zn=class{lookup(e){switch(this.table.version){case 0:return this.table.values.getItem(e);case 2:case 4:{let s=0,i=this.table.binarySearchHeader.nUnits-1;for(;s<=i;){var n=s+i>>1,r=this.table.segments[n];if(r.firstGlyph===65535)return null;if(e<r.firstGlyph)i=n-1;else if(e>r.lastGlyph)s=n+1;else return this.table.version===2?r.value:r.values[e-r.firstGlyph]}return null}case 6:{let s=0,i=this.table.binarySearchHeader.nUnits-1;for(;s<=i;){var n=s+i>>1,r=this.table.segments[n];if(r.glyph===65535)return null;if(e<r.glyph)i=n-1;else if(e>r.glyph)s=n+1;else return r.value}return null}case 8:return this.table.values[e-this.table.firstGlyph];default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}}glyphsForValue(e){let n=[];switch(this.table.version){case 2:case 4:for(let r of this.table.segments)if(this.table.version===2&&r.value===e)n.push(...Cr(r.firstGlyph,r.lastGlyph+1));else for(let s=0;s<r.values.length;s++)r.values[s]===e&&n.push(r.firstGlyph+s);break;case 6:for(let r of this.table.segments)r.value===e&&n.push(r.glyph);break;case 8:for(let r=0;r<this.table.values.length;r++)this.table.values[r]===e&&n.push(this.table.firstGlyph+r);break;default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}return n}constructor(e){this.table=e}};Ce([Me],zn.prototype,"glyphsForValue",null);Ov=0,Bh=0,Uh=1,Vh=2,Av=16384,el=class{process(e,n,r){let s=Ov,i=n?e.length-1:0,o=n?-1:1;for(;o===1&&i<=e.length||o===-1&&i>=-1;){let a=null,u=Uh,l=!0;i===e.length||i===-1?u=Bh:(a=e[i],a.id===65535?u=Vh:(u=this.lookupTable.lookup(a.id),u==null&&(u=Uh)));let d=this.stateTable.stateArray.getItem(s)[u],h=this.stateTable.entryTable.getItem(d);u!==Bh&&u!==Vh&&(r(a,h,i),l=!(h.flags&Av)),s=h.newState,l&&(i+=o)}return e}traverse(e,n=0,r=new Set){if(r.has(n))return;r.add(n);let{nClasses:s,stateArray:i,entryTable:o}=this.stateTable,a=i.getItem(n);for(let u=4;u<s;u++){let l=a[u],c=o.getItem(l);for(let d of this.lookupTable.glyphsForValue(u))e.enter&&e.enter(d,c),c.newState!==0&&this.traverse(e,c.newState,r),e.exit&&e.exit(d,c)}}constructor(e){this.stateTable=e,this.lookupTable=new zn(e.classTable)}},Iv=32768,Tv=8192,$v=15,_h=32768,Pv=32768,Mv=8192,Fv=2147483648,Nv=1073741824,Dv=1073741823,jh=4194304,Rv=2048,Lv=1024,Bv=992,Uv=31,Uo=class{process(e,n={}){for(let s of this.morx.chains){let i=s.defaultFlags;for(let o of s.features){let a;(a=n[o.featureType])&&(a[o.featureSetting]?(i&=o.disableFlags,i|=o.enableFlags):a[o.featureSetting]===!1&&(i|=~o.disableFlags,i&=~o.enableFlags))}for(let o of s.subtables)o.subFeatureFlags&i&&this.processSubtable(o,e)}let r=e.length-1;for(;r>=0;)e[r].id===65535&&e.splice(r,1),r--;return e}processSubtable(e,n){if(this.subtable=e,this.glyphs=n,this.subtable.type===4){this.processNoncontextualSubstitutions(this.subtable,this.glyphs);return}this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let r=this.getStateMachine(e),s=this.getProcessor(),i=!!(this.subtable.coverage&jh);return r.process(this.glyphs,i,s)}getStateMachine(e){return new el(e.table.stateTable)}getProcessor(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw new Error(`Invalid morx subtable type: ${this.subtable.type}`)}}processIndicRearragement(e,n,r){n.flags&Iv&&(this.firstGlyph=r),n.flags&Tv&&(this.lastGlyph=r),Vv(this.glyphs,n.flags&$v,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(e,n,r){let s=this.subtable.table.substitutionTable.items;if(n.markIndex!==65535){let o=s.getItem(n.markIndex),a=new zn(o);e=this.glyphs[this.markedGlyph];var i=a.lookup(e.id);i&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(i,e.codePoints))}if(n.currentIndex!==65535){let o=s.getItem(n.currentIndex),a=new zn(o);e=this.glyphs[r];var i=a.lookup(e.id);i&&(this.glyphs[r]=this.font.getGlyph(i,e.codePoints))}n.flags&_h&&(this.markedGlyph=r)}processLigature(e,n,r){if(n.flags&Pv&&this.ligatureStack.push(r),n.flags&Mv){let s=this.subtable.table.ligatureActions,i=this.subtable.table.components,o=this.subtable.table.ligatureList,a=n.action,u=!1,l=0,c=[],d=[];for(;!u;){let h=this.ligatureStack.pop();c.unshift(...this.glyphs[h].codePoints);let p=s.getItem(a++);u=!!(p&Fv);let m=!!(p&Nv),x=(p&Dv)<<2>>2;x+=this.glyphs[h].id;let S=i.getItem(x);if(l+=S,u||m){let O=o.getItem(l);this.glyphs[h]=this.font.getGlyph(O,c),d.push(h),l=0,c=[]}else this.glyphs[h]=this.font.getGlyph(65535)}this.ligatureStack.push(...d)}}processNoncontextualSubstitutions(e,n,r){let s=new zn(e.table.lookupTable);for(r=0;r<n.length;r++){let i=n[r];if(i.id!==65535){let o=s.lookup(i.id);o&&(n[r]=this.font.getGlyph(o,i.codePoints))}}}_insertGlyphs(e,n,r,s){let i=[];for(;r--;){let o=this.subtable.table.insertionActions.getItem(n++);i.push(this.font.getGlyph(o))}s||e++,this.glyphs.splice(e,0,...i)}processGlyphInsertion(e,n,r){if(n.flags&_h&&(this.markedIndex=r),n.markedInsertIndex!==65535){let s=(n.flags&Uv)>>>5,i=!!(n.flags&Lv);this._insertGlyphs(this.markedIndex,n.markedInsertIndex,s,i)}if(n.currentInsertIndex!==65535){let s=(n.flags&Bv)>>>5,i=!!(n.flags&Rv);this._insertGlyphs(r,n.currentInsertIndex,s,i)}}getSupportedFeatures(){let e=[];for(let n of this.morx.chains)for(let r of n.features)e.push([r.featureType,r.featureSetting]);return e}generateInputs(e){return this.inputCache||this.generateInputCache(),this.inputCache[e]||[]}generateInputCache(){this.inputCache={};for(let e of this.morx.chains){let n=e.defaultFlags;for(let r of e.subtables)r.subFeatureFlags&n&&this.generateInputsForSubtable(r)}}generateInputsForSubtable(e){if(e.type!==2)return;if(!!(e.coverage&jh))throw new Error("Reverse subtable, not supported.");this.subtable=e,this.ligatureStack=[];let r=this.getStateMachine(e),s=this.getProcessor(),i=[],o=[];this.glyphs=[],r.traverse({enter:(a,u)=>{let l=this.glyphs;o.push({glyphs:l.slice(),ligatureStack:this.ligatureStack.slice()});let c=this.font.getGlyph(a);i.push(c),l.push(i[i.length-1]),s(l[l.length-1],u,l.length-1);let d=0,h=0;for(let p=0;p<l.length&&d<=1;p++)l[p].id!==65535&&(d++,h=l[p].id);if(d===1){let p=i.map(x=>x.id),m=this.inputCache[h];m?m.push(p):this.inputCache[h]=[p]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=o.pop()),i.pop()}})}constructor(e){this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=e,this.morx=e.morx,this.inputCache=null}};Ce([Me],Uo.prototype,"getStateMachine",null);tl=class{substitute(e){e.direction==="rtl"&&e.glyphs.reverse(),this.morxProcessor.process(e.glyphs,Cv(e.features))}getAvailableFeatures(e,n){return Ev(this.morxProcessor.getSupportedFeatures())}stringsForGlyph(e){let n=this.morxProcessor.generateInputs(e),r=new Set;for(let s of n)this._addStrings(s,0,r,"");return r}_addStrings(e,n,r,s){let i=this.font._cmapProcessor.codePointsForGlyph(e[n]);for(let o of i){let a=s+String.fromCodePoint(o);n<e.length-1?this._addStrings(e,n+1,r,a):r.add(a)}}constructor(e){this.font=e,this.morxProcessor=new Uo(e),this.fallbackPosition=!1}},nl=class{_addFeatures(e,n){let r=this.stages.length-1,s=this.stages[r];for(let i of e)this.allFeatures[i]==null&&(s.push(i),this.allFeatures[i]=r,n&&(this.globalFeatures[i]=!0))}add(e,n=!0){if(this.stages.length===0&&this.stages.push([]),typeof e=="string"&&(e=[e]),Array.isArray(e))this._addFeatures(e,n);else if(typeof e=="object")this._addFeatures(e.global||[],!0),this._addFeatures(e.local||[],!1);else throw new Error("Unsupported argument to ShapingPlan#add")}addStage(e,n){typeof e=="function"?this.stages.push(e,[]):(this.stages.push([]),this.add(e,n))}setFeatureOverrides(e){if(Array.isArray(e))this.add(e);else if(typeof e=="object"){for(let n in e)if(e[n])this.add(n);else if(this.allFeatures[n]!=null){let r=this.stages[this.allFeatures[n]];r.splice(r.indexOf(n),1),delete this.allFeatures[n],delete this.globalFeatures[n]}}}assignGlobalFeatures(e){for(let n of e)for(let r in this.globalFeatures)n.features[r]=!0}process(e,n,r){for(let s of this.stages)typeof s=="function"?r||s(this.font,n,this):s.length>0&&e.applyFeatures(s,n,r)}constructor(e,n,r){this.font=e,this.script=n,this.direction=r,this.stages=[],this.globalFeatures={},this.allFeatures={}}},_v=["rvrn"],jv=["ccmp","locl","rlig","mark","mkmk"],Gv=["frac","numr","dnom"],zv=["calt","clig","liga","rclt","curs","kern"],Wv={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]},Ot=class{static plan(e,n,r){this.planPreprocessing(e),this.planFeatures(e),this.planPostprocessing(e,r),e.assignGlobalFeatures(n),this.assignFeatures(e,n)}static planPreprocessing(e){e.add({global:[..._v,...Wv[e.direction]],local:Gv})}static planFeatures(e){}static planPostprocessing(e,n){e.add([...jv,...zv]),e.setFeatureOverrides(n)}static assignFeatures(e,n){for(let r=0;r<n.length;r++){let s=n[r];if(s.codePoints[0]===8260){let i=r,o=r+1;for(;i>0&&hu(n[i-1].codePoints[0]);)n[i-1].features.numr=!0,n[i-1].features.frac=!0,i--;for(;o<n.length&&hu(n[o].codePoints[0]);)n[o].features.dnom=!0,n[o].features.frac=!0,o++;s.features.frac=!0,r=o-1}}}};je(Ot,"zeroMarkWidths","AFTER_GPOS");qv=new Yo.default($l("APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCYaEcygEiqBQ4FAkCE4ikUgMiiBJSAgSiUQSDMn9L9eSl6bddddug9t7yS/trevre+3r27pcNxZiG+yCfdCVv/9LeQxOwRm4AJegD27ALbgD9+ABPJF+z+BN/h7yDj5k/VOWX6SdmU5+wLWknggxDxaS8u0qiiX4uiz9XamQ3wzDMAzDMAzDMAzDVI/h959V/v7BMAzDMAzDMLlyNTNiMSdewVxbiA44B4/guz1qW58VYlMI0WsJ0W+N6kXw0spvPtdwhtkwnGM6uLaV4Xyzg3v3PM9DPfQ/sOg4xPWjipy31P8LTqbU304c/cLCUmWJLNB2Uz2U1KTeRKNmKHVMfbJC+/0loTZRH/W5cvEvBJPMbREkWt3FD1NcqXZBSpuE2Ad0PBehPtNrPtIEdYP+hiRt/V1jIiE69X4NT/uVZI3PUHE9bm5M7ePGdZWy951v7Nn6j8v1WWKP3mt6ttnsigx6VN7Vc0VomSSGqW2mGNP1muZPl7LfjNUaKNFtDGVf2fvE9O7VlBS5j333c5p/eeoOqcs1R/hIqDWLJ7TTlksirVT1SI7l8k4Yp+g3jafGcrU1RM6l9th80XOpnlN97bDNY4i4s61B0Si/ipa0uHMl6zqEjlFfCZm/TM8KmzQDjmuTAQ==")),Gh=["isol","fina","fin2","fin3","medi","med2","init"],rl={Non_Joining:0,Left_Joining:1,Right_Joining:2,Dual_Joining:3,Join_Causing:3,ALAPH:4,"DALATH RISH":5,Transparent:6},fe="isol",on="fina",Ru="fin2",Hv="fin3",ko="medi",So="med2",Co="init",ie=null,Xv=[[[ie,ie,0],[ie,fe,2],[ie,fe,1],[ie,fe,2],[ie,fe,1],[ie,fe,6]],[[ie,ie,0],[ie,fe,2],[ie,fe,1],[ie,fe,2],[ie,Ru,5],[ie,fe,6]],[[ie,ie,0],[ie,fe,2],[Co,on,1],[Co,on,3],[Co,on,4],[Co,on,6]],[[ie,ie,0],[ie,fe,2],[ko,on,1],[ko,on,3],[ko,on,4],[ko,on,6]],[[ie,ie,0],[ie,fe,2],[So,fe,1],[So,fe,2],[So,Ru,5],[So,fe,6]],[[ie,ie,0],[ie,fe,2],[fe,fe,1],[fe,fe,2],[fe,Ru,5],[fe,fe,6]],[[ie,ie,0],[ie,fe,2],[ie,fe,1],[ie,fe,2],[ie,Hv,5],[ie,fe,6]]],Ct=class extends Ot{static planFeatures(e){e.add(["ccmp","locl"]);for(let n=0;n<Gh.length;n++){let r=Gh[n];e.addStage(r,!1)}e.addStage("mset")}static assignFeatures(e,n){super.assignFeatures(e,n);let r=-1,s=0,i=[];for(let a=0;a<n.length;a++){let u,l;var o=n[a];let c=Yv(o.codePoints[0]);if(c===rl.Transparent){i[a]=ie;continue}[l,u,s]=Xv[s][c],l!==ie&&r!==-1&&(i[r]=l),i[a]=u,r=a}for(let a=0;a<n.length;a++){let u;var o=n[a];(u=i[a])&&(o.features[u]=!0)}}};sl=class{reset(e={},n=0){this.options=e,this.flags=e.flags||{},this.markAttachmentType=e.markAttachmentType||0,this.index=n}get cur(){return this.glyphs[this.index]||null}shouldIgnore(e){return this.flags.ignoreMarks&&e.isMark||this.flags.ignoreBaseGlyphs&&e.isBase||this.flags.ignoreLigatures&&e.isLigature||this.markAttachmentType&&e.isMark&&e.markAttachmentType!==this.markAttachmentType}move(e){for(this.index+=e;0<=this.index&&this.index<this.glyphs.length&&this.shouldIgnore(this.glyphs[this.index]);)this.index+=e;return 0>this.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]}next(){return this.move(1)}prev(){return this.move(-1)}peek(e=1){let n=this.index,r=this.increment(e);return this.index=n,r}peekIndex(e=1){let n=this.index;this.increment(e);let r=this.index;return this.index=n,r}increment(e=1){let n=e<0?-1:1;for(e=Math.abs(e);e--;)this.move(n);return this.glyphs[this.index]}constructor(e,n){this.glyphs=e,this.reset(n)}},Kv=["DFLT","dflt","latn"],Tr=class{findScript(e){if(this.table.scriptList==null)return null;Array.isArray(e)||(e=[e]);for(let n of e)for(let r of this.table.scriptList)if(r.tag===n)return r;return null}selectScript(e,n,r){let s=!1,i;if(!this.script||e!==this.scriptTag){if(i=this.findScript(e),i||(i=this.findScript(Kv)),!i)return this.scriptTag;this.scriptTag=i.tag,this.script=i.script,this.language=null,this.languageTag=null,s=!0}if((!r||r!==this.direction)&&(this.direction=r||Mp(e)),n&&n.length<4&&(n+=" ".repeat(4-n.length)),!n||n!==this.languageTag){this.language=null;for(let o of this.script.langSysRecords)if(o.tag===n){this.language=o.langSys,this.languageTag=o.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),s=!0}if(s&&(this.features={},this.language))for(let o of this.language.featureIndexes){let a=this.table.featureList[o],u=this.substituteFeatureForVariations(o);this.features[a.tag]=u||a.feature}return this.scriptTag}lookupsForFeatures(e=[],n){let r=[];for(let s of e){let i=this.features[s];if(i)for(let o of i.lookupListIndexes)n&&n.indexOf(o)!==-1||r.push({feature:s,index:o,lookup:this.table.lookupList.get(o)})}return r.sort((s,i)=>s.index-i.index),r}substituteFeatureForVariations(e){if(this.variationsIndex===-1)return null;let r=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions;for(let s of r)if(s.featureIndex===e)return s.alternateFeatureTable;return null}findVariationsIndex(e){let n=this.table.featureVariations;if(!n)return-1;let r=n.featureVariationRecords;for(let s=0;s<r.length;s++){let i=r[s].conditionSet.conditionTable;if(this.variationConditionsMatch(i,e))return s}return-1}variationConditionsMatch(e,n){return e.every(r=>{let s=r.axisIndex<n.length?n[r.axisIndex]:0;return r.filterRangeMinValue<=s&&s<=r.filterRangeMaxValue})}applyFeatures(e,n,r){let s=this.lookupsForFeatures(e);this.applyLookups(s,n,r)}applyLookups(e,n,r){this.glyphs=n,this.positions=r,this.glyphIterator=new sl(n);for(let{feature:s,lookup:i}of e)for(this.currentFeature=s,this.glyphIterator.reset(i.flags);this.glyphIterator.index<n.length;){if(!(s in this.glyphIterator.cur.features)){this.glyphIterator.next();continue}for(let o of i.subTables)if(this.applyLookup(i.lookupType,o))break;this.glyphIterator.next()}}applyLookup(e,n){throw new Error("applyLookup must be implemented by subclasses")}applyLookupList(e){let n=this.glyphIterator.options,r=this.glyphIterator.index;for(let s of e){this.glyphIterator.reset(n,r),this.glyphIterator.increment(s.sequenceIndex);let i=this.table.lookupList.get(s.lookupListIndex);this.glyphIterator.reset(i.flags,this.glyphIterator.index);for(let o of i.subTables)if(this.applyLookup(i.lookupType,o))break}return this.glyphIterator.reset(n,r),!0}coverageIndex(e,n){switch(n==null&&(n=this.glyphIterator.cur.id),e.version){case 1:return e.glyphs.indexOf(n);case 2:for(let r of e.rangeRecords)if(r.start<=n&&n<=r.end)return r.startCoverageIndex+n-r.start;break}return-1}match(e,n,r,s){let i=this.glyphIterator.index,o=this.glyphIterator.increment(e),a=0;for(;a<n.length&&o&&r(n[a],o);)s&&s.push(this.glyphIterator.index),a++,o=this.glyphIterator.next();return this.glyphIterator.index=i,a<n.length?!1:s||!0}sequenceMatches(e,n){return this.match(e,n,(r,s)=>r===s.id)}sequenceMatchIndices(e,n){return this.match(e,n,(r,s)=>this.currentFeature in s.features?r===s.id:!1,[])}coverageSequenceMatches(e,n){return this.match(e,n,(r,s)=>this.coverageIndex(r,s.id)>=0)}getClassID(e,n){switch(n.version){case 1:let r=e-n.startGlyph;if(r>=0&&r<n.classValueArray.length)return n.classValueArray[r];break;case 2:for(let s of n.classRangeRecord)if(s.start<=e&&e<=s.end)return s.class;break}return 0}classSequenceMatches(e,n,r){return this.match(e,n,(s,i)=>s===this.getClassID(i.id,r))}applyContext(e){let n,r;switch(e.version){case 1:if(n=this.coverageIndex(e.coverage),n===-1)return!1;r=e.ruleSets[n];for(let s of r)if(this.sequenceMatches(1,s.input))return this.applyLookupList(s.lookupRecords);break;case 2:if(this.coverageIndex(e.coverage)===-1||(n=this.getClassID(this.glyphIterator.cur.id,e.classDef),n===-1))return!1;r=e.classSet[n];for(let s of r)if(this.classSequenceMatches(1,s.classes,e.classDef))return this.applyLookupList(s.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,e.coverages))return this.applyLookupList(e.lookupRecords);break}return!1}applyChainingContext(e){let n;switch(e.version){case 1:if(n=this.coverageIndex(e.coverage),n===-1)return!1;let r=e.chainRuleSets[n];for(let i of r)if(this.sequenceMatches(-i.backtrack.length,i.backtrack)&&this.sequenceMatches(1,i.input)&&this.sequenceMatches(1+i.input.length,i.lookahead))return this.applyLookupList(i.lookupRecords);break;case 2:if(this.coverageIndex(e.coverage)===-1)return!1;n=this.getClassID(this.glyphIterator.cur.id,e.inputClassDef);let s=e.chainClassSet[n];if(!s)return!1;for(let i of s)if(this.classSequenceMatches(-i.backtrack.length,i.backtrack,e.backtrackClassDef)&&this.classSequenceMatches(1,i.input,e.inputClassDef)&&this.classSequenceMatches(1+i.input.length,i.lookahead,e.lookaheadClassDef))return this.applyLookupList(i.lookupRecords);break;case 3:if(this.coverageSequenceMatches(-e.backtrackGlyphCount,e.backtrackCoverage)&&this.coverageSequenceMatches(0,e.inputCoverage)&&this.coverageSequenceMatches(e.inputGlyphCount,e.lookaheadCoverage))return this.applyLookupList(e.lookupRecords);break}return!1}constructor(e,n){this.font=e,this.table=n,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=e._variationProcessor?this.findVariationsIndex(e._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}},mt=class t{get id(){return this._id}set id(e){this._id=e,this.substituted=!0;let n=this._font.GDEF;if(n&&n.glyphClassDef){let r=Tr.prototype.getClassID(e,n.glyphClassDef);this.isBase=r===1,this.isLigature=r===2,this.isMark=r===3,this.markAttachmentType=n.markAttachClassDef?Tr.prototype.getClassID(e,n.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(pu),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new t(this._font,this.id,this.codePoints,this.features)}constructor(e,n,r=[],s){if(this._font=e,this.codePoints=r,this.id=n,this.features={},Array.isArray(s))for(let i=0;i<s.length;i++){let o=s[i];this.features[o]=!0}else typeof s=="object"&&Object.assign(this.features,s);this.ligatureID=null,this.ligatureComponent=null,this.isLigated=!1,this.cursiveAttachment=null,this.markAttachment=null,this.shaperInfo=null,this.substituted=!1,this.isMultiplied=!1}},Vo=class extends Ot{static planFeatures(e){e.add(["ljmo","vjmo","tjmo"],!1)}static assignFeatures(e,n){let r=0,s=0;for(;s<n.length;){let i,a=n[s].codePoints[0],u=zo(a);switch([i,r]=pw[r][u],i){case Bt:e.font.hasGlyphForCodePoint(a)||(s=Dp(n,s,e.font));break;case il:s=mw(n,s,e.font);break;case ol:bw(n,s,e.font);break;case al:s=xw(n,s,e.font);break}s++}}};je(Vo,"zeroMarkWidths","NONE");$r=44032,Fp=55204,Zv=Fp-$r+1,Qo=4352,ea=4449,ln=4519,Jv=19,_o=21,Ts=28,Qv=Qo+Jv-1,ew=ea+_o-1,tw=ln+Ts-1,zh=9676,nw=t=>4352<=t&&t<=4447||43360<=t&&t<=43388,rw=t=>4448<=t&&t<=4519||55216<=t&&t<=55238,sw=t=>4520<=t&&t<=4607||55243<=t&&t<=55291,iw=t=>12334<=t&&t<=12335,ow=t=>$r<=t&&t<=Fp,aw=t=>t-$r<Zv&&(t-$r)%Ts===0,uw=t=>Qo<=t&&t<=Qv,lw=t=>ea<=t&&t<=ew,cw=t=>ln+1&&1<=t&&t<=tw,fw=0,dw=1,jo=2,Pl=3,Go=4,Np=5,hw=6;Ye=0,Bt=1,il=2,ol=4,al=5,pw=[[[Ye,0],[Ye,1],[Ye,0],[Ye,0],[Bt,2],[Bt,3],[al,0]],[[Ye,0],[Ye,1],[il,2],[Ye,0],[Bt,2],[Bt,3],[al,0]],[[Ye,0],[Ye,1],[Ye,0],[il,3],[Bt,2],[Bt,3],[ol,0]],[[Ye,0],[Ye,1],[Ye,0],[Ye,0],[Bt,2],[Bt,3],[ol,0]]];Rp={};Rp=JSON.parse('{"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,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,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,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,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,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,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,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,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,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,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,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,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,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,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,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,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,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,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,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,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,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,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,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,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,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,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,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,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,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,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,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,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,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,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,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,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,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,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,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,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],"accepting":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],"tags":[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]}');ta={};ta=JSON.parse('{"categories":["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","null","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","M","VS","N","HN","MAbv"],"decompositions":{"2507":[2503,2494],"2508":[2503,2519],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3270,3266,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415],"3546":[3545,3530],"3548":[3545,3535],"3549":[3545,3535,3530],"3550":[3545,3551],"3635":[3661,3634],"3763":[3789,3762],"3955":[3953,3954],"3957":[3953,3956],"3958":[4018,3968],"3959":[4018,3953,3968],"3960":[4019,3968],"3961":[4019,3953,3968],"3969":[3953,3968],"6971":[6970,6965],"6973":[6972,6965],"6976":[6974,6965],"6977":[6975,6965],"6979":[6978,6965],"69934":[69937,69927],"69935":[69938,69927],"70475":[70471,70462],"70476":[70471,70487],"70843":[70841,70842],"70844":[70841,70832],"70846":[70841,70845],"71098":[71096,71087],"71099":[71097,71087]},"stateTable":[[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,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,0,23,0,0,2,0,0,24,0,25],[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,26,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,27,28,0,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,39,0,0,47],[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,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,18,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,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,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,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,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,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,0,0,0,0,0,27,28,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,0,0,0,28,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,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,41,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,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[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,0,0,51,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,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[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,50,0,51,0]],"accepting":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],"tags":[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]}');se={X:1,C:2,V:4,N:8,H:16,ZWNJ:32,ZWJ:64,M:128,SM:256,VD:512,A:1024,Placeholder:2048,Dotted_Circle:4096,RS:8192,Coeng:16384,Repha:32768,Ra:65536,CM:131072,Symbol:262144},Z={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Above_C:64,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},yw=se.C|se.Ra|se.CM|se.V|se.Placeholder|se.Dotted_Circle,Lp=se.ZWJ|se.ZWNJ,Cs=se.H|se.Coeng,Wh={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:Z.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:Z.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:Z.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:Z.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:Z.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:Z.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:Z.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:Z.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:Z.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:Z.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:Z.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},vw={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},{decompositions:ww}=Ko(ta),Bp=new Yo.default($l("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")),kw=new Al.default(Ko(Rp)),ge=class extends Ot{static planFeatures(e){e.addStage(Sw),e.addStage(["locl","ccmp"]),e.addStage(Ew),e.addStage("nukt"),e.addStage("akhn"),e.addStage("rphf",!1),e.addStage("rkrf"),e.addStage("pref",!1),e.addStage("blwf",!1),e.addStage("abvf",!1),e.addStage("half",!1),e.addStage("pstf",!1),e.addStage("vatu"),e.addStage("cjct"),e.addStage("cfar",!1),e.addStage(Ow),e.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),e.unicodeScript=vv(e.script),e.indicConfig=Wh[e.unicodeScript]||Wh.Default,e.isOldSpec=e.indicConfig.hasOldSpec&&e.script[e.script.length-1]!=="2"}static assignFeatures(e,n){for(let r=n.length-1;r>=0;r--){let s=n[r].codePoints[0],i=vw[s]||ww[s];if(i){let o=i.map(a=>{let u=e.font.glyphForCodePoint(a);return new mt(e.font,u.id,[a],n[r].features)});n.splice(r,1,...o)}}}};je(ge,"zeroMarkWidths","NONE");Or=class{constructor(e,n,r,s){this.category=e,this.position=n,this.syllableType=r,this.syllable=s}};({categories:Aw,decompositions:qh}=Ko(ta)),Iw=new Yo.default($l("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")),Tw=new Al.default(Ko(ta)),te=class extends Ot{static planFeatures(e){e.addStage($w),e.addStage(["locl","ccmp","nukt","akhn"]),e.addStage(Xh),e.addStage(["rphf"],!1),e.addStage(Pw),e.addStage(Xh),e.addStage(["pref"]),e.addStage(Mw),e.addStage(["rkrf","abvf","blwf","half","pstf","vatu","cjct"]),e.addStage(Fw),e.addStage(["abvs","blws","pres","psts","dist","abvm","blwm"])}static assignFeatures(e,n){for(let r=n.length-1;r>=0;r--){let s=n[r].codePoints[0];if(qh[s]){let i=qh[s].map(o=>{let a=e.font.glyphForCodePoint(o);return new mt(e.font,a.id,[o],n[r].features)});n.splice(r,1,...i)}}}};je(te,"zeroMarkWidths","BEFORE_GPOS");ll=class{constructor(e,n,r){this.category=e,this.syllableType=n,this.syllable=r}};Nw={arab:Ct,mong:Ct,syrc:Ct,"nko ":Ct,phag:Ct,mand:Ct,mani:Ct,phlp:Ct,hang:Vo,bng2:ge,beng:ge,dev2:ge,deva:ge,gjr2:ge,gujr:ge,guru:ge,gur2:ge,knda:ge,knd2:ge,mlm2:ge,mlym:ge,ory2:ge,orya:ge,taml:ge,tml2:ge,telu:ge,tel2:ge,khmr:ge,bali:te,batk:te,brah:te,bugi:te,buhd:te,cakm:te,cham:te,dupl:te,egyp:te,gran:te,hano:te,java:te,kthi:te,kali:te,khar:te,khoj:te,sind:te,lepc:te,limb:te,mahj:te,mtei:te,modi:te,hmng:te,rjng:te,saur:te,shrd:te,sidd:te,sinh:ge,sund:te,sylo:te,tglg:te,tagb:te,tale:te,lana:te,tavt:te,takr:te,tibt:te,tfng:te,tirh:te,latn:Ot,DFLT:Ot};cl=class extends Tr{applyLookup(e,n){switch(e){case 1:{let s=this.coverageIndex(n.coverage);if(s===-1)return!1;let i=this.glyphIterator.cur;switch(n.version){case 1:i.id=i.id+n.deltaGlyphID&65535;break;case 2:i.id=n.substitute.get(s);break}return!0}case 2:{let s=this.coverageIndex(n.coverage);if(s!==-1){let i=n.sequences.get(s);if(i.length===0)return this.glyphs.splice(this.glyphIterator.index,1),!0;this.glyphIterator.cur.id=i[0],this.glyphIterator.cur.ligatureComponent=0;let o=this.glyphIterator.cur.features,a=this.glyphIterator.cur,u=i.slice(1).map((l,c)=>{let d=new mt(this.font,l,void 0,o);return d.shaperInfo=a.shaperInfo,d.isLigated=a.isLigated,d.ligatureComponent=c+1,d.substituted=!0,d.isMultiplied=!0,d});return this.glyphs.splice(this.glyphIterator.index+1,0,...u),!0}return!1}case 3:{let s=this.coverageIndex(n.coverage);if(s!==-1){let i=0;return this.glyphIterator.cur.id=n.alternateSet.get(s)[i],!0}return!1}case 4:{let s=this.coverageIndex(n.coverage);if(s===-1)return!1;for(let i of n.ligatureSets.get(s)){let o=this.sequenceMatchIndices(1,i.components);if(!o)continue;let a=this.glyphIterator.cur,u=a.codePoints.slice();for(let x of o)u.push(...this.glyphs[x].codePoints);let l=new mt(this.font,i.glyph,u,a.features);l.shaperInfo=a.shaperInfo,l.isLigated=!0,l.substituted=!0;let c=a.isMark;for(let x=0;x<o.length&&c;x++)c=this.glyphs[o[x]].isMark;l.ligatureID=c?null:this.ligatureID++;let d=a.ligatureID,h=a.codePoints.length,p=h,m=this.glyphIterator.index+1;for(let x of o){if(c)m=x;else for(;m<x;){var r=p-h+Math.min(this.glyphs[m].ligatureComponent||1,h);this.glyphs[m].ligatureID=l.ligatureID,this.glyphs[m].ligatureComponent=r,m++}d=this.glyphs[m].ligatureID,h=this.glyphs[m].codePoints.length,p+=h,m++}if(d&&!c)for(let x=m;x<this.glyphs.length&&this.glyphs[x].ligatureID===d;x++){var r=p-h+Math.min(this.glyphs[x].ligatureComponent||1,h);this.glyphs[x].ligatureComponent=r}for(let x=o.length-1;x>=0;x--)this.glyphs.splice(o[x],1);return this.glyphs[this.glyphIterator.index]=l,!0}return!1}case 5:return this.applyContext(n);case 6:return this.applyChainingContext(n);case 7:return this.applyLookup(n.lookupType,n.extension);default:throw new Error(`GSUB lookupType ${e} is not supported`)}}},fl=class extends Tr{applyPositionValue(e,n){let r=this.positions[this.glyphIterator.peekIndex(e)];n.xAdvance!=null&&(r.xAdvance+=n.xAdvance),n.yAdvance!=null&&(r.yAdvance+=n.yAdvance),n.xPlacement!=null&&(r.xOffset+=n.xPlacement),n.yPlacement!=null&&(r.yOffset+=n.yPlacement);let s=this.font._variationProcessor,i=this.font.GDEF&&this.font.GDEF.itemVariationStore;s&&i&&(n.xPlaDevice&&(r.xOffset+=s.getDelta(i,n.xPlaDevice.a,n.xPlaDevice.b)),n.yPlaDevice&&(r.yOffset+=s.getDelta(i,n.yPlaDevice.a,n.yPlaDevice.b)),n.xAdvDevice&&(r.xAdvance+=s.getDelta(i,n.xAdvDevice.a,n.xAdvDevice.b)),n.yAdvDevice&&(r.yAdvance+=s.getDelta(i,n.yAdvDevice.a,n.yAdvDevice.b)))}applyLookup(e,n){switch(e){case 1:{let s=this.coverageIndex(n.coverage);if(s===-1)return!1;switch(n.version){case 1:this.applyPositionValue(0,n.value);break;case 2:this.applyPositionValue(0,n.values.get(s));break}return!0}case 2:{let s=this.glyphIterator.peek();if(!s)return!1;let i=this.coverageIndex(n.coverage);if(i===-1)return!1;switch(n.version){case 1:let o=n.pairSets.get(i);for(let l of o)if(l.secondGlyph===s.id)return this.applyPositionValue(0,l.value1),this.applyPositionValue(1,l.value2),!0;return!1;case 2:let a=this.getClassID(this.glyphIterator.cur.id,n.classDef1),u=this.getClassID(s.id,n.classDef2);if(a===-1||u===-1)return!1;var r=n.classRecords.get(a).get(u);return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0}}case 3:{let s=this.glyphIterator.peekIndex(),i=this.glyphs[s];if(!i)return!1;let o=n.entryExitRecords[this.coverageIndex(n.coverage)];if(!o||!o.exitAnchor)return!1;let a=n.entryExitRecords[this.coverageIndex(n.coverage,i.id)];if(!a||!a.entryAnchor)return!1;let u=this.getAnchor(a.entryAnchor),l=this.getAnchor(o.exitAnchor),c=this.positions[this.glyphIterator.index],d=this.positions[s],h;switch(this.direction){case"ltr":c.xAdvance=l.x+c.xOffset,h=u.x+d.xOffset,d.xAdvance-=h,d.xOffset-=h;break;case"rtl":h=l.x+c.xOffset,c.xAdvance-=h,c.xOffset-=h,d.xAdvance=u.x+d.xOffset;break}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=s,c.yOffset=u.y-l.y):(i.cursiveAttachment=this.glyphIterator.index,c.yOffset=l.y-u.y),!0}case 4:{let s=this.coverageIndex(n.markCoverage);if(s===-1)return!1;let i=this.glyphIterator.index;for(;--i>=0&&(this.glyphs[i].isMark||this.glyphs[i].ligatureComponent>0););if(i<0)return!1;let o=this.coverageIndex(n.baseCoverage,this.glyphs[i].id);if(o===-1)return!1;let a=n.markArray[s],u=n.baseArray[o][a.class];return this.applyAnchor(a,u,i),!0}case 5:{let s=this.coverageIndex(n.markCoverage);if(s===-1)return!1;let i=this.glyphIterator.index;for(;--i>=0&&this.glyphs[i].isMark;);if(i<0)return!1;let o=this.coverageIndex(n.ligatureCoverage,this.glyphs[i].id);if(o===-1)return!1;let a=n.ligatureArray[o],u=this.glyphIterator.cur,l=this.glyphs[i],c=l.ligatureID&&l.ligatureID===u.ligatureID&&u.ligatureComponent>0?Math.min(u.ligatureComponent,l.codePoints.length)-1:l.codePoints.length-1,d=n.markArray[s],h=a[c][d.class];return this.applyAnchor(d,h,i),!0}case 6:{let s=this.coverageIndex(n.mark1Coverage);if(s===-1)return!1;let i=this.glyphIterator.peekIndex(-1),o=this.glyphs[i];if(!o||!o.isMark)return!1;let a=this.glyphIterator.cur,u=!1;if(a.ligatureID===o.ligatureID?a.ligatureID?a.ligatureComponent===o.ligatureComponent&&(u=!0):u=!0:(a.ligatureID&&!a.ligatureComponent||o.ligatureID&&!o.ligatureComponent)&&(u=!0),!u)return!1;let l=this.coverageIndex(n.mark2Coverage,o.id);if(l===-1)return!1;let c=n.mark1Array[s],d=n.mark2Array[l][c.class];return this.applyAnchor(c,d,i),!0}case 7:return this.applyContext(n);case 8:return this.applyChainingContext(n);case 9:return this.applyLookup(n.lookupType,n.extension);default:throw new Error(`Unsupported GPOS table: ${e}`)}}applyAnchor(e,n,r){let s=this.getAnchor(n),i=this.getAnchor(e.markAnchor),o=this.positions[r],a=this.positions[this.glyphIterator.index];a.xOffset=s.x-i.x,a.yOffset=s.y-i.y,this.glyphIterator.cur.markAttachment=r}getAnchor(e){let n=e.xCoordinate,r=e.yCoordinate,s=this.font._variationProcessor,i=this.font.GDEF&&this.font.GDEF.itemVariationStore;return s&&i&&(e.xDeviceTable&&(n+=s.getDelta(i,e.xDeviceTable.a,e.xDeviceTable.b)),e.yDeviceTable&&(r+=s.getDelta(i,e.yDeviceTable.a,e.yDeviceTable.b))),{x:n,y:r}}applyFeatures(e,n,r){super.applyFeatures(e,n,r);for(var s=0;s<this.glyphs.length;s++)this.fixCursiveAttachment(s);this.fixMarkAttachment()}fixCursiveAttachment(e){let n=this.glyphs[e];if(n.cursiveAttachment!=null){let r=n.cursiveAttachment;n.cursiveAttachment=null,this.fixCursiveAttachment(r),this.positions[e].yOffset+=this.positions[r].yOffset}}fixMarkAttachment(){for(let e=0;e<this.glyphs.length;e++){let n=this.glyphs[e];if(n.markAttachment!=null){let r=n.markAttachment;if(this.positions[e].xOffset+=this.positions[r].xOffset,this.positions[e].yOffset+=this.positions[r].yOffset,this.direction==="ltr")for(let s=r;s<e;s++)this.positions[e].xOffset-=this.positions[s].xAdvance,this.positions[e].yOffset-=this.positions[s].yAdvance;else for(let s=r+1;s<e+1;s++)this.positions[e].xOffset+=this.positions[s].xAdvance,this.positions[e].yOffset+=this.positions[s].yAdvance}}}},dl=class{setup(e){this.glyphInfos=e.glyphs.map(r=>new mt(this.font,r.id,[...r.codePoints]));let n=null;this.GPOSProcessor&&(n=this.GPOSProcessor.selectScript(e.script,e.language,e.direction)),this.GSUBProcessor&&(n=this.GSUBProcessor.selectScript(e.script,e.language,e.direction)),this.shaper=Dw(n),this.plan=new nl(this.font,n,e.direction),this.shaper.plan(this.plan,this.glyphInfos,e.features);for(let r in this.plan.allFeatures)e.features[r]=!0}substitute(e){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),e.glyphs=this.glyphInfos.map(n=>this.font.getGlyph(n.id,n.codePoints)))}position(e){return this.shaper.zeroMarkWidths==="BEFORE_GPOS"&&this.zeroMarkAdvances(e.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,e.positions),this.shaper.zeroMarkWidths==="AFTER_GPOS"&&this.zeroMarkAdvances(e.positions),e.direction==="rtl"&&(e.glyphs.reverse(),e.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features}zeroMarkAdvances(e){for(let n=0;n<this.glyphInfos.length;n++)this.glyphInfos[n].isMark&&(e[n].xAdvance=0,e[n].yAdvance=0)}cleanup(){this.glyphInfos=null,this.plan=null,this.shaper=null}getAvailableFeatures(e,n){let r=[];return this.GSUBProcessor&&(this.GSUBProcessor.selectScript(e,n),r.push(...Object.keys(this.GSUBProcessor.features))),this.GPOSProcessor&&(this.GPOSProcessor.selectScript(e,n),r.push(...Object.keys(this.GPOSProcessor.features))),r}constructor(e){this.font=e,this.glyphInfos=null,this.plan=null,this.GSUBProcessor=null,this.GPOSProcessor=null,this.fallbackPosition=!0,e.GSUB&&(this.GSUBProcessor=new cl(e,e.GSUB)),e.GPOS&&(this.GPOSProcessor=new fl(e,e.GPOS))}},hl=class{layout(e,n,r,s,i){if(typeof n=="string"&&(i=s,s=r,r=n,n=[]),typeof e=="string"){r==null&&(r=wv(e));var o=this.font.glyphsForString(e)}else{if(r==null){let l=[];for(let c of e)l.push(...c.codePoints);r=kv(l)}var o=e}let a=new Ju(o,n,r,s,i);return o.length===0?(a.positions=[],a):(this.engine&&this.engine.setup&&this.engine.setup(a),this.substitute(a),this.position(a),this.hideDefaultIgnorables(a.glyphs,a.positions),this.engine&&this.engine.cleanup&&this.engine.cleanup(),a)}substitute(e){this.engine&&this.engine.substitute&&this.engine.substitute(e)}position(e){e.positions=e.glyphs.map(r=>new Qu(r.advanceWidth));let n=null;this.engine&&this.engine.position&&(n=this.engine.position(e)),!n&&(!this.engine||this.engine.fallbackPosition)&&(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new Ku(this.font)),this.unicodeLayoutEngine.positionGlyphs(e.glyphs,e.positions)),(!n||!n.kern)&&e.features.kern!==!1&&this.font.kern&&(this.kernProcessor||(this.kernProcessor=new Yu(this.font)),this.kernProcessor.process(e.glyphs,e.positions),e.features.kern=!0)}hideDefaultIgnorables(e,n){let r=this.font.glyphForCodePoint(32);for(let s=0;s<e.length;s++)this.isDefaultIgnorable(e[s].codePoints[0])&&(e[s]=r,n[s].xAdvance=0,n[s].yAdvance=0)}isDefaultIgnorable(e){let n=e>>16;if(n===0)switch(e>>8){case 0:return e===173;case 3:return e===847;case 6:return e===1564;case 23:return 6068<=e&&e<=6069;case 24:return 6155<=e&&e<=6158;case 32:return 8203<=e&&e<=8207||8234<=e&&e<=8238||8288<=e&&e<=8303;case 254:return 65024<=e&&e<=65039||e===65279;case 255:return 65520<=e&&e<=65528;default:return!1}else switch(n){case 1:return 113824<=e&&e<=113827||119155<=e&&e<=119162;case 14:return 917504<=e&&e<=921599;default:return!1}}getAvailableFeatures(e,n){let r=[];return this.engine&&r.push(...this.engine.getAvailableFeatures(e,n)),this.font.kern&&r.indexOf("kern")===-1&&r.push("kern"),r}stringsForGlyph(e){let n=new Set,r=this.font._cmapProcessor.codePointsForGlyph(e);for(let s of r)n.add(String.fromCodePoint(s));if(this.engine&&this.engine.stringsForGlyph)for(let s of this.engine.stringsForGlyph(e))n.add(s);return Array.from(n)}constructor(e){this.font=e,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new tl(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new dl(this.font))}},Rw={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"},Pr=class t{toFunction(){return e=>{this.commands.forEach(n=>e[n.command].apply(e,n.args))}}toSVG(){return this.commands.map(n=>{let r=n.args.map(s=>Math.round(s*100)/100);return`${Rw[n.command]}${r.join(" ")}`}).join("")}get cbox(){if(!this._cbox){let e=new dn;for(let n of this.commands)for(let r=0;r<n.args.length;r+=2)e.addPoint(n.args[r],n.args[r+1]);this._cbox=Object.freeze(e)}return this._cbox}get bbox(){if(this._bbox)return this._bbox;let e=new dn,n=0,r=0,s=M=>Math.pow(1-M,3)*p[O]+3*Math.pow(1-M,2)*M*m[O]+3*(1-M)*Math.pow(M,2)*x[O]+Math.pow(M,3)*S[O];for(let M of this.commands)switch(M.command){case"moveTo":case"lineTo":let[g,F]=M.args;e.addPoint(g,F),n=g,r=F;break;case"quadraticCurveTo":case"bezierCurveTo":if(M.command==="quadraticCurveTo")var[i,o,d,h]=M.args,a=n+2/3*(i-n),u=r+2/3*(o-r),l=d+2/3*(i-d),c=h+2/3*(o-h);else var[a,u,l,c,d,h]=M.args;e.addPoint(d,h);for(var p=[n,r],m=[a,u],x=[l,c],S=[d,h],O=0;O<=1;O++){let N=6*p[O]-12*m[O]+6*x[O],R=-3*p[O]+9*m[O]-9*x[O]+3*S[O];if(M=3*m[O]-3*p[O],R===0){if(N===0)continue;let b=-M/N;0<b&&b<1&&(O===0?e.addPoint(s(b),e.maxY):O===1&&e.addPoint(e.maxX,s(b)));continue}let E=Math.pow(N,2)-4*M*R;if(E<0)continue;let y=(-N+Math.sqrt(E))/(2*R);0<y&&y<1&&(O===0?e.addPoint(s(y),e.maxY):O===1&&e.addPoint(e.maxX,s(y)));let P=(-N-Math.sqrt(E))/(2*R);0<P&&P<1&&(O===0?e.addPoint(s(P),e.maxY):O===1&&e.addPoint(e.maxX,s(P)))}n=d,r=h;break}return this._bbox=Object.freeze(e)}mapPoints(e){let n=new t;for(let r of this.commands){let s=[];for(let i=0;i<r.args.length;i+=2){let[o,a]=e(r.args[i],r.args[i+1]);s.push(o,a)}n[r.command](...s)}return n}transform(e,n,r,s,i,o){return this.mapPoints((a,u)=>{let l=e*a+r*u+i,c=n*a+s*u+o;return[l,c]})}translate(e,n){return this.transform(1,0,0,1,e,n)}rotate(e){let n=Math.cos(e),r=Math.sin(e);return this.transform(n,r,-r,n,0,0)}scale(e,n=e){return this.transform(e,0,0,n,0,0)}constructor(){this.commands=[],this._bbox=null,this._cbox=null}};for(let t of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])Pr.prototype[t]=function(...e){return this._bbox=this._cbox=null,this.commands.push({command:t,args:e}),this};xs=[".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"],ct=class{_getPath(){return new Pr}_getCBox(){return this.path.cbox}_getBBox(){return this.path.bbox}_getTableMetrics(e){if(this.id<e.metrics.length)return e.metrics.get(this.id);let n=e.metrics.get(e.metrics.length-1);return{advance:n?n.advance:0,bearing:e.bearings.get(this.id-e.metrics.length)||0}}_getMetrics(e){if(this._metrics)return this._metrics;let{advance:n,bearing:r}=this._getTableMetrics(this._font.hmtx);if(this._font.vmtx)var{advance:s,bearing:i}=this._getTableMetrics(this._font.vmtx);else{let o;if((typeof e>"u"||e===null)&&({cbox:e}=this),(o=this._font["OS/2"])&&o.version>0)var s=Math.abs(o.typoAscender-o.typoDescender),i=o.typoAscender-e.maxY;else{let{hhea:a}=this._font;var s=Math.abs(a.ascent-a.descent),i=a.ascent-e.maxY}}return this._font._variationProcessor&&this._font.HVAR&&(n+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:n,advanceHeight:s,leftBearing:r,topBearing:i}}get cbox(){return this._getCBox()}get bbox(){return this._getBBox()}get path(){return this._getPath()}getScaledPath(e){let n=1/this._font.unitsPerEm*e;return this.path.scale(n)}get advanceWidth(){return this._getMetrics().advanceWidth}get advanceHeight(){return this._getMetrics().advanceHeight}get ligatureCaretPositions(){}_getName(){let{post:e}=this._font;if(!e)return null;switch(e.version){case 1:return xs[this.id];case 2:let n=e.glyphNameIndex[this.id];return n<xs.length?xs[n]:e.names[n-xs.length];case 2.5:return xs[this.id+e.offsets[this.id]];case 4:return String.fromCharCode(e.map[this.id])}}get name(){return this._getName()}render(e,n){e.save();let r=1/this._font.head.unitsPerEm*n;e.scale(r,r),this.path.toFunction()(e),e.fill(),e.restore()}constructor(e,n,r){this.id=e,this.codePoints=n,this._font=r,this.isMark=this.codePoints.length>0&&this.codePoints.every(pu),this.isLigature=this.codePoints.length>1}};Ce([Me],ct.prototype,"cbox",null);Ce([Me],ct.prototype,"bbox",null);Ce([Me],ct.prototype,"path",null);Ce([Me],ct.prototype,"advanceWidth",null);Ce([Me],ct.prototype,"advanceHeight",null);Ce([Me],ct.prototype,"name",null);Zh=new C({numberOfContours:D,xMin:D,yMin:D,xMax:D,yMax:D}),Lw=1,Bw=2,Uw=4,Vw=8,_w=16,jw=32,Gw=1,zw=8,Jh=32,Ww=64,qw=128,Hw=256,pt=class t{copy(){return new t(this.onCurve,this.endContour,this.x,this.y)}constructor(e,n,r=0,s=0){this.onCurve=e,this.endContour=n,this.x=r,this.y=s}},pl=class{constructor(e,n,r){this.glyphID=e,this.dx=n,this.dy=r,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0}},Mr=class extends ct{_getCBox(e){if(this._font._variationProcessor&&!e)return this.path.cbox;let n=this._font._getTableStream("glyf");n.pos+=this._font.loca.offsets[this.id];let r=Zh.decode(n),s=new dn(r.xMin,r.yMin,r.xMax,r.yMax);return Object.freeze(s)}_parseGlyphCoord(e,n,r,s){if(r){var i=e.readUInt8();s||(i=-i),i+=n}else if(s)var i=n;else var i=n+e.readInt16BE();return i}_decode(){let e=this._font.loca.offsets[this.id],n=this._font.loca.offsets[this.id+1];if(e===n)return null;let r=this._font._getTableStream("glyf");r.pos+=e;let s=r.pos,i=Zh.decode(r);return i.numberOfContours>0?this._decodeSimple(i,r):i.numberOfContours<0&&this._decodeComposite(i,r,s),i}_decodeSimple(e,n){e.points=[];let r=new v(f,e.numberOfContours).decode(n);e.instructions=new v(U,f).decode(n);let s=[],i=r[r.length-1]+1;for(;s.length<i;){var o=n.readUInt8();if(s.push(o),o&Vw){let c=n.readUInt8();for(let d=0;d<c;d++)s.push(o)}}for(var a=0;a<s.length;a++){var o=s[a];let d=new pt(!!(o&Lw),r.indexOf(a)>=0,0,0);e.points.push(d)}let u=0;for(var a=0;a<s.length;a++){var o=s[a];e.points[a].x=u=this._parseGlyphCoord(n,u,o&Bw,o&_w)}let l=0;for(var a=0;a<s.length;a++){var o=s[a];e.points[a].y=l=this._parseGlyphCoord(n,l,o&Uw,o&jw)}if(this._font._variationProcessor){let c=e.points.slice();c.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,c),e.phantomPoints=c.slice(-4)}}_decodeComposite(e,n,r=0){e.components=[];let s=!1,i=Jh;for(;i&Jh;){i=n.readUInt16BE();let l=n.pos-r,c=n.readUInt16BE();if(s||(s=(i&Hw)!==0),i&Gw)var o=n.readInt16BE(),a=n.readInt16BE();else var o=n.readInt8(),a=n.readInt8();var u=new pl(c,o,a);u.pos=l,i&zw?u.scaleX=u.scaleY=(n.readUInt8()<<24|n.readUInt8()<<16)/1073741824:i&Ww?(u.scaleX=(n.readUInt8()<<24|n.readUInt8()<<16)/1073741824,u.scaleY=(n.readUInt8()<<24|n.readUInt8()<<16)/1073741824):i&qw&&(u.scaleX=(n.readUInt8()<<24|n.readUInt8()<<16)/1073741824,u.scale01=(n.readUInt8()<<24|n.readUInt8()<<16)/1073741824,u.scale10=(n.readUInt8()<<24|n.readUInt8()<<16)/1073741824,u.scaleY=(n.readUInt8()<<24|n.readUInt8()<<16)/1073741824),e.components.push(u)}if(this._font._variationProcessor){let l=[];for(let c=0;c<e.components.length;c++){var u=e.components[c];l.push(new pt(!0,!0,u.dx,u.dy))}l.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,l),e.phantomPoints=l.splice(-4,4);for(let c=0;c<l.length;c++){let d=l[c];e.components[c].dx=d.x,e.components[c].dy=d.y}}return s}_getPhantomPoints(e){let n=this._getCBox(!0);this._metrics==null&&(this._metrics=ct.prototype._getMetrics.call(this,n));let{advanceWidth:r,advanceHeight:s,leftBearing:i,topBearing:o}=this._metrics;return[new pt(!1,!0,e.xMin-i,0),new pt(!1,!0,e.xMin-i+r,0),new pt(!1,!0,0,e.yMax+o),new pt(!1,!0,0,e.yMax+o+s)]}_getContours(){let e=this._decode();if(!e)return[];let n=[];if(e.numberOfContours<0)for(let o of e.components){let a=this._font.getGlyph(o.glyphID)._getContours();for(let u=0;u<a.length;u++){let l=a[u];for(let c=0;c<l.length;c++){let d=l[c],h=d.x*o.scaleX+d.y*o.scale01+o.dx,p=d.y*o.scaleY+d.x*o.scale10+o.dy;n.push(new pt(d.onCurve,d.endContour,h,p))}}}else n=e.points||[];e.phantomPoints&&!this._font.directory.tables.HVAR&&(this._metrics.advanceWidth=e.phantomPoints[1].x-e.phantomPoints[0].x,this._metrics.advanceHeight=e.phantomPoints[3].y-e.phantomPoints[2].y,this._metrics.leftBearing=e.xMin-e.phantomPoints[0].x,this._metrics.topBearing=e.phantomPoints[2].y-e.yMax);let r=[],s=[];for(let o=0;o<n.length;o++){var i=n[o];s.push(i),i.endContour&&(r.push(s),s=[])}return r}_getMetrics(){if(this._metrics)return this._metrics;let e=this._getCBox(!0);return super._getMetrics(e),this._font._variationProcessor&&!this._font.HVAR&&this.path,this._metrics}_getPath(){let e=this._getContours(),n=new Pr;for(let s=0;s<e.length;s++){let i=e[s],o=i[0],a=i[i.length-1],u=0;if(o.onCurve){var r=null;u=1}else{a.onCurve?o=a:o=new pt(!1,!1,(o.x+a.x)/2,(o.y+a.y)/2);var r=o}n.moveTo(o.x,o.y);for(let l=u;l<i.length;l++){let c=i[l],d=l===0?o:i[l-1];if(d.onCurve&&c.onCurve)n.lineTo(c.x,c.y);else if(d.onCurve&&!c.onCurve)var r=c;else if(!d.onCurve&&!c.onCurve){let p=(d.x+c.x)/2,m=(d.y+c.y)/2;n.quadraticCurveTo(d.x,d.y,p,m);var r=c}else if(!d.onCurve&&c.onCurve){n.quadraticCurveTo(r.x,r.y,c.x,c.y);var r=null}else throw new Error("Unknown TTF path state")}r&&n.quadraticCurveTo(r.x,r.y,o.x,o.y),n.closePath()}return n}constructor(...e){super(...e),je(this,"type","TTF")}},ml=class extends ct{_getName(){return this._font.CFF2?super._getName():this._font["CFF "].getGlyphName(this.id)}bias(e){return e.length<1240?107:e.length<33900?1131:32768}_getPath(){let e=this._font.CFF2||this._font["CFF "],{stream:n}=e,r=e.topDict.CharStrings[this.id],s=r.offset+r.length;n.pos=r.offset;let i=new Pr,o=[],a=[],u=null,l=0,c=0,d=0,h,p,m=!1;this._usedGsubrs=h={},this._usedSubrs=p={};let x=e.globalSubrIndex||[],S=this.bias(x),O=e.privateDictForGlyph(this.id)||{},M=O.Subrs||[],g=this.bias(M),F=e.topDict.vstore&&e.topDict.vstore.itemVariationStore,N=O.vsindex,R=this._font._variationProcessor;function E(){u==null&&(u=o.shift()+O.nominalWidthX)}function y(){return o.length%2!==0&&E(),l+=o.length>>1,o.length=0}function P(I,A){m&&i.closePath(),i.moveTo(I,A),m=!0}let b=function(){for(;n.pos<s;){let L=n.readUInt8();if(L<32){let X,H,q,G,Y,_,K,pe,xe,Ee,Ie,ne,Ke,ze,Ze,Fe;switch(L){case 1:case 3:case 18:case 23:y();break;case 4:o.length>1&&E(),d+=o.shift(),P(c,d);break;case 5:for(;o.length>=2;)c+=o.shift(),d+=o.shift(),i.lineTo(c,d);break;case 6:case 7:for(q=L===6;o.length>=1;)q?c+=o.shift():d+=o.shift(),i.lineTo(c,d),q=!q;break;case 8:for(;o.length>0;)G=c+o.shift(),Y=d+o.shift(),_=G+o.shift(),K=Y+o.shift(),c=_+o.shift(),d=K+o.shift(),i.bezierCurveTo(G,Y,_,K,c,d);break;case 10:if(X=o.pop()+g,H=M[X],H){p[X]=!0;let Q=n.pos,ce=s;n.pos=H.offset,s=H.offset+H.length,b(),n.pos=Q,s=ce}break;case 11:if(e.version>=2)break;return;case 14:if(e.version>=2)break;o.length>0&&E(),m&&(i.closePath(),m=!1);break;case 15:if(e.version<2)throw new Error("vsindex operator not supported in CFF v1");N=o.pop();break;case 16:{if(e.version<2)throw new Error("blend operator not supported in CFF v1");if(!R)throw new Error("blend operator in non-variation font");let Q=R.getBlendVector(F,N),ce=o.pop(),At=ce*Q.length,Be=o.length-At,pn=Be-ce;for(let It=0;It<ce;It++){let Tt=o[pn+It];for(let ft=0;ft<Q.length;ft++)Tt+=Q[ft]*o[Be++];o[pn+It]=Tt}for(;At--;)o.pop();break}case 19:case 20:y(),n.pos+=l+7>>3;break;case 21:o.length>2&&E(),c+=o.shift(),d+=o.shift(),P(c,d);break;case 22:o.length>1&&E(),c+=o.shift(),P(c,d);break;case 24:for(;o.length>=8;)G=c+o.shift(),Y=d+o.shift(),_=G+o.shift(),K=Y+o.shift(),c=_+o.shift(),d=K+o.shift(),i.bezierCurveTo(G,Y,_,K,c,d);c+=o.shift(),d+=o.shift(),i.lineTo(c,d);break;case 25:for(;o.length>=8;)c+=o.shift(),d+=o.shift(),i.lineTo(c,d);G=c+o.shift(),Y=d+o.shift(),_=G+o.shift(),K=Y+o.shift(),c=_+o.shift(),d=K+o.shift(),i.bezierCurveTo(G,Y,_,K,c,d);break;case 26:for(o.length%2&&(c+=o.shift());o.length>=4;)G=c,Y=d+o.shift(),_=G+o.shift(),K=Y+o.shift(),c=_,d=K+o.shift(),i.bezierCurveTo(G,Y,_,K,c,d);break;case 27:for(o.length%2&&(d+=o.shift());o.length>=4;)G=c+o.shift(),Y=d,_=G+o.shift(),K=Y+o.shift(),c=_+o.shift(),d=K,i.bezierCurveTo(G,Y,_,K,c,d);break;case 28:o.push(n.readInt16BE());break;case 29:if(X=o.pop()+S,H=x[X],H){h[X]=!0;let Q=n.pos,ce=s;n.pos=H.offset,s=H.offset+H.length,b(),n.pos=Q,s=ce}break;case 30:case 31:for(q=L===31;o.length>=4;)q?(G=c+o.shift(),Y=d,_=G+o.shift(),K=Y+o.shift(),d=K+o.shift(),c=_+(o.length===1?o.shift():0)):(G=c,Y=d+o.shift(),_=G+o.shift(),K=Y+o.shift(),c=_+o.shift(),d=K+(o.length===1?o.shift():0)),i.bezierCurveTo(G,Y,_,K,c,d),q=!q;break;case 12:switch(L=n.readUInt8(),L){case 3:let Q=o.pop(),ce=o.pop();o.push(Q&&ce?1:0);break;case 4:Q=o.pop(),ce=o.pop(),o.push(Q||ce?1:0);break;case 5:Q=o.pop(),o.push(Q?0:1);break;case 9:Q=o.pop(),o.push(Math.abs(Q));break;case 10:Q=o.pop(),ce=o.pop(),o.push(Q+ce);break;case 11:Q=o.pop(),ce=o.pop(),o.push(Q-ce);break;case 12:Q=o.pop(),ce=o.pop(),o.push(Q/ce);break;case 14:Q=o.pop(),o.push(-Q);break;case 15:Q=o.pop(),ce=o.pop(),o.push(Q===ce?1:0);break;case 18:o.pop();break;case 20:let At=o.pop(),Be=o.pop();a[Be]=At;break;case 21:Be=o.pop(),o.push(a[Be]||0);break;case 22:let pn=o.pop(),It=o.pop(),Tt=o.pop(),ft=o.pop();o.push(Tt<=ft?pn:It);break;case 23:o.push(Math.random());break;case 24:Q=o.pop(),ce=o.pop(),o.push(Q*ce);break;case 26:Q=o.pop(),o.push(Math.sqrt(Q));break;case 27:Q=o.pop(),o.push(Q,Q);break;case 28:Q=o.pop(),ce=o.pop(),o.push(ce,Q);break;case 29:Be=o.pop(),Be<0?Be=0:Be>o.length-1&&(Be=o.length-1),o.push(o[Be]);break;case 30:let _t=o.pop(),$t=o.pop();if($t>=0)for(;$t>0;){var I=o[_t-1];for(let de=_t-2;de>=0;de--)o[de+1]=o[de];o[0]=I,$t--}else for(;$t<0;){var I=o[0];for(let We=0;We<=_t;We++)o[We]=o[We+1];o[_t-1]=I,$t++}break;case 34:G=c+o.shift(),Y=d,_=G+o.shift(),K=Y+o.shift(),pe=_+o.shift(),xe=K,Ee=pe+o.shift(),Ie=xe,ne=Ee+o.shift(),Ke=Ie,ze=ne+o.shift(),Ze=Ke,c=ze,d=Ze,i.bezierCurveTo(G,Y,_,K,pe,xe),i.bezierCurveTo(Ee,Ie,ne,Ke,ze,Ze);break;case 35:Fe=[];for(let de=0;de<=5;de++)c+=o.shift(),d+=o.shift(),Fe.push(c,d);i.bezierCurveTo(...Fe.slice(0,6)),i.bezierCurveTo(...Fe.slice(6)),o.shift();break;case 36:G=c+o.shift(),Y=d+o.shift(),_=G+o.shift(),K=Y+o.shift(),pe=_+o.shift(),xe=K,Ee=pe+o.shift(),Ie=xe,ne=Ee+o.shift(),Ke=Ie+o.shift(),ze=ne+o.shift(),Ze=Ke,c=ze,d=Ze,i.bezierCurveTo(G,Y,_,K,pe,xe),i.bezierCurveTo(Ee,Ie,ne,Ke,ze,Ze);break;case 37:let qn=c,Te=d;Fe=[];for(let de=0;de<=4;de++)c+=o.shift(),d+=o.shift(),Fe.push(c,d);Math.abs(c-qn)>Math.abs(d-Te)?(c+=o.shift(),d=Te):(c=qn,d+=o.shift()),Fe.push(c,d),i.bezierCurveTo(...Fe.slice(0,6)),i.bezierCurveTo(...Fe.slice(6));break;default:throw new Error(`Unknown op: 12 ${L}`)}break;default:throw new Error(`Unknown op: ${L}`)}}else if(L<247)o.push(L-139);else if(L<251){var A=n.readUInt8();o.push((L-247)*256+A+108)}else if(L<255){var A=n.readUInt8();o.push(-(L-251)*256-A-108)}else o.push(n.readInt32BE()/65536)}};return b(),m&&i.closePath(),i}constructor(...e){super(...e),je(this,"type","CFF")}},Xw=new C({originX:f,originY:f,type:new oe(4),data:new Xe(t=>t.parent.buflen-t._currentOffset)}),gl=class extends Mr{getImageForSize(e){for(let o=0;o<this._font.sbix.imageTables.length;o++){var n=this._font.sbix.imageTables[o];if(n.ppem>=e)break}let r=n.imageOffsets,s=r[this.id],i=r[this.id+1];return s===i?null:(this._font.stream.pos=s,Xw.decode(this._font.stream,{buflen:i-s}))}render(e,n){let r=this.getImageForSize(n);if(r!=null){let s=n/this._font.unitsPerEm;e.image(r.data,{height:n,x:r.originX,y:(this.bbox.minY-r.originY)*s})}this._font.sbix.flags.renderOutlines&&super.render(e,n)}constructor(...e){super(...e),je(this,"type","SBIX")}},qo=class{constructor(e,n){this.glyph=e,this.color=n}},bl=class extends ct{_getBBox(){let e=new dn;for(let n=0;n<this.layers.length;n++){let s=this.layers[n].glyph.bbox;e.addPoint(s.minX,s.minY),e.addPoint(s.maxX,s.maxY)}return e}get layers(){let e=this._font.CPAL,n=this._font.COLR,r=0,s=n.baseGlyphRecord.length-1;for(;r<=s;){let c=r+s>>1;var i=n.baseGlyphRecord[c];if(this.id<i.gid)s=c-1;else if(this.id>i.gid)r=c+1;else{var o=i;break}}if(o==null){var a=this._font._getBaseGlyph(this.id),u={red:0,green:0,blue:0,alpha:255};return[new qo(a,u)]}let l=[];for(let c=o.firstLayerIndex;c<o.firstLayerIndex+o.numLayers;c++){var i=n.layerRecords[c],u=e.colorRecords[i.paletteIndex],a=this._font._getBaseGlyph(i.gid);l.push(new qo(a,u))}return l}render(e,n){for(let{glyph:r,color:s}of this.layers)e.fillColor([s.red,s.green,s.blue],s.alpha/255*100),r.render(e,n)}constructor(...e){super(...e),je(this,"type","COLR")}},Yw=32768,Kw=4095,Zw=32768,Qh=16384,Jw=8192,ep=4095,tp=128,np=127,Qw=128,e4=64,t4=63,xl=class{normalizeCoords(e){let n=[];for(var r=0;r<this.font.fvar.axis.length;r++){let s=this.font.fvar.axis[r];e[r]<s.defaultValue?n.push((e[r]-s.defaultValue+Number.EPSILON)/(s.defaultValue-s.minValue+Number.EPSILON)):n.push((e[r]-s.defaultValue+Number.EPSILON)/(s.maxValue-s.defaultValue+Number.EPSILON))}if(this.font.avar)for(var r=0;r<this.font.avar.segment.length;r++){let i=this.font.avar.segment[r];for(let o=0;o<i.correspondence.length;o++){let a=i.correspondence[o];if(o>=1&&n[r]<a.fromCoord){let u=i.correspondence[o-1];n[r]=((n[r]-u.fromCoord)*(a.toCoord-u.toCoord)+Number.EPSILON)/(a.fromCoord-u.fromCoord+Number.EPSILON)+u.toCoord;break}}}return n}transformPoints(e,n){if(!this.font.fvar||!this.font.gvar)return;let{gvar:r}=this.font;if(e>=r.glyphCount)return;let s=r.offsets[e];if(s===r.offsets[e+1])return;let{stream:i}=this.font;if(i.pos=s,i.pos>=i.length)return;let o=i.readUInt16BE(),a=s+i.readUInt16BE();if(o&Yw){var u=i.pos;i.pos=a;var l=this.decodePoints();a=i.pos,i.pos=u}let c=n.map(S=>S.copy());o&=Kw;for(let S=0;S<o;S++){let O=i.readUInt16BE(),M=i.readUInt16BE();if(M&Zw){var d=[];for(let y=0;y<r.axisCount;y++)d.push(i.readInt16BE()/16384)}else{if((M&ep)>=r.globalCoordCount)throw new Error("Invalid gvar table");var d=r.globalCoords[M&ep]}if(M&Qh){var h=[];for(let y=0;y<r.axisCount;y++)h.push(i.readInt16BE()/16384);var p=[];for(let y=0;y<r.axisCount;y++)p.push(i.readInt16BE()/16384)}let g=this.tupleFactor(M,d,h,p);if(g===0){a+=O;continue}var u=i.pos;if(i.pos=a,M&Jw)var m=this.decodePoints();else var m=l;let N=m.length===0?n.length:m.length,R=this.decodeDeltas(N),E=this.decodeDeltas(N);if(m.length===0)for(let y=0;y<n.length;y++){var x=n[y];x.x+=Math.round(R[y]*g),x.y+=Math.round(E[y]*g)}else{let y=c.map(b=>b.copy()),P=n.map(()=>!1);for(let b=0;b<m.length;b++){let I=m[b];if(I<n.length){let A=y[I];P[I]=!0,A.x+=R[b]*g,A.y+=E[b]*g}}this.interpolateMissingDeltas(y,c,P);for(let b=0;b<n.length;b++){let I=y[b].x-c[b].x,A=y[b].y-c[b].y;n[b].x=Math.round(n[b].x+I),n[b].y=Math.round(n[b].y+A)}}a+=O,i.pos=u}}decodePoints(){let e=this.font.stream,n=e.readUInt8();n&tp&&(n=(n&np)<<8|e.readUInt8());let r=new Uint16Array(n),s=0,i=0;for(;s<n;){let o=e.readUInt8(),a=(o&np)+1,u=o&tp?e.readUInt16:e.readUInt8;for(let l=0;l<a&&s<n;l++)i+=u.call(e),r[s++]=i}return r}decodeDeltas(e){let n=this.font.stream,r=0,s=new Int16Array(e);for(;r<e;){let i=n.readUInt8(),o=(i&t4)+1;if(i&Qw)r+=o;else{let a=i&e4?n.readInt16BE:n.readInt8;for(let u=0;u<o&&r<e;u++)s[r++]=a.call(n)}}return s}tupleFactor(e,n,r,s){let i=this.normalizedCoords,{gvar:o}=this.font,a=1;for(let u=0;u<o.axisCount;u++)if(n[u]!==0){if(i[u]===0)return 0;if((e&Qh)===0){if(i[u]<Math.min(0,n[u])||i[u]>Math.max(0,n[u]))return 0;a=(a*i[u]+Number.EPSILON)/(n[u]+Number.EPSILON)}else{if(i[u]<r[u]||i[u]>s[u])return 0;i[u]<n[u]?a=a*(i[u]-r[u]+Number.EPSILON)/(n[u]-r[u]+Number.EPSILON):a=a*(s[u]-i[u]+Number.EPSILON)/(s[u]-n[u]+Number.EPSILON)}}return a}interpolateMissingDeltas(e,n,r){if(e.length===0)return;let s=0;for(;s<e.length;){let i=s,o=s,a=e[o];for(;!a.endContour;)a=e[++o];for(;s<=o&&!r[s];)s++;if(s>o)continue;let u=s,l=s;for(s++;s<=o;)r[s]&&(this.deltaInterpolate(l+1,s-1,l,s,n,e),l=s),s++;l===u?this.deltaShift(i,o,l,n,e):(this.deltaInterpolate(l+1,o,l,u,n,e),u>0&&this.deltaInterpolate(i,u-1,l,u,n,e)),s=o+1}}deltaInterpolate(e,n,r,s,i,o){if(e>n)return;let a=["x","y"];for(let l=0;l<a.length;l++){let c=a[l];if(i[r][c]>i[s][c]){var u=r;r=s,s=u}let d=i[r][c],h=i[s][c],p=o[r][c],m=o[s][c];if(d!==h||p===m){let x=d===h?0:(m-p)/(h-d);for(let S=e;S<=n;S++){let O=i[S][c];O<=d?O+=p-d:O>=h?O+=m-h:O=p+(O-d)*x,o[S][c]=O}}}}deltaShift(e,n,r,s,i){let o=i[r].x-s[r].x,a=i[r].y-s[r].y;if(!(o===0&&a===0))for(let u=e;u<=n;u++)u!==r&&(i[u].x+=o,i[u].y+=a)}getAdvanceAdjustment(e,n){let r,s;if(n.advanceWidthMapping){let i=e;i>=n.advanceWidthMapping.mapCount&&(i=n.advanceWidthMapping.mapCount-1);let o=n.advanceWidthMapping.entryFormat;({outerIndex:r,innerIndex:s}=n.advanceWidthMapping.mapData[i])}else r=0,s=e;return this.getDelta(n.itemVariationStore,r,s)}getDelta(e,n,r){if(n>=e.itemVariationData.length)return 0;let s=e.itemVariationData[n];if(r>=s.deltaSets.length)return 0;let i=s.deltaSets[r],o=this.getBlendVector(e,n),a=0;for(let u=0;u<s.regionIndexCount;u++)a+=i.deltas[u]*o[u];return a}getBlendVector(e,n){let r=e.itemVariationData[n];if(this.blendVectors.has(r))return this.blendVectors.get(r);let s=this.normalizedCoords,i=[];for(let o=0;o<r.regionIndexCount;o++){let a=1,u=r.regionIndexes[o],l=e.variationRegionList.variationRegions[u];for(let c=0;c<l.length;c++){let d=l[c],h;d.startCoord>d.peakCoord||d.peakCoord>d.endCoord||d.startCoord<0&&d.endCoord>0&&d.peakCoord!==0||d.peakCoord===0?h=1:s[c]<d.startCoord||s[c]>d.endCoord?h=0:s[c]===d.peakCoord?h=1:s[c]<d.peakCoord?h=(s[c]-d.startCoord+Number.EPSILON)/(d.peakCoord-d.startCoord+Number.EPSILON):h=(d.endCoord-s[c]+Number.EPSILON)/(d.endCoord-d.peakCoord+Number.EPSILON),a*=h}i[o]=a}return this.blendVectors.set(r,i),i}constructor(e,n){this.font=e,this.normalizedCoords=this.normalizeCoords(n),this.blendVectors=new Map}},XE=Promise.resolve(),Ho=class{includeGlyph(e){return typeof e=="object"&&(e=e.id),this.mapping[e]==null&&(this.glyphs.push(e),this.mapping[e]=this.glyphs.length-1),this.mapping[e]}constructor(e){this.font=e,this.glyphs=[],this.mapping={},this.includeGlyph(0)}},n4=1,r4=2,s4=4,i4=8,o4=16,a4=32,Xo=class{static size(e){return e>=0&&e<=255?1:2}static encode(e,n){n>=0&&n<=255?e.writeUInt8(n):e.writeInt16BE(n)}},rp=new C({numberOfContours:D,xMin:D,yMin:D,xMax:D,yMax:D,endPtsOfContours:new v(f,"numberOfContours"),instructions:new v(U,f),flags:new v(U,0),xPoints:new v(Xo,0),yPoints:new v(Xo,0)}),yl=class{encodeSimple(e,n=[]){let r=[],s=[],i=[],o=[],a=0,u=0,l=0,c=0,d=0;for(let O=0;O<e.commands.length;O++){let M=e.commands[O];for(let g=0;g<M.args.length;g+=2){let F=M.args[g],N=M.args[g+1],R=0;if(M.command==="quadraticCurveTo"&&g===2){let E=e.commands[O+1];if(E&&E.command==="quadraticCurveTo"){let y=(u+E.args[0])/2,P=(l+E.args[1])/2;if(F===y&&N===P)continue}}M.command==="quadraticCurveTo"&&g===0||(R|=n4),R=this._encodePoint(F,u,s,R,r4,o4),R=this._encodePoint(N,l,i,R,s4,a4),R===c&&a<255?(o[o.length-1]|=i4,a++):(a>0&&(o.push(a),a=0),o.push(R),c=R),u=F,l=N,d++}M.command==="closePath"&&r.push(d-1)}e.commands.length>1&&e.commands[e.commands.length-1].command!=="closePath"&&r.push(d-1);let h=e.bbox,p={numberOfContours:r.length,xMin:h.minX,yMin:h.minY,xMax:h.maxX,yMax:h.maxY,endPtsOfContours:r,instructions:n,flags:o,xPoints:s,yPoints:i},m=rp.size(p),x=4-m%4,S=new Nt(m+x);return rp.encode(S,p),x!==0&&S.fill(0,x),S.buffer}_encodePoint(e,n,r,s,i,o){let a=e-n;return e===n?s|=o:(-255<=a&&a<=255&&(s|=i,a<0?a=-a:s|=o),r.push(a)),s}},vl=class extends Ho{_addGlyph(e){let n=this.font.getGlyph(e),r=n._decode(),s=this.font.loca.offsets[e],i=this.font.loca.offsets[e+1],o=this.font._getTableStream("glyf");o.pos+=s;let a=o.readBuffer(i-s);if(r&&r.numberOfContours<0){a=new Uint8Array(a);let u=new DataView(a.buffer);for(let l of r.components)e=this.includeGlyph(l.glyphID),u.setUint16(l.pos,e)}else r&&this.font._variationProcessor&&(a=this.glyphEncoder.encodeSimple(n.path,r.instructions));return this.glyf.push(a),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:n.advanceWidth,bearing:n._getMetrics().leftBearing}),this.offset+=a.length,this.glyf.length-1}encode(){this.glyf=[],this.offset=0,this.loca={offsets:[],version:this.font.loca.version},this.hmtx={metrics:[],bearings:[]};let e=0;for(;e<this.glyphs.length;)this._addGlyph(this.glyphs[e++]);let n=(0,Oo.default)(this.font.maxp);n.numGlyphs=this.glyf.length,this.loca.offsets.push(this.offset);let r=(0,Oo.default)(this.font.head);r.indexToLocFormat=this.loca.version;let s=(0,Oo.default)(this.font.hhea);return s.numberOfMetrics=this.hmtx.metrics.length,Pp.toBuffer({tables:{head:r,hhea:s,loca:this.loca,maxp:n,"cvt ":this.font["cvt "],prep:this.font.prep,glyf:this.glyf,hmtx:this.hmtx,fpgm:this.font.fpgm}})}constructor(e){super(e),this.glyphEncoder=new yl}},wl=class extends Ho{subsetCharstrings(){this.charstrings=[];let e={};for(let n of this.glyphs){this.charstrings.push(this.cff.getCharString(n));let r=this.font.getGlyph(n),s=r.path;for(let i in r._usedGsubrs)e[i]=!0}this.gsubrs=this.subsetSubrs(this.cff.globalSubrIndex,e)}subsetSubrs(e,n){let r=[];for(let s=0;s<e.length;s++){let i=e[s];n[s]?(this.cff.stream.pos=i.offset,r.push(this.cff.stream.readBuffer(i.length))):r.push(new Uint8Array([11]))}return r}subsetFontdict(e){e.FDArray=[],e.FDSelect={version:0,fds:[]};let n={},r=[],s={};for(let i of this.glyphs){let o=this.cff.fdForGlyph(i);if(o==null)continue;n[o]||(e.FDArray.push(Object.assign({},this.cff.topDict.FDArray[o])),r.push({}),s[o]=e.FDArray.length-1),n[o]=!0,e.FDSelect.fds.push(s[o]);let a=this.font.getGlyph(i),u=a.path;for(let l in a._usedSubrs)r[s[o]][l]=!0}for(let i=0;i<e.FDArray.length;i++){let o=e.FDArray[i];delete o.FontName,o.Private&&o.Private.Subrs&&(o.Private=Object.assign({},o.Private),o.Private.Subrs=this.subsetSubrs(o.Private.Subrs,r[i]))}}createCIDFontdict(e){let n={};for(let s of this.glyphs){let i=this.font.getGlyph(s),o=i.path;for(let a in i._usedSubrs)n[a]=!0}let r=Object.assign({},this.cff.topDict.Private);return this.cff.topDict.Private&&this.cff.topDict.Private.Subrs&&(r.Subrs=this.subsetSubrs(this.cff.topDict.Private.Subrs,n)),e.FDArray=[{Private:r}],e.FDSelect={version:3,nRanges:1,ranges:[{first:0,fd:0}],sentinel:this.charstrings.length}}addString(e){return e?(this.strings||(this.strings=[]),this.strings.push(e),Ao.length+this.strings.length-1):null}encode(){this.subsetCharstrings();let e={version:this.charstrings.length>255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},n=Object.assign({},this.cff.topDict);n.Private=null,n.charset=e,n.Encoding=null,n.CharStrings=this.charstrings;for(let s of["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"])n[s]=this.addString(this.cff.string(n[s]));n.ROS=[this.addString("Adobe"),this.addString("Identity"),0],n.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(n):this.createCIDFontdict(n);let r={version:1,hdrSize:this.cff.hdrSize,offSize:4,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[n],stringIndex:this.strings,globalSubrIndex:this.gsubrs};return Op.toBuffer(r)}constructor(e){if(super(e),this.cff=this.font["CFF "],!this.cff)throw new Error("Not a CFF Font")}},Le=class t{static probe(e){let n=Jo.decode(e.slice(0,4));return n==="true"||n==="OTTO"||n==="\0\0\0"}setDefaultLanguage(e=null){this.defaultLanguage=e}_getTable(e){if(!(e.tag in this._tables))try{this._tables[e.tag]=this._decodeTable(e)}catch(n){cp&&(console.error(`Error decoding table ${e.tag}`),console.error(n.stack))}return this._tables[e.tag]}_getTableStream(e){let n=this.directory.tables[e];return n?(this.stream.pos=n.offset,this.stream):null}_decodeDirectory(){return this.directory=Pp.decode(this.stream,{_startOffset:0})}_decodeTable(e){let n=this.stream.pos,r=this._getTableStream(e.tag),s=Lo[e.tag].decode(r,this,e.length);return this.stream.pos=n,s}getName(e,n=this.defaultLanguage||To){let r=this.name&&this.name.records[e];return r&&(r[n]||r[this.defaultLanguage]||r[To]||r.en||r[Object.keys(r)[0]])||null}get postscriptName(){return this.getName("postscriptName")}get fullName(){return this.getName("fullName")}get familyName(){return this.getName("fontFamily")}get subfamilyName(){return this.getName("fontSubfamily")}get copyright(){return this.getName("copyright")}get version(){return this.getName("version")}get ascent(){return this.hhea.ascent}get descent(){return this.hhea.descent}get lineGap(){return this.hhea.lineGap}get underlinePosition(){return this.post.underlinePosition}get underlineThickness(){return this.post.underlineThickness}get italicAngle(){return this.post.italicAngle}get capHeight(){let e=this["OS/2"];return e?e.capHeight:this.ascent}get xHeight(){let e=this["OS/2"];return e?e.xHeight:0}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get bbox(){return Object.freeze(new dn(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new Is(this.cmap)}get characterSet(){return this._cmapProcessor.getCharacterSet()}hasGlyphForCodePoint(e){return!!this._cmapProcessor.lookup(e)}glyphForCodePoint(e){return this.getGlyph(this._cmapProcessor.lookup(e),[e])}glyphsForString(e){let n=[],r=e.length,s=0,i=-1,o=-1;for(;s<=r;){let a=0,u=0;if(s<r){if(a=e.charCodeAt(s++),55296<=a&&a<=56319&&s<r){let l=e.charCodeAt(s);56320<=l&&l<=57343&&(s++,a=((a&1023)<<10)+(l&1023)+65536)}u=65024<=a&&a<=65039||917760<=a&&a<=917999?1:0}else s++;o===0&&u===1?n.push(this.getGlyph(this._cmapProcessor.lookup(i,a),[i,a])):o===0&&u===0&&n.push(this.glyphForCodePoint(i)),i=a,o=u}return n}get _layoutEngine(){return new hl(this)}layout(e,n,r,s,i){return this._layoutEngine.layout(e,n,r,s,i)}stringsForGlyph(e){return this._layoutEngine.stringsForGlyph(e)}get availableFeatures(){return this._layoutEngine.getAvailableFeatures()}getAvailableFeatures(e,n){return this._layoutEngine.getAvailableFeatures(e,n)}_getBaseGlyph(e,n=[]){return this._glyphs[e]||(this.directory.tables.glyf?this._glyphs[e]=new Mr(e,n,this):(this.directory.tables["CFF "]||this.directory.tables.CFF2)&&(this._glyphs[e]=new ml(e,n,this))),this._glyphs[e]||null}getGlyph(e,n=[]){return this._glyphs[e]||(this.directory.tables.sbix?this._glyphs[e]=new gl(e,n,this):this.directory.tables.COLR&&this.directory.tables.CPAL?this._glyphs[e]=new bl(e,n,this):this._getBaseGlyph(e,n)),this._glyphs[e]||null}createSubset(){return this.directory.tables["CFF "]?new wl(this):new vl(this)}get variationAxes(){let e={};if(!this.fvar)return e;for(let n of this.fvar.axis)e[n.axisTag.trim()]={name:n.name.en,min:n.minValue,default:n.defaultValue,max:n.maxValue};return e}get namedVariations(){let e={};if(!this.fvar)return e;for(let n of this.fvar.instance){let r={};for(let s=0;s<this.fvar.axis.length;s++){let i=this.fvar.axis[s];r[i.axisTag.trim()]=n.coord[s]}e[n.name.en]=r}return e}getVariation(e){if(!(this.directory.tables.fvar&&(this.directory.tables.gvar&&this.directory.tables.glyf||this.directory.tables.CFF2)))throw new Error("Variations require a font with the fvar, gvar and glyf, or CFF2 tables.");if(typeof e=="string"&&(e=this.namedVariations[e]),typeof e!="object")throw new Error("Variation settings must be either a variation name or settings object.");let n=this.fvar.axis.map((i,o)=>{let a=i.axisTag.trim();return a in e?Math.max(i.minValue,Math.min(i.maxValue,e[a])):i.defaultValue}),r=new he(this.stream.buffer);r.pos=this._directoryPos;let s=new t(r,n);return s._tables=this._tables,s}get _variationProcessor(){if(!this.fvar)return null;let e=this.variationCoords;return!e&&!this.CFF2?null:(e||(e=this.fvar.axis.map(n=>n.defaultValue)),new xl(this,e))}getFont(e){return this.getVariation(e)}constructor(e,n=null){je(this,"type","TTF"),this.defaultLanguage=null,this.stream=e,this.variationCoords=n,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory();for(let r in this.directory.tables){let s=this.directory.tables[r];Lo[r]&&s.length>0&&Object.defineProperty(this,r,{get:this._getTable.bind(this,s)})}}};Ce([Me],Le.prototype,"bbox",null);Ce([Me],Le.prototype,"_cmapProcessor",null);Ce([Me],Le.prototype,"characterSet",null);Ce([Me],Le.prototype,"_layoutEngine",null);Ce([Me],Le.prototype,"variationAxes",null);Ce([Me],Le.prototype,"namedVariations",null);Ce([Me],Le.prototype,"_variationProcessor",null);u4=new C({tag:new oe(4),offset:new w(k,"void",{type:"global"}),compLength:k,length:k,origChecksum:k}),Vp=new C({tag:new oe(4),flavor:k,length:k,numTables:f,reserved:new le(f),totalSfntSize:k,majorVersion:f,minorVersion:f,metaOffset:k,metaLength:k,metaOrigLength:k,privOffset:k,privLength:k,tables:new v(u4,"numTables")});Vp.process=function(){let t={};for(let e of this.tables)t[e.tag]=e;this.tables=t};l4=Vp,kl=class extends Le{static probe(e){return Jo.decode(e.slice(0,4))==="wOFF"}_decodeDirectory(){this.directory=l4.decode(this.stream,{_startOffset:0})}_getTableStream(e){let n=this.directory.tables[e];if(n)if(this.stream.pos=n.offset,n.compLength<n.length){this.stream.pos+=2;let r=new Uint8Array(n.length),s=(0,up.default)(this.stream.readBuffer(n.compLength-2),r);return new he(s)}else return this.stream;return null}constructor(...e){super(...e),je(this,"type","WOFF")}},Sl=class extends Mr{_decode(){return this._font._transformedGlyphs[this.id]}_getCBox(){return this.path.bbox}constructor(...e){super(...e),je(this,"type","WOFF2")}},sp={decode(t){let e=0,n=[0,1,2,3,4];for(let r=0;r<n.length;r++){let s=n[r],i=t.readUInt8();if(e&3758096384)throw new Error("Overflow");if(e=e<<7|i&127,(i&128)===0)return e}throw new Error("Bad base 128 number")}},c4=["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"],f4=new C({flags:U,customTag:new en(new oe(4),t=>(t.flags&63)===63),tag:t=>t.customTag||c4[t.flags&63],length:sp,transformVersion:t=>t.flags>>>6&3,transformed:t=>t.tag==="glyf"||t.tag==="loca"?t.transformVersion===0:t.transformVersion!==0,transformLength:new en(sp,t=>t.transformed)}),_p=new C({tag:new oe(4),flavor:k,length:k,numTables:f,reserved:new le(f),totalSfntSize:k,totalCompressedSize:k,majorVersion:f,minorVersion:f,metaOffset:k,metaLength:k,metaOrigLength:k,privOffset:k,privLength:k,tables:new v(f4,"numTables")});_p.process=function(){let t={};for(let e=0;e<this.tables.length;e++){let n=this.tables[e];t[n.tag]=n}return this.tables=t};d4=_p,Cl=class extends Le{static probe(e){return Jo.decode(e.slice(0,4))==="wOF2"}_decodeDirectory(){this.directory=d4.decode(this.stream),this._dataPos=this.stream.pos}_decompress(){if(!this._decompressed){this.stream.pos=this._dataPos;let e=this.stream.readBuffer(this.directory.totalCompressedSize),n=0;for(let s in this.directory.tables){let i=this.directory.tables[s];i.offset=n,n+=i.transformLength!=null?i.transformLength:i.length}let r=(0,lp.default)(e,n);if(!r)throw new Error("Error decoding compressed data in WOFF2");this.stream=new he(r),this._decompressed=!0}}_decodeTable(e){return this._decompress(),super._decodeTable(e)}_getBaseGlyph(e,n=[]){if(!this._glyphs[e])return this.directory.tables.glyf&&this.directory.tables.glyf.transformed?(this._transformedGlyphs||this._transformGlyfTable(),this._glyphs[e]=new Sl(e,n,this)):super._getBaseGlyph(e,n)}_transformGlyfTable(){this._decompress(),this.stream.pos=this.directory.tables.glyf.offset;let e=h4.decode(this.stream),n=[];for(let s=0;s<e.numGlyphs;s++){let i={},o=e.nContours.readInt16BE();if(i.numberOfContours=o,o>0){let a=[],u=0;for(let l=0;l<o;l++){let c=Lu(e.nPoints);u+=c,a.push(u)}i.points=b4(e.flags,e.glyphs,u);for(let l=0;l<o;l++)i.points[a[l]-1].endContour=!0;var r=Lu(e.glyphs)}else if(o<0&&Mr.prototype._decodeComposite.call({_font:this},i,e.composites))var r=Lu(e.glyphs);n.push(i)}this._transformedGlyphs=n}constructor(...e){super(...e),je(this,"type","WOFF2")}},Ut=class{decode(e,n){return new he(this._buf.decode(e,n))}constructor(e){this.length=e,this._buf=new Xe(e)}},h4=new C({version:k,numGlyphs:f,indexFormat:f,nContourStreamSize:k,nPointsStreamSize:k,flagStreamSize:k,glyphStreamSize:k,compositeStreamSize:k,bboxStreamSize:k,instructionStreamSize:k,nContours:new Ut("nContourStreamSize"),nPoints:new Ut("nPointsStreamSize"),flags:new Ut("flagStreamSize"),glyphs:new Ut("glyphStreamSize"),composites:new Ut("compositeStreamSize"),bboxes:new Ut("bboxStreamSize"),instructions:new Ut("instructionStreamSize")}),p4=253,m4=254,g4=255,ip=253;x4=new ee(k,{65536:{numFonts:k,offsets:new v(k,"numFonts")},131072:{numFonts:k,offsets:new v(k,"numFonts"),dsigTag:k,dsigLength:k,dsigOffset:k}}),El=class{static probe(e){return Jo.decode(e.slice(0,4))==="ttcf"}getFont(e){for(let n of this.header.offsets){let r=new he(this.stream.buffer);r.pos=n;let s=new Le(r);if(s.postscriptName===e||s.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&s.postscriptName.every((i,o)=>e[o]===i))return s}return null}get fonts(){let e=[];for(let n of this.header.offsets){let r=new he(this.stream.buffer);r.pos=n,e.push(new Le(r))}return e}constructor(e){if(je(this,"type","TTC"),this.stream=e,e.readString(4)!=="ttcf")throw new Error("Not a TrueType collection");this.header=x4.decode(e)}},y4=new oe(U),YE=new C({len:k,buf:new Xe("len")}),v4=new C({id:f,nameOffset:D,attr:U,dataOffset:Dt,handle:k}),w4=new C({name:new oe(4),maxTypeIndex:f,refList:new w(f,new v(v4,t=>t.maxTypeIndex+1),{type:"parent"})}),k4=new C({length:f,types:new v(w4,t=>t.length+1)}),S4=new C({reserved:new le(U,24),typeList:new w(f,k4),nameListOffset:new w(f,"void")}),op=new C({dataOffset:k,map:new w(k,S4),dataLength:k,mapLength:k}),Ol=class{static probe(e){let n=new he(e);try{var r=op.decode(n)}catch{return!1}for(let s of r.map.typeList.types)if(s.name==="sfnt")return!0;return!1}getFont(e){if(!this.sfnt)return null;for(let n of this.sfnt.refList){let r=this.header.dataOffset+n.dataOffset+4,s=new he(this.stream.buffer.slice(r)),i=new Le(s);if(i.postscriptName===e||i.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&i.postscriptName.every((o,a)=>e[a]===o))return i}return null}get fonts(){let e=[];for(let n of this.sfnt.refList){let r=this.header.dataOffset+n.dataOffset+4,s=new he(this.stream.buffer.slice(r));e.push(new Le(s))}return e}constructor(e){je(this,"type","DFont"),this.stream=e,this.header=op.decode(this.stream);for(let n of this.header.map.typeList.types){for(let r of n.refList)r.nameOffset>=0?(this.stream.pos=r.nameOffset+this.header.map.nameListOffset,r.name=y4.decode(this.stream)):r.name=null;n.name==="sfnt"&&(this.sfnt=n)}}};Fr(Le);Fr(kl);Fr(Cl);Fr(El);Fr(Ol)});function Fl(t){if(!t.startsWith("data:"))return;let e=t.indexOf(",");if(e<0)return;let n=t.slice(5,e),r=t.slice(e+1);try{return/;base64$/i.test(n)?C4(r):new TextEncoder().encode(decodeURIComponent(r))}catch{return}}function C4(t){let e=atob(t.replace(/\s+/g,"")),n=new Uint8Array(e.length);for(let r=0;r<e.length;r+=1)n[r]=e.charCodeAt(r);return n}function Nl(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function Dl(t,e){let n=2166136261,r=1523705862,s=i=>{n=Math.imul(n^i,16777619)>>>0,r=Math.imul(r^i,16777621)>>>0};for(let i=0;i<e.length;i+=1)s(e.charCodeAt(i)&255);for(let i=0;i<t.length;i+=1)s(t[i]);return n.toString(16).padStart(8,"0")+r.toString(16).padStart(8,"0")}var Rl=B(()=>{"use strict"});function zp(t){let e={bytes:t,dropped:[]};if(t.byteLength<12)return e;let n=Wp(t),r=n.getUint32(0);if(r!==E4&&r!==O4&&r!==A4)return e;let s=n.getUint16(4);if(12+s*16>t.byteLength)return e;let i=[],o=[];for(let a=0;a<s;a+=1){let u=12+a*16,l=P4(n,u),c=n.getUint32(u+8),d=n.getUint32(u+12);if(c+d>t.byteLength)return e;let h=t.subarray(c,c+d);if(I4.has(l)||l==="kern"&&!T4(h)){o.push(l);continue}i.push({tag:l,checksum:n.getUint32(u+4),bytes:h})}return o.length===0?e:{bytes:$4(r,i),dropped:o}}function T4(t){if(t.byteLength<4)return!1;let e=Wp(t);if(e.getUint16(0)!==0)return!1;let n=4;for(let r=0;r<e.getUint16(2);r+=1){if(n+6>t.byteLength||e.getUint16(n+4)>>8!==0)return!1;n+=e.getUint16(n+2)}return!0}function $4(t,e){let n=[...e].sort((l,c)=>l.tag<c.tag?-1:l.tag>c.tag?1:0),r=12+n.length*16,s=n.reduce((l,c)=>l+Gp(c.bytes.byteLength),r),i=new Uint8Array(s),o=new DataView(i.buffer),a=n.length>0?2**Math.floor(Math.log2(n.length)):0;o.setUint32(0,t),o.setUint16(4,n.length),o.setUint16(6,a*16),o.setUint16(8,a>0?Math.log2(a):0),o.setUint16(10,n.length*16-a*16);let u=r;return n.forEach((l,c)=>{let d=12+c*16;for(let h=0;h<4;h+=1)i[d+h]=l.tag.charCodeAt(h);o.setUint32(d+4,l.checksum),o.setUint32(d+8,u),o.setUint32(d+12,l.bytes.byteLength),i.set(l.bytes,u),u+=Gp(l.bytes.byteLength)}),i}function Gp(t){return t+3&-4}function Wp(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function P4(t,e){return String.fromCharCode(t.getUint8(e),t.getUint8(e+1),t.getUint8(e+2),t.getUint8(e+3))}var E4,O4,A4,I4,Ll=B(()=>{"use strict";E4=65536,O4=1330926671,A4=1953658213,I4=new Set(["morx","mort","kerx","feat","trak","ankr","just","prop","lcar","opbd","bsln"])});function hn(t,e,n){if(t.length===0)return;let r=n?"italic":"normal",s=t.filter(o=>o.style===r),i=s.length>0?s:t;return M4(i,e)}function M4(t,e){let n=t.find(i=>i.weight===e);if(n)return n;let r=t.filter(i=>i.weight<e).sort((i,o)=>o.weight-i.weight),s=t.filter(i=>i.weight>e).sort((i,o)=>i.weight-o.weight);if(e>=400&&e<=500){let i=s.filter(a=>a.weight<=500),o=s.filter(a=>a.weight>500);return i[0]??r[0]??o[0]}return e<400?r[0]??s[0]:s[0]??r[0]}var Bl=B(()=>{"use strict"});function Ms(t){let e=[],n="",r;for(let i of t){if(r!==void 0){i===r?r=void 0:n+=i;continue}if(i==='"'||i==="'"){r=i;continue}if(i===","){s();continue}n+=i}return s(),e;function s(){let i=n.trim().replace(/\s+/g," ");i!==""&&e.push(i),n=""}}function Fs(t){let e=t.toLowerCase();return F4.has(e)?"system":N4.has(e)?"generic":"named"}var F4,N4,Ul=B(()=>{"use strict";F4=new Set(["system-ui","-apple-system","blinkmacsystemfont","ui-sans-serif","sans-serif"]),N4=new Set(["serif","monospace","cursive","fantasy","math","emoji","fangsong","ui-serif","ui-monospace","ui-rounded"])});function _l(t={}){let e=t.defaultFamily??"Inter",n=new Map,r=new Map,s=new Set,i,o=new Map,a=new Set,u=[];function l(p){let m=D4(p);if(!m)return;let x=n.get(m.id)??m;if(n.set(x.id,x),p.origin!=="document"){let S=p.family.toLowerCase(),O=r.get(S)??[];if(!O.includes(x)){O.push(x),r.set(S,O);for(let M of[...s])M()}}return x}function c(p){if(!i)return;let m=p.toLowerCase(),x=o.get(m);if(x)return x;let S=i.family(p).then(O=>O.map(M=>l(M)).some(M=>M!==void 0),()=>!1);return o.set(m,S),S}function d(p,m,x){if(!i?.fallback)return;let S=[...new Set(p)].filter(O=>!a.has(`${O}|${m}|${x?1:0}`));if(S.length!==0){for(let O of S)a.add(`${O}|${m}|${x?1:0}`);return i.fallback(S.join(""),m,x).then(O=>{let M=!1;for(let g of O){let F=g.family.toLowerCase();u.includes(F)||u.push(F),l(g)&&(M=!0)}return M},()=>!1)}}return{add:l,faces:()=>[...n.values()],defaultFamily:e,setProvider(p){i=p,o.clear(),a.clear()},forDocument(p,m={}){return U4(p,m.loader,m.asset,{add:l,shared:x=>r.get(x.toLowerCase())??[],face:x=>n.get(x),lookup:c,fallbackFaces:(x,S)=>u.map(O=>hn(r.get(O)??[],x,S)).filter(O=>O!==void 0),requestFallback:d,defaultFamily:e,subscribe(x){return s.add(x),()=>s.delete(x)}})},onChange(p){return s.add(p),()=>s.delete(p)}}}function D4(t){let{bytes:e,dropped:n}=zp(t.bytes),r={...t,bytes:e},s;try{s=Nr(r.bytes)}catch{return}let i="fonts"in s?s.fonts.find(c=>c.postscriptName===r.postscriptName)??s.fonts[0]:s;if(!i||typeof i.layout!="function"||!(i.unitsPerEm>0))return;let o=R4(i),a=r.weight??o.weight??400,u=r.style??(o.italic||i.italicAngle!==0?"italic":"normal");return{id:`vd-${Dl(r.bytes,`${r.postscriptName??""}|${a}|${u}`)}`,family:r.family,weight:a,style:u,origin:r.origin,bytes:r.bytes,postscriptName:i.postscriptName,font:i,dropped:n}}function R4(t){try{let e=t["OS/2"];return{...e?.usWeightClass?{weight:e.usWeightClass}:{},italic:e?.fsSelection?.italic===!0}}catch{return{italic:!1}}}function L4(t,e){return/\p{M}/u.test(t)||e===8204||e===8205||e>=65024&&e<=65039||e>=917760&&e<=917999||e>=127995&&e<=127999}function U4(t,e,n,r){let s=new Map,i=new Set,o=new Set,a=[],u=Xt(),l=new Map,c=new Map,d=new Map,h=new Map,p=!1,m=()=>{if(!p){l=new Map,c=new Map,h.clear();for(let b of[...o])b()}},x=r.subscribe(m);for(let b of Object.values(t.fonts))S(b);function S(b){let I=b.family.toLowerCase();for(let A of b.faces??[]){let L=A.asset!==void 0?`asset ${A.asset}`:A.src??"",X=_=>{if(!_){a.push({kind:"unloadable",requested:b.family,detail:L});return}let K=s.get(I)??[];K.includes(_)||K.push(_),s.set(I,K)},H=_=>({family:b.family,bytes:_,origin:"document",...A.weight!==void 0?{weight:A.weight}:{},...A.style!==void 0?{style:A.style}:{}}),q=A.src===void 0?void 0:Fl(A.src);if(q){X(r.add(H(q)));continue}let G,Y;if(A.asset!==void 0){let _=t.assets[A.asset];Y=_===void 0?`asset ${A.asset} (no asset by that name)`:`asset ${A.asset} (its bytes are not here)`;try{G=_===void 0?void 0:n?.(_,A.asset)}catch{G=void 0}}else{Y=`${L} (a path, and nothing here can read one)`;try{G=e?.(L)}catch{G=void 0}}if(G===void 0){a.push({kind:"unloadable",requested:b.family,detail:Y});continue}if(G instanceof Uint8Array||G instanceof ArrayBuffer){X(r.add(H(Nl(G))));continue}O(Promise.resolve(G).then(_=>_===void 0?(X(void 0),!1):(X(r.add(H(Nl(_)))),m(),!0),()=>(X(void 0),!1)))}}function O(b){i.add(b),b.finally(()=>i.delete(b))}function M(b){let I=b.toLowerCase();return s.get(I)??r.shared(I)}function g(b,I,A){let L=`${b}\0${I}\0${A?1:0}`,X=l.get(L);if(X)return X;let H=[],q=[],G=ne=>{ne&&!H.includes(ne)&&H.push(ne)},Y=M(r.defaultFamily),_=F(b);if(_){let ne={faces:[_],issues:[]};return l.set(L,ne),ne}let K;for(let ne of Ms(b)){let Ke=Fs(ne);if(Ke==="named"){H.length===0&&(K??=ne);let Ze=M(ne);if(Ze.length>0){let Q=hn(Ze,I,A);G(Q),Vl(q,ne,Q,I,A);continue}let Fe=r.lookup(ne);Fe&&O(Fe),q.push({kind:"unavailable",requested:ne});continue}let ze=hn(Y,I,A);Ke==="generic"&&ze&&H.length===0&&q.push({kind:"generic",requested:ne,used:ze.family}),G(ze),Vl(q,r.defaultFamily,ze,I,A)}let pe=hn(Y,I,A);H.length===0&&pe&&Vl(q,r.defaultFamily,pe,I,A),G(pe);for(let ne of r.fallbackFaces(I,A))G(ne);let xe=H[0],Ee=q.map(ne=>ne.kind==="unavailable"&&xe?{...ne,used:xe.family}:ne).filter(ne=>ne.kind!=="unavailable"||ne.requested===K),Ie={faces:H,issues:Ee};return l.set(L,Ie),Ie}function F(b){if(!(!b.startsWith("vd-")&&!b.startsWith('"vd-')))return r.face(b.replace(/^"|"$/g,""))}function N(b){for(let I of b.issues)h.set(`${I.kind}|${I.requested}|${I.used??""}|${I.detail??""}`,I)}function R(b){d.set(b.id,b);let I=b.dropped.filter(A=>["kern","kerx","morx","mort"].includes(A));return I.length>0&&h.set(`platform-layout|${b.family}`,{kind:"platform-layout",requested:b.family,detail:I.join(", ")}),b}function E(b){let I=g(b.family,b.weight,b.italic);N(I);let A=I.faces[0];return A?R(A):void 0}function y(b,I){let A=`${b.id}\0${I}`,L=c.get(A);if(L!==void 0)return L;let X;try{X=b.font.layout(I).advanceWidth}catch{X=0}return c.size>=B4&&(c=new Map),c.set(A,X),X}let P={advance(b,I){if(b==="")return 0;let A=P.itemize({text:b,style:I}),L=0;for(let X of A){let H=F(X.style.family);L+=H?y(H,X.text)*I.size/H.font.unitsPerEm:u.advance(X.text,{...I,letterSpacing:0})}return L+I.letterSpacing*[...b].length},metrics(b){let I=F(b.family)??E(b);if(!I)return u.metrics(b);let A=b.size/I.font.unitsPerEm;return{ascent:I.font.ascent*A,descent:-I.font.descent*A,lineGap:0}},itemize(b){if(F(b.style.family))return[b];let A=g(b.style.family,b.style.weight,b.style.italic);N(A);let L=A.faces[0];if(!L)return[b];let X=[],H,q="",G=new Set;for(let Y of b.text){let _=Y.codePointAt(0)??0,K;if(H&&(L4(Y,_)||_4(_)))K=H;else{let pe=A.faces.find(xe=>V4(xe,_));!pe&&!/\s/.test(Y)&&G.add(Y),K=pe??H??L}K!==H&&q!==""&&(X.push({text:q,style:{...b.style,family:H.id}}),q=""),H=R(K),q+=Y}if(q!==""&&H&&X.push({text:q,style:{...b.style,family:H.id}}),G.size>0){let Y=[...G].join(""),_=r.requestFallback(Y,b.style.weight,b.style.italic);_&&O(_),h.set(`missing-glyphs|${b.style.family}|${Y}`,{kind:"missing-glyphs",requested:b.style.family,used:L.family,detail:Y})}return X}};return{measurer:P,usedFaces:()=>[...d.values()],faceOf:b=>F(b),issues:()=>[...a,...h.values()],async settle(){let b=!1;for(;i.size>0;)(await Promise.all([...i])).some(Boolean)&&(b=!0);return b},onChange(b){return o.add(b),()=>o.delete(b)},dispose(){p=!0,x(),o.clear()}}}function V4(t,e){try{return t.font.hasGlyphForCodePoint(e)}catch{return!1}}function _4(t){return t<32||t>=127&&t<160}function Vl(t,e,n,r,s){n&&(s&&n.style!=="italic"&&t.push({kind:"no-italic",requested:e,used:n.family}),n.weight!==r&&t.push({kind:"weight",requested:e,used:n.family,detail:`${r} drawn as ${n.weight}`}))}var B4,qp=B(()=>{"use strict";Ml();ao();Rl();Ll();Bl();Ul();B4=5e4});var j4,Ns,Dr,Hp=B(()=>{"use strict";j4=[[100,"Thin"],[200,"ExtraLight"],[300,"Light"],[400,"Regular"],[500,"Medium"],[600,"SemiBold"],[700,"Bold"],[800,"ExtraBold"],[900,"Black"]],Ns="Inter",Dr=j4.flatMap(([t,e])=>[{family:Ns,weight:t,style:"normal",file:`Inter-${e}.woff2`},{family:Ns,weight:t,style:"italic",file:t===400?"Inter-Italic.woff2":`Inter-${e}Italic.woff2`}])});var Xp=B(()=>{"use strict"});var Yp=B(()=>{"use strict";Ml()});var Kp=B(()=>{"use strict";qp();Bl();Ul();Hp();Rl();Ll();Xp();Yp()});var t1={};b1(t1,{BUNDLED_FACE_COUNT:()=>z4,createExactFonts:()=>Qp,exactFontsAt:()=>Gl,exactSvg:()=>W4,exactSvgNow:()=>q4,facesFor:()=>jl});function jl(t){let e=new Set(Object.values(t.fonts).filter(o=>(o.faces?.length??0)>0).map(o=>o.family.toLowerCase())),n=new Set,r=(o,a,u)=>{if(!G4(o,e))return;let l=hn(Dr,a,u);l&&n.add(l)},s=Xt();return hr(t,{measure:{advance(o,a){return r(a.family,a.weight,a.italic),s.advance(o,a)},metrics(o){return r(o.family,o.weight,o.italic),s.metrics(o)}}}),Dr.filter(o=>n.has(o))}function G4(t,e){for(let n of Ms(t)){if(Fs(n)!=="named")return!0;let r=n.toLowerCase();if(e.has(r))return!1;if(r===Ns.toLowerCase())return!0}return!0}function Qp(t){let e=_l(),n=t.read??Y4,r=new Map,s=new Set;function i(o){let a=r.get(o.file);if(a)return a;let u=(async()=>{try{let l=await n(new URL(o.file,t.base));if(e.add({...o,bytes:l,origin:"bundled"})){s.add(o.file);return}return{file:o.file,reason:"not a font this package can read"}}catch(l){return{file:o.file,reason:l instanceof Error?l.message:String(l)}}})().then(l=>(l&&r.delete(o.file),l));return r.set(o.file,u),u}return{library:e,async ensure(o){return(await Promise.all(jl(o).map(i))).filter(u=>u!==void 0)},async ensureAll(){return(await Promise.all(Dr.map(i))).filter(a=>a!==void 0)},has(o){return jl(o).every(a=>s.has(a.file))}}}function Gl(t){let e=Zp.get(t.href);return e||Zp.set(t.href,e=Qp({base:t})),e}async function W4(t,e){let n=Gl(e.base),r=await n.ensure(t);if(r.length>0)return{failures:r};let s=n.library.forDocument(t);try{return await s.settle(),{svg:e1(t,s,e)}}finally{s.dispose()}}function q4(t,e){let n=Gl(e.base);if(!n.has(t))return;let r=n.library.forDocument(t);try{return e1(t,r,e)}finally{r.dispose()}}function e1(t,e,n){let r=hr(t,{measure:e.measurer,...n.resolveAsset?{resolveAsset:n.resolveAsset}:{}});return cs(H4(r,e),{ids:!1,...n.idPrefix?{idPrefix:n.idPrefix}:{}})}function H4(t,e){return{...t,items:t.items.map(n=>n.kind!=="text"?n:{...n,lines:n.lines.map(r=>({...r,spans:r.spans.map(s=>{let i=e.faceOf(s.style.family);return i?{...s,style:{...s.style,family:i.origin==="bundled"?`${Jp(i.family)}, sans-serif`:Jp(i.family),weight:i.weight,italic:i.style==="italic"}}:s})}))})}}function Jp(t){return/^[A-Za-z][A-Za-z0-9 -]*$/.test(t)?t:JSON.stringify(t)}function X4(){return globalThis.process?.getBuiltinModule?.("node:fs/promises")}async function Y4(t){if(t.protocol==="file:"){let n=X4();if(!n)throw new Error(`cannot read ${t.href} here`);return new Uint8Array(await n.readFile(t))}let e=await fetch(t.href);if(!e.ok)throw new Error(`${t.href} answered ${e.status}`);return new Uint8Array(await e.arrayBuffer())}var z4,Zp,n1=B(()=>{"use strict";Kp();ao();z4=Dr.length,Zp=new Map});import{mkdirSync as Q4,readdirSync as e5,readFileSync as i1,statSync as o1,writeFileSync as t5,existsSync as n5}from"node:fs";import{basename as zl,dirname as Wl,join as ql,relative as a1,resolve as Ds}from"node:path";He();ao();He();var z0="0.6.1",W0="https://cdn.jsdelivr.net/npm/@getv.design/embed@0.6.1/fonts/";var I2=Symbol.for(`vdesign.embed.documents@${z0}`),qf=globalThis[I2]??=new WeakMap,T2=/^Line (\d+): /;function $2(t){let e=T2.exec(t.message);return{...e?{line:Number(e[1])}:{},code:t.code,message:t.message,severity:t.severity}}function uo(t){if(typeof t!="string")return q0(ns("").document,new Map,[{code:"not-text",message:`parse() takes .vd text, not ${t===null?"null":typeof t}.`,severity:"error"}]);let e=Hf(t);if(e.vd===void 0)return q0(ns("").document,new Map,[{code:"not-vd",message:"This SVG carries no vDesign document: only a .vd.svg exported from vDesign does.",severity:"error"}]);let{head:n,blocks:r}=La(e.vd),s=ns(n),i=s.problems.map($2).map(o=>o.line===void 0?o:{...o,line:o.line+e.offset});return q0(s.document,r,i)}function Hf(t){if(!s0(t))return{vd:t,offset:0};let e=r0(t);if(e===void 0)return{vd:void 0,offset:0};let n=t.indexOf("<vd:document"),r=t.indexOf("</vd:document",n),s=t.indexOf("<![CDATA[",n);if(s===-1||r!==-1&&s>r){let a=t.indexOf(">",n)+1,u=t.slice(0,a).split(`
|
|
14
|
+
`).length-1;return{vd:e,offset:u+(t[a]===`
|
|
15
|
+
`?1:0)}}let i=s+9,o=t.slice(0,i).split(`
|
|
16
|
+
`).length-1;return{vd:e,offset:o+(t[i]===`
|
|
17
|
+
`?1:0)}}function q0(t,e,n){let r=Object.freeze({});return qf.set(r,{document:t,blocks:e,problems:n}),{document:r,problems:n}}function fs(t){let e=qf.get(t);if(!e)throw new TypeError("Not a vDesign document: pass .vd text or what parse() returned.");return e}async function Xf(t){if(typeof t=="string")return fs(uo(t).document);if(t instanceof URL){let e=await fetch(t);if(!e.ok)throw new Error(`Could not fetch ${t.href}: ${e.status}`);return fs(uo(await e.text()).document)}return P2(t)?fs(uo(await t.text()).document):fs(t)}function P2(t){let e=t;return typeof e.text=="function"&&typeof e.size=="number"}function Yf(t,e,n){let r=t===void 0?e:String(t);if(r===void 0)return;let s;try{s=new URL(r,n??globalThis.location?.href)}catch{throw new TypeError(`fontBase must be a URL, or a path on this page; got ${r}.`)}return s.pathname.endsWith("/")||(s.pathname+="/"),s}function H0(t,e){return{code:"fonts-unavailable",message:`Exact fonts could not be loaded: ${e??t.map(r=>`${r.file} (${r.reason})`).join(", ")}. Text is measured without them, so lines may break differently from the app's.`,severity:"warning"}}function Kf(t){return t.root.children.filter(e=>e.type==="frame"&&e.hidden!==!0&&e.component!==!0)}function Zf(t,e){let n=Kf(t),r=typeof e=="number"?n[e]:n.find(s=>s.id===e);if(!r){let s=n.map(i=>i.id).join(", ")||"none";throw new RangeError(`No page ${JSON.stringify(e)} in this document; its pages: ${s}.`)}return r}async function s1(t,e={}){let n=e.fonts??"approximate";if(!r1.includes(n))throw new TypeError(`renderSvg: fonts must be one of ${r1.join(", ")}; got ${String(n)}.`);let r=n==="exact"?Yf(e.fontBase,Z4()):void 0,{document:s,blocks:i,problems:o}=await Xf(t),a=e.page===void 0?s:J4(s,e.page),u=K4(i),l=e.idPrefix,c=[...o],d;if(n==="exact")if(r===void 0)c.push(H0([],"no fontBase was given and this build has no default"));else{let{exactSvg:h}=await Promise.resolve().then(()=>(n1(),t1)),p=await h(a,{base:r,resolveAsset:u,...l?{idPrefix:l}:{}});"svg"in p?d=p.svg:c.push(H0(p.failures))}return d??=Wf(a,{ids:!1,resolveAsset:u,...l?{idPrefix:l}:{}}),e.onProblems?.(c),d}function K4(t){return e=>{let n=t.get(e.hash);return n===void 0?void 0:Ba(e.type,n)}}var r1=["approximate","exact"];function Z4(){let t=import.meta.url;if(typeof t!="string")return W0;let n=typeof globalThis.process?.getBuiltinModule=="function",r=/\/dist\/chunks\/[^/]*$/.test(t)?"../../fonts/":"../fonts/";return t.startsWith("file:")&&n?new URL(r,t).href:W0}function J4(t,e){let n=Zf(t,e);return{...t,root:{...t.root,children:t.root.children.map(r=>r===n?r:{...r,hidden:!0})}}}var na=`Usage: vd-render <file.vd | folder>... [--out <dir>] [--page <id|index>] [--check]
|
|
18
18
|
|
|
19
19
|
Renders each .vd file to an .svg beside it (or in --out).
|
|
20
20
|
--out <dir> write the SVGs here instead
|
|
21
21
|
--page <p> render one page, by id or 0-based index
|
|
22
22
|
--check write nothing; exit 1 if any SVG is missing or out of date
|
|
23
|
-
--approximate measure text without the font files`;function
|
|
23
|
+
--approximate measure text without the font files`;function r5(t){let e={inputs:[],check:!1,approximate:!1};for(let n=0;n<t.length;n+=1){let r=t[n];if(r==="--help"||r==="-h")return na;if(r==="--check")e.check=!0;else if(r==="--approximate")e.approximate=!0;else if(r==="--out"||r==="--page"){let s=t[n+1];if(s===void 0)return`${r} needs a value.
|
|
24
24
|
|
|
25
|
-
${
|
|
25
|
+
${na}`;n+=1,r==="--out"?e.out=s:e.page=/^\d+$/.test(s)?Number(s):s}else{if(r.startsWith("-"))return`Unknown option ${r}.
|
|
26
26
|
|
|
27
|
-
${
|
|
27
|
+
${na}`;e.inputs.push(r)}}return e.inputs.length===0?na:e}function u1(t){return o1(t).isFile()?[t]:e5(t).filter(n=>n!=="node_modules"&&!n.startsWith(".")).flatMap(n=>{let r=ql(t,n);return o1(r).isDirectory()?u1(r):n.endsWith(".vd")?[r]:[]})}function s5(t,e){return Ds(e??Wl(t),`${zl(t,".vd")}.svg`)}async function l1(t,e=console){let n=r5(t);if(typeof n=="string"){let u=t.includes("--help")||t.includes("-h");return(u?e.log:e.error)(n),u?0:2}let r=!1,s=[],i=[];for(let u of n.inputs)try{i.push(...u1(u))}catch{e.error(`vd-render: cannot read ${u}`),r=!0}let o=new Map,a=[];for(let u of i){let l=s5(u,n.out),c=o.get(l);if(c===void 0)o.set(l,Ds(u)),a.push(u);else if(c!==Ds(u))return e.error(`vd-render: ${u} and ${c} would both write ${l}`),2}for(let u of a){let l=n.out?ql(n.out,`${zl(u,".vd")}.svg`):ql(Wl(u),`${zl(u,".vd")}.svg`),c=[],d;try{d=await s1(i1(u,"utf8"),{fonts:n.approximate?"approximate":"exact",...n.page===void 0?{}:{page:n.page},onProblems:h=>c.push(...h.filter(p=>p.severity==="error"||p.code==="fonts-unavailable").map(p=>p.message))})}catch(h){e.error(`vd-render: ${u}: ${h instanceof Error?h.message:String(h)}`),r=!0;continue}for(let h of c)e.error(`vd-render: ${u}: ${h}`);if(n.check){(n5(l)?i1(l,"utf8"):void 0)!==d&&s.push(a1(process.cwd(),Ds(l)));continue}Q4(Wl(l),{recursive:!0}),t5(l,d),e.log(`${a1(process.cwd(),Ds(l))}`)}return s.length>0?(e.error(`vd-render: out of date, run vd-render to update:
|
|
28
28
|
${s.join(`
|
|
29
|
-
`)}`),1):r?1:0}process.exitCode=await
|
|
29
|
+
`)}`),1):r?1:0}process.exitCode=await l1(process.argv.slice(2));
|