>m-t.bi_valid,t.bi_valid+=n-m):(t.bi_buf|=e<>>=1,n<<=1,--e>0;);return n>>>1}function H(t,e,n){var r,i,a=new Array(b+1),o=0;for(r=1;r<=b;r++)a[r]=o=o+n[r-1]<<1;for(i=0;i<=e;i++){var s=t[2*i+1];0!==s&&(t[2*i]=j(a[s]++,s))}}function q(t){var e;for(e=0;e8?W(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function Y(t,e,n,r){var i=2*e,a=2*n;return t[i]>1;n>=1;n--)X(t,a,n);for(i=l;n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],X(t,a,1),r=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=r,a[2*i]=a[2*n]+a[2*r],t.depth[i]=(t.depth[n]>=t.depth[r]?t.depth[n]:t.depth[r])+1,a[2*n+1]=a[2*r+1]=i,t.heap[1]=i++,X(t,a,1),t.heap_len>=2;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var n,r,i,a,o,s,l=e.dyn_tree,u=e.max_code,c=e.stat_desc.static_tree,h=e.stat_desc.has_stree,f=e.stat_desc.extra_bits,d=e.stat_desc.extra_base,p=e.stat_desc.max_length,g=0;for(a=0;a<=b;a++)t.bl_count[a]=0;for(l[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;np&&(a=p,g++),l[2*r+1]=a,r>u||(t.bl_count[a]++,o=0,r>=d&&(o=f[r-d]),s=l[2*r],t.opt_len+=s*(a+o),h&&(t.static_len+=s*(c[2*r+1]+o)));if(0!==g){do{for(a=p-1;0===t.bl_count[a];)a--;t.bl_count[a]--,t.bl_count[a+1]+=2,t.bl_count[p]--,g-=2}while(g>0);for(a=p;0!==a;a--)for(r=t.bl_count[a];0!==r;)(i=t.heap[--n])>u||(l[2*i+1]!==a&&(t.opt_len+=(a-l[2*i+1])*l[2*i],l[2*i+1]=a),r--)}}(t,e),H(a,u,t.bl_count)}function Q(t,e,n){var r,i,a=-1,o=e[1],s=0,l=7,u=4;for(0===o&&(l=138,u=3),e[2*(n+1)+1]=65535,r=0;r<=n;r++)i=o,o=e[2*(r+1)+1],++s>=7;r0?(t.strm.data_type===s&&(t.strm.data_type=function(t){var e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return a;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return o;for(e=32;e=3&&0===t.bl_tree[2*E[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),l=t.opt_len+3+7>>>3,(u=t.static_len+3+7>>>3)<=l&&(l=u)):l=u=n+5,n+4<=l&&-1!==e?et(t,e,n,r):t.strategy===i||u===l?(G(t,(c<<1)+(r?1:0),3),K(t,I,T)):(G(t,(h<<1)+(r?1:0),3),function(t,e,n,r){var i;for(G(t,e-257,5),G(t,n-1,5),G(t,r-4,4),i=0;i>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(L[n]+d+1)]++,t.dyn_dtree[2*U(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){var e;G(t,c<<1,3),V(t,x,I),16===(e=t).bi_valid?(W(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}},function(t,e,n){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(t,e,n){"use strict";var r=n(34),i=n(89),a=n(90),o=n(158),s=n(159),l=0,u=1,c=2,h=4,f=5,d=6,p=0,g=1,y=2,v=-2,b=-3,m=-4,w=-5,x=8,S=1,_=2,k=3,C=4,A=5,P=6,E=7,I=8,T=9,O=10,L=11,B=12,M=13,R=14,F=15,D=16,z=17,N=18,U=19,W=20,G=21,V=22,j=23,H=24,q=25,Z=26,Y=27,X=28,K=29,J=30,Q=31,$=32,tt=852,et=592,nt=15;function rt(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function it(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=S,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new r.Buf32(tt),e.distcode=e.distdyn=new r.Buf32(et),e.sane=1,e.back=-1,p):v}function at(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,it(t)):v}function ot(t,e){var n,r;return t&&t.state?(r=t.state,e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?v:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,at(t))):v}function st(t,e){var n,i;return t?(i=new function(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0},t.state=i,i.window=null,(n=ot(t,e))!==p&&(t.state=null),n):v}var lt,ut,ct=!0;function ht(t){if(ct){var e;for(lt=new r.Buf32(512),ut=new r.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(s(u,t.lens,0,288,lt,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;s(c,t.lens,0,32,ut,0,t.work,{bits:5}),ct=!1}t.lencode=lt,t.lenbits=9,t.distcode=ut,t.distbits=5}function ft(t,e,n,i){var a,o=t.state;return null===o.window&&(o.wsize=1<=o.wsize?(r.arraySet(o.window,e,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((a=o.wsize-o.wnext)>i&&(a=i),r.arraySet(o.window,e,n-i,a,o.wnext),(i-=a)?(r.arraySet(o.window,e,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=a(n.check,Pt,2,0),st=0,lt=0,n.mode=_;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&st)<<8)+(st>>8))%31){t.msg="incorrect header check",n.mode=J;break}if((15&st)!==x){t.msg="unknown compression method",n.mode=J;break}if(lt-=4,St=8+(15&(st>>>=4)),0===n.wbits)n.wbits=St;else if(St>n.wbits){t.msg="invalid window size",n.mode=J;break}n.dmax=1<>8&1),512&n.flags&&(Pt[0]=255&st,Pt[1]=st>>>8&255,n.check=a(n.check,Pt,2,0)),st=0,lt=0,n.mode=k;case k:for(;lt<32;){if(0===at)break t;at--,st+=tt[nt++]<>>8&255,Pt[2]=st>>>16&255,Pt[3]=st>>>24&255,n.check=a(n.check,Pt,4,0)),st=0,lt=0,n.mode=C;case C:for(;lt<16;){if(0===at)break t;at--,st+=tt[nt++]<>8),512&n.flags&&(Pt[0]=255&st,Pt[1]=st>>>8&255,n.check=a(n.check,Pt,2,0)),st=0,lt=0,n.mode=A;case A:if(1024&n.flags){for(;lt<16;){if(0===at)break t;at--,st+=tt[nt++]<>>8&255,n.check=a(n.check,Pt,2,0)),st=0,lt=0}else n.head&&(n.head.extra=null);n.mode=P;case P:if(1024&n.flags&&((dt=n.length)>at&&(dt=at),dt&&(n.head&&(St=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),r.arraySet(n.head.extra,tt,nt,dt,St)),512&n.flags&&(n.check=a(n.check,tt,dt,nt)),at-=dt,nt+=dt,n.length-=dt),n.length))break t;n.length=0,n.mode=E;case E:if(2048&n.flags){if(0===at)break t;for(dt=0;St=tt[nt+dt++],n.head&&St&&n.length<65536&&(n.head.name+=String.fromCharCode(St)),St&&dt>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=B;break;case O:for(;lt<32;){if(0===at)break t;at--,st+=tt[nt++]<>>=7<,lt-=7<,n.mode=Y;break}for(;lt<3;){if(0===at)break t;at--,st+=tt[nt++]<>>=1)){case 0:n.mode=R;break;case 1:if(ht(n),n.mode=W,e===d){st>>>=2,lt-=2;break t}break;case 2:n.mode=z;break;case 3:t.msg="invalid block type",n.mode=J}st>>>=2,lt-=2;break;case R:for(st>>>=7<,lt-=7<lt<32;){if(0===at)break t;at--,st+=tt[nt++]<>>16^65535)){t.msg="invalid stored block lengths",n.mode=J;break}if(n.length=65535&st,st=0,lt=0,n.mode=F,e===d)break t;case F:n.mode=D;case D:if(dt=n.length){if(dt>at&&(dt=at),dt>ot&&(dt=ot),0===dt)break t;r.arraySet(et,tt,nt,dt,it),at-=dt,nt+=dt,ot-=dt,it+=dt,n.length-=dt;break}n.mode=B;break;case z:for(;lt<14;){if(0===at)break t;at--,st+=tt[nt++]<>>=5,lt-=5,n.ndist=1+(31&st),st>>>=5,lt-=5,n.ncode=4+(15&st),st>>>=4,lt-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=J;break}n.have=0,n.mode=N;case N:for(;n.have>>=3,lt-=3}for(;n.have<19;)n.lens[Et[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,kt={bits:n.lenbits},_t=s(l,n.lens,0,19,n.lencode,0,n.work,kt),n.lenbits=kt.bits,_t){t.msg="invalid code lengths set",n.mode=J;break}n.have=0,n.mode=U;case U:for(;n.have>>16&255,bt=65535&At,!((yt=At>>>24)<=lt);){if(0===at)break t;at--,st+=tt[nt++]<>>=yt,lt-=yt,n.lens[n.have++]=bt;else{if(16===bt){for(Ct=yt+2;lt>>=yt,lt-=yt,0===n.have){t.msg="invalid bit length repeat",n.mode=J;break}St=n.lens[n.have-1],dt=3+(3&st),st>>>=2,lt-=2}else if(17===bt){for(Ct=yt+3;lt>>=yt)),st>>>=3,lt-=3}else{for(Ct=yt+7;lt>>=yt)),st>>>=7,lt-=7}if(n.have+dt>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=J;break}for(;dt--;)n.lens[n.have++]=St}}if(n.mode===J)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=J;break}if(n.lenbits=9,kt={bits:n.lenbits},_t=s(u,n.lens,0,n.nlen,n.lencode,0,n.work,kt),n.lenbits=kt.bits,_t){t.msg="invalid literal/lengths set",n.mode=J;break}if(n.distbits=6,n.distcode=n.distdyn,kt={bits:n.distbits},_t=s(c,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,kt),n.distbits=kt.bits,_t){t.msg="invalid distances set",n.mode=J;break}if(n.mode=W,e===d)break t;case W:n.mode=G;case G:if(at>=6&&ot>=258){t.next_out=it,t.avail_out=ot,t.next_in=nt,t.avail_in=at,n.hold=st,n.bits=lt,o(t,ct),it=t.next_out,et=t.output,ot=t.avail_out,nt=t.next_in,tt=t.input,at=t.avail_in,st=n.hold,lt=n.bits,n.mode===B&&(n.back=-1);break}for(n.back=0;vt=(At=n.lencode[st&(1<>>16&255,bt=65535&At,!((yt=At>>>24)<=lt);){if(0===at)break t;at--,st+=tt[nt++]<>mt)])>>>16&255,bt=65535&At,!(mt+(yt=At>>>24)<=lt);){if(0===at)break t;at--,st+=tt[nt++]<>>=mt,lt-=mt,n.back+=mt}if(st>>>=yt,lt-=yt,n.back+=yt,n.length=bt,0===vt){n.mode=Z;break}if(32&vt){n.back=-1,n.mode=B;break}if(64&vt){t.msg="invalid literal/length code",n.mode=J;break}n.extra=15&vt,n.mode=V;case V:if(n.extra){for(Ct=n.extra;lt>>=n.extra,lt-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=j;case j:for(;vt=(At=n.distcode[st&(1<>>16&255,bt=65535&At,!((yt=At>>>24)<=lt);){if(0===at)break t;at--,st+=tt[nt++]<>mt)])>>>16&255,bt=65535&At,!(mt+(yt=At>>>24)<=lt);){if(0===at)break t;at--,st+=tt[nt++]<>>=mt,lt-=mt,n.back+=mt}if(st>>>=yt,lt-=yt,n.back+=yt,64&vt){t.msg="invalid distance code",n.mode=J;break}n.offset=bt,n.extra=15&vt,n.mode=H;case H:if(n.extra){for(Ct=n.extra;lt>>=n.extra,lt-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=J;break}n.mode=q;case q:if(0===ot)break t;if(dt=ct-ot,n.offset>dt){if((dt=n.offset-dt)>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=J;break}dt>n.wnext?(dt-=n.wnext,pt=n.wsize-dt):pt=n.wnext-dt,dt>n.length&&(dt=n.length),gt=n.window}else gt=et,pt=it-n.offset,dt=n.length;for(dt>ot&&(dt=ot),ot-=dt,n.length-=dt;et[it++]=gt[pt++],--dt;);0===n.length&&(n.mode=G);break;case Z:if(0===ot)break t;et[it++]=n.length,ot--,n.mode=G;break;case Y:if(n.wrap){for(;lt<32;){if(0===at)break t;at--,st|=tt[nt++]<>>=w=m>>>24,p-=w,0===(w=m>>>16&255))A[a++]=65535&m;else{if(!(16&w)){if(0==(64&w)){m=g[(65535&m)+(d&(1<>>=w,p-=w),p<15&&(d+=C[r++]<>>=w=m>>>24,p-=w,!(16&(w=m>>>16&255))){if(0==(64&w)){m=y[(65535&m)+(d&(1<l){t.msg="invalid distance too far back",n.mode=30;break t}if(d>>>=w,p-=w,S>(w=a-o)){if((w=S-w)>c&&n.sane){t.msg="invalid distance too far back",n.mode=30;break t}if(_=0,k=f,0===h){if(_+=u-w,w2;)A[a++]=k[_++],A[a++]=k[_++],A[a++]=k[_++],x-=3;x&&(A[a++]=k[_++],x>1&&(A[a++]=k[_++]))}else{for(_=a-S;A[a++]=A[_++],A[a++]=A[_++],A[a++]=A[_++],(x-=3)>2;);x&&(A[a++]=A[_++],x>1&&(A[a++]=A[_++]))}break}}break}}while(r>3,d&=(1<<(p-=x<<3))-1,t.next_in=r,t.next_out=a,t.avail_in=r=1&&0===R[A];A--);if(P>A&&(P=A),0===A)return u[c++]=20971520,u[c++]=20971520,f.bits=1,0;for(C=1;C0&&(0===t||1!==A))return-1;for(F[1]=0,_=1;_<15;_++)F[_+1]=F[_]+R[_];for(k=0;k852||2===t&&O>592)return 1;for(;;){for(m=_-I,h[k]b?(w=D[z+h[k]],x=B[M+h[k]]):(w=96,x=0),d=1<<_-I,C=p=1<>I)+(p-=d)]=m<<24|w<<16|x|0,0!==p;);for(d=1<<_-1;L&d;)d>>=1;if(0!==d?(L&=d-1,L+=d):L=0,k++,0==--R[_]){if(_===A)break;_=e[n+h[k]]}if(_>P&&(L&y)!==g){for(0===I&&(I=P),v+=C,T=1<<(E=_-I);E+I852||2===t&&O>592)return 1;u[g=L&y]=P<<24|E<<16|v-c|0}}return 0!==L&&(u[v+L]=_-I<<24|64<<16|0),f.bits=P,0}},function(t,e,n){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(t,e){(function(){var e;e=function(){var t,e;function n(n,r){var i,a,o,s,l,u;this.document=n,null==r&&(r={}),this.size=r.size||"letter",this.layout=r.layout||"portrait","number"==typeof r.margin?this.margins={top:r.margin,left:r.margin,bottom:r.margin,right:r.margin}:this.margins=r.margins||t,i=Array.isArray(this.size)?this.size:e[this.size.toUpperCase()],this.width=i["portrait"===this.layout?0:1],this.height=i["portrait"===this.layout?1:0],this.content=this.document.ref(),this.resources=this.document.ref({ProcSet:["PDF","Text","ImageB","ImageC","ImageI"]}),Object.defineProperties(this,{fonts:{get:(u=this,function(){var t;return null!=(t=u.resources.data).Font?t.Font:t.Font={}})},xobjects:{get:(l=this,function(){var t;return null!=(t=l.resources.data).XObject?t.XObject:t.XObject={}})},ext_gstates:{get:(s=this,function(){var t;return null!=(t=s.resources.data).ExtGState?t.ExtGState:t.ExtGState={}})},patterns:{get:(o=this,function(){var t;return null!=(t=o.resources.data).Pattern?t.Pattern:t.Pattern={}})},annotations:{get:(a=this,function(){var t;return null!=(t=a.dictionary.data).Annots?t.Annots:t.Annots=[]})}}),this.dictionary=this.document.ref({Type:"Page",Parent:this.document._root.data.Pages,MediaBox:[0,0,this.width,this.height],Contents:this.content,Resources:this.resources})}return n.prototype.maxY=function(){return this.height-this.margins.bottom},n.prototype.write=function(t){return this.content.write(t)},n.prototype.end=function(){return this.dictionary.end(),this.resources.end(),this.content.end()},t={top:72,left:72,bottom:72,right:72},e={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]},n}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e,r,i,a,o;o=n(163),e=o.PDFGradient,r=o.PDFLinearGradient,i=o.PDFRadialGradient,t.exports={initColor:function(){return this._opacityRegistry={},this._opacityCount=0,this._gradCount=0},_normalizeColor:function(t){var n,r;return t instanceof e?t:("string"==typeof t&&("#"===t.charAt(0)?(4===t.length&&(t=t.replace(/#([0-9A-F])([0-9A-F])([0-9A-F])/i,"#$1$1$2$2$3$3")),n=parseInt(t.slice(1),16),t=[n>>16,n>>8&255,255&n]):a[t]&&(t=a[t])),Array.isArray(t)?(3===t.length?t=function(){var e,n,i;for(i=[],e=0,n=t.length;eg;s=0<=g?++l:--l)n.push(0,1),s+2!==this.stops.length&&e.push(this.stops[s+1][0]),r=this.doc.ref({FunctionType:2,Domain:[0,1],C0:this.stops[s+0][1],C1:this.stops[s+1][1],N:1}),m.push(r),r.end();if(1===m.length?r=m[0]:(r=this.doc.ref({FunctionType:3,Domain:[0,1],Functions:m,Bounds:e,Encode:n})).end(),this.id="Sh"+ ++this.doc._gradCount,(v=this.shader(r)).end(),(p=this.doc.ref({Type:"Pattern",PatternType:2,Shading:v,Matrix:function(){var t,e,n,r;for(r=[],t=0,e=(n=this.matrix).length;tl?y=l:0!==y&&o!==y<0&&(y=(o?-1:1)*l+y),m=(_=y/(x=Math.ceil(Math.abs(y)/s)))/s*e*r,g=i,v=-Math.sin(g)*m,b=Math.cos(g)*m,u=t+Math.cos(g)*r,c=n+Math.sin(g)*r,this.moveTo(u,c),w=0,S=x;0<=S?wS;0<=S?++w:--w)h=u+v,f=c+b,g+=_,u=t+Math.cos(g)*r,c=n+Math.sin(g)*r,d=u-(v=-Math.sin(g)*m),p=c-(b=Math.cos(g)*m),this.bezierCurveTo(h,f,d,p,u,c);return this},polygon:function(){var t,e,n,r;for(r=1<=arguments.length?a.call(arguments,0):[],this.moveTo.apply(this,r.shift()),t=0,e=r.length;t0&&(e[e.length]=+a),c[c.length]={cmd:r,args:e},e=[],a="",o=!1),r=n;else if(" "===n||","===n||"-"===n&&a.length>0&&"e"!==a[a.length-1]||"."===n&&o){if(0===a.length)continue;e.length===u?(c[c.length]={cmd:r,args:e},e=[+a],"M"===r&&(r="L"),"m"===r&&(r="l")):e[e.length]=+a,o="."===n,a="-"===n||"."===n?n:""}else a+=n,"."===n&&(o=!0);return a.length>0&&(e.length===u?(c[c.length]={cmd:r,args:e},e=[+a],"M"===r&&(r="L"),"m"===r&&(r="l")):e[e.length]=+a),c[c.length]={cmd:r,args:e},c},n=r=o=s=h=f=0,t=function(t,e){var i,a,u,c,d;for(n=r=o=s=h=f=0,a=u=0,c=t.length;u1&&(n*=b=Math.sqrt(b),r*=b),(_=1/(((O=(h=g/n)*t+(f=k/n)*e)-(T=h*u+f*c))*(O-T)+((M=(d=-k/r)*t+(p=g/r)*e)-(B=d*u+p*c))*(M-B))-.25)<0&&(_=0),S=Math.sqrt(_),a===i&&(S=-S),L=.5*(T+O)-S*(M-B),R=.5*(B+M)+S*(O-T),A=Math.atan2(B-R,T-L),(I=Math.atan2(M-R,O-L)-A)<0&&1===a?I+=2*Math.PI:I>0&&0===a&&(I-=2*Math.PI),w=[],y=v=0,m=x=Math.ceil(Math.abs(I/(.5*Math.PI+.001)));0<=m?vm;y=0<=m?++v:--v)P=A+y*I/x,E=A+(y+1)*I/x,w[y]=[L,R,P,E,n,r,k,g];return w},u=function(t,e,n,r,i,a,o,s){var l,u,c,h,f,d,p,g,y,v,b,m;return l=s*i,u=-o*a,c=o*i,h=s*a,d=.5*(r-n),f=8/3*Math.sin(.5*d)*Math.sin(.5*d)/Math.sin(d),p=t+Math.cos(n)-f*Math.sin(n),v=e+Math.sin(n)+f*Math.cos(n),y=t+Math.cos(r),m=e+Math.sin(r),[l*p+u*v,c*p+h*v,l*(g=y+f*Math.sin(r))+u*(b=m-f*Math.cos(r)),c*g+h*b,l*y+u*m,c*y+h*m]},d}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e;e=n(50),t.exports={initFonts:function(){this._fontFamilies={},this._fontCount=0,this._fontSize=12,this._font=null,this._registeredFonts={}},font:function(t,n,r){var i,a,o,s;return"number"==typeof n&&(r=n,n=null),"string"==typeof t&&this._registeredFonts[t]?(i=t,t=(s=this._registeredFonts[t]).src,n=s.family):"string"!=typeof(i=n||t)&&(i=null),null!=r&&this.fontSize(r),(a=this._fontFamilies[i])?(this._font=a,this):(o="F"+ ++this._fontCount,this._font=e.open(this,t,n,o),(a=this._fontFamilies[this._font.name])?(this._font=a,this):(i&&(this._fontFamilies[i]=this._font),this._font.name&&(this._fontFamilies[this._font.name]=this._font),this))},fontSize:function(t){return this._fontSize=t,this},currentLineHeight:function(t){return null==t&&(t=!1),this._font.lineHeight(this._fontSize,t)},registerFont:function(t,e,n){return this._registeredFonts[t]={src:e,family:n},this}}}).call(this)},function(t,e,n){"use strict";(function(e,r){function i(t){return t&&"object"==typeof t&&"default"in t?t.default:t}var a=i(n(168)),o=i(n(197)),s=i(n(60)),l=i(n(209)),u=i(n(212)),c=i(n(69)),h=i(n(74)),f=i(n(106)),d=i(n(107)),p=i(n(225)),g=i(n(236)),y=i(n(237)),v=n(12),b=i(n(245)),m=i(n(248)),w=i(n(251)),x=i(n(255)),S=i(n(258)),_=i(n(263)),k=i(n(269)),C=i(n(43)),A=i(n(271)),P=i(n(280)),E=i(n(283)),I=i(n(79)),T=i(n(284)),O={logErrors:!1},L=[];function B(t,e,n){if(n.get){var r=n.get;n.get=function(){var t=r.call(this);return h(this,e,{value:t}),t}}else if("function"==typeof n.value){var i=n.value;return{get:function(){var t=new p;function n(){for(var e=arguments.length,n=Array(e),r=0;r0?n[0]:"value";if(t.has(a))return t.get(a);var o=i.apply(this,n);return t.set(a,o),o}return h(this,e,{value:n}),n}}}}O.registerFormat=function(t){L.push(t)},O.openSync=function(t,e){var r=n(8).readFileSync(t);return O.create(r,e)},O.open=function(t,e,r){"function"==typeof e&&(r=e,e=null),n(8).readFile(t,function(t,n){if(t)return r(t);try{var i=O.create(n,e)}catch(t){return r(t)}return r(null,i)})},O.create=function(t,e){for(var n=0;n>1},searchRange:a.uint16,entrySelector:a.uint16,rangeShift:a.uint16,endCode:new a.LazyArray(a.uint16,"segCount"),reservedPad:new a.Reserved(a.uint16),startCode:new a.LazyArray(a.uint16,"segCount"),idDelta:new a.LazyArray(a.int16,"segCount"),idRangeOffset:new a.LazyArray(a.uint16,"segCount"),glyphIndexArray:new a.LazyArray(a.uint16,function(t){return(t.length-t._currentOffset)/2})},6:{length:a.uint16,language:a.uint16,firstCode:a.uint16,entryCount:a.uint16,glyphIndices:new a.LazyArray(a.uint16,"entryCount")},8:{reserved:new a.Reserved(a.uint16),length:a.uint32,language:a.uint16,is32:new a.LazyArray(a.uint8,8192),nGroups:a.uint32,groups:new a.LazyArray(R,"nGroups")},10:{reserved:new a.Reserved(a.uint16),length:a.uint32,language:a.uint32,firstCode:a.uint32,entryCount:a.uint32,glyphIndices:new a.LazyArray(a.uint16,"numChars")},12:{reserved:new a.Reserved(a.uint16),length:a.uint32,language:a.uint32,nGroups:a.uint32,groups:new a.LazyArray(R,"nGroups")},13:{reserved:new a.Reserved(a.uint16),length:a.uint32,language:a.uint32,nGroups:a.uint32,groups:new a.LazyArray(R,"nGroups")},14:{length:a.uint32,numRecords:a.uint32,varSelectors:new a.LazyArray(U,"numRecords")}}),G=new a.Struct({platformID:a.uint16,encodingID:a.uint16,table:new a.Pointer(a.uint32,W,{type:"parent",lazy:!0})}),V=new a.Struct({version:a.uint16,numSubtables:a.uint16,tables:new a.Array(G,"numSubtables")}),j=new a.Struct({version:a.int32,revision:a.int32,checkSumAdjustment:a.uint32,magicNumber:a.uint32,flags:a.uint16,unitsPerEm:a.uint16,created:new a.Array(a.int32,2),modified:new a.Array(a.int32,2),xMin:a.int16,yMin:a.int16,xMax:a.int16,yMax:a.int16,macStyle:new a.Bitfield(a.uint16,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:a.uint16,fontDirectionHint:a.int16,indexToLocFormat:a.int16,glyphDataFormat:a.int16}),H=new a.Struct({version:a.int32,ascent:a.int16,descent:a.int16,lineGap:a.int16,advanceWidthMax:a.uint16,minLeftSideBearing:a.int16,minRightSideBearing:a.int16,xMaxExtent:a.int16,caretSlopeRise:a.int16,caretSlopeRun:a.int16,caretOffset:a.int16,reserved:new a.Reserved(a.int16,4),metricDataFormat:a.int16,numberOfMetrics:a.uint16}),q=new a.Struct({advance:a.uint16,bearing:a.int16}),Z=new a.Struct({metrics:new a.LazyArray(q,function(t){return t.parent.hhea.numberOfMetrics}),bearings:new a.LazyArray(a.int16,function(t){return t.parent.maxp.numGlyphs-t.parent.hhea.numberOfMetrics})}),Y=new a.Struct({version:a.int32,numGlyphs:a.uint16,maxPoints:a.uint16,maxContours:a.uint16,maxComponentPoints:a.uint16,maxComponentContours:a.uint16,maxZones:a.uint16,maxTwilightPoints:a.uint16,maxStorage:a.uint16,maxFunctionDefs:a.uint16,maxInstructionDefs:a.uint16,maxStackElements:a.uint16,maxSizeOfInstructions:a.uint16,maxComponentElements:a.uint16,maxComponentDepth:a.uint16});function X(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return 1===t&&J[n]?J[n]:K[t][e]}var K=[["utf16be","utf16be","utf16be","utf16be","utf16be","utf16be"],["macroman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","macgreek","maccyrillic","symbol","Devanagari","Gurmukhi","Gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","macthai","Laotian","Georgian","Armenian","gb-2312-80","Tibetan","Mongolian","Geez","maccenteuro","Vietnamese","Sindhi"],["ascii"],["symbol","utf16be","shift-jis","gb18030","big5","wansung","johab",null,null,null,"utf16be"]],J={15:"maciceland",17:"macturkish",18:"maccroatian",24:"maccenteuro",25:"maccenteuro",26:"maccenteuro",27:"maccenteuro",28:"maccenteuro",30:"maciceland",37:"macromania",38:"maccenteuro",39:"maccenteuro",40:"maccenteuro",143:"macinuit",146:"macgaelic"},Q=[[],{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"}],$=new a.Struct({platformID:a.uint16,encodingID:a.uint16,languageID:a.uint16,nameID:a.uint16,length:a.uint16,string:new a.Pointer(a.uint16,new a.String("length",function(t){return X(t.platformID,t.encodingID,t.languageID)}),{type:"parent",relativeTo:"parent.stringOffset",allowNull:!1})}),tt=new a.Struct({length:a.uint16,tag:new a.Pointer(a.uint16,new a.String("length","utf16be"),{type:"parent",relativeTo:"stringOffset"})}),NameTable=new a.VersionedStruct(a.uint16,{0:{count:a.uint16,stringOffset:a.uint16,records:new a.Array($,"count")},1:{count:a.uint16,stringOffset:a.uint16,records:new a.Array($,"count"),langTagCount:a.uint16,langTags:new a.Array(tt,"langTagCount")}}),et=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];NameTable.process=function(t){var e={},n=this.records,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=Q[o.platformID][o.languageID];null==l&&null!=this.langTags&&o.languageID>=32768&&(l=this.langTags[o.languageID-32768].tag),null==l&&(l=o.platformID+"-"+o.languageID);var u=o.nameID>=256?"fontFeatures":et[o.nameID]||o.nameID;null==e[u]&&(e[u]={});var c=e[u];o.nameID>=256&&(c=c[o.nameID]||(c[o.nameID]={})),"string"!=typeof o.string&&"string"==typeof c[l]||(c[l]=o.string)}this.records=e},NameTable.preEncode=function(){if(!Array.isArray(this.records)){this.version=0;var t=[];for(var n in this.records){var r=this.records[n];"fontFeatures"!==n&&(t.push({platformID:3,encodingID:1,languageID:1033,nameID:et.indexOf(n),length:e.byteLength(r.en,"utf16le"),string:r.en}),"postscriptName"===n&&t.push({platformID:1,encodingID:0,languageID:0,nameID:et.indexOf(n),length:r.en.length,string:r.en}))}this.records=t,this.count=t.length,this.stringOffset=NameTable.size(this,null,!1)}};var nt=new a.VersionedStruct(a.uint16,{header:{xAvgCharWidth:a.int16,usWeightClass:a.uint16,usWidthClass:a.uint16,fsType:new a.Bitfield(a.uint16,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:a.int16,ySubscriptYSize:a.int16,ySubscriptXOffset:a.int16,ySubscriptYOffset:a.int16,ySuperscriptXSize:a.int16,ySuperscriptYSize:a.int16,ySuperscriptXOffset:a.int16,ySuperscriptYOffset:a.int16,yStrikeoutSize:a.int16,yStrikeoutPosition:a.int16,sFamilyClass:a.int16,panose:new a.Array(a.uint8,10),ulCharRange:new a.Array(a.uint32,4),vendorID:new a.String(4),fsSelection:new a.Bitfield(a.uint16,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:a.uint16,usLastCharIndex:a.uint16},0:{},1:{typoAscender:a.int16,typoDescender:a.int16,typoLineGap:a.int16,winAscent:a.uint16,winDescent:a.uint16,codePageRange:new a.Array(a.uint32,2)},2:{typoAscender:a.int16,typoDescender:a.int16,typoLineGap:a.int16,winAscent:a.uint16,winDescent:a.uint16,codePageRange:new a.Array(a.uint32,2),xHeight:a.int16,capHeight:a.int16,defaultChar:a.uint16,breakChar:a.uint16,maxContent:a.uint16},5:{typoAscender:a.int16,typoDescender:a.int16,typoLineGap:a.int16,winAscent:a.uint16,winDescent:a.uint16,codePageRange:new a.Array(a.uint32,2),xHeight:a.int16,capHeight:a.int16,defaultChar:a.uint16,breakChar:a.uint16,maxContent:a.uint16,usLowerOpticalPointSize:a.uint16,usUpperOpticalPointSize:a.uint16}}),rt=nt.versions;rt[3]=rt[4]=rt[2];var it=new a.VersionedStruct(a.fixed32,{header:{italicAngle:a.fixed32,underlinePosition:a.int16,underlineThickness:a.int16,isFixedPitch:a.uint32,minMemType42:a.uint32,maxMemType42:a.uint32,minMemType1:a.uint32,maxMemType1:a.uint32},1:{},2:{numberOfGlyphs:a.uint16,glyphNameIndex:new a.Array(a.uint16,"numberOfGlyphs"),names:new a.Array(new a.String(a.uint8))},2.5:{numberOfGlyphs:a.uint16,offsets:new a.Array(a.uint8,"numberOfGlyphs")},3:{},4:{map:new a.Array(a.uint32,function(t){return t.parent.maxp.numGlyphs})}}),at=new a.Struct({controlValues:new a.Array(a.int16)}),ot=new a.Struct({instructions:new a.Array(a.uint8)}),st=new a.VersionedStruct("head.indexToLocFormat",{0:{offsets:new a.Array(a.uint16)},1:{offsets:new a.Array(a.uint32)}});st.process=function(){if(0===this.version)for(var t=0;t65535?1:0,0===this.version))for(var t=0;t>>=1};var lt=new a.Struct({controlValueProgram:new a.Array(a.uint8)}),ut=new a.Array(new a.Buffer),ct=function(){function t(e){f(this,t),this.type=e}return t.prototype.getCFFVersion=function(t){for(;t&&!t.hdrSize;)t=t.parent;return t?t.version:-1},t.prototype.decode=function(t,e){var n=this.getCFFVersion(e)>=2?t.readUInt32BE():t.readUInt16BE();if(0===n)return[];var r=t.readUInt8(),i=void 0;if(1===r)i=a.uint8;else if(2===r)i=a.uint16;else if(3===r)i=a.uint24;else{if(4!==r)throw new Error("Bad offset size in CFFIndex: "+r+" "+t.pos);i=a.uint32}for(var o=[],s=t.pos+(n+1)*r-1,l=i.decode(t),u=0;u=l.length)break;h=l[c++]}else{if((c=l.next()).done)break;h=c.value}var f=h,d=r.size(f,n);i.push(d),o+=d}var p=void 0;if(o<=255)p=a.uint8;else if(o<=65535)p=a.uint16;else if(o<=16777215)p=a.uint24;else{if(!(o<=4294967295))throw new Error("Bad offset in CFFIndex");p=a.uint32}t.writeUInt8(p.size()),o=1,p.encode(t,o);var g=i,y=Array.isArray(g),v=0;for(g=y?g:s(g);;){var b;if(y){if(v>=g.length)break;b=g[v++]}else{if((v=g.next()).done)break;b=v.value}o+=b,p.encode(t,o)}var m=e,w=Array.isArray(m),x=0;for(m=w?m:s(m);;){var S;if(w){if(x>=m.length)break;S=m[x++]}else{if((x=m.next()).done)break;S=x.value}var _=S;r.encode(t,_,n)}}},t}(),ht=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],ft={".":10,E:11,"E-":12,"-":14},dt=function(){function t(){f(this,t)}return t.decode=function(t,e){if(32<=e&&e<=246)return e-139;if(247<=e&&e<=250)return 256*(e-247)+t.readUInt8()+108;if(251<=e&&e<=254)return 256*-(e-251)-t.readUInt8()-108;if(28===e)return t.readInt16BE();if(29===e)return t.readInt32BE();if(30===e){for(var n="";;){var r=t.readUInt8(),i=r>>4;if(15===i)break;n+=ht[i];var a=15&r;if(15===a)break;n+=ht[a]}return parseFloat(n)}return null},t.size=function(t){if(t.forceLarge&&(t=32768),(0|t)!==t){var e=""+t;return 1+Math.ceil((e.length+1)/2)}return-107<=t&&t<=107?1:108<=t&&t<=1131||-1131<=t&&t<=-108?2:-32768<=t&&t<=32767?3:5},t.encode=function(t,e){var n=Number(e);if(e.forceLarge)return t.writeUInt8(29),t.writeInt32BE(n);if((0|n)===n)return-107<=n&&n<=107?t.writeUInt8(n+139):108<=n&&n<=1131?(n-=108,t.writeUInt8(247+(n>>8)),t.writeUInt8(255&n)):-1131<=n&&n<=-108?(n=-n-108,t.writeUInt8(251+(n>>8)),t.writeUInt8(255&n)):-32768<=n&&n<=32767?(t.writeUInt8(28),t.writeInt16BE(n)):(t.writeUInt8(29),t.writeInt32BE(n));t.writeUInt8(30);for(var r=""+n,i=0;i0&&void 0!==arguments[0]?arguments[0]:[];f(this,t),this.ops=e,this.fields={};var n=e,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=Array.isArray(o[0])?o[0][0]<<8|o[0][1]:o[0];this.fields[l]=o}}return t.prototype.decodeOperands=function(t,e,n,r){var i=this;if(Array.isArray(t))return r.map(function(r,a){return i.decodeOperands(t[a],e,n,[r])});if(null!=t.decode)return t.decode(e,n,r);switch(t){case"number":case"offset":case"sid":return r[0];case"boolean":return!!r[0];default:return r}},t.prototype.encodeOperands=function(t,e,n,r){var i=this;return Array.isArray(t)?r.map(function(r,a){return i.encodeOperands(t[a],e,n,r)[0]}):null!=t.encode?t.encode(e,r,n):"number"==typeof r?[r]:"boolean"==typeof r?[+r]:Array.isArray(r)?r:[r]},t.prototype.decode=function(t,e){var n=t.pos+e.length,r={},i=[];for(var a in b(r,{parent:{value:e},_startOffset:{value:t.pos}}),this.fields){var o=this.fields[a];r[o[1]]=o[3]}for(;t.pos2&&void 0!==arguments[2])||arguments[2],r={parent:e,val:t,pointerSize:0,startOffset:e.startOffset||0},i=0;for(var a in this.fields){var o=this.fields[a],l=t[o[1]];if(null!=l&&!m(l,o[3])){var u=this.encodeOperands(o[2],null,r,l),c=Array.isArray(u),h=0;for(u=c?u:s(u);;){var f;if(c){if(h>=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d=f;i+=dt.size(d)}i+=(Array.isArray(o[0])?o[0]:[o[0]]).length}}return n&&(i+=r.pointerSize),i},t.prototype.encode=function(t,e,n){var r={pointers:[],startOffset:t.pos,parent:n,val:e,pointerSize:0};r.pointerOffset=t.pos+this.size(e,r,!1);var i=this.ops,a=Array.isArray(i),o=0;for(i=a?i:s(i);;){var l;if(a){if(o>=i.length)break;l=i[o++]}else{if((o=i.next()).done)break;l=o.value}var u=l,c=e[u[1]];if(null!=c&&!m(c,u[3])){var h=this.encodeOperands(u[2],t,r,c),f=Array.isArray(h),d=0;for(h=f?h:s(h);;){var p;if(f){if(d>=h.length)break;p=h[d++]}else{if((d=h.next()).done)break;p=d.value}var g=p;dt.encode(t,g)}var y=Array.isArray(u[0])?u[0]:[u[0]],v=Array.isArray(y),b=0;for(y=v?y:s(y);;){var w;if(v){if(b>=y.length)break;w=y[b++]}else{if((b=y.next()).done)break;w=b.value}var x=w;t.writeUInt8(x)}}}for(var S=0;S1&&void 0!==arguments[1]?arguments[1]:{};return f(this,e),null==r.type&&(r.type="global"),g(this,t.call(this,null,n,r))}return y(e,t),e.prototype.decode=function(e,n,r){return this.offsetType={decode:function(){return r[0]}},t.prototype.decode.call(this,e,n,r)},e.prototype.encode=function(e,n,r){if(!e)return this.offsetType={size:function(){return 0}},this.size(n,r),[new yt(0)];var i=null;return this.offsetType={encode:function(t,e){return i=e}},t.prototype.encode.call(this,e,n,r),[new yt(i)]},e}(a.Pointer),yt=function(){function t(e){f(this,t),this.val=e,this.forceLarge=!0}return t.prototype.valueOf=function(){return this.val},t}(),vt=new pt([[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",function(){function t(){f(this,t)}return t.decode=function(t,e,n){for(var r=n.pop();n.length>r;)n.pop()},t}(),null],[19,"Subrs",new gt(new ct,{type:"local"}),null]]),bt=[".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"],mt=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],wt=[".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"],xt=new a.Struct({reserved:new a.Reserved(a.uint16),reqFeatureIndex:a.uint16,featureCount:a.uint16,featureIndexes:new a.Array(a.uint16,"featureCount")}),St=new a.Struct({tag:new a.String(4),langSys:new a.Pointer(a.uint16,xt,{type:"parent"})}),_t=new a.Struct({defaultLangSys:new a.Pointer(a.uint16,xt),count:a.uint16,langSysRecords:new a.Array(St,"count")}),kt=new a.Struct({tag:new a.String(4),script:new a.Pointer(a.uint16,_t,{type:"parent"})}),Ct=new a.Array(kt,a.uint16),At=new a.Struct({featureParams:a.uint16,lookupCount:a.uint16,lookupListIndexes:new a.Array(a.uint16,"lookupCount")}),Pt=new a.Struct({tag:new a.String(4),feature:new a.Pointer(a.uint16,At,{type:"parent"})}),Et=new a.Array(Pt,a.uint16),It=new a.Struct({markAttachmentType:a.uint8,flags:new a.Bitfield(a.uint8,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function Tt(t){var e=new a.Struct({lookupType:a.uint16,flags:It,subTableCount:a.uint16,subTables:new a.Array(new a.Pointer(a.uint16,t),"subTableCount"),markFilteringSet:new a.Optional(a.uint16,function(t){return t.flags.flags.useMarkFilteringSet})});return new a.LazyArray(new a.Pointer(a.uint16,e),a.uint16)}var Ot,Lt=new a.Struct({start:a.uint16,end:a.uint16,startCoverageIndex:a.uint16}),Bt=new a.VersionedStruct(a.uint16,{1:{glyphCount:a.uint16,glyphs:new a.Array(a.uint16,"glyphCount")},2:{rangeCount:a.uint16,rangeRecords:new a.Array(Lt,"rangeCount")}}),Mt=new a.Struct({start:a.uint16,end:a.uint16,class:a.uint16}),Rt=new a.VersionedStruct(a.uint16,{1:{startGlyph:a.uint16,glyphCount:a.uint16,classValueArray:new a.Array(a.uint16,"glyphCount")},2:{classRangeCount:a.uint16,classRangeRecord:new a.Array(Mt,"classRangeCount")}}),Ft=new a.Struct({a:a.uint16,b:a.uint16,deltaFormat:a.uint16}),Dt=new a.Struct({sequenceIndex:a.uint16,lookupListIndex:a.uint16}),zt=new a.Struct({glyphCount:a.uint16,lookupCount:a.uint16,input:new a.Array(a.uint16,function(t){return t.glyphCount-1}),lookupRecords:new a.Array(Dt,"lookupCount")}),Nt=new a.Array(new a.Pointer(a.uint16,zt),a.uint16),Ut=new a.Struct({glyphCount:a.uint16,lookupCount:a.uint16,classes:new a.Array(a.uint16,function(t){return t.glyphCount-1}),lookupRecords:new a.Array(Dt,"lookupCount")}),Wt=new a.Array(new a.Pointer(a.uint16,Ut),a.uint16),Gt=new a.VersionedStruct(a.uint16,{1:{coverage:new a.Pointer(a.uint16,Bt),ruleSetCount:a.uint16,ruleSets:new a.Array(new a.Pointer(a.uint16,Nt),"ruleSetCount")},2:{coverage:new a.Pointer(a.uint16,Bt),classDef:new a.Pointer(a.uint16,Rt),classSetCnt:a.uint16,classSet:new a.Array(new a.Pointer(a.uint16,Wt),"classSetCnt")},3:{glyphCount:a.uint16,lookupCount:a.uint16,coverages:new a.Array(new a.Pointer(a.uint16,Bt),"glyphCount"),lookupRecords:new a.Array(Dt,"lookupCount")}}),Vt=new a.Struct({backtrackGlyphCount:a.uint16,backtrack:new a.Array(a.uint16,"backtrackGlyphCount"),inputGlyphCount:a.uint16,input:new a.Array(a.uint16,function(t){return t.inputGlyphCount-1}),lookaheadGlyphCount:a.uint16,lookahead:new a.Array(a.uint16,"lookaheadGlyphCount"),lookupCount:a.uint16,lookupRecords:new a.Array(Dt,"lookupCount")}),jt=new a.Array(new a.Pointer(a.uint16,Vt),a.uint16),Ht=new a.VersionedStruct(a.uint16,{1:{coverage:new a.Pointer(a.uint16,Bt),chainCount:a.uint16,chainRuleSets:new a.Array(new a.Pointer(a.uint16,jt),"chainCount")},2:{coverage:new a.Pointer(a.uint16,Bt),backtrackClassDef:new a.Pointer(a.uint16,Rt),inputClassDef:new a.Pointer(a.uint16,Rt),lookaheadClassDef:new a.Pointer(a.uint16,Rt),chainCount:a.uint16,chainClassSet:new a.Array(new a.Pointer(a.uint16,jt),"chainCount")},3:{backtrackGlyphCount:a.uint16,backtrackCoverage:new a.Array(new a.Pointer(a.uint16,Bt),"backtrackGlyphCount"),inputGlyphCount:a.uint16,inputCoverage:new a.Array(new a.Pointer(a.uint16,Bt),"inputGlyphCount"),lookaheadGlyphCount:a.uint16,lookaheadCoverage:new a.Array(new a.Pointer(a.uint16,Bt),"lookaheadGlyphCount"),lookupCount:a.uint16,lookupRecords:new a.Array(Dt,"lookupCount")}}),qt=new a.Fixed(16,"BE",14),Zt=new a.Struct({startCoord:qt,peakCoord:qt,endCoord:qt}),Yt=new a.Struct({axisCount:a.uint16,regionCount:a.uint16,variationRegions:new a.Array(new a.Array(Zt,"axisCount"),"regionCount")}),Xt=new a.Struct({shortDeltas:new a.Array(a.int16,function(t){return t.parent.shortDeltaCount}),regionDeltas:new a.Array(a.int8,function(t){return t.parent.regionIndexCount-t.parent.shortDeltaCount}),deltas:function(t){return t.shortDeltas.concat(t.regionDeltas)}}),Kt=new a.Struct({itemCount:a.uint16,shortDeltaCount:a.uint16,regionIndexCount:a.uint16,regionIndexes:new a.Array(a.uint16,"regionIndexCount"),deltaSets:new a.Array(Xt,"itemCount")}),Jt=new a.Struct({format:a.uint16,variationRegionList:new a.Pointer(a.uint32,Yt),variationDataCount:a.uint16,itemVariationData:new a.Array(new a.Pointer(a.uint32,Kt),"variationDataCount")}),Qt=new a.VersionedStruct(a.uint16,{1:(Ot={axisIndex:a.uint16},Ot.axisIndex=a.uint16,Ot.filterRangeMinValue=qt,Ot.filterRangeMaxValue=qt,Ot)}),$t=new a.Struct({conditionCount:a.uint16,conditionTable:new a.Array(new a.Pointer(a.uint32,Qt),"conditionCount")}),te=new a.Struct({featureIndex:a.uint16,alternateFeatureTable:new a.Pointer(a.uint32,At,{type:"parent"})}),ee=new a.Struct({version:a.fixed32,substitutionCount:a.uint16,substitutions:new a.Array(te,"substitutionCount")}),ne=new a.Struct({conditionSet:new a.Pointer(a.uint32,$t,{type:"parent"}),featureTableSubstitution:new a.Pointer(a.uint32,ee,{type:"parent"})}),re=new a.Struct({majorVersion:a.uint16,minorVersion:a.uint16,featureVariationRecordCount:a.uint32,featureVariationRecords:new a.Array(ne,"featureVariationRecordCount")}),ie=function(){function t(e,n){f(this,t),this.predefinedOps=e,this.type=n}return t.prototype.decode=function(t,e,n){return this.predefinedOps[n[0]]?this.predefinedOps[n[0]]:this.type.decode(t,e,n)},t.prototype.size=function(t,e){return this.type.size(t,e)},t.prototype.encode=function(t,e,n){var r=this.predefinedOps.indexOf(e);return-1!==r?r:this.type.encode(t,e,n)},t}(),ae=function(t){function e(){return f(this,e),g(this,t.call(this,"UInt8"))}return y(e,t),e.prototype.decode=function(t){return 127&a.uint8.decode(t)},e}(a.Number),oe=new a.Struct({first:a.uint16,nLeft:a.uint8}),se=new a.Struct({first:a.uint16,nLeft:a.uint16}),le=new ie([mt,["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"]],new gt(new a.VersionedStruct(new ae,{0:{nCodes:a.uint8,codes:new a.Array(a.uint8,"nCodes")},1:{nRanges:a.uint8,ranges:new a.Array(oe,"nRanges")}}),{lazy:!0})),ue=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.prototype.decode=function(t,e){for(var n=v.resolveLength(this.length,t,e),r=0,i=[];r=2?null:t=2)return null;if(this.isCIDFont)return null;var e=this.topDict.charset;if(Array.isArray(e))return e[t];if(0===t)return".notdef";switch(t-=1,e.version){case 0:return this.string(e.glyphs[t]);case 1:case 2:for(var n=0;n>1;if(te[i+1].first))return e[i].fd;n=i+1}}default:throw new Error("Unknown FDSelect version: "+this.topDict.FDSelect.version)}},t.prototype.privateDictForGlyph=function(t){if(this.topDict.FDSelect){var e=this.fdForGlyph(t);return this.topDict.FDArray[e]?this.topDict.FDArray[e].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private},d(t,[{key:"postscriptName",get:function(){return this.version<2?this.nameIndex[0]:null}},{key:"fullName",get:function(){return this.string(this.topDict.FullName)}},{key:"familyName",get:function(){return this.string(this.topDict.FamilyName)}}]),t}(),Se=new a.Struct({glyphIndex:a.uint16,vertOriginY:a.int16}),_e=new a.Struct({majorVersion:a.uint16,minorVersion:a.uint16,defaultVertOriginY:a.int16,numVertOriginYMetrics:a.uint16,metrics:new a.Array(Se,"numVertOriginYMetrics")}),ke=new a.Struct({height:a.uint8,width:a.uint8,horiBearingX:a.int8,horiBearingY:a.int8,horiAdvance:a.uint8,vertBearingX:a.int8,vertBearingY:a.int8,vertAdvance:a.uint8}),Ce=new a.Struct({height:a.uint8,width:a.uint8,bearingX:a.int8,bearingY:a.int8,advance:a.uint8}),Ae=new a.Struct({glyph:a.uint16,xOffset:a.int8,yOffset:a.int8}),Pe=function t(){f(this,t)},Ee=function t(){f(this,t)},Ie=(new a.VersionedStruct("version",{1:{metrics:Ce,data:Pe},2:{metrics:Ce,data:Ee},5:{data:Ee},6:{metrics:ke,data:Pe},7:{metrics:ke,data:Ee},8:{metrics:Ce,pad:new a.Reserved(a.uint8),numComponents:a.uint16,components:new a.Array(Ae,"numComponents")},9:{metrics:ke,pad:new a.Reserved(a.uint8),numComponents:a.uint16,components:new a.Array(Ae,"numComponents")},17:{metrics:Ce,dataLen:a.uint32,data:new a.Buffer("dataLen")},18:{metrics:ke,dataLen:a.uint32,data:new a.Buffer("dataLen")},19:{dataLen:a.uint32,data:new a.Buffer("dataLen")}}),new a.Struct({ascender:a.int8,descender:a.int8,widthMax:a.uint8,caretSlopeNumerator:a.int8,caretSlopeDenominator:a.int8,caretOffset:a.int8,minOriginSB:a.int8,minAdvanceSB:a.int8,maxBeforeBL:a.int8,minAfterBL:a.int8,pad:new a.Reserved(a.int8,2)})),Te=new a.Struct({glyphCode:a.uint16,offset:a.uint16}),Oe=new a.VersionedStruct(a.uint16,{header:{imageFormat:a.uint16,imageDataOffset:a.uint32},1:{offsetArray:new a.Array(a.uint32,function(t){return t.parent.lastGlyphIndex-t.parent.firstGlyphIndex+1})},2:{imageSize:a.uint32,bigMetrics:ke},3:{offsetArray:new a.Array(a.uint16,function(t){return t.parent.lastGlyphIndex-t.parent.firstGlyphIndex+1})},4:{numGlyphs:a.uint32,glyphArray:new a.Array(Te,function(t){return t.numGlyphs+1})},5:{imageSize:a.uint32,bigMetrics:ke,numGlyphs:a.uint32,glyphCodeArray:new a.Array(a.uint16,"numGlyphs")}}),Le=new a.Struct({firstGlyphIndex:a.uint16,lastGlyphIndex:a.uint16,subtable:new a.Pointer(a.uint32,Oe)}),Be=new a.Struct({indexSubTableArray:new a.Pointer(a.uint32,new a.Array(Le,1),{type:"parent"}),indexTablesSize:a.uint32,numberOfIndexSubTables:a.uint32,colorRef:a.uint32,hori:Ie,vert:Ie,startGlyphIndex:a.uint16,endGlyphIndex:a.uint16,ppemX:a.uint8,ppemY:a.uint8,bitDepth:a.uint8,flags:new a.Bitfield(a.uint8,["horizontal","vertical"])}),Me=new a.Struct({version:a.uint32,numSizes:a.uint32,sizes:new a.Array(Be,"numSizes")}),Re=new a.Struct({ppem:a.uint16,resolution:a.uint16,imageOffsets:new a.Array(new a.Pointer(a.uint32,"void"),function(t){return t.parent.parent.maxp.numGlyphs+1})}),Fe=new a.Struct({version:a.uint16,flags:new a.Bitfield(a.uint16,["renderOutlines"]),numImgTables:a.uint32,imageTables:new a.Array(new a.Pointer(a.uint32,Re),"numImgTables")}),De=new a.Struct({gid:a.uint16,paletteIndex:a.uint16}),ze=new a.Struct({gid:a.uint16,firstLayerIndex:a.uint16,numLayers:a.uint16}),Ne=new a.Struct({version:a.uint16,numBaseGlyphRecords:a.uint16,baseGlyphRecord:new a.Pointer(a.uint32,new a.Array(ze,"numBaseGlyphRecords")),layerRecords:new a.Pointer(a.uint32,new a.Array(De,"numLayerRecords"),{lazy:!0}),numLayerRecords:a.uint16}),Ue=new a.Struct({blue:a.uint8,green:a.uint8,red:a.uint8,alpha:a.uint8}),We=new a.VersionedStruct(a.uint16,{header:{numPaletteEntries:a.uint16,numPalettes:a.uint16,numColorRecords:a.uint16,colorRecords:new a.Pointer(a.uint32,new a.Array(Ue,"numColorRecords")),colorRecordIndices:new a.Array(a.uint16,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new a.Pointer(a.uint32,new a.Array(a.uint32,"numPalettes")),offsetPaletteLabelArray:new a.Pointer(a.uint32,new a.Array(a.uint16,"numPalettes")),offsetPaletteEntryLabelArray:new a.Pointer(a.uint32,new a.Array(a.uint16,"numPaletteEntries"))}}),Ge=new a.VersionedStruct(a.uint16,{1:{coordinate:a.int16},2:{coordinate:a.int16,referenceGlyph:a.uint16,baseCoordPoint:a.uint16},3:{coordinate:a.int16,deviceTable:new a.Pointer(a.uint16,Ft)}}),Ve=new a.Struct({defaultIndex:a.uint16,baseCoordCount:a.uint16,baseCoords:new a.Array(new a.Pointer(a.uint16,Ge),"baseCoordCount")}),je=new a.Struct({tag:new a.String(4),minCoord:new a.Pointer(a.uint16,Ge,{type:"parent"}),maxCoord:new a.Pointer(a.uint16,Ge,{type:"parent"})}),He=new a.Struct({minCoord:new a.Pointer(a.uint16,Ge),maxCoord:new a.Pointer(a.uint16,Ge),featMinMaxCount:a.uint16,featMinMaxRecords:new a.Array(je,"featMinMaxCount")}),qe=new a.Struct({tag:new a.String(4),minMax:new a.Pointer(a.uint16,He,{type:"parent"})}),Ze=new a.Struct({baseValues:new a.Pointer(a.uint16,Ve),defaultMinMax:new a.Pointer(a.uint16,He),baseLangSysCount:a.uint16,baseLangSysRecords:new a.Array(qe,"baseLangSysCount")}),Ye=new a.Struct({tag:new a.String(4),script:new a.Pointer(a.uint16,Ze,{type:"parent"})}),Xe=new a.Array(Ye,a.uint16),Ke=new a.Array(new a.String(4),a.uint16),Je=new a.Struct({baseTagList:new a.Pointer(a.uint16,Ke),baseScriptList:new a.Pointer(a.uint16,Xe)}),Qe=new a.VersionedStruct(a.uint32,{header:{horizAxis:new a.Pointer(a.uint16,Je),vertAxis:new a.Pointer(a.uint16,Je)},65536:{},65537:{itemVariationStore:new a.Pointer(a.uint32,Jt)}}),$e=new a.Array(a.uint16,a.uint16),tn=new a.Struct({coverage:new a.Pointer(a.uint16,Bt),glyphCount:a.uint16,attachPoints:new a.Array(new a.Pointer(a.uint16,$e),"glyphCount")}),en=new a.VersionedStruct(a.uint16,{1:{coordinate:a.int16},2:{caretValuePoint:a.uint16},3:{coordinate:a.int16,deviceTable:new a.Pointer(a.uint16,Ft)}}),nn=new a.Array(new a.Pointer(a.uint16,en),a.uint16),rn=new a.Struct({coverage:new a.Pointer(a.uint16,Bt),ligGlyphCount:a.uint16,ligGlyphs:new a.Array(new a.Pointer(a.uint16,nn),"ligGlyphCount")}),an=new a.Struct({markSetTableFormat:a.uint16,markSetCount:a.uint16,coverage:new a.Array(new a.Pointer(a.uint32,Bt),"markSetCount")}),on=new a.VersionedStruct(a.uint32,{header:{glyphClassDef:new a.Pointer(a.uint16,Rt),attachList:new a.Pointer(a.uint16,tn),ligCaretList:new a.Pointer(a.uint16,rn),markAttachClassDef:new a.Pointer(a.uint16,Rt)},65536:{},65538:{markGlyphSetsDef:new a.Pointer(a.uint16,an)},65539:{markGlyphSetsDef:new a.Pointer(a.uint16,an),itemVariationStore:new a.Pointer(a.uint32,Jt)}}),sn=new a.Bitfield(a.uint16,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),ln={xPlacement:a.int16,yPlacement:a.int16,xAdvance:a.int16,yAdvance:a.int16,xPlaDevice:new a.Pointer(a.uint16,Ft,{type:"global",relativeTo:"rel"}),yPlaDevice:new a.Pointer(a.uint16,Ft,{type:"global",relativeTo:"rel"}),xAdvDevice:new a.Pointer(a.uint16,Ft,{type:"global",relativeTo:"rel"}),yAdvDevice:new a.Pointer(a.uint16,Ft,{type:"global",relativeTo:"rel"})},un=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"valueFormat";f(this,t),this.key=e}return t.prototype.buildStruct=function(t){for(var e=t;!e[this.key]&&e.parent;)e=e.parent;if(e[this.key]){var n={rel:function(){return e._startOffset}},r=e[this.key];for(var i in r)r[i]&&(n[i]=ln[i]);return new a.Struct(n)}},t.prototype.size=function(t,e){return this.buildStruct(e).size(t,e)},t.prototype.decode=function(t,e){var n=this.buildStruct(e).decode(t,e);return delete n.rel,n},t}(),cn=new a.Struct({secondGlyph:a.uint16,value1:new un("valueFormat1"),value2:new un("valueFormat2")}),hn=new a.Array(cn,a.uint16),fn=new a.Struct({value1:new un("valueFormat1"),value2:new un("valueFormat2")}),dn=new a.VersionedStruct(a.uint16,{1:{xCoordinate:a.int16,yCoordinate:a.int16},2:{xCoordinate:a.int16,yCoordinate:a.int16,anchorPoint:a.uint16},3:{xCoordinate:a.int16,yCoordinate:a.int16,xDeviceTable:new a.Pointer(a.uint16,Ft),yDeviceTable:new a.Pointer(a.uint16,Ft)}}),pn=new a.Struct({entryAnchor:new a.Pointer(a.uint16,dn,{type:"parent"}),exitAnchor:new a.Pointer(a.uint16,dn,{type:"parent"})}),gn=new a.Struct({class:a.uint16,markAnchor:new a.Pointer(a.uint16,dn,{type:"parent"})}),yn=new a.Array(gn,a.uint16),vn=new a.Array(new a.Pointer(a.uint16,dn),function(t){return t.parent.classCount}),bn=new a.Array(vn,a.uint16),mn=new a.Array(new a.Pointer(a.uint16,dn),function(t){return t.parent.parent.classCount}),wn=new a.Array(mn,a.uint16),xn=new a.Array(new a.Pointer(a.uint16,wn),a.uint16),Sn=new a.VersionedStruct("lookupType",{1:new a.VersionedStruct(a.uint16,{1:{coverage:new a.Pointer(a.uint16,Bt),valueFormat:sn,value:new un},2:{coverage:new a.Pointer(a.uint16,Bt),valueFormat:sn,valueCount:a.uint16,values:new a.LazyArray(new un,"valueCount")}}),2:new a.VersionedStruct(a.uint16,{1:{coverage:new a.Pointer(a.uint16,Bt),valueFormat1:sn,valueFormat2:sn,pairSetCount:a.uint16,pairSets:new a.LazyArray(new a.Pointer(a.uint16,hn),"pairSetCount")},2:{coverage:new a.Pointer(a.uint16,Bt),valueFormat1:sn,valueFormat2:sn,classDef1:new a.Pointer(a.uint16,Rt),classDef2:new a.Pointer(a.uint16,Rt),class1Count:a.uint16,class2Count:a.uint16,classRecords:new a.LazyArray(new a.LazyArray(fn,"class2Count"),"class1Count")}}),3:{format:a.uint16,coverage:new a.Pointer(a.uint16,Bt),entryExitCount:a.uint16,entryExitRecords:new a.Array(pn,"entryExitCount")},4:{format:a.uint16,markCoverage:new a.Pointer(a.uint16,Bt),baseCoverage:new a.Pointer(a.uint16,Bt),classCount:a.uint16,markArray:new a.Pointer(a.uint16,yn),baseArray:new a.Pointer(a.uint16,bn)},5:{format:a.uint16,markCoverage:new a.Pointer(a.uint16,Bt),ligatureCoverage:new a.Pointer(a.uint16,Bt),classCount:a.uint16,markArray:new a.Pointer(a.uint16,yn),ligatureArray:new a.Pointer(a.uint16,xn)},6:{format:a.uint16,mark1Coverage:new a.Pointer(a.uint16,Bt),mark2Coverage:new a.Pointer(a.uint16,Bt),classCount:a.uint16,mark1Array:new a.Pointer(a.uint16,yn),mark2Array:new a.Pointer(a.uint16,bn)},7:Gt,8:Ht,9:{posFormat:a.uint16,lookupType:a.uint16,extension:new a.Pointer(a.uint32,Sn)}});Sn.versions[9].extension.type=Sn;var _n=new a.VersionedStruct(a.uint32,{header:{scriptList:new a.Pointer(a.uint16,Ct),featureList:new a.Pointer(a.uint16,Et),lookupList:new a.Pointer(a.uint16,new Tt(Sn))},65536:{},65537:{featureVariations:new a.Pointer(a.uint32,re)}}),kn=new a.Array(a.uint16,a.uint16),Cn=kn,An=new a.Struct({glyph:a.uint16,compCount:a.uint16,components:new a.Array(a.uint16,function(t){return t.compCount-1})}),Pn=new a.Array(new a.Pointer(a.uint16,An),a.uint16),En=new a.VersionedStruct("lookupType",{1:new a.VersionedStruct(a.uint16,{1:{coverage:new a.Pointer(a.uint16,Bt),deltaGlyphID:a.int16},2:{coverage:new a.Pointer(a.uint16,Bt),glyphCount:a.uint16,substitute:new a.LazyArray(a.uint16,"glyphCount")}}),2:{substFormat:a.uint16,coverage:new a.Pointer(a.uint16,Bt),count:a.uint16,sequences:new a.LazyArray(new a.Pointer(a.uint16,kn),"count")},3:{substFormat:a.uint16,coverage:new a.Pointer(a.uint16,Bt),count:a.uint16,alternateSet:new a.LazyArray(new a.Pointer(a.uint16,Cn),"count")},4:{substFormat:a.uint16,coverage:new a.Pointer(a.uint16,Bt),count:a.uint16,ligatureSets:new a.LazyArray(new a.Pointer(a.uint16,Pn),"count")},5:Gt,6:Ht,7:{substFormat:a.uint16,lookupType:a.uint16,extension:new a.Pointer(a.uint32,En)},8:{substFormat:a.uint16,coverage:new a.Pointer(a.uint16,Bt),backtrackCoverage:new a.Array(new a.Pointer(a.uint16,Bt),"backtrackGlyphCount"),lookaheadGlyphCount:a.uint16,lookaheadCoverage:new a.Array(new a.Pointer(a.uint16,Bt),"lookaheadGlyphCount"),glyphCount:a.uint16,substitutes:new a.Array(a.uint16,"glyphCount")}});En.versions[7].extension.type=En;var In=new a.VersionedStruct(a.uint32,{header:{scriptList:new a.Pointer(a.uint16,Ct),featureList:new a.Pointer(a.uint16,Et),lookupList:new a.Pointer(a.uint16,new Tt(En))},65536:{},65537:{featureVariations:new a.Pointer(a.uint32,re)}}),Tn=new a.Array(a.uint16,a.uint16),On=new a.Struct({shrinkageEnableGSUB:new a.Pointer(a.uint16,Tn),shrinkageDisableGSUB:new a.Pointer(a.uint16,Tn),shrinkageEnableGPOS:new a.Pointer(a.uint16,Tn),shrinkageDisableGPOS:new a.Pointer(a.uint16,Tn),shrinkageJstfMax:new a.Pointer(a.uint16,new Tt(Sn)),extensionEnableGSUB:new a.Pointer(a.uint16,Tn),extensionDisableGSUB:new a.Pointer(a.uint16,Tn),extensionEnableGPOS:new a.Pointer(a.uint16,Tn),extensionDisableGPOS:new a.Pointer(a.uint16,Tn),extensionJstfMax:new a.Pointer(a.uint16,new Tt(Sn))}),Ln=new a.Array(new a.Pointer(a.uint16,On),a.uint16),Bn=new a.Struct({tag:new a.String(4),jstfLangSys:new a.Pointer(a.uint16,Ln)}),Mn=new a.Struct({extenderGlyphs:new a.Pointer(a.uint16,new a.Array(a.uint16,a.uint16)),defaultLangSys:new a.Pointer(a.uint16,Ln),langSysCount:a.uint16,langSysRecords:new a.Array(Bn,"langSysCount")}),Rn=new a.Struct({tag:new a.String(4),script:new a.Pointer(a.uint16,Mn,{type:"parent"})}),Fn=new a.Struct({version:a.uint32,scriptCount:a.uint16,scriptList:new a.Array(Rn,"scriptCount")}),Dn=function(){function t(e){f(this,t),this._size=e}return t.prototype.decode=function(t,e){switch(this.size(0,e)){case 1:return t.readUInt8();case 2:return t.readUInt16BE();case 3:return t.readUInt24BE();case 4:return t.readUInt32BE()}},t.prototype.size=function(t,e){return v.resolveLength(this._size,null,e)},t}(),zn=new a.Struct({entry:new Dn(function(t){return 1+((48&t.parent.entryFormat)>>4)}),outerIndex:function(t){return t.entry>>1+(15&t.parent.entryFormat)},innerIndex:function(t){return t.entry&(1<<1+(15&t.parent.entryFormat))-1}}),Nn=new a.Struct({entryFormat:a.uint16,mapCount:a.uint16,mapData:new a.Array(zn,"mapCount")}),Un=new a.Struct({majorVersion:a.uint16,minorVersion:a.uint16,itemVariationStore:new a.Pointer(a.uint32,Jt),advanceWidthMapping:new a.Pointer(a.uint32,Nn),LSBMapping:new a.Pointer(a.uint32,Nn),RSBMapping:new a.Pointer(a.uint32,Nn)}),Wn=new a.Struct({format:a.uint32,length:a.uint32,offset:a.uint32}),Gn=new a.Struct({reserved:new a.Reserved(a.uint16,2),cbSignature:a.uint32,signature:new a.Buffer("cbSignature")}),Vn=new a.Struct({ulVersion:a.uint32,usNumSigs:a.uint16,usFlag:a.uint16,signatures:new a.Array(Wn,"usNumSigs"),signatureBlocks:new a.Array(Gn,"usNumSigs")}),jn=new a.Struct({rangeMaxPPEM:a.uint16,rangeGaspBehavior:new a.Bitfield(a.uint16,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])}),Hn=new a.Struct({version:a.uint16,numRanges:a.uint16,gaspRanges:new a.Array(jn,"numRanges")}),qn=new a.Struct({pixelSize:a.uint8,maximumWidth:a.uint8,widths:new a.Array(a.uint8,function(t){return t.parent.parent.maxp.numGlyphs})}),Zn=new a.Struct({version:a.uint16,numRecords:a.int16,sizeDeviceRecord:a.int32,records:new a.Array(qn,"numRecords")}),Yn=new a.Struct({left:a.uint16,right:a.uint16,value:a.int16}),Xn=new a.Struct({firstGlyph:a.uint16,nGlyphs:a.uint16,offsets:new a.Array(a.uint16,"nGlyphs"),max:function(t){return t.offsets.length&&Math.max.apply(Math,t.offsets)}}),Kn=new a.Struct({off:function(t){return t._startOffset-t.parent.parent._startOffset},len:function(t){return((t.parent.leftTable.max-t.off)/t.parent.rowWidth+1)*(t.parent.rowWidth/2)},values:new a.LazyArray(a.int16,"len")}),Jn=new a.VersionedStruct("format",{0:{nPairs:a.uint16,searchRange:a.uint16,entrySelector:a.uint16,rangeShift:a.uint16,pairs:new a.Array(Yn,"nPairs")},2:{rowWidth:a.uint16,leftTable:new a.Pointer(a.uint16,Xn,{type:"parent"}),rightTable:new a.Pointer(a.uint16,Xn,{type:"parent"}),array:new a.Pointer(a.uint16,Kn,{type:"parent"})},3:{glyphCount:a.uint16,kernValueCount:a.uint8,leftClassCount:a.uint8,rightClassCount:a.uint8,flags:a.uint8,kernValue:new a.Array(a.int16,"kernValueCount"),leftClass:new a.Array(a.uint8,"glyphCount"),rightClass:new a.Array(a.uint8,"glyphCount"),kernIndex:new a.Array(a.uint8,function(t){return t.leftClassCount*t.rightClassCount})}}),Qn=new a.VersionedStruct("version",{0:{subVersion:a.uint16,length:a.uint16,format:a.uint8,coverage:new a.Bitfield(a.uint8,["horizontal","minimum","crossStream","override"]),subtable:Jn,padding:new a.Reserved(a.uint8,function(t){return t.length-t._currentOffset})},1:{length:a.uint32,coverage:new a.Bitfield(a.uint8,[null,null,null,null,null,"variation","crossStream","vertical"]),format:a.uint8,tupleIndex:a.uint16,subtable:Jn,padding:new a.Reserved(a.uint8,function(t){return t.length-t._currentOffset})}}),$n=new a.VersionedStruct(a.uint16,{0:{nTables:a.uint16,tables:new a.Array(Qn,"nTables")},1:{reserved:new a.Reserved(a.uint16),nTables:a.uint32,tables:new a.Array(Qn,"nTables")}}),tr=new a.Struct({version:a.uint16,numGlyphs:a.uint16,yPels:new a.Array(a.uint8,"numGlyphs")}),er=new a.Struct({version:a.uint16,fontNumber:a.uint32,pitch:a.uint16,xHeight:a.uint16,style:a.uint16,typeFamily:a.uint16,capHeight:a.uint16,symbolSet:a.uint16,typeface:new a.String(16),characterComplement:new a.String(8),fileName:new a.String(6),strokeWeight:new a.String(1),widthType:new a.String(1),serifStyle:a.uint8,reserved:new a.Reserved(a.uint8)}),nr=new a.Struct({bCharSet:a.uint8,xRatio:a.uint8,yStartRatio:a.uint8,yEndRatio:a.uint8}),rr=new a.Struct({yPelHeight:a.uint16,yMax:a.int16,yMin:a.int16}),ir=new a.Struct({recs:a.uint16,startsz:a.uint8,endsz:a.uint8,entries:new a.Array(rr,"recs")}),ar=new a.Struct({version:a.uint16,numRecs:a.uint16,numRatios:a.uint16,ratioRanges:new a.Array(nr,"numRatios"),offsets:new a.Array(a.uint16,"numRatios"),groups:new a.Array(ir,"numRecs")}),or=new a.Struct({version:a.uint16,ascent:a.int16,descent:a.int16,lineGap:a.int16,advanceHeightMax:a.int16,minTopSideBearing:a.int16,minBottomSideBearing:a.int16,yMaxExtent:a.int16,caretSlopeRise:a.int16,caretSlopeRun:a.int16,caretOffset:a.int16,reserved:new a.Reserved(a.int16,4),metricDataFormat:a.int16,numberOfMetrics:a.uint16}),sr=new a.Struct({advance:a.uint16,bearing:a.int16}),lr=new a.Struct({metrics:new a.LazyArray(sr,function(t){return t.parent.vhea.numberOfMetrics}),bearings:new a.LazyArray(a.int16,function(t){return t.parent.maxp.numGlyphs-t.parent.vhea.numberOfMetrics})}),ur=new a.Fixed(16,"BE",14),cr=new a.Struct({fromCoord:ur,toCoord:ur}),hr=new a.Struct({pairCount:a.uint16,correspondence:new a.Array(cr,"pairCount")}),fr=new a.Struct({version:a.fixed32,axisCount:a.uint32,segment:new a.Array(hr,"axisCount")}),dr=function(){function t(e,n,r){f(this,t),this.type=e,this.stream=n,this.parent=r,this.base=this.stream.pos,this._items=[]}return t.prototype.getItem=function(t){if(null==this._items[t]){var e=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*t,this._items[t]=this.type.decode(this.stream,this.parent),this.stream.pos=e}return this._items[t]},t.prototype.inspect=function(){return"[UnboundedArray "+this.type.constructor.name+"]"},t}(),pr=function(t){function e(n){return f(this,e),g(this,t.call(this,n,0))}return y(e,t),e.prototype.decode=function(t,e){return new dr(this.type,t,e)},e}(a.Array),gr=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.uint16;t=new(function(){function t(e){f(this,t),this.type=e}return t.prototype.decode=function(t,e){return e=e.parent.parent,this.type.decode(t,e)},t.prototype.size=function(t,e){return e=e.parent.parent,this.type.size(t,e)},t.prototype.encode=function(t,e,n){return n=n.parent.parent,this.type.encode(t,e,n)},t}())(t);var e=new a.Struct({unitSize:a.uint16,nUnits:a.uint16,searchRange:a.uint16,entrySelector:a.uint16,rangeShift:a.uint16}),n=new a.Struct({lastGlyph:a.uint16,firstGlyph:a.uint16,value:t}),r=new a.Struct({lastGlyph:a.uint16,firstGlyph:a.uint16,values:new a.Pointer(a.uint16,new a.Array(t,function(t){return t.lastGlyph-t.firstGlyph+1}),{type:"parent"})}),i=new a.Struct({glyph:a.uint16,value:t});return new a.VersionedStruct(a.uint16,{0:{values:new pr(t)},2:{binarySearchHeader:e,segments:new a.Array(n,function(t){return t.binarySearchHeader.nUnits})},4:{binarySearchHeader:e,segments:new a.Array(r,function(t){return t.binarySearchHeader.nUnits})},6:{binarySearchHeader:e,segments:new a.Array(i,function(t){return t.binarySearchHeader.nUnits})},8:{firstGlyph:a.uint16,count:a.uint16,values:new a.Array(t,"count")}})};function yr(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.uint16,n=w({newState:a.uint16,flags:a.uint16},t),r=new a.Struct(n),i=new pr(new a.Array(a.uint16,function(t){return t.nClasses}));return new a.Struct({nClasses:a.uint32,classTable:new a.Pointer(a.uint32,new gr(e)),stateArray:new a.Pointer(a.uint32,i),entryTable:new a.Pointer(a.uint32,new pr(r))})}var vr=new a.VersionedStruct("format",{0:{deltas:new a.Array(a.int16,32)},1:{deltas:new a.Array(a.int16,32),mappingData:new gr(a.uint16)},2:{standardGlyph:a.uint16,controlPoints:new a.Array(a.uint16,32)},3:{standardGlyph:a.uint16,controlPoints:new a.Array(a.uint16,32),mappingData:new gr(a.uint16)}}),br=new a.Struct({version:a.fixed32,format:a.uint16,defaultBaseline:a.uint16,subtable:vr}),mr=new a.Struct({setting:a.uint16,nameIndex:a.int16,name:function(t){return t.parent.parent.parent.name.records.fontFeatures[t.nameIndex]}}),wr=new a.Struct({feature:a.uint16,nSettings:a.uint16,settingTable:new a.Pointer(a.uint32,new a.Array(mr,"nSettings"),{type:"parent"}),featureFlags:new a.Bitfield(a.uint8,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:a.uint8,nameIndex:a.int16,name:function(t){return t.parent.parent.name.records.fontFeatures[t.nameIndex]}}),xr=new a.Struct({version:a.fixed32,featureNameCount:a.uint16,reserved1:new a.Reserved(a.uint16),reserved2:new a.Reserved(a.uint32),featureNames:new a.Array(wr,"featureNameCount")}),Sr=new a.Struct({axisTag:new a.String(4),minValue:a.fixed32,defaultValue:a.fixed32,maxValue:a.fixed32,flags:a.uint16,nameID:a.uint16,name:function(t){return t.parent.parent.name.records.fontFeatures[t.nameID]}}),_r=new a.Struct({nameID:a.uint16,name:function(t){return t.parent.parent.name.records.fontFeatures[t.nameID]},flags:a.uint16,coord:new a.Array(a.fixed32,function(t){return t.parent.axisCount}),postscriptNameID:new a.Optional(a.uint16,function(t){return t.parent.instanceSize-t._currentOffset>0})}),kr=new a.Struct({version:a.fixed32,offsetToData:a.uint16,countSizePairs:a.uint16,axisCount:a.uint16,axisSize:a.uint16,instanceCount:a.uint16,instanceSize:a.uint16,axis:new a.Array(Sr,"axisCount"),instance:new a.Array(_r,"instanceCount")}),Cr=new a.Fixed(16,"BE",14),Ar=function(){function t(){f(this,t)}return t.decode=function(t,e){return e.flags?t.readUInt32BE():2*t.readUInt16BE()},t}(),Pr=new a.Struct({version:a.uint16,reserved:new a.Reserved(a.uint16),axisCount:a.uint16,globalCoordCount:a.uint16,globalCoords:new a.Pointer(a.uint32,new a.Array(new a.Array(Cr,"axisCount"),"globalCoordCount")),glyphCount:a.uint16,flags:a.uint16,offsetToData:a.uint32,offsets:new a.Array(new a.Pointer(Ar,"void",{relativeTo:"offsetToData",allowNull:!1}),function(t){return t.glyphCount+1})}),Er=new a.Struct({length:a.uint16,coverage:a.uint16,subFeatureFlags:a.uint32,stateTable:new function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.uint16,new a.Struct({version:function(){return 8},firstGlyph:a.uint16,values:new a.Array(a.uint8,a.uint16)})),n=w({newStateOffset:a.uint16,newState:function(t){return(t.newStateOffset-(t.parent.stateArray.base-t.parent._startOffset))/t.parent.nClasses},flags:a.uint16},t),r=new a.Struct(n),i=new pr(new a.Array(a.uint8,function(t){return t.nClasses}));return new a.Struct({nClasses:a.uint16,classTable:new a.Pointer(a.uint16,e),stateArray:new a.Pointer(a.uint16,i),entryTable:new a.Pointer(a.uint16,new pr(r))})}}),Ir=new a.Struct({justClass:a.uint32,beforeGrowLimit:a.fixed32,beforeShrinkLimit:a.fixed32,afterGrowLimit:a.fixed32,afterShrinkLimit:a.fixed32,growFlags:a.uint16,shrinkFlags:a.uint16}),Tr=new a.Array(Ir,a.uint32),Or=new a.VersionedStruct("actionType",{0:{lowerLimit:a.fixed32,upperLimit:a.fixed32,order:a.uint16,glyphs:new a.Array(a.uint16,a.uint16)},1:{addGlyph:a.uint16},2:{substThreshold:a.fixed32,addGlyph:a.uint16,substGlyph:a.uint16},3:{},4:{variationAxis:a.uint32,minimumLimit:a.fixed32,noStretchValue:a.fixed32,maximumLimit:a.fixed32},5:{flags:a.uint16,glyph:a.uint16}}),Lr=new a.Struct({actionClass:a.uint16,actionType:a.uint16,actionLength:a.uint32,actionData:Or,padding:new a.Reserved(a.uint8,function(t){return t.actionLength-t._currentOffset})}),Br=new a.Array(Lr,a.uint32),Mr=new a.Struct({lookupTable:new gr(new a.Pointer(a.uint16,Br))}),Rr=new a.Struct({classTable:new a.Pointer(a.uint16,Er,{type:"parent"}),wdcOffset:a.uint16,postCompensationTable:new a.Pointer(a.uint16,Mr,{type:"parent"}),widthDeltaClusters:new gr(new a.Pointer(a.uint16,Tr,{type:"parent",relativeTo:"wdcOffset"}))}),Fr=new a.Struct({version:a.uint32,format:a.uint16,horizontal:new a.Pointer(a.uint16,Rr),vertical:new a.Pointer(a.uint16,Rr)}),Dr={action:a.uint16},zr={markIndex:a.uint16,currentIndex:a.uint16},Nr={currentInsertIndex:a.uint16,markedInsertIndex:a.uint16},Ur=new a.Struct({items:new pr(new a.Pointer(a.uint32,new gr))}),Wr=new a.VersionedStruct("type",{0:{stateTable:new yr},1:{stateTable:new yr(zr),substitutionTable:new a.Pointer(a.uint32,Ur)},2:{stateTable:new yr(Dr),ligatureActions:new a.Pointer(a.uint32,new pr(a.uint32)),components:new a.Pointer(a.uint32,new pr(a.uint16)),ligatureList:new a.Pointer(a.uint32,new pr(a.uint16))},4:{lookupTable:new gr},5:{stateTable:new yr(Nr),insertionActions:new a.Pointer(a.uint32,new pr(a.uint16))}}),Gr=new a.Struct({length:a.uint32,coverage:a.uint24,type:a.uint8,subFeatureFlags:a.uint32,table:Wr,padding:new a.Reserved(a.uint8,function(t){return t.length-t._currentOffset})}),Vr=new a.Struct({featureType:a.uint16,featureSetting:a.uint16,enableFlags:a.uint32,disableFlags:a.uint32}),jr=new a.Struct({defaultFlags:a.uint32,chainLength:a.uint32,nFeatureEntries:a.uint32,nSubtables:a.uint32,features:new a.Array(Vr,"nFeatureEntries"),subtables:new a.Array(Gr,"nSubtables")}),Hr=new a.Struct({version:a.uint16,unused:new a.Reserved(a.uint16),nChains:a.uint32,chains:new a.Array(jr,"nChains")}),qr=new a.Struct({left:a.int16,top:a.int16,right:a.int16,bottom:a.int16}),Zr=new a.Struct({version:a.fixed32,format:a.uint16,lookupTable:new gr(qr)}),Yr={};Yr.cmap=V,Yr.head=j,Yr.hhea=H,Yr.hmtx=Z,Yr.maxp=Y,Yr.name=NameTable,Yr["OS/2"]=nt,Yr.post=it,Yr.fpgm=ot,Yr.loca=st,Yr.prep=lt,Yr["cvt "]=at,Yr.glyf=ut,Yr["CFF "]=xe,Yr.CFF2=xe,Yr.VORG=_e,Yr.EBLC=Me,Yr.CBLC=Yr.EBLC,Yr.sbix=Fe,Yr.COLR=Ne,Yr.CPAL=We,Yr.BASE=Qe,Yr.GDEF=on,Yr.GPOS=_n,Yr.GSUB=In,Yr.JSTF=Fn,Yr.HVAR=Un,Yr.DSIG=Vn,Yr.gasp=Hn,Yr.hdmx=Zn,Yr.kern=$n,Yr.LTSH=tr,Yr.PCLT=er,Yr.VDMX=ar,Yr.vhea=or,Yr.vmtx=lr,Yr.avar=fr,Yr.bsln=br,Yr.feat=xr,Yr.fvar=kr,Yr.gvar=Pr,Yr.just=Fr,Yr.morx=Hr,Yr.opbd=Zr;var Xr,Kr=new a.Struct({tag:new a.String(4),checkSum:a.uint32,offset:new a.Pointer(a.uint32,"void",{type:"global"}),length:a.uint32}),Jr=new a.Struct({tag:new a.String(4),numTables:a.uint16,searchRange:a.uint16,entrySelector:a.uint16,rangeShift:a.uint16,tables:new a.Array(Kr,"numTables")});function Qr(t,e){for(var n=0,r=t.length-1;n<=r;){var i=n+r>>1,a=e(t[i]);if(a<0)r=i-1;else{if(!(a>0))return i;n=i+1}}return-1}function $r(t,e){for(var n=[];t=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i;t[a.tag]=a}this.tables=t},Jr.preEncode=function(t){var e=[];for(var n in this.tables){var r=this.tables[n];r&&e.push({tag:n,checkSum:0,offset:new a.VoidPointer(Yr[n],r),length:Yr[n].size(r)})}this.tag="true",this.numTables=e.length,this.tables=e,this.searchRange=16*Math.floor(Math.log(this.numTables)/Math.LN2),this.entrySelector=Math.floor(this.searchRange/Math.LN2),this.rangeShift=16*this.numTables-this.searchRange};try{var ei=n(52)}catch(t){}var ni=(ti((Xr=function(){function t(e){if(f(this,t),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&&ei){var n=e.tables,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=X(o.platformID,o.encodingID,o.table.language-1);ei.encodingExists(l)&&(this.cmap=o.table,this.encoding=l)}}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(e,[[0,5]]),this.uvs&&14!==this.uvs.version&&(this.uvs=null)}return t.prototype.findSubtable=function(t,e){var n=e,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=o[0],u=o[1],c=t.tables,h=Array.isArray(c),f=0;for(c=h?c:s(c);;){var d;if(h){if(f>=c.length)break;d=c[f++]}else{if((f=c.next()).done)break;d=f.value}var p=d;if(p.platformID===l&&p.encodingID===u)return p.table}}return null},t.prototype.lookup=function(t,e){if(this.encoding){var n=ei.encode(x(t),this.encoding);t=0;for(var r=0;r>1;if(ta.endCode.get(l))){var u=a.idRangeOffset.get(l),c=void 0;if(0===u)c=t+a.idDelta.get(l);else{var h=u/2+(t-a.startCode.get(l))-(a.segCount-l);0!==(c=a.glyphIndexArray.get(h)||0)&&(c+=a.idDelta.get(l))}return 65535&c}o=l+1}}return 0;case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return a.glyphIndices.get(t-a.firstCode)||0;case 12:case 13:for(var f=0,d=a.nGroups-1;f<=d;){var p=f+d>>1,g=a.groups.get(p);if(tg.endCharCode))return 12===a.version?g.glyphID+(t-g.startCharCode):g.glyphID;f=p+1}}return 0;case 14:throw new Error("TODO: cmap format 14");default:throw new Error("Unknown cmap format "+a.version)}},t.prototype.getVariationSelector=function(t,e){if(!this.uvs)return 0;var n=this.uvs.varSelectors.toArray(),r=Qr(n,function(t){return e-t.varSelector}),i=n[r];return-1!==r&&i.defaultUVS&&(r=Qr(i.defaultUVS,function(e){return te.startUnicodeValue+e.additionalCount?1:0})),-1!==r&&i.nonDefaultUVS&&-1!==(r=Qr(i.nonDefaultUVS,function(e){return t-e.unicodeValue}))?i.nonDefaultUVS[r].glyphID:0},t.prototype.getCharacterSet=function(){var t=this.cmap;switch(t.version){case 0:return $r(0,t.codeMap.length);case 4:for(var e=[],n=t.endCode.toArray(),r=0;r=l.length)break;h=l[c++]}else{if((c=l.next()).done)break;h=c.value}var f=h;o.push.apply(o,$r(f.startCharCode,f.endCharCode+1))}return o;case 14:throw new Error("TODO: cmap format 14");default:throw new Error("Unknown cmap format "+t.version)}},t.prototype.codePointsForGlyph=function(t){var e=this.cmap;switch(e.version){case 0:for(var n=[],r=0;r<256;r++)e.codeMap.get(r)===t&&n.push(r);return n;case 4:for(var i=[],a=0;a=g.length)break;b=g[v++]}else{if((v=g.next()).done)break;b=v.value}var m=b;t>=m.glyphID&&t<=m.glyphID+(m.endCharCode-m.startCharCode)&&p.push(m.startCharCode+(t-m.glyphID))}return p;case 13:var w=[],x=e.groups.toArray(),S=Array.isArray(x),_=0;for(x=S?x:s(x);;){var k;if(S){if(_>=x.length)break;k=x[_++]}else{if((_=x.next()).done)break;k=_.value}var C=k;t===C.glyphID&&w.push.apply(w,$r(C.startCharCode,C.endCharCode+1))}return w;default:throw new Error("Unknown cmap format "+e.version)}},t}()).prototype,"getCharacterSet",[B],o(Xr.prototype,"getCharacterSet"),Xr.prototype),ti(Xr.prototype,"codePointsForGlyph",[B],o(Xr.prototype,"codePointsForGlyph"),Xr.prototype),Xr),ri=function(){function t(e){f(this,t),this.kern=e.kern}return t.prototype.process=function(t,e){for(var n=0;n=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;if(!l.coverage.crossStream){switch(l.version){case 0:if(!l.coverage.horizontal)continue;break;case 1:if(l.coverage.vertical||l.coverage.variation)continue;break;default:throw new Error("Unsupported kerning table version "+l.version)}var u=0,c=l.subtable;switch(l.format){case 0:var h=Qr(c.pairs,function(n){return t-n.left||e-n.right});h>=0&&(u=c.pairs[h].value);break;case 2:var f=0,d=0;f=t>=c.leftTable.firstGlyph&&t=c.rightTable.firstGlyph&&e=c.glyphCount||e>=c.glyphCount)return 0;u=c.kernValue[c.kernIndex[c.leftClass[t]*c.rightClassCount+c.rightClass[e]]];break;default:throw new Error("Unsupported kerning sub-table format "+l.format)}l.coverage.override?n=u:n+=u}}return n},t}(),ii=function(){function t(e){f(this,t),this.font=e}return t.prototype.positionGlyphs=function(t,e){for(var n=0,r=0,i=0;i1&&(a.minX+=(i.codePoints.length-1)*a.width/i.codePoints.length);for(var o=-e[n].xAdvance,s=0,l=this.font.unitsPerEm/16,u=n+1;u<=r;u++){var c=t[u],h=c.cbox,f=e[u],d=this.getCombiningClass(c.codePoints[0]);if("Not_Reordered"!==d){switch(f.xOffset=f.yOffset=0,d){case"Double_Above":case"Double_Below":f.xOffset+=a.minX-h.width/2-h.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":f.xOffset+=a.minX-h.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":f.xOffset+=a.maxX-h.width-h.minX;break;default:f.xOffset+=a.minX+(a.width-h.width)/2-h.minX}switch(d){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":"Attached_Below_Left"!==d&&"Attached_Below"!==d||(a.minY+=l),f.yOffset=-a.minY-h.maxY,a.minY+=h.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":"Attached_Above"!==d&&"Attached_Above_Right"!==d||(a.maxY+=l),f.yOffset=a.maxY-h.minY,a.maxY+=h.height}f.xAdvance=f.yAdvance=0,f.xOffset+=o,f.yOffset+=s}else o-=f.xAdvance,s-=f.yAdvance}},t.prototype.getCombiningClass=function(t){var e=k.getCombiningClass(t);if(3584==(-256&t))if("Not_Reordered"===e)switch(t){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(3642===t)return"Below_Right";switch(e){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 e},t}(),ai=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1/0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1/0;f(this,t),this.minX=e,this.minY=n,this.maxX=r,this.maxY=i}return t.prototype.addPoint=function(t,e){Math.abs(t)!==1/0&&(tthis.maxX&&(this.maxX=t)),Math.abs(e)!==1/0&&(ethis.maxY&&(this.maxY=e))},t.prototype.copy=function(){return new t(this.minX,this.minY,this.maxX,this.maxY)},d(t,[{key:"width",get:function(){return this.maxX-this.minX}},{key:"height",get:function(){return this.maxY-this.minY}}]),t}(),oi={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"},si={};for(var li in oi){var ui=oi[li];if(Array.isArray(ui)){var ci=ui,hi=Array.isArray(ci),fi=0;for(ci=hi?ci:s(ci);;){var di;if(hi){if(fi>=ci.length)break;di=ci[fi++]}else{if((fi=ci.next()).done)break;di=fi.value}si[di]=li}}else si[ui]=li}var pi={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};function gi(t){return pi[t]?"rtl":"ltr"}for(var yi=function(){function t(e,n,r,i,a){if(f(this,t),this.glyphs=e,this.positions=null,this.script=r,this.language=i||null,this.direction=a||gi(r),this.features={},Array.isArray(n)){var o=n,l=Array.isArray(o),u=0;for(o=l?o:s(o);;){var h;if(l){if(u>=o.length)break;h=o[u++]}else{if((u=o.next()).done)break;h=u.value}var d=h;this.features[d]=!0}}else"object"===(void 0===n?"undefined":c(n))&&(this.features=n)}return d(t,[{key:"advanceWidth",get:function(){var t=0,e=this.positions,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}t+=i.xAdvance}return t}},{key:"advanceHeight",get:function(){var t=0,e=this.positions,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}t+=i.yAdvance}return t}},{key:"bbox",get:function(){for(var t=new ai,e=0,n=0,r=0;r>1;if(65535===(o=this.table.segments[r]).firstGlyph)return null;if(to.lastGlyph))return 2===this.table.version?o.value:o.values[t-o.firstGlyph];e=r+1}}return null;case 6:for(var i=0,a=this.table.binarySearchHeader.nUnits-1;i<=a;){var o;r=i+a>>1;if(65535===(o=this.table.segments[r]).glyph)return null;if(to.glyph))return o.value;i=r+1}}return null;case 8:return this.table.values[t-this.table.firstGlyph];default:throw new Error("Unknown lookup table format: "+this.table.version)}},t.prototype.glyphsForValue=function(t){var e=[];switch(this.table.version){case 2:case 4:var n=this.table.segments,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a;if(2===this.table.version&&o.value===t)e.push.apply(e,$r(o.firstGlyph,o.lastGlyph+1));else for(var l=0;l=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d=f;d.value===t&&e.push(d.glyph)}break;case 8:for(var p=0;p=-1;){var o=null,s=1,l=!0;i===t.length||-1===i?s=0:65535===(o=t[i]).id?s=2:null==(s=this.lookupTable.lookup(o.id))&&(s=1);var u=this.stateTable.stateArray.getItem(r)[s],c=this.stateTable.entryTable.getItem(u);0!==s&&2!==s&&(n(o,c,i),l=!(16384&c.flags)),r=c.newState,l&&(i+=a)}return t},t.prototype.traverse=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new _;if(!n.has(e)){n.add(e);for(var r=this.stateTable,i=r.nClasses,a=r.stateArray,o=r.entryTable,l=a.getItem(e),u=4;u=f.length)break;g=f[p++]}else{if((p=f.next()).done)break;g=p.value}var y=g;t.enter&&t.enter(y,h),0!==h.newState&&this.traverse(t,h.newState,n),t.exit&&t.exit(y,h)}}}},t}();var Ri,Fi,Di,zi,Ni,Ui,Wi=(Li=function(){function t(e){f(this,t),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}return t.prototype.process=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.morx.chains,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=o.defaultFlags,u=o.features,c=Array.isArray(u),h=0;for(u=c?u:s(u);;){var f;if(c){if(h>=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d,p=f;(d=e[p.featureType])&&d[p.featureSetting]&&(l&=p.disableFlags,l|=p.enableFlags)}var g=o.subtables,y=Array.isArray(g),v=0;for(g=y?g:s(g);;){var b;if(y){if(v>=g.length)break;b=g[v++]}else{if((v=g.next()).done)break;b=v.value}var m=b;m.subFeatureFlags&l&&this.processSubtable(m,t)}}for(var w=t.length-1;w>=0;)65535===t[w].id&&t.splice(w,1),w--;return t},t.prototype.processSubtable=function(t,e){if(this.subtable=t,this.glyphs=e,4!==this.subtable.type){this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;var n=this.getStateMachine(t),r=this.getProcessor(),i=!!(4194304&this.subtable.coverage);return n.process(this.glyphs,i,r)}this.processNoncontextualSubstitutions(this.subtable,this.glyphs)},t.prototype.getStateMachine=function(t){return new Mi(t.table.stateTable)},t.prototype.getProcessor=function(){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)}},t.prototype.processIndicRearragement=function(t,e,n){32768&e.flags&&(this.firstGlyph=n),8192&e.flags&&(this.lastGlyph=n),function(t,e,n,r){switch(e){case 0:return t;case 1:return Gi(t,[n,1],[r,0]);case 2:return Gi(t,[n,0],[r,1]);case 3:return Gi(t,[n,1],[r,1]);case 4:return Gi(t,[n,2],[r,0]);case 5:return Gi(t,[n,2],[r,0],!0,!1);case 6:return Gi(t,[n,0],[r,2]);case 7:return Gi(t,[n,0],[r,2],!1,!0);case 8:return Gi(t,[n,1],[r,2]);case 9:return Gi(t,[n,1],[r,2],!1,!0);case 10:return Gi(t,[n,2],[r,1]);case 11:return Gi(t,[n,2],[r,1],!0,!1);case 12:return Gi(t,[n,2],[r,2]);case 13:return Gi(t,[n,2],[r,2],!0,!1);case 14:return Gi(t,[n,2],[r,2],!1,!0);case 15:return Gi(t,[n,2],[r,2],!0,!0);default:throw new Error("Unknown verb: "+e)}}(this.glyphs,15&e.flags,this.firstGlyph,this.lastGlyph)},t.prototype.processContextualSubstitution=function(t,e,n){var r=this.subtable.table.substitutionTable.items;if(65535!==e.markIndex){var i=r.getItem(e.markIndex),a=new Bi(i);t=this.glyphs[this.markedGlyph],(o=a.lookup(t.id))&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(o,t.codePoints))}if(65535!==e.currentIndex){var o,s=r.getItem(e.currentIndex),l=new Bi(s);t=this.glyphs[n],(o=l.lookup(t.id))&&(this.glyphs[n]=this.font.getGlyph(o,t.codePoints))}32768&e.flags&&(this.markedGlyph=n)},t.prototype.processLigature=function(t,e,n){if(32768&e.flags&&this.ligatureStack.push(n),8192&e.flags){for(var r,i=this.subtable.table.ligatureActions,a=this.subtable.table.components,o=this.subtable.table.ligatureList,s=e.action,l=!1,u=0,c=[],h=[];!l;){var f,d=this.ligatureStack.pop();(f=c).unshift.apply(f,this.glyphs[d].codePoints);var p=i.getItem(s++);l=!!(2147483648&p);var g=!!(1073741824&p),y=(1073741823&p)<<2>>2;if(y+=this.glyphs[d].id,u+=a.getItem(y),l||g){var v=o.getItem(u);this.glyphs[d]=this.font.getGlyph(v,c),h.push(d),u=0,c=[]}else this.glyphs[d]=this.font.getGlyph(65535)}(r=this.ligatureStack).push.apply(r,h)}},t.prototype.processNoncontextualSubstitutions=function(t,e,n){var r=new Bi(t.table.lookupTable);for(n=0;n>>5,i=!!(1024&e.flags);this._insertGlyphs(this.markedIndex,e.markedInsertIndex,r,i)}if(65535!==e.currentInsertIndex){var a=(992&e.flags)>>>5,o=!!(2048&e.flags);this._insertGlyphs(n,e.currentInsertIndex,a,o)}},t.prototype.getSupportedFeatures=function(){var t=[],e=this.morx.chains,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i.features,o=Array.isArray(a),l=0;for(a=o?a:s(a);;){var u;if(o){if(l>=a.length)break;u=a[l++]}else{if((l=a.next()).done)break;u=l.value}var c=u;t.push([c.featureType,c.featureSetting])}}return t},t.prototype.generateInputs=function(t){return this.inputCache||this.generateInputCache(),this.inputCache[t]||[]},t.prototype.generateInputCache=function(){this.inputCache={};var t=this.morx.chains,e=Array.isArray(t),n=0;for(t=e?t:s(t);;){var r;if(e){if(n>=t.length)break;r=t[n++]}else{if((n=t.next()).done)break;r=n.value}var i=r,a=i.defaultFlags,o=i.subtables,l=Array.isArray(o),u=0;for(o=l?o:s(o);;){var c;if(l){if(u>=o.length)break;c=o[u++]}else{if((u=o.next()).done)break;c=u.value}var h=c;h.subFeatureFlags&a&&this.generateInputsForSubtable(h)}}},t.prototype.generateInputsForSubtable=function(t){var e=this;if(2===t.type){if(!!(4194304&t.coverage))throw new Error("Reverse subtable, not supported.");this.subtable=t,this.ligatureStack=[];var n=this.getStateMachine(t),r=this.getProcessor(),i=[],a=[];this.glyphs=[],n.traverse({enter:function(t,n){var o=e.glyphs;a.push({glyphs:o.slice(),ligatureStack:e.ligatureStack.slice()});var s=e.font.getGlyph(t);i.push(s),o.push(i[i.length-1]),r(o[o.length-1],n,o.length-1);for(var l=0,u=0,c=0;c3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=t.splice(n[0]-(n[1]-1),n[1]);i&&a.reverse();var o=t.splice.apply(t,[e[0],e[1]].concat(a));return r&&o.reverse(),t.splice.apply(t,[n[0]-(e[1]-1),0].concat(o)),t}var Vi,ji,Hi=function(){function t(e){f(this,t),this.font=e,this.morxProcessor=new Wi(e),this.fallbackPosition=!1}return t.prototype.substitute=function(t){"rtl"===t.direction&&t.glyphs.reverse(),this.morxProcessor.process(t.glyphs,function(t){var e={};for(var n in t){var r;(r=mi[n])&&(null==e[r[0]]&&(e[r[0]]={}),e[r[0]][r[1]]=t[n])}return e}(t.features))},t.prototype.getAvailableFeatures=function(t,e){return function(t){var e={};if(Array.isArray(t))for(var n=0;n=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;this._addStrings(l,0,n,"")}return n},t.prototype._addStrings=function(t,e,n,r){var i=this.font._cmapProcessor.codePointsForGlyph(t[e]),a=Array.isArray(i),o=0;for(i=a?i:s(i);;){var l;if(a){if(o>=i.length)break;l=i[o++]}else{if((o=i.next()).done)break;l=o.value}var u=r+x(l);e=i.length)break;l=i[o++]}else{if((o=i.next()).done)break;l=o.value}var u=l;null==this.allFeatures[u]&&(r.push(u),this.allFeatures[u]=n,e&&(this.globalFeatures[u]=!0))}},t.prototype.add=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===this.stages.length&&this.stages.push([]),"string"==typeof t&&(t=[t]),Array.isArray(t))this._addFeatures(t,e);else{if("object"!==(void 0===t?"undefined":c(t)))throw new Error("Unsupported argument to ShapingPlan#add");this._addFeatures(t.global||[],!0),this._addFeatures(t.local||[],!1)}},t.prototype.addStage=function(t,e){"function"==typeof t?this.stages.push(t,[]):(this.stages.push([]),this.add(t,e))},t.prototype.setFeatureOverrides=function(t){if(Array.isArray(t))this.add(t);else if("object"===(void 0===t?"undefined":c(t)))for(var e in t)if(t[e])this.add(e);else if(null!=this.allFeatures[e]){var n=this.stages[this.allFeatures[e]];n.splice(n.indexOf(e),1),delete this.allFeatures[e],delete this.globalFeatures[e]}},t.prototype.assignGlobalFeatures=function(t){var e=t,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i;for(var o in this.globalFeatures)a.features[o]=!0}},t.prototype.process=function(t,e,n){var r=this.stages,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;"function"==typeof l?n||l(this.font,e,this):l.length>0&&t.applyFeatures(l,e,n)}},t}(),Zi=["rvrn"],Yi=["ccmp","locl","rlig","mark","mkmk"],Xi=["frac","numr","dnom"],Ki=["calt","clig","liga","rclt","curs","kern"],Ji={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]},Qi=(ji=Vi=function(){function t(){f(this,t)}return t.plan=function(t,e,n){this.planPreprocessing(t),this.planFeatures(t),this.planPostprocessing(t,n),t.assignGlobalFeatures(e),this.assignFeatures(t,e)},t.planPreprocessing=function(t){t.add({global:[].concat(Zi,Ji[t.direction]),local:Xi})},t.planFeatures=function(t){},t.planPostprocessing=function(t,e){t.add([].concat(Yi,Ki)),t.setFeatureOverrides(e)},t.assignFeatures=function(t,e){for(var n=0;n0&&k.isDigit(e[i-1].codePoints[0]);)e[i-1].features.numr=!0,e[i-1].features.frac=!0,i--;for(;a0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.options=t,this.flags=t.flags||{},this.markAttachmentType=t.markAttachmentType||0,this.index=e},t.prototype.shouldIgnore=function(t){return this.flags.ignoreMarks&&t.isMark||this.flags.ignoreBaseGlyphs&&t.isBase||this.flags.ignoreLigatures&&t.isLigature||this.markAttachmentType&&t.isMark&&t.markAttachmentType!==this.markAttachmentType},t.prototype.move=function(t){for(this.index+=t;0<=this.index&&this.indexthis.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]},t.prototype.next=function(){return this.move(1)},t.prototype.prev=function(){return this.move(-1)},t.prototype.peek=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=this.index,n=this.increment(t);return this.index=e,n},t.prototype.peekIndex=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=this.index;this.increment(t);var n=this.index;return this.index=e,n},t.prototype.increment=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=t<0?-1:1;for(t=Math.abs(t);t--;)this.move(e);return this.glyphs[this.index]},d(t,[{key:"cur",get:function(){return this.glyphs[this.index]||null}}]),t}(),pa=["DFLT","dflt","latn"],ga=function(){function t(e,n){f(this,t),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}return t.prototype.findScript=function(t){if(null==this.table.scriptList)return null;Array.isArray(t)||(t=[t]);var e=t,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i,o=this.table.scriptList,l=Array.isArray(o),u=0;for(o=l?o:s(o);;){var c;if(l){if(u>=o.length)break;c=o[u++]}else{if((u=o.next()).done)break;c=u.value}var h=c;if(h.tag===a)return h}}return null},t.prototype.selectScript=function(t,e,n){var r=!1,i=void 0;if(!this.script||t!==this.scriptTag){if((i=this.findScript(t))||(i=this.findScript(pa)),!i)return this.scriptTag;this.scriptTag=i.tag,this.script=i.script,this.language=null,this.languageTag=null,r=!0}if(n&&n===this.direction||(this.direction=n||gi(t)),e&&e.length<4&&(e+=" ".repeat(4-e.length)),!e||e!==this.languageTag){this.language=null;var a=this.script.langSysRecords,o=Array.isArray(a),l=0;for(a=o?a:s(a);;){var u;if(o){if(l>=a.length)break;u=a[l++]}else{if((l=a.next()).done)break;u=l.value}var c=u;if(c.tag===e){this.language=c.langSys,this.languageTag=c.tag;break}}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),r=!0}if(r&&(this.features={},this.language)){var h=this.language.featureIndexes,f=Array.isArray(h),d=0;for(h=f?h:s(h);;){var p;if(f){if(d>=h.length)break;p=h[d++]}else{if((d=h.next()).done)break;p=d.value}var g=p,y=this.table.featureList[g],v=this.substituteFeatureForVariations(g);this.features[y.tag]=v||y.feature}}return this.scriptTag},t.prototype.lookupsForFeatures=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],n=[],r=t,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o,u=this.features[l];if(u){var c=u.lookupListIndexes,h=Array.isArray(c),f=0;for(c=h?c:s(c);;){var d;if(h){if(f>=c.length)break;d=c[f++]}else{if((f=c.next()).done)break;d=f.value}var p=d;e&&-1!==e.indexOf(p)||n.push({feature:l,index:p,lookup:this.table.lookupList.get(p)})}}}return n.sort(function(t,e){return t.index-e.index}),n},t.prototype.substituteFeatureForVariations=function(t){if(-1===this.variationsIndex)return null;var e=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i;if(a.featureIndex===t)return a.alternateFeatureTable}return null},t.prototype.findVariationsIndex=function(t){var e=this.table.featureVariations;if(!e)return-1;for(var n=e.featureVariationRecords,r=0;r=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o,u=l.feature,c=l.lookup;for(this.currentFeature=u,this.glyphIterator.reset(c.flags);this.glyphIterator.index=h.length)break;p=h[d++]}else{if((d=h.next()).done)break;p=d.value}var g=p;if(this.applyLookup(c.lookupType,g))break}this.glyphIterator.next()}else this.glyphIterator.next()}},t.prototype.applyLookup=function(t,e){throw new Error("applyLookup must be implemented by subclasses")},t.prototype.applyLookupList=function(t){var e=this.glyphIterator.options,n=this.glyphIterator.index,r=t,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;this.glyphIterator.reset(e,n),this.glyphIterator.increment(l.sequenceIndex);var u=this.table.lookupList.get(l.lookupListIndex);this.glyphIterator.reset(u.flags,this.glyphIterator.index);var c=u.subTables,h=Array.isArray(c),f=0;for(c=h?c:s(c);;){var d;if(h){if(f>=c.length)break;d=c[f++]}else{if((f=c.next()).done)break;d=f.value}var p=d;if(this.applyLookup(u.lookupType,p))break}}return this.glyphIterator.reset(e,n),!0},t.prototype.coverageIndex=function(t,e){switch(null==e&&(e=this.glyphIterator.cur.id),t.version){case 1:return t.glyphs.indexOf(e);case 2:var n=t.rangeRecords,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a;if(o.start<=e&&e<=o.end)return o.startCoverageIndex+e-o.start}}return-1},t.prototype.match=function(t,e,n,r){for(var i=this.glyphIterator.index,a=this.glyphIterator.increment(t),o=0;o=0})},t.prototype.getClassID=function(t,e){switch(e.version){case 1:var n=t-e.startGlyph;if(n>=0&&n=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;if(l.start<=t&&t<=l.end)return l.class}}return 0},t.prototype.classSequenceMatches=function(t,e,n){var r=this;return this.match(t,e,function(t,e){return t===r.getClassID(e.id,n)})},t.prototype.applyContext=function(t){switch(t.version){case 1:var e=this.coverageIndex(t.coverage);if(-1===e)return!1;var n=t.ruleSets[e],r=n,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;if(this.sequenceMatches(1,l.input))return this.applyLookupList(l.lookupRecords)}break;case 2:if(-1===this.coverageIndex(t.coverage))return!1;if(-1===(e=this.getClassID(this.glyphIterator.cur.id,t.classDef)))return!1;var u=n=t.classSet[e],c=Array.isArray(u),h=0;for(u=c?u:s(u);;){var f;if(c){if(h>=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d=f;if(this.classSequenceMatches(1,d.classes,t.classDef))return this.applyLookupList(d.lookupRecords)}break;case 3:if(this.coverageSequenceMatches(0,t.coverages))return this.applyLookupList(t.lookupRecords)}return!1},t.prototype.applyChainingContext=function(t){switch(t.version){case 1:var e=this.coverageIndex(t.coverage);if(-1===e)return!1;var n=t.chainRuleSets[e],r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a;if(this.sequenceMatches(-o.backtrack.length,o.backtrack)&&this.sequenceMatches(1,o.input)&&this.sequenceMatches(1+o.input.length,o.lookahead))return this.applyLookupList(o.lookupRecords)}break;case 2:if(-1===this.coverageIndex(t.coverage))return!1;e=this.getClassID(this.glyphIterator.cur.id,t.inputClassDef);var l=t.chainClassSet[e];if(!l)return!1;var u=l,c=Array.isArray(u),h=0;for(u=c?u:s(u);;){var f;if(c){if(h>=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d=f;if(this.classSequenceMatches(-d.backtrack.length,d.backtrack,t.backtrackClassDef)&&this.classSequenceMatches(1,d.input,t.inputClassDef)&&this.classSequenceMatches(1+d.input.length,d.lookahead,t.lookaheadClassDef))return this.applyLookupList(d.lookupRecords)}break;case 3:if(this.coverageSequenceMatches(-t.backtrackGlyphCount,t.backtrackCoverage)&&this.coverageSequenceMatches(0,t.inputCoverage)&&this.coverageSequenceMatches(t.inputGlyphCount,t.lookaheadCoverage))return this.applyLookupList(t.lookupRecords)}return!1},t}(),ya=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=arguments[3];if(f(this,t),this._font=e,this.codePoints=r,this.id=n,this.features={},Array.isArray(i))for(var a=0;a1,this.markAttachmentType=0}}]),t}(),va=(fa=ha=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.planFeatures=function(t){t.add(["ljmo","vjmo","tjmo"],!1)},e.assignFeatures=function(t,e){for(var n=0,r=0;rSa){var h=Ja(n,a,r.features);h.features.tjmo=!0,c.push(h)}return t.splice.apply(t,[e,1].concat(c)),e+c.length-1}function $a(t,e,n){var r=t[e],i=Ha(t[e].codePoints[0]),a=t[e-1].codePoints[0],o=Ha(a),s=void 0,l=void 0,u=void 0,c=void 0;if(o===Ga&&i===Wa)s=a,c=r;else{i===Ua?(l=t[e-1],u=r):(l=t[e-2],u=t[e-1],c=r);var h=l.codePoints[0],f=u.codePoints[0];Ra(h)&&Fa(f)&&(s=ba+((h-wa)*_a+(f-xa))*ka)}var d=c&&c.codePoints[0]||Sa;if(null!=s&&(d===Sa||Da(d))){var p=s+(d-Sa);if(n.hasGlyphForCodePoint(p)){var g=o===Ua?3:2;return t.splice(e-g+1,g,Ja(n,p,r.features)),e-g+1}}return l&&(l.features.ljmo=!0),u&&(u.features.vjmo=!0),c&&(c.features.tjmo=!0),o===Ga?(Qa(t,e-1,n),e+1):e}function to(t,e,n){var r=t[e],i=t[e].codePoints[0];if(0!==n.glyphForCodePoint(i).advanceWidth){var a=function(t){switch(Ha(t)){case Ga:case Va:return 1;case Ua:return 2;case Wa:return 3}}(t[e-1].codePoints[0]);return t.splice(e,1),t.splice(e-a,0,r)}}function eo(t,e,n){var r=t[e],i=t[e].codePoints[0];if(n.hasGlyphForCodePoint(Ea)){var a=Ja(n,Ea,r.features),o=0===n.glyphForCodePoint(i).advanceWidth?e:e+1;t.splice(o,0,a),e++}return e}var no,ro,io={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:[!1,!0,!0,!0,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!1,!1,!0,!1,!0,!0,!1,!0,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!1,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!1,!0,!0,!1,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0],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"]]},ao={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","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","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],[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,23,0,0,2,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,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,27,28,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,46,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,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,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,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,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,23,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,23,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,23,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,23,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,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,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,23,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,23,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,23,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,23,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,23,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,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,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,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,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,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,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,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,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,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,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,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,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,46,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,46,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,46,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,46,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,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,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,46,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,46,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,46,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,46,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,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,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,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,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,46,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,23,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,23,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,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,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,46,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,46,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,50,0,51,0]],accepting:[!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!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],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"]]},oo={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:1<<17,Symbol:1<<18},so={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},lo=oo.C|oo.Ra|oo.CM|oo.V|oo.Placeholder|oo.Dotted_Circle,uo=oo.ZWJ|oo.ZWNJ,co=oo.H|oo.Coeng,ho={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:so.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:so.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:so.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:so.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:so.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:so.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:so.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:so.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:so.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:so.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:so.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},fo={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},po=ao.decompositions,go=new C(e("ABEAAAAAAAAAAMKgAbENTvLtnX+sHUUVx/f13nd/vHf7bl+FRGL7R0OJMcWYphBrimkVCSJR2xiEaLEGQ7AkBGowbYRSgj8K2B/GkpRYE6wlQSyJKCagrSlGkmqsqUZMY7S2CWkgqQViQSkt4Hfuzrx77tyZ2fm1u+/RPcknuzs7O3PmnDOzs7N73zteS5KXwKvgDTCnniTvBfPBJeAVpP2vFr69GGUtAkvAModyr0DeT4BrwCpwPVgDbga3ga+DjYbyluLcCvBN8F2wGWwHO8Ej4DjyPIbtz0DCeZpvD4CD4E/gb+AoOAFOgtPgLKiNJkkbTIKLwALwfvAh8GGwHFwFPg2uAzeCm8Ft4E5wN7gPPAi+D34AfgR+Ap7kx8+AZ8HvwZ/BEXAMvAheAa+Bc6OpzvVGknTABY30eB62C8GlYDFYCpaDq/n5z2J7PVgDbgG3N1KbrOdbWzby/N/G9i6wlR8/wLebUNcOll7vX7PLsQ4bdpAy92B/L3gK7AO/A38EfwX/AC+AkyT/m3x7mqdtYz7Gfq2ZJOPgPc3UXu/D9uJmmmcRT1uC7TJwZTONJxFL1+J4JbgBrAG3gNv5Nev5dhO2m3l54rqtON7RNLd1V8Z5auMfI+8Wbvv12P4Ux78AvyZl/Bb7fwD34HwH/EVR/t8t6rRlrYgFlHnMsdyXIupRFP+Gzv8Bb4CklSSjrTR9bz21uZx/Nj8v+uIFOJ4HFnJo3kWtNG6WkPSzBl1YbC8jeVfx+q+R9Pg48lxN8jFdhd8+01LrLTCdq6io8GNb1a8qKioqKioqKioc2cbXGcrWQ2Ynf9a9rmV/zVua9Dc16V/gz8pfxvar4A6wAdwL7gdbwUPgh+BR8AR4qpWuLe3D9gA4CA6DI+AoOAFOtdL1nNexfYs937fxDA8ubKf1zmv3dViI/Uvb9m2sqKioqAiHrVtehrH3TK2/3l4WZduioqIiDq+Rd1Jbef9ehnHmSnCtNNf7nOPcr8PHilO8jrfBF9v996lfwf6tUpl3tPvvdSjsvcwGnLt3Gsw/kzkpK8CdYH83my3Id0iT91WkL5xMktXgIfD85OD54zjfmYu5OFgN7h1LkmdBMg5fgbvAChzv49ujfEuZ3xlOk7kReTaSfL/B/jl+fMXsJLkb7AcPj8TlHC/zsgnYcyLd3zSh1vGAJr2ioqKiIn/eKXkMjn3/cWF5t/z6y37+K5urwP2YB36vPfw8yr7zeRjpu8g8cTf2H2+n89EtivLE93fs27Ez/Br2vM2+qWPl/ZyX9StFfQxW5v724PPxzXz7XHu4Pps5Jvtmiq13szmzfP0hlHkYHGn358bHeD0vYvsy+K+kz9vt/jy8gT40G1w4Rua0PN98nnaGf/e1G+mXIO2DY8P6Xz7WPz7Ky/7omJ0PBff4+B91fAqsAp8HXwI3gR04txbbdWDDWDpP/g7Yxs6BXWAP2AueJHo+M5bOpw+Cw+AIOApOgFMW7Xkdec6AkXH1+QfgyzbOTY73jy/C/gJ+/CCOP4D9xfz4I9h+TFMWtf9SRWzZwq7f0yi/L9voWSRbDfV/clx/3TuKfjoT26/iX813URx4tiVG3ay/sfFuJenb7J50A4mr1di/CZzLKZ6y2reunup4qzT+fM0wHp0PUD9+A7bYNJ5fn3eNP/Ft5bc0+S4n9/l1Gj+K82zesd1wfj3fZ79h2YyyVvLj7djfCR4xjJEyuy1+S/FyDt/MPwodn5hB8axrxy9nSBtYjOyHrs+BQ+B58E+u+wsWbWBtpb/hYL8RuA/pJ8fT2GffX+wl+daSa08jz9nxNG2k4963XBG/ZVhpUS573mh3BtPo7x/Eb7pE2yd5XvZssY/M/RZLc9SLeDsfD5gfTidi9//pwrzWu7t9lKcN7dxynthAh8vcKrQu1frHTGKBNF662KfoOXU1FsaFxe6x2kjClkBnGvXxwX0bytZ5unK+S9n2jxabTc5M0HUaIyTrfFa+Ljmflc9Xz7JtNdPa4eKz6WAPlb5l6xfLBzopWxcfncvSf7rHRJk2KSN2bKRsvcu2UZmxVIb9qd551e8rZcTERGuQ+qwIjERkjl2+djOlhWfpibnp/qxmP92FVr1/bc9GYxxuI5o3UzdukzYpj+H6nOxra9nHiaksjhDdsasPe9ca/CvOU1GVwUT4t8P921H4T8gsnkdIh+dn/pXrU0mnOZw21CbJv1P5LP0r4jtkbLH171BbCvavnFfeZ8L8K2wv/CuQRU6n/qWSNSbr2mO8xtK/U+Mq6Y/1yQyFJHHtv8Kn2uOC/Gvbf2VEPxJ9SvhY5d+Q+y21iRxLruOzsY6MWGrOkPHZ1b+jFuPzqEX/VcmoZkyIPT53k36/DZnrMd+K/Dbjs6kv6+6VYl9OU+WT07TplvMvWWhfVo3f4t48S+rbjIZl/1b5Xyd5vJdQiTyf7tUdMlbn0J9d/cn6c7M5DO1TNF0+bmT0Z3qdKaaoXeg1Lv7NEhufzyT/6vIKEeO1jX/psdi38a889qpkStcI/u12U3zE1Re+/Yv6QNwvdTDJGi9t2ps1XtKYDJ0PmcZKcU812sRxvms7J47mZ5c+SWJD5LPRg4qqj+nWL8Q5sRVrGar1EG0sOI6ndH3DVWL7wpeuwaY6O1Nh19N+Oqs5uI7Eto3aICxNrCn5rAuZ7Cn2bdJtfZPlL/k8Ld+ki6v9E56XPUvT52mV/YVvmMj2Zz8TEuNMTxfHuFfFUJ60OLrz1utODnFG47fLbSjXy0xSy4gN63EywlhMxWcNmK71svszi5OGTvdJe3rtd8ifB6I/mKBr1ap7uU/sqqTsMb+H5fxBFyuq+yqLnd7cmj33TwyOVVOwuj3nVXRtQtUGWR9jzI6kecZrKSKPuFakU2hZmXXZMDlsS1W9jBavv6eHpf3EtfJ7mKwYV0lX2g9FVY5N+Ung9aH1590+n3KLgEredfiez6u9svisY/Suk9Jsnkli1a+C1m/T7rzqd5UY9mfiXX9R92ibdZUIawTC96b1GBn6rDG1JsPv/b392SkiXVUGmyN0LO5LYi46Zf/Adc/QMaCo8TtG/bH1Z/TsW1QfUPRjm2cZee5PRaT33lEbnhlMax4qe1o/Y8a0icdaoOv9bsh+Hj6jonueoGtHumcMlX9lxLxXq7/D84fSzznGt6rtUerXxYU47/IcPeG3vqBbJ1StETZqg9fS2Akd/0Ovp+/CxD3P+/6bQwzJtsvyh5w+XjeXH9KfXGH3/VbSX4tS4XoftPZbnvcyxX1G5QvW1wbWTkbs7c3mTco6NWODbdxk3R9lGZo/aGxhiknTmETXLVs1c90u9+mBGCf6hs6fsmTq29sxPv8d82CuhCpNjGNjg31blGHrz1i41hd6nuYzbU3XhLQzj7Jt67Otw0uXUdDoH8e4F/joMdVui2dMJc3E+Tetvr6jEtPnPhJaVwz9Y7TDVlx1qnfitlEbtzlTVD0qX/pcm1esxI65PO3mU4eNrr5SZMz46FDE+aIlb5tntb1o/WOUETsW847pvNpaZH225eUpNnrS9yDy9wTysyr9XVOe63+qd3M6e4X6Ptd1Dpc1SdV53ZqFag1hpP+bE5f4ivY74BzXilzWWW1+S0TjJng91Gd9wmbNgpMVz6W8d7GJZwWtWp8p++c8fpjW0Vzff3dJfzGuoersEtnmpjVLupY48H6o7n8/C+kvJn+Lcd6q3QHx3usvZax3W8apvP6rev+UJSHfiCYe/h2aTwTaRi5DO28ZSd9zNhTfJ8b2je7drOo9HtNNbPMW03zOpq2qNqnKFN+0huhlMye2Pe9TdzfCedfxMlRfG7xjncaJ7fiXMYZk3X+ZvuKbXCGh8y8XH8TybajPTfq4tjG2/qb0RJO3SB19ba2SMuoNbW8R/g653qa9sdsRYsssu+ZxPss+tnayFd94yjofEi+hZdvo73q9jd3yisUYbfEpQ9XmMqUIm2fFZh4xkZeE1BNDL5v+ZcqXh/90bSwjflz8U0QcFWHzPOpy0amM+stqf1ad7LltVPqWmG3p3+GiIvLJf8duYA3NcBwbWRpkDXmo7RP+z5E6+8Xswz512dbrW2aMNrpKaBt9y45VR2j9efhAQL/PF38Xadq907NYC5dpZLy3kMX6PUHgeGGS3nfoPn9rObJ9s/4uMntnSt/J5TX+2ZRhtFcB8ZgVmyZbit8GCd/7/C7EOcYK7LdyjNhIlL81nqN/Xf9mOHt/anovP4X0tyem/OUZF9TmscY2nzEulq96ZeVwv2Bxxnwk3s9njT8m/YWOKl199fe53tTXyu5DLojfKWXej6R3RAPtDf1ex/PvtdJ8Q7aP7Ht6XpdXSJf8/wMdQuS/j0/HtKny9KbT+oT2K2ETuW7Tt09Uss5nCdWhjPuMTXzrztO4FHMy+V6TJaH9I6+2C5HPq9oc8xlKRva5rF8M/7tC26/6BsNFivQ//e1pVsyP19VrNrH1D5Wi7oUDdVp8Q5HVr1ztlzXPtH2Gc30+lMX3edH3ecm3fp0+Ps/IPvWH6OpiV7meEMlbzyIkpi1jtDU0Pmm6nMd0jU8bXK7N0jWkb/joHyNebfWgtrJpc0h7QiQP24aKqcwYPnTRIUmG63fRQ5VXLsekgy5NtVXVadLfpjzV9S6xYnuNri159ZmsmLCpJ8/6XSRGOaH659H+GLYtwhd51xvq31B9Qm0UavM84qhoKaNOnfwf","base64")),yo=new A(io),vo=(ro=no=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.planFeatures=function(t){var e;t.addStage(_o),t.addStage(["locl","ccmp"]),t.addStage(Eo),t.addStage("nukt"),t.addStage("akhn"),t.addStage("rphf",!1),t.addStage("rkrf"),t.addStage("pref",!1),t.addStage("blwf",!1),t.addStage("abvf",!1),t.addStage("half",!1),t.addStage("pstf",!1),t.addStage("vatu"),t.addStage("cjct"),t.addStage("cfar",!1),t.addStage(Io),t.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),t.unicodeScript=(e=t.script,si[e]),t.indicConfig=ho[t.unicodeScript]||ho.Default,t.isOldSpec=t.indicConfig.hasOldSpec&&"2"!==t.script[t.script.length-1]},e.assignFeatures=function(t,e){for(var n=function(n){var r=e[n].codePoints[0],i=fo[r]||po[r];if(i){var a=i.map(function(r){var i=t.font.glyphForCodePoint(r);return new ya(t.font,i.id,[r],e[n].features)});e.splice.apply(e,[n,1].concat(a))}},r=e.length-1;r>=0;r--)n(r)},e}(Qi),no.zeroMarkWidths="NONE",ro);function bo(t){return go.get(t.codePoints[0])>>8}function mo(t){return 1<<(255&go.get(t.codePoints[0]))}var wo,xo,So=function t(e,n,r,i){f(this,t),this.category=e,this.position=n,this.syllableType=r,this.syllable=i};function _o(t,e){var n=0,r=0,i=yo.match(e.map(bo)),a=Array.isArray(i),o=0;for(i=a?i:s(i);;){var l;if(a){if(o>=i.length)break;l=i[o++]}else{if((o=i.next()).done)break;l=o.value}var u=l,c=u[0],h=u[1],f=u[2];if(c>r){++n;for(var d=r;d=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}o.features=((a={})[e]=!0,a)}return t[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([e],t),1===t.length}function Eo(t,e,n){var r,i,a,o=n.indicConfig,s=t._layoutEngine.engine.GSUBProcessor.features,l=t.glyphForCodePoint(9676).id,u=t.glyphForCodePoint(o.virama).id;if(u)for(var c=new ya(t,u,[o.virama]),h=0;hm);break;case"First":for(var C=(b=f)+1;CO&&!(ko(e[L])||T&&e[L].shaperInfo.category===oo.H);L--);if(e[L].shaperInfo.category!==oo.H&&L>O){var B=e[O];e.splice.apply(e,[O,0].concat(e.splice(O+1,L-O))),e[L]=B}break}for(var M=so.Start,R=f;Rf;D--)if(e[D-1].shaperInfo.position!==so.Pre_M){F.position=e[D-1].shaperInfo.position;break}}else F.position!==so.SMVD&&(M=F.position)}for(var z=b,N=b+1;Nf&&!ko(e[Q]););}}}function Io(t,e,n){for(var r=n.indicConfig,i=t._layoutEngine.engine.GSUBProcessor.features,a=0,o=To(e,0);a=so.Base_C){if(s&&l+1