$(document).ready(function(){$(".contact_card").click(function(){if($(this).find("a.contact-mail").length){window.location.href=$(this).find("a:first").attr("href");}});});
;;;!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.jspdf=e()}(this,function(){"use strict";var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},e=function(e){function n(t){var n={};this.subscribe=function(t,e,r){if("function"!=typeof e)return!1;n.hasOwnProperty(t)||(n[t]={});var i=Math.random().toString(35);return n[t][i]=[e,!!r],i},this.unsubscribe=function(t){for(var e in n)if(n[e][t])return delete n[e][t],!0;return!1},this.publish=function(r){if(n.hasOwnProperty(r)){var i=Array.prototype.slice.call(arguments,1),o=[];for(var a in n[r]){var s=n[r][a];try{s[0].apply(t,i)}catch(t){e.console&&console.error("jsPDF PubSub Error",t.message,t)}s[1]&&o.push(a)}o.length&&o.forEach(this.unsubscribe)}}}function r(c,l,u,h){var f={};"object"===("undefined"==typeof c?"undefined":t(c))&&(f=c,c=f.orientation,l=f.unit||l,u=f.format||u,h=f.compress||f.compressPdf||h),l=l||"mm",u=u||"a4",c=(""+(c||"P")).toLowerCase();var d,p,g,m,w,y,v,b,x,k=((""+u).toLowerCase(),!!h&&"function"==typeof Uint8Array),_=f.textColor||"0 g",C=f.drawColor||"0 G",A=f.fontSize||16,S=f.lineHeight||1.15,q=f.lineWidth||.200025,T=2,I=!1,P=[],E={},O={},F=0,R=[],B=[],D=[],j=[],N=[],z=0,L=0,M=0,U={title:"",subject:"",author:"",keywords:"",creator:""},H={},W=new n(H),X=function(t){return t.toFixed(2)},V=function(t){return t.toFixed(3)},Y=function(t){return("0"+parseInt(t)).slice(-2)},G=function(t){I?R[m].push(t):(M+=t.length+1,j.push(t))},J=function(){return T++,P[T]=M,G(T+" 0 obj"),T},Q=function(){var t=2*R.length+1;t+=N.length;var e={objId:t,content:""};return N.push(e),e},K=function(){return T++,P[T]=function(){return M},T},$=function(t){P[t]=M},Z=function(t){G("stream"),G(t),G("endstream")},tt=function(){var t,n,i,o,s,c,l,u,h,f=[];for(l=e.adler32cs||r.adler32cs,k&&"undefined"==typeof l&&(k=!1),t=1;t<=F;t++){if(f.push(J()),u=(w=D[t].width)*p,h=(y=D[t].height)*p,G("<</Type /Page"),G("/Parent 1 0 R"),G("/Resources 2 0 R"),G("/MediaBox [0 0 "+X(u)+" "+X(h)+"]"),W.publish("putPage",{pageNumber:t,page:R[t]}),G("/Contents "+(T+1)+" 0 R"),G(">>"),G("endobj"),n=R[t].join("\n"),J(),k){for(i=[],o=n.length;o--;)i[o]=n.charCodeAt(o);c=l.from(n),s=new a(6),s.append(new Uint8Array(i)),n=s.flush(),i=new Uint8Array(n.length+6),i.set(new Uint8Array([120,156])),i.set(n,2),i.set(new Uint8Array([255&c,c>>8&255,c>>16&255,c>>24&255]),n.length+2),n=String.fromCharCode.apply(null,i),G("<</Length "+n.length+" /Filter [/FlateDecode]>>")}else G("<</Length "+n.length+">>");Z(n),G("endobj")}P[1]=M,G("1 0 obj"),G("<</Type /Pages");var d="/Kids [";for(o=0;o<F;o++)d+=f[o]+" 0 R ";G(d+"]"),G("/Count "+F),G(">>"),G("endobj"),W.publish("postPutPages")},et=function(t){t.objectNumber=J(),G("<</BaseFont/"+t.PostScriptName+"/Type/Font"),"string"==typeof t.encoding&&G("/Encoding/"+t.encoding),G("/Subtype/Type1>>"),G("endobj")},nt=function(){for(var t in E)E.hasOwnProperty(t)&&et(E[t])},rt=function(){W.publish("putXobjectDict")},it=function(){G("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"),G("/Font <<");for(var t in E)E.hasOwnProperty(t)&&G("/"+t+" "+E[t].objectNumber+" 0 R");G(">>"),G("/XObject <<"),rt(),G(">>")},ot=function(){nt(),W.publish("putResources"),P[2]=M,G("2 0 obj"),G("<<"),it(),G(">>"),G("endobj"),W.publish("postPutResources")},at=function(){W.publish("putAdditionalObjects");for(var t=0;t<N.length;t++){var e=N[t];P[e.objId]=M,G(e.objId+" 0 obj"),G(e.content),G("endobj")}T+=N.length,W.publish("postPutAdditionalObjects")},st=function(t,e,n){O.hasOwnProperty(e)||(O[e]={}),O[e][n]=t},ct=function(t,e,n,r){var i="F"+(Object.keys(E).length+1).toString(10),o=E[i]={id:i,PostScriptName:t,fontName:e,fontStyle:n,encoding:r,metadata:{}};return st(i,e,n),W.publish("addFont",o),i},lt=function(){for(var t="helvetica",e="times",n="courier",r="normal",i="bold",o="italic",a="bolditalic",s="StandardEncoding",c="zapfdingbats",l=[["Helvetica",t,r],["Helvetica-Bold",t,i],["Helvetica-Oblique",t,o],["Helvetica-BoldOblique",t,a],["Courier",n,r],["Courier-Bold",n,i],["Courier-Oblique",n,o],["Courier-BoldOblique",n,a],["Times-Roman",e,r],["Times-Bold",e,i],["Times-Italic",e,o],["Times-BoldItalic",e,a],["ZapfDingbats",c]],u=0,h=l.length;u<h;u++){var f=ct(l[u][0],l[u][1],l[u][2],s),d=l[u][0].split("-");st(f,d[0],d[1]||"")}W.publish("addFonts",{fonts:E,dictionary:O})},ut=function(t){return t.foo=function(){try{return t.apply(this,arguments)}catch(t){var n=t.stack||"";~n.indexOf(" at ")&&(n=n.split(" at ")[1]);var r="Error in function "+n.split("\n")[0].split("<")[0]+": "+t.message;if(!e.console)throw new Error(r);e.console.error(r,t),e.alert&&alert(r)}},t.foo.bar=t,t.foo},ht=function(t,e){var n,r,i,o,a,s,c,l,u;if(e=e||{},i=e.sourceEncoding||"Unicode",a=e.outputEncoding,(e.autoencode||a)&&E[d].metadata&&E[d].metadata[i]&&E[d].metadata[i].encoding&&(o=E[d].metadata[i].encoding,!a&&E[d].encoding&&(a=E[d].encoding),!a&&o.codePages&&(a=o.codePages[0]),"string"==typeof a&&(a=o[a]),a)){for(c=!1,s=[],n=0,r=t.length;n<r;n++)l=a[t.charCodeAt(n)],l?s.push(String.fromCharCode(l)):s.push(t[n]),s[n].charCodeAt(0)>>8&&(c=!0);t=s.join("")}for(n=t.length;void 0===c&&0!==n;)t.charCodeAt(n-1)>>8&&(c=!0),n--;if(!c)return t;for(s=e.noBOM?[]:[254,255],n=0,r=t.length;n<r;n++){if(l=t.charCodeAt(n),u=l>>8,u>>8)throw new Error("Character at position "+n+" of string '"+t+"' exceeds 16bits. Cannot be encoded into UCS-2 BE");s.push(u),s.push(l-(u<<8))}return String.fromCharCode.apply(void 0,s)},ft=function(t,e){return ht(t,e).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},dt=function(){G("/Producer (jsPDF "+r.version+")");for(var t in U)U.hasOwnProperty(t)&&U[t]&&G("/"+t.substr(0,1).toUpperCase()+t.substr(1)+" ("+ft(U[t])+")");var e=new Date,n=e.getTimezoneOffset(),i=n<0?"+":"-",o=Math.floor(Math.abs(n/60)),a=Math.abs(n%60),s=[i,Y(o),"'",Y(a),"'"].join("");G(["/CreationDate (D:",e.getFullYear(),Y(e.getMonth()+1),Y(e.getDate()),Y(e.getHours()),Y(e.getMinutes()),Y(e.getSeconds()),s,")"].join(""))},pt=function(){switch(G("/Type /Catalog"),G("/Pages 1 0 R"),b||(b="fullwidth"),b){case"fullwidth":G("/OpenAction [3 0 R /FitH null]");break;case"fullheight":G("/OpenAction [3 0 R /FitV null]");break;case"fullpage":G("/OpenAction [3 0 R /Fit]");break;case"original":G("/OpenAction [3 0 R /XYZ null null 1]");break;default:var t=""+b;"%"===t.substr(t.length-1)&&(b=parseInt(b)/100),"number"==typeof b&&G("/OpenAction [3 0 R /XYZ null null "+X(b)+"]")}switch(x||(x="continuous"),x){case"continuous":G("/PageLayout /OneColumn");break;case"single":G("/PageLayout /SinglePage");break;case"two":case"twoleft":G("/PageLayout /TwoColumnLeft");break;case"tworight":G("/PageLayout /TwoColumnRight")}v&&G("/PageMode /"+v),W.publish("putCatalog")},gt=function(){G("/Size "+(T+1)),G("/Root "+T+" 0 R"),G("/Info "+(T-1)+" 0 R")},mt=function(t,e){var n="string"==typeof e&&e.toLowerCase();if("string"==typeof t){var r=t.toLowerCase();s.hasOwnProperty(r)&&(t=s[r][0]/p,e=s[r][1]/p)}if(Array.isArray(t)&&(e=t[1],t=t[0]),n){switch(n.substr(0,1)){case"l":e>t&&(n="s");break;case"p":t>e&&(n="s")}"s"===n&&(g=t,t=e,e=g)}I=!0,R[++F]=[],D[F]={width:Number(t)||w,height:Number(e)||y},B[F]={},vt(F)},wt=function(){mt.apply(this,arguments),G(X(q*p)+" w"),G(C),0!==z&&G(z+" J"),0!==L&&G(L+" j"),W.publish("addPage",{pageNumber:F})},yt=function(t){t>0&&t<=F&&(R.splice(t,1),D.splice(t,1),F--,m>F&&(m=F),this.setPage(m))},vt=function(t){t>0&&t<=F&&(m=t,w=D[t].width,y=D[t].height)},bt=function(t,e){var n;switch(t=void 0!==t?t:E[d].fontName,e=void 0!==e?e:E[d].fontStyle,void 0!==t&&(t=t.toLowerCase()),t){case"sans-serif":case"verdana":case"arial":case"helvetica":t="helvetica";break;case"fixed":case"monospace":case"terminal":case"courier":t="courier";break;case"serif":case"cursive":case"fantasy":default:t="times"}try{n=O[t][e]}catch(t){}return n||(n=O.times[e],null==n&&(n=O.times.normal)),n},xt=function(){I=!1,T=2,M=0,j=[],P=[],N=[],W.publish("buildDocument"),G("%PDF-"+o),tt(),at(),ot(),J(),G("<<"),dt(),G(">>"),G("endobj"),J(),G("<<"),pt(),G(">>"),G("endobj");var t,e=M,n="0000000000";for(G("xref"),G("0 "+(T+1)),G(n+" 65535 f "),t=1;t<=T;t++){var r=P[t];G("function"==typeof r?(n+P[t]()).slice(-10)+" 00000 n ":(n+P[t]).slice(-10)+" 00000 n ")}return G("trailer"),G("<<"),gt(),G(">>"),G("startxref"),G(""+e),G("%%EOF"),I=!0,j.join("\n")},kt=function(t){var e="S";return"F"===t?e="f":"FD"===t||"DF"===t?e="B":"f"!==t&&"f*"!==t&&"B"!==t&&"B*"!==t||(e=t),e},_t=function(){for(var t=xt(),e=t.length,n=new ArrayBuffer(e),r=new Uint8Array(n);e--;)r[e]=t.charCodeAt(e);return n},Ct=function(){return new Blob([_t()],{type:"application/pdf"})},At=ut(function(t,n){var r="dataur"===(""+t).substr(0,6)?"data:application/pdf;base64,"+btoa(xt()):0;switch(t){case void 0:return xt();case"save":if(navigator.getUserMedia&&(void 0===e.URL||void 0===e.URL.createObjectURL))return H.output("dataurlnewwindow");i(Ct(),n),"function"==typeof i.unload&&e.setTimeout&&setTimeout(i.unload,911);break;case"arraybuffer":return _t();case"blob":return Ct();case"bloburi":case"bloburl":return e.URL&&e.URL.createObjectURL(Ct())||void 0;case"datauristring":case"dataurlstring":return r;case"dataurlnewwindow":var o=e.open(r);if(o||"undefined"==typeof safari)return o;case"datauri":case"dataurl":return e.document.location.href=r;default:throw new Error('Output type "'+t+'" is not supported.')}});switch(l){case"pt":p=1;break;case"mm":p=72/25.4000508;break;case"cm":p=72/2.54000508;break;case"in":p=72;break;case"px":p=96/72;break;case"pc":p=12;break;case"em":p=12;break;case"ex":p=6;break;default:throw"Invalid unit: "+l}H.internal={pdfEscape:ft,getStyle:kt,getFont:function(){return E[bt.apply(H,arguments)]},getFontSize:function(){return A},getLineHeight:function(){return A*S},write:function(t){G(1===arguments.length?t:Array.prototype.join.call(arguments," "))},getCoordinateString:function(t){return X(t*p)},getVerticalCoordinateString:function(t){return X((y-t)*p)},collections:{},newObject:J,newAdditionalObject:Q,newObjectDeferred:K,newObjectDeferredBegin:$,putStream:Z,events:W,scaleFactor:p,pageSize:{get width(){return w},get height(){return y}},output:function(t,e){return At(t,e)},getNumberOfPages:function(){return R.length-1},pages:R,out:G,f2:X,getPageInfo:function(t){var e=2*(t-1)+3;return{objId:e,pageNumber:t,pageContext:B[t]}},getCurrentPageInfo:function(){var t=2*(m-1)+3;return{objId:t,pageNumber:m,pageContext:B[m]}},getPDFVersion:function(){return o}},H.addPage=function(){return wt.apply(this,arguments),this},H.setPage=function(){return vt.apply(this,arguments),this},H.insertPage=function(t){return this.addPage(),this.movePage(m,t),this},H.movePage=function(t,e){if(t>e){for(var n=R[t],r=D[t],i=B[t],o=t;o>e;o--)R[o]=R[o-1],D[o]=D[o-1],B[o]=B[o-1];R[e]=n,D[e]=r,B[e]=i,this.setPage(e)}else if(t<e){for(var n=R[t],r=D[t],i=B[t],o=t;o<e;o++)R[o]=R[o+1],D[o]=D[o+1],B[o]=B[o+1];R[e]=n,D[e]=r,B[e]=i,this.setPage(e)}return this},H.deletePage=function(){return yt.apply(this,arguments),this},H.setDisplayMode=function(t,e,n){return b=t,x=e,v=n,this},H.text=function(t,e,n,r,i,o){function a(t){return t=t.split("\t").join(Array(f.TabLen||9).join(" ")),ft(t,r)}"number"==typeof t&&(g=n,n=e,e=t,t=g),"string"==typeof t&&(t=t.match(/[\n\r]/)?t.split(/\r\n|\r|\n/g):[t]),"string"==typeof i&&(o=i,i=null),"string"==typeof r&&(o=r,r=null),"number"==typeof r&&(i=r,r=null);var s,c="",l="Td";if(i){i*=Math.PI/180;var u=Math.cos(i),h=Math.sin(i);c=[X(u),X(h),X(h*-1),X(u),""].join(" "),l="Tm"}r=r||{},"noBOM"in r||(r.noBOM=!0),"autoencode"in r||(r.autoencode=!0);var m="",w=this.internal.getCurrentPageInfo().pageContext;if(!0===r.stroke?w.lastTextWasStroke!==!0&&(m="1 Tr\n",w.lastTextWasStroke=!0):(w.lastTextWasStroke&&(m="0 Tr\n"),w.lastTextWasStroke=!1),"undefined"==typeof this._runningPageHeight&&(this._runningPageHeight=0),"string"==typeof t)t=a(t);else{if("[object Array]"!==Object.prototype.toString.call(t))throw new Error('Type of text must be string or Array. "'+t+'" is not recognized.');for(var v=t.concat(),b=[],x=v.length;x--;)b.push(a(v.shift()));var k=Math.ceil((y-n-this._runningPageHeight)*p/(A*S));if(0<=k&&k<b.length+1,o){var C,q,T,I=A*S,P=t.map(function(t){return this.getStringUnitWidth(t)*A/p},this);if(T=Math.max.apply(Math,P),"center"===o)C=e-T/2,e-=P[0]/2;else{if("right"!==o)throw new Error('Unrecognized alignment option, use "center" or "right".');C=e-T,e-=P[0]}q=e,t=b[0];for(var E=1,x=b.length;E<x;E++){var O=T-P[E];"center"===o&&(O/=2),t+=") Tj\n"+(C-q+O)+" -"+I+" Td ("+b[E],q=C+O}}else t=b.join(") Tj\nT* (")}var F;return s||(F=X((y-n)*p)),G("BT\n/"+d+" "+A+" Tf\n"+A*S+" TL\n"+m+_+"\n"+c+X(e*p)+" "+F+" "+l+"\n("+t+") Tj\nET"),s&&this.text(s,e,n),this},H.lstext=function(t,e,n,r){for(var i=0,o=t.length;i<o;i++,e+=r)this.text(t[i],e,n)},H.line=function(t,e,n,r){return this.lines([[n-t,r-e]],t,e)},H.clip=function(){G("W"),G("S")},H.clip_fixed=function(t){G("evenodd"===t?"W*":"W"),G("n")},H.lines=function(t,e,n,r,i,o){var a,s,c,l,u,h,f,d,m,w,v;for("number"==typeof t&&(g=n,n=e,e=t,t=g),r=r||[1,1],G(V(e*p)+" "+V((y-n)*p)+" m "),a=r[0],s=r[1],l=t.length,w=e,v=n,c=0;c<l;c++)u=t[c],2===u.length?(w=u[0]*a+w,v=u[1]*s+v,G(V(w*p)+" "+V((y-v)*p)+" l")):(h=u[0]*a+w,f=u[1]*s+v,d=u[2]*a+w,m=u[3]*s+v,w=u[4]*a+w,v=u[5]*s+v,G(V(h*p)+" "+V((y-f)*p)+" "+V(d*p)+" "+V((y-m)*p)+" "+V(w*p)+" "+V((y-v)*p)+" c"));return o&&G(" h"),null!==i&&G(kt(i)),this},H.rect=function(t,e,n,r,i){kt(i);return G([X(t*p),X((y-e)*p),X(n*p),X(-r*p),"re"].join(" ")),null!==i&&G(kt(i)),this},H.triangle=function(t,e,n,r,i,o,a){return this.lines([[n-t,r-e],[i-n,o-r],[t-i,e-o]],t,e,[1,1],a,!0),this},H.roundedRect=function(t,e,n,r,i,o,a){var s=4/3*(Math.SQRT2-1);return this.lines([[n-2*i,0],[i*s,0,i,o-o*s,i,o],[0,r-2*o],[0,o*s,-(i*s),o,-i,o],[-n+2*i,0],[-(i*s),0,-i,-(o*s),-i,-o],[0,-r+2*o],[0,-(o*s),i*s,-o,i,-o]],t+i,e,[1,1],a),this},H.ellipse=function(t,e,n,r,i){var o=4/3*(Math.SQRT2-1)*n,a=4/3*(Math.SQRT2-1)*r;return G([X((t+n)*p),X((y-e)*p),"m",X((t+n)*p),X((y-(e-a))*p),X((t+o)*p),X((y-(e-r))*p),X(t*p),X((y-(e-r))*p),"c"].join(" ")),G([X((t-o)*p),X((y-(e-r))*p),X((t-n)*p),X((y-(e-a))*p),X((t-n)*p),X((y-e)*p),"c"].join(" ")),G([X((t-n)*p),X((y-(e+a))*p),X((t-o)*p),X((y-(e+r))*p),X(t*p),X((y-(e+r))*p),"c"].join(" ")),G([X((t+o)*p),X((y-(e+r))*p),X((t+n)*p),X((y-(e+a))*p),X((t+n)*p),X((y-e)*p),"c"].join(" ")),null!==i&&G(kt(i)),this},H.circle=function(t,e,n,r){return this.ellipse(t,e,n,n,r)},H.setProperties=function(t){for(var e in U)U.hasOwnProperty(e)&&t[e]&&(U[e]=t[e]);return this},H.setFontSize=function(t){return A=t,this},H.setFont=function(t,e){return d=bt(t,e),this},H.setFontStyle=H.setFontType=function(t){return d=bt(void 0,t),this},H.getFontList=function(){var t,e,n,r={};for(t in O)if(O.hasOwnProperty(t)){r[t]=n=[];for(e in O[t])O[t].hasOwnProperty(e)&&n.push(e)}return r},H.addFont=function(t,e,n){ct(t,e,n,"StandardEncoding")},H.setLineWidth=function(t){return G((t*p).toFixed(2)+" w"),this},H.setDrawColor=function(t,e,n,r){var i;return i=void 0===e||void 0===r&&t===e===n?"string"==typeof t?t+" G":X(t/255)+" G":void 0===r?"string"==typeof t?[t,e,n,"RG"].join(" "):[X(t/255),X(e/255),X(n/255),"RG"].join(" "):"string"==typeof t?[t,e,n,r,"K"].join(" "):[X(t),X(e),X(n),X(r),"K"].join(" "),G(i),this},H.setFillColor=function(e,n,r,i){var o;return void 0===n||void 0===i&&e===n===r?o="string"==typeof e?e+" g":X(e/255)+" g":void 0===i||"object"===("undefined"==typeof i?"undefined":t(i))?(o="string"==typeof e?[e,n,r,"rg"].join(" "):[X(e/255),X(n/255),X(r/255),"rg"].join(" "),i&&0===i.a&&(o=["255","255","255","rg"].join(" "))):o="string"==typeof e?[e,n,r,i,"k"].join(" "):[X(e),X(n),X(r),X(i),"k"].join(" "),G(o),this},H.setTextColor=function(t,e,n){if("string"==typeof t&&/^#[0-9A-Fa-f]{6}$/.test(t)){var r=parseInt(t.substr(1),16);t=r>>16&255,e=r>>8&255,n=255&r}return _=0===t&&0===e&&0===n||"undefined"==typeof e?V(t/255)+" g":[V(t/255),V(e/255),V(n/255),"rg"].join(" "),this},H.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2},H.setLineCap=function(t){var e=this.CapJoinStyles[t];if(void 0===e)throw new Error("Line cap style of '"+t+"' is not recognized. See or extend .CapJoinStyles property for valid styles");return z=e,G(e+" J"),this},H.setLineJoin=function(t){var e=this.CapJoinStyles[t];if(void 0===e)throw new Error("Line join style of '"+t+"' is not recognized. See or extend .CapJoinStyles property for valid styles");return L=e,G(e+" j"),this},H.output=At,H.save=function(t){H.output("save",t)};for(var St in r.API)r.API.hasOwnProperty(St)&&("events"===St&&r.API.events.length?!function(t,e){var n,r,i;for(i=e.length-1;i!==-1;i--)n=e[i][0],r=e[i][1],t.subscribe.apply(t,[n].concat("function"==typeof r?[r]:r))}(W,r.API.events):H[St]=r.API[St]);return lt(),d="F1",wt(u,c),W.publish("initialized"),H}var o="1.3",s={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],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]};return r.API={events:[]},r.version="1.3.2 2016-09-30T20:33:18.867Z:jameshall","function"==typeof define&&define.amd?define("jsPDF",function(){return r}):"undefined"!=typeof module&&module.exports?module.exports=r:e.jsPDF=r,r}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||void 0);window.tmp=e,/**
   * jsPDF AcroForm Plugin
   * Copyright (c) 2016 Alexander Weidt, https://github.com/BiggA94
   *
   * Licensed under the MIT License.
   * http://opensource.org/licenses/mit-license
   */
(window.AcroForm=function(t){var n=window.AcroForm;n.scale=function(t){return t*(r.internal.scaleFactor/1)},n.antiScale=function(t){return 1/r.internal.scaleFactor*t};var r={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null};e.API.acroformPlugin=r;var i=function(){for(var t in this.acroformPlugin.acroFormDictionaryRoot.Fields){var e=this.acroformPlugin.acroFormDictionaryRoot.Fields[t];e.hasAnnotation&&a.call(this,e)}},o=function(){if(this.acroformPlugin.acroFormDictionaryRoot)throw new Error("Exception while creating AcroformDictionary");this.acroformPlugin.acroFormDictionaryRoot=new n.AcroFormDictionary,this.acroformPlugin.internal=this.internal,this.acroformPlugin.acroFormDictionaryRoot._eventID=this.internal.events.subscribe("postPutResources",l),this.internal.events.subscribe("buildDocument",i),this.internal.events.subscribe("putCatalog",c),this.internal.events.subscribe("postPutPages",u)},a=function(t){var n={type:"reference",object:t};e.API.annotationPlugin.annotations[this.internal.getPageInfo(t.page).pageNumber].push(n)},s=function(t){this.acroformPlugin.printedOut&&(this.acroformPlugin.printedOut=!1,this.acroformPlugin.acroFormDictionaryRoot=null),this.acroformPlugin.acroFormDictionaryRoot||o.call(this),this.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)},c=function(){"undefined"!=typeof this.acroformPlugin.acroFormDictionaryRoot?this.internal.write("/AcroForm "+this.acroformPlugin.acroFormDictionaryRoot.objId+" 0 R"):console.log("Root missing...")},l=function(){this.internal.events.unsubscribe(this.acroformPlugin.acroFormDictionaryRoot._eventID),delete this.acroformPlugin.acroFormDictionaryRoot._eventID,this.acroformPlugin.printedOut=!0},u=function(t){var e=!t;t||(this.internal.newObjectDeferredBegin(this.acroformPlugin.acroFormDictionaryRoot.objId),this.internal.out(this.acroformPlugin.acroFormDictionaryRoot.getString()));var t=t||this.acroformPlugin.acroFormDictionaryRoot.Kids;for(var r in t){var i=t[r],o=i.Rect;i.Rect&&(i.Rect=n.internal.calculateCoordinates.call(this,i.Rect)),this.internal.newObjectDeferredBegin(i.objId);var a="";if(a+=i.objId+" 0 obj\n",a+="<<\n"+i.getContent(),i.Rect=o,i.hasAppearanceStream&&!i.appearanceStreamContent){var s=n.internal.calculateAppearanceStream.call(this,i);a+="/AP << /N "+s+" >>\n",this.acroformPlugin.xForms.push(s)}if(i.appearanceStreamContent){a+="/AP << ";for(var c in i.appearanceStreamContent){var l=i.appearanceStreamContent[c];if(a+="/"+c+" ",a+="<< ",Object.keys(l).length>=1||Array.isArray(l))for(var r in l){var u=l[r];"function"==typeof u&&(u=u.call(this,i)),a+="/"+r+" "+u+" ",this.acroformPlugin.xForms.indexOf(u)>=0||this.acroformPlugin.xForms.push(u)}else{var u=l;"function"==typeof u&&(u=u.call(this,i)),a+="/"+r+" "+u+" \n",this.acroformPlugin.xForms.indexOf(u)>=0||this.acroformPlugin.xForms.push(u)}a+=" >>\n"}a+=">>\n"}a+=">>\nendobj\n",this.internal.out(a)}e&&h.call(this,this.acroformPlugin.xForms)},h=function(t){for(var e in t){var n=e,r=t[e];this.internal.newObjectDeferredBegin(r&&r.objId);var i="";i+=r?r.getString():"",this.internal.out(i),delete t[n]}};t.addField=function(t){return t instanceof n.TextField?d.call(this,t):t instanceof n.ChoiceField?p.call(this,t):t instanceof n.Button?f.call(this,t):t instanceof n.ChildClass?s.call(this,t):t&&s.call(this,t),t.page=this.acroformPlugin.internal.getCurrentPageInfo().pageNumber,this};var f=function(t){var t=t||new n.Field;t.FT="/Btn";var e=t.Ff||0;t.pushbutton&&(e=n.internal.setBitPosition(e,17),delete t.pushbutton),t.radio&&(e=n.internal.setBitPosition(e,16),delete t.radio),t.noToggleToOff&&(e=n.internal.setBitPosition(e,15)),t.Ff=e,s.call(this,t)},d=function(t){var t=t||new n.Field;t.FT="/Tx";var e=t.Ff||0;t.multiline&&(e=4096|e),t.password&&(e=8192|e),t.fileSelect&&(e|=1<<20),t.doNotSpellCheck&&(e|=1<<22),t.doNotScroll&&(e|=1<<23),t.Ff=t.Ff||e,s.call(this,t)},p=function(t){var e=t||new n.Field;e.FT="/Ch";var r=e.Ff||0;e.combo&&(r=n.internal.setBitPosition(r,18),delete e.combo),e.edit&&(r=n.internal.setBitPosition(r,19),delete e.edit),e.sort&&(r=n.internal.setBitPosition(r,20),delete e.sort),e.multiSelect&&this.internal.getPDFVersion()>=1.4&&(r=n.internal.setBitPosition(r,22),delete e.multiSelect),e.doNotSpellCheck&&this.internal.getPDFVersion()>=1.4&&(r=n.internal.setBitPosition(r,23),delete e.doNotSpellCheck),e.Ff=r,s.call(this,e)}})(e.API);var n=window.AcroForm;n.internal={},n.createFormXObject=function(t){var e=new n.FormXObject,r=n.Appearance.internal.getHeight(t)||0,i=n.Appearance.internal.getWidth(t)||0;return e.BBox=[0,0,i,r],e},n.Appearance={CheckBox:{createAppearanceStream:function(){var t={N:{On:n.Appearance.CheckBox.YesNormal},D:{On:n.Appearance.CheckBox.YesPushDown,Off:n.Appearance.CheckBox.OffPushDown}};return t},createMK:function(){return"<< /CA (3)>>"},YesPushDown:function(t){var e=n.createFormXObject(t),r="";t.Q=1;var i=n.internal.calculateX(t,"3","ZapfDingbats",50);return r+="0.749023 g\n             0 0 "+n.Appearance.internal.getWidth(t)+" "+n.Appearance.internal.getHeight(t)+" re\n             f\n             BMC\n             q\n             0 0 1 rg\n             /F13 "+i.fontSize+" Tf 0 g\n             BT\n",r+=i.text,r+="ET\n             Q\n             EMC\n",e.stream=r,e},YesNormal:function(t){var e=n.createFormXObject(t),r="";t.Q=1;var i=n.internal.calculateX(t,"3","ZapfDingbats",.9*n.Appearance.internal.getHeight(t));return r+="1 g\n0 0 "+n.Appearance.internal.getWidth(t)+" "+n.Appearance.internal.getHeight(t)+" re\nf\nq\n0 0 1 rg\n0 0 "+(n.Appearance.internal.getWidth(t)-1)+" "+(n.Appearance.internal.getHeight(t)-1)+" re\nW\nn\n0 g\nBT\n/F13 "+i.fontSize+" Tf 0 g\n",r+=i.text,r+="ET\n             Q\n",e.stream=r,e},OffPushDown:function(t){var e=n.createFormXObject(t),r="";return r+="0.749023 g\n            0 0 "+n.Appearance.internal.getWidth(t)+" "+n.Appearance.internal.getHeight(t)+" re\n            f\n",e.stream=r,e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:n.Appearance.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=n.Appearance.RadioButton.Circle.YesNormal,e.D[t]=n.Appearance.RadioButton.Circle.YesPushDown,e},createMK:function(){return"<< /CA (l)>>"},YesNormal:function(t){var e=n.createFormXObject(t),r="",i=n.Appearance.internal.getWidth(t)<=n.Appearance.internal.getHeight(t)?n.Appearance.internal.getWidth(t)/4:n.Appearance.internal.getHeight(t)/4;i*=.9;var o=n.Appearance.internal.Bezier_C;return r+="q\n1 0 0 1 "+n.Appearance.internal.getWidth(t)/2+" "+n.Appearance.internal.getHeight(t)/2+" cm\n"+i+" 0 m\n"+i+" "+i*o+" "+i*o+" "+i+" 0 "+i+" c\n-"+i*o+" "+i+" -"+i+" "+i*o+" -"+i+" 0 c\n-"+i+" -"+i*o+" -"+i*o+" -"+i+" 0 -"+i+" c\n"+i*o+" -"+i+" "+i+" -"+i*o+" "+i+" 0 c\nf\nQ\n",e.stream=r,e},YesPushDown:function(t){var e=n.createFormXObject(t),r="",i=n.Appearance.internal.getWidth(t)<=n.Appearance.internal.getHeight(t)?n.Appearance.internal.getWidth(t)/4:n.Appearance.internal.getHeight(t)/4;i*=.9;var o=2*i,a=o*n.Appearance.internal.Bezier_C,s=i*n.Appearance.internal.Bezier_C;return r+="0.749023 g\n            q\n           1 0 0 1 "+n.Appearance.internal.getWidth(t)/2+" "+n.Appearance.internal.getHeight(t)/2+" cm\n"+o+" 0 m\n"+o+" "+a+" "+a+" "+o+" 0 "+o+" c\n-"+a+" "+o+" -"+o+" "+a+" -"+o+" 0 c\n-"+o+" -"+a+" -"+a+" -"+o+" 0 -"+o+" c\n"+a+" -"+o+" "+o+" -"+a+" "+o+" 0 c\n            f\n            Q\n            0 g\n            q\n            1 0 0 1 "+n.Appearance.internal.getWidth(t)/2+" "+n.Appearance.internal.getHeight(t)/2+" cm\n"+i+" 0 m\n"+i+" "+s+" "+s+" "+i+" 0 "+i+" c\n-"+s+" "+i+" -"+i+" "+s+" -"+i+" 0 c\n-"+i+" -"+s+" -"+s+" -"+i+" 0 -"+i+" c\n"+s+" -"+i+" "+i+" -"+s+" "+i+" 0 c\n            f\n            Q\n",e.stream=r,e},OffPushDown:function(t){var e=n.createFormXObject(t),r="",i=n.Appearance.internal.getWidth(t)<=n.Appearance.internal.getHeight(t)?n.Appearance.internal.getWidth(t)/4:n.Appearance.internal.getHeight(t)/4;i*=.9;var o=2*i,a=o*n.Appearance.internal.Bezier_C;return r+="0.749023 g\n            q\n 1 0 0 1 "+n.Appearance.internal.getWidth(t)/2+" "+n.Appearance.internal.getHeight(t)/2+" cm\n"+o+" 0 m\n"+o+" "+a+" "+a+" "+o+" 0 "+o+" c\n-"+a+" "+o+" -"+o+" "+a+" -"+o+" 0 c\n-"+o+" -"+a+" -"+a+" -"+o+" 0 -"+o+" c\n"+a+" -"+o+" "+o+" -"+a+" "+o+" 0 c\n            f\n            Q\n",e.stream=r,e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:n.Appearance.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=n.Appearance.RadioButton.Cross.YesNormal,e.D[t]=n.Appearance.RadioButton.Cross.YesPushDown,e},createMK:function(){return"<< /CA (8)>>"},YesNormal:function(t){var e=n.createFormXObject(t),r="",i=n.Appearance.internal.calculateCross(t);return r+="q\n            1 1 "+(n.Appearance.internal.getWidth(t)-2)+" "+(n.Appearance.internal.getHeight(t)-2)+" re\n            W\n            n\n            "+i.x1.x+" "+i.x1.y+" m\n            "+i.x2.x+" "+i.x2.y+" l\n            "+i.x4.x+" "+i.x4.y+" m\n            "+i.x3.x+" "+i.x3.y+" l\n            s\n            Q\n",e.stream=r,e},YesPushDown:function(t){var e=n.createFormXObject(t),r=n.Appearance.internal.calculateCross(t),i="";return i+="0.749023 g\n            0 0 "+n.Appearance.internal.getWidth(t)+" "+n.Appearance.internal.getHeight(t)+" re\n            f\n            q\n            1 1 "+(n.Appearance.internal.getWidth(t)-2)+" "+(n.Appearance.internal.getHeight(t)-2)+" re\n            W\n            n\n            "+r.x1.x+" "+r.x1.y+" m\n            "+r.x2.x+" "+r.x2.y+" l\n            "+r.x4.x+" "+r.x4.y+" m\n            "+r.x3.x+" "+r.x3.y+" l\n            s\n            Q\n",e.stream=i,e},OffPushDown:function(t){var e=n.createFormXObject(t),r="";return r+="0.749023 g\n            0 0 "+n.Appearance.internal.getWidth(t)+" "+n.Appearance.internal.getHeight(t)+" re\n            f\n",e.stream=r,e}}},createDefaultAppearanceStream:function(t){var e="";return e+="/Helv 0 Tf 0 g"}},n.Appearance.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=function(t,e){return t>e?e:t},r=n.Appearance.internal.getWidth(t),i=n.Appearance.internal.getHeight(t),o=e(r,i),a={x1:{x:(r-o)/2,y:(i-o)/2+o},x2:{x:(r-o)/2+o,y:(i-o)/2},x3:{x:(r-o)/2,y:(i-o)/2},x4:{x:(r-o)/2+o,y:(i-o)/2+o}};return a}},n.Appearance.internal.getWidth=function(t){return t.Rect[2]},n.Appearance.internal.getHeight=function(t){return t.Rect[3]},n.internal.inherit=function(t,e){Object.create||function(t){var e=function(){};return e.prototype=t,new e};t.prototype=Object.create(e.prototype),t.prototype.constructor=t},n.internal.arrayToPdfArray=function(t){if(Array.isArray(t)){var e=" [";for(var n in t){var r=t[n].toString();e+=r,e+=n<t.length-1?" ":""}return e+="]"}},n.internal.toPdfString=function(t){return t=t||"",0!==t.indexOf("(")&&(t="("+t),")"!=t.substring(t.length-1)&&(t+="("),t},n.PDFObject=function(){var t;Object.defineProperty(this,"objId",{get:function(){return t||(this.internal?t=this.internal.newObjectDeferred():e.API.acroformPlugin.internal&&(t=e.API.acroformPlugin.internal.newObjectDeferred())),t||console.log("Couldn't create Object ID"),t},configurable:!1})},n.PDFObject.prototype.toString=function(){return this.objId+" 0 R"},n.PDFObject.prototype.getString=function(){var t=this.objId+" 0 obj\n<<",e=this.getContent();return t+=e+">>\n",this.stream&&(t+="stream\n",t+=this.stream,t+="endstream\n"),t+="endobj\n"},n.PDFObject.prototype.getContent=function(){var t=function(t){var e="",r=Object.keys(t).filter(function(t){return"content"!=t&&"appearanceStreamContent"!=t&&"_"!=t.substring(0,1)});for(var i in r){var o=r[i],a=t[o];a&&(e+=Array.isArray(a)?"/"+o+" "+n.internal.arrayToPdfArray(a)+"\n":a instanceof n.PDFObject?"/"+o+" "+a.objId+" 0 R\n":"/"+o+" "+a+"\n")}return e},e="";return e+=t(this)},n.FormXObject=function(){n.PDFObject.call(this),this.Type="/XObject",this.Subtype="/Form",this.FormType=1,this.BBox,this.Matrix,this.Resources="2 0 R",this.PieceInfo;var t;Object.defineProperty(this,"Length",{enumerable:!0,get:function(){return void 0!==t?t.length:0}}),Object.defineProperty(this,"stream",{enumerable:!1,set:function(e){t=e},get:function(){return t?t:null}})},n.internal.inherit(n.FormXObject,n.PDFObject),n.AcroFormDictionary=function(){n.PDFObject.call(this);var t=[];Object.defineProperty(this,"Kids",{enumerable:!1,configurable:!0,get:function(){return t.length>0?t:void 0}}),Object.defineProperty(this,"Fields",{enumerable:!0,configurable:!0,get:function(){return t}}),this.DA},n.internal.inherit(n.AcroFormDictionary,n.PDFObject),n.Field=function(){n.PDFObject.call(this);var t;Object.defineProperty(this,"Rect",{enumerable:!0,configurable:!1,get:function(){if(t){var e=t;return e}},set:function(e){t=e}});var e="";Object.defineProperty(this,"FT",{enumerable:!0,set:function(t){e=t},get:function(){return e}});var r;Object.defineProperty(this,"T",{enumerable:!0,configurable:!1,set:function(t){r=t},get:function(){if(!r||r.length<1){if(this instanceof n.ChildClass)return;return"(FieldObject"+n.Field.FieldNum++ +")"}return"("==r.substring(0,1)&&r.substring(r.length-1)?r:"("+r+")"}});var i;Object.defineProperty(this,"DA",{enumerable:!0,get:function(){if(i)return"("+i+")"},set:function(t){i=t}});var o;Object.defineProperty(this,"DV",{enumerable:!0,configurable:!0,get:function(){if(o)return o},set:function(t){o=t}}),Object.defineProperty(this,"Type",{enumerable:!0,get:function(){return this.hasAnnotation?"/Annot":null}}),Object.defineProperty(this,"Subtype",{enumerable:!0,get:function(){return this.hasAnnotation?"/Widget":null}}),this.BG,Object.defineProperty(this,"hasAnnotation",{enumerable:!1,get:function(){return!!(this.Rect||this.BC||this.BG)}}),Object.defineProperty(this,"hasAppearanceStream",{enumerable:!1,configurable:!0,writable:!0}),Object.defineProperty(this,"page",{enumerable:!1,configurable:!0,writable:!0})},n.Field.FieldNum=0,n.internal.inherit(n.Field,n.PDFObject),n.ChoiceField=function(){n.Field.call(this),this.FT="/Ch",this.Opt=[],this.V="()",this.TI=0,this.combo=!1,Object.defineProperty(this,"edit",{enumerable:!0,set:function(t){1==t?(this._edit=!0,this.combo=!0):this._edit=!1},get:function(){return!!this._edit&&this._edit},configurable:!1}),this.hasAppearanceStream=!0,Object.defineProperty(this,"V",{get:function(){n.internal.toPdfString()}})},n.internal.inherit(n.ChoiceField,n.Field),window.ChoiceField=n.ChoiceField,n.ListBox=function(){n.ChoiceField.call(this)},n.internal.inherit(n.ListBox,n.ChoiceField),window.ListBox=n.ListBox,n.ComboBox=function(){n.ListBox.call(this),this.combo=!0},n.internal.inherit(n.ComboBox,n.ListBox),window.ComboBox=n.ComboBox,n.EditBox=function(){n.ComboBox.call(this),this.edit=!0},n.internal.inherit(n.EditBox,n.ComboBox),window.EditBox=n.EditBox,n.Button=function(){n.Field.call(this),this.FT="/Btn"},n.internal.inherit(n.Button,n.Field),window.Button=n.Button,n.PushButton=function(){n.Button.call(this),this.pushbutton=!0},n.internal.inherit(n.PushButton,n.Button),window.PushButton=n.PushButton,n.RadioButton=function(){n.Button.call(this),this.radio=!0;var t=[];Object.defineProperty(this,"Kids",{enumerable:!0,get:function(){if(t.length>0)return t}}),Object.defineProperty(this,"__Kids",{get:function(){return t}});var e;Object.defineProperty(this,"noToggleToOff",{enumerable:!1,get:function(){return e},set:function(t){e=t}})},n.internal.inherit(n.RadioButton,n.Button),window.RadioButton=n.RadioButton,n.ChildClass=function(t,e){n.Field.call(this),this.Parent=t,this._AppearanceType=n.Appearance.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(e),this.F=n.internal.setBitPosition(this.F,3,1),this.MK=this._AppearanceType.createMK(),this.AS="/Off",this._Name=e},n.internal.inherit(n.ChildClass,n.Field),n.RadioButton.prototype.setAppearance=function(t){if(!("createAppearanceStream"in t&&"createMK"in t))return void console.log("Couldn't assign Appearance to RadioButton. Appearance was Invalid!");for(var e in this.__Kids){var n=this.__Kids[e];n.appearanceStreamContent=t.createAppearanceStream(n._Name),n.MK=t.createMK()}},n.RadioButton.prototype.createOption=function(t){var r=this,i=(this.__Kids.length,new n.ChildClass(r,t));return this.__Kids.push(i),e.API.addField(i),i},n.CheckBox=function(){Button.call(this),this.appearanceStreamContent=n.Appearance.CheckBox.createAppearanceStream(),this.MK=n.Appearance.CheckBox.createMK(),this.AS="/On",this.V="/On"},n.internal.inherit(n.CheckBox,n.Button),window.CheckBox=n.CheckBox,n.TextField=function(){n.Field.call(this),this.DA=n.Appearance.createDefaultAppearanceStream(),this.F=4;var t;Object.defineProperty(this,"V",{get:function(){return t?"("+t+")":t},enumerable:!0,set:function(e){t=e}});var e;Object.defineProperty(this,"DV",{get:function(){return e?"("+e+")":e},enumerable:!0,set:function(t){e=t}});var r=!1;Object.defineProperty(this,"multiline",{enumerable:!1,get:function(){return r},set:function(t){r=t}});var i=!1;Object.defineProperty(this,"MaxLen",{enumerable:!0,get:function(){return i},set:function(t){i=t}}),Object.defineProperty(this,"hasAppearanceStream",{enumerable:!1,get:function(){return this.V||this.DV}})},n.internal.inherit(n.TextField,n.Field),window.TextField=n.TextField,n.PasswordField=function(){TextField.call(this),Object.defineProperty(this,"password",{value:!0,enumerable:!1,configurable:!1,writable:!1})},n.internal.inherit(n.PasswordField,n.TextField),window.PasswordField=n.PasswordField,n.internal.calculateFontSpace=function(t,e,r){var r=r||"helvetica",i=n.internal.calculateFontSpace.canvas||(n.internal.calculateFontSpace.canvas=document.createElement("canvas")),o=i.getContext("2d");o.save();var a=e+" "+r;o.font=a;var s=o.measureText(t);o.fontcolor="black";var o=i.getContext("2d");s.height=1.5*o.measureText("3").width,o.restore();s.width;return s},n.internal.calculateX=function(t,e,r,i){var i=i||12,r=r||"helvetica",o={text:"",fontSize:""};e="("==e.substr(0,1)?e.substr(1):e,e=")"==e.substr(e.length-1)?e.substr(0,e.length-1):e;var a=e.split(" "),s=i,c=2,l=2,u=n.Appearance.internal.getHeight(t)||0;u=u<0?-u:u;var h=n.Appearance.internal.getWidth(t)||0;h=h<0?-h:h;var f=function(t,e,i){if(t+1<a.length){var o=e+" "+a[t+1],s=n.internal.calculateFontSpace(o,i+"px",r).width,c=h-2*l;return s<=c}return!1};s++;t:for(;;){var e="";s--;var d=n.internal.calculateFontSpace("3",s+"px",r).height,p=t.multiline?u-s:(u-d)/2;p+=c;var g=-l,m=g,w=p,y=0,v=0,b=0;if(0==s){s=12,e="(...) Tj\n",e+="% Width of Text: "+n.internal.calculateFontSpace(e,"1px").width+", FieldWidth:"+h+"\n";break}b=n.internal.calculateFontSpace(a[0]+" ",s+"px",r).width;var x="",k=0;for(var _ in a){x+=a[_]+" ",x=" "==x.substr(x.length-1)?x.substr(0,x.length-1):x;var C=parseInt(_);b=n.internal.calculateFontSpace(x+" ",s+"px",r).width;var A=f(C,x,s),S=_>=a.length-1;if(!A||S){if(A||S){if(S)v=C;else if(t.multiline&&(d+c)*(k+2)+c>u)continue t}else{if(!t.multiline)continue t;if((d+c)*(k+2)+c>u)continue t;v=C}for(var q="",T=y;T<=v;T++)q+=a[T]+" ";switch(q=" "==q.substr(q.length-1)?q.substr(0,q.length-1):q,b=n.internal.calculateFontSpace(q,s+"px",r).width,t.Q){case 2:g=h-b-l;break;case 1:g=(h-b)/2;break;case 0:default:g=l}e+=g+" "+w+" Td\n",e+="("+q+") Tj\n",e+=-g+" 0 Td\n",w=-(s+c),m=g,b=0,y=v+1,k++,x=""}else x+=" "}break}return o.text=e,o.fontSize=s,o},n.internal.calculateAppearanceStream=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e="",r=t.V||t.DV,i=n.internal.calculateX(t,r);e+="/Tx BMC\nq\n/F1 "+i.fontSize+" Tf\n1 0 0 1 0 0 Tm\n",e+="BT\n",e+=i.text,e+="ET\n",e+="Q\nEMC\n";var o=new n.createFormXObject(t);o.stream=e;return o}},n.internal.calculateCoordinates=function(t,e,r,i){var o={};if(this.internal){var a=function(t){return t*this.internal.scaleFactor};Array.isArray(t)?(t[0]=n.scale(t[0]),t[1]=n.scale(t[1]),t[2]=n.scale(t[2]),t[3]=n.scale(t[3]),o.lowerLeft_X=t[0]||0,o.lowerLeft_Y=a.call(this,this.internal.pageSize.height)-t[3]-t[1]||0,o.upperRight_X=t[0]+t[2]||0,o.upperRight_Y=a.call(this,this.internal.pageSize.height)-t[1]||0):(t=n.scale(t),e=n.scale(e),r=n.scale(r),i=n.scale(i),o.lowerLeft_X=t||0,o.lowerLeft_Y=this.internal.pageSize.height-e||0,o.upperRight_X=t+r||0,o.upperRight_Y=this.internal.pageSize.height-e+i||0)}else Array.isArray(t)?(o.lowerLeft_X=t[0]||0,o.lowerLeft_Y=t[1]||0,o.upperRight_X=t[0]+t[2]||0,o.upperRight_Y=t[1]+t[3]||0):(o.lowerLeft_X=t||0,o.lowerLeft_Y=e||0,o.upperRight_X=t+r||0,o.upperRight_Y=e+i||0);return[o.lowerLeft_X,o.lowerLeft_Y,o.upperRight_X,o.upperRight_Y]},n.internal.calculateColor=function(t,e,n){var r=new Array(3);return r.r=0|t,r.g=0|e,r.b=0|n,r},n.internal.getBitPosition=function(t,e){t=t||0;var n=1;return n<<=e-1,t|n},n.internal.setBitPosition=function(t,e,n){t=t||0,n=n||1;var r=1;if(r<<=e-1,1==n)var t=t|r;else var t=t&~r;return t},/**
   * jsPDF addHTML PlugIn
   * Copyright (c) 2014 Diego Casorran
   *
   * Licensed under the MIT License.
   * http://opensource.org/licenses/mit-license
   */
function(t){t.addHTML=function(t,e,n,r,i){if("undefined"==typeof html2canvas&&"undefined"==typeof rasterizeHTML)throw new Error("You need either https://github.com/niklasvh/html2canvas or https://github.com/cburgmer/rasterizeHTML.js");"number"!=typeof e&&(r=e,i=n),"function"==typeof r&&(i=r,r=null);var o=this.internal,a=o.scaleFactor,s=o.pageSize.width,c=o.pageSize.height;if(r=r||{},r.onrendered=function(t){e=parseInt(e)||0,n=parseInt(n)||0;var o=r.dim||{},l=o.h||0,u=o.w||Math.min(s,t.width/a)-e,h="JPEG";if(r.format&&(h=r.format),t.height>c&&r.pagesplit){var f=function(){for(var r=0;;){var o=document.createElement("canvas");o.width=Math.min(s*a,t.width),o.height=Math.min(c*a,t.height-r);var l=o.getContext("2d");l.drawImage(t,0,r,t.width,o.height,0,0,o.width,o.height);var f=[o,e,r?0:n,o.width/a,o.height/a,h,null,"SLOW"];if(this.addImage.apply(this,f),r+=o.height,r>=t.height)break;this.addPage()}i(u,r,null,f)}.bind(this);if("CANVAS"===t.nodeName){var d=new Image;d.onload=f,d.src=t.toDataURL("image/png"),t=d}else f()}else{var p=Math.random().toString(35),g=[t,e,n,u,l,h,p,"SLOW"];this.addImage.apply(this,g),i(u,l,p,g)}}.bind(this),"undefined"!=typeof html2canvas&&!r.rstz)return html2canvas(t,r);if("undefined"!=typeof rasterizeHTML){var l="drawDocument";return"string"==typeof t&&(l=/^http/.test(t)?"drawURL":"drawHTML"),r.width=r.width||s*a,rasterizeHTML[l](t,void 0,r).then(function(t){r.onrendered(t.image)},function(t){i(null,t)})}return null}}(e.API),function(e){var n="addImage_",r=["jpeg","jpg","png"],i=function t(e){var n=this.internal.newObject(),r=this.internal.write,i=this.internal.putStream;if(e.n=n,r("<</Type /XObject"),r("/Subtype /Image"),r("/Width "+e.w),r("/Height "+e.h),e.cs===this.color_spaces.INDEXED?r("/ColorSpace [/Indexed /DeviceRGB "+(e.pal.length/3-1)+" "+("smask"in e?n+2:n+1)+" 0 R]"):(r("/ColorSpace /"+e.cs),e.cs===this.color_spaces.DEVICE_CMYK&&r("/Decode [1 0 1 0 1 0 1 0]")),r("/BitsPerComponent "+e.bpc),"f"in e&&r("/Filter /"+e.f),"dp"in e&&r("/DecodeParms <<"+e.dp+">>"),"trns"in e&&e.trns.constructor==Array){for(var o="",a=0,s=e.trns.length;a<s;a++)o+=e.trns[a]+" "+e.trns[a]+" ";r("/Mask ["+o+"]")}if("smask"in e&&r("/SMask "+(n+1)+" 0 R"),r("/Length "+e.data.length+">>"),i(e.data),r("endobj"),"smask"in e){var c="/Predictor "+e.p+" /Colors 1 /BitsPerComponent "+e.bpc+" /Columns "+e.w,l={w:e.w,h:e.h,cs:"DeviceGray",bpc:e.bpc,dp:c,data:e.smask};"f"in e&&(l.f=e.f),t.call(this,l)}e.cs===this.color_spaces.INDEXED&&(this.internal.newObject(),r("<< /Length "+e.pal.length+">>"),i(this.arrayBufferToBinaryString(new Uint8Array(e.pal))),r("endobj"))},o=function(){var t=this.internal.collections[n+"images"];for(var e in t)i.call(this,t[e])},a=function(){var t,e=this.internal.collections[n+"images"],r=this.internal.write;for(var i in e)t=e[i],r("/I"+t.i,t.n,"0","R")},s=function(t){return t&&"string"==typeof t&&(t=t.toUpperCase()),t in e.image_compression?t:e.image_compression.NONE},c=function(){var t=this.internal.collections[n+"images"];return t||(this.internal.collections[n+"images"]=t={},this.internal.events.subscribe("putResources",o),this.internal.events.subscribe("putXobjectDict",a)),t},l=function(t){var e=0;return t&&(e=Object.keys?Object.keys(t).length:function(t){var e=0;for(var n in t)t.hasOwnProperty(n)&&e++;return e}(t)),e},u=function(t){return"undefined"==typeof t||null===t},h=function(t){return"string"==typeof t&&e.sHashCode(t)},f=function(t){return r.indexOf(t)===-1},d=function(t){return"function"!=typeof e["process"+t.toUpperCase()]},p=function(e){return"object"===("undefined"==typeof e?"undefined":t(e))&&1===e.nodeType},g=function(e,n,r){if("IMG"===e.nodeName&&e.hasAttribute("src")){var i=""+e.getAttribute("src");if(!r&&0===i.indexOf("data:image/"))return i;!n&&/\.png(?:[?#].*)?$/i.test(i)&&(n="png")}if("CANVAS"===e.nodeName)var o=e;else{var o=document.createElement("canvas");o.width=e.clientWidth||e.width,o.height=e.clientHeight||e.height;var a=o.getContext("2d");if(!a)throw"addImage requires canvas to be supported by browser.";if(r){var s,c,l,u,h,f,d,p,g=Math.PI/180;"object"===("undefined"==typeof r?"undefined":t(r))&&(s=r.x,c=r.y,l=r.bg,r=r.angle),p=r*g,u=Math.abs(Math.cos(p)),h=Math.abs(Math.sin(p)),f=o.width,d=o.height,o.width=d*h+f*u,o.height=d*u+f*h,isNaN(s)&&(s=o.width/2),isNaN(c)&&(c=o.height/2),a.clearRect(0,0,o.width,o.height),a.fillStyle=l||"white",a.fillRect(0,0,o.width,o.height),a.save(),a.translate(s,c),a.rotate(p),a.drawImage(e,-(f/2),-(d/2)),a.rotate(-p),a.translate(-s,-c),a.restore()}else a.drawImage(e,0,0,o.width,o.height)}return o.toDataURL("png"==(""+n).toLowerCase()?"image/png":"image/jpeg")},m=function(t,e){var n;if(e)for(var r in e)if(t===e[r].alias){n=e[r];break}return n},w=function(t,e,n){return t||e||(t=-96,e=-96),t<0&&(t=-1*n.w*72/t/this.internal.scaleFactor),e<0&&(e=-1*n.h*72/e/this.internal.scaleFactor),0===t&&(t=e*n.w/n.h),0===e&&(e=t*n.h/n.w),[t,e]},y=function(t,e,n,r,i,o,a){var s=w.call(this,n,r,i),c=this.internal.getCoordinateString,l=this.internal.getVerticalCoordinateString;n=s[0],r=s[1],a[o]=i,this.internal.write("q",c(n),"0 0",c(r),c(t),l(e+r),"cm /I"+i.i,"Do Q")};e.color_spaces={DEVICE_RGB:"DeviceRGB",DEVICE_GRAY:"DeviceGray",DEVICE_CMYK:"DeviceCMYK",CAL_GREY:"CalGray",CAL_RGB:"CalRGB",LAB:"Lab",ICC_BASED:"ICCBased",INDEXED:"Indexed",PATTERN:"Pattern",SEPARATION:"Separation",DEVICE_N:"DeviceN"},e.decode={DCT_DECODE:"DCTDecode",FLATE_DECODE:"FlateDecode",LZW_DECODE:"LZWDecode",JPX_DECODE:"JPXDecode",JBIG2_DECODE:"JBIG2Decode",ASCII85_DECODE:"ASCII85Decode",ASCII_HEX_DECODE:"ASCIIHexDecode",RUN_LENGTH_DECODE:"RunLengthDecode",CCITT_FAX_DECODE:"CCITTFaxDecode"},e.image_compression={NONE:"NONE",FAST:"FAST",MEDIUM:"MEDIUM",SLOW:"SLOW"},e.sHashCode=function(t){return Array.prototype.reduce&&t.split("").reduce(function(t,e){return t=(t<<5)-t+e.charCodeAt(0),t&t},0)},e.isString=function(t){return"string"==typeof t},e.extractInfoFromBase64DataURI=function(t){return/^data:([\w]+?\/([\w]+?));base64,(.+?)$/g.exec(t)},e.supportsArrayBuffer=function(){return"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array},e.isArrayBuffer=function(t){return!!this.supportsArrayBuffer()&&t instanceof ArrayBuffer},e.isArrayBufferView=function(t){return!!this.supportsArrayBuffer()&&("undefined"!=typeof Uint32Array&&(t instanceof Int8Array||t instanceof Uint8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array))},e.binaryStringToUint8Array=function(t){for(var e=t.length,n=new Uint8Array(e),r=0;r<e;r++)n[r]=t.charCodeAt(r);return n},e.arrayBufferToBinaryString=function(t){this.isArrayBuffer(t)&&(t=new Uint8Array(t));for(var e="",n=t.byteLength,r=0;r<n;r++)e+=String.fromCharCode(t[r]);return e},e.arrayBufferToBase64=function(t){for(var e,n,r,i,o,a="",s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=new Uint8Array(t),l=c.byteLength,u=l%3,h=l-u,f=0;f<h;f+=3)o=c[f]<<16|c[f+1]<<8|c[f+2],e=(16515072&o)>>18,n=(258048&o)>>12,r=(4032&o)>>6,i=63&o,a+=s[e]+s[n]+s[r]+s[i];return 1==u?(o=c[h],e=(252&o)>>2,n=(3&o)<<4,a+=s[e]+s[n]+"=="):2==u&&(o=c[h]<<8|c[h+1],e=(64512&o)>>10,n=(1008&o)>>4,r=(15&o)<<2,a+=s[e]+s[n]+s[r]+"="),a},e.createImageInfo=function(t,e,n,r,i,o,a,s,c,l,u,h,f){var d={alias:s,w:e,h:n,cs:r,bpc:i,i:a,data:t};return o&&(d.f=o),c&&(d.dp=c),l&&(d.trns=l),u&&(d.pal=u),h&&(d.smask=h),f&&(d.p=f),d},e.addImage=function(e,n,i,o,a,w,v,b,x){if("string"!=typeof n){var k=w;w=a,a=o,o=i,i=n,n=k}if("object"===("undefined"==typeof e?"undefined":t(e))&&!p(e)&&"imageData"in e){var _=e;e=_.imageData,n=_.format||n,i=_.x||i||0,o=_.y||o||0,a=_.w||a,w=_.h||w,v=_.alias||v,b=_.compression||b,x=_.rotation||_.angle||x}if(isNaN(i)||isNaN(o))throw console.error("jsPDF.addImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addImage");var C,A=c.call(this);if(!(C=m(e,A))){var S;if(p(e)&&(e=g(e,n,x)),u(v)&&(v=h(e)),!(C=m(v,A))){if(this.isString(e)){var q=this.extractInfoFromBase64DataURI(e);q?(n=q[2],e=atob(q[3])):137===e.charCodeAt(0)&&80===e.charCodeAt(1)&&78===e.charCodeAt(2)&&71===e.charCodeAt(3)&&(n="png")}if(n=(n||"JPEG").toLowerCase(),f(n))throw new Error("addImage currently only supports formats "+r+", not '"+n+"'");if(d(n))throw new Error("please ensure that the plugin for '"+n+"' support is added");if(this.supportsArrayBuffer()&&(e instanceof Uint8Array||(S=e,e=this.binaryStringToUint8Array(e))),C=this["process"+n.toUpperCase()](e,l(A),v,s(b),S),!C)throw new Error("An unkwown error occurred whilst processing the image")}}return y.call(this,i,o,a,w,C,C.i,A),this};var v=function(t){var e,n,r;if(255===!t.charCodeAt(0)||216===!t.charCodeAt(1)||255===!t.charCodeAt(2)||224===!t.charCodeAt(3)||!t.charCodeAt(6)==="J".charCodeAt(0)||!t.charCodeAt(7)==="F".charCodeAt(0)||!t.charCodeAt(8)==="I".charCodeAt(0)||!t.charCodeAt(9)==="F".charCodeAt(0)||0===!t.charCodeAt(10))throw new Error("getJpegSize requires a binary string jpeg file");for(var i=256*t.charCodeAt(4)+t.charCodeAt(5),o=4,a=t.length;o<a;){if(o+=i,255!==t.charCodeAt(o))throw new Error("getJpegSize could not find the size of the image");if(192===t.charCodeAt(o+1)||193===t.charCodeAt(o+1)||194===t.charCodeAt(o+1)||195===t.charCodeAt(o+1)||196===t.charCodeAt(o+1)||197===t.charCodeAt(o+1)||198===t.charCodeAt(o+1)||199===t.charCodeAt(o+1))return n=256*t.charCodeAt(o+5)+t.charCodeAt(o+6),e=256*t.charCodeAt(o+7)+t.charCodeAt(o+8),r=t.charCodeAt(o+9),[e,n,r];o+=2,i=256*t.charCodeAt(o)+t.charCodeAt(o+1)}},b=function(t){var e=t[0]<<8|t[1];if(65496!==e)throw new Error("Supplied data is not a JPEG");for(var n,r,i,o,a=t.length,s=(t[4]<<8)+t[5],c=4;c<a;){if(c+=s,n=x(t,c),s=(n[2]<<8)+n[3],(192===n[1]||194===n[1])&&255===n[0]&&s>7)return n=x(t,c+5),r=(n[2]<<8)+n[3],i=(n[0]<<8)+n[1],o=n[4],{width:r,height:i,numcomponents:o};c+=2}throw new Error("getJpegSizeFromBytes could not find the size of the image")},x=function(t,e){return t.subarray(e,e+5)};e.processJPEG=function(t,e,n,r,i){var o,a=this.color_spaces.DEVICE_RGB,s=this.decode.DCT_DECODE,c=8;return this.isString(t)?(o=v(t),this.createImageInfo(t,o[0],o[1],1==o[3]?this.color_spaces.DEVICE_GRAY:a,c,s,e,n)):(this.isArrayBuffer(t)&&(t=new Uint8Array(t)),this.isArrayBufferView(t)?(o=b(t),t=i||this.arrayBufferToBinaryString(t),this.createImageInfo(t,o.width,o.height,1==o.numcomponents?this.color_spaces.DEVICE_GRAY:a,c,s,e,n)):null)},e.processJPG=function(){return this.processJPEG.apply(this,arguments)}}(e.API),/**
   * jsPDF Annotations PlugIn
   * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv
   *
   * Licensed under the MIT License.
   * http://opensource.org/licenses/mit-license
   */
function(t){var n={annotations:[],f2:function(t){return t.toFixed(2)},notEmpty:function(t){if("undefined"!=typeof t&&""!=t)return!0}};return e.API.annotationPlugin=n,e.API.events.push(["addPage",function(t){this.annotationPlugin.annotations[t.pageNumber]=[]}]),t.events.push(["putPage",function(t){for(var e=this.annotationPlugin.annotations[t.pageNumber],r=!1,i=0;i<e.length&&!r;i++){var o=e[i];switch(o.type){case"link":if(n.notEmpty(o.options.url)||n.notEmpty(o.options.pageNumber)){r=!0;break}case"reference":case"text":case"freetext":r=!0}}if(0!=r){this.internal.write("/Annots [");for(var a=this.annotationPlugin.f2,s=this.internal.scaleFactor,c=this.internal.pageSize.height,l=this.internal.getPageInfo(t.pageNumber),i=0;i<e.length;i++){var o=e[i];switch(o.type){case"reference":this.internal.write(" "+o.object.objId+" 0 R ");break;case"text":var u=this.internal.newAdditionalObject(),h=this.internal.newAdditionalObject(),f=o.title||"Note",d="/Rect ["+a(o.bounds.x*s)+" "+a(c-(o.bounds.y+o.bounds.h)*s)+" "+a((o.bounds.x+o.bounds.w)*s)+" "+a((c-o.bounds.y)*s)+"] ";y="<</Type /Annot /Subtype /Text "+d+"/Contents ("+o.contents+")",y+=" /Popup "+h.objId+" 0 R",y+=" /P "+l.objId+" 0 R",y+=" /T ("+f+") >>",u.content=y;var p=u.objId+" 0 R",g=30,d="/Rect ["+a((o.bounds.x+g)*s)+" "+a(c-(o.bounds.y+o.bounds.h)*s)+" "+a((o.bounds.x+o.bounds.w+g)*s)+" "+a((c-o.bounds.y)*s)+"] ";y="<</Type /Annot /Subtype /Popup "+d+" /Parent "+p,o.open&&(y+=" /Open true"),y+=" >>",h.content=y,this.internal.write(u.objId,"0 R",h.objId,"0 R");break;case"freetext":var d="/Rect ["+a(o.bounds.x*s)+" "+a((c-o.bounds.y)*s)+" "+a(o.bounds.x+o.bounds.w*s)+" "+a(c-(o.bounds.y+o.bounds.h)*s)+"] ",m=o.color||"#000000";y="<</Type /Annot /Subtype /FreeText "+d+"/Contents ("+o.contents+")",y+=" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#"+m+")",y+=" /Border [0 0 0]",y+=" >>",this.internal.write(y);break;case"link":if(o.options.name){var w=this.annotations._nameMap[o.options.name];o.options.pageNumber=w.page,o.options.top=w.y}else o.options.top||(o.options.top=0);var d="/Rect ["+a(o.x*s)+" "+a((c-o.y)*s)+" "+a(o.x+o.w*s)+" "+a(c-(o.y+o.h)*s)+"] ",y="";if(o.options.url)y="<</Type /Annot /Subtype /Link "+d+"/Border [0 0 0] /A <</S /URI /URI ("+o.options.url+") >>";else if(o.options.pageNumber){var t=this.internal.getPageInfo(o.options.pageNumber);switch(y="<</Type /Annot /Subtype /Link "+d+"/Border [0 0 0] /Dest ["+t.objId+" 0 R",o.options.magFactor=o.options.magFactor||"XYZ",o.options.magFactor){case"Fit":y+=" /Fit]";break;case"FitH":y+=" /FitH "+o.options.top+"]";break;case"FitV":o.options.left=o.options.left||0,y+=" /FitV "+o.options.left+"]";break;case"XYZ":default:var v=a((c-o.options.top)*s);o.options.left=o.options.left||0,"undefined"==typeof o.options.zoom&&(o.options.zoom=0),y+=" /XYZ "+o.options.left+" "+v+" "+o.options.zoom+"]"}}""!=y&&(y+=" >>",this.internal.write(y))}}this.internal.write("]")}}]),t.createAnnotation=function(t){switch(t.type){case"link":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case"text":case"freetext":this.annotationPlugin.annotations[this.internal.getCurrentPageInfo().pageNumber].push(t)}},t.link=function(t,e,n,r,i){this.annotationPlugin.annotations[this.internal.getCurrentPageInfo().pageNumber].push({x:t,y:e,w:n,h:r,options:i,type:"link"})},t.link=function(t,e,n,r,i){this.annotationPlugin.annotations[this.internal.getCurrentPageInfo().pageNumber].push({x:t,y:e,w:n,h:r,options:i,type:"link"})},t.textWithLink=function(t,e,n,r){var i=this.getTextWidth(t),o=this.internal.getLineHeight();return this.text(t,e,n),n+=.2*o,this.link(e,n-o,i,o,r),i},t.getTextWidth=function(t){var e=this.internal.getFontSize(),n=this.getStringUnitWidth(t)*e/this.internal.scaleFactor;return n},t.getLineHeight=function(){return this.internal.getLineHeight()},this}(e.API),function(t){t.autoPrint=function(){var t;return this.internal.events.subscribe("postPutResources",function(){t=this.internal.newObject(),this.internal.write("<< /S/Named /Type/Action /N/Print >>","endobj")}),this.internal.events.subscribe("putCatalog",function(){this.internal.write("/OpenAction "+t+" 0 R")}),this}}(e.API),/**
   * jsPDF Canvas PlugIn
   * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv
   *
   * Licensed under the MIT License.
   * http://opensource.org/licenses/mit-license
   */
function(t){return t.events.push(["initialized",function(){this.canvas.pdf=this}]),t.canvas={getContext:function(t){return this.pdf.context2d._canvas=this,this.pdf.context2d},style:{}},Object.defineProperty(t.canvas,"width",{get:function(){return this._width},set:function(t){this._width=t,this.getContext("2d").pageWrapX=t+1}}),Object.defineProperty(t.canvas,"height",{get:function(){return this._height},set:function(t){this._height=t,this.getContext("2d").pageWrapY=t+1}}),this}(e.API),/** ====================================================================
   * jsPDF Cell plugin
   * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com
   *               2013 Eduardo Menezes de Morais, eduardo.morais@usp.br
   *               2013 Lee Driscoll, https://github.com/lsdriscoll
   *               2014 Juan Pablo Gaviria, https://github.com/juanpgaviria
   *               2014 James Hall, james@parall.ax
   *               2014 Diego Casorran, https://github.com/diegocr
   *
   * 
   * ====================================================================
   */
function(t){var e,n,r,i,o=3,a=13,s={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},c=1,l=function(t,e,n,r,i){s={x:t,y:e,w:n,h:r,ln:i}},u=function(){return s},h={left:0,top:0,bottom:0};t.setHeaderFunction=function(t){i=t},t.getTextDimensions=function(t){e=this.internal.getFont().fontName,n=this.table_font_size||this.internal.getFontSize(),r=this.internal.getFont().fontStyle;var i,o,a=19.049976/25.4;o=document.createElement("font"),o.id="jsPDFCell";try{o.style.fontStyle=r}catch(t){o.style.fontWeight=r}o.style.fontName=e,o.style.fontSize=n+"pt";try{o.textContent=t}catch(e){o.innerText=t}return document.body.appendChild(o),i={w:(o.offsetWidth+1)*a,h:(o.offsetHeight+1)*a},document.body.removeChild(o),i},t.cellAddPage=function(){var t=this.margins||h;this.addPage(),l(t.left,t.top,void 0,void 0),c+=1},t.cellInitialize=function(){s={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},c=1},t.cell=function(t,e,n,r,i,s,c){var f=u(),d=!1;if(void 0!==f.ln)if(f.ln===s)t=f.x+f.w,e=f.y;else{var p=this.margins||h;f.y+f.h+r+a>=this.internal.pageSize.height-p.bottom&&(this.cellAddPage(),d=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(s,!0)),e=u().y+u().h,d&&(e=a+10)}if(void 0!==i[0])if(this.printingHeaderRow?this.rect(t,e,n,r,"FD"):this.rect(t,e,n,r),"right"===c){i instanceof Array||(i=[i]);for(var g=0;g<i.length;g++){var m=i[g],w=this.getStringUnitWidth(m)*this.internal.getFontSize();this.text(m,t+n-w-o,e+this.internal.getLineHeight()*(g+1))}}else this.text(i,t+o,e+this.internal.getLineHeight());return l(t,e,n,r,s),this},t.arrayMax=function(t,e){var n,r,i,o=t[0];for(n=0,r=t.length;n<r;n+=1)i=t[n],e?e(o,i)===-1&&(o=i):i>o&&(o=i);return o},t.table=function(e,n,r,i,o){if(!r)throw"No data for PDF table";var a,l,u,f,d,p,g,m,w,y,v=[],b=[],x={},k={},_=[],C=[],A=!1,S=!0,q=12,T=h;if(T.width=this.internal.pageSize.width,o&&(o.autoSize===!0&&(A=!0),o.printHeaders===!1&&(S=!1),o.fontSize&&(q=o.fontSize),o.css&&"undefined"!=typeof o.css["font-size"]&&(q=16*o.css["font-size"]),o.margins&&(T=o.margins)),this.lnMod=0,s={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},c=1,this.printHeaders=S,this.margins=T,this.setFontSize(q),this.table_font_size=q,void 0===i||null===i)v=Object.keys(r[0]);else if(i[0]&&"string"!=typeof i[0]){var I=19.049976/25.4;for(l=0,u=i.length;l<u;l+=1)a=i[l],v.push(a.name),b.push(a.prompt),k[a.name]=a.width*I}else v=i;if(A)for(y=function(t){return t[a]},l=0,u=v.length;l<u;l+=1){for(a=v[l],x[a]=r.map(y),_.push(this.getTextDimensions(b[l]||a).w),p=x[a],g=0,f=p.length;g<f;g+=1)d=p[g],_.push(this.getTextDimensions(d).w);k[a]=t.arrayMax(_),_=[]}if(S){var P=this.calculateLineHeight(v,k,b.length?b:v);for(l=0,u=v.length;l<u;l+=1)a=v[l],C.push([e,n,k[a],P,String(b.length?b[l]:a)]);this.setTableHeaderRow(C),this.printHeaderRow(1,!1)}for(l=0,u=r.length;l<u;l+=1){var P;for(m=r[l],P=this.calculateLineHeight(v,k,m),g=0,w=v.length;g<w;g+=1)a=v[g],this.cell(e,n,k[a],P,m[a],l+2,a.align)}return this.lastCellPos=s,this.table_x=e,this.table_y=n,this},t.calculateLineHeight=function(t,e,n){for(var r,i=0,a=0;a<t.length;a++){r=t[a],n[r]=this.splitTextToSize(String(n[r]),e[r]-o);var s=this.internal.getLineHeight()*n[r].length+o;s>i&&(i=s)}return i},t.setTableHeaderRow=function(t){this.tableHeaderRow=t},t.printHeaderRow=function(t,e){if(!this.tableHeaderRow)throw"Property tableHeaderRow does not exist.";var n,r,o,s;if(this.printingHeaderRow=!0,void 0!==i){var u=i(this,c);l(u[0],u[1],u[2],u[3],-1)}this.setFontStyle("bold");var h=[];for(o=0,s=this.tableHeaderRow.length;o<s;o+=1)this.setFillColor(200,200,200),n=this.tableHeaderRow[o],e&&(this.margins.top=a,n[1]=this.margins&&this.margins.top||0,h.push(n)),r=[].concat(n),this.cell.apply(this,r.concat(t));h.length>0&&this.setTableHeaderRow(h),this.setFontStyle("normal"),this.printingHeaderRow=!1}}(e.API),/**
   * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv
   *
   * Licensed under the MIT License. http://opensource.org/licenses/mit-license
   */
function(t){function e(){this._isStrokeTransparent=!1,this._strokeOpacity=1,this.strokeStyle="#000000",this.fillStyle="#000000",this._isFillTransparent=!1,this._fillOpacity=1,this.font="12pt times",this.textBaseline="alphabetic",this.textAlign="start",this.lineWidth=1,this.lineJoin="miter",this.lineCap="butt",this._transform=[1,0,0,1,0,0],this.globalCompositeOperation="normal",this.globalAlpha=1,this._clip_path=[],this.ignoreClearRect=!1,this.copy=function(t){this._isStrokeTransparent=t._isStrokeTransparent,this._strokeOpacity=t._strokeOpacity,this.strokeStyle=t.strokeStyle,this._isFillTransparent=t._isFillTransparent,this._fillOpacity=t._fillOpacity,this.fillStyle=t.fillStyle,this.font=t.font,this.lineWidth=t.lineWidth,this.lineJoin=t.lineJoin,this.lineCap=t.lineCap,this.textBaseline=t.textBaseline,this.textAlign=t.textAlign,this._fontSize=t._fontSize,this._transform=t._transform.slice(0),this.globalCompositeOperation=t.globalCompositeOperation,this.globalAlpha=t.globalAlpha,this._clip_path=t._clip_path.slice(0),this.ignoreClearRect=t.ignoreClearRect}}t.events.push(["initialized",function(){this.context2d.pdf=this,this.context2d.internal.pdf=this,this.context2d.ctx=new e,this.context2d.ctxStack=[],this.context2d.path=[]}]),t.context2d={pageWrapXEnabled:!1,pageWrapYEnabled:!1,pageWrapX:9999999,pageWrapY:9999999,ctx:new e,f2:function(t){return t.toFixed(2)},fillRect:function(t,e,n,r){if(!this._isFillTransparent()){t=this._wrapX(t),e=this._wrapY(e);var i=this._matrix_map_rect(this.ctx._transform,{x:t,y:e,w:n,h:r});this.pdf.rect(i.x,i.y,i.w,i.h,"f")}},strokeRect:function(t,e,n,r){if(!this._isStrokeTransparent()){t=this._wrapX(t),e=this._wrapY(e);var i=this._matrix_map_rect(this.ctx._transform,{x:t,y:e,w:n,h:r});this.pdf.rect(i.x,i.y,i.w,i.h,"s")}},clearRect:function(t,e,n,r){if(!this.ctx.ignoreClearRect){t=this._wrapX(t),e=this._wrapY(e);var i=this._matrix_map_rect(this.ctx._transform,{x:t,y:e,w:n,h:r});this.save(),this.setFillStyle("#ffffff"),this.pdf.rect(i.x,i.y,i.w,i.h,"f"),this.restore()}},save:function(){this.ctx._fontSize=this.pdf.internal.getFontSize();var t=new e;t.copy(this.ctx),this.ctxStack.push(this.ctx),this.ctx=t},restore:function(){this.ctx=this.ctxStack.pop(),this.setFillStyle(this.ctx.fillStyle),this.setStrokeStyle(this.ctx.strokeStyle),this.setFont(this.ctx.font),this.pdf.setFontSize(this.ctx._fontSize),this.setLineCap(this.ctx.lineCap),this.setLineWidth(this.ctx.lineWidth),this.setLineJoin(this.ctx.lineJoin)},rect:function(t,e,n,r){this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.closePath()},beginPath:function(){this.path=[]},closePath:function(){this.path.push({type:"close"})},_getRgba:function(t){var e={};if(this.internal.rxTransparent.test(t))e.r=0,e.g=0,e.b=0,e.a=0;else{var n=this.internal.rxRgb.exec(t);null!=n?(e.r=parseInt(n[1]),e.g=parseInt(n[2]),e.b=parseInt(n[3]),e.a=1):(n=this.internal.rxRgba.exec(t),null!=n?(e.r=parseInt(n[1]),e.g=parseInt(n[2]),e.b=parseInt(n[3]),e.a=parseFloat(n[4])):(e.a=1,"#"!=t.charAt(0)&&(t=o.colorNameToHex(t),t||(t="#000000")),4===t.length?(e.r=t.substring(1,2),e.r+=r,e.g=t.substring(2,3),e.g+=g,e.b=t.substring(3,4),e.b+=b):(e.r=t.substring(1,3),e.g=t.substring(3,5),e.b=t.substring(5,7)),e.r=parseInt(e.r,16),e.g=parseInt(e.g,16),e.b=parseInt(e.b,16)))}return e.style=t,e},setFillStyle:function(t){var e,n,r,i;if(this.internal.rxTransparent.test(t))e=0,n=0,r=0,i=0;else{var a=this.internal.rxRgb.exec(t);null!=a?(e=parseInt(a[1]),n=parseInt(a[2]),r=parseInt(a[3]),i=1):(a=this.internal.rxRgba.exec(t),null!=a?(e=parseInt(a[1]),n=parseInt(a[2]),r=parseInt(a[3]),i=parseFloat(a[4])):(i=1,"#"!=t.charAt(0)&&(t=o.colorNameToHex(t),t||(t="#000000")),4===t.length?(e=t.substring(1,2),e+=e,n=t.substring(2,3),n+=n,r=t.substring(3,4),r+=r):(e=t.substring(1,3),n=t.substring(3,5),r=t.substring(5,7)),e=parseInt(e,16),n=parseInt(n,16),r=parseInt(r,16)))}this.ctx.fillStyle=t,this.ctx._isFillTransparent=0==i,this.ctx._fillOpacity=i,this.pdf.setFillColor(e,n,r,{a:i}),this.pdf.setTextColor(e,n,r,{a:i})},setStrokeStyle:function(t){var e=this._getRgba(t);this.ctx.strokeStyle=e.style,this.ctx._isStrokeTransparent=0==e.a,this.ctx._strokeOpacity=e.a,0===e.a?this.pdf.setDrawColor(255,255,255):1===e.a?this.pdf.setDrawColor(e.r,e.g,e.b):this.pdf.setDrawColor(e.r,e.g,e.b)},fillText:function(t,e,n,r){if(!this._isFillTransparent()){e=this._wrapX(e),n=this._wrapY(n);var i=this._matrix_map_point(this.ctx._transform,[e,n]);e=i[0],n=i[1];var o=this._matrix_rotation(this.ctx._transform),a=57.2958*o;if(this.ctx._clip_path.length>0){var s;s=window.outIntercept?"group"===window.outIntercept.type?window.outIntercept.stream:window.outIntercept:this.pdf.internal.pages[1],s.push("q");var c=this.path;this.path=this.ctx._clip_path,this.ctx._clip_path=[],this._fill(null,!0),this.ctx._clip_path=this.path,this.path=c}this.pdf.text(t,e,this._getBaseline(n),null,a),this.ctx._clip_path.length>0&&s.push("Q")}},strokeText:function(t,e,n,r){if(!this._isStrokeTransparent()){e=this._wrapX(e),n=this._wrapY(n);var i=this._matrix_map_point(this.ctx._transform,[e,n]);e=i[0],n=i[1];var o=this._matrix_rotation(this.ctx._transform),a=57.2958*o;if(this.ctx._clip_path.length>0){var s;s=window.outIntercept?"group"===window.outIntercept.type?window.outIntercept.stream:window.outIntercept:this.pdf.internal.pages[1],s.push("q");var c=this.path;this.path=this.ctx._clip_path,this.ctx._clip_path=[],this._fill(null,!0),this.ctx._clip_path=this.path,this.path=c}this.pdf.text(t,e,this._getBaseline(n),{stroke:!0},a),this.ctx._clip_path.length>0&&s.push("Q")}},setFont:function(t){this.ctx.font=t;var e=/\s*(\w+)\s+(\w+)\s+(\w+)\s+([\d\.]+)(px|pt|em)\s+(.*)?/;if(h=e.exec(t),null!=h){var n=h[1],r=(h[2],h[3]),i=h[4],o=h[5],a=h[6];i="px"===o?Math.floor(parseFloat(i)):"em"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(i)),this.pdf.setFontSize(i),"bold"===r||"700"===r?this.pdf.setFontStyle("bold"):"italic"===n?this.pdf.setFontStyle("italic"):this.pdf.setFontStyle("normal");var s,c=a,l=c.toLowerCase().split(/\s*,\s*/);s=l.indexOf("arial")!=-1?"Arial":l.indexOf("verdana")!=-1?"Verdana":l.indexOf("helvetica")!=-1?"Helvetica":l.indexOf("sans-serif")!=-1?"sans-serif":l.indexOf("fixed")!=-1?"Fixed":l.indexOf("monospace")!=-1?"Monospace":l.indexOf("terminal")!=-1?"Terminal":l.indexOf("courier")!=-1?"Courier":l.indexOf("times")!=-1?"Times":l.indexOf("cursive")!=-1?"Cursive":l.indexOf("fantasy")!=-1?"Fantasy":(l.indexOf("serif")!=-1,"Serif");var u;u="bold"===r?"bold":"normal",this.pdf.setFont(s,u)}else{var e=/(\d+)(pt|px|em)\s+(\w+)\s*(\w+)?/,h=e.exec(t);if(null!=h){var f=h[1],c=(h[2],h[3]),u=h[4];u||(u="normal"),f="em"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(f)),this.pdf.setFontSize(f),this.pdf.setFont(c,u)}}},setTextBaseline:function(t){this.ctx.textBaseline=t},getTextBaseline:function(){return this.ctx.textBaseline},setTextAlign:function(t){this.ctx.textAlign=t},getTextAlign:function(){return this.ctx.textAlign},setLineWidth:function(t){this.ctx.lineWidth=t,this.pdf.setLineWidth(t)},setLineCap:function(t){this.ctx.lineCap=t,this.pdf.setLineCap(t)},setLineJoin:function(t){this.ctx.lineJoin=t,this.pdf.setLineJoin(t)},moveTo:function(t,e){t=this._wrapX(t),e=this._wrapY(e);var n=this._matrix_map_point(this.ctx._transform,[t,e]);t=n[0],e=n[1];var r={type:"mt",x:t,y:e};this.path.push(r)},_wrapX:function(t){return this.pageWrapXEnabled?t%this.pageWrapX:t},_wrapY:function(t){return this.pageWrapYEnabled?(this._gotoPage(this._page(t)),(t-this.lastBreak)%this.pageWrapY):t},transform:function(t,e,n,r,i,o){this.ctx._transform=[t,e,n,r,i,o]},setTransform:function(t,e,n,r,i,o){this.ctx._transform=[t,e,n,r,i,o]},_getTransform:function(){return this.ctx._transform},lastBreak:0,pageBreaks:[],_page:function(t){if(this.pageWrapYEnabled){this.lastBreak=0;for(var e=0,n=0,r=0;r<this.pageBreaks.length;r++)if(t>=this.pageBreaks[r]){e++,0===this.lastBreak&&n++;var i=this.pageBreaks[r]-this.lastBreak;this.lastBreak=this.pageBreaks[r];var o=Math.floor(i/this.pageWrapY);n+=o}if(0===this.lastBreak){var o=Math.floor(t/this.pageWrapY)+1;n+=o}return n+e}return this.pdf.internal.getCurrentPageInfo().pageNumber},_gotoPage:function(t){},lineTo:function(t,e){t=this._wrapX(t),e=this._wrapY(e);var n=this._matrix_map_point(this.ctx._transform,[t,e]);t=n[0],e=n[1];var r={type:"lt",x:t,y:e};this.path.push(r)},bezierCurveTo:function(t,e,n,r,i,o){t=this._wrapX(t),e=this._wrapY(e),n=this._wrapX(n),r=this._wrapY(r),i=this._wrapX(i),o=this._wrapY(o);var a;a=this._matrix_map_point(this.ctx._transform,[i,o]),i=a[0],o=a[1],a=this._matrix_map_point(this.ctx._transform,[t,e]),t=a[0],e=a[1],a=this._matrix_map_point(this.ctx._transform,[n,r]),n=a[0],r=a[1];var s={type:"bct",x1:t,y1:e,x2:n,y2:r,x:i,y:o};this.path.push(s)},quadraticCurveTo:function(t,e,n,r){t=this._wrapX(t),e=this._wrapY(e),n=this._wrapX(n),r=this._wrapY(r);var i;i=this._matrix_map_point(this.ctx._transform,[n,r]),n=i[0],r=i[1],i=this._matrix_map_point(this.ctx._transform,[t,e]),t=i[0],e=i[1];var o={type:"qct",x1:t,y1:e,x:n,y:r};this.path.push(o)},arc:function(t,e,n,r,i,o){t=this._wrapX(t),e=this._wrapY(e);var a=this._matrix_map_point(this.ctx._transform,[t,e]);t=a[0],e=a[1];var s={type:"arc",x:t,y:e,radius:n,startAngle:r,endAngle:i,anticlockwise:o};this.path.push(s)},drawImage:function(t,e,n,r,i,o,a,s,c){void 0!==o&&(e=o,n=a,r=s,i=c),e=this._wrapX(e),n=this._wrapY(n);var l,u=this._matrix_map_rect(this.ctx._transform,{x:e,y:n,w:r,h:i}),h=(this._matrix_map_rect(this.ctx._transform,{x:o,y:a,w:s,h:c}),/data:image\/(\w+).*/i),f=h.exec(t);l=null!=f?f[1]:"png",this.pdf.addImage(t,l,u.x,u.y,u.w,u.h)},_matrix_multiply:function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=n*t[0]+r*t[2],l=i*t[0]+o*t[2],u=a*t[0]+s*t[2]+t[4];return r=n*t[1]+r*t[3],o=i*t[1]+o*t[3],s=a*t[1]+s*t[3]+t[5],n=c,i=l,a=u,[n,r,i,o,a,s]},_matrix_rotation:function(t){return Math.atan2(t[2],t[0])},_matrix_decompose:function(t){var e=t[0],n=t[1],r=t[2],i=t[3],o=Math.sqrt(e*e+n*n);e/=o,n/=o;var a=e*r+n*i;r-=e*a,i-=n*a;var s=Math.sqrt(r*r+i*i);return r/=s,i/=s,a/=s,e*i<n*r&&(e=-e,n=-n,a=-a,o=-o),{scale:[o,0,0,s,0,0],translate:[1,0,0,1,t[4],t[5]],rotate:[e,n,-n,e,0,0],skew:[1,0,a,1,0,0]}},_matrix_map_point:function(t,e){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],c=e[0],l=e[1],u=c*n+l*i+a,h=c*r+l*o+s;return[u,h]},_matrix_map_point_obj:function(t,e){var n=this._matrix_map_point(t,[e.x,e.y]);return{x:n[0],y:n[1]}},_matrix_map_rect:function(t,e){var n=this._matrix_map_point(t,[e.x,e.y]),r=this._matrix_map_point(t,[e.x+e.w,e.y+e.h]);return{x:n[0],y:n[1],w:r[0]-n[0],h:r[1]-n[1]}},_matrix_is_identity:function(t){return 1==t[0]&&(0==t[1]&&(0==t[2]&&(1==t[3]&&(0==t[4]&&0==t[5]))))},rotate:function(t){var e=[Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0];this.ctx._transform=this._matrix_multiply(this.ctx._transform,e)},scale:function(t,e){var n=[t,0,0,e,0,0];this.ctx._transform=this._matrix_multiply(this.ctx._transform,n)},translate:function(t,e){var n=[1,0,0,1,t,e];this.ctx._transform=this._matrix_multiply(this.ctx._transform,n)},stroke:function(){if(this.ctx._clip_path.length>0){var t;t=window.outIntercept?"group"===window.outIntercept.type?window.outIntercept.stream:window.outIntercept:this.pdf.internal.pages[1],t.push("q");var e=this.path;this.path=this.ctx._clip_path,this.ctx._clip_path=[],this._stroke(!0),this.ctx._clip_path=this.path,this.path=e,this._stroke(!1),t.push("Q")}else this._stroke(!1)},_stroke:function(t){if(t||!this._isStrokeTransparent()){for(var e=[],n=!1,r=this.path,i=0;i<r.length;i++){var o=r[i];switch(o.type){case"mt":e.push({start:o,deltas:[],abs:[]});break;case"lt":var a=[o.x-r[i-1].x,o.y-r[i-1].y];e[e.length-1].deltas.push(a),e[e.length-1].abs.push(o);break;case"bct":var a=[o.x1-r[i-1].x,o.y1-r[i-1].y,o.x2-r[i-1].x,o.y2-r[i-1].y,o.x-r[i-1].x,o.y-r[i-1].y];e[e.length-1].deltas.push(a);break;case"qct":var s=r[i-1].x+2/3*(o.x1-r[i-1].x),c=r[i-1].y+2/3*(o.y1-r[i-1].y),l=o.x+2/3*(o.x1-o.x),u=o.y+2/3*(o.y1-o.y),h=o.x,f=o.y,a=[s-r[i-1].x,c-r[i-1].y,l-r[i-1].x,u-r[i-1].y,h-r[i-1].x,f-r[i-1].y];e[e.length-1].deltas.push(a);break;case"arc":e[e.length-1].arc=!0,e[e.length-1].abs.push(o);break;case"close":n=!0}}for(var i=0;i<e.length;i++){var d;if(d=i==e.length-1?"s":null,e[i].arc)for(var p=e[i].abs,g=0;g<p.length;g++){var m=p[g],w=360*m.startAngle/(2*Math.PI),y=360*m.endAngle/(2*Math.PI),v=m.x,b=m.y;this.internal.arc2(this,v,b,m.radius,w,y,m.anticlockwise,d,t)}else{var v=e[i].start.x,b=e[i].start.y;t?(this.pdf.lines(e[i].deltas,v,b,null,null),this.pdf.clip_fixed()):this.pdf.lines(e[i].deltas,v,b,null,d)}}}},_isFillTransparent:function(){return this.ctx._isFillTransparent||0==this.globalAlpha},_isStrokeTransparent:function(){return this.ctx._isStrokeTransparent||0==this.globalAlpha},fill:function(t){if(this.ctx._clip_path.length>0){var e;e=window.outIntercept?"group"===window.outIntercept.type?window.outIntercept.stream:window.outIntercept:this.pdf.internal.pages[1],e.push("q");var n=this.path;this.path=this.ctx._clip_path,this.ctx._clip_path=[],this._fill(t,!0),this.ctx._clip_path=this.path,this.path=n,this._fill(t,!1),e.push("Q")}else this._fill(t,!1)},_fill:function(t,e){if(!this._isFillTransparent()){var r,i="function"==typeof this.pdf.internal.newObject2;r=window.outIntercept?"group"===window.outIntercept.type?window.outIntercept.stream:window.outIntercept:this.pdf.internal.pages[1];var o=[],a=window.outIntercept;if(i)switch(this.ctx.globalCompositeOperation){case"normal":case"source-over":break;case"destination-in":case"destination-out":var s=this.pdf.internal.newStreamObject(),c=this.pdf.internal.newObject2();c.push("<</Type /ExtGState"),c.push("/SMask <</S /Alpha /G "+s.objId+" 0 R>>"),c.push(">>");var l="MASK"+c.objId;this.pdf.internal.addGraphicsState(l,c.objId);var u="/"+l+" gs";r.splice(0,0,"q"),r.splice(1,0,u),r.push("Q"),window.outIntercept=s;break;default:var h="/"+this.pdf.internal.blendModeMap[this.ctx.globalCompositeOperation.toUpperCase()];h&&this.pdf.internal.out(h+" gs")}var f=this.ctx.globalAlpha;if(this.ctx._fillOpacity<1&&(f=this.ctx._fillOpacity),i){var d=this.pdf.internal.newObject2();d.push("<</Type /ExtGState"),d.push("/CA "+f),d.push("/ca "+f),d.push(">>");var l="GS_O_"+d.objId;this.pdf.internal.addGraphicsState(l,d.objId),this.pdf.internal.out("/"+l+" gs")}for(var p=this.path,g=0;g<p.length;g++){var m=p[g];switch(m.type){case"mt":o.push({start:m,deltas:[],abs:[]});break;case"lt":var w=[m.x-p[g-1].x,m.y-p[g-1].y];o[o.length-1].deltas.push(w),o[o.length-1].abs.push(m);break;case"bct":var w=[m.x1-p[g-1].x,m.y1-p[g-1].y,m.x2-p[g-1].x,m.y2-p[g-1].y,m.x-p[g-1].x,m.y-p[g-1].y];o[o.length-1].deltas.push(w);break;case"qct":var y=p[g-1].x+2/3*(m.x1-p[g-1].x),v=p[g-1].y+2/3*(m.y1-p[g-1].y),b=m.x+2/3*(m.x1-m.x),x=m.y+2/3*(m.y1-m.y),k=m.x,_=m.y,w=[y-p[g-1].x,v-p[g-1].y,b-p[g-1].x,x-p[g-1].y,k-p[g-1].x,_-p[g-1].y];o[o.length-1].deltas.push(w);break;case"arc":0==o.length&&o.push({start:{x:0,y:0},deltas:[],abs:[]}),o[o.length-1].arc=!0,o[o.length-1].abs.push(m);break;case"close":}}for(var g=0;g<o.length;g++){var C;if(g==o.length-1?(C="f","evenodd"===t&&(C+="*")):C=null,o[g].arc){for(var A=o[g].abs,S=0;S<A.length;S++){var q=A[S];if("undefined"!=typeof q.startAngle){var T=360*q.startAngle/(2*Math.PI),I=360*q.endAngle/(2*Math.PI),P=q.x,E=q.y;0==S&&this.internal.move2(this,P,E),this.internal.arc2(this,P,E,q.radius,T,I,q.anticlockwise,null,e)}else this.internal.line2(n,q.x,q.y)}var P=o[g].start.x,E=o[g].start.y;this.internal.line2(n,P,E),this.pdf.internal.out("h"),this.pdf.internal.out("f")}else{var P=o[g].start.x,E=o[g].start.y;e?(this.pdf.lines(o[g].deltas,P,E,null,null),this.pdf.clip_fixed()):this.pdf.lines(o[g].deltas,P,E,null,C)}}window.outIntercept=a}},pushMask:function(){var t="function"==typeof this.pdf.internal.newObject2;if(!t)return void console.log("jsPDF v2 not enabled");var e=this.pdf.internal.newStreamObject(),n=this.pdf.internal.newObject2();n.push("<</Type /ExtGState"),n.push("/SMask <</S /Alpha /G "+e.objId+" 0 R>>"),n.push(">>");var r="MASK"+n.objId;this.pdf.internal.addGraphicsState(r,n.objId);var i="/"+r+" gs";this.pdf.internal.out(i)},clip:function(){if(this.ctx._clip_path.length>0)for(var t=0;t<this.path.length;t++)this.ctx._clip_path.push(this.path[t]);else this.ctx._clip_path=this.path;this.path=[]},measureText:function(t){var e=this.pdf;return{getWidth:function(){var n=e.internal.getFontSize(),r=e.getStringUnitWidth(t)*n/e.internal.scaleFactor;return r},get width(){return this.getWidth(t)}}},_getBaseline:function(t){var e=parseInt(this.pdf.internal.getFontSize()),n=.25*e;switch(this.ctx.textBaseline){case"bottom":return t-n;case"top":return t+e;case"hanging":return t+e-n;case"middle":return t+e/2-n;case"ideographic":return t;case"alphabetic":default:return t}}};var n=t.context2d;return Object.defineProperty(n,"fillStyle",{set:function(t){this.setFillStyle(t)},get:function(){return this.ctx.fillStyle}}),Object.defineProperty(n,"strokeStyle",{set:function(t){this.setStrokeStyle(t)},get:function(){return this.ctx.strokeStyle}}),Object.defineProperty(n,"lineWidth",{set:function(t){this.setLineWidth(t)},get:function(){return this.ctx.lineWidth}}),Object.defineProperty(n,"lineCap",{set:function(t){this.setLineCap(t)},get:function(){return this.ctx.lineCap}}),Object.defineProperty(n,"lineJoin",{set:function(t){this.setLineJoin(t)},get:function(){return this.ctx.lineJoin}}),Object.defineProperty(n,"miterLimit",{set:function(t){this.ctx.miterLimit=t},get:function(){return this.ctx.miterLimit}}),Object.defineProperty(n,"textBaseline",{set:function(t){this.setTextBaseline(t)},get:function(){return this.getTextBaseline()}}),Object.defineProperty(n,"textAlign",{set:function(t){this.setTextAlign(t)},get:function(){return this.getTextAlign()}}),Object.defineProperty(n,"font",{set:function(t){this.setFont(t)},get:function(){return this.ctx.font}}),Object.defineProperty(n,"globalCompositeOperation",{set:function(t){this.ctx.globalCompositeOperation=t},get:function(){return this.ctx.globalCompositeOperation}}),Object.defineProperty(n,"globalAlpha",{set:function(t){this.ctx.globalAlpha=t},get:function(){return this.ctx.globalAlpha}}),Object.defineProperty(n,"ignoreClearRect",{set:function(t){this.ctx.ignoreClearRect=t},get:function(){return this.ctx.ignoreClearRect}}),n.internal={},n.internal.rxRgb=/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,n.internal.rxRgba=/rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/,n.internal.rxTransparent=/transparent|rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*0+\s*\)/,n.internal.arc=function(t,e,n,r,i,o,a,s){for(var c=!0,l=this.pdf.internal.scaleFactor,u=this.pdf.internal.pageSize.height,h=this.pdf.internal.f2,f=i*(Math.PI/180),d=o*(Math.PI/180),p=this.createArc(r,f,d,a),g=0;g<p.length;g++){var m=p[g];c&&0==g?this.pdf.internal.out([h((m.x1+e)*l),h((u-(m.y1+n))*l),"m",h((m.x2+e)*l),h((u-(m.y2+n))*l),h((m.x3+e)*l),h((u-(m.y3+n))*l),h((m.x4+e)*l),h((u-(m.y4+n))*l),"c"].join(" ")):this.pdf.internal.out([h((m.x2+e)*l),h((u-(m.y2+n))*l),h((m.x3+e)*l),h((u-(m.y3+n))*l),h((m.x4+e)*l),h((u-(m.y4+n))*l),"c"].join(" ")),t._lastPoint={x:e,y:n}}null!==s&&this.pdf.internal.out(this.pdf.internal.getStyle(s))},n.internal.arc2=function(t,e,n,r,i,o,a,s,c){var l=e,u=n;c?(this.arc(t,l,u,r,i,o,a,null),this.pdf.clip_fixed()):this.arc(t,l,u,r,i,o,a,s)},n.internal.move2=function(t,e,n){var r=this.pdf.internal.scaleFactor,i=this.pdf.internal.pageSize.height,o=this.pdf.internal.f2;this.pdf.internal.out([o(e*r),o((i-n)*r),"m"].join(" ")),t._lastPoint={x:e,y:n}},n.internal.line2=function(t,e,n){var r=this.pdf.internal.scaleFactor,i=this.pdf.internal.pageSize.height,o=this.pdf.internal.f2,a={x:e,y:n};this.pdf.internal.out([o(a.x*r),o((i-a.y)*r),"l"].join(" ")),t._lastPoint=a},n.internal.createArc=function(t,e,n,r){var i=1e-5,o=2*Math.PI,a=e;(a<o||a>o)&&(a%=o);var s=n;(s<o||s>o)&&(s%=o);for(var c=[],l=Math.PI/2,u=r?-1:1,h=e,f=Math.min(o,Math.abs(s-a));f>i;){var d=h+u*Math.min(f,l);c.push(this.createSmallArc(t,h,d)),f-=Math.abs(d-h),h=d}return c},n.internal.createSmallArc=function(t,e,n){var r=(n-e)/2,i=t*Math.cos(r),o=t*Math.sin(r),a=i,s=-o,c=a*a+s*s,l=c+a*i+s*o,u=4/3*(Math.sqrt(2*c*l)-l)/(a*o-s*i),h=a-u*s,f=s+u*a,d=h,p=-f,g=r+e,m=Math.cos(g),w=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:h*m-f*w,y2:h*w+f*m,x3:d*m-p*w,y3:d*w+p*m,x4:t*Math.cos(n),y4:t*Math.sin(n)}},this}(e.API),/** @preserve
   * jsPDF fromHTML plugin. BETA stage. API subject to change. Needs browser
   * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com
   *               2014 Juan Pablo Gaviria, https://github.com/juanpgaviria
   *               2014 Diego Casorran, https://github.com/diegocr
   *               2014 Daniel Husar, https://github.com/danielhusar
   *               2014 Wolfgang Gassler, https://github.com/woolfg
   *               2014 Steven Spungin, https://github.com/flamenco
   *
   * 
   * ====================================================================
   */
function(e){var n,r,i,a,s,c,l,u,h,f,d,p,g,m,w,y,v,b,x,k;n=function(){function t(){}return function(e){return t.prototype=e,new t}}(),f=function(t){var e,n,r,i,o,a,s;for(n=0,r=t.length,e=void 0,i=!1,a=!1;!i&&n!==r;)e=t[n]=t[n].trimLeft(),e&&(i=!0),n++;for(n=r-1;r&&!a&&n!==-1;)e=t[n]=t[n].trimRight(),e&&(a=!0),n--;for(o=/\s+$/g,s=!0,n=0;n!==r;)"\u2028"!=t[n]&&(e=t[n].replace(/\s+/g," "),s&&(e=e.trimLeft()),e&&(s=o.test(e)),t[n]=e),n++;return t},d=function(t,e,n,r){return this.pdf=t,this.x=e,this.y=n,this.settings=r,this.watchFunctions=[],this.init(),this},p=function(t){var e,n,r;for(e=void 0,r=t.split(","),n=r.shift();!e&&n;)e=i[n.trim().toLowerCase()],n=r.shift();return e},g=function(t){t="auto"===t?"0px":t,t.indexOf("em")>-1&&!isNaN(Number(t.replace("em","")))&&(t=18.719*Number(t.replace("em",""))+"px"),t.indexOf("pt")>-1&&!isNaN(Number(t.replace("pt","")))&&(t=1.333*Number(t.replace("pt",""))+"px");var e,n,r;return n=void 0,e=16,(r=m[t])?r:(r={"xx-small":9,"x-small":11,small:13,medium:16,large:19,"x-large":23,"xx-large":28,auto:0}[{css_line_height_string:t}],r!==n?m[t]=r/e:(r=parseFloat(t))?m[t]=r/e:(r=t.match(/([\d\.]+)(px)/),3===r.length?m[t]=parseFloat(r[1])/e:m[t]=1))},h=function(t){var e,n,r;return r=function(t){var e;return e=function(t){return document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(t,null):t.currentStyle?t.currentStyle:t.style}(t),function(t){return t=t.replace(/-\D/g,function(t){return t.charAt(1).toUpperCase()}),e[t]}}(t),e={},n=void 0,e["font-family"]=p(r("font-family"))||"times",e["font-style"]=a[r("font-style")]||"normal",e["text-align"]=s[r("text-align")]||"left",n=c[r("font-weight")]||"normal","bold"===n&&("normal"===e["font-style"]?e["font-style"]=n:e["font-style"]=n+e["font-style"]),e["font-size"]=g(r("font-size"))||1,e["line-height"]=g(r("line-height"))||1,e.display="inline"===r("display")?"inline":"block",n="block"===e.display,e["margin-top"]=n&&g(r("margin-top"))||0,e["margin-bottom"]=n&&g(r("margin-bottom"))||0,e["padding-top"]=n&&g(r("padding-top"))||0,e["padding-bottom"]=n&&g(r("padding-bottom"))||0,e["margin-left"]=n&&g(r("margin-left"))||0,e["margin-right"]=n&&g(r("margin-right"))||0,e["padding-left"]=n&&g(r("padding-left"))||0,e["padding-right"]=n&&g(r("padding-right"))||0,e["page-break-before"]=r("page-break-before")||"auto",e.float=l[r("cssFloat")]||"none",e.clear=u[r("clear")]||"none",e.color=r("color"),e},w=function(t,e,n){var r,i,o,a,s;if(o=!1,i=void 0,a=void 0,s=void 0,r=n["#"+t.id])if("function"==typeof r)o=r(t,e);else for(i=0,a=r.length;!o&&i!==a;)o=r[i](t,e),i++;if(r=n[t.nodeName],!o&&r)if("function"==typeof r)o=r(t,e);else for(i=0,a=r.length;!o&&i!==a;)o=r[i](t,e),i++;return o},k=function(t,e){var n,r,i,o,a,s,c,l,u,h;for(n=[],r=[],i=0,h=t.rows[0].cells.length,l=t.clientWidth;i<h;)u=t.rows[0].cells[i],r[i]={name:u.textContent.toLowerCase().replace(/\s+/g,""),prompt:u.textContent.replace(/\r?\n/g,""),width:u.clientWidth/l*e.pdf.internal.pageSize.width},i++;for(i=1;i<t.rows.length;){for(s=t.rows[i],a={},o=0;o<s.cells.length;)a[r[o].name]=s.cells[o].textContent.replace(/\r?\n/g,""),o++;n.push(a),i++}return c={rows:n,headers:r}};var _={SCRIPT:1,STYLE:1,NOSCRIPT:1,OBJECT:1,EMBED:1,SELECT:1},C=1;r=function(e,i,o){var a,s,c,l,u,f,d,p,g;for(s=e.childNodes,a=void 0,c=h(e),u="block"===c.display,u&&(i.setBlockBoundary(),i.setBlockStyle(c)),d=19.049976/25.4,l=0,f=s.length;l<f;){if(a=s[l],"object"===("undefined"==typeof a?"undefined":t(a))){if(i.executeWatchFunctions(a),1===a.nodeType&&"HEADER"===a.nodeName){var m=a,v=i.pdf.margins_doc.top;i.pdf.internal.events.subscribe("addPage",function(t){i.y=v,r(m,i,o),i.pdf.margins_doc.top=i.y+10,i.y+=10},!1)}if(8===a.nodeType&&"#comment"===a.nodeName)~a.textContent.indexOf("ADD_PAGE")&&(i.pdf.addPage(),i.y=i.pdf.margins_doc.top);else if(1!==a.nodeType||_[a.nodeName])if(3===a.nodeType){var b=a.nodeValue;if(a.nodeValue&&"LI"===a.parentNode.nodeName)if("OL"===a.parentNode.parentNode.nodeName)b=C++ +". "+b;else{var x=c["font-size"],A=(3-.75*x)*i.pdf.internal.scaleFactor,S=.75*x*i.pdf.internal.scaleFactor,q=1.74*x/i.pdf.internal.scaleFactor;g=function(t,e){this.pdf.circle(t+A,e+S,q,"FD")}}16&a.ownerDocument.body.compareDocumentPosition(a)&&i.addText(b,c)}else"string"==typeof a&&i.addText(a,c);else{var T;if("IMG"===a.nodeName){var I=a.getAttribute("src");T=y[i.pdf.sHashCode(I)||I]}if(T){i.pdf.internal.pageSize.height-i.pdf.margins_doc.bottom<i.y+a.height&&i.y>i.pdf.margins_doc.top&&(i.pdf.addPage(),i.y=i.pdf.margins_doc.top,i.executeWatchFunctions(a));var P=h(a),E=i.x,O=12/i.pdf.internal.scaleFactor,F=(P["margin-left"]+P["padding-left"])*O,R=(P["margin-right"]+P["padding-right"])*O,B=(P["margin-top"]+P["padding-top"])*O,D=(P["margin-bottom"]+P["padding-bottom"])*O;E+=void 0!==P.float&&"right"===P.float?i.settings.width-a.width-R:F,i.pdf.addImage(T,E,i.y+B,a.width,a.height),T=void 0,"right"===P.float||"left"===P.float?(i.watchFunctions.push(function(t,e,n,r){return i.y>=e?(i.x+=t,i.settings.width+=n,!0):!!(r&&1===r.nodeType&&!_[r.nodeName]&&i.x+r.width>i.pdf.margins_doc.left+i.pdf.margins_doc.width)&&(i.x+=t,i.y=e,i.settings.width+=n,!0)}.bind(this,"left"===P.float?-a.width-F-R:0,i.y+a.height+B+D,a.width)),i.watchFunctions.push(function(t,e,n){return!(i.y<t&&e===i.pdf.internal.getNumberOfPages())||1===n.nodeType&&"both"===h(n).clear&&(i.y=t,!0)}.bind(this,i.y+a.height,i.pdf.internal.getNumberOfPages())),i.settings.width-=a.width+F+R,"left"===P.float&&(i.x+=a.width+F+R)):i.y+=a.height+B+D}else if("TABLE"===a.nodeName)p=k(a,i),i.y+=10,i.pdf.table(i.x,i.y,p.rows,p.headers,{autoSize:!1,printHeaders:o.printHeaders,margins:i.pdf.margins_doc,css:h(a)}),i.y=i.pdf.lastCellPos.y+i.pdf.lastCellPos.h+20;else if("OL"===a.nodeName||"UL"===a.nodeName)C=1,w(a,i,o)||r(a,i,o),i.y+=10;else if("LI"===a.nodeName){var j=i.x;i.x+=20/i.pdf.internal.scaleFactor,i.y+=3,w(a,i,o)||r(a,i,o),i.x=j}else"BR"===a.nodeName?(i.y+=c["font-size"]*i.pdf.internal.scaleFactor,i.addText("\u2028",n(c))):w(a,i,o)||r(a,i,o)}}l++}if(o.outY=i.y,u)return i.setBlockBoundary(g)},y={},v=function(t,e,n,r){function i(){e.pdf.internal.events.publish("imagesLoaded"),r(a)}function o(t,n,r){if(t){var o=new Image;a=++l,o.crossOrigin="",o.onerror=o.onload=function(){if(o.complete&&(0===o.src.indexOf("data:image/")&&(o.width=n||o.width||0,o.height=r||o.height||0),o.width+o.height)){var a=e.pdf.sHashCode(t)||t;y[a]=y[a]||o}--l||i()},o.src=t}}for(var a,s=t.getElementsByTagName("img"),c=s.length,l=0;c--;)o(s[c].getAttribute("src"),s[c].width,s[c].height);return l||i()},b=function(t,e,n){var i=t.getElementsByTagName("footer");if(i.length>0){i=i[0];var o=e.pdf.internal.write,a=e.y;e.pdf.internal.write=function(){},r(i,e,n);var s=Math.ceil(e.y-a)+5;e.y=a,e.pdf.internal.write=o,e.pdf.margins_doc.bottom+=s;for(var c=function(t){var o=void 0!==t?t.pageNumber:1,a=e.y;e.y=e.pdf.internal.pageSize.height-e.pdf.margins_doc.bottom,e.pdf.margins_doc.bottom-=s;for(var c=i.getElementsByTagName("span"),l=0;l<c.length;++l)(" "+c[l].className+" ").replace(/[\n\t]/g," ").indexOf(" pageCounter ")>-1&&(c[l].innerHTML=o),(" "+c[l].className+" ").replace(/[\n\t]/g," ").indexOf(" totalPages ")>-1&&(c[l].innerHTML="###jsPDFVarTotalPages###");r(i,e,n),e.pdf.margins_doc.bottom+=s,e.y=a},l=i.getElementsByTagName("span"),u=0;u<l.length;++u)(" "+l[u].className+" ").replace(/[\n\t]/g," ").indexOf(" totalPages ")>-1&&e.pdf.internal.events.subscribe("htmlRenderingFinished",e.pdf.putTotalPages.bind(e.pdf,"###jsPDFVarTotalPages###"),!0);e.pdf.internal.events.subscribe("addPage",c,!1),c(),_.FOOTER=1}},x=function(t,e,n,i,o,a){if(!e)return!1;"string"==typeof e||e.parentNode||(e=""+e.innerHTML),"string"==typeof e&&(e=function(t){var e,n,r,i;return r="jsPDFhtmlText"+Date.now().toString()+(1e3*Math.random()).toFixed(0),i="position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;",n=document.createElement("div"),n.style.cssText=i,n.innerHTML='<iframe style="height:1px;width:1px" name="'+r+'" />',document.body.appendChild(n),e=window.frames[r],e.document.open(),e.document.writeln(t),e.document.close(),e.document.body}(e.replace(/<\/?script[^>]*?>/gi,"")));var s,c=new d(t,n,i,o);return v.call(this,e,c,o.elementHandlers,function(t){b(e,c,o.elementHandlers),r(e,c,o.elementHandlers),c.pdf.internal.events.publish("htmlRenderingFinished"),s=c.dispose(),"function"==typeof a?a(s):t&&console.error("jsPDF Warning: rendering issues? provide a callback to fromHTML!")}),s||{x:c.x,y:c.y}},d.prototype.init=function(){return this.paragraph={text:[],style:[]},this.pdf.internal.write("q")},d.prototype.dispose=function(){return this.pdf.internal.write("Q"),{x:this.x,y:this.y,ready:!0}},d.prototype.executeWatchFunctions=function(t){var e=!1,n=[];if(this.watchFunctions.length>0){for(var r=0;r<this.watchFunctions.length;++r)this.watchFunctions[r](t)===!0?e=!0:n.push(this.watchFunctions[r]);this.watchFunctions=n}return e},d.prototype.splitFragmentsIntoLines=function(t,e){var r,i,o,a,s,c,l,u,h,f,d,p,g,m,w;for(i=12,d=this.pdf.internal.scaleFactor,s={},o=void 0,f=void 0,a=void 0,c=void 0,w=void 0,h=void 0,u=void 0,l=void 0,p=[],g=[p],r=0,m=this.settings.width;t.length;)if(c=t.shift(),w=e.shift(),c)if(o=w["font-family"],f=w["font-style"],a=s[o+f],a||(a=this.pdf.internal.getFont(o,f).metadata.Unicode,s[o+f]=a),h={widths:a.widths,kerning:a.kerning,fontSize:w["font-size"]*i,textIndent:r},u=this.pdf.getStringUnitWidth(c,h)*h.fontSize/d,"\u2028"==c)p=[],g.push(p);else if(r+u>m){for(l=this.pdf.splitTextToSize(c,m,h),p.push([l.shift(),w]);l.length;)p=[[l.shift(),w]],g.push(p);r=this.pdf.getStringUnitWidth(p[0][0],h)*h.fontSize/d}else p.push([c,w]),r+=u;if(void 0!==w["text-align"]&&("center"===w["text-align"]||"right"===w["text-align"]||"justify"===w["text-align"]))for(var y=0;y<g.length;++y){var v=this.pdf.getStringUnitWidth(g[y][0][0],h)*h.fontSize/d;y>0&&(g[y][0][1]=n(g[y][0][1]));var b=m-v;if("right"===w["text-align"])g[y][0][1]["margin-left"]=b;else if("center"===w["text-align"])g[y][0][1]["margin-left"]=b/2;else if("justify"===w["text-align"]){var x=g[y][0][0].split(" ").length-1;g[y][0][1]["word-spacing"]=b/x,y===g.length-1&&(g[y][0][1]["word-spacing"]=0)}}return g},d.prototype.RenderTextFragment=function(t,e){var n,r,i;i=0,n=12,this.pdf.internal.pageSize.height-this.pdf.margins_doc.bottom<this.y+this.pdf.internal.getFontSize()&&(this.pdf.internal.write("ET","Q"),this.pdf.addPage(),this.y=this.pdf.margins_doc.top,this.pdf.internal.write("q","BT 0 g",this.pdf.internal.getCoordinateString(this.x),this.pdf.internal.getVerticalCoordinateString(this.y),e.color,"Td"),i=Math.max(i,e["line-height"],e["font-size"]),this.pdf.internal.write(0,(-1*n*i).toFixed(2),"Td")),r=this.pdf.internal.getFont(e["font-family"],e["font-style"]);var o=this.getPdfColor(e.color);o!==this.lastTextColor&&(this.pdf.internal.write(o),this.lastTextColor=o),void 0!==e["word-spacing"]&&e["word-spacing"]>0&&this.pdf.internal.write(e["word-spacing"].toFixed(2),"Tw"),this.pdf.internal.write("/"+r.id,(n*e["font-size"]).toFixed(2),"Tf","("+this.pdf.internal.pdfEscape(t)+") Tj"),void 0!==e["word-spacing"]&&this.pdf.internal.write(0,"Tw")},d.prototype.getPdfColor=function(t){var e,n,r,i,a=/rgb\s*\(\s*(\d+),\s*(\d+),\s*(\d+\s*)\)/,s=a.exec(t);if(null!=s?(n=parseInt(s[1]),r=parseInt(s[2]),i=parseInt(s[3])):("#"!=t.charAt(0)&&(t=o.colorNameToHex(t),t||(t="#000000")),n=t.substring(1,3),n=parseInt(n,16),r=t.substring(3,5),r=parseInt(r,16),i=t.substring(5,7),i=parseInt(i,16)),"string"==typeof n&&/^#[0-9A-Fa-f]{6}$/.test(n)){var c=parseInt(n.substr(1),16);n=c>>16&255,r=c>>8&255,i=255&c}var l=this.f3;return e=0===n&&0===r&&0===i||"undefined"==typeof r?l(n/255)+" g":[l(n/255),l(r/255),l(i/255),"rg"].join(" ")},d.prototype.f3=function(t){return t.toFixed(3)},d.prototype.renderParagraph=function(t){var e,n,r,i,o,a,s,c,l,u,h,d,p,g,m;if(i=f(this.paragraph.text),g=this.paragraph.style,e=this.paragraph.blockstyle,p=this.paragraph.priorblockstyle||{},this.paragraph={text:[],style:[],blockstyle:{},priorblockstyle:e},i.join("").trim()){c=this.splitFragmentsIntoLines(i,g),s=void 0,l=void 0,n=12,r=n/this.pdf.internal.scaleFactor,this.priorMarginBottom=this.priorMarginBottom||0,d=(Math.max((e["margin-top"]||0)-this.priorMarginBottom,0)+(e["padding-top"]||0))*r,h=((e["margin-bottom"]||0)+(e["padding-bottom"]||0))*r,this.priorMarginBottom=e["margin-bottom"]||0,"always"===e["page-break-before"]&&(this.pdf.addPage(),this.y=0,d=((e["margin-top"]||0)+(e["padding-top"]||0))*r),u=this.pdf.internal.write,o=void 0,a=void 0,this.y+=d,u("q","BT 0 g",this.pdf.internal.getCoordinateString(this.x),this.pdf.internal.getVerticalCoordinateString(this.y),"Td");for(var w=0;c.length;){for(s=c.shift(),l=0,o=0,a=s.length;o!==a;)s[o][0].trim()&&(l=Math.max(l,s[o][1]["line-height"],s[o][1]["font-size"]),m=7*s[o][1]["font-size"]),o++;var y=0,v=0;void 0!==s[0][1]["margin-left"]&&s[0][1]["margin-left"]>0&&(v=this.pdf.internal.getCoordinateString(s[0][1]["margin-left"]),y=v-w,w=v);var b=Math.max(e["margin-left"]||0,0)*r;for(u(y+b,(-1*n*l).toFixed(2),"Td"),o=0,a=s.length;o!==a;)s[o][0]&&this.RenderTextFragment(s[o][0],s[o][1]),o++;if(this.y+=l*r,this.executeWatchFunctions(s[0][1])&&c.length>0){var x=[],k=[];c.forEach(function(t){for(var e=0,n=t.length;e!==n;)t[e][0]&&(x.push(t[e][0]+" "),k.push(t[e][1])),++e}),c=this.splitFragmentsIntoLines(f(x),k),u("ET","Q"),u("q","BT 0 g",this.pdf.internal.getCoordinateString(this.x),this.pdf.internal.getVerticalCoordinateString(this.y),"Td")}}return t&&"function"==typeof t&&t.call(this,this.x-9,this.y-m/2),u("ET","Q"),this.y+=h}},d.prototype.setBlockBoundary=function(t){return this.renderParagraph(t)},d.prototype.setBlockStyle=function(t){return this.paragraph.blockstyle=t},d.prototype.addText=function(t,e){return this.paragraph.text.push(t),this.paragraph.style.push(e)},i={helvetica:"helvetica","sans-serif":"helvetica","times new roman":"times",serif:"times",times:"times",monospace:"courier",courier:"courier"},c={100:"normal",200:"normal",300:"normal",400:"normal",500:"bold",600:"bold",700:"bold",800:"bold",900:"bold",normal:"normal",bold:"bold",bolder:"bold",lighter:"normal"},a={normal:"normal",italic:"italic",oblique:"italic"},s={left:"left",right:"right",center:"center",justify:"justify"},l={none:"none",right:"right",left:"left"},u={none:"none",both:"both"},m={normal:1},e.fromHTML=function(t,e,n,r,i,o){return this.margins_doc=o||{top:0,bottom:0},r||(r={}),r.elementHandlers||(r.elementHandlers={}),x(this,t,isNaN(e)?4:e,isNaN(n)?4:n,r,i)}}(e.API),/** ==================================================================== 
   * jsPDF JavaScript plugin
   * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com
   * 
   * 
   * ====================================================================
   */
function(t){var e,n,r;t.addJS=function(t){return r=t,this.internal.events.subscribe("postPutResources",function(t){e=this.internal.newObject(),this.internal.write("<< /Names [(EmbeddedJS) "+(e+1)+" 0 R] >>","endobj"),n=this.internal.newObject(),this.internal.write("<< /S /JavaScript /JS (",r,") >>","endobj")}),this.internal.events.subscribe("putCatalog",function(){void 0!==e&&void 0!==n&&this.internal.write("/Names <</JavaScript "+e+" 0 R>>")}),this}}(e.API),function(t){return t.events.push(["postPutResources",function(){var t=this,e=/^(\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var n=t.outline.render().split(/\r\n/),r=0;r<n.length;r++){var i=n[r],o=e.exec(i);if(null!=o){var a=o[1];t.internal.newObjectDeferredBegin(a)}t.internal.write(i)}if(this.outline.createNamedDestinations){for(var s=this.internal.pages.length,c=[],r=0;r<s;r++){var l=t.internal.newObject();c.push(l);var u=t.internal.getPageInfo(r+1);t.internal.write("<< /D["+u.objId+" 0 R /XYZ null null null]>> endobj")}var h=t.internal.newObject();t.internal.write("<< /Names [ ");for(var r=0;r<c.length;r++)t.internal.write("(page_"+(r+1)+")"+c[r]+" 0 R");t.internal.write(" ] >>","endobj");t.internal.newObject();t.internal.write("<< /Dests "+h+" 0 R"),t.internal.write(">>","endobj")}}]),t.events.push(["putCatalog",function(){var t=this;t.outline.root.children.length>0&&(t.internal.write("/Outlines",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&t.internal.write("/Names "+namesOid+" 0 R"))}]),t.events.push(["initialized",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}};t.outline.add=function(t,e,n){var r={title:e,options:n,children:[]};return null==t&&(t=this.root),t.children.push(r),r},t.outline.render=function(){return this.ctx={},this.ctx.val="",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(e){e.id=t.internal.newObjectDeferred();for(var n=0;n<e.children.length;n++)this.genIds_r(e.children[n])},t.outline.renderRoot=function(t){this.objStart(t),this.line("/Type /Outlines"),t.children.length>0&&(this.line("/First "+this.makeRef(t.children[0])),this.line("/Last "+this.makeRef(t.children[t.children.length-1]))),this.line("/Count "+this.count_r({count:0},t)),this.objEnd()},t.outline.renderItems=function(e){for(var n=0;n<e.children.length;n++){var r=e.children[n];this.objStart(r),this.line("/Title "+this.makeString(r.title)),this.line("/Parent "+this.makeRef(e)),n>0&&this.line("/Prev "+this.makeRef(e.children[n-1])),n<e.children.length-1&&this.line("/Next "+this.makeRef(e.children[n+1])),r.children.length>0&&(this.line("/First "+this.makeRef(r.children[0])),this.line("/Last "+this.makeRef(r.children[r.children.length-1])));var i=this.count=this.count_r({count:0},r);if(i>0&&this.line("/Count "+i),r.options&&r.options.pageNumber){var o=t.internal.getPageInfo(r.options.pageNumber);this.line("/Dest ["+o.objId+" 0 R /XYZ 0 "+this.ctx.pdf.internal.pageSize.height+" 0]")}this.objEnd()}for(var n=0;n<e.children.length;n++){var r=e.children[n];this.renderItems(r)}},t.outline.line=function(t){this.ctx.val+=t+"\r\n"},t.outline.makeRef=function(t){return t.id+" 0 R"},t.outline.makeString=function(e){return"("+t.internal.pdfEscape(e)+")"},t.outline.objStart=function(t){this.ctx.val+="\r\n"+t.id+" 0 obj\r\n<<\r\n"},t.outline.objEnd=function(t){this.ctx.val+=">> \r\nendobj\r\n"},t.outline.count_r=function(t,e){for(var n=0;n<e.children.length;n++)t.count++,this.count_r(t,e.children[n]);return t.count}}]),this}(e.API),/**@preserve
   *  ====================================================================
   * jsPDF PNG PlugIn
   * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb
   *
   * 
   * ====================================================================
   */
function(t){var e=function(){return"function"!=typeof PNG||"function"!=typeof c},n=function(e){return e!==t.image_compression.NONE&&r()},r=function(){var t="function"==typeof a;if(!t)throw new Error("requires deflate.js for compression");return t},i=function(e,n,r,i){var c=5,u=f;switch(i){case t.image_compression.FAST:c=3,u=h;break;case t.image_compression.MEDIUM:c=6,u=d;break;case t.image_compression.SLOW:c=9,u=p}e=l(e,n,r,u);var g=new Uint8Array(o(c)),m=s(e),w=new a(c),y=w.append(e),v=w.flush(),b=g.length+y.length+v.length,x=new Uint8Array(b+4);return x.set(g),x.set(y,g.length),x.set(v,g.length+y.length),x[b++]=m>>>24&255,x[b++]=m>>>16&255,x[b++]=m>>>8&255,x[b++]=255&m,t.arrayBufferToBinaryString(x)},o=function(t,e){var n=8,r=Math.LOG2E*Math.log(32768)-8,i=r<<4|n,o=i<<8,a=Math.min(3,(e-1&255)>>1);return o|=a<<6,o|=0,o+=31-o%31,[i,255&o&255]},s=function(t,e){for(var n,r=1,i=65535&r,o=r>>>16&65535,a=t.length,s=0;a>0;){n=a>e?e:a,a-=n;do i+=t[s++],o+=i;while(--n);i%=65521,o%=65521}return(o<<16|i)>>>0},l=function(t,e,n,r){for(var i,o,a,s=t.length/e,c=new Uint8Array(t.length+s),l=m(),u=0;u<s;u++){if(a=u*e,i=t.subarray(a,a+e),r)c.set(r(i,n,o),a+u);else{for(var h=0,f=l.length,d=[];h<f;h++)d[h]=l[h](i,n,o);var p=w(d.concat());c.set(d[p],a+u)}o=i}return c},u=function(t,e,n){var r=Array.apply([],t);return r.unshift(0),r},h=function(t,e,n){var r,i=[],o=0,a=t.length;for(i[0]=1;o<a;o++)r=t[o-e]||0,i[o+1]=t[o]-r+256&255;return i},f=function(t,e,n){var r,i=[],o=0,a=t.length;for(i[0]=2;o<a;o++)r=n&&n[o]||0,i[o+1]=t[o]-r+256&255;return i},d=function(t,e,n){var r,i,o=[],a=0,s=t.length;for(o[0]=3;a<s;a++)r=t[a-e]||0,i=n&&n[a]||0,o[a+1]=t[a]+256-(r+i>>>1)&255;return o},p=function(t,e,n){var r,i,o,a,s=[],c=0,l=t.length;for(s[0]=4;c<l;c++)r=t[c-e]||0,i=n&&n[c]||0,o=n&&n[c-e]||0,a=g(r,i,o),s[c+1]=t[c]-a+256&255;return s},g=function(t,e,n){var r=t+e-n,i=Math.abs(r-t),o=Math.abs(r-e),a=Math.abs(r-n);return i<=o&&i<=a?t:o<=a?e:n},m=function(){return[u,h,f,d,p]},w=function(t){for(var e,n,r,i=0,o=t.length;i<o;)e=y(t[i].slice(1)),(e<n||!n)&&(n=e,r=i),i++;return r},y=function(t){for(var e=0,n=t.length,r=0;e<n;)r+=Math.abs(t[e++]);return r},v=function(e){var n;switch(e){case t.image_compression.FAST:n=11;break;case t.image_compression.MEDIUM:n=13;break;case t.image_compression.SLOW:n=14}return n};t.processPNG=function(t,r,o,a,s){var c,l,u,h,f,d,p=this.color_spaces.DEVICE_RGB,g=this.decode.FLATE_DECODE,m=8;if(this.isArrayBuffer(t)&&(t=new Uint8Array(t)),this.isArrayBufferView(t)){if(e())throw new Error("PNG support requires png.js and zlib.js");if(c=new PNG(t),t=c.imgData,m=c.bits,p=c.colorSpace,h=c.colors,[4,6].indexOf(c.colorType)!==-1){if(8===c.bits)for(var w,y,b=32==c.pixelBitlength?new Uint32Array(c.decodePixels().buffer):16==c.pixelBitlength?new Uint16Array(c.decodePixels().buffer):new Uint8Array(c.decodePixels().buffer),x=b.length,k=new Uint8Array(x*c.colors),_=new Uint8Array(x),C=c.pixelBitlength-c.bits,A=0,S=0;A<x;A++){for(w=b[A],y=0;y<C;)k[S++]=w>>>y&255,y+=c.bits;_[A]=w>>>y&255}if(16===c.bits){for(var w,b=new Uint32Array(c.decodePixels().buffer),x=b.length,k=new Uint8Array(x*(32/c.pixelBitlength)*c.colors),_=new Uint8Array(x*(32/c.pixelBitlength)),q=c.colors>1,A=0,S=0,T=0;A<x;)w=b[A++],k[S++]=w>>>0&255,q&&(k[S++]=w>>>16&255,w=b[A++],k[S++]=w>>>0&255),_[T++]=w>>>16&255;m=8}n(a)?(t=i(k,c.width*c.colors,c.colors,a),d=i(_,c.width,1,a)):(t=k,d=_,g=null)}if(3===c.colorType&&(p=this.color_spaces.INDEXED,f=c.palette,c.transparency.indexed)){for(var I=c.transparency.indexed,P=0,A=0,x=I.length;A<x;++A)P+=I[A];if(P/=255,P===x-1&&I.indexOf(0)!==-1)u=[I.indexOf(0)];else if(P!==x){for(var b=c.decodePixels(),_=new Uint8Array(b.length),A=0,x=b.length;A<x;A++)_[A]=I[b[A]];d=i(_,c.width,1)}}var E=v(a);return l=g===this.decode.FLATE_DECODE?"/Predictor "+E+" /Colors "+h+" /BitsPerComponent "+m+" /Columns "+c.width:"/Colors "+h+" /BitsPerComponent "+m+" /Columns "+c.width,(this.isArrayBuffer(t)||this.isArrayBufferView(t))&&(t=this.arrayBufferToBinaryString(t)),(d&&this.isArrayBuffer(d)||this.isArrayBufferView(d))&&(d=this.arrayBufferToBinaryString(d)),this.createImageInfo(t,c.width,c.height,p,m,g,r,o,l,u,f,d,E)}throw new Error("Unsupported PNG image data, try using JPEG instead.")}}(e.API),function(t){t.autoPrint=function(){var t;return this.internal.events.subscribe("postPutResources",function(){t=this.internal.newObject(),this.internal.write("<< /S/Named /Type/Action /N/Print >>","endobj")}),this.internal.events.subscribe("putCatalog",function(){this.internal.write("/OpenAction "+t+" 0 R")}),this}}(e.API),function(t){var e=t.getCharWidthsArray=function(t,e){e||(e={});var n,r,i,o=e.widths?e.widths:this.internal.getFont().metadata.Unicode.widths,a=o.fof?o.fof:1,s=e.kerning?e.kerning:this.internal.getFont().metadata.Unicode.kerning,c=s.fof?s.fof:1,l=0,u=o[0]||a,h=[];for(n=0,r=t.length;n<r;n++)i=t.charCodeAt(n),h.push((o[i]||u)/a+(s[i]&&s[i][l]||0)/c),l=i;return h},n=function(t){for(var e=t.length,n=0;e;)e--,n+=t[e];return n},r=t.getStringUnitWidth=function(t,r){return n(e.call(this,t,r))},i=function(t,e,n,r){for(var i=[],o=0,a=t.length,s=0;o!==a&&s+e[o]<n;)s+=e[o],o++;i.push(t.slice(0,o));var c=o;for(s=0;o!==a;)s+e[o]>r&&(i.push(t.slice(c,o)),s=0,c=o),s+=e[o],o++;return c!==o&&i.push(t.slice(c,o)),i},o=function(t,o,a){a||(a={});var s,c,l,u,h,f,d=[],p=[d],g=a.textIndent||0,m=0,w=0,y=t.split(" "),v=e(" ",a)[0];if(f=a.lineIndent===-1?y[0].length+2:a.lineIndent||0){var b=Array(f).join(" "),x=[];y.map(function(t){t=t.split(/\s*\n/),t.length>1?x=x.concat(t.map(function(t,e){return(e&&t.length?"\n":"")+t})):x.push(t[0])}),y=x,f=r(b,a)}for(l=0,u=y.length;l<u;l++){var k=0;if(s=y[l],f&&"\n"==s[0]&&(s=s.substr(1),k=1),c=e(s,a),w=n(c),g+m+w>o||k){if(w>o){for(h=i(s,c,o-(g+m),o),d.push(h.shift()),d=[h.pop()];h.length;)p.push([h.shift()]);w=n(c.slice(s.length-d[0].length))}else d=[s];p.push(d),g=w+f,m=v}else d.push(s),g+=m+w,m=v}if(f)var _=function(t,e){return(e?b:"")+t.join(" ")};else var _=function(t){return t.join(" ")};return p.map(_)};t.splitTextToSize=function(t,e,n){n||(n={});var r,i=n.fontSize||this.internal.getFontSize(),a=function(t){var e={0:1},n={};if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var r=this.internal.getFont(t.fontName,t.fontStyle),i="Unicode";return r.metadata[i]?{widths:r.metadata[i].widths||e,kerning:r.metadata[i].kerning||n}:{widths:e,kerning:n}}.call(this,n);r=Array.isArray(t)?t:t.split(/\r?\n/);var s=1*this.internal.scaleFactor*e/i;a.textIndent=n.textIndent?1*n.textIndent*this.internal.scaleFactor/i:0,a.lineIndent=n.lineIndent;var c,l,u=[];for(c=0,l=r.length;c<l;c++)u=u.concat(o(r[c],s,a));return u}}(e.API),function(t){var e=function(t){for(var e="0123456789abcdef",n="klmnopqrstuvwxyz",r={},i=0;i<n.length;i++)r[n[i]]=e[i];var o,a,s,c,l,u={},h=1,f=u,d=[],p="",g="",m=t.length-1;for(i=1;i!=m;)l=t[i],i+=1,"'"==l?a?(c=a.join(""),a=o):a=[]:a?a.push(l):"{"==l?(d.push([f,c]),f={},c=o):"}"==l?(s=d.pop(),s[0][s[1]]=f,c=o,f=s[0]):"-"==l?h=-1:c===o?r.hasOwnProperty(l)?(p+=r[l],c=parseInt(p,16)*h,h=1,p=""):p+=l:r.hasOwnProperty(l)?(g+=r[l],f[c]=parseInt(g,16)*h,h=1,c=o,g=""):g+=l;return u},n={codePages:["WinAnsiEncoding"],WinAnsiEncoding:e("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}")},r={Unicode:{Courier:n,"Courier-Bold":n,"Courier-BoldOblique":n,"Courier-Oblique":n,Helvetica:n,"Helvetica-Bold":n,"Helvetica-BoldOblique":n,"Helvetica-Oblique":n,"Times-Roman":n,"Times-Bold":n,"Times-BoldItalic":n,"Times-Italic":n}},i={Unicode:{"Courier-Oblique":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-BoldItalic":e("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"),"Helvetica-Bold":e("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),Courier:e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Courier-BoldOblique":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Bold":e("{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}"),Helvetica:e("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}"),"Helvetica-BoldOblique":e("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),"Courier-Bold":e("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Italic":e("{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}"),"Times-Roman":e("{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}"),"Helvetica-Oblique":e("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}")}};t.events.push(["addFont",function(t){var e,n,o,a="Unicode";e=i[a][t.PostScriptName],e&&(n=t.metadata[a]?t.metadata[a]:t.metadata[a]={},n.widths=e.widths,n.kerning=e.kerning),o=r[a][t.PostScriptName],o&&(n=t.metadata[a]?t.metadata[a]:t.metadata[a]={},n.encoding=o,o.codePages&&o.codePages.length&&(t.encoding=o.codePages[0]))}])}(e.API),function(t){t.addSVG=function(t,e,n,r,i){function o(t,e){var n=e.createElement("style");n.type="text/css",n.styleSheet?n.styleSheet.cssText=t:n.appendChild(e.createTextNode(t)),e.getElementsByTagName("head")[0].appendChild(n)}function a(t){var e="childframe",n=t.createElement("iframe");return o(".jsPDF_sillysvg_iframe {display:none;position:absolute;}",t),n.name=e,n.setAttribute("width",0),n.setAttribute("height",0),n.setAttribute("frameborder","0"),n.setAttribute("scrolling","no"),n.setAttribute("seamless","seamless"),n.setAttribute("class","jsPDF_sillysvg_iframe"),t.body.appendChild(n),n}function s(t,e){var n=(e.contentWindow||e.contentDocument).document;return n.write(t),n.close(),n.getElementsByTagName("svg")[0]}function c(t){for(var e=parseFloat(t[1]),n=parseFloat(t[2]),r=[],i=3,o=t.length;i<o;)"c"===t[i]?(r.push([parseFloat(t[i+1]),parseFloat(t[i+2]),parseFloat(t[i+3]),parseFloat(t[i+4]),parseFloat(t[i+5]),parseFloat(t[i+6])]),i+=7):"l"===t[i]?(r.push([parseFloat(t[i+1]),parseFloat(t[i+2])]),i+=3):i+=1;return[e,n,r]}var l;if(e===l||n===l)throw new Error("addSVG needs values for 'x' and 'y'");var u=a(document),h=s(t,u),f=[1,1],d=parseFloat(h.getAttribute("width")),p=parseFloat(h.getAttribute("height"));d&&p&&(r&&i?f=[r/d,i/p]:r?f=[r/d,r/d]:i&&(f=[i/p,i/p]));var g,m,w,y,v=h.childNodes;for(g=0,m=v.length;g<m;g++)w=v[g],w.tagName&&"PATH"===w.tagName.toUpperCase()&&(y=c(w.getAttribute("d").split(" ")),y[0]=y[0]*f[0]+e,y[1]=y[1]*f[1]+n,this.lines.call(this,y[2],y[0],y[1],f));return this}}(e.API),/** ==================================================================== 
   * jsPDF total_pages plugin
   * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br
   * 
   * 
   * ====================================================================
   */
function(t){t.putTotalPages=function(t){for(var e=new RegExp(t,"g"),n=1;n<=this.internal.getNumberOfPages();n++)for(var r=0;r<this.internal.pages[n].length;r++)this.internal.pages[n][r]=this.internal.pages[n][r].replace(e,this.internal.getNumberOfPages());return this}}(e.API),/** ==================================================================== 
   * jsPDF XMP metadata plugin
   * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi
   * 
   * 
   * ====================================================================
   */
function(t){var e="",n="",r="";t.addMetadata=function(t,i){return n=i||"http://jspdf.default.namespaceuri/",e=t,this.internal.events.subscribe("postPutResources",function(){if(e){var t='<x:xmpmeta xmlns:x="adobe:ns:meta/">',i='<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:jspdf="'+n+'"><jspdf:metadata>',o="</jspdf:metadata></rdf:Description></rdf:RDF>",a="</x:xmpmeta>",s=unescape(encodeURIComponent(t)),c=unescape(encodeURIComponent(i)),l=unescape(encodeURIComponent(e)),u=unescape(encodeURIComponent(o)),h=unescape(encodeURIComponent(a)),f=c.length+l.length+u.length+s.length+h.length;r=this.internal.newObject(),this.internal.write("<< /Type /Metadata /Subtype /XML /Length "+f+" >>"),this.internal.write("stream"),this.internal.write(s+c+l+u+h),this.internal.write("endstream"),this.internal.write("endobj")}else r=""}),this.internal.events.subscribe("putCatalog",function(){r&&this.internal.write("/Metadata "+r+" 0 R")}),this}}(e.API),function(t){if(t.URL=t.URL||t.webkitURL,t.Blob&&t.URL)try{return void new Blob}catch(t){}var e=t.BlobBuilder||t.WebKitBlobBuilder||t.MozBlobBuilder||function(t){var e=function(t){return Object.prototype.toString.call(t).match(/^\[object\s(.*)\]$/)[1]},n=function(){this.data=[]},r=function(t,e,n){this.data=t,this.size=t.length,this.type=e,this.encoding=n},i=n.prototype,o=r.prototype,a=t.FileReaderSync,s=function(t){this.code=this[this.name=t]},c="NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR".split(" "),l=c.length,u=t.URL||t.webkitURL||t,h=u.createObjectURL,f=u.revokeObjectURL,d=u,p=t.btoa,g=t.atob,m=t.ArrayBuffer,w=t.Uint8Array,y=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;for(r.fake=o.fake=!0;l--;)s.prototype[c[l]]=l+1;return u.createObjectURL||(d=t.URL=function(t){var e,n=document.createElementNS("http://www.w3.org/1999/xhtml","a");return n.href=t,"origin"in n||("data:"===n.protocol.toLowerCase()?n.origin=null:(e=t.match(y),n.origin=e&&e[1])),n}),d.createObjectURL=function(t){var e,n=t.type;return null===n&&(n="application/octet-stream"),t instanceof r?(e="data:"+n,"base64"===t.encoding?e+";base64,"+t.data:"URI"===t.encoding?e+","+decodeURIComponent(t.data):p?e+";base64,"+p(t.data):e+","+encodeURIComponent(t.data)):h?h.call(u,t):void 0},d.revokeObjectURL=function(t){"data:"!==t.substring(0,5)&&f&&f.call(u,t)},i.append=function(t){var n=this.data;if(w&&(t instanceof m||t instanceof w)){for(var i="",o=new w(t),c=0,l=o.length;c<l;c++)i+=String.fromCharCode(o[c]);n.push(i)}else if("Blob"===e(t)||"File"===e(t)){if(!a)throw new s("NOT_READABLE_ERR");var u=new a;n.push(u.readAsBinaryString(t))}else t instanceof r?"base64"===t.encoding&&g?n.push(g(t.data)):"URI"===t.encoding?n.push(decodeURIComponent(t.data)):"raw"===t.encoding&&n.push(t.data):("string"!=typeof t&&(t+=""),n.push(unescape(encodeURIComponent(t))))},i.getBlob=function(t){return arguments.length||(t=null),new r(this.data.join(""),t,"raw")},i.toString=function(){return"[object BlobBuilder]"},o.slice=function(t,e,n){var i=arguments.length;return i<3&&(n=null),new r(this.data.slice(t,i>1?e:this.data.length),n,this.encoding)},o.toString=function(){return"[object Blob]"},o.close=function(){this.size=0,delete this.data},n}(t);t.Blob=function(t,n){var r=n?n.type||"":"",i=new e;if(t)for(var o=0,a=t.length;o<a;o++)Uint8Array&&t[o]instanceof Uint8Array?i.append(t[o].buffer):i.append(t[o]);var s=i.getBlob(r);return!s.slice&&s.webkitSlice&&(s.slice=s.webkitSlice),s};var n=Object.getPrototypeOf||function(t){return t.__proto__};t.Blob.prototype=n(new t.Blob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||(void 0).content||void 0);var i=i||function(t){if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var e=t.document,n=function(){return t.URL||t.webkitURL||t},r=e.createElementNS("http://www.w3.org/1999/xhtml","a"),i="download"in r,o=function(t){var e=new MouseEvent("click");t.dispatchEvent(e)},a=/Version\/[\d\.]+.*Safari/.test(navigator.userAgent),s=t.webkitRequestFileSystem,c=t.requestFileSystem||s||t.mozRequestFileSystem,l=function(e){(t.setImmediate||t.setTimeout)(function(){throw e},0)},u="application/octet-stream",h=0,f=500,d=function(e){var r=function(){"string"==typeof e?n().revokeObjectURL(e):e.remove()};t.chrome?r():setTimeout(r,f)},p=function(t,e,n){e=[].concat(e);for(var r=e.length;r--;){var i=t["on"+e[r]];if("function"==typeof i)try{i.call(t,n||t)}catch(t){l(t)}}},g=function(t){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob(["\ufeff",t],{type:t.type}):t},m=function(e,l,f){f||(e=g(e));var m,w,y,v=this,b=e.type,x=!1,k=function(){p(v,"writestart progress write writeend".split(" "))},_=function(){if(w&&a&&"undefined"!=typeof FileReader){var r=new FileReader;return r.onloadend=function(){var t=r.result;w.location.href="data:attachment/file"+t.slice(t.search(/[,;]/)),v.readyState=v.DONE,k()},r.readAsDataURL(e),void(v.readyState=v.INIT)}if(!x&&m||(m=n().createObjectURL(e)),w)w.location.href=m;else{var i=t.open(m,"_blank");void 0==i&&a&&(t.location.href=m)}v.readyState=v.DONE,k(),d(m)},C=function(t){return function(){if(v.readyState!==v.DONE)return t.apply(this,arguments)}},A={create:!0,exclusive:!1};return v.readyState=v.INIT,l||(l="download"),i?(m=n().createObjectURL(e),void setTimeout(function(){r.href=m,r.download=l,o(r),k(),d(m),v.readyState=v.DONE})):(t.chrome&&b&&b!==u&&(y=e.slice||e.webkitSlice,e=y.call(e,0,e.size,u),x=!0),s&&"download"!==l&&(l+=".download"),(b===u||s)&&(w=t),c?(h+=e.size,void c(t.TEMPORARY,h,C(function(t){t.root.getDirectory("saved",A,C(function(t){var n=function(){t.getFile(l,A,C(function(t){t.createWriter(C(function(n){n.onwriteend=function(e){w.location.href=t.toURL(),v.readyState=v.DONE,p(v,"writeend",e),d(t)},n.onerror=function(){var t=n.error;t.code!==t.ABORT_ERR&&_()},"writestart progress write abort".split(" ").forEach(function(t){n["on"+t]=v["on"+t]}),n.write(e),v.abort=function(){n.abort(),v.readyState=v.DONE},v.readyState=v.WRITING}),_)}),_)};t.getFile(l,{create:!1},C(function(t){t.remove(),n()}),C(function(t){t.code===t.NOT_FOUND_ERR?n():_()}))}),_)}),_)):void _())},w=m.prototype,y=function(t,e,n){return new m(t,e,n)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(t,e,n){return n||(t=g(t)),navigator.msSaveOrOpenBlob(t,e||"download")}:(w.abort=function(){var t=this;t.readyState=t.DONE,p(t,"abort")},w.readyState=w.INIT=0,w.WRITING=1,w.DONE=2,w.error=w.onwritestart=w.onprogress=w.onwrite=w.onabort=w.onerror=w.onwriteend=null,y)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||(void 0).content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=i:"undefined"!=typeof define&&null!==define&&null!=define.amd&&define([],function(){return i}),/*
   * Copyright (c) 2012 chick307 <chick307@gmail.com>
   *
   * Licensed under the MIT License.
   * http://opensource.org/licenses/mit-license
   */
void function(t,e){"object"==typeof module?module.exports=e():"function"==typeof define?define(e):t.adler32cs=e()}(e,function(){var t="function"==typeof ArrayBuffer&&"function"==typeof Uint8Array,e=null,n=function(){if(!t)return function(){return!1};try{var n={};"function"==typeof n.Buffer&&(e=n.Buffer)}catch(t){}return function(t){return t instanceof ArrayBuffer||null!==e&&t instanceof e}}(),r=function(){return null!==e?function(t){return new e(t,"utf8").toString("binary")}:function(t){return unescape(encodeURIComponent(t))}}(),i=65521,o=function(t,e){for(var n=65535&t,r=t>>>16,o=0,a=e.length;o<a;o++)n=(n+(255&e.charCodeAt(o)))%i,r=(r+n)%i;return(r<<16|n)>>>0},a=function(t,e){for(var n=65535&t,r=t>>>16,o=0,a=e.length;o<a;o++)n=(n+e[o])%i,r=(r+n)%i;return(r<<16|n)>>>0},s={},c=s.Adler32=function(){var e=function(t){if(!(this instanceof e))throw new TypeError("Constructor cannot called be as a function.");if(!isFinite(t=null==t?1:+t))throw new Error("First arguments needs to be a finite number.");this.checksum=t>>>0},i=e.prototype={};return i.constructor=e,e.from=function(t){return t.prototype=i,t}(function(t){if(!(this instanceof e))throw new TypeError("Constructor cannot called be as a function.");if(null==t)throw new Error("First argument needs to be a string.");this.checksum=o(1,t.toString())}),e.fromUtf8=function(t){return t.prototype=i,t}(function(t){if(!(this instanceof e))throw new TypeError("Constructor cannot called be as a function.");if(null==t)throw new Error("First argument needs to be a string.");var n=r(t.toString());this.checksum=o(1,n)}),t&&(e.fromBuffer=function(t){return t.prototype=i,t}(function(t){if(!(this instanceof e))throw new TypeError("Constructor cannot called be as a function.");if(!n(t))throw new Error("First argument needs to be ArrayBuffer.");var r=new Uint8Array(t);return this.checksum=a(1,r)})),i.update=function(t){if(null==t)throw new Error("First argument needs to be a string.");return t=t.toString(),this.checksum=o(this.checksum,t)},i.updateUtf8=function(t){if(null==t)throw new Error("First argument needs to be a string.");var e=r(t.toString());return this.checksum=o(this.checksum,e)},t&&(i.updateBuffer=function(t){if(!n(t))throw new Error("First argument needs to be ArrayBuffer.");var e=new Uint8Array(t);return this.checksum=a(this.checksum,e)}),i.clone=function(){return new c(this.checksum)},e}();return s.from=function(t){if(null==t)throw new Error("First argument needs to be a string.");return o(1,t.toString())},s.fromUtf8=function(t){if(null==t)throw new Error("First argument needs to be a string.");var e=r(t.toString());return o(1,e)},t&&(s.fromBuffer=function(t){if(!n(t))throw new Error("First argument need to be ArrayBuffer.");var e=new Uint8Array(t);return a(1,e)}),s});/**
   * CssColors
   * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv
   *
   * Licensed under the MIT License.
   * http://opensource.org/licenses/mit-license
   */
var o={};o._colorsTable={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},o.colorNameToHex=function(t){return t=t.toLowerCase(),"undefined"!=typeof this._colorsTable[t]&&this._colorsTable[t]};/*
   Deflate.js - https://github.com/gildas-lormeau/zip.js
   Copyright (c) 2013 Gildas Lormeau. All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions are met:

   1. Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.

   2. Redistributions in binary form must reproduce the above copyright 
   notice, this list of conditions and the following disclaimer in 
   the documentation and/or other materials provided with the distribution.

   3. The names of the authors may not be used to endorse or promote products
   derived from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
   INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
   OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
   EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   */
var a=function(t){function e(){function t(t){var e,n,i,o,a,c,l=r.dyn_tree,u=r.stat_desc.static_tree,h=r.stat_desc.extra_bits,f=r.stat_desc.extra_base,p=r.stat_desc.max_length,g=0;for(o=0;o<=s;o++)t.bl_count[o]=0;for(l[2*t.heap[t.heap_max]+1]=0,e=t.heap_max+1;e<d;e++)n=t.heap[e],o=l[2*l[2*n+1]+1]+1,o>p&&(o=p,g++),l[2*n+1]=o,n>r.max_code||(t.bl_count[o]++,a=0,n>=f&&(a=h[n-f]),c=l[2*n],t.opt_len+=c*(o+a),u&&(t.static_len+=c*(u[2*n+1]+a)));if(0!==g){do{for(o=p-1;0===t.bl_count[o];)o--;t.bl_count[o]--,t.bl_count[o+1]+=2,t.bl_count[p]--,g-=2}while(g>0);for(o=p;0!==o;o--)for(n=t.bl_count[o];0!==n;)i=t.heap[--e],i>r.max_code||(l[2*i+1]!=o&&(t.opt_len+=(o-l[2*i+1])*l[2*i],l[2*i+1]=o),n--)}}function e(t,e){var n=0;do n|=1&t,t>>>=1,n<<=1;while(--e>0);return n>>>1}function n(t,n,r){var i,o,a,c=[],l=0;for(i=1;i<=s;i++)c[i]=l=l+r[i-1]<<1;for(o=0;o<=n;o++)a=t[2*o+1],0!==a&&(t[2*o]=e(c[a]++,a))}var r=this;r.build_tree=function(e){var i,o,a,s=r.dyn_tree,c=r.stat_desc.static_tree,l=r.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=d,i=0;i<l;i++)0!==s[2*i]?(e.heap[++e.heap_len]=u=i,e.depth[i]=0):s[2*i+1]=0;for(;e.heap_len<2;)a=e.heap[++e.heap_len]=u<2?++u:0,s[2*a]=1,e.depth[a]=0,e.opt_len--,c&&(e.static_len-=c[2*a+1]);for(r.max_code=u,i=Math.floor(e.heap_len/2);i>=1;i--)e.pqdownheap(s,i);a=l;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],e.pqdownheap(s,1),o=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=o,s[2*a]=s[2*i]+s[2*o],e.depth[a]=Math.max(e.depth[i],e.depth[o])+1,s[2*i+1]=s[2*o+1]=a,e.heap[1]=a++,e.pqdownheap(s,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],t(e),n(s,r.max_code,e.bl_count)}}function n(t,e,n,r,i){var o=this;o.static_tree=t,o.extra_bits=e,o.extra_base=n,o.elems=r,o.max_length=i}function r(t,e,n,r,i){var o=this;o.good_length=t,o.max_lazy=e,o.nice_length=n,o.max_chain=r,o.func=i}function i(t,e,n,r){var i=t[2*e],o=t[2*n];return i<o||i==o&&r[e]<=r[n]}function o(){function t(){var t;for(Pt=2*St,Ot[Rt-1]=0,t=0;t<Rt-1;t++)Ot[t]=0;Yt=L[Gt].max_lazy,Qt=L[Gt].good_length,Kt=L[Gt].nice_length,Vt=L[Gt].max_chain,Ut=0,Nt=0,Wt=0,zt=Xt=tt-1,Mt=0,Ft=0}function r(){var t;for(t=0;t<f;t++)$t[2*t]=0;for(t=0;t<c;t++)Zt[2*t]=0;for(t=0;t<l;t++)te[2*t]=0;$t[2*p]=1,ee.opt_len=ee.static_len=0,se=le=0}function o(){ne.dyn_tree=$t,ne.stat_desc=n.static_l_desc,re.dyn_tree=Zt,re.stat_desc=n.static_d_desc,ie.dyn_tree=te,ie.stat_desc=n.static_bl_desc,he=0,fe=0,ue=8,r()}function a(t,e){var n,r,i=-1,o=t[1],a=0,s=7,c=4;for(0===o&&(s=138,c=3),t[2*(e+1)+1]=65535,n=0;n<=e;n++)r=o,o=t[2*(n+1)+1],++a<s&&r==o||(a<c?te[2*r]+=a:0!==r?(r!=i&&te[2*r]++,te[2*m]++):a<=10?te[2*w]++:te[2*y]++,a=0,i=r,0===o?(s=138,c=3):r==o?(s=6,c=3):(s=7,c=4))}function s(){var t;for(a($t,ne.max_code),a(Zt,re.max_code),ie.build_tree(ee),t=l-1;t>=3&&0===te[2*e.bl_order[t]+1];t--);return ee.opt_len+=3*(t+1)+5+5+4,t}function u(t){ee.pending_buf[ee.pending++]=t}function d(t){u(255&t),u(t>>>8&255)}function g(t){u(t>>8&255),u(255&t&255)}function R(t,e){var n,r=e;fe>v-r?(n=t,he|=n<<fe&65535,d(he),he=n>>>v-fe,fe+=r-v):(he|=t<<fe&65535,fe+=r)}function rt(t,e){var n=2*t;R(65535&e[n],65535&e[n+1])}function it(t,e){var n,r,i=-1,o=t[1],a=0,s=7,c=4;for(0===o&&(s=138,c=3),n=0;n<=e;n++)if(r=o,o=t[2*(n+1)+1],!(++a<s&&r==o)){if(a<c){do rt(r,te);while(0!==--a)}else 0!==r?(r!=i&&(rt(r,te),a--),rt(m,te),R(a-3,2)):a<=10?(rt(w,te),R(a-3,3)):(rt(y,te),R(a-11,7));a=0,i=r,0===o?(s=138,c=3):r==o?(s=6,c=3):(s=7,c=4)}}function ot(t,n,r){var i;for(R(t-257,5),R(n-1,5),R(r-4,4),i=0;i<r;i++)R(te[2*e.bl_order[i]+1],3);it($t,t-1),it(Zt,n-1)}function at(){16==fe?(d(he),he=0,fe=0):fe>=8&&(u(255&he),he>>>=8,fe-=8)}function st(){R($<<1,3),rt(p,n.static_ltree),at(),1+ue+10-fe<9&&(R($<<1,3),rt(p,n.static_ltree),at()),ue=7}function ct(t,n){var r,i,o;if(ee.pending_buf[ce+2*se]=t>>>8&255,ee.pending_buf[ce+2*se+1]=255&t,ee.pending_buf[oe+se]=255&n,se++,0===t?$t[2*n]++:(le++,t--,$t[2*(e._length_code[n]+h+1)]++,Zt[2*e.d_code(t)]++),0===(8191&se)&&Gt>2){for(r=8*se,i=Ut-Nt,o=0;o<c;o++)r+=Zt[2*o]*(5+e.extra_dbits[o]);if(r>>>=3,le<Math.floor(se/2)&&r<Math.floor(i/2))return!0}return se==ae-1}function lt(t,n){var r,i,o,a,s=0;if(0!==se)do r=ee.pending_buf[ce+2*s]<<8&65280|255&ee.pending_buf[ce+2*s+1],i=255&ee.pending_buf[oe+s],s++,0===r?rt(i,t):(o=e._length_code[i],rt(o+h+1,t),a=e.extra_lbits[o],0!==a&&(i-=e.base_length[o],R(i,a)),r--,o=e.d_code(r),rt(o,n),a=e.extra_dbits[o],0!==a&&(r-=e.base_dist[o],R(r,a)));while(s<se);rt(p,t),ue=t[2*p+1]}function ut(){fe>8?d(he):fe>0&&u(255&he),he=0,fe=0}function ht(t,e,n){ut(),ue=8,n&&(d(e),d(~e)),ee.pending_buf.set(It.subarray(t,t+e),ee.pending),ee.pending+=e}function ft(t,e,n){R((K<<1)+(n?1:0),3),ht(t,e,!0)}function dt(t,e,i){var o,a,c=0;Gt>0?(ne.build_tree(ee),re.build_tree(ee),c=s(),o=ee.opt_len+3+7>>>3,a=ee.static_len+3+7>>>3,a<=o&&(o=a)):o=a=e+5,e+4<=o&&t!=-1?ft(t,e,i):a==o?(R(($<<1)+(i?1:0),3),lt(n.static_ltree,n.static_dtree)):(R((Z<<1)+(i?1:0),3),ot(ne.max_code+1,re.max_code+1,c+1),lt($t,Zt)),r(),i&&ut()}function pt(t){dt(Nt>=0?Nt:-1,Ut-Nt,t),Nt=Ut,xt.flush_pending()}function gt(){var t,e,n,r;do{if(r=Pt-Wt-Ut,0===r&&0===Ut&&0===Wt)r=St;else if(r==-1)r--;else if(Ut>=St+St-nt){It.set(It.subarray(St,St+St),0),Ht-=St,Ut-=St,Nt-=St,t=Rt,n=t;do e=65535&Ot[--n],Ot[n]=e>=St?e-St:0;while(0!==--t);t=St,n=t;do e=65535&Et[--n],Et[n]=e>=St?e-St:0;while(0!==--t);r+=St}if(0===xt.avail_in)return;t=xt.read_buf(It,Ut+Wt,r),Wt+=t,Wt>=tt&&(Ft=255&It[Ut],Ft=(Ft<<jt^255&It[Ut+1])&Dt)}while(Wt<nt&&0!==xt.avail_in)}function mt(t){var e,n=65535;for(n>_t-5&&(n=_t-5);;){if(Wt<=1){if(gt(),0===Wt&&t==C)return U;if(0===Wt)break}if(Ut+=Wt,Wt=0,e=Nt+n,(0===Ut||Ut>=e)&&(Wt=Ut-e,Ut=e,pt(!1),0===xt.avail_out))return U;if(Ut-Nt>=St-nt&&(pt(!1),0===xt.avail_out))return U}return pt(t==q),0===xt.avail_out?t==q?W:U:t==q?X:H}function wt(t){var e,n,r=Vt,i=Ut,o=Xt,a=Ut>St-nt?Ut-(St-nt):0,s=Kt,c=Tt,l=Ut+et,u=It[i+o-1],h=It[i+o];Xt>=Qt&&(r>>=2),s>Wt&&(s=Wt);do if(e=t,It[e+o]==h&&It[e+o-1]==u&&It[e]==It[i]&&It[++e]==It[i+1]){i+=2,e++;do;while(It[++i]==It[++e]&&It[++i]==It[++e]&&It[++i]==It[++e]&&It[++i]==It[++e]&&It[++i]==It[++e]&&It[++i]==It[++e]&&It[++i]==It[++e]&&It[++i]==It[++e]&&i<l);if(n=et-(l-i),i=l-et,n>o){if(Ht=t,o=n,n>=s)break;u=It[i+o-1],h=It[i+o]}}while((t=65535&Et[t&c])>a&&0!==--r);return o<=Wt?o:Wt}function yt(t){for(var e,n=0;;){if(Wt<nt){if(gt(),Wt<nt&&t==C)return U;if(0===Wt)break}if(Wt>=tt&&(Ft=(Ft<<jt^255&It[Ut+(tt-1)])&Dt,n=65535&Ot[Ft],Et[Ut&Tt]=Ot[Ft],Ot[Ft]=Ut),0!==n&&(Ut-n&65535)<=St-nt&&Jt!=k&&(zt=wt(n)),zt>=tt)if(e=ct(Ut-Ht,zt-tt),Wt-=zt,zt<=Yt&&Wt>=tt){zt--;do Ut++,Ft=(Ft<<jt^255&It[Ut+(tt-1)])&Dt,n=65535&Ot[Ft],Et[Ut&Tt]=Ot[Ft],Ot[Ft]=Ut;while(0!==--zt);Ut++}else Ut+=zt,zt=0,Ft=255&It[Ut],Ft=(Ft<<jt^255&It[Ut+1])&Dt;else e=ct(0,255&It[Ut]),Wt--,Ut++;if(e&&(pt(!1),0===xt.avail_out))return U}return pt(t==q),0===xt.avail_out?t==q?W:U:t==q?X:H}function vt(t){for(var e,n,r=0;;){if(Wt<nt){if(gt(),Wt<nt&&t==C)return U;if(0===Wt)break}if(Wt>=tt&&(Ft=(Ft<<jt^255&It[Ut+(tt-1)])&Dt,r=65535&Ot[Ft],Et[Ut&Tt]=Ot[Ft],Ot[Ft]=Ut),Xt=zt,Lt=Ht,zt=tt-1,0!==r&&Xt<Yt&&(Ut-r&65535)<=St-nt&&(Jt!=k&&(zt=wt(r)),zt<=5&&(Jt==x||zt==tt&&Ut-Ht>4096)&&(zt=tt-1)),Xt>=tt&&zt<=Xt){n=Ut+Wt-tt,e=ct(Ut-1-Lt,Xt-tt),Wt-=Xt-1,Xt-=2;do++Ut<=n&&(Ft=(Ft<<jt^255&It[Ut+(tt-1)])&Dt,r=65535&Ot[Ft],Et[Ut&Tt]=Ot[Ft],Ot[Ft]=Ut);while(0!==--Xt);if(Mt=0,zt=tt-1,Ut++,e&&(pt(!1),0===xt.avail_out))return U}else if(0!==Mt){if(e=ct(0,255&It[Ut-1]),e&&pt(!1),Ut++,Wt--,0===xt.avail_out)return U}else Mt=1,Ut++,Wt--}return 0!==Mt&&(e=ct(0,255&It[Ut-1]),Mt=0),pt(t==q),0===xt.avail_out?t==q?W:U:t==q?X:H}function bt(e){return e.total_in=e.total_out=0,e.msg=null,ee.pending=0,ee.pending_out=0,kt=G,At=C,o(),t(),T}var xt,kt,_t,Ct,At,St,qt,Tt,It,Pt,Et,Ot,Ft,Rt,Bt,Dt,jt,Nt,zt,Lt,Mt,Ut,Ht,Wt,Xt,Vt,Yt,Gt,Jt,Qt,Kt,$t,Zt,te,ee=this,ne=new e,re=new e,ie=new e;ee.depth=[];var oe,ae,se,ce,le,ue,he,fe;ee.bl_count=[],ee.heap=[],$t=[],Zt=[],te=[],ee.pqdownheap=function(t,e){for(var n=ee.heap,r=n[e],o=e<<1;o<=ee.heap_len&&(o<ee.heap_len&&i(t,n[o+1],n[o],ee.depth)&&o++,!i(t,r,n[o],ee.depth));)n[e]=n[o],e=o,o<<=1;n[e]=r},ee.deflateInit=function(t,e,n,r,i,o){return r||(r=Q),i||(i=D),o||(o=_),t.msg=null,e==b&&(e=6),i<1||i>B||r!=Q||n<9||n>15||e<0||e>9||o<0||o>k?E:(t.dstate=ee,qt=n,St=1<<qt,Tt=St-1,Bt=i+7,Rt=1<<Bt,Dt=Rt-1,jt=Math.floor((Bt+tt-1)/tt),It=new Uint8Array(2*St),Et=[],Ot=[],ae=1<<i+6,ee.pending_buf=new Uint8Array(4*ae),_t=4*ae,ce=Math.floor(ae/2),oe=3*ae,Gt=e,Jt=o,Ct=255&r,bt(t))},ee.deflateEnd=function(){return kt!=Y&&kt!=G&&kt!=J?E:(ee.pending_buf=null,Ot=null,Et=null,It=null,ee.dstate=null,kt==G?O:T)},ee.deflateParams=function(t,e,n){var r=T;return e==b&&(e=6),e<0||e>9||n<0||n>k?E:(L[Gt].func!=L[e].func&&0!==t.total_in&&(r=t.deflate(A)),Gt!=e&&(Gt=e,Yt=L[Gt].max_lazy,Qt=L[Gt].good_length,Kt=L[Gt].nice_length,Vt=L[Gt].max_chain),Jt=n,r)},ee.deflateSetDictionary=function(t,e,n){var r,i=n,o=0;if(!e||kt!=Y)return E;if(i<tt)return T;for(i>St-nt&&(i=St-nt,o=n-i),It.set(e.subarray(o,o+i),0),Ut=i,Nt=i,Ft=255&It[0],Ft=(Ft<<jt^255&It[1])&Dt,r=0;r<=i-tt;r++)Ft=(Ft<<jt^255&It[r+(tt-1)])&Dt,Et[r&Tt]=Ot[Ft],Ot[Ft]=r;return T},ee.deflate=function(t,e){var n,r,i,o,a;if(e>q||e<0)return E;if(!t.next_out||!t.next_in&&0!==t.avail_in||kt==J&&e!=q)return t.msg=M[P-E],E;if(0===t.avail_out)return t.msg=M[P-F],F;if(xt=t,o=At,At=e,kt==Y&&(r=Q+(qt-8<<4)<<8,i=(Gt-1&255)>>1,i>3&&(i=3),r|=i<<6,0!==Ut&&(r|=V),r+=31-r%31,kt=G,g(r)),0!==ee.pending){if(xt.flush_pending(),0===xt.avail_out)return At=-1,T}else if(0===xt.avail_in&&e<=o&&e!=q)return xt.msg=M[P-F],F;if(kt==J&&0!==xt.avail_in)return t.msg=M[P-F],F;if(0!==xt.avail_in||0!==Wt||e!=C&&kt!=J){switch(a=-1,L[Gt].func){case j:a=mt(e);break;case N:a=yt(e);break;case z:a=vt(e)}if(a!=W&&a!=X||(kt=J),a==U||a==W)return 0===xt.avail_out&&(At=-1),T;if(a==H){if(e==A)st();else if(ft(0,0,!1),e==S)for(n=0;n<Rt;n++)Ot[n]=0;if(xt.flush_pending(),0===xt.avail_out)return At=-1,T}}return e!=q?T:I}}function a(){var t=this;t.next_in_index=0,t.next_out_index=0,t.avail_in=0,t.total_in=0,t.avail_out=0,t.total_out=0}var s=15,c=30,l=19,u=29,h=256,f=h+1+u,d=2*f+1,p=256,g=7,m=16,w=17,y=18,v=16,b=-1,x=1,k=2,_=0,C=0,A=1,S=3,q=4,T=0,I=1,P=2,E=-2,O=-3,F=-5,R=[0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29];e._length_code=[0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28],e.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],e.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],e.d_code=function(t){return t<256?R[t]:R[256+(t>>>7)]},e.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],e.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],e.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],e.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],n.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8],n.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5],n.static_l_desc=new n(n.static_ltree,e.extra_lbits,h+1,f,s),n.static_d_desc=new n(n.static_dtree,e.extra_dbits,0,c,s),n.static_bl_desc=new n(null,e.extra_blbits,0,l,g);var B=9,D=8,j=0,N=1,z=2,L=[new r(0,0,0,0,j),new r(4,4,8,4,N),new r(4,5,16,8,N),new r(4,6,32,32,N),new r(4,4,16,16,z),new r(8,16,32,32,z),new r(8,16,128,128,z),new r(8,32,128,256,z),new r(32,128,258,1024,z),new r(32,258,258,4096,z)],M=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],U=0,H=1,W=2,X=3,V=32,Y=42,G=113,J=666,Q=8,K=0,$=1,Z=2,tt=3,et=258,nt=et+tt+1;return a.prototype={deflateInit:function(t,e){var n=this;return n.dstate=new o,e||(e=s),n.dstate.deflateInit(n,t,e)},deflate:function(t){var e=this;return e.dstate?e.dstate.deflate(e,t):E},deflateEnd:function(){var t=this;if(!t.dstate)return E;var e=t.dstate.deflateEnd();return t.dstate=null,e},deflateParams:function(t,e){var n=this;return n.dstate?n.dstate.deflateParams(n,t,e):E},deflateSetDictionary:function(t,e){var n=this;return n.dstate?n.dstate.deflateSetDictionary(n,t,e):E},read_buf:function(t,e,n){var r=this,i=r.avail_in;return i>n&&(i=n),0===i?0:(r.avail_in-=i,t.set(r.next_in.subarray(r.next_in_index,r.next_in_index+i),e),r.next_in_index+=i,r.total_in+=i,i)},flush_pending:function(){var t=this,e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}},function(t){var e=this,n=new a,r=512,i=C,o=new Uint8Array(r);"undefined"==typeof t&&(t=b),n.deflateInit(t),n.next_out=o,e.append=function(t,e){var a,s,c=[],l=0,u=0,h=0;if(t.length){n.next_in_index=0,n.next_in=t,n.avail_in=t.length;do{if(n.next_out_index=0,n.avail_out=r,a=n.deflate(i),a!=T)throw"deflating: "+n.msg;n.next_out_index&&(n.next_out_index==r?c.push(new Uint8Array(o)):c.push(new Uint8Array(o.subarray(0,n.next_out_index)))),h+=n.next_out_index,e&&n.next_in_index>0&&n.next_in_index!=l&&(e(n.next_in_index),l=n.next_in_index)}while(n.avail_in>0||0===n.avail_out);return s=new Uint8Array(h),c.forEach(function(t){s.set(t,u),u+=t.length}),s}},e.flush=function(){var t,e,i=[],a=0,s=0;do{if(n.next_out_index=0,n.avail_out=r,t=n.deflate(q),t!=I&&t!=T)throw"deflating: "+n.msg;r-n.avail_out>0&&i.push(new Uint8Array(o.subarray(0,n.next_out_index))),s+=n.next_out_index}while(n.avail_in>0||0===n.avail_out);return n.deflateEnd(),e=new Uint8Array(s),i.forEach(function(t){e.set(t,a),a+=t.length}),e}}}(void 0);/*
    html2canvas 0.5.0-beta3 <http://html2canvas.hertzen.com>
    Copyright (c) 2016 Niklas von Hertzen

    Released under  License
  */
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.html2canvas=t()}}(function(){var t;return function t(e,n,r){function i(a,s){if(!n[a]){if(!e[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(o)return o(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=n[a]={exports:{}};e[a][0].call(u.exports,function(t){var n=e[a][1][t];return i(n?n:t)},u,u.exports,t,e,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(e,n,r){(function(e){!function(i){function o(t){throw RangeError(R[t])}function a(t,e){for(var n=t.length;n--;)t[n]=e(t[n]);return t}function s(t,e){return a(t.split(F),e).join(".")}function c(t){for(var e,n,r=[],i=0,o=t.length;i<o;)e=t.charCodeAt(i++),e>=55296&&e<=56319&&i<o?(n=t.charCodeAt(i++),56320==(64512&n)?r.push(((1023&e)<<10)+(1023&n)+65536):(r.push(e),i--)):r.push(e);return r}function l(t){return a(t,function(t){var e="";return t>65535&&(t-=65536,e+=j(t>>>10&1023|55296),t=56320|1023&t),e+=j(t)}).join("")}function u(t){return t-48<10?t-22:t-65<26?t-65:t-97<26?t-97:_}function h(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function f(t,e,n){var r=0;for(t=n?D(t/q):t>>1,t+=D(t/e);t>B*A>>1;r+=_)t=D(t/B);return D(r+(B+1)*t/(t+S))}function d(t){var e,n,r,i,a,s,c,h,d,p,g=[],m=t.length,w=0,y=I,v=T;for(n=t.lastIndexOf(P),n<0&&(n=0),r=0;r<n;++r)t.charCodeAt(r)>=128&&o("not-basic"),g.push(t.charCodeAt(r));for(i=n>0?n+1:0;i<m;){for(a=w,s=1,c=_;i>=m&&o("invalid-input"),h=u(t.charCodeAt(i++)),(h>=_||h>D((k-w)/s))&&o("overflow"),w+=h*s,d=c<=v?C:c>=v+A?A:c-v,!(h<d);c+=_)p=_-d,s>D(k/p)&&o("overflow"),s*=p;e=g.length+1,v=f(w-a,e,0==a),D(w/e)>k-y&&o("overflow"),y+=D(w/e),w%=e,g.splice(w++,0,y)}return l(g)}function p(t){var e,n,r,i,a,s,l,u,d,p,g,m,w,y,v,b=[];for(t=c(t),m=t.length,e=I,n=0,a=T,s=0;s<m;++s)g=t[s],g<128&&b.push(j(g));for(r=i=b.length,i&&b.push(P);r<m;){for(l=k,s=0;s<m;++s)g=t[s],g>=e&&g<l&&(l=g);for(w=r+1,l-e>D((k-n)/w)&&o("overflow"),n+=(l-e)*w,e=l,s=0;s<m;++s)if(g=t[s],g<e&&++n>k&&o("overflow"),g==e){for(u=n,d=_;p=d<=a?C:d>=a+A?A:d-a,!(u<p);d+=_)v=u-p,y=_-p,b.push(j(h(p+v%y,0))),u=D(v/y);b.push(j(h(u,0))),a=f(n,w,r==i),n=0,++r}++n,++e}return b.join("")}function g(t){return s(t,function(t){return E.test(t)?d(t.slice(4).toLowerCase()):t})}function m(t){return s(t,function(t){return O.test(t)?"xn--"+p(t):t})}var w="object"==typeof r&&r,y="object"==typeof n&&n&&n.exports==w&&n,v="object"==typeof e&&e;v.global!==v&&v.window!==v||(i=v);var b,x,k=2147483647,_=36,C=1,A=26,S=38,q=700,T=72,I=128,P="-",E=/^xn--/,O=/[^ -~]/,F=/\x2E|\u3002|\uFF0E|\uFF61/g,R={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},B=_-C,D=Math.floor,j=String.fromCharCode;if(b={version:"1.2.4",ucs2:{decode:c,encode:l},decode:d,encode:p,toASCII:m,toUnicode:g},"function"==typeof t&&"object"==typeof t.amd&&t.amd)t("punycode",function(){return b});else if(w&&!w.nodeType)if(y)y.exports=b;else for(x in b)b.hasOwnProperty(x)&&(w[x]=b[x]);else i.punycode=b}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],2:[function(t,e,n){function r(t,e,n){!t.defaultView||e===t.defaultView.pageXOffset&&n===t.defaultView.pageYOffset||t.defaultView.scrollTo(e,n)}function i(t,e){try{e&&(e.width=t.width,e.height=t.height,e.getContext("2d").putImageData(t.getContext("2d").getImageData(0,0,t.width,t.height),0,0))}catch(e){s("Unable to copy canvas content from",t,e)}}function o(t,e){for(var n=3===t.nodeType?document.createTextNode(t.nodeValue):t.cloneNode(!1),r=t.firstChild;r;)e!==!0&&1===r.nodeType&&"SCRIPT"===r.nodeName||n.appendChild(o(r,e)),r=r.nextSibling;return 1===t.nodeType&&(n._scrollTop=t.scrollTop,n._scrollLeft=t.scrollLeft,"CANVAS"===t.nodeName?i(t,n):"TEXTAREA"!==t.nodeName&&"SELECT"!==t.nodeName||(n.value=t.value)),n}function a(t){if(1===t.nodeType){t.scrollTop=t._scrollTop,t.scrollLeft=t._scrollLeft;for(var e=t.firstChild;e;)a(e),e=e.nextSibling}}var s=t("./log");e.exports=function(t,e,n,i,s,c,l){var u=o(t.documentElement,s.javascriptEnabled),h=e.createElement("iframe");return h.className="html2canvas-container",h.style.visibility="hidden",h.style.position="fixed",h.style.left="-10000px",h.style.top="0px",h.style.border="0",h.width=n,h.height=i,h.scrolling="no",e.body.appendChild(h),new Promise(function(e){var n=h.contentWindow.document;h.contentWindow.onload=h.onload=function(){var t=setInterval(function(){n.body.childNodes.length>0&&(a(n.documentElement),clearInterval(t),"view"===s.type&&(h.contentWindow.scrollTo(c,l),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||h.contentWindow.scrollY===l&&h.contentWindow.scrollX===c||(n.documentElement.style.top=-l+"px",n.documentElement.style.left=-c+"px",n.documentElement.style.position="absolute")),e(h))},50)},n.open(),n.write("<!DOCTYPE html><html></html>"),r(t,c,l),n.replaceChild(n.adoptNode(u),n.documentElement),n.close()})}},{"./log":13}],3:[function(t,e,n){function r(t){this.r=0,this.g=0,this.b=0,this.a=null;this.fromArray(t)||this.namedColor(t)||this.rgb(t)||this.rgba(t)||this.hex6(t)||this.hex3(t)}r.prototype.darken=function(t){var e=1-t;return new r([Math.round(this.r*e),Math.round(this.g*e),Math.round(this.b*e),this.a])},r.prototype.isTransparent=function(){return 0===this.a},r.prototype.isBlack=function(){return 0===this.r&&0===this.g&&0===this.b},r.prototype.fromArray=function(t){return Array.isArray(t)&&(this.r=Math.min(t[0],255),this.g=Math.min(t[1],255),this.b=Math.min(t[2],255),t.length>3&&(this.a=t[3])),Array.isArray(t)};var i=/^#([a-f0-9]{3})$/i;r.prototype.hex3=function(t){var e=null;return null!==(e=t.match(i))&&(this.r=parseInt(e[1][0]+e[1][0],16),this.g=parseInt(e[1][1]+e[1][1],16),this.b=parseInt(e[1][2]+e[1][2],16)),null!==e};var o=/^#([a-f0-9]{6})$/i;r.prototype.hex6=function(t){var e=null;return null!==(e=t.match(o))&&(this.r=parseInt(e[1].substring(0,2),16),this.g=parseInt(e[1].substring(2,4),16),this.b=parseInt(e[1].substring(4,6),16)),null!==e};var a=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/;r.prototype.rgb=function(t){var e=null;return null!==(e=t.match(a))&&(this.r=Number(e[1]),this.g=Number(e[2]),this.b=Number(e[3])),null!==e};var s=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?\.?\d+)\s*\)$/;r.prototype.rgba=function(t){var e=null;return null!==(e=t.match(s))&&(this.r=Number(e[1]),this.g=Number(e[2]),this.b=Number(e[3]),this.a=Number(e[4])),null!==e},r.prototype.toString=function(){return null!==this.a&&1!==this.a?"rgba("+[this.r,this.g,this.b,this.a].join(",")+")":"rgb("+[this.r,this.g,this.b].join(",")+")"},r.prototype.namedColor=function(t){t=t.toLowerCase();var e=c[t];if(e)this.r=e[0],this.g=e[1],this.b=e[2];else if("transparent"===t)return this.r=this.g=this.b=this.a=0,!0;return!!e},r.prototype.isColor=!0;var c={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};e.exports=r},{}],4:[function(e,n,r){function i(t,e){var n=_++;if(e=e||{},e.logging&&(w.options.logging=!0,w.options.start=Date.now()),e.async="undefined"==typeof e.async||e.async,e.allowTaint="undefined"!=typeof e.allowTaint&&e.allowTaint,e.removeContainer="undefined"==typeof e.removeContainer||e.removeContainer,e.javascriptEnabled="undefined"!=typeof e.javascriptEnabled&&e.javascriptEnabled,e.imageTimeout="undefined"==typeof e.imageTimeout?1e4:e.imageTimeout,e.renderer="function"==typeof e.renderer?e.renderer:d,e.strict=!!e.strict,"string"==typeof t){if("string"!=typeof e.proxy)return Promise.reject("Proxy must be used when rendering url");var r=null!=e.width?e.width:window.innerWidth,i=null!=e.height?e.height:window.innerHeight;return b(h(t),e.proxy,document,r,i,e).then(function(t){return a(t.contentWindow.document.documentElement,t,e,r,i)})}var s=(void 0===t?[document.documentElement]:t.length?t:[t])[0];return s.setAttribute(k+n,n),o(s.ownerDocument,e,s.ownerDocument.defaultView.innerWidth,s.ownerDocument.defaultView.innerHeight,n).then(function(t){return"function"==typeof e.onrendered&&(w("options.onrendered is deprecated, html2canvas returns a Promise containing the canvas"),e.onrendered(t)),t})}function o(t,e,n,r,i){return v(t,t,n,r,e,t.defaultView.pageXOffset,t.defaultView.pageYOffset).then(function(o){w("Document cloned");var s=k+i,c="["+s+"='"+i+"']";t.querySelector(c).removeAttribute(s);var l=o.contentWindow,u=l.document.querySelector(c),h="function"==typeof e.onclone?Promise.resolve(e.onclone(l.document)):Promise.resolve(!0);return h.then(function(){return a(u,o,e,n,r)})})}function a(t,e,n,r,i){var o=e.contentWindow,a=new f(o.document),h=new p(n,a),d=x(t),m="view"===n.type?r:l(o.document),y="view"===n.type?i:u(o.document),v=new n.renderer(m,y,h,n,document),b=new g(t,v,a,h,n);return b.ready.then(function(){w("Finished rendering");var r;return r="view"===n.type?c(v.canvas,{width:v.canvas.width,height:v.canvas.height,top:0,left:0,x:0,y:0}):t===o.document.body||t===o.document.documentElement||null!=n.canvas?v.canvas:c(v.canvas,{width:null!=n.width?n.width:d.width,height:null!=n.height?n.height:d.height,top:d.top,left:d.left,x:0,y:0}),s(e,n),r})}function s(t,e){e.removeContainer&&(t.parentNode.removeChild(t),w("Cleaned up container"))}function c(t,e){var n=document.createElement("canvas"),r=Math.min(t.width-1,Math.max(0,e.left)),i=Math.min(t.width,Math.max(1,e.left+e.width)),o=Math.min(t.height-1,Math.max(0,e.top)),a=Math.min(t.height,Math.max(1,e.top+e.height));n.width=e.width,n.height=e.height;var s=i-r,c=a-o;return w("Cropping canvas at:","left:",e.left,"top:",e.top,"width:",s,"height:",c),w("Resulting crop with width",e.width,"and height",e.height,"with x",r,"and y",o),n.getContext("2d").drawImage(t,r,o,s,c,e.x,e.y,s,c),n}function l(t){return Math.max(Math.max(t.body.scrollWidth,t.documentElement.scrollWidth),Math.max(t.body.offsetWidth,t.documentElement.offsetWidth),Math.max(t.body.clientWidth,t.documentElement.clientWidth))}function u(t){return Math.max(Math.max(t.body.scrollHeight,t.documentElement.scrollHeight),Math.max(t.body.offsetHeight,t.documentElement.offsetHeight),Math.max(t.body.clientHeight,t.documentElement.clientHeight))}function h(t){var e=document.createElement("a");return e.href=t,e.href=e.href,e}var f=e("./support"),d=e("./renderers/canvas"),p=e("./imageloader"),g=e("./nodeparser"),m=e("./nodecontainer"),w=e("./log"),y=e("./utils"),v=e("./clone"),b=e("./proxy").loadUrlDocument,x=y.getBounds,k="data-html2canvas-node",_=0;i.CanvasRenderer=d,i.NodeContainer=m,i.log=w,i.utils=y;var C="undefined"==typeof document||"function"!=typeof Object.create||"function"!=typeof document.createElement("canvas").getContext?function(){return Promise.reject("No canvas support")}:i;n.exports=C,"function"==typeof t&&t.amd&&t("html2canvas",[],function(){return C})},{"./clone":2,"./imageloader":11,"./log":13,"./nodecontainer":14,"./nodeparser":15,"./proxy":16,"./renderers/canvas":20,"./support":22,"./utils":26}],5:[function(t,e,n){function r(t){if(this.src=t,i("DummyImageContainer for",t),!this.promise||!this.image){i("Initiating DummyImageContainer"),r.prototype.image=new Image;var e=this.image;r.prototype.promise=new Promise(function(t,n){e.onload=t,e.onerror=n,e.src=o(),e.complete===!0&&t(e)})}}var i=t("./log"),o=t("./utils").smallImage;e.exports=r},{"./log":13,"./utils":26}],6:[function(t,e,n){function r(t,e){var n,r,o=document.createElement("div"),a=document.createElement("img"),s=document.createElement("span"),c="Hidden Text";o.style.visibility="hidden",o.style.fontFamily=t,o.style.fontSize=e,o.style.margin=0,o.style.padding=0,document.body.appendChild(o),a.src=i(),a.width=1,a.height=1,a.style.margin=0,a.style.padding=0,a.style.verticalAlign="baseline",s.style.fontFamily=t,s.style.fontSize=e,s.style.margin=0,s.style.padding=0,s.appendChild(document.createTextNode(c)),o.appendChild(s),o.appendChild(a),n=a.offsetTop-s.offsetTop+1,o.removeChild(s),o.appendChild(document.createTextNode(c)),o.style.lineHeight="normal",a.style.verticalAlign="super",r=a.offsetTop-o.offsetTop+1,document.body.removeChild(o),this.baseline=n,this.lineWidth=1,this.middle=r}var i=t("./utils").smallImage;e.exports=r},{"./utils":26}],7:[function(t,e,n){function r(){this.data={}}var i=t("./font");r.prototype.getMetrics=function(t,e){return void 0===this.data[t+"-"+e]&&(this.data[t+"-"+e]=new i(t,e)),this.data[t+"-"+e]},e.exports=r},{"./font":6}],8:[function(t,e,n){function r(e,n,r){this.image=null,this.src=e;var i=this,a=o(e);this.promise=(n?new Promise(function(t){"about:blank"===e.contentWindow.document.URL||null==e.contentWindow.document.documentElement?e.contentWindow.onload=e.onload=function(){t(e)}:t(e)}):this.proxyLoad(r.proxy,a,r)).then(function(e){var n=t("./core");return n(e.contentWindow.document.documentElement,{type:"view",width:e.width,height:e.height,proxy:r.proxy,javascriptEnabled:r.javascriptEnabled,removeContainer:r.removeContainer,allowTaint:r.allowTaint,imageTimeout:r.imageTimeout/2})}).then(function(t){return i.image=t})}var i=t("./utils"),o=i.getBounds,a=t("./proxy").loadUrlDocument;r.prototype.proxyLoad=function(t,e,n){var r=this.src;return a(r.src,t,r.ownerDocument,e.width,e.height,n)},e.exports=r},{"./core":4,"./proxy":16,"./utils":26}],9:[function(t,e,n){function r(t){this.src=t.value,this.colorStops=[],this.type=null,this.x0=.5,this.y0=.5,this.x1=.5,this.y1=.5,this.promise=Promise.resolve(!0)}r.TYPES={LINEAR:1,RADIAL:2},r.REGEXP_COLORSTOP=/^\s*(rgba?\(\s*\d{1,3},\s*\d{1,3},\s*\d{1,3}(?:,\s*[0-9\.]+)?\s*\)|[a-z]{3,20}|#[a-f0-9]{3,6})(?:\s+(\d{1,3}(?:\.\d+)?)(%|px)?)?(?:\s|$)/i,e.exports=r},{}],10:[function(t,e,n){function r(t,e){this.src=t,this.image=new Image;var n=this;this.tainted=null,this.promise=new Promise(function(r,i){n.image.onload=r,n.image.onerror=i,e&&(n.image.crossOrigin="anonymous"),n.image.src=t,n.image.complete===!0&&r(n.image)})}e.exports=r},{}],11:[function(t,e,n){function r(t,e){this.link=null,this.options=t,this.support=e,this.origin=this.getOrigin(window.location.href)}var i=t("./log"),o=t("./imagecontainer"),a=t("./dummyimagecontainer"),s=t("./proxyimagecontainer"),c=t("./framecontainer"),l=t("./svgcontainer"),u=t("./svgnodecontainer"),h=t("./lineargradientcontainer"),f=t("./webkitgradientcontainer"),d=t("./utils").bind;r.prototype.findImages=function(t){var e=[];return t.reduce(function(t,e){switch(e.node.nodeName){case"IMG":return t.concat([{args:[e.node.src],method:"url"}]);case"svg":case"IFRAME":return t.concat([{args:[e.node],method:e.node.nodeName}])}return t},[]).forEach(this.addImage(e,this.loadImage),this),e},r.prototype.findBackgroundImage=function(t,e){return e.parseBackgroundImages().filter(this.hasImageBackground).forEach(this.addImage(t,this.loadImage),this),t},r.prototype.addImage=function(t,e){return function(n){n.args.forEach(function(r){this.imageExists(t,r)||(t.splice(0,0,e.call(this,n)),i("Added image #"+t.length,"string"==typeof r?r.substring(0,100):r))},this)}},r.prototype.hasImageBackground=function(t){return"none"!==t.method},r.prototype.loadImage=function(t){if("url"===t.method){var e=t.args[0];return!this.isSVG(e)||this.support.svg||this.options.allowTaint?e.match(/data:image\/.*;base64,/i)?new o(e.replace(/url\(['"]{0,}|['"]{0,}\)$/gi,""),!1):this.isSameOrigin(e)||this.options.allowTaint===!0||this.isSVG(e)?new o(e,!1):this.support.cors&&!this.options.allowTaint&&this.options.useCORS?new o(e,!0):this.options.proxy?new s(e,this.options.proxy):new a(e):new l(e)}return"linear-gradient"===t.method?new h(t):"gradient"===t.method?new f(t):"svg"===t.method?new u(t.args[0],this.support.svg):"IFRAME"===t.method?new c(t.args[0],this.isSameOrigin(t.args[0].src),this.options):new a(t)},r.prototype.isSVG=function(t){return"svg"===t.substring(t.length-3).toLowerCase()||l.prototype.isInline(t)},r.prototype.imageExists=function(t,e){return t.some(function(t){return t.src===e})},r.prototype.isSameOrigin=function(t){return this.getOrigin(t)===this.origin},r.prototype.getOrigin=function(t){var e=this.link||(this.link=document.createElement("a"));return e.href=t,e.href=e.href,e.protocol+e.hostname+e.port},r.prototype.getPromise=function(t){return this.timeout(t,this.options.imageTimeout).catch(function(){var e=new a(t.src);return e.promise.then(function(e){t.image=e})})},r.prototype.get=function(t){var e=null;return this.images.some(function(n){return(e=n).src===t})?e:null},r.prototype.fetch=function(t){return this.images=t.reduce(d(this.findBackgroundImage,this),this.findImages(t)),this.images.forEach(function(t,e){t.promise.then(function(){i("Succesfully loaded image #"+(e+1),t)},function(n){i("Failed loading image #"+(e+1),t,n)})}),this.ready=Promise.all(this.images.map(this.getPromise,this)),i("Finished searching images"),this},r.prototype.timeout=function(t,e){var n,r=Promise.race([t.promise,new Promise(function(r,o){n=setTimeout(function(){i("Timed out loading image",t),o(t)},e)})]).then(function(t){return clearTimeout(n),t});return r.catch(function(){clearTimeout(n)}),r},e.exports=r},{"./dummyimagecontainer":5,"./framecontainer":8,"./imagecontainer":10,"./lineargradientcontainer":12,"./log":13,"./proxyimagecontainer":17,"./svgcontainer":23,"./svgnodecontainer":24,"./utils":26,"./webkitgradientcontainer":27}],12:[function(t,e,n){function r(t){i.apply(this,arguments),this.type=i.TYPES.LINEAR;var e=r.REGEXP_DIRECTION.test(t.args[0])||!i.REGEXP_COLORSTOP.test(t.args[0]);e?t.args[0].split(/\s+/).reverse().forEach(function(t,e){switch(t){case"left":this.x0=0,this.x1=1;break;case"top":this.y0=0,this.y1=1;break;case"right":this.x0=1,this.x1=0;break;case"bottom":this.y0=1,this.y1=0;break;case"to":var n=this.y0,r=this.x0;this.y0=this.y1,this.x0=this.x1,this.x1=r,this.y1=n;break;case"center":break;default:var i=.01*parseFloat(t,10);if(isNaN(i))break;0===e?(this.y0=i,this.y1=1-this.y0):(this.x0=i,this.x1=1-this.x0)}},this):(this.y0=0,this.y1=1),this.colorStops=t.args.slice(e?1:0).map(function(t){var e=t.match(i.REGEXP_COLORSTOP),n=+e[2],r=0===n?"%":e[3];return{color:new o(e[1]),stop:"%"===r?n/100:null}}),null===this.colorStops[0].stop&&(this.colorStops[0].stop=0),null===this.colorStops[this.colorStops.length-1].stop&&(this.colorStops[this.colorStops.length-1].stop=1),this.colorStops.forEach(function(t,e){null===t.stop&&this.colorStops.slice(e).some(function(n,r){return null!==n.stop&&(t.stop=(n.stop-this.colorStops[e-1].stop)/(r+1)+this.colorStops[e-1].stop,!0)},this)},this)}var i=t("./gradientcontainer"),o=t("./color");r.prototype=Object.create(i.prototype),r.REGEXP_DIRECTION=/^\s*(?:to|left|right|top|bottom|center|\d{1,3}(?:\.\d+)?%?)(?:\s|$)/i,e.exports=r},{"./color":3,"./gradientcontainer":9}],13:[function(t,e,n){var r=function(){r.options.logging&&window.console&&window.console.log&&Function.prototype.bind.call(window.console.log,window.console).apply(window.console,[Date.now()-r.options.start+"ms","html2canvas:"].concat([].slice.call(arguments,0)))};r.options={logging:!1},e.exports=r},{}],14:[function(t,e,n){function r(t,e){this.node=t,this.parent=e,this.stack=null,this.bounds=null,this.borders=null,this.clip=[],this.backgroundClip=[],this.offsetBounds=null,this.visible=null,this.computedStyles=null,this.colors={},this.styles={},this.backgroundImages=null,this.transformData=null,this.transformMatrix=null,this.isPseudoElement=!1,this.opacity=null}function i(t){var e=t.options[t.selectedIndex||0];return e?e.text||"":""}function o(t){if(t&&"matrix"===t[1])return t[2].split(",").map(function(t){return parseFloat(t.trim())});if(t&&"matrix3d"===t[1]){var e=t[2].split(",").map(function(t){return parseFloat(t.trim())});return[e[0],e[1],e[4],e[5],e[12],e[13]]}}function a(t){return t.toString().indexOf("%")!==-1}function s(t){return t.replace("px","")}function c(t){return parseFloat(t)}var l=t("./color"),u=t("./utils"),h=u.getBounds,f=u.parseBackgrounds,d=u.offsetBounds;r.prototype.cloneTo=function(t){t.visible=this.visible,t.borders=this.borders,t.bounds=this.bounds,t.clip=this.clip,t.backgroundClip=this.backgroundClip,t.computedStyles=this.computedStyles,t.styles=this.styles,t.backgroundImages=this.backgroundImages,t.opacity=this.opacity},r.prototype.getOpacity=function(){return null===this.opacity?this.opacity=this.cssFloat("opacity"):this.opacity},r.prototype.assignStack=function(t){this.stack=t,t.children.push(this)},r.prototype.isElementVisible=function(){return this.node.nodeType===Node.TEXT_NODE?this.parent.visible:"none"!==this.css("display")&&"hidden"!==this.css("visibility")&&!this.node.hasAttribute("data-html2canvas-ignore")&&("INPUT"!==this.node.nodeName||"hidden"!==this.node.getAttribute("type"))},r.prototype.css=function(t){return this.computedStyles||(this.computedStyles=this.isPseudoElement?this.parent.computedStyle(this.before?":before":":after"):this.computedStyle(null)),this.styles[t]||(this.styles[t]=this.computedStyles[t])},r.prototype.prefixedCss=function(t){var e=["webkit","moz","ms","o"],n=this.css(t);return void 0===n&&e.some(function(e){return n=this.css(e+t.substr(0,1).toUpperCase()+t.substr(1)),void 0!==n},this),void 0===n?null:n},r.prototype.computedStyle=function(t){return this.node.ownerDocument.defaultView.getComputedStyle(this.node,t)},r.prototype.cssInt=function(t){var e=parseInt(this.css(t),10);return isNaN(e)?0:e},r.prototype.color=function(t){return this.colors[t]||(this.colors[t]=new l(this.css(t)))},r.prototype.cssFloat=function(t){var e=parseFloat(this.css(t));return isNaN(e)?0:e},r.prototype.fontWeight=function(){var t=this.css("fontWeight");switch(parseInt(t,10)){case 401:t="bold";break;case 400:t="normal"}return t},r.prototype.parseClip=function(){var t=this.css("clip").match(this.CLIP);return t?{top:parseInt(t[1],10),right:parseInt(t[2],10),bottom:parseInt(t[3],10),left:parseInt(t[4],10)}:null},r.prototype.parseBackgroundImages=function(){return this.backgroundImages||(this.backgroundImages=f(this.css("backgroundImage")))},r.prototype.cssList=function(t,e){var n=(this.css(t)||"").split(",");return n=n[e||0]||n[0]||"auto",n=n.trim().split(" "),1===n.length&&(n=[n[0],a(n[0])?"auto":n[0]]),n},r.prototype.parseBackgroundSize=function(t,e,n){var r,i,o=this.cssList("backgroundSize",n);if(a(o[0]))r=t.width*parseFloat(o[0])/100;else{if(/contain|cover/.test(o[0])){var s=t.width/t.height,c=e.width/e.height;return s<c^"contain"===o[0]?{width:t.height*c,height:t.height}:{width:t.width,height:t.width/c}}r=parseInt(o[0],10)}return i="auto"===o[0]&&"auto"===o[1]?e.height:"auto"===o[1]?r/e.width*e.height:a(o[1])?t.height*parseFloat(o[1])/100:parseInt(o[1],10),"auto"===o[0]&&(r=i/e.height*e.width),{width:r,height:i}},r.prototype.parseBackgroundPosition=function(t,e,n,r){var i,o,s=this.cssList("backgroundPosition",n);return i=a(s[0])?(t.width-(r||e).width)*(parseFloat(s[0])/100):parseInt(s[0],10),o="auto"===s[1]?i/e.width*e.height:a(s[1])?(t.height-(r||e).height)*parseFloat(s[1])/100:parseInt(s[1],10),"auto"===s[0]&&(i=o/e.height*e.width),{left:i,top:o}},r.prototype.parseBackgroundRepeat=function(t){return this.cssList("backgroundRepeat",t)[0]},r.prototype.parseTextShadows=function(){var t=this.css("textShadow"),e=[];if(t&&"none"!==t)for(var n=t.match(this.TEXT_SHADOW_PROPERTY),r=0;n&&r<n.length;r++){var i=n[r].match(this.TEXT_SHADOW_VALUES);e.push({color:new l(i[0]),offsetX:i[1]?parseFloat(i[1].replace("px","")):0,offsetY:i[2]?parseFloat(i[2].replace("px","")):0,blur:i[3]?i[3].replace("px",""):0})}return e},r.prototype.parseTransform=function(){if(!this.transformData)if(this.hasTransform()){var t=this.parseBounds(),e=this.prefixedCss("transformOrigin").split(" ").map(s).map(c);e[0]+=t.left,e[1]+=t.top,this.transformData={origin:e,matrix:this.parseTransformMatrix()}}else this.transformData={origin:[0,0],matrix:[1,0,0,1,0,0]};return this.transformData},r.prototype.parseTransformMatrix=function(){if(!this.transformMatrix){var t=this.prefixedCss("transform"),e=t?o(t.match(this.MATRIX_PROPERTY)):null;this.transformMatrix=e?e:[1,0,0,1,0,0]}return this.transformMatrix},r.prototype.parseBounds=function(){return this.bounds||(this.bounds=this.hasTransform()?d(this.node):h(this.node))},r.prototype.hasTransform=function(){return"1,0,0,1,0,0"!==this.parseTransformMatrix().join(",")||this.parent&&this.parent.hasTransform()},r.prototype.getValue=function(){var t=this.node.value||"";return"SELECT"===this.node.tagName?t=i(this.node):"password"===this.node.type&&(t=Array(t.length+1).join("•")),0===t.length?this.node.placeholder||"":t},r.prototype.MATRIX_PROPERTY=/(matrix|matrix3d)\((.+)\)/,r.prototype.TEXT_SHADOW_PROPERTY=/((rgba|rgb)\([^\)]+\)(\s-?\d+px){0,})/g,r.prototype.TEXT_SHADOW_VALUES=/(-?\d+px)|(#.+)|(rgb\(.+\))|(rgba\(.+\))/g,r.prototype.CLIP=/^rect\((\d+)px,? (\d+)px,? (\d+)px,? (\d+)px\)$/,e.exports=r},{"./color":3,"./utils":26}],15:[function(t,e,n){function r(t,e,n,r,i){L("Starting NodeParser"),this.renderer=e,this.options=i,this.range=null,this.support=n,this.renderQueue=[],this.stack=new Y(!0,1,t.ownerDocument,null);var o=new U(t,null);if(i.background&&e.rectangle(0,0,e.width,e.height,new V(i.background)),t===t.ownerDocument.documentElement){var a=new U(o.color("backgroundColor").isTransparent()?t.ownerDocument.body:t.ownerDocument.documentElement,null);e.rectangle(0,0,e.width,e.height,a.color("backgroundColor"))}o.visibile=o.isElementVisible(),this.createPseudoHideStyles(t.ownerDocument),this.disableAnimations(t.ownerDocument),this.nodes=B([o].concat(this.getChildren(o)).filter(function(t){return t.visible=t.isElementVisible()}).map(this.getPseudoElements,this)),this.fontMetrics=new X,L("Fetched nodes, total:",this.nodes.length),L("Calculate overflow clips"),this.calculateOverflowClips(),L("Start fetching images"),this.images=r.fetch(this.nodes.filter(q)),this.ready=this.images.ready.then(J(function(){return L("Images loaded, starting parsing"),L("Creating stacking contexts"),this.createStackingContexts(),L("Sorting stacking contexts"),this.sortStackingContexts(this.stack),this.parse(this.stack),L("Render queue created with "+this.renderQueue.length+" items"),new Promise(J(function(t){i.async?"function"==typeof i.async?i.async.call(this,this.renderQueue,t):this.renderQueue.length>0?(this.renderIndex=0,this.asyncRenderer(this.renderQueue,t)):t():(this.renderQueue.forEach(this.paint,this),t())},this))},this))}function i(t){return t.parent&&t.parent.clip.length}function o(t){return t.replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")})}function a(){}function s(t,e,n,r){return t.map(function(i,o){if(i.width>0){var a=e.left,s=e.top,c=e.width,l=e.height-t[2].width;switch(o){case 0:l=t[0].width,i.args=h({c1:[a,s],c2:[a+c,s],c3:[a+c-t[1].width,s+l],c4:[a+t[3].width,s+l]},r[0],r[1],n.topLeftOuter,n.topLeftInner,n.topRightOuter,n.topRightInner);break;case 1:a=e.left+e.width-t[1].width,c=t[1].width,i.args=h({c1:[a+c,s],c2:[a+c,s+l+t[2].width],c3:[a,s+l],c4:[a,s+t[0].width]},r[1],r[2],n.topRightOuter,n.topRightInner,n.bottomRightOuter,n.bottomRightInner);break;case 2:s=s+e.height-t[2].width,l=t[2].width,i.args=h({c1:[a+c,s+l],c2:[a,s+l],c3:[a+t[3].width,s],c4:[a+c-t[3].width,s]},r[2],r[3],n.bottomRightOuter,n.bottomRightInner,n.bottomLeftOuter,n.bottomLeftInner);break;case 3:c=t[3].width,i.args=h({c1:[a,s+l+t[2].width],c2:[a,s],c3:[a+c,s+t[0].width],c4:[a+c,s+l]},r[3],r[0],n.bottomLeftOuter,n.bottomLeftInner,n.topLeftOuter,n.topLeftInner)}}return i})}function c(t,e,n,r){var i=4*((Math.sqrt(2)-1)/3),o=n*i,a=r*i,s=t+n,c=e+r;return{topLeft:u({x:t,y:c},{x:t,y:c-a},{x:s-o,y:e},{x:s,y:e}),topRight:u({x:t,y:e},{x:t+o,y:e},{x:s,y:c-a},{x:s,y:c}),bottomRight:u({x:s,y:e},{x:s,y:e+a},{x:t+o,y:c},{x:t,y:c}),bottomLeft:u({x:s,y:c},{x:s-o,y:c},{x:t,y:e+a},{x:t,y:e})}}function l(t,e,n){var r=t.left,i=t.top,o=t.width,a=t.height,s=e[0][0]<o/2?e[0][0]:o/2,l=e[0][1]<a/2?e[0][1]:a/2,u=e[1][0]<o/2?e[1][0]:o/2,h=e[1][1]<a/2?e[1][1]:a/2,f=e[2][0]<o/2?e[2][0]:o/2,d=e[2][1]<a/2?e[2][1]:a/2,p=e[3][0]<o/2?e[3][0]:o/2,g=e[3][1]<a/2?e[3][1]:a/2,m=o-u,w=a-d,y=o-f,v=a-g;return{topLeftOuter:c(r,i,s,l).topLeft.subdivide(.5),topLeftInner:c(r+n[3].width,i+n[0].width,Math.max(0,s-n[3].width),Math.max(0,l-n[0].width)).topLeft.subdivide(.5),topRightOuter:c(r+m,i,u,h).topRight.subdivide(.5),topRightInner:c(r+Math.min(m,o+n[3].width),i+n[0].width,m>o+n[3].width?0:u-n[3].width,h-n[0].width).topRight.subdivide(.5),bottomRightOuter:c(r+y,i+w,f,d).bottomRight.subdivide(.5),bottomRightInner:c(r+Math.min(y,o-n[3].width),i+Math.min(w,a+n[0].width),Math.max(0,f-n[1].width),d-n[2].width).bottomRight.subdivide(.5),bottomLeftOuter:c(r,i+v,p,g).bottomLeft.subdivide(.5),
bottomLeftInner:c(r+n[3].width,i+v,Math.max(0,p-n[3].width),g-n[2].width).bottomLeft.subdivide(.5)}}function u(t,e,n,r){var i=function(t,e,n){return{x:t.x+(e.x-t.x)*n,y:t.y+(e.y-t.y)*n}};return{start:t,startControl:e,endControl:n,end:r,subdivide:function(o){var a=i(t,e,o),s=i(e,n,o),c=i(n,r,o),l=i(a,s,o),h=i(s,c,o),f=i(l,h,o);return[u(t,a,l,f),u(f,h,c,r)]},curveTo:function(t){t.push(["bezierCurve",e.x,e.y,n.x,n.y,r.x,r.y])},curveToReversed:function(r){r.push(["bezierCurve",n.x,n.y,e.x,e.y,t.x,t.y])}}}function h(t,e,n,r,i,o,a){var s=[];return e[0]>0||e[1]>0?(s.push(["line",r[1].start.x,r[1].start.y]),r[1].curveTo(s)):s.push(["line",t.c1[0],t.c1[1]]),n[0]>0||n[1]>0?(s.push(["line",o[0].start.x,o[0].start.y]),o[0].curveTo(s),s.push(["line",a[0].end.x,a[0].end.y]),a[0].curveToReversed(s)):(s.push(["line",t.c2[0],t.c2[1]]),s.push(["line",t.c3[0],t.c3[1]])),e[0]>0||e[1]>0?(s.push(["line",i[1].end.x,i[1].end.y]),i[1].curveToReversed(s)):s.push(["line",t.c4[0],t.c4[1]]),s}function f(t,e,n,r,i,o,a){e[0]>0||e[1]>0?(t.push(["line",r[0].start.x,r[0].start.y]),r[0].curveTo(t),r[1].curveTo(t)):t.push(["line",o,a]),(n[0]>0||n[1]>0)&&t.push(["line",i[0].start.x,i[0].start.y])}function d(t){return t.cssInt("zIndex")<0}function p(t){return t.cssInt("zIndex")>0}function g(t){return 0===t.cssInt("zIndex")}function m(t){return["inline","inline-block","inline-table"].indexOf(t.css("display"))!==-1}function w(t){return t instanceof Y}function y(t){return t.node.data.trim().length>0}function v(t){return/^(normal|none|0px)$/.test(t.parent.css("letterSpacing"))}function b(t){return["TopLeft","TopRight","BottomRight","BottomLeft"].map(function(e){var n=t.css("border"+e+"Radius"),r=n.split(" ");return r.length<=1&&(r[1]=r[0]),r.map(O)})}function x(t){return t.nodeType===Node.TEXT_NODE||t.nodeType===Node.ELEMENT_NODE}function k(t){var e=t.css("position"),n=["absolute","relative","fixed"].indexOf(e)!==-1?t.css("zIndex"):"auto";return"auto"!==n}function _(t){return"static"!==t.css("position")}function C(t){return"none"!==t.css("float")}function A(t){return["inline-block","inline-table"].indexOf(t.css("display"))!==-1}function S(t){var e=this;return function(){return!t.apply(e,arguments)}}function q(t){return t.node.nodeType===Node.ELEMENT_NODE}function T(t){return t.isPseudoElement===!0}function I(t){return t.node.nodeType===Node.TEXT_NODE}function P(t){return function(e,n){return e.cssInt("zIndex")+t.indexOf(e)/t.length-(n.cssInt("zIndex")+t.indexOf(n)/t.length)}}function E(t){return t.getOpacity()<1}function O(t){return parseInt(t,10)}function F(t){return t.width}function R(t){return t.node.nodeType!==Node.ELEMENT_NODE||["SCRIPT","HEAD","TITLE","OBJECT","BR","OPTION"].indexOf(t.node.nodeName)===-1}function B(t){return[].concat.apply([],t)}function D(t){var e=t.substr(0,1);return e===t.substr(t.length-1)&&e.match(/'|"/)?t.substr(1,t.length-2):t}function j(t){for(var e,n=[],r=0,i=!1;t.length;)N(t[r])===i?(e=t.splice(0,r),e.length&&n.push(M.ucs2.encode(e)),i=!i,r=0):r++,r>=t.length&&(e=t.splice(0,r),e.length&&n.push(M.ucs2.encode(e)));return n}function N(t){return[32,13,10,9,45].indexOf(t)!==-1}function z(t){return/[^\u0000-\u00ff]/.test(t)}var L=t("./log"),M=t("punycode"),U=t("./nodecontainer"),H=t("./textcontainer"),W=t("./pseudoelementcontainer"),X=t("./fontmetrics"),V=t("./color"),Y=t("./stackingcontext"),G=t("./utils"),J=G.bind,Q=G.getBounds,K=G.parseBackgrounds,$=G.offsetBounds;r.prototype.calculateOverflowClips=function(){this.nodes.forEach(function(t){if(q(t)){T(t)&&t.appendToDOM(),t.borders=this.parseBorders(t);var e="hidden"===t.css("overflow")?[t.borders.clip]:[],n=t.parseClip();n&&["absolute","fixed"].indexOf(t.css("position"))!==-1&&e.push([["rect",t.bounds.left+n.left,t.bounds.top+n.top,n.right-n.left,n.bottom-n.top]]),t.clip=i(t)?t.parent.clip.concat(e):e,t.backgroundClip="hidden"!==t.css("overflow")?t.clip.concat([t.borders.clip]):t.clip,T(t)&&t.cleanDOM()}else I(t)&&(t.clip=i(t)?t.parent.clip:[]);T(t)||(t.bounds=null)},this)},r.prototype.asyncRenderer=function(t,e,n){n=n||Date.now(),this.paint(t[this.renderIndex++]),t.length===this.renderIndex?e():n+20>Date.now()?this.asyncRenderer(t,e,n):setTimeout(J(function(){this.asyncRenderer(t,e)},this),0)},r.prototype.createPseudoHideStyles=function(t){this.createStyles(t,"."+W.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+':before { content: "" !important; display: none !important; }.'+W.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER+':after { content: "" !important; display: none !important; }')},r.prototype.disableAnimations=function(t){this.createStyles(t,"* { -webkit-animation: none !important; -moz-animation: none !important; -o-animation: none !important; animation: none !important; -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; transition: none !important;}")},r.prototype.createStyles=function(t,e){var n=t.createElement("style");n.innerHTML=e,t.body.appendChild(n)},r.prototype.getPseudoElements=function(t){var e=[[t]];if(t.node.nodeType===Node.ELEMENT_NODE){var n=this.getPseudoElement(t,":before"),r=this.getPseudoElement(t,":after");n&&e.push(n),r&&e.push(r)}return B(e)},r.prototype.getPseudoElement=function(t,e){var n=t.computedStyle(e);if(!n||!n.content||"none"===n.content||"-moz-alt-content"===n.content||"none"===n.display)return null;for(var r=D(n.content),i="url"===r.substr(0,3),a=document.createElement(i?"img":"html2canvaspseudoelement"),s=new W(a,t,e),c=n.length-1;c>=0;c--){var l=o(n.item(c));a.style[l]=n[l]}if(a.className=W.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+" "+W.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER,i)return a.src=K(r)[0].args[0],[s];var u=document.createTextNode(r);return a.appendChild(u),[s,new H(u,s)]},r.prototype.getChildren=function(t){return B([].filter.call(t.node.childNodes,x).map(function(e){var n=[e.nodeType===Node.TEXT_NODE?new H(e,t):new U(e,t)].filter(R);return e.nodeType===Node.ELEMENT_NODE&&n.length&&"TEXTAREA"!==e.tagName?n[0].isElementVisible()?n.concat(this.getChildren(n[0])):[]:n},this))},r.prototype.newStackingContext=function(t,e){var n=new Y(e,t.getOpacity(),t.node,t.parent);t.cloneTo(n);var r=e?n.getParentStack(this):n.parent.stack;r.contexts.push(n),t.stack=n},r.prototype.createStackingContexts=function(){this.nodes.forEach(function(t){q(t)&&(this.isRootElement(t)||E(t)||k(t)||this.isBodyWithTransparentRoot(t)||t.hasTransform())?this.newStackingContext(t,!0):q(t)&&(_(t)&&g(t)||A(t)||C(t))?this.newStackingContext(t,!1):t.assignStack(t.parent.stack)},this)},r.prototype.isBodyWithTransparentRoot=function(t){return"BODY"===t.node.nodeName&&t.parent.color("backgroundColor").isTransparent()},r.prototype.isRootElement=function(t){return null===t.parent},r.prototype.sortStackingContexts=function(t){t.contexts.sort(P(t.contexts.slice(0))),t.contexts.forEach(this.sortStackingContexts,this)},r.prototype.parseTextBounds=function(t){return function(e,n,r){if("none"!==t.parent.css("textDecoration").substr(0,4)||0!==e.trim().length){if(this.support.rangeBounds&&!t.parent.hasTransform()){var i=r.slice(0,n).join("").length;return this.getRangeBounds(t.node,i,e.length)}if(t.node&&"string"==typeof t.node.data){var o=t.node.splitText(e.length),a=this.getWrapperBounds(t.node,t.parent.hasTransform());return t.node=o,a}}else this.support.rangeBounds&&!t.parent.hasTransform()||(t.node=t.node.splitText(e.length));return{}}},r.prototype.getWrapperBounds=function(t,e){var n=t.ownerDocument.createElement("html2canvaswrapper"),r=t.parentNode,i=t.cloneNode(!0);n.appendChild(t.cloneNode(!0)),r.replaceChild(n,t);var o=e?$(n):Q(n);return r.replaceChild(i,n),o},r.prototype.getRangeBounds=function(t,e,n){var r=this.range||(this.range=t.ownerDocument.createRange());return r.setStart(t,e),r.setEnd(t,e+n),r.getBoundingClientRect()},r.prototype.parse=function(t){var e=t.contexts.filter(d),n=t.children.filter(q),r=n.filter(S(C)),i=r.filter(S(_)).filter(S(m)),o=n.filter(S(_)).filter(C),s=r.filter(S(_)).filter(m),c=t.contexts.concat(r.filter(_)).filter(g),l=t.children.filter(I).filter(y),u=t.contexts.filter(p);e.concat(i).concat(o).concat(s).concat(c).concat(l).concat(u).forEach(function(t){this.renderQueue.push(t),w(t)&&(this.parse(t),this.renderQueue.push(new a))},this)},r.prototype.paint=function(t){try{t instanceof a?this.renderer.ctx.restore():I(t)?(T(t.parent)&&t.parent.appendToDOM(),this.paintText(t),T(t.parent)&&t.parent.cleanDOM()):this.paintNode(t)}catch(t){if(L(t),this.options.strict)throw t}},r.prototype.paintNode=function(t){w(t)&&(this.renderer.setOpacity(t.opacity),this.renderer.ctx.save(),t.hasTransform()&&this.renderer.setTransform(t.parseTransform())),"INPUT"===t.node.nodeName&&"checkbox"===t.node.type?this.paintCheckbox(t):"INPUT"===t.node.nodeName&&"radio"===t.node.type?this.paintRadio(t):this.paintElement(t)},r.prototype.paintElement=function(t){var e=t.parseBounds();this.renderer.clip(t.backgroundClip,function(){this.renderer.renderBackground(t,e,t.borders.borders.map(F))},this),this.renderer.clip(t.clip,function(){this.renderer.renderBorders(t.borders.borders)},this),this.renderer.clip(t.backgroundClip,function(){switch(t.node.nodeName){case"svg":case"IFRAME":var n=this.images.get(t.node);n?this.renderer.renderImage(t,e,t.borders,n):L("Error loading <"+t.node.nodeName+">",t.node);break;case"IMG":var r=this.images.get(t.node.src);r?this.renderer.renderImage(t,e,t.borders,r):L("Error loading <img>",t.node.src);break;case"CANVAS":this.renderer.renderImage(t,e,t.borders,{image:t.node});break;case"SELECT":case"INPUT":case"TEXTAREA":this.paintFormValue(t)}},this)},r.prototype.paintCheckbox=function(t){var e=t.parseBounds(),n=Math.min(e.width,e.height),r={width:n-1,height:n-1,top:e.top,left:e.left},i=[3,3],o=[i,i,i,i],a=[1,1,1,1].map(function(t){return{color:new V("#A5A5A5"),width:t}}),c=l(r,o,a);this.renderer.clip(t.backgroundClip,function(){this.renderer.rectangle(r.left+1,r.top+1,r.width-2,r.height-2,new V("#DEDEDE")),this.renderer.renderBorders(s(a,r,c,o)),t.node.checked&&(this.renderer.font(new V("#424242"),"normal","normal","bold",n-3+"px","arial"),this.renderer.text("✔",r.left+n/6,r.top+n-1))},this)},r.prototype.paintRadio=function(t){var e=t.parseBounds(),n=Math.min(e.width,e.height)-2;this.renderer.clip(t.backgroundClip,function(){this.renderer.circleStroke(e.left+1,e.top+1,n,new V("#DEDEDE"),1,new V("#A5A5A5")),t.node.checked&&this.renderer.circle(Math.ceil(e.left+n/4)+1,Math.ceil(e.top+n/4)+1,Math.floor(n/2),new V("#424242"))},this)},r.prototype.paintFormValue=function(t){var e=t.getValue();if(e.length>0){var n=t.node.ownerDocument,r=n.createElement("html2canvaswrapper"),i=["lineHeight","textAlign","fontFamily","fontWeight","fontSize","color","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","borderLeftStyle","borderTopStyle","borderLeftWidth","borderTopWidth","boxSizing","whiteSpace","wordWrap"];i.forEach(function(e){try{r.style[e]=t.css(e)}catch(t){L("html2canvas: Parse: Exception caught in renderFormValue: "+t.message)}});var o=t.parseBounds();r.style.position="fixed",r.style.left=o.left+"px",r.style.top=o.top+"px",r.textContent=e,n.body.appendChild(r),this.paintText(new H(r.firstChild,t)),n.body.removeChild(r)}},r.prototype.paintText=function(t){t.applyTextTransform();var e=M.ucs2.decode(t.node.data),n=this.options.letterRendering&&!v(t)||z(t.node.data)?e.map(function(t){return M.ucs2.encode([t])}):j(e),r=t.parent.fontWeight(),i=t.parent.css("fontSize"),o=t.parent.css("fontFamily"),a=t.parent.parseTextShadows();this.renderer.font(t.parent.color("color"),t.parent.css("fontStyle"),t.parent.css("fontVariant"),r,i,o),a.length?this.renderer.fontShadow(a[0].color,a[0].offsetX,a[0].offsetY,a[0].blur):this.renderer.clearShadow(),this.renderer.clip(t.parent.clip,function(){n.map(this.parseTextBounds(t),this).forEach(function(e,r){e&&(this.renderer.text(n[r],e.left,e.bottom),this.renderTextDecoration(t.parent,e,this.fontMetrics.getMetrics(o,i)))},this)},this)},r.prototype.renderTextDecoration=function(t,e,n){switch(t.css("textDecoration").split(" ")[0]){case"underline":this.renderer.rectangle(e.left,Math.round(e.top+n.baseline+n.lineWidth),e.width,1,t.color("color"));break;case"overline":this.renderer.rectangle(e.left,Math.round(e.top),e.width,1,t.color("color"));break;case"line-through":this.renderer.rectangle(e.left,Math.ceil(e.top+n.middle+n.lineWidth),e.width,1,t.color("color"))}};var Z={inset:[["darken",.6],["darken",.1],["darken",.1],["darken",.6]]};r.prototype.parseBorders=function(t){var e=t.parseBounds(),n=b(t),r=["Top","Right","Bottom","Left"].map(function(e,n){var r=t.css("border"+e+"Style"),i=t.color("border"+e+"Color");"inset"===r&&i.isBlack()&&(i=new V([255,255,255,i.a]));var o=Z[r]?Z[r][n]:null;return{width:t.cssInt("border"+e+"Width"),color:o?i[o[0]](o[1]):i,args:null}}),i=l(e,n,r);return{clip:this.parseBackgroundClip(t,i,r,n,e),borders:s(r,e,i,n)}},r.prototype.parseBackgroundClip=function(t,e,n,r,i){var o=t.css("backgroundClip"),a=[];switch(o){case"content-box":case"padding-box":f(a,r[0],r[1],e.topLeftInner,e.topRightInner,i.left+n[3].width,i.top+n[0].width),f(a,r[1],r[2],e.topRightInner,e.bottomRightInner,i.left+i.width-n[1].width,i.top+n[0].width),f(a,r[2],r[3],e.bottomRightInner,e.bottomLeftInner,i.left+i.width-n[1].width,i.top+i.height-n[2].width),f(a,r[3],r[0],e.bottomLeftInner,e.topLeftInner,i.left+n[3].width,i.top+i.height-n[2].width);break;default:f(a,r[0],r[1],e.topLeftOuter,e.topRightOuter,i.left,i.top),f(a,r[1],r[2],e.topRightOuter,e.bottomRightOuter,i.left+i.width,i.top),f(a,r[2],r[3],e.bottomRightOuter,e.bottomLeftOuter,i.left+i.width,i.top+i.height),f(a,r[3],r[0],e.bottomLeftOuter,e.topLeftOuter,i.left,i.top+i.height)}return a},e.exports=r},{"./color":3,"./fontmetrics":7,"./log":13,"./nodecontainer":14,"./pseudoelementcontainer":18,"./stackingcontext":21,"./textcontainer":25,"./utils":26,punycode:1}],16:[function(t,e,n){function r(t,e,n){var r="withCredentials"in new XMLHttpRequest;if(!e)return Promise.reject("No proxy configured");var i=a(r),c=s(e,t,i);return r?u(c):o(n,c,i).then(function(t){return p(t.content)})}function i(t,e,n){var r="crossOrigin"in new Image,i=a(r),c=s(e,t,i);return r?Promise.resolve(c):o(n,c,i).then(function(t){return"data:"+t.type+";base64,"+t.content})}function o(t,e,n){return new Promise(function(r,i){var o=t.createElement("script"),a=function(){delete window.html2canvas.proxy[n],t.body.removeChild(o)};window.html2canvas.proxy[n]=function(t){a(),r(t)},o.src=e,o.onerror=function(t){a(),i(t)},t.body.appendChild(o)})}function a(t){return t?"":"html2canvas_"+Date.now()+"_"+ ++g+"_"+Math.round(1e5*Math.random())}function s(t,e,n){return t+"?url="+encodeURIComponent(e)+(n.length?"&callback=html2canvas.proxy."+n:"")}function c(t){return function(e){var n,r=new DOMParser;try{n=r.parseFromString(e,"text/html")}catch(t){f("DOMParser not supported, falling back to createHTMLDocument"),n=document.implementation.createHTMLDocument("");try{n.open(),n.write(e),n.close()}catch(t){f("createHTMLDocument write not supported, falling back to document.body.innerHTML"),n.body.innerHTML=e}}var i=n.querySelector("base");if(!i||!i.href.host){var o=n.createElement("base");o.href=t,n.head.insertBefore(o,n.head.firstChild)}return n}}function l(t,e,n,i,o,a){return new r(t,e,window.document).then(c(t)).then(function(t){return d(t,n,i,o,a,0,0)})}var u=t("./xhr"),h=t("./utils"),f=t("./log"),d=t("./clone"),p=h.decode64,g=0;n.Proxy=r,n.ProxyURL=i,n.loadUrlDocument=l},{"./clone":2,"./log":13,"./utils":26,"./xhr":28}],17:[function(t,e,n){function r(t,e){var n=document.createElement("a");n.href=t,t=n.href,this.src=t,this.image=new Image;var r=this;this.promise=new Promise(function(n,o){r.image.crossOrigin="Anonymous",r.image.onload=n,r.image.onerror=o,new i(t,e,document).then(function(t){r.image.src=t}).catch(o)})}var i=t("./proxy").ProxyURL;e.exports=r},{"./proxy":16}],18:[function(t,e,n){function r(t,e,n){i.call(this,t,e),this.isPseudoElement=!0,this.before=":before"===n}var i=t("./nodecontainer");r.prototype.cloneTo=function(t){r.prototype.cloneTo.call(this,t),t.isPseudoElement=!0,t.before=this.before},r.prototype=Object.create(i.prototype),r.prototype.appendToDOM=function(){this.before?this.parent.node.insertBefore(this.node,this.parent.node.firstChild):this.parent.node.appendChild(this.node),this.parent.node.className+=" "+this.getHideClass()},r.prototype.cleanDOM=function(){this.node.parentNode.removeChild(this.node),this.parent.node.className=this.parent.node.className.replace(this.getHideClass(),"")},r.prototype.getHideClass=function(){return this["PSEUDO_HIDE_ELEMENT_CLASS_"+(this.before?"BEFORE":"AFTER")]},r.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE="___html2canvas___pseudoelement_before",r.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER="___html2canvas___pseudoelement_after",e.exports=r},{"./nodecontainer":14}],19:[function(t,e,n){function r(t,e,n,r,i){this.width=t,this.height=e,this.images=n,this.options=r,this.document=i}var i=t("./log");r.prototype.renderImage=function(t,e,n,r){var i=t.cssInt("paddingLeft"),o=t.cssInt("paddingTop"),a=t.cssInt("paddingRight"),s=t.cssInt("paddingBottom"),c=n.borders,l=e.width-(c[1].width+c[3].width+i+a),u=e.height-(c[0].width+c[2].width+o+s);this.drawImage(r,0,0,r.image.width||l,r.image.height||u,e.left+i+c[3].width,e.top+o+c[0].width,l,u)},r.prototype.renderBackground=function(t,e,n){e.height>0&&e.width>0&&(this.renderBackgroundColor(t,e),this.renderBackgroundImage(t,e,n))},r.prototype.renderBackgroundColor=function(t,e){var n=t.color("backgroundColor");n.isTransparent()||this.rectangle(e.left,e.top,e.width,e.height,n)},r.prototype.renderBorders=function(t){t.forEach(this.renderBorder,this)},r.prototype.renderBorder=function(t){t.color.isTransparent()||null===t.args||this.drawShape(t.args,t.color)},r.prototype.renderBackgroundImage=function(t,e,n){var r=t.parseBackgroundImages();r.reverse().forEach(function(r,o,a){switch(r.method){case"url":var s=this.images.get(r.args[0]);s?this.renderBackgroundRepeating(t,e,s,a.length-(o+1),n):i("Error loading background-image",r.args[0]);break;case"linear-gradient":case"gradient":var c=this.images.get(r.value);c?this.renderBackgroundGradient(c,e,n):i("Error loading background-image",r.args[0]);break;case"none":break;default:i("Unknown background-image type",r.args[0])}},this)},r.prototype.renderBackgroundRepeating=function(t,e,n,r,i){var o=t.parseBackgroundSize(e,n.image,r),a=t.parseBackgroundPosition(e,n.image,r,o),s=t.parseBackgroundRepeat(r);switch(s){case"repeat-x":case"repeat no-repeat":this.backgroundRepeatShape(n,a,o,e,e.left+i[3],e.top+a.top+i[0],99999,o.height,i);break;case"repeat-y":case"no-repeat repeat":this.backgroundRepeatShape(n,a,o,e,e.left+a.left+i[3],e.top+i[0],o.width,99999,i);break;case"no-repeat":this.backgroundRepeatShape(n,a,o,e,e.left+a.left+i[3],e.top+a.top+i[0],o.width,o.height,i);break;default:this.renderBackgroundRepeat(n,a,o,{top:e.top,left:e.left},i[3],i[0])}},e.exports=r},{"./log":13}],20:[function(t,e,n){function r(t,e){o.apply(this,arguments),this.canvas=this.options.canvas||this.document.createElement("canvas"),this.options.canvas||(this.canvas.width=t,this.canvas.height=e),this.ctx=this.canvas.getContext("2d"),this.taintCtx=this.document.createElement("canvas").getContext("2d"),this.ctx.textBaseline="bottom",this.variables={},s("Initialized CanvasRenderer with size",t,"x",e)}function i(t){return t.length>0}var o=t("../renderer"),a=t("../lineargradientcontainer"),s=t("../log");r.prototype=Object.create(o.prototype),r.prototype.setFillStyle=function(t){return this.ctx.fillStyle="object"==typeof t&&t.isColor?t.toString():t,this.ctx},r.prototype.rectangle=function(t,e,n,r,i){this.setFillStyle(i).fillRect(t,e,n,r)},r.prototype.circle=function(t,e,n,r){this.setFillStyle(r),this.ctx.beginPath(),this.ctx.arc(t+n/2,e+n/2,n/2,0,2*Math.PI,!0),this.ctx.closePath(),this.ctx.fill()},r.prototype.circleStroke=function(t,e,n,r,i,o){this.circle(t,e,n,r),this.ctx.strokeStyle=o.toString(),this.ctx.stroke()},r.prototype.drawShape=function(t,e){this.shape(t),this.setFillStyle(e).fill()},r.prototype.taints=function(t){if(null===t.tainted){this.taintCtx.drawImage(t.image,0,0);try{this.taintCtx.getImageData(0,0,1,1),t.tainted=!1}catch(e){this.taintCtx=document.createElement("canvas").getContext("2d"),t.tainted=!0}}return t.tainted},r.prototype.drawImage=function(t,e,n,r,i,o,a,s,c){this.taints(t)&&!this.options.allowTaint||this.ctx.drawImage(t.image,e,n,r,i,o,a,s,c)},r.prototype.clip=function(t,e,n){this.ctx.save(),t.filter(i).forEach(function(t){this.shape(t).clip()},this),e.call(n),this.ctx.restore()},r.prototype.shape=function(t){return this.ctx.beginPath(),t.forEach(function(t,e){"rect"===t[0]?this.ctx.rect.apply(this.ctx,t.slice(1)):this.ctx[0===e?"moveTo":t[0]+"To"].apply(this.ctx,t.slice(1))},this),this.ctx.closePath(),this.ctx},r.prototype.font=function(t,e,n,r,i,o){this.setFillStyle(t).font=[e,n,r,i,o].join(" ").split(",")[0]},r.prototype.fontShadow=function(t,e,n,r){this.setVariable("shadowColor",t.toString()).setVariable("shadowOffsetY",e).setVariable("shadowOffsetX",n).setVariable("shadowBlur",r)},r.prototype.clearShadow=function(){this.setVariable("shadowColor","rgba(0,0,0,0)")},r.prototype.setOpacity=function(t){this.ctx.globalAlpha=t},r.prototype.setTransform=function(t){this.ctx.translate(t.origin[0],t.origin[1]),this.ctx.transform.apply(this.ctx,t.matrix),this.ctx.translate(-t.origin[0],-t.origin[1])},r.prototype.setVariable=function(t,e){return this.variables[t]!==e&&(this.variables[t]=this.ctx[t]=e),this},r.prototype.text=function(t,e,n){this.ctx.fillText(t,e,n)},r.prototype.backgroundRepeatShape=function(t,e,n,r,i,o,a,s,c){var l=[["line",Math.round(i),Math.round(o)],["line",Math.round(i+a),Math.round(o)],["line",Math.round(i+a),Math.round(s+o)],["line",Math.round(i),Math.round(s+o)]];this.clip([l],function(){this.renderBackgroundRepeat(t,e,n,r,c[3],c[0])},this)},r.prototype.renderBackgroundRepeat=function(t,e,n,r,i,o){var a=Math.round(r.left+e.left+i),s=Math.round(r.top+e.top+o);this.setFillStyle(this.ctx.createPattern(this.resizeImage(t,n),"repeat")),this.ctx.translate(a,s),this.ctx.fill(),this.ctx.translate(-a,-s)},r.prototype.renderBackgroundGradient=function(t,e){if(t instanceof a){var n=this.ctx.createLinearGradient(e.left+e.width*t.x0,e.top+e.height*t.y0,e.left+e.width*t.x1,e.top+e.height*t.y1);t.colorStops.forEach(function(t){n.addColorStop(t.stop,t.color.toString())}),this.rectangle(e.left,e.top,e.width,e.height,n)}},r.prototype.resizeImage=function(t,e){var n=t.image;if(n.width===e.width&&n.height===e.height)return n;var r,i=document.createElement("canvas");return i.width=e.width,i.height=e.height,r=i.getContext("2d"),r.drawImage(n,0,0,n.width,n.height,0,0,e.width,e.height),i},e.exports=r},{"../lineargradientcontainer":12,"../log":13,"../renderer":19}],21:[function(t,e,n){function r(t,e,n,r){i.call(this,n,r),this.ownStacking=t,this.contexts=[],this.children=[],this.opacity=(this.parent?this.parent.stack.opacity:1)*e}var i=t("./nodecontainer");r.prototype=Object.create(i.prototype),r.prototype.getParentStack=function(t){var e=this.parent?this.parent.stack:null;return e?e.ownStacking?e:e.getParentStack(t):t.stack},e.exports=r},{"./nodecontainer":14}],22:[function(t,e,n){function r(t){this.rangeBounds=this.testRangeBounds(t),this.cors=this.testCORS(),this.svg=this.testSVG()}r.prototype.testRangeBounds=function(t){var e,n,r,i,o=!1;return t.createRange&&(e=t.createRange(),e.getBoundingClientRect&&(n=t.createElement("boundtest"),n.style.height="123px",n.style.display="block",t.body.appendChild(n),e.selectNode(n),r=e.getBoundingClientRect(),i=r.height,123===i&&(o=!0),t.body.removeChild(n))),o},r.prototype.testCORS=function(){return"undefined"!=typeof(new Image).crossOrigin},r.prototype.testSVG=function(){var t=new Image,e=document.createElement("canvas"),n=e.getContext("2d");t.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{n.drawImage(t,0,0),e.toDataURL()}catch(t){return!1}return!0},e.exports=r},{}],23:[function(t,e,n){function r(t){this.src=t,this.image=null;var e=this;this.promise=this.hasFabric().then(function(){return e.isInline(t)?Promise.resolve(e.inlineFormatting(t)):i(t)}).then(function(t){return new Promise(function(n){window.html2canvas.svg.fabric.loadSVGFromString(t,e.createCanvas.call(e,n))})})}var i=t("./xhr"),o=t("./utils").decode64;r.prototype.hasFabric=function(){return window.html2canvas.svg&&window.html2canvas.svg.fabric?Promise.resolve():Promise.reject(new Error("html2canvas.svg.js is not loaded, cannot render svg"))},r.prototype.inlineFormatting=function(t){return/^data:image\/svg\+xml;base64,/.test(t)?this.decode64(this.removeContentType(t)):this.removeContentType(t)},r.prototype.removeContentType=function(t){return t.replace(/^data:image\/svg\+xml(;base64)?,/,"")},r.prototype.isInline=function(t){return/^data:image\/svg\+xml/i.test(t)},r.prototype.createCanvas=function(t){var e=this;return function(n,r){var i=new window.html2canvas.svg.fabric.StaticCanvas("c");e.image=i.lowerCanvasEl,i.setWidth(r.width).setHeight(r.height).add(window.html2canvas.svg.fabric.util.groupSVGElements(n,r)).renderAll(),t(i.lowerCanvasEl)}},r.prototype.decode64=function(t){return"function"==typeof window.atob?window.atob(t):o(t)},e.exports=r},{"./utils":26,"./xhr":28}],24:[function(t,e,n){function r(t,e){this.src=t,this.image=null;var n=this;this.promise=e?new Promise(function(e,r){n.image=new Image,n.image.onload=e,n.image.onerror=r,n.image.src="data:image/svg+xml,"+(new XMLSerializer).serializeToString(t),n.image.complete===!0&&e(n.image)}):this.hasFabric().then(function(){return new Promise(function(e){window.html2canvas.svg.fabric.parseSVGDocument(t,n.createCanvas.call(n,e))})})}var i=t("./svgcontainer");r.prototype=Object.create(i.prototype),e.exports=r},{"./svgcontainer":23}],25:[function(t,e,n){function r(t,e){o.call(this,t,e)}function i(t,e,n){if(t.length>0)return e+n.toUpperCase()}var o=t("./nodecontainer");r.prototype=Object.create(o.prototype),r.prototype.applyTextTransform=function(){this.node.data=this.transform(this.parent.css("textTransform"))},r.prototype.transform=function(t){var e=this.node.data;switch(t){case"lowercase":return e.toLowerCase();case"capitalize":return e.replace(/(^|\s|:|-|\(|\))([a-z])/g,i);case"uppercase":return e.toUpperCase();default:return e}},e.exports=r},{"./nodecontainer":14}],26:[function(t,e,n){n.smallImage=function(){return"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"},n.bind=function(t,e){return function(){return t.apply(e,arguments)}},/*
   * base64-arraybuffer
   * https://github.com/niklasvh/base64-arraybuffer
   *
   * Copyright (c) 2012 Niklas von Hertzen
   * Licensed under the MIT license.
   */
n.decode64=function(t){var e,n,r,i,o,a,s,c,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=t.length,h="";for(e=0;e<u;e+=4)n=l.indexOf(t[e]),r=l.indexOf(t[e+1]),i=l.indexOf(t[e+2]),o=l.indexOf(t[e+3]),a=n<<2|r>>4,s=(15&r)<<4|i>>2,c=(3&i)<<6|o,h+=64===i?String.fromCharCode(a):64===o||o===-1?String.fromCharCode(a,s):String.fromCharCode(a,s,c);return h},n.getBounds=function(t){if(t.getBoundingClientRect){var e=t.getBoundingClientRect(),n=null==t.offsetWidth?e.width:t.offsetWidth;return{top:e.top,bottom:e.bottom||e.top+e.height,right:e.left+n,left:e.left,width:n,height:null==t.offsetHeight?e.height:t.offsetHeight}}return{}},n.offsetBounds=function(t){var e=t.offsetParent?n.offsetBounds(t.offsetParent):{top:0,left:0};return{top:t.offsetTop+e.top,bottom:t.offsetTop+t.offsetHeight+e.top,right:t.offsetLeft+e.left+t.offsetWidth,left:t.offsetLeft+e.left,width:t.offsetWidth,height:t.offsetHeight}},n.parseBackgrounds=function(t){var e,n,r,i,o,a,s,c=" \r\n\t",l=[],u=0,h=0,f=function(){e&&('"'===n.substr(0,1)&&(n=n.substr(1,n.length-2)),n&&s.push(n),"-"===e.substr(0,1)&&(i=e.indexOf("-",1)+1)>0&&(r=e.substr(0,i),e=e.substr(i)),l.push({prefix:r,method:e.toLowerCase(),value:o,args:s,image:null})),s=[],e=r=n=o=""};return s=[],e=r=n=o="",t.split("").forEach(function(t){if(!(0===u&&c.indexOf(t)>-1)){switch(t){case'"':a?a===t&&(a=null):a=t;break;case"(":if(a)break;if(0===u)return u=1,void(o+=t);h++;break;case")":if(a)break;if(1===u){if(0===h)return u=0,o+=t,void f();h--}break;case",":if(a)break;if(0===u)return void f();if(1===u&&0===h&&!e.match(/^url$/i))return s.push(n),n="",void(o+=t)}o+=t,0===u?e+=t:n+=t}}),f(),l}},{}],27:[function(t,e,n){function r(t){i.apply(this,arguments),this.type="linear"===t.args[0]?i.TYPES.LINEAR:i.TYPES.RADIAL}var i=t("./gradientcontainer");r.prototype=Object.create(i.prototype),e.exports=r},{"./gradientcontainer":9}],28:[function(t,e,n){function r(t){return new Promise(function(e,n){var r=new XMLHttpRequest;r.open("GET",t),r.onload=function(){200===r.status?e(r.responseText):n(new Error(r.statusText))},r.onerror=function(){n(new Error("Network Error"))},r.send()})}e.exports=r},{}]},{},[4])(4)}),/*
  # PNG.js
  # Copyright (c) 2011 Devon Govett
  # MIT LICENSE
  # 
  # 
  */
function(t){var e;e=function(){function e(t){var e,n,r,i,o,a,s,c,l,u,h,f,d,p,g;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},a=null;;){switch(e=this.readUInt32(),u=function(){var t,e;for(e=[],s=t=0;t<4;s=++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join("")){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case"PLTE":this.palette=this.read(e);break;case"fcTL":a&&this.animation.frames.push(a),this.pos+=4,a={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},o=this.readUInt16(),i=this.readUInt16()||100,a.delay=1e3*o/i,a.disposeOp=this.data[this.pos++],a.blendOp=this.data[this.pos++],a.data=[];break;case"IDAT":case"fdAT":for("fdAT"===u&&(this.pos+=4,e-=4),t=(null!=a?a.data:void 0)||this.imgData,s=d=0;0<=e?d<e:d>e;s=0<=e?++d:--d)t.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(r=this.palette.length/3,this.transparency.indexed=this.read(e),this.transparency.indexed.length>r)throw new Error("More transparent colors than palette size");if(h=r-this.transparency.indexed.length,h>0)for(s=p=0;0<=h?p<h:p>h;s=0<=h?++p:--p)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case"tEXt":f=this.read(e),c=f.indexOf(0),l=String.fromCharCode.apply(String,f.slice(0,c)),this.text[l]=String.fromCharCode.apply(String,f.slice(c+1));break;case"IEND":return a&&this.animation.frames.push(a),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(g=this.colorType)||6===g,n=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*n,this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}var n,r,i,o,a,s,l,u;e.load=function(t,n,r){var i;return"function"==typeof n&&(r=n),i=new XMLHttpRequest,i.open("GET",t,!0),i.responseType="arraybuffer",i.onload=function(){var t,o;return t=new Uint8Array(i.response||i.mozResponseArrayBuffer),o=new e(t),"function"==typeof(null!=n?n.getContext:void 0)&&o.render(n),"function"==typeof r?r(o):void 0},i.send(null)},o=0,i=1,a=2,r=0,n=1,e.prototype.read=function(t){var e,n,r;for(r=[],e=n=0;0<=t?n<t:n>t;e=0<=t?++n:--n)r.push(this.data[this.pos++]);return r},e.prototype.readUInt32=function(){var t,e,n,r;return t=this.data[this.pos++]<<24,e=this.data[this.pos++]<<16,n=this.data[this.pos++]<<8,r=this.data[this.pos++],t|e|n|r},e.prototype.readUInt16=function(){var t,e;return t=this.data[this.pos++]<<8,e=this.data[this.pos++],t|e},e.prototype.decodePixels=function(t){var e,n,r,i,o,a,s,l,u,h,f,d,p,g,m,w,y,v,b,x,k,_,C;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);for(t=new c(t),t=t.getBytes(),d=this.pixelBitlength/8,w=d*this.width,p=new Uint8Array(w*this.height),a=t.length,m=0,g=0,n=0;g<a;){switch(t[g++]){case 0:for(i=b=0;b<w;i=b+=1)p[n++]=t[g++];break;case 1:for(i=x=0;x<w;i=x+=1)e=t[g++],o=i<d?0:p[n-d],p[n++]=(e+o)%256;break;case 2:for(i=k=0;k<w;i=k+=1)e=t[g++],r=(i-i%d)/d,y=m&&p[(m-1)*w+r*d+i%d],p[n++]=(y+e)%256;break;case 3:for(i=_=0;_<w;i=_+=1)e=t[g++],r=(i-i%d)/d,o=i<d?0:p[n-d],y=m&&p[(m-1)*w+r*d+i%d],p[n++]=(e+Math.floor((o+y)/2))%256;break;case 4:for(i=C=0;C<w;i=C+=1)e=t[g++],r=(i-i%d)/d,o=i<d?0:p[n-d],0===m?y=v=0:(y=p[(m-1)*w+r*d+i%d],v=r&&p[(m-1)*w+(r-1)*d+i%d]),s=o+y-v,l=Math.abs(s-o),h=Math.abs(s-y),f=Math.abs(s-v),u=l<=h&&l<=f?o:h<=f?y:v,p[n++]=(e+u)%256;break;default:throw new Error("Invalid filter algorithm: "+t[g-1])}m++}return p},e.prototype.decodePalette=function(){var t,e,n,r,i,o,a,s,c,l;for(r=this.palette,a=this.transparency.indexed||[],o=new Uint8Array((a.length||0)+r.length),i=0,n=r.length,t=0,e=s=0,c=r.length;s<c;e=s+=3)o[i++]=r[e],o[i++]=r[e+1],o[i++]=r[e+2],o[i++]=null!=(l=a[t++])?l:255;return o},e.prototype.copyToImageData=function(t,e){var n,r,i,o,a,s,c,l,u,h,f;if(r=this.colors,u=null,n=this.hasAlphaChannel,this.palette.length&&(u=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),r=4,n=!0),i=t.data||t,l=i.length,a=u||e,o=s=0,1===r)for(;o<l;)c=u?4*e[o/4]:s,h=a[c++],i[o++]=h,i[o++]=h,i[o++]=h,i[o++]=n?a[c++]:255,s=c;else for(;o<l;)c=u?4*e[o/4]:s,i[o++]=a[c++],i[o++]=a[c++],i[o++]=a[c++],i[o++]=n?a[c++]:255,s=c},e.prototype.decode=function(){var t;return t=new Uint8Array(this.width*this.height*4),this.copyToImageData(t,this.decodePixels()),t};try{l=t.document.createElement("canvas"),u=l.getContext("2d")}catch(t){return-1}return s=function(t){var e;return u.width=t.width,u.height=t.height,u.clearRect(0,0,t.width,t.height),u.putImageData(t,0,0),e=new Image,e.src=l.toDataURL(),e},e.prototype.decodeFrames=function(t){var e,n,r,i,o,a,c,l;if(this.animation){for(c=this.animation.frames,l=[],n=o=0,a=c.length;o<a;n=++o)e=c[n],r=t.createImageData(e.width,e.height),i=this.decodePixels(new Uint8Array(e.data)),this.copyToImageData(r,i),e.imageData=r,l.push(e.image=s(r));return l}},e.prototype.renderFrame=function(t,e){var n,o,s;return o=this.animation.frames,n=o[e],s=o[e-1],0===e&&t.clearRect(0,0,this.width,this.height),(null!=s?s.disposeOp:void 0)===i?t.clearRect(s.xOffset,s.yOffset,s.width,s.height):(null!=s?s.disposeOp:void 0)===a&&t.putImageData(s.imageData,s.xOffset,s.yOffset),n.blendOp===r&&t.clearRect(n.xOffset,n.yOffset,n.width,n.height),t.drawImage(n.image,n.xOffset,n.yOffset)},e.prototype.animate=function(t){var e,n,r,i,o,a,s=this;return n=0,a=this.animation,i=a.numFrames,r=a.frames,o=a.numPlays,(e=function(){var a,c;if(a=n++%i,c=r[a],s.renderFrame(t,a),i>1&&n/i<o)return s.animation._timeout=setTimeout(e,c.delay)})()},e.prototype.stopAnimation=function(){var t;return clearTimeout(null!=(t=this.animation)?t._timeout:void 0)},e.prototype.render=function(t){var e,n;return t._png&&t._png.stopAnimation(),t._png=this,t.width=this.width,t.height=this.height,e=t.getContext("2d"),this.animation?(this.decodeFrames(e),this.animate(e)):(n=e.createImageData(this.width,this.height),this.copyToImageData(n,this.decodePixels()),e.putImageData(n,0,0))},e}(),t.PNG=e}("undefined"!=typeof window&&window||void 0);/*
   * Extracted from pdf.js
   * https://github.com/andreasgal/pdf.js
   *
   * Copyright (c) 2011 Mozilla Foundation
   *
   * Contributors: Andreas Gal <gal@mozilla.com>
   *               Chris G Jones <cjones@mozilla.com>
   *               Shaon Barman <shaon.barman@gmail.com>
   *               Vivien Nicolas <21@vingtetun.org>
   *               Justin D'Arcangelo <justindarc@gmail.com>
   *               Yury Delendik
   *
   * 
   */
var s=function(){function t(){this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=null}return t.prototype={ensureBuffer:function(t){var e=this.buffer,n=e?e.byteLength:0;if(t<n)return e;for(var r=512;r<t;)r<<=1;for(var i=new Uint8Array(r),o=0;o<n;++o)i[o]=e[o];return this.buffer=i},getByte:function(){for(var t=this.pos;this.bufferLength<=t;){if(this.eof)return null;this.readBlock()}return this.buffer[this.pos++]},getBytes:function(t){var e=this.pos;if(t){this.ensureBuffer(e+t);for(var n=e+t;!this.eof&&this.bufferLength<n;)this.readBlock();var r=this.bufferLength;n>r&&(n=r)}else{for(;!this.eof;)this.readBlock();var n=this.bufferLength}return this.pos=n,this.buffer.subarray(e,n)},lookChar:function(){for(var t=this.pos;this.bufferLength<=t;){if(this.eof)return null;this.readBlock()}return String.fromCharCode(this.buffer[this.pos])},getChar:function(){for(var t=this.pos;this.bufferLength<=t;){if(this.eof)return null;this.readBlock()}return String.fromCharCode(this.buffer[this.pos++])},makeSubStream:function(t,e,n){for(var r=t+e;this.bufferLength<=r&&!this.eof;)this.readBlock();return new Stream(this.buffer,t,e,n)},skip:function(t){t||(t=1),this.pos+=t},reset:function(){this.pos=0}},t}(),c=function(){function t(t){throw new Error(t)}function e(e){var n=0,r=e[n++],i=e[n++];r!=-1&&i!=-1||t("Invalid header in flate stream"),8!=(15&r)&&t("Unknown compression method in flate stream"),((r<<8)+i)%31!=0&&t("Bad FCHECK in flate stream"),32&i&&t("FDICT bit set in flate stream"),this.bytes=e,this.bytesPos=n,this.codeSize=0,this.codeBuf=0,s.call(this)}if("undefined"!=typeof Uint32Array){var n=new Uint32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),r=new Uint32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),i=new Uint32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),o=[new Uint32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],a=[new Uint32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];return e.prototype=Object.create(s.prototype),e.prototype.getBits=function(e){for(var n,r=this.codeSize,i=this.codeBuf,o=this.bytes,a=this.bytesPos;r<e;)"undefined"==typeof(n=o[a++])&&t("Bad encoding in flate stream"),i|=n<<r,r+=8;return n=i&(1<<e)-1,this.codeBuf=i>>e,this.codeSize=r-=e,this.bytesPos=a,n},e.prototype.getCode=function(e){for(var n=e[0],r=e[1],i=this.codeSize,o=this.codeBuf,a=this.bytes,s=this.bytesPos;i<r;){var c;"undefined"==typeof(c=a[s++])&&t("Bad encoding in flate stream"),o|=c<<i,i+=8}var l=n[o&(1<<r)-1],u=l>>16,h=65535&l;return(0==i||i<u||0==u)&&t("Bad encoding in flate stream"),this.codeBuf=o>>u,this.codeSize=i-u,this.bytesPos=s,h},e.prototype.generateHuffmanTable=function(t){for(var e=t.length,n=0,r=0;r<e;++r)t[r]>n&&(n=t[r]);for(var i=1<<n,o=new Uint32Array(i),a=1,s=0,c=2;a<=n;++a,s<<=1,c<<=1)for(var l=0;l<e;++l)if(t[l]==a){for(var u=0,h=s,r=0;r<a;++r)u=u<<1|1&h,h>>=1;for(var r=u;r<i;r+=c)o[r]=a<<16|l;++s}return[o,n]},e.prototype.readBlock=function(){function e(t,e,n,r,i){for(var o=t.getBits(n)+r;o-- >0;)e[_++]=i}var s=this.getBits(3);if(1&s&&(this.eof=!0),s>>=1,0==s){var c,l=this.bytes,u=this.bytesPos;"undefined"==typeof(c=l[u++])&&t("Bad block header in flate stream");var h=c;"undefined"==typeof(c=l[u++])&&t("Bad block header in flate stream"),h|=c<<8,"undefined"==typeof(c=l[u++])&&t("Bad block header in flate stream");var f=c;"undefined"==typeof(c=l[u++])&&t("Bad block header in flate stream"),f|=c<<8,f!=(65535&~h)&&t("Bad uncompressed block length in flate stream"),this.codeBuf=0,this.codeSize=0;var d=this.bufferLength,p=this.ensureBuffer(d+h),g=d+h;this.bufferLength=g;for(var m=d;m<g;++m){if("undefined"==typeof(c=l[u++])){this.eof=!0;break}p[m]=c}return void(this.bytesPos=u)}var w,y;if(1==s)w=o,y=a;else if(2==s){for(var v=this.getBits(5)+257,b=this.getBits(5)+1,x=this.getBits(4)+4,k=Array(n.length),_=0;_<x;)k[n[_++]]=this.getBits(3);for(var C=this.generateHuffmanTable(k),A=0,_=0,S=v+b,q=new Array(S);_<S;){var T=this.getCode(C);16==T?e(this,q,2,3,A):17==T?e(this,q,3,3,A=0):18==T?e(this,q,7,11,A=0):q[_++]=A=T}w=this.generateHuffmanTable(q.slice(0,v)),y=this.generateHuffmanTable(q.slice(v,S))}else t("Unknown block type in flate stream");for(var p=this.buffer,I=p?p.length:0,P=this.bufferLength;;){var E=this.getCode(w);if(E<256)P+1>=I&&(p=this.ensureBuffer(P+1),I=p.length),p[P++]=E;else{if(256==E)return void(this.bufferLength=P);E-=257,E=r[E];var O=E>>16;O>0&&(O=this.getBits(O));var A=(65535&E)+O;E=this.getCode(y),E=i[E],O=E>>16,O>0&&(O=this.getBits(O));var F=(65535&E)+O;P+A>=I&&(p=this.ensureBuffer(P+A),I=p.length);for(var R=0;R<A;++R,++P)p[P]=p[P-F]}}},e}}();!function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";"undefined"==typeof t.btoa&&(t.btoa=function(t){var n,r,i,o,a,s,c,l,u=0,h=0,f="",d=[];if(!t)return t;do n=t.charCodeAt(u++),r=t.charCodeAt(u++),i=t.charCodeAt(u++),l=n<<16|r<<8|i,o=l>>18&63,a=l>>12&63,s=l>>6&63,c=63&l,d[h++]=e.charAt(o)+e.charAt(a)+e.charAt(s)+e.charAt(c);while(u<t.length);f=d.join("");var p=t.length%3;return(p?f.slice(0,p-3):f)+"===".slice(p||3)}),"undefined"==typeof t.atob&&(t.atob=function(t){var n,r,i,o,a,s,c,l,u=0,h=0,f="",d=[];if(!t)return t;t+="";do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),s=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),l=o<<18|a<<12|s<<6|c,n=l>>16&255,r=l>>8&255,i=255&l,64==s?d[h++]=String.fromCharCode(n):64==c?d[h++]=String.fromCharCode(n,r):d[h++]=String.fromCharCode(n,r,i);while(u<t.length);return f=d.join("")}),Array.prototype.map||(Array.prototype.map=function(t){if(void 0===this||null===this||"function"!=typeof t)throw new TypeError;for(var e=Object(this),n=e.length>>>0,r=new Array(n),i=arguments.length>1?arguments[1]:void 0,o=0;o<n;o++)o in e&&(r[o]=t.call(i,e[o],o,e));return r}),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t,e){if(void 0===this||null===this||"function"!=typeof t)throw new TypeError;for(var n=Object(this),r=n.length>>>0,i=0;i<r;i++)i in n&&t.call(e,n[i],i,n)}),Object.keys||(Object.keys=function(){var t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],r=n.length;return function(i){if("object"!=typeof i&&("function"!=typeof i||null===i))throw new TypeError;var o,a,s=[];for(o in i)t.call(i,o)&&s.push(o);if(e)for(a=0;a<r;a++)t.call(i,n[a])&&s.push(n[a]);return s}}()),String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),String.prototype.trimLeft||(String.prototype.trimLeft=function(){return this.replace(/^\s+/g,"")}),String.prototype.trimRight||(String.prototype.trimRight=function(){return this.replace(/\s+$/g,"")})}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||void 0);var e=e;return e});
;;;/**
 * html2pdf.js v0.9.1
 * Copyright (c) 2018 Erik Koopmans
 * Released under the MIT License.
 */
!function (t, e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : t.html2pdf = e() }(this, function () { "use strict"; function t() { throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs") } function e(t) { return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t } function A(t, e) { return e = { exports: {} }, t(e, e.exports), e.exports } var r = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, n = (A(function (e, A) { e.exports = function () { function e(t) { return "function" == typeof t } function A() { var t = setTimeout; return function () { return t(n, 1) } } function n() { for (var t = 0; t < y; t += 2) { var e = H[t], A = H[t + 1]; e(A), H[t] = void 0, H[t + 1] = void 0 } y = 0 } function i(t, e) { var A = this, r = new this.constructor(a); void 0 === r[S] && B(r); var n = A._state; if (n) { var i = arguments[n - 1]; C(function () { return g(n, r, i, A._result) }) } else f(A, r, t, e); return r } function o(t) { if (t && "object" == typeof t && t.constructor === this) return t; var e = new this(a); return l(e, t), e } function a() { } function s(t) { try { return t.then } catch (t) { return k.error = t, k } } function c(t, A, r) { A.constructor === t.constructor && r === i && A.constructor.resolve === o ? function (t, e) { e._state === T ? h(t, e._result) : e._state === N ? d(t, e._result) : f(e, void 0, function (e) { return l(t, e) }, function (e) { return d(t, e) }) }(t, A) : r === k ? (d(t, k.error), k.error = null) : void 0 === r ? h(t, A) : e(r) ? function (t, e, A) { C(function (t) { var r = !1, n = function (t, e, A, r) { try { t.call(e, A, r) } catch (t) { return t } }(A, e, function (A) { r || (r = !0, e !== A ? l(t, A) : h(t, A)) }, function (e) { r || (r = !0, d(t, e)) }, t._label); !r && n && (r = !0, d(t, n)) }, t) }(t, A, r) : h(t, A) } function l(t, e) { t === e ? d(t, new TypeError("You cannot resolve a promise with itself")) : !function (t) { var e = typeof t; return null !== t && ("object" === e || "function" === e) }(e) ? h(t, e) : c(t, e, s(e)) } function u(t) { t._onerror && t._onerror(t._result), p(t) } function h(t, e) { t._state === _ && (t._result = e, t._state = T, 0 !== t._subscribers.length && C(p, t)) } function d(t, e) { t._state === _ && (t._state = N, t._result = e, C(u, t)) } function f(t, e, A, r) { var n = t._subscribers, i = n.length; t._onerror = null, n[i] = e, n[i + T] = A, n[i + N] = r, 0 === i && t._state && C(p, t) } function p(t) { var e = t._subscribers, A = t._state; if (0 !== e.length) { for (var r = void 0, n = void 0, i = t._result, o = 0; o < e.length; o += 3)r = e[o], n = e[o + A], r ? g(A, r, n, i) : n(i); t._subscribers.length = 0 } } function g(t, A, r, n) { var i = e(r), o = void 0, a = void 0, s = void 0, c = void 0; if (i) { if ((o = function (t, e) { try { return t(e) } catch (t) { return k.error = t, k } }(r, n)) === k ? (c = !0, a = o.error, o.error = null) : s = !0, A === o) return void d(A, new TypeError("A promises callback cannot return that same promise.")) } else o = n, s = !0; A._state !== _ || (i && s ? l(A, o) : c ? d(A, a) : t === T ? h(A, o) : t === N && d(A, o)) } function B(t) { t[S] = O++ , t._state = void 0, t._result = void 0, t._subscribers = [] } var w = void 0; w = Array.isArray ? Array.isArray : function (t) { return "[object Array]" === Object.prototype.toString.call(t) }; var m = w, y = 0, v = void 0, Q = void 0, C = function (t, e) { H[y] = t, H[y + 1] = e, 2 === (y += 2) && (Q ? Q(n) : I()) }; var U = "undefined" != typeof window ? window : void 0, b = U || {}, F = b.MutationObserver || b.WebKitMutationObserver, E = "undefined" == typeof self && "undefined" != typeof process && "[object process]" === {}.toString.call(process), x = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel; var H = new Array(1e3); var I = void 0; I = E ? function () { return process.nextTick(n) } : F ? function () { var t = 0, e = new F(n), A = document.createTextNode(""); return e.observe(A, { characterData: !0 }), function () { A.data = t = ++t % 2 } }() : x ? function () { var t = new MessageChannel; return t.port1.onmessage = n, function () { return t.port2.postMessage(0) } }() : void 0 === U && "function" == typeof t ? function () { try { var t = Function("return this")().require("vertx"); return v = t.runOnLoop || t.runOnContext, function () { if (void 0 !== v) return function () { v(n) }; return A() }() } catch (t) { return A() } }() : A(); var S = Math.random().toString(36).substring(2); var _ = void 0, T = 1, N = 2, k = { error: null }; var O = 0; var P = function () { function t(t, e) { this._instanceConstructor = t, this.promise = new t(a), this.promise[S] || B(this.promise), m(e) ? (this.length = e.length, this._remaining = e.length, this._result = new Array(this.length), 0 === this.length ? h(this.promise, this._result) : (this.length = this.length || 0, this._enumerate(e), 0 === this._remaining && h(this.promise, this._result))) : d(this.promise, new Error("Array Methods must be provided an Array")) } return t.prototype._enumerate = function (t) { for (var e = 0; this._state === _ && e < t.length; e++)this._eachEntry(t[e], e) }, t.prototype._eachEntry = function (t, e) { var A = this._instanceConstructor, r = A.resolve; if (r === o) { var n = s(t); if (n === i && t._state !== _) this._settledAt(t._state, e, t._result); else if ("function" != typeof n) this._remaining-- , this._result[e] = t; else if (A === D) { var l = new A(a); c(l, t, n), this._willSettleAt(l, e) } else this._willSettleAt(new A(function (e) { return e(t) }), e) } else this._willSettleAt(r(t), e) }, t.prototype._settledAt = function (t, e, A) { var r = this.promise; r._state === _ && (this._remaining-- , t === N ? d(r, A) : this._result[e] = A), 0 === this._remaining && h(r, this._result) }, t.prototype._willSettleAt = function (t, e) { var A = this; f(t, void 0, function (t) { return A._settledAt(T, e, t) }, function (t) { return A._settledAt(N, e, t) }) }, t }(); var D = function () { function t(e) { this[S] = O++ , this._result = this._state = void 0, this._subscribers = [], a !== e && ("function" != typeof e && function () { throw new TypeError("You must pass a resolver function as the first argument to the promise constructor") }(), this instanceof t ? function (t, e) { try { e(function (e) { l(t, e) }, function (e) { d(t, e) }) } catch (e) { d(t, e) } }(this, e) : function () { throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.") }()) } return t.prototype.catch = function (t) { return this.then(null, t) }, t.prototype.finally = function (t) { var A = this.constructor; return e(t) ? this.then(function (e) { return A.resolve(t()).then(function () { return e }) }, function (e) { return A.resolve(t()).then(function () { throw e }) }) : this.then(t, t) }, t }(); D.prototype.then = i, D.all = function (t) { return new P(this, t).promise }, D.race = function (t) { var e = this; return new e(m(t) ? function (A, r) { for (var n = t.length, i = 0; i < n; i++)e.resolve(t[i]).then(A, r) } : function (t, e) { return e(new TypeError("You must pass an array to race.")) }) }, D.resolve = o, D.reject = function (t) { var e = new this(a); return d(e, t), e }, D._setScheduler = function (t) { Q = t }, D._setAsap = function (t) { C = t }, D._asap = C; return D.polyfill = function () { var t = void 0; if (void 0 !== r) t = r; else if ("undefined" != typeof self) t = self; else try { t = Function("return this")() } catch (t) { throw new Error("polyfill failed because global object is unavailable in this environment") } var e = t.Promise; if (e) { var A = null; try { A = Object.prototype.toString.call(e.resolve()) } catch (t) { } if ("[object Promise]" === A && !e.cast) return } t.Promise = D }, D.Promise = D, D }() }).polyfill(), A(function (e, A) { e.exports = function () { function n(t) { var e = 0; if (71 !== t[e++] || 73 !== t[e++] || 70 !== t[e++] || 56 !== t[e++] || 56 != (t[e++] + 1 & 253) || 97 !== t[e++]) throw "Invalid GIF 87a/89a header."; var A = t[e++] | t[e++] << 8, r = t[e++] | t[e++] << 8, n = t[e++], o = n >> 7, a = 1 << 1 + (7 & n); t[e++], t[e++]; var s = null; o && (s = e, e += 3 * a); var c = !0, l = [], u = 0, h = null, d = 0, f = null; for (this.width = A, this.height = r; c && e < t.length;)switch (t[e++]) { case 33: switch (t[e++]) { case 255: if (11 !== t[e] || 78 == t[e + 1] && 69 == t[e + 2] && 84 == t[e + 3] && 83 == t[e + 4] && 67 == t[e + 5] && 65 == t[e + 6] && 80 == t[e + 7] && 69 == t[e + 8] && 50 == t[e + 9] && 46 == t[e + 10] && 48 == t[e + 11] && 3 == t[e + 12] && 1 == t[e + 13] && 0 == t[e + 16]) e += 14, f = t[e++] | t[e++] << 8, e++; else for (e += 12; 0 !== (b = t[e++]);)e += b; break; case 249: if (4 !== t[e++] || 0 !== t[e + 4]) throw "Invalid graphics extension block."; var p = t[e++]; u = t[e++] | t[e++] << 8, h = t[e++], 0 == (1 & p) && (h = null), d = p >> 2 & 7, e++; break; case 254: for (; 0 !== (b = t[e++]);)e += b; break; default: throw "Unknown graphic control label: 0x" + t[e - 1].toString(16) }break; case 44: var g = t[e++] | t[e++] << 8, B = t[e++] | t[e++] << 8, w = t[e++] | t[e++] << 8, m = t[e++] | t[e++] << 8, y = t[e++], v = y >> 6 & 1, Q = s, C = !1; y >> 7 && (C = !0, Q = e, e += 3 * (1 << 1 + (7 & y))); var U = e; for (e++; ;) { var b; if (0 === (b = t[e++])) break; e += b } l.push({ x: g, y: B, width: w, height: m, has_local_palette: C, palette_offset: Q, data_offset: U, data_length: e - U, transparent_index: h, interlaced: !!v, delay: u, disposal: d }); break; case 59: c = !1; break; default: throw "Unknown gif block: 0x" + t[e - 1].toString(16) }this.numFrames = function () { return l.length }, this.loopCount = function () { return f }, this.frameInfo = function (t) { if (t < 0 || t >= l.length) throw "Frame index out of range."; return l[t] }, this.decodeAndBlitFrameBGRA = function (e, r) { var n = this.frameInfo(e), o = n.width * n.height, a = new Uint8Array(o); i(t, n.data_offset, a, o); var s = n.palette_offset, c = n.transparent_index; null === c && (c = 256); var l = n.width, u = A - l, h = l, d = 4 * (n.y * A + n.x), f = 4 * ((n.y + n.height) * A + n.x), p = d, g = 4 * u; !0 === n.interlaced && (g += 4 * (l + u) * 7); for (var B = 8, w = 0, m = a.length; w < m; ++w) { var y = a[w]; if (0 === h && (h = l, f <= (p += g) && (g = u + 4 * (l + u) * (B - 1), p = d + (l + u) * (B << 1), B >>= 1)), y === c) p += 4; else { var v = t[s + 3 * y], Q = t[s + 3 * y + 1], C = t[s + 3 * y + 2]; r[p++] = C, r[p++] = Q, r[p++] = v, r[p++] = 255 } --h } }, this.decodeAndBlitFrameRGBA = function (e, r) { var n = this.frameInfo(e), o = n.width * n.height, a = new Uint8Array(o); i(t, n.data_offset, a, o); var s = n.palette_offset, c = n.transparent_index; null === c && (c = 256); var l = n.width, u = A - l, h = l, d = 4 * (n.y * A + n.x), f = 4 * ((n.y + n.height) * A + n.x), p = d, g = 4 * u; !0 === n.interlaced && (g += 4 * (l + u) * 7); for (var B = 8, w = 0, m = a.length; w < m; ++w) { var y = a[w]; if (0 === h && (h = l, f <= (p += g) && (g = u + 4 * (l + u) * (B - 1), p = d + (l + u) * (B << 1), B >>= 1)), y === c) p += 4; else { var v = t[s + 3 * y], Q = t[s + 3 * y + 1], C = t[s + 3 * y + 2]; r[p++] = v, r[p++] = Q, r[p++] = C, r[p++] = 255 } --h } } } function i(t, e, A, r) { for (var n = t[e++], i = 1 << n, o = i + 1, a = o + 1, s = n + 1, c = (1 << s) - 1, l = 0, u = 0, h = 0, d = t[e++], f = new Int32Array(4096), p = null; ;) { for (; l < 16 && 0 !== d;)u |= t[e++] << l, l += 8, 1 === d ? d = t[e++] : --d; if (l < s) break; var g = u & c; if (u >>= s, l -= s, g !== i) { if (g === o) break; for (var B = g < a ? g : p, w = 0, m = B; i < m;)m = f[m] >> 8, ++w; var y = m; if (r < h + w + (B !== g ? 1 : 0)) return void console.log("Warning, gif stream longer than expected."); A[h++] = y; var v = h += w; for (B !== g && (A[h++] = y), m = B; w--;)m = f[m], A[--v] = 255 & m, m >>= 8; null !== p && a < 4096 && (f[a++] = p << 8 | y, c + 1 <= a && s < 12 && (++s, c = c << 1 | 1)), p = g } else a = o + 1, c = (1 << (s = n + 1)) - 1, p = null } return h !== r && console.log("Warning, gif stream shorter than expected."), A } function o(t) { function e(t, e) { for (var A = 0, r = 0, n = new Array, i = 1; i <= 16; i++) { for (var o = 1; o <= t[i]; o++)n[e[r]] = [], n[e[r]][0] = A, n[e[r]][1] = i, r++ , A++; A *= 2 } return n } function A(t) { for (var e = t[0], A = t[1] - 1; 0 <= A;)e & 1 << A && (Q |= 1 << C), A-- , --C < 0 && (255 == Q ? (r(255), r(0)) : r(Q), C = 7, Q = 0) } function r(t) { v.push(t) } function n(t) { r(t >> 8 & 255), r(255 & t) } function i(t, e, r, n, i) { for (var o, a = i[0], s = i[240], c = function (t, e) { var A, r, n, i, o, a, s, c, l, u, h = 0; for (l = 0; l < 8; ++l) { A = t[h], r = t[h + 1], n = t[h + 2], i = t[h + 3], o = t[h + 4], a = t[h + 5], s = t[h + 6]; var d = A + (c = t[h + 7]), f = A - c, p = r + s, g = r - s, B = n + a, w = n - a, y = i + o, v = i - o, Q = d + y, C = d - y, U = p + B, b = p - B; t[h] = Q + U, t[h + 4] = Q - U; var F = .707106781 * (b + C); t[h + 2] = C + F, t[h + 6] = C - F; var E = .382683433 * ((Q = v + w) - (b = g + f)), x = .5411961 * Q + E, H = 1.306562965 * b + E, I = .707106781 * (U = w + g), S = f + I, _ = f - I; t[h + 5] = _ + x, t[h + 3] = _ - x, t[h + 1] = S + H, t[h + 7] = S - H, h += 8 } for (l = h = 0; l < 8; ++l) { A = t[h], r = t[h + 8], n = t[h + 16], i = t[h + 24], o = t[h + 32], a = t[h + 40], s = t[h + 48]; var T = A + (c = t[h + 56]), N = A - c, k = r + s, O = r - s, P = n + a, D = n - a, L = i + o, R = i - o, M = T + L, K = T - L, z = k + P, q = k - P; t[h] = M + z, t[h + 32] = M - z; var j = .707106781 * (q + K); t[h + 16] = K + j, t[h + 48] = K - j; var X = .382683433 * ((M = R + D) - (q = O + N)), V = .5411961 * M + X, G = 1.306562965 * q + X, W = .707106781 * (z = D + O), Y = N + W, J = N - W; t[h + 40] = J + V, t[h + 24] = J - V, t[h + 8] = Y + G, t[h + 56] = Y - G, h++ } for (l = 0; l < 64; ++l)u = t[l] * e[l], m[l] = 0 < u ? u + .5 | 0 : u - .5 | 0; return m }(t, e), l = 0; l < 64; ++l)y[H[l]] = c[l]; var u = y[0] - r; r = y[0], 0 == u ? A(n[0]) : (A(n[w[o = 32767 + u]]), A(B[o])); for (var h = 63; 0 < h && 0 == y[h]; h--); if (0 == h) return A(a), r; for (var d, f = 1; f <= h;) { for (var p = f; 0 == y[f] && f <= h; ++f); var g = f - p; if (16 <= g) { d = g >> 4; for (var v = 1; v <= d; ++v)A(s); g &= 15 } o = 32767 + y[f], A(i[(g << 4) + w[o]]), A(B[o]), f++ } return 63 != h && A(a), r } function o(t) { t <= 0 && (t = 1), 100 < t && (t = 100), u != t && (function (t) { for (var e = [16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99], A = 0; A < 64; A++) { var r = h((e[A] * t + 50) / 100); r < 1 ? r = 1 : 255 < r && (r = 255), d[H[A]] = r } for (var n = [17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99], i = 0; i < 64; i++) { var o = h((n[i] * t + 50) / 100); o < 1 ? o = 1 : 255 < o && (o = 255), f[H[i]] = o } for (var a = [1, 1.387039845, 1.306562965, 1.175875602, 1, .785694958, .5411961, .275899379], s = 0, c = 0; c < 8; c++)for (var l = 0; l < 8; l++)p[s] = 1 / (d[H[s]] * a[c] * a[l] * 8), g[s] = 1 / (f[H[s]] * a[c] * a[l] * 8), s++ }(t < 50 ? Math.floor(5e3 / t) : Math.floor(200 - 2 * t)), u = t) } var a, s, c, l, u, h = Math.floor, d = new Array(64), f = new Array(64), p = new Array(64), g = new Array(64), B = new Array(65535), w = new Array(65535), m = new Array(64), y = new Array(64), v = [], Q = 0, C = 7, U = new Array(64), b = new Array(64), F = new Array(64), E = new Array(256), x = new Array(2048), H = [0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63], I = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], S = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], _ = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125], T = [1, 2, 3, 0, 4, 17, 5, 18, 33, 49, 65, 6, 19, 81, 97, 7, 34, 113, 20, 50, 129, 145, 161, 8, 35, 66, 177, 193, 21, 82, 209, 240, 36, 51, 98, 114, 130, 9, 10, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 52, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250], N = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0], k = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], O = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119], P = [0, 1, 2, 3, 17, 4, 5, 33, 49, 6, 18, 65, 81, 7, 97, 113, 19, 34, 50, 129, 8, 20, 66, 145, 161, 177, 193, 9, 35, 51, 82, 240, 21, 98, 114, 209, 10, 22, 36, 52, 225, 37, 241, 23, 24, 25, 26, 38, 39, 40, 41, 42, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 226, 227, 228, 229, 230, 231, 232, 233, 234, 242, 243, 244, 245, 246, 247, 248, 249, 250]; this.encode = function (t, e) { var u, h; (new Date).getTime(), e && o(e), v = new Array, Q = 0, C = 7, n(65496), n(65504), n(16), r(74), r(70), r(73), r(70), r(0), r(1), r(1), r(0), n(1), n(1), r(0), r(0), function () { n(65499), n(132), r(0); for (var t = 0; t < 64; t++)r(d[t]); r(1); for (var e = 0; e < 64; e++)r(f[e]) }(), u = t.width, h = t.height, n(65472), n(17), r(8), n(h), n(u), r(3), r(1), r(17), r(0), r(2), r(17), r(1), r(3), r(17), r(1), function () { n(65476), n(418), r(0); for (var t = 0; t < 16; t++)r(I[t + 1]); for (var e = 0; e <= 11; e++)r(S[e]); r(16); for (var A = 0; A < 16; A++)r(_[A + 1]); for (var i = 0; i <= 161; i++)r(T[i]); r(1); for (var o = 0; o < 16; o++)r(N[o + 1]); for (var a = 0; a <= 11; a++)r(k[a]); r(17); for (var s = 0; s < 16; s++)r(O[s + 1]); for (var c = 0; c <= 161; c++)r(P[c]) }(), n(65498), n(12), r(3), r(1), r(0), r(2), r(17), r(3), r(17), r(0), r(63), r(0); var B = 0, w = 0, m = 0; Q = 0, C = 7, this.encode.displayName = "_encode_"; for (var y, E, H, D, L, R, M, K, z, q = t.data, j = t.width, X = t.height, V = 4 * j, G = 0; G < X;) { for (y = 0; y < V;) { for (R = L = V * G + y, M = -1, z = K = 0; z < 64; z++)R = L + (K = z >> 3) * V + (M = 4 * (7 & z)), X <= G + K && (R -= V * (G + 1 + K - X)), V <= y + M && (R -= y + M - V + 4), E = q[R++], H = q[R++], D = q[R++], U[z] = (x[E] + x[H + 256 >> 0] + x[D + 512 >> 0] >> 16) - 128, b[z] = (x[E + 768 >> 0] + x[H + 1024 >> 0] + x[D + 1280 >> 0] >> 16) - 128, F[z] = (x[E + 1280 >> 0] + x[H + 1536 >> 0] + x[D + 1792 >> 0] >> 16) - 128; B = i(U, p, B, a, c), w = i(b, g, w, s, l), m = i(F, g, m, s, l), y += 32 } G += 8 } if (0 <= C) { var W = []; W[1] = C + 1, W[0] = (1 << C + 1) - 1, A(W) } return n(65497), new Uint8Array(v) }, (new Date).getTime(), t || (t = 50), function () { for (var t = String.fromCharCode, e = 0; e < 256; e++)E[e] = t(e) }(), a = e(I, S), s = e(N, k), c = e(_, T), l = e(O, P), function () { for (var t = 1, e = 2, A = 1; A <= 15; A++) { for (var r = t; r < e; r++)w[32767 + r] = A, B[32767 + r] = [], B[32767 + r][1] = A, B[32767 + r][0] = r; for (var n = -(e - 1); n <= -t; n++)w[32767 + n] = A, B[32767 + n] = [], B[32767 + n][1] = A, B[32767 + n][0] = e - 1 + n; t <<= 1, e <<= 1 } }(), function () { for (var t = 0; t < 256; t++)x[t] = 19595 * t, x[t + 256 >> 0] = 38470 * t, x[t + 512 >> 0] = 7471 * t + 32768, x[t + 768 >> 0] = -11059 * t, x[t + 1024 >> 0] = -21709 * t, x[t + 1280 >> 0] = 32768 * t + 8421375, x[t + 1536 >> 0] = -27439 * t, x[t + 1792 >> 0] = -5329 * t }(), o(t), (new Date).getTime() } function a(t, e) { if (this.pos = 0, this.buffer = t, this.datav = new DataView(t.buffer), this.is_with_alpha = !!e, this.bottom_up = !0, this.flag = String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]), this.pos += 2, -1 === ["BM", "BA", "CI", "CP", "IC", "PT"].indexOf(this.flag)) throw new Error("Invalid BMP File"); this.parseHeader(), this.parseBGR() } var s, c, l, u, h, d, f, p, g, B, w, m, y, v, Q, C, U, b, F, E, x, H, I, S, _, T, N, k, O, P, D, L, R, M, K, z, q, j, X, V, G, W, Y, J, Z, $, tt, et, At, rt, nt, it, ot, at = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { return typeof t } : function (t) { return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t }, st = function (t) { function A(e, i, o, a) { var s = {}; "object" === (void 0 === e ? "undefined" : at(e)) && (e = (s = e).orientation, i = s.unit || i, o = s.format || o, a = s.compress || s.compressPdf || a), i = i || "mm", o = o || "a4", e = ("" + (e || "P")).toLowerCase(), ("" + o).toLowerCase(); var c, l, u, h, d, f, p, g, B, w, m, y = !!a && "function" == typeof Uint8Array, v = s.textColor || "0 g", Q = s.drawColor || "0 G", C = s.fontSize || 16, U = s.charSpace || 0, b = s.R2L || !1, F = s.lineHeight || 1.15, E = s.lineWidth || .200025, x = "00000000000000000000000000000000", H = 2, I = !1, S = [], _ = {}, T = {}, N = 0, k = [], O = [], P = [], D = [], L = [], R = 0, M = 0, K = 0, z = { title: "", subject: "", author: "", keywords: "", creator: "" }, q = {}, j = new function (e) { var A = {}; this.subscribe = function (t, e, r) { if ("function" != typeof e) return !1; A.hasOwnProperty(t) || (A[t] = {}); var n = Math.random().toString(35); return A[t][n] = [e, !!r], n }, this.unsubscribe = function (t) { for (var e in A) if (A[e][t]) return delete A[e][t], !0; return !1 }, this.publish = function (r) { if (A.hasOwnProperty(r)) { var n = Array.prototype.slice.call(arguments, 1), i = []; for (var o in A[r]) { var a = A[r][o]; try { a[0].apply(e, n) } catch (r) { t.console && console.error("jsPDF PubSub Error", r.message, r) } a[1] && i.push(o) } i.length && i.forEach(this.unsubscribe) } } }(q), X = s.hotfixes || [], V = function (t) { var e, A = t.ch1, r = t.ch2, n = t.ch3, i = t.ch4, o = (t.precision, "draw" === t.pdfColorType ? ["G", "RG", "K"] : ["g", "rg", "k"]); if ("string" == typeof A && "#" !== A.charAt(0)) { var a = new RGBColor(A); a.ok && (A = a.toHex()) } if ("string" == typeof A && /^#[0-9A-Fa-f]{3}$/.test(A) && (A = "#" + A[1] + A[1] + A[2] + A[2] + A[3] + A[3]), "string" == typeof A && /^#[0-9A-Fa-f]{6}$/.test(A)) { var s = parseInt(A.substr(1), 16); A = s >> 16 & 255, r = s >> 8 & 255, n = 255 & s } if (void 0 === r || void 0 === i && A === r && r === n) if ("string" == typeof A) e = A + " " + o[0]; else switch (t.precision) { case 2: e = J(A / 255) + " " + o[0]; break; case 3: default: e = Z(A / 255) + " " + o[0] } else if (void 0 === i || "object" === (void 0 === i ? "undefined" : at(i))) { if ("string" == typeof A) e = [A, r, n, o[1]].join(" "); else switch (t.precision) { case 2: e = [J(A / 255), J(r / 255), J(n / 255), o[1]].join(" "); break; default: case 3: e = [Z(A / 255), Z(r / 255), Z(n / 255), o[1]].join(" ") }i && 0 === i.a && (e = ["255", "255", "255", o[1]].join(" ")) } else if ("string" == typeof A) e = [A, r, n, i, o[2]].join(" "); else switch (t.precision) { case 2: e = [J(A), J(r), J(n), J(i), o[2]].join(" "); break; case 3: default: e = [Z(A), Z(r), Z(n), Z(i), o[2]].join(" ") }return e }, G = function (t) { var e = function (t) { return ("0" + parseInt(t)).slice(-2) }, A = t.getTimezoneOffset(), r = A < 0 ? "+" : "-", n = Math.floor(Math.abs(A / 60)), i = Math.abs(A % 60), o = [r, e(n), "'", e(i), "'"].join(""); return ["D:", t.getFullYear(), e(t.getMonth() + 1), e(t.getDate()), e(t.getHours()), e(t.getMinutes()), e(t.getSeconds()), o].join("") }, W = function (t) { var e; return void 0 === (void 0 === t ? "undefined" : at(t)) && (t = new Date), e = "object" === (void 0 === t ? "undefined" : at(t)) && "[object Date]" === Object.prototype.toString.call(t) ? G(t) : /^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\+0[0-9]|\+1[0-4]|\-0[0-9]|\-1[0-1])\'(0[0-9]|[1-5][0-9])\'?$/.test(t) ? t : G(new Date), w = e }, Y = function (t) { return t = t || "12345678901234567890123456789012".split("").map(function () { return "ABCDEF0123456789".charAt(Math.floor(16 * Math.random())) }).join(""), x = t }, J = function (t) { return t.toFixed(2) }, Z = function (t) { return t.toFixed(3) }, $ = function (t) { t = "string" == typeof t ? t : t.toString(), I ? k[h].push(t) : (K += t.length + 1, D.push(t)) }, tt = function () { return S[++H] = K, $(H + " 0 obj"), H }, et = function (t) { $("stream"), $(t), $("endstream") }, At = function () { !function () { for (var t in _) _.hasOwnProperty(t) && (e = _[t], j.publish("putFont", { font: e, out: $, newObject: tt }), !0 !== e.isAlreadyPutted && (e.objectNumber = tt(), $("<<"), $("/Type /Font"), $("/BaseFont /" + e.postScriptName), $("/Subtype /Type1"), "string" == typeof e.encoding && $("/Encoding /" + e.encoding), $("/FirstChar 32"), $("/LastChar 255"), $(">>"), $("endobj"))); var e }(), j.publish("putResources"), S[2] = K, $("2 0 obj"), $("<<"), function () { for (var t in $("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"), $("/Font <<"), _) _.hasOwnProperty(t) && $("/" + t + " " + _[t].objectNumber + " 0 R"); $(">>"), $("/XObject <<"), j.publish("putXobjectDict"), $(">>") }(), $(">>"), $("endobj"), j.publish("postPutResources") }, rt = function (t, e, A) { T.hasOwnProperty(e) || (T[e] = {}), T[e][A] = t }, nt = function (t, e, A, r) { var n = "F" + (Object.keys(_).length + 1).toString(10), i = _[n] = { id: n, postScriptName: t, fontName: e, fontStyle: A, encoding: r, metadata: {} }; return rt(n, e, A), j.publish("addFont", i), n }, it = function (t, e) { return function (t, e) { var A, r, n, i, o, a, s, l, u; if (n = (e = e || {}).sourceEncoding || "Unicode", o = e.outputEncoding, (e.autoencode || o) && _[c].metadata && _[c].metadata[n] && _[c].metadata[n].encoding && (i = _[c].metadata[n].encoding, !o && _[c].encoding && (o = _[c].encoding), !o && i.codePages && (o = i.codePages[0]), "string" == typeof o && (o = i[o]), o)) { for (s = !1, a = [], A = 0, r = t.length; A < r; A++)(l = o[t.charCodeAt(A)]) ? a.push(String.fromCharCode(l)) : a.push(t[A]), a[A].charCodeAt(0) >> 8 && (s = !0); t = a.join("") } for (A = t.length; void 0 === s && 0 !== A;)t.charCodeAt(A - 1) >> 8 && (s = !0), A--; if (!s) return t; for (a = e.noBOM ? [] : [254, 255], A = 0, r = t.length; A < r; A++) { if ((u = (l = t.charCodeAt(A)) >> 8) >> 8) throw new Error("Character at position " + A + " of string '" + t + "' exceeds 16bits. Cannot be encoded into UCS-2 BE"); a.push(u), a.push(l - (u << 8)) } return String.fromCharCode.apply(void 0, a) }(t, e).replace(/\\/g, "\\\\").replace(/\(/g, "\\(").replace(/\)/g, "\\)") }, ot = function () { (function (t, e) { var A = "string" == typeof e && e.toLowerCase(); if ("string" == typeof t) { var r = t.toLowerCase(); n.hasOwnProperty(r) && (t = n[r][0] / l, e = n[r][1] / l) } if (Array.isArray(t) && (e = t[1], t = t[0]), A) { switch (A.substr(0, 1)) { case "l": t < e && (A = "s"); break; case "p": e < t && (A = "s") }"s" === A && (u = t, t = e, e = u) } I = !0, k[++N] = [], P[N] = { width: Number(t) || d, height: Number(e) || f }, O[N] = {}, st(N) }).apply(this, arguments), $(J(E * l) + " w"), $(Q), 0 !== R && $(R + " J"), 0 !== M && $(M + " j"), j.publish("addPage", { pageNumber: N }) }, st = function (t) { 0 < t && t <= N && (d = P[h = t].width, f = P[t].height) }, ct = function (t, e, A) { var r, n = void 0; return A = A || {}, t = void 0 !== t ? t : _[c].fontName, e = void 0 !== e ? e : _[c].fontStyle, r = t.toLowerCase(), void 0 !== T[r] && void 0 !== T[r][e] ? n = T[r][e] : void 0 !== T[t] && void 0 !== T[t][e] ? n = T[t][e] : !1 === A.disableWarning && console.warn("Unable to look up font label for font '" + t + "', '" + e + "'. Refer to getFontList() for available fonts."), n || A.noFallback || null == (n = T.times[e]) && (n = T.times.normal), n }, lt = function () { I = !1, H = 2, K = 0, D = [], S = [], L = [], j.publish("buildDocument"), $("%PDF-" + r), $("%ºß¬à"), function () { var e, r, n, i, o, a, s, c, u, h = []; for (s = t.adler32cs || A.API.adler32cs, y && void 0 === s && (y = !1), e = 1; e <= N; e++) { if (h.push(tt()), c = (d = P[e].width) * l, u = (f = P[e].height) * l, $("<</Type /Page"), $("/Parent 1 0 R"), $("/Resources 2 0 R"), $("/MediaBox [0 0 " + J(c) + " " + J(u) + "]"), j.publish("putPage", { pageNumber: e, page: k[e] }), $("/Contents " + (H + 1) + " 0 R"), $(">>"), $("endobj"), r = k[e].join("\n"), tt(), y) { for (n = [], i = r.length; i--;)n[i] = r.charCodeAt(i); a = s.from(r), (o = new Deflater(6)).append(new Uint8Array(n)), r = o.flush(), (n = new Uint8Array(r.length + 6)).set(new Uint8Array([120, 156])), n.set(r, 2), n.set(new Uint8Array([255 & a, a >> 8 & 255, a >> 16 & 255, a >> 24 & 255]), r.length + 2), r = String.fromCharCode.apply(null, n), $("<</Length " + r.length + " /Filter [/FlateDecode]>>") } else $("<</Length " + r.length + ">>"); et(r), $("endobj") } S[1] = K, $("1 0 obj"), $("<</Type /Pages"); var p = "/Kids ["; for (i = 0; i < N; i++)p += h[i] + " 0 R "; $(p + "]"), $("/Count " + N), $(">>"), $("endobj"), j.publish("postPutPages") }(), function () { j.publish("putAdditionalObjects"); for (var t = 0; t < L.length; t++) { var e = L[t]; S[e.objId] = K, $(e.objId + " 0 obj"), $(e.content), $("endobj") } H += L.length, j.publish("postPutAdditionalObjects") }(), At(), tt(), $("<<"), function () { for (var t in $("/Producer (jsPDF " + A.version + ")"), z) z.hasOwnProperty(t) && z[t] && $("/" + t.substr(0, 1).toUpperCase() + t.substr(1) + " (" + it(z[t]) + ")"); $("/CreationDate (" + w + ")") }(), $(">>"), $("endobj"), tt(), $("<<"), function () { switch ($("/Type /Catalog"), $("/Pages 1 0 R"), g || (g = "fullwidth"), g) { case "fullwidth": $("/OpenAction [3 0 R /FitH null]"); break; case "fullheight": $("/OpenAction [3 0 R /FitV null]"); break; case "fullpage": $("/OpenAction [3 0 R /Fit]"); break; case "original": $("/OpenAction [3 0 R /XYZ null null 1]"); break; default: var t = "" + g; "%" === t.substr(t.length - 1) && (g = parseInt(g) / 100), "number" == typeof g && $("/OpenAction [3 0 R /XYZ null null " + J(g) + "]") }switch (B || (B = "continuous"), B) { case "continuous": $("/PageLayout /OneColumn"); break; case "single": $("/PageLayout /SinglePage"); break; case "two": case "twoleft": $("/PageLayout /TwoColumnLeft"); break; case "tworight": $("/PageLayout /TwoColumnRight") }p && $("/PageMode /" + p), j.publish("putCatalog") }(), $(">>"), $("endobj"); var e, n = K, i = "0000000000"; for ($("xref"), $("0 " + (H + 1)), $(i + " 65535 f "), e = 1; e <= H; e++) { var o = S[e]; $("function" == typeof o ? (i + S[e]()).slice(-10) + " 00000 n " : (i + S[e]).slice(-10) + " 00000 n ") } return $("trailer"), $("<<"), $("/Size " + (H + 1)), $("/Root " + H + " 0 R"), $("/Info " + (H - 1) + " 0 R"), $("/ID [ <" + x + "> <" + x + "> ]"), $(">>"), $("startxref"), $("" + n), $("%%EOF"), I = !0, D.join("\n") }, ut = function (t) { var e = "S"; return "F" === t ? e = "f" : "FD" === t || "DF" === t ? e = "B" : "f" !== t && "f*" !== t && "B" !== t && "B*" !== t || (e = t), e }, ht = function () { for (var t = lt(), e = t.length, A = new ArrayBuffer(e), r = new Uint8Array(A); e--;)r[e] = t.charCodeAt(e); return A }, dt = function () { return new Blob([ht()], { type: "application/pdf" }) }, ft = ((m = function (e, A) { var r = "dataur" === ("" + e).substr(0, 6) ? "data:application/pdf;base64," + btoa(lt()) : 0; switch (e) { case void 0: return lt(); case "save": if ("object" === ("undefined" == typeof navigator ? "undefined" : at(navigator)) && navigator.getUserMedia && (void 0 === t.URL || void 0 === t.URL.createObjectURL)) return q.output("dataurlnewwindow"); bt(dt(), A), "function" == typeof bt.unload && t.setTimeout && setTimeout(bt.unload, 911); break; case "arraybuffer": return ht(); case "blob": return dt(); case "bloburi": case "bloburl": return t.URL && t.URL.createObjectURL(dt()) || void 0; case "datauristring": case "dataurlstring": return r; case "dataurlnewwindow": var n = t.open(r); if (n || "undefined" == typeof safari) return n; case "datauri": case "dataurl": return t.document.location.href = r; default: throw new Error('Output type "' + e + '" is not supported.') } }).foo = function () { try { return m.apply(this, arguments) } catch (r) { var e = r.stack || ""; ~e.indexOf(" at ") && (e = e.split(" at ")[1]); var A = "Error in function " + e.split("\n")[0].split("<")[0] + ": " + r.message; if (!t.console) throw new Error(A); t.console.error(A, r), t.alert && alert(A) } }, (m.foo.bar = m).foo), pt = function (t) { return !0 === Array.isArray(X) && -1 < X.indexOf(t) }; switch (i) { case "pt": l = 1; break; case "mm": l = 72 / 25.4; break; case "cm": l = 72 / 2.54; break; case "in": l = 72; break; case "px": l = 1 == pt("px_scaling") ? .75 : 96 / 72; break; case "pc": case "em": l = 12; break; case "ex": l = 6; break; default: throw "Invalid unit: " + i }for (var gt in W(), Y(), q.internal = { pdfEscape: it, getStyle: ut, getFont: function () { return _[ct.apply(q, arguments)] }, getFontSize: function () { return C }, getCharSpace: function () { return U }, getTextColor: function () { var t = v.split(" "); if (2 === t.length && "g" === t[1]) { var e = parseFloat(t[0]); t = [e, e, e, "r"] } for (var A = "#", r = 0; r < 3; r++)A += ("0" + Math.floor(255 * parseFloat(t[r])).toString(16)).slice(-2); return A }, getLineHeight: function () { return C * F }, write: function (t) { $(1 === arguments.length ? t : Array.prototype.join.call(arguments, " ")) }, getCoordinateString: function (t) { return J(t * l) }, getVerticalCoordinateString: function (t) { return J((f - t) * l) }, collections: {}, newObject: tt, newAdditionalObject: function () { var t = 2 * k.length + 1, e = { objId: t += L.length, content: "" }; return L.push(e), e }, newObjectDeferred: function () { return S[++H] = function () { return K }, H }, newObjectDeferredBegin: function (t) { S[t] = K }, putStream: et, events: j, scaleFactor: l, pageSize: { getWidth: function () { return d }, getHeight: function () { return f } }, output: function (t, e) { return ft(t, e) }, getNumberOfPages: function () { return k.length - 1 }, pages: k, out: $, f2: J, getPageInfo: function (t) { return { objId: 2 * (t - 1) + 3, pageNumber: t, pageContext: O[t] } }, getCurrentPageInfo: function () { return { objId: 2 * (h - 1) + 3, pageNumber: h, pageContext: O[h] } }, getPDFVersion: function () { return r }, hasHotfix: pt }, q.addPage = function () { return ot.apply(this, arguments), this }, q.setPage = function () { return st.apply(this, arguments), this }, q.insertPage = function (t) { return this.addPage(), this.movePage(h, t), this }, q.movePage = function (t, e) { if (e < t) { for (var A = k[t], r = P[t], n = O[t], i = t; e < i; i--)k[i] = k[i - 1], P[i] = P[i - 1], O[i] = O[i - 1]; k[e] = A, P[e] = r, O[e] = n, this.setPage(e) } else if (t < e) { for (A = k[t], r = P[t], n = O[t], i = t; i < e; i++)k[i] = k[i + 1], P[i] = P[i + 1], O[i] = O[i + 1]; k[e] = A, P[e] = r, O[e] = n, this.setPage(e) } return this }, q.deletePage = function () { return function (t) { 0 < t && t <= N && (k.splice(t, 1), P.splice(t, 1), --N < h && (h = N), this.setPage(h)) }.apply(this, arguments), this }, q.setCreationDate = function (t) { return W(t), this }, q.getCreationDate = function (t) { return function (t) { var e = w; return "jsDate" === t && (e = function (t) { var e = parseInt(t.substr(2, 4), 10), A = parseInt(t.substr(6, 2), 10) - 1, r = parseInt(t.substr(8, 2), 10), n = parseInt(t.substr(10, 2), 10), i = parseInt(t.substr(12, 2), 10), o = parseInt(t.substr(14, 2), 10); return parseInt(t.substr(16, 2), 10), parseInt(t.substr(20, 2), 10), new Date(e, A, r, n, i, o, 0) }(w)), e }(t) }, q.setFileId = function (t) { return Y(t), this }, q.getFileId = function () { return x }, q.setDisplayMode = function (t, e, A) { if (g = t, B = e, -1 == [void 0, null, "UseNone", "UseOutlines", "UseThumbs", "FullScreen"].indexOf(p = A)) throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. "' + A + '" is not recognized.'); return this }, q.text = function (t, e, A, r) { function n(t) { for (var e, A = t.concat(), r = [], n = A.length; n--;)"string" == typeof (e = A.shift()) ? r.push(e) : "[object Array]" === Object.prototype.toString.call(t) && 1 === e.length ? r.push(e[0]) : r.push([e[0], e[1], e[2]]); return r } function i(t, e) { var A; if ("string" == typeof t) A = e(t)[0]; else if ("[object Array]" === Object.prototype.toString.call(t)) { for (var r, n, i = t.concat(), o = [], a = i.length; a--;)"string" == typeof (r = i.shift()) ? o.push(e(r)[0]) : "[object Array]" === Object.prototype.toString.call(r) && "string" === r[0] && (n = e(r[0], r[1], r[2]), o.push([n[0], n[1], n[2]])); A = o } return A } var o, a, s = "", l = F, u = this; "number" == typeof t && (a = A, A = e, e = t, t = a); var h = r, d = arguments[4], f = arguments[5]; "object" === (void 0 === h ? "undefined" : at(h)) && null !== h || ("string" == typeof d && (f = d, d = null), "string" == typeof h && (f = h, h = null), "number" == typeof h && (d = h, h = null), r = { flags: h, angle: d, align: f }); var p = !1, g = !0; if ("string" == typeof t) p = !0; else if ("[object Array]" === Object.prototype.toString.call(t)) { for (var B, w = t.concat(), m = [], y = w.length; y--;)("string" != typeof (B = w.shift()) || "[object Array]" === Object.prototype.toString.call(B) && "string" != typeof B[0]) && (g = !1); p = g } if (!1 === p) throw new Error('Type of text must be string or Array. "' + t + '" is not recognized.'); var Q = _[c].encoding; "WinAnsiEncoding" !== Q && "StandardEncoding" !== Q || (t = i(t, function (t, e, A) { return [(n = t, n = n.split("\t").join(Array(r.TabLen || 9).join(" ")), it(n, h)), e, A]; var n })), "string" == typeof t && (t = t.match(/[\r?\n]/) ? t.split(/\r\n|\r|\n/g) : [t]), 0 < (z = r.maxWidth || 0) && ("string" == typeof t ? t = u.splitTextToSize(t, z) : "[object Array]" === Object.prototype.toString.call(t) && (t = u.splitTextToSize(t.join(" "), z))); var E = { text: t, x: e, y: A, options: r, mutex: { pdfEscape: it, activeFontKey: c, fonts: _, activeFontSize: C } }; j.publish("preProcessText", E), t = E.text, d = (r = E.options).angle; var x = u.internal.scaleFactor, H = (u.internal.pageSize.getHeight(), []); if (d) { d *= Math.PI / 180; var I = Math.cos(d), S = Math.sin(d), T = function (t) { return t.toFixed(2) }; H = [T(I), T(S), T(-1 * S), T(I)] } void 0 !== (K = r.charSpace) && (s += K + " Tc\n"), r.lang; var N = -1, k = r.renderingMode || r.stroke, O = u.internal.getCurrentPageInfo().pageContext; switch (k) { case 0: case !1: case "fill": N = 0; break; case 1: case !0: case "stroke": N = 1; break; case 2: case "fillThenStroke": N = 2; break; case 3: case "invisible": N = 3; break; case 4: case "fillAndAddForClipping": N = 4; break; case 5: case "strokeAndAddPathForClipping": N = 5; break; case 6: case "fillThenStrokeAndAddToPathForClipping": N = 6; break; case 7: case "addToPathForClipping": N = 7 }var P = O.usedRenderingMode || -1; -1 !== N ? s += N + " Tr\n" : -1 !== P && (s += "0 Tr\n"), -1 !== N && (O.usedRenderingMode = N), f = r.align || "left"; var D = C * l, L = u.internal.pageSize.getHeight(), R = u.internal.pageSize.getWidth(), M = (x = u.internal.scaleFactor, _[c]), K = r.charSpace || U, z = r.maxWidth || 0, q = (h = {}, []); if ("[object Array]" === Object.prototype.toString.call(t)) { var X, V; m = n(t), "left" !== f && (V = m.map(function (t) { return u.getStringUnitWidth(t, { font: M, charSpace: K, fontSize: C }) * C / x })); Math.max.apply(Math, V); var G, W = 0; if ("right" === f) { e -= V[0], t = []; var Y = 0; for (y = m.length; Y < y; Y++)V[Y], 0 === Y ? (G = e * x, X = (L - A) * x) : (G = (W - V[Y]) * x, X = -D), t.push([m[Y], G, X]), W = V[Y] } else if ("center" === f) for (e -= V[0] / 2, t = [], Y = 0, y = m.length; Y < y; Y++)V[Y], 0 === Y ? (G = e * x, X = (L - A) * x) : (G = (W - V[Y]) / 2 * x, X = -D), t.push([m[Y], G, X]), W = V[Y]; else if ("left" === f) for (t = [], Y = 0, y = m.length; Y < y; Y++)X = 0 === Y ? (L - A) * x : -D, G = 0 === Y ? e * x : 0, t.push(m[Y]); else { if ("justify" !== f) throw new Error('Unrecognized alignment option, use "left", "center", "right" or "justify".'); for (t = [], z = 0 !== z ? z : R, Y = 0, y = m.length; Y < y; Y++)X = 0 === Y ? (L - A) * x : -D, G = 0 === Y ? e * x : 0, Y < y - 1 && q.push(((z - V[Y]) / (m[Y].split(" ").length - 1) * x).toFixed(2)), t.push([m[Y], G, X]) } } !0 === ("boolean" == typeof r.R2L ? r.R2L : b) && (t = i(t, function (t, e, A) { return [t.split("").reverse().join(""), e, A] })), E = { text: t, x: e, y: A, options: r, mutex: { pdfEscape: it, activeFontKey: c, fonts: _, activeFontSize: C } }, j.publish("postProcessText", E), t = E.text, o = E.mutex.isHex, m = n(t), t = []; var J, Z, tt, et = 0, At = (y = m.length, ""); for (Y = 0; Y < y; Y++)At = "", "[object Array]" !== Object.prototype.toString.call(m[Y]) ? (J = parseFloat(e * x).toFixed(2), Z = parseFloat((L - A) * x).toFixed(2), tt = (o ? "<" : "(") + m[Y] + (o ? ">" : ")")) : "[object Array]" === Object.prototype.toString.call(m[Y]) && (J = parseFloat(m[Y][1]).toFixed(2), Z = parseFloat(m[Y][2]).toFixed(2), tt = (o ? "<" : "(") + m[Y][0] + (o ? ">" : ")"), et = 1), void 0 !== q && void 0 !== q[Y] && (At = q[Y] + " Tw\n"), 0 !== H.length && 0 === Y ? t.push(At + H.join(" ") + " " + J + " " + Z + " Tm\n" + tt) : 1 === et || 0 === et && 0 === Y ? t.push(At + J + " " + Z + " Td\n" + tt) : t.push(At + tt); t = 0 === et ? t.join(" Tj\nT* ") : t.join(" Tj\n"), t += " Tj\n"; var rt = "BT\n/" + c + " " + C + " Tf\n" + (C * l).toFixed(2) + " TL\n" + v + "\n"; return rt += s, rt += t, $(rt += "ET"), u }, q.lstext = function (t, e, A, r) { console.warn("jsPDF.lstext is deprecated"); for (var n = 0, i = t.length; n < i; n++ , e += r)this.text(t[n], e, A); return this }, q.line = function (t, e, A, r) { return this.lines([[A - t, r - e]], t, e) }, q.clip = function () { $("W"), $("S") }, q.clip_fixed = function (t) { $("evenodd" === t ? "W*" : "W"), $("n") }, q.lines = function (t, e, A, r, n, i) { var o, a, s, c, h, d, p, g, B, w, m; for ("number" == typeof t && (u = A, A = e, e = t, t = u), r = r || [1, 1], $(Z(e * l) + " " + Z((f - A) * l) + " m "), o = r[0], a = r[1], c = t.length, w = e, m = A, s = 0; s < c; s++)2 === (h = t[s]).length ? (w = h[0] * o + w, m = h[1] * a + m, $(Z(w * l) + " " + Z((f - m) * l) + " l")) : (d = h[0] * o + w, p = h[1] * a + m, g = h[2] * o + w, B = h[3] * a + m, w = h[4] * o + w, m = h[5] * a + m, $(Z(d * l) + " " + Z((f - p) * l) + " " + Z(g * l) + " " + Z((f - B) * l) + " " + Z(w * l) + " " + Z((f - m) * l) + " c")); return i && $(" h"), null !== n && $(ut(n)), this }, q.rect = function (t, e, A, r, n) { return ut(n), $([J(t * l), J((f - e) * l), J(A * l), J(-r * l), "re"].join(" ")), null !== n && $(ut(n)), this }, q.triangle = function (t, e, A, r, n, i, o) { return this.lines([[A - t, r - e], [n - A, i - r], [t - n, e - i]], t, e, [1, 1], o, !0), this }, q.roundedRect = function (t, e, A, r, n, i, o) { var a = 4 / 3 * (Math.SQRT2 - 1); return this.lines([[A - 2 * n, 0], [n * a, 0, n, i - i * a, n, i], [0, r - 2 * i], [0, i * a, -n * a, i, -n, i], [2 * n - A, 0], [-n * a, 0, -n, -i * a, -n, -i], [0, 2 * i - r], [0, -i * a, n * a, -i, n, -i]], t + n, e, [1, 1], o), this }, q.ellipse = function (t, e, A, r, n) { var i = 4 / 3 * (Math.SQRT2 - 1) * A, o = 4 / 3 * (Math.SQRT2 - 1) * r; return $([J((t + A) * l), J((f - e) * l), "m", J((t + A) * l), J((f - (e - o)) * l), J((t + i) * l), J((f - (e - r)) * l), J(t * l), J((f - (e - r)) * l), "c"].join(" ")), $([J((t - i) * l), J((f - (e - r)) * l), J((t - A) * l), J((f - (e - o)) * l), J((t - A) * l), J((f - e) * l), "c"].join(" ")), $([J((t - A) * l), J((f - (e + o)) * l), J((t - i) * l), J((f - (e + r)) * l), J(t * l), J((f - (e + r)) * l), "c"].join(" ")), $([J((t + i) * l), J((f - (e + r)) * l), J((t + A) * l), J((f - (e + o)) * l), J((t + A) * l), J((f - e) * l), "c"].join(" ")), null !== n && $(ut(n)), this }, q.circle = function (t, e, A, r) { return this.ellipse(t, e, A, A, r) }, q.setProperties = function (t) { for (var e in z) z.hasOwnProperty(e) && t[e] && (z[e] = t[e]); return this }, q.setFontSize = function (t) { return C = t, this }, q.setFont = function (t, e) { return c = ct(t, e), this }, q.setFontStyle = q.setFontType = function (t) { return c = ct(void 0, t), this }, q.getFontList = function () { var t, e, A, r = {}; for (t in T) if (T.hasOwnProperty(t)) for (e in r[t] = A = [], T[t]) T[t].hasOwnProperty(e) && A.push(e); return r }, q.addFont = function (t, e, A, r) { nt(t, e, A, r = r || "Identity-H") }, q.setLineWidth = function (t) { return $((t * l).toFixed(2) + " w"), this }, q.setDrawColor = function (t, e, A, r) { return $(V({ ch1: t, ch2: e, ch3: A, ch4: r, pdfColorType: "draw", precision: 2 })), this }, q.setFillColor = function (t, e, A, r) { return $(V({ ch1: t, ch2: e, ch3: A, ch4: r, pdfColorType: "fill", precision: 2 })), this }, q.setTextColor = function (t, e, A, r) { return v = V({ ch1: t, ch2: e, ch3: A, ch4: r, pdfColorType: "text", precision: 3 }), this }, q.setCharSpace = function (t) { return U = t, this }, q.setR2L = function (t) { return b = t, this }, q.CapJoinStyles = { 0: 0, butt: 0, but: 0, miter: 0, 1: 1, round: 1, rounded: 1, circle: 1, 2: 2, projecting: 2, project: 2, square: 2, bevel: 2 }, q.setLineCap = function (t) { var e = this.CapJoinStyles[t]; if (void 0 === e) throw new Error("Line cap style of '" + t + "' is not recognized. See or extend .CapJoinStyles property for valid styles"); return $((R = e) + " J"), this }, q.setLineJoin = function (t) { var e = this.CapJoinStyles[t]; if (void 0 === e) throw new Error("Line join style of '" + t + "' is not recognized. See or extend .CapJoinStyles property for valid styles"); return $((M = e) + " j"), this }, q.output = ft, q.save = function (t) { q.output("save", t) }, A.API) A.API.hasOwnProperty(gt) && ("events" === gt && A.API.events.length ? function (t, e) { var A, r, n; for (n = e.length - 1; -1 !== n; n--)A = e[n][0], r = e[n][1], t.subscribe.apply(t, [A].concat("function" == typeof r ? [r] : r)) }(j, A.API.events) : q[gt] = A.API[gt]); return function () { for (var t = "helvetica", e = "times", A = "courier", r = "normal", n = "bold", i = "italic", o = "bolditalic", a = [["Helvetica", t, r, "WinAnsiEncoding"], ["Helvetica-Bold", t, n, "WinAnsiEncoding"], ["Helvetica-Oblique", t, i, "WinAnsiEncoding"], ["Helvetica-BoldOblique", t, o, "WinAnsiEncoding"], ["Courier", A, r, "WinAnsiEncoding"], ["Courier-Bold", A, n, "WinAnsiEncoding"], ["Courier-Oblique", A, i, "WinAnsiEncoding"], ["Courier-BoldOblique", A, o, "WinAnsiEncoding"], ["Times-Roman", e, r, "WinAnsiEncoding"], ["Times-Bold", e, n, "WinAnsiEncoding"], ["Times-Italic", e, i, "WinAnsiEncoding"], ["Times-BoldItalic", e, o, "WinAnsiEncoding"], ["ZapfDingbats", "zapfdingbats", r, null], ["Symbol", "symbol", r, null]], s = 0, c = a.length; s < c; s++) { var l = nt(a[s][0], a[s][1], a[s][2], a[s][3]), u = a[s][0].split("-"); rt(l, u[0], u[1] || "") } j.publish("addFonts", { fonts: _, dictionary: T }) }(), c = "F1", ot(o, e), j.publish("initialized"), q } var r = "1.3", n = { 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], dl: [311.81, 623.62], letter: [612, 792], "government-letter": [576, 756], legal: [612, 1008], "junior-legal": [576, 360], ledger: [1224, 792], tabloid: [792, 1224], "credit-card": [153, 243] }; return A.API = { events: [] }, A.version = "0.0.0", e.exports ? (e.exports = A, e.exports.jsPDF = A) : t.jsPDF = A, A }("undefined" != typeof self && self || "undefined" != typeof window && window || void 0 !== r && r || Function('return typeof this === "object" && this.content')() || Function("return this")()); !function (t, e) { var A, r, n = 1, i = function (t, e) { t.prototype = Object.create(e.prototype), t.prototype.constructor = t }, o = function (t) { return t * (n / 1) }, a = function (t) { var e = new F, A = R.internal.getHeight(t) || 0, r = R.internal.getWidth(t) || 0; return e.BBox = [0, 0, r.toFixed(2), A.toFixed(2)], e }, s = function (t, e, A) { t = t || 0; var r = 1; return r <<= e - 1, 1 == (A = A || 1) ? t |= r : t &= ~r, t }, c = function (t, e, A) { return A = A || 1.3, t = t || 0, 1 == e.readOnly && (t = s(t, 1)), 1 == e.required && (t = s(t, 2)), 1 == e.noExport && (t = s(t, 3)), 1 == e.multiline && (t = s(t, 13)), e.password && (t = s(t, 14)), e.noToggleToOff && (t = s(t, 15)), e.radio && (t = s(t, 16)), e.pushbutton && (t = s(t, 17)), e.combo && (t = s(t, 18)), e.edit && (t = s(t, 19)), e.sort && (t = s(t, 20)), e.fileSelect && 1.4 <= A && (t = s(t, 21)), e.multiSelect && 1.4 <= A && (t = s(t, 22)), e.doNotSpellCheck && 1.4 <= A && (t = s(t, 23)), 1 == e.doNotScroll && 1.4 <= A && (t = s(t, 24)), e.richText && 1.4 <= A && (t = s(t, 25)), t }, l = function (t) { var e = t[0], A = t[1], n = t[2], i = t[3], a = {}; return Array.isArray(e) ? (e[0] = o(e[0]), e[1] = o(e[1]), e[2] = o(e[2]), e[3] = o(e[3])) : (e = o(e), A = o(A), n = o(n), i = o(i)), a.lowerLeft_X = e || 0, a.lowerLeft_Y = o(r) - A - i || 0, a.upperRight_X = e + n || 0, a.upperRight_Y = o(r) - A || 0, [a.lowerLeft_X.toFixed(2), a.lowerLeft_Y.toFixed(2), a.upperRight_X.toFixed(2), a.upperRight_Y.toFixed(2)] }, u = function (t) { if (t.appearanceStreamContent) return t.appearanceStreamContent; if (t.V || t.DV) { var e = [], A = t.V || t.DV, r = h(t, A); e.push("/Tx BMC"), e.push("q"), e.push("/F1 " + r.fontSize.toFixed(2) + " Tf"), e.push("1 0 0 1 0 0 Tm"), e.push("BT"), e.push(r.text), e.push("ET"), e.push("Q"), e.push("EMC"); var n = new a(t); return n.stream = e.join("\n"), n } }, h = function (t, e, A, r) { r = r || 12, A = A || "helvetica"; var n = { text: "", fontSize: "" }, i = (e = ")" == (e = "(" == e.substr(0, 1) ? e.substr(1) : e).substr(e.length - 1) ? e.substr(0, e.length - 1) : e).split(" "), o = r, a = R.internal.getHeight(t) || 0; a = a < 0 ? -a : a; var s = R.internal.getWidth(t) || 0; s = s < 0 ? -s : s; var c = function (t, e, r) { if (t + 1 < i.length) { var n = e + " " + i[t + 1]; return d(n, r + "px", A).width <= s - 4 } return !1 }; o++; t: for (; ;) { e = ""; var l = d("3", --o + "px", A).height, u = t.multiline ? a - o : (a - l) / 2, h = -2, f = u += 2, p = 0, g = 0, B = 0; if (o <= 0) { o = 12, e = "(...) Tj\n", e += "% Width of Text: " + d(e, "1px").width + ", FieldWidth:" + s + "\n"; break } B = d(i[0] + " ", o + "px", A).width; var w = "", m = 0; for (var y in i) { w = " " == (w += i[y] + " ").substr(w.length - 1) ? w.substr(0, w.length - 1) : w; var v = parseInt(y); B = d(w + " ", o + "px", A).width; var Q = c(v, w, o), C = y >= i.length - 1; if (!Q || C) { if (Q || C) { if (C) g = v; else if (t.multiline && a < (l + 2) * (m + 2) + 2) continue t } else { if (!t.multiline) continue t; if (a < (l + 2) * (m + 2) + 2) continue t; g = v } for (var U = "", b = p; b <= g; b++)U += i[b] + " "; switch (U = " " == U.substr(U.length - 1) ? U.substr(0, U.length - 1) : U, B = d(U, o + "px", A).width, t.Q) { case 2: h = s - B - 2; break; case 1: h = (s - B) / 2; break; case 0: default: h = 2 }e += h.toFixed(2) + " " + f.toFixed(2) + " Td\n", e += "(" + U + ") Tj\n", e += -h.toFixed(2) + " 0 Td\n", f = -(o + 2), B = 0, p = g + 1, m++ , w = "" } else w += " " } break } return n.text = e, n.fontSize = o, n }, d = function (t, e, r) { r = r || "helvetica"; var n = A.internal.getFont(r), i = A.getStringUnitWidth(t, { font: n, fontSize: parseFloat(e), charSpace: 0 }) * parseFloat(e); return { height: A.getStringUnitWidth("3", { font: n, fontSize: parseFloat(e), charSpace: 0 }) * parseFloat(e) * 1.5, width: i } }, f = { fields: [], xForms: [], acroFormDictionaryRoot: null, printedOut: !1, internal: null, isInitialized: !1 }, p = function () { for (var t in A.internal.acroformPlugin.acroFormDictionaryRoot.Fields) { var e = A.internal.acroformPlugin.acroFormDictionaryRoot.Fields[t]; e.hasAnnotation && B.call(A, e) } }, g = function (t) { A.internal.acroformPlugin.printedOut && (A.internal.acroformPlugin.printedOut = !1, A.internal.acroformPlugin.acroFormDictionaryRoot = null), A.internal.acroformPlugin.acroFormDictionaryRoot || Q.call(A), A.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t) }, B = function (t) { var e = { type: "reference", object: t }; A.annotationPlugin.annotations[A.internal.getPageInfo(t.page).pageNumber].push(e) }, w = function () { void 0 !== A.internal.acroformPlugin.acroFormDictionaryRoot ? A.internal.write("/AcroForm " + A.internal.acroformPlugin.acroFormDictionaryRoot.objId + " 0 R") : console.log("Root missing...") }, m = function () { A.internal.events.unsubscribe(A.internal.acroformPlugin.acroFormDictionaryRoot._eventID), delete A.internal.acroformPlugin.acroFormDictionaryRoot._eventID, A.internal.acroformPlugin.printedOut = !0 }, y = function (t) { var e = !t; t || (A.internal.newObjectDeferredBegin(A.internal.acroformPlugin.acroFormDictionaryRoot.objId), A.internal.out(A.internal.acroformPlugin.acroFormDictionaryRoot.getString())), t = t || A.internal.acroformPlugin.acroFormDictionaryRoot.Kids; for (var r in t) { var n = t[r], i = n.Rect; n.Rect && (n.Rect = l.call(this, n.Rect)), A.internal.newObjectDeferredBegin(n.objId); var o = n.objId + " 0 obj\n<<\n"; if ("object" === (void 0 === n ? "undefined" : at(n)) && "function" == typeof n.getContent && (o += n.getContent()), n.Rect = i, n.hasAppearanceStream && !n.appearanceStreamContent) { var a = u.call(this, n); o += "/AP << /N " + a + " >>\n", A.internal.acroformPlugin.xForms.push(a) } if (n.appearanceStreamContent) { for (var s in o += "/AP << ", n.appearanceStreamContent) { var c = n.appearanceStreamContent[s]; if (o += "/" + s + " ", o += "<< ", 1 <= Object.keys(c).length || Array.isArray(c)) for (var r in c) { var h; "function" == typeof (h = c[r]) && (h = h.call(this, n)), o += "/" + r + " " + h + " ", 0 <= A.internal.acroformPlugin.xForms.indexOf(h) || A.internal.acroformPlugin.xForms.push(h) } else "function" == typeof (h = c) && (h = h.call(this, n)), o += "/" + r + " " + h + " \n", 0 <= A.internal.acroformPlugin.xForms.indexOf(h) || A.internal.acroformPlugin.xForms.push(h); o += " >>\n" } o += ">>\n" } o += ">>\nendobj\n", A.internal.out(o) } e && v.call(this, A.internal.acroformPlugin.xForms) }, v = function (t) { for (var e in t) { var r = e, n = t[e]; A.internal.newObjectDeferredBegin(n && n.objId); var i = ""; "object" === (void 0 === n ? "undefined" : at(n)) && "function" == typeof n.getString && (i = n.getString()), A.internal.out(i), delete t[r] } }, Q = function () { if (void 0 !== this.internal && (void 0 === this.internal.acroformPlugin || !1 === this.internal.acroformPlugin.isInitialized)) { if (A = this, x.FieldNum = 0, this.internal.acroformPlugin = JSON.parse(JSON.stringify(f)), this.internal.acroformPlugin.acroFormDictionaryRoot) throw new Error("Exception while creating AcroformDictionary"); n = A.internal.scaleFactor, r = A.internal.pageSize.getHeight(), A.internal.acroformPlugin.acroFormDictionaryRoot = new E, A.internal.acroformPlugin.acroFormDictionaryRoot._eventID = A.internal.events.subscribe("postPutResources", m), A.internal.events.subscribe("buildDocument", p), A.internal.events.subscribe("putCatalog", w), A.internal.events.subscribe("postPutPages", y), A.internal.acroformPlugin.isInitialized = !0 } }, C = function (t) { if (Array.isArray(t)) { var e = " ["; for (var A in t) e += t[A].toString(), e += A < t.length - 1 ? " " : ""; return e += "]" } }, U = function (t) { return 0 !== (t = t || "").indexOf("(") && (t = "(" + t), ")" != t.substring(t.length - 1) && (t += ")"), t }, b = function () { var t; Object.defineProperty(this, "objId", { get: function () { return t || (t = A.internal.newObjectDeferred()), t || console.log("Couldn't create Object ID"), t }, configurable: !1 }) }; b.prototype.toString = function () { return this.objId + " 0 R" }, b.prototype.getString = function () { var t = this.objId + " 0 obj\n<<"; return t += this.getContent() + ">>\n", this.stream && (t += "stream\n", t += this.stream, t += "\nendstream\n"), t += "endobj\n" }, b.prototype.getContent = function () { var t = ""; return t += function (t) { var e = "", A = Object.keys(t).filter(function (t) { return "content" != t && "appearanceStreamContent" != t && "_" != t.substring(0, 1) }); for (var r in A) { var n = A[r], i = t[n]; i && (Array.isArray(i) ? e += "/" + n + " " + C(i) + "\n" : e += i instanceof b ? "/" + n + " " + i.objId + " 0 R\n" : "/" + n + " " + i + "\n") } return e }(this) }; var F = function () { var t; b.call(this), this.Type = "/XObject", this.Subtype = "/Form", this.FormType = 1, this.BBox, this.Matrix, this.Resources = "2 0 R", this.PieceInfo, Object.defineProperty(this, "Length", { enumerable: !0, get: function () { return void 0 !== t ? t.length : 0 } }), Object.defineProperty(this, "stream", { enumerable: !1, set: function (e) { t = e.trim() }, get: function () { return t || null } }) }; i(F, b); var E = function () { b.call(this); var t = []; Object.defineProperty(this, "Kids", { enumerable: !1, configurable: !0, get: function () { return 0 < t.length ? t : void 0 } }), Object.defineProperty(this, "Fields", { enumerable: !0, configurable: !0, get: function () { return t } }), this.DA }; i(E, b); var x = function t() { var e; b.call(this), Object.defineProperty(this, "Rect", { enumerable: !0, configurable: !1, get: function () { if (e) return e }, set: function (t) { e = t } }); var A, r, n, i, o = ""; Object.defineProperty(this, "FT", { enumerable: !0, set: function (t) { o = t }, get: function () { return o } }), Object.defineProperty(this, "T", { enumerable: !0, configurable: !1, set: function (t) { A = t }, get: function () { if (!A || A.length < 1) { if (this instanceof O) return; return "(FieldObject" + t.FieldNum++ + ")" } return "(" == A.substring(0, 1) && A.substring(A.length - 1) ? A : "(" + A + ")" } }), Object.defineProperty(this, "DA", { enumerable: !0, get: function () { if (r) return "(" + r + ")" }, set: function (t) { r = t } }), Object.defineProperty(this, "DV", { enumerable: !0, configurable: !0, get: function () { if (n) return n }, set: function (t) { n = t } }), Object.defineProperty(this, "V", { enumerable: !0, configurable: !0, get: function () { if (i) return i }, set: function (t) { i = t } }), Object.defineProperty(this, "Type", { enumerable: !0, get: function () { return this.hasAnnotation ? "/Annot" : null } }), Object.defineProperty(this, "Subtype", { enumerable: !0, get: function () { return this.hasAnnotation ? "/Widget" : null } }), this.BG, Object.defineProperty(this, "hasAnnotation", { enumerable: !1, get: function () { return !!(this.Rect || this.BC || this.BG) } }), Object.defineProperty(this, "hasAppearanceStream", { enumerable: !1, configurable: !0, writable: !0 }), Object.defineProperty(this, "page", { enumerable: !1, configurable: !0, writable: !0 }) }; i(x, b); var H = function () { x.call(this), this.FT = "/Ch", this.Opt = [], this.V = "()", this.TI = 0; var t = !1; Object.defineProperty(this, "combo", { enumerable: !1, get: function () { return t }, set: function (e) { t = e } }), Object.defineProperty(this, "edit", { enumerable: !0, set: function (t) { 1 == t ? (this._edit = !0, this.combo = !0) : this._edit = !1 }, get: function () { return !!this._edit && this._edit }, configurable: !1 }), this.hasAppearanceStream = !0 }; i(H, x); var I = function () { H.call(this), this.combo = !1 }; i(I, H); var S = function () { I.call(this), this.combo = !0 }; i(S, I); var _ = function () { S.call(this), this.edit = !0 }; i(_, S); var T = function () { x.call(this), this.FT = "/Btn" }; i(T, x); var N = function () { T.call(this); var t = !0; Object.defineProperty(this, "pushbutton", { enumerable: !1, get: function () { return t }, set: function (e) { t = e } }) }; i(N, T); var k = function () { T.call(this); var t = !0; Object.defineProperty(this, "radio", { enumerable: !1, get: function () { return t }, set: function (e) { t = e } }); var e, A = []; Object.defineProperty(this, "Kids", { enumerable: !0, get: function () { if (0 < A.length) return A } }), Object.defineProperty(this, "__Kids", { get: function () { return A } }), Object.defineProperty(this, "noToggleToOff", { enumerable: !1, get: function () { return e }, set: function (t) { e = t } }) }; i(k, T); var O = function (t, e) { x.call(this), this.Parent = t, this._AppearanceType = R.RadioButton.Circle, this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(e), this.F = s(this.F, 3, 1), this.MK = this._AppearanceType.createMK(), this.AS = "/Off", this._Name = e }; i(O, x), k.prototype.setAppearance = function (t) { if ("createAppearanceStream" in t && "createMK" in t) for (var e in this.__Kids) { var A = this.__Kids[e]; A.appearanceStreamContent = t.createAppearanceStream(A._Name), A.MK = t.createMK() } else console.log("Couldn't assign Appearance to RadioButton. Appearance was Invalid!") }, k.prototype.createOption = function (e) { this.__Kids.length; var A = new O(this, e); return this.__Kids.push(A), t.addField(A), A }; var P = function () { T.call(this), this.appearanceStreamContent = R.CheckBox.createAppearanceStream(), this.MK = R.CheckBox.createMK(), this.AS = "/On", this.V = "/On" }; i(P, T); var D = function () { var t, e; x.call(this), this.DA = R.createDefaultAppearanceStream(), this.F = 4, Object.defineProperty(this, "V", { get: function () { return t ? U(t) : t }, enumerable: !0, set: function (e) { t = e } }), Object.defineProperty(this, "DV", { get: function () { return e ? U(e) : e }, enumerable: !0, set: function (t) { e = t } }); var A = !1; Object.defineProperty(this, "multiline", { enumerable: !1, get: function () { return A }, set: function (t) { A = t } }); var r = !1; Object.defineProperty(this, "fileSelect", { enumerable: !1, get: function () { return r }, set: function (t) { r = t } }); var n = !1; Object.defineProperty(this, "doNotSpellCheck", { enumerable: !1, get: function () { return n }, set: function (t) { n = t } }); var i = !1; Object.defineProperty(this, "doNotScroll", { enumerable: !1, get: function () { return i }, set: function (t) { i = t } }); var o = !1; Object.defineProperty(this, "MaxLen", { enumerable: !0, get: function () { return o }, set: function (t) { o = t } }), Object.defineProperty(this, "hasAppearanceStream", { enumerable: !1, get: function () { return this.V || this.DV } }) }; i(D, x); var L = function () { D.call(this); var t = !0; Object.defineProperty(this, "password", { enumerable: !1, get: function () { return t }, set: function (e) { t = e } }) }; i(L, D); var R = { CheckBox: { createAppearanceStream: function () { return { N: { On: R.CheckBox.YesNormal }, D: { On: R.CheckBox.YesPushDown, Off: R.CheckBox.OffPushDown } } }, createMK: function () { return "<< /CA (3)>>" }, YesPushDown: function (t) { var e = a(t), r = [], n = A.internal.getFont("zapfdingbats", "normal").id; t.Q = 1; var i = h(t, "3", "ZapfDingbats", 50); return r.push("0.749023 g"), r.push("0 0 " + R.internal.getWidth(t).toFixed(2) + " " + R.internal.getHeight(t).toFixed(2) + " re"), r.push("f"), r.push("BMC"), r.push("q"), r.push("0 0 1 rg"), r.push("/" + n + " " + i.fontSize.toFixed(2) + " Tf 0 g"), r.push("BT"), r.push(i.text), r.push("ET"), r.push("Q"), r.push("EMC"), e.stream = r.join("\n"), e }, YesNormal: function (t) { var e = a(t), r = A.internal.getFont("zapfdingbats", "normal").id, n = []; t.Q = 1; var i = R.internal.getHeight(t), o = R.internal.getWidth(t), s = h(t, "3", "ZapfDingbats", .9 * i); return n.push("1 g"), n.push("0 0 " + o.toFixed(2) + " " + i.toFixed(2) + " re"), n.push("f"), n.push("q"), n.push("0 0 1 rg"), n.push("0 0 " + (o - 1).toFixed(2) + " " + (i - 1).toFixed(2) + " re"), n.push("W"), n.push("n"), n.push("0 g"), n.push("BT"), n.push("/" + r + " " + s.fontSize.toFixed(2) + " Tf 0 g"), n.push(s.text), n.push("ET"), n.push("Q"), e.stream = n.join("\n"), e }, OffPushDown: function (t) { var e = a(t), A = []; return A.push("0.749023 g"), A.push("0 0 " + R.internal.getWidth(t).toFixed(2) + " " + R.internal.getHeight(t).toFixed(2) + " re"), A.push("f"), e.stream = A.join("\n"), e } }, RadioButton: { Circle: { createAppearanceStream: function (t) { var e = { D: { Off: R.RadioButton.Circle.OffPushDown }, N: {} }; return e.N[t] = R.RadioButton.Circle.YesNormal, e.D[t] = R.RadioButton.Circle.YesPushDown, e }, createMK: function () { return "<< /CA (l)>>" }, YesNormal: function (t) { var e = a(t), A = [], r = R.internal.getWidth(t) <= R.internal.getHeight(t) ? R.internal.getWidth(t) / 4 : R.internal.getHeight(t) / 4; r *= .9; var n = R.internal.Bezier_C; return A.push("q"), A.push("1 0 0 1 " + R.internal.getWidth(t) / 2 + " " + R.internal.getHeight(t) / 2 + " cm"), A.push(r + " 0 m"), A.push(r + " " + r * n + " " + r * n + " " + r + " 0 " + r + " c"), A.push("-" + r * n + " " + r + " -" + r + " " + r * n + " -" + r + " 0 c"), A.push("-" + r + " -" + r * n + " -" + r * n + " -" + r + " 0 -" + r + " c"), A.push(r * n + " -" + r + " " + r + " -" + r * n + " " + r + " 0 c"), A.push("f"), A.push("Q"), e.stream = A.join("\n"), e }, YesPushDown: function (t) { var e = a(t), A = [], r = R.internal.getWidth(t) <= R.internal.getHeight(t) ? R.internal.getWidth(t) / 4 : R.internal.getHeight(t) / 4, n = 2 * (r *= .9), i = n * R.internal.Bezier_C, o = r * R.internal.Bezier_C; return A.push("0.749023 g"), A.push("q"), A.push("1 0 0 1 " + (R.internal.getWidth(t) / 2).toFixed(2) + " " + (R.internal.getHeight(t) / 2).toFixed(2) + " cm"), A.push(n + " 0 m"), A.push(n + " " + i + " " + i + " " + n + " 0 " + n + " c"), A.push("-" + i + " " + n + " -" + n + " " + i + " -" + n + " 0 c"), A.push("-" + n + " -" + i + " -" + i + " -" + n + " 0 -" + n + " c"), A.push(i + " -" + n + " " + n + " -" + i + " " + n + " 0 c"), A.push("f"), A.push("Q"), A.push("0 g"), A.push("q"), A.push("1 0 0 1 " + (R.internal.getWidth(t) / 2).toFixed(2) + " " + (R.internal.getHeight(t) / 2).toFixed(2) + " cm"), A.push(r + " 0 m"), A.push(r + " " + o + " " + o + " " + r + " 0 " + r + " c"), A.push("-" + o + " " + r + " -" + r + " " + o + " -" + r + " 0 c"), A.push("-" + r + " -" + o + " -" + o + " -" + r + " 0 -" + r + " c"), A.push(o + " -" + r + " " + r + " -" + o + " " + r + " 0 c"), A.push("f"), A.push("Q"), e.stream = A.join("\n"), e }, OffPushDown: function (t) { var e = a(t), A = [], r = R.internal.getWidth(t) <= R.internal.getHeight(t) ? R.internal.getWidth(t) / 4 : R.internal.getHeight(t) / 4, n = 2 * (r *= .9), i = n * R.internal.Bezier_C; return A.push("0.749023 g"), A.push("q"), A.push("1 0 0 1 " + (R.internal.getWidth(t) / 2).toFixed(2) + " " + (R.internal.getHeight(t) / 2).toFixed(2) + " cm"), A.push(n + " 0 m"), A.push(n + " " + i + " " + i + " " + n + " 0 " + n + " c"), A.push("-" + i + " " + n + " -" + n + " " + i + " -" + n + " 0 c"), A.push("-" + n + " -" + i + " -" + i + " -" + n + " 0 -" + n + " c"), A.push(i + " -" + n + " " + n + " -" + i + " " + n + " 0 c"), A.push("f"), A.push("Q"), e.stream = A.join("\n"), e } }, Cross: { createAppearanceStream: function (t) { var e = { D: { Off: R.RadioButton.Cross.OffPushDown }, N: {} }; return e.N[t] = R.RadioButton.Cross.YesNormal, e.D[t] = R.RadioButton.Cross.YesPushDown, e }, createMK: function () { return "<< /CA (8)>>" }, YesNormal: function (t) { var e = a(t), A = [], r = R.internal.calculateCross(t); return A.push("q"), A.push("1 1 " + (R.internal.getWidth(t) - 2).toFixed(2) + " " + (R.internal.getHeight(t) - 2).toFixed(2) + " re"), A.push("W"), A.push("n"), A.push(r.x1.x.toFixed(2) + " " + r.x1.y.toFixed(2) + " m"), A.push(r.x2.x.toFixed(2) + " " + r.x2.y.toFixed(2) + " l"), A.push(r.x4.x.toFixed(2) + " " + r.x4.y.toFixed(2) + " m"), A.push(r.x3.x.toFixed(2) + " " + r.x3.y.toFixed(2) + " l"), A.push("s"), A.push("Q"), e.stream = A.join("\n"), e }, YesPushDown: function (t) { var e = a(t), A = R.internal.calculateCross(t), r = []; return r.push("0.749023 g"), r.push("0 0 " + R.internal.getWidth(t).toFixed(2) + " " + R.internal.getHeight(t).toFixed(2) + " re"), r.push("f"), r.push("q"), r.push("1 1 " + (R.internal.getWidth(t) - 2).toFixed(2) + " " + (R.internal.getHeight(t) - 2).toFixed(2) + " re"), r.push("W"), r.push("n"), r.push(A.x1.x.toFixed(2) + " " + A.x1.y.toFixed(2) + " m"), r.push(A.x2.x.toFixed(2) + " " + A.x2.y.toFixed(2) + " l"), r.push(A.x4.x.toFixed(2) + " " + A.x4.y.toFixed(2) + " m"), r.push(A.x3.x.toFixed(2) + " " + A.x3.y.toFixed(2) + " l"), r.push("s"), r.push("Q"), e.stream = r.join("\n"), e }, OffPushDown: function (t) { var e = a(t), A = []; return A.push("0.749023 g"), A.push("0 0 " + R.internal.getWidth(t).toFixed(2) + " " + R.internal.getHeight(t).toFixed(2) + " re"), A.push("f"), e.stream = A.join("\n"), e } } }, createDefaultAppearanceStream: function (t) { return "/F1 0 Tf 0 g" } }; R.internal = { Bezier_C: .551915024494, calculateCross: function (t) { var e, A, r = R.internal.getWidth(t), n = R.internal.getHeight(t), i = (A = n) < (e = r) ? A : e; return { x1: { x: (r - i) / 2, y: (n - i) / 2 + i }, x2: { x: (r - i) / 2 + i, y: (n - i) / 2 }, x3: { x: (r - i) / 2, y: (n - i) / 2 }, x4: { x: (r - i) / 2 + i, y: (n - i) / 2 + i } } } }, R.internal.getWidth = function (t) { var e = 0; return "object" === (void 0 === t ? "undefined" : at(t)) && (e = o(t.Rect[2])), e }, R.internal.getHeight = function (t) { var e = 0; return "object" === (void 0 === t ? "undefined" : at(t)) && (e = o(t.Rect[3])), e }, t.addField = function (t) { return Q.call(this), t instanceof D ? this.addTextField.call(this, t) : t instanceof H ? this.addChoiceField.call(this, t) : t instanceof T ? this.addButton.call(this, t) : t instanceof O ? g.call(this, t) : t && g.call(this, t), t.page = A.internal.getCurrentPageInfo().pageNumber, this }, t.addButton = function (t) { Q.call(this); var e = t || new x; e.FT = "/Btn", e.Ff = c(e.Ff, t, A.internal.getPDFVersion()), g.call(this, e) }, t.addTextField = function (t) { Q.call(this); var e = t || new x; e.FT = "/Tx", e.Ff = c(e.Ff, t, A.internal.getPDFVersion()), g.call(this, e) }, t.addChoiceField = function (t) { Q.call(this); var e = t || new x; e.FT = "/Ch", e.Ff = c(e.Ff, t, A.internal.getPDFVersion()), g.call(this, e) }, "object" == (void 0 === e ? "undefined" : at(e)) && (e.ChoiceField = H, e.ListBox = I, e.ComboBox = S, e.EditBox = _, e.Button = T, e.PushButton = N, e.RadioButton = k, e.CheckBox = P, e.TextField = D, e.PasswordField = L, e.AcroForm = { Appearance: R }), t.AcroFormChoiceField = H, t.AcroFormListBox = I, t.AcroFormComboBox = S, t.AcroFormEditBox = _, t.AcroFormButton = T, t.AcroFormPushButton = N, t.AcroFormRadioButton = k, t.AcroFormCheckBox = P, t.AcroFormTextField = D, t.AcroFormPasswordField = L, t.AcroForm = { ChoiceField: H, ListBox: I, ComboBox: S, EditBox: _, Button: T, PushButton: N, RadioButton: k, CheckBox: P, TextField: D, PasswordField: L } }(st.API, "undefined" != typeof window && window || void 0 !== r && r), st.API.addHTML = function (t, e, A, r, n) { if ("undefined" == typeof html2canvas && "undefined" == typeof rasterizeHTML) throw new Error("You need either https://github.com/niklasvh/html2canvas or https://github.com/cburgmer/rasterizeHTML.js"); "number" != typeof e && (r = e, n = A), "function" == typeof r && (n = r, r = null), "function" != typeof n && (n = function () { }); var i = this.internal, o = i.scaleFactor, a = i.pageSize.getWidth(), s = i.pageSize.getHeight(); if ((r = r || {}).onrendered = function (t) { e = parseInt(e) || 0, A = parseInt(A) || 0; var i = r.dim || {}, c = Object.assign({ top: 0, right: 0, bottom: 0, left: 0, useFor: "content" }, r.margin), l = i.h || Math.min(s, t.height / o), u = i.w || Math.min(a, t.width / o) - e, h = r.format || "JPEG", d = r.imageCompression || "SLOW"; if (t.height > s - c.top - c.bottom && r.pagesplit) { var f = function (t, e, A, n, i) { var o = document.createElement("canvas"); o.height = i, o.width = n; var a = o.getContext("2d"); return a.mozImageSmoothingEnabled = !1, a.webkitImageSmoothingEnabled = !1, a.msImageSmoothingEnabled = !1, a.imageSmoothingEnabled = !1, a.fillStyle = r.backgroundColor || "#ffffff", a.fillRect(0, 0, n, i), a.drawImage(t, e, A, n, i, 0, 0, n, i), o }, p = function () { for (var r, i, l = 0, p = 0, g = {}, B = !1; ;) { var w; if (p = 0, g.top = 0 !== l ? c.top : A, g.left = 0 !== l ? c.left : e, B = (a - c.left - c.right) * o < t.width, "content" === c.useFor ? 0 === l ? (r = Math.min((a - c.left) * o, t.width), i = Math.min((s - c.top) * o, t.height - l)) : (r = Math.min(a * o, t.width), i = Math.min(s * o, t.height - l), g.top = 0) : (r = Math.min((a - c.left - c.right) * o, t.width), i = Math.min((s - c.bottom - c.top) * o, t.height - l)), B) for (; ;) { "content" === c.useFor && (0 === p ? r = Math.min((a - c.left) * o, t.width) : (r = Math.min(a * o, t.width - p), g.left = 0)); var m = [w = f(t, p, l, r, i), g.left, g.top, w.width / o, w.height / o, h, null, d]; if (this.addImage.apply(this, m), (p += r) >= t.width) break; this.addPage() } else m = [w = f(t, 0, l, r, i), g.left, g.top, w.width / o, w.height / o, h, null, d], this.addImage.apply(this, m); if ((l += i) >= t.height) break; this.addPage() } n(u, l, null, m) }.bind(this); if ("CANVAS" === t.nodeName) { var g = new Image; g.onload = p, g.src = t.toDataURL("image/png"), t = g } else p() } else { var B = Math.random().toString(35), w = [t, e, A, u, l, h, B, d]; this.addImage.apply(this, w), n(u, l, B, w) } }.bind(this), "undefined" != typeof html2canvas && !r.rstz) return html2canvas(t, r); if ("undefined" != typeof rasterizeHTML) { var c = "drawDocument"; return "string" == typeof t && (c = /^http/.test(t) ? "drawURL" : "drawHTML"), r.width = r.width || a * o, rasterizeHTML[c](t, void 0, r).then(function (t) { r.onrendered(t.image) }, function (t) { n(null, t) }) } return null }, function (t) { var e = "addImage_", A = { PNG: [[137, 80, 78, 71]], TIFF: [[77, 77, 0, 42], [73, 73, 42, 0]], JPEG: [[255, 216, 255, 224, void 0, void 0, 74, 70, 73, 70, 0], [255, 216, 255, 225, void 0, void 0, 69, 120, 105, 102, 0, 0]], JPEG2000: [[0, 0, 0, 12, 106, 80, 32, 32]], GIF87a: [[71, 73, 70, 56, 55, 97]], GIF89a: [[71, 73, 70, 56, 57, 97]], BMP: [[66, 77], [66, 65], [67, 73], [67, 80], [73, 67], [80, 84]] }; t.getImageFileTypeByImageData = function (t, e) { var r, n; e = e || "UNKNOWN"; var i, o, a, s = "UNKNOWN"; for (a in A) for (i = A[a], r = 0; r < i.length; r += 1) { for (o = !0, n = 0; n < i[r].length; n += 1)if (void 0 !== i[r][n] && i[r][n] !== t.charCodeAt(n)) { o = !1; break } if (!0 === o) { s = a; break } } return "UNKOWN" === s && "UNKNOWN" !== e && (console.warn('FileType of Image not recognized. Processing image as "' + e + '".'), s = e), s }; var r = function t(e) { var A = this.internal.newObject(), r = this.internal.write, n = this.internal.putStream; if (e.n = A, r("<</Type /XObject"), r("/Subtype /Image"), r("/Width " + e.w), r("/Height " + e.h), e.cs === this.color_spaces.INDEXED ? r("/ColorSpace [/Indexed /DeviceRGB " + (e.pal.length / 3 - 1) + " " + ("smask" in e ? A + 2 : A + 1) + " 0 R]") : (r("/ColorSpace /" + e.cs), e.cs === this.color_spaces.DEVICE_CMYK && r("/Decode [1 0 1 0 1 0 1 0]")), r("/BitsPerComponent " + e.bpc), "f" in e && r("/Filter /" + e.f), "dp" in e && r("/DecodeParms <<" + e.dp + ">>"), "trns" in e && e.trns.constructor == Array) { for (var i = "", o = 0, a = e.trns.length; o < a; o++)i += e.trns[o] + " " + e.trns[o] + " "; r("/Mask [" + i + "]") } if ("smask" in e && r("/SMask " + (A + 1) + " 0 R"), r("/Length " + e.data.length + ">>"), n(e.data), r("endobj"), "smask" in e) { var s = "/Predictor " + e.p + " /Colors 1 /BitsPerComponent " + e.bpc + " /Columns " + e.w, c = { w: e.w, h: e.h, cs: "DeviceGray", bpc: e.bpc, dp: s, data: e.smask }; "f" in e && (c.f = e.f), t.call(this, c) } e.cs === this.color_spaces.INDEXED && (this.internal.newObject(), r("<< /Length " + e.pal.length + ">>"), n(this.arrayBufferToBinaryString(new Uint8Array(e.pal))), r("endobj")) }, n = function () { var t = this.internal.collections[e + "images"]; for (var A in t) r.call(this, t[A]) }, i = function () { var t, A = this.internal.collections[e + "images"], r = this.internal.write; for (var n in A) r("/I" + (t = A[n]).i, t.n, "0", "R") }, o = function (e) { return "function" == typeof t["process" + e.toUpperCase()] }, a = function (t) { return "object" === (void 0 === t ? "undefined" : at(t)) && 1 === t.nodeType }, s = function (t, e) { if ("IMG" === t.nodeName && t.hasAttribute("src")) { var A = "" + t.getAttribute("src"); if (0 === A.indexOf("data:image/")) return A; !e && /\.png(?:[?#].*)?$/i.test(A) && (e = "png") } if ("CANVAS" === t.nodeName) var r = t; else { (r = document.createElement("canvas")).width = t.clientWidth || t.width, r.height = t.clientHeight || t.height; var n = r.getContext("2d"); if (!n) throw "addImage requires canvas to be supported by browser."; n.drawImage(t, 0, 0, r.width, r.height) } return r.toDataURL("png" == ("" + e).toLowerCase() ? "image/png" : "image/jpeg") }, c = function (t, e) { var A; if (e) for (var r in e) if (t === e[r].alias) { A = e[r]; break } return A }; t.color_spaces = { DEVICE_RGB: "DeviceRGB", DEVICE_GRAY: "DeviceGray", DEVICE_CMYK: "DeviceCMYK", CAL_GREY: "CalGray", CAL_RGB: "CalRGB", LAB: "Lab", ICC_BASED: "ICCBased", INDEXED: "Indexed", PATTERN: "Pattern", SEPARATION: "Separation", DEVICE_N: "DeviceN" }, t.decode = { DCT_DECODE: "DCTDecode", FLATE_DECODE: "FlateDecode", LZW_DECODE: "LZWDecode", JPX_DECODE: "JPXDecode", JBIG2_DECODE: "JBIG2Decode", ASCII85_DECODE: "ASCII85Decode", ASCII_HEX_DECODE: "ASCIIHexDecode", RUN_LENGTH_DECODE: "RunLengthDecode", CCITT_FAX_DECODE: "CCITTFaxDecode" }, t.image_compression = { NONE: "NONE", FAST: "FAST", MEDIUM: "MEDIUM", SLOW: "SLOW" }, t.sHashCode = function (t) { return t = t || "", Array.prototype.reduce && t.split("").reduce(function (t, e) { return (t = (t << 5) - t + e.charCodeAt(0)) & t }, 0) }, t.isString = function (t) { return "string" == typeof t }, t.validateStringAsBase64 = function (t) { var e = !0; return (t = t || "").length % 4 != 0 && (e = !1), !1 === /[A-Za-z0-9\/]+/.test(t.substr(0, t.length - 2)) && (e = !1), !1 === /[A-Za-z0-9\/][A-Za-z0-9+\/]|[A-Za-z0-9+\/]=|==/.test(t.substr(-2)) && (e = !1), e }, t.extractInfoFromBase64DataURI = function (t) { return /^data:([\w]+?\/([\w]+?));base64,(.+)$/g.exec(t) }, t.supportsArrayBuffer = function () { return "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array }, t.isArrayBuffer = function (t) { return !!this.supportsArrayBuffer() && t instanceof ArrayBuffer }, t.isArrayBufferView = function (t) { return !!this.supportsArrayBuffer() && "undefined" != typeof Uint32Array && (t instanceof Int8Array || t instanceof Uint8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) }, t.binaryStringToUint8Array = function (t) { for (var e = t.length, A = new Uint8Array(e), r = 0; r < e; r++)A[r] = t.charCodeAt(r); return A }, t.arrayBufferToBinaryString = function (t) { if ("function" == typeof atob) return atob(this.arrayBufferToBase64(t)); if ("function" == typeof TextDecoder) { var e = new TextDecoder("ascii"); if ("ascii" === e.encoding) return e.decode(t) } for (var A = this.isArrayBuffer(t) ? t : new Uint8Array(t), r = 20480, n = "", i = Math.ceil(A.byteLength / r), o = 0; o < i; o++)n += String.fromCharCode.apply(null, A.slice(o * r, o * r + r)); return n }, t.arrayBufferToBase64 = function (t) { for (var e, A = "", r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", n = new Uint8Array(t), i = n.byteLength, o = i % 3, a = i - o, s = 0; s < a; s += 3)A += r[(16515072 & (e = n[s] << 16 | n[s + 1] << 8 | n[s + 2])) >> 18] + r[(258048 & e) >> 12] + r[(4032 & e) >> 6] + r[63 & e]; return 1 == o ? A += r[(252 & (e = n[a])) >> 2] + r[(3 & e) << 4] + "==" : 2 == o && (A += r[(64512 & (e = n[a] << 8 | n[a + 1])) >> 10] + r[(1008 & e) >> 4] + r[(15 & e) << 2] + "="), A }, t.createImageInfo = function (t, e, A, r, n, i, o, a, s, c, l, u, h) { var d = { alias: a, w: e, h: A, cs: r, bpc: n, i: o, data: t }; return i && (d.f = i), s && (d.dp = s), c && (d.trns = c), l && (d.pal = l), u && (d.smask = u), h && (d.p = h), d }, t.addImage = function (A, r, l, u, h, d, f, p, g) { var B = ""; if ("string" != typeof r) { var w = d; d = h, h = u, u = l, l = r, r = w } if ("object" === (void 0 === A ? "undefined" : at(A)) && !a(A) && "imageData" in A) { var m = A; A = m.imageData, r = m.format || r, l = m.x || l || 0, u = m.y || u || 0, h = m.w || h, d = m.h || d, f = m.alias || f, p = m.compression || p, g = m.rotation || m.angle || g } if (isNaN(l) || isNaN(u)) throw console.error("jsPDF.addImage: Invalid coordinates", arguments), new Error("Invalid coordinates passed to jsPDF.addImage"); var y, v, Q, C, U, b, F, E = function () { var t = this.internal.collections[e + "images"]; return t || (this.internal.collections[e + "images"] = t = {}, this.internal.events.subscribe("putResources", n), this.internal.events.subscribe("putXobjectDict", i)), t }.call(this); if (!((y = c(A, E)) || (a(A) && (A = s(A, r)), (null == (F = f) || 0 === F.length) && (f = "string" == typeof (b = A) && t.sHashCode(b)), y = c(f, E)))) { if (this.isString(A) && ("" !== (B = this.convertStringToImageData(A)) ? A = B : void 0 !== (B = this.loadImageFile(A)) && (A = B)), r = this.getImageFileTypeByImageData(A, r), !o(r)) throw new Error("addImage does not support files of type '" + r + "', please ensure that a plugin for '" + r + "' support is added."); if (this.supportsArrayBuffer() && (A instanceof Uint8Array || (v = A, A = this.binaryStringToUint8Array(A))), !(y = this["process" + r.toUpperCase()](A, (U = 0, (C = E) && (U = Object.keys ? Object.keys(C).length : function (t) { var e = 0; for (var A in t) t.hasOwnProperty(A) && e++; return e }(C)), U), f, ((Q = p) && "string" == typeof Q && (Q = Q.toUpperCase()), Q in t.image_compression ? Q : t.image_compression.NONE), v))) throw new Error("An unkwown error occurred whilst processing the image") } return function (t, e, A, r, n, i, o, a) { var s = function (t, e, A) { return t || e || (e = t = -96), t < 0 && (t = -1 * A.w * 72 / t / this.internal.scaleFactor), e < 0 && (e = -1 * A.h * 72 / e / this.internal.scaleFactor), 0 === t && (t = e * A.w / A.h), 0 === e && (e = t * A.h / A.w), [t, e] }.call(this, A, r, n), c = this.internal.getCoordinateString, l = this.internal.getVerticalCoordinateString; if (A = s[0], r = s[1], o[i] = n, a) { a *= Math.PI / 180; var u = Math.cos(a), h = Math.sin(a), d = function (t) { return t.toFixed(4) }, f = [d(u), d(h), d(-1 * h), d(u), 0, 0, "cm"] } this.internal.write("q"), a ? (this.internal.write([1, "0", "0", 1, c(t), l(e + r), "cm"].join(" ")), this.internal.write(f.join(" ")), this.internal.write([c(A), "0", "0", c(r), "0", "0", "cm"].join(" "))) : this.internal.write([c(A), "0", "0", c(r), c(t), l(e + r), "cm"].join(" ")), this.internal.write("/I" + n.i + " Do"), this.internal.write("Q") }.call(this, l, u, h, d, y, y.i, E, g), this }, t.convertStringToImageData = function (e) { var A, r = ""; return this.isString(e) && (null !== (A = this.extractInfoFromBase64DataURI(e)) ? t.validateStringAsBase64(A[3]) && (r = atob(A[3])) : t.validateStringAsBase64(e) && (r = atob(e))), r }; var l = function (t, e) { return t.subarray(e, e + 5) }; t.processJPEG = function (t, e, A, r, n, i) { var o, a = this.decode.DCT_DECODE; if (!this.isString(t) && !this.isArrayBuffer(t) && !this.isArrayBufferView(t)) return null; if (this.isString(t) && (o = function (t) { var e; if (255 === !t.charCodeAt(0) || 216 === !t.charCodeAt(1) || 255 === !t.charCodeAt(2) || 224 === !t.charCodeAt(3) || !t.charCodeAt(6) === "J".charCodeAt(0) || !t.charCodeAt(7) === "F".charCodeAt(0) || !t.charCodeAt(8) === "I".charCodeAt(0) || !t.charCodeAt(9) === "F".charCodeAt(0) || 0 === !t.charCodeAt(10)) throw new Error("getJpegSize requires a binary string jpeg file"); for (var A = 256 * t.charCodeAt(4) + t.charCodeAt(5), r = 4, n = t.length; r < n;) { if (r += A, 255 !== t.charCodeAt(r)) throw new Error("getJpegSize could not find the size of the image"); if (192 === t.charCodeAt(r + 1) || 193 === t.charCodeAt(r + 1) || 194 === t.charCodeAt(r + 1) || 195 === t.charCodeAt(r + 1) || 196 === t.charCodeAt(r + 1) || 197 === t.charCodeAt(r + 1) || 198 === t.charCodeAt(r + 1) || 199 === t.charCodeAt(r + 1)) return e = 256 * t.charCodeAt(r + 5) + t.charCodeAt(r + 6), [256 * t.charCodeAt(r + 7) + t.charCodeAt(r + 8), e, t.charCodeAt(r + 9)]; r += 2, A = 256 * t.charCodeAt(r) + t.charCodeAt(r + 1) } }(t)), this.isArrayBuffer(t) && (t = new Uint8Array(t)), this.isArrayBufferView(t) && (o = function (t) { if (65496 != (t[0] << 8 | t[1])) throw new Error("Supplied data is not a JPEG"); for (var e, A = t.length, r = (t[4] << 8) + t[5], n = 4; n < A;) { if (r = ((e = l(t, n += r))[2] << 8) + e[3], (192 === e[1] || 194 === e[1]) && 255 === e[0] && 7 < r) return { width: ((e = l(t, n + 5))[2] << 8) + e[3], height: (e[0] << 8) + e[1], numcomponents: e[4] }; n += 2 } throw new Error("getJpegSizeFromBytes could not find the size of the image") }(t), t = n || this.arrayBufferToBinaryString(t)), void 0 === i) switch (o.numcomponents) { case 1: i = this.color_spaces.DEVICE_GRAY; break; case 4: i = this.color_spaces.DEVICE_CMYK; break; default: case 3: i = this.color_spaces.DEVICE_RGB }return this.createImageInfo(t, o.width, o.height, i, 8, a, e, A) }, t.processJPG = function () { return this.processJPEG.apply(this, arguments) }, t.loadImageFile = function (t, e, A) { if (e = e || !0, A = A || function () { }, Object.prototype.toString.call("undefined" != typeof process ? process : 0), void 0 !== ("undefined" == typeof window ? "undefined" : at(window)) && "object" === ("undefined" == typeof location ? "undefined" : at(location)) && "http" === location.protocol.substr(0, 4)) return function (t, e, A) { var r = new XMLHttpRequest, n = [], i = 0, o = function (t) { var e = t.length, A = String.fromCharCode; for (i = 0; i < e; i += 1)n.push(A(255 & t.charCodeAt(i))); return n.join("") }; if (r.open("GET", t, !e), r.overrideMimeType("text/plain; charset=x-user-defined"), !1 === e && (r.onload = function () { return o(this.responseText) }), r.send(null), 200 === r.status) return e ? o(r.responseText) : void 0; console.warn('Unable to load file "' + t + '"') }(t, e) }, t.getImageProperties = function (t) { var e, A, r = ""; if (a(t) && (t = s(t)), this.isString(t) && ("" !== (r = this.convertStringToImageData(t)) ? t = r : void 0 !== (r = this.loadImageFile(t)) && (t = r)), A = this.getImageFileTypeByImageData(t), !o(A)) throw new Error("addImage does not support files of type '" + A + "', please ensure that a plugin for '" + A + "' support is added."); if (this.supportsArrayBuffer() && (t instanceof Uint8Array || (t = this.binaryStringToUint8Array(t))), !(e = this["process" + A.toUpperCase()](t))) throw new Error("An unkwown error occurred whilst processing the image"); return { fileType: A, width: e.w, height: e.h, colorSpace: e.cs, compressionMode: e.f, bitsPerComponent: e.bpc } } }(st.API), s = st.API, c = { annotations: [], f2: function (t) { return t.toFixed(2) }, notEmpty: function (t) { if (void 0 !== t && "" != t) return !0 } }, st.API.annotationPlugin = c, st.API.events.push(["addPage", function (t) { this.annotationPlugin.annotations[t.pageNumber] = [] }]), s.events.push(["putPage", function (t) { for (var e = this.annotationPlugin.annotations[t.pageNumber], A = !1, r = 0; r < e.length && !A; r++)switch ((s = e[r]).type) { case "link": if (c.notEmpty(s.options.url) || c.notEmpty(s.options.pageNumber)) { A = !0; break } case "reference": case "text": case "freetext": A = !0 }if (0 != A) { this.internal.write("/Annots ["); var n = this.annotationPlugin.f2, i = this.internal.scaleFactor, o = this.internal.pageSize.getHeight(), a = this.internal.getPageInfo(t.pageNumber); for (r = 0; r < e.length; r++) { var s; switch ((s = e[r]).type) { case "reference": this.internal.write(" " + s.object.objId + " 0 R "); break; case "text": var l = this.internal.newAdditionalObject(), u = this.internal.newAdditionalObject(), h = s.title || "Note"; B = "<</Type /Annot /Subtype /Text " + (f = "/Rect [" + n(s.bounds.x * i) + " " + n(o - (s.bounds.y + s.bounds.h) * i) + " " + n((s.bounds.x + s.bounds.w) * i) + " " + n((o - s.bounds.y) * i) + "] ") + "/Contents (" + s.contents + ")", B += " /Popup " + u.objId + " 0 R", B += " /P " + a.objId + " 0 R", B += " /T (" + h + ") >>", l.content = B; var d = l.objId + " 0 R"; B = "<</Type /Annot /Subtype /Popup " + (f = "/Rect [" + n((s.bounds.x + 30) * i) + " " + n(o - (s.bounds.y + s.bounds.h) * i) + " " + n((s.bounds.x + s.bounds.w + 30) * i) + " " + n((o - s.bounds.y) * i) + "] ") + " /Parent " + d, s.open && (B += " /Open true"), B += " >>", u.content = B, this.internal.write(l.objId, "0 R", u.objId, "0 R"); break; case "freetext": var f = "/Rect [" + n(s.bounds.x * i) + " " + n((o - s.bounds.y) * i) + " " + n(s.bounds.x + s.bounds.w * i) + " " + n(o - (s.bounds.y + s.bounds.h) * i) + "] ", p = s.color || "#000000"; B = "<</Type /Annot /Subtype /FreeText " + f + "/Contents (" + s.contents + ")", B += " /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#" + p + ")", B += " /Border [0 0 0]", B += " >>", this.internal.write(B); break; case "link": if (s.options.name) { var g = this.annotations._nameMap[s.options.name]; s.options.pageNumber = g.page, s.options.top = g.y } else s.options.top || (s.options.top = 0); f = "/Rect [" + n(s.x * i) + " " + n((o - s.y) * i) + " " + n((s.x + s.w) * i) + " " + n((o - (s.y + s.h)) * i) + "] "; var B = ""; if (s.options.url) B = "<</Type /Annot /Subtype /Link " + f + "/Border [0 0 0] /A <</S /URI /URI (" + s.options.url + ") >>"; else if (s.options.pageNumber) switch (B = "<</Type /Annot /Subtype /Link " + f + "/Border [0 0 0] /Dest [" + (t = this.internal.getPageInfo(s.options.pageNumber)).objId + " 0 R", s.options.magFactor = s.options.magFactor || "XYZ", s.options.magFactor) { case "Fit": B += " /Fit]"; break; case "FitH": B += " /FitH " + s.options.top + "]"; break; case "FitV": s.options.left = s.options.left || 0, B += " /FitV " + s.options.left + "]"; break; case "XYZ": default: var w = n((o - s.options.top) * i); s.options.left = s.options.left || 0, void 0 === s.options.zoom && (s.options.zoom = 0), B += " /XYZ " + s.options.left + " " + w + " " + s.options.zoom + "]" }"" != B && (B += " >>", this.internal.write(B)) } } this.internal.write("]") } }]), s.createAnnotation = function (t) { switch (t.type) { case "link": this.link(t.bounds.x, t.bounds.y, t.bounds.w, t.bounds.h, t); break; case "text": case "freetext": this.annotationPlugin.annotations[this.internal.getCurrentPageInfo().pageNumber].push(t) } }, s.link = function (t, e, A, r, n) { this.annotationPlugin.annotations[this.internal.getCurrentPageInfo().pageNumber].push({ x: t, y: e, w: A, h: r, options: n, type: "link" }) }, s.textWithLink = function (t, e, A, r) { var n = this.getTextWidth(t), i = this.internal.getLineHeight() / this.internal.scaleFactor; return this.text(t, e, A), A += .2 * i, this.link(e, A - i, n, i, r), n }, s.getTextWidth = function (t) { var e = this.internal.getFontSize(); return this.getStringUnitWidth(t) * e / this.internal.scaleFactor }, s.getLineHeight = function () { return this.internal.getLineHeight() }, function (t) { function e(t) { return void 0 !== t && void 0 !== a[t.charCodeAt(0)] } function A(t) { return void 0 !== t && 0 <= h.indexOf(t.charCodeAt(0)) } function r(t) { return void 0 !== t && 0 <= u.indexOf(t.charCodeAt(0)) } function n(t) { return e(t) && 2 <= a[t.charCodeAt(0)].length } function i(t, i, o, s) { return e(t) ? (s = s || {}, a = Object.assign(a, s), !n(t) || !e(i) && !e(o) || !e(o) && A(i) || A(t) && !e(i) || A(t) && r(i) || A(t) && A(i) ? (a = Object.assign(a, c), d) : e(l = t) && 4 == a[l.charCodeAt(0)].length && e(i) && !A(i) && e(o) && n(o) ? (a = Object.assign(a, c), g) : A(t) || !e(o) ? (a = Object.assign(a, c), f) : (a = Object.assign(a, c), p)) : -1; var l } var o = Object.keys({ ar: "Arabic (Standard)", "ar-DZ": "Arabic (Algeria)", "ar-BH": "Arabic (Bahrain)", "ar-EG": "Arabic (Egypt)", "ar-IQ": "Arabic (Iraq)", "ar-JO": "Arabic (Jordan)", "ar-KW": "Arabic (Kuwait)", "ar-LB": "Arabic (Lebanon)", "ar-LY": "Arabic (Libya)", "ar-MA": "Arabic (Morocco)", "ar-OM": "Arabic (Oman)", "ar-QA": "Arabic (Qatar)", "ar-SA": "Arabic (Saudi Arabia)", "ar-SY": "Arabic (Syria)", "ar-TN": "Arabic (Tunisia)", "ar-AE": "Arabic (U.A.E.)", "ar-YE": "Arabic (Yemen)", fa: "Persian", "fa-IR": "Persian/Iran", ur: "Urdu" }), a = { 1569: [65152], 1570: [65153, 65154, 65153, 65154], 1571: [65155, 65156, 65155, 65156], 1572: [65157, 65158], 1573: [65159, 65160, 65159, 65160], 1574: [65161, 65162, 65163, 65164], 1575: [65165, 65166, 65165, 65166], 1576: [65167, 65168, 65169, 65170], 1577: [65171, 65172], 1578: [65173, 65174, 65175, 65176], 1579: [65177, 65178, 65179, 65180], 1580: [65181, 65182, 65183, 65184], 1581: [65185, 65186, 65187, 65188], 1582: [65189, 65190, 65191, 65192], 1583: [65193, 65194, 65193], 1584: [65195, 65196, 65195], 1585: [65197, 65198, 65197], 1586: [65199, 65200, 65199], 1587: [65201, 65202, 65203, 65204], 1588: [65205, 65206, 65207, 65208], 1589: [65209, 65210, 65211, 65212], 1590: [65213, 65214, 65215, 65216], 1591: [65217, 65218, 65219, 65220], 1592: [65221, 65222, 65223, 65224], 1593: [65225, 65226, 65227, 65228], 1594: [65229, 65230, 65231, 65232], 1601: [65233, 65234, 65235, 65236], 1602: [65237, 65238, 65239, 65240], 1603: [65241, 65242, 65243, 65244], 1604: [65245, 65246, 65247, 65248], 1605: [65249, 65250, 65251, 65252], 1606: [65253, 65254, 65255, 65256], 1607: [65257, 65258, 65259, 65260], 1608: [65261, 65262, 65261], 1609: [65263, 65264, 64488, 64489], 1610: [65265, 65266, 65267, 65268], 1649: [64336, 64337], 1655: [64477], 1657: [64358, 64359, 64360, 64361], 1658: [64350, 64351, 64352, 64353], 1659: [64338, 64339, 64340, 64341], 1662: [64342, 64343, 64344, 64345], 1663: [64354, 64355, 64356, 64357], 1664: [64346, 64347, 64348, 64349], 1667: [64374, 64375, 64376, 64377], 1668: [64370, 64371, 64372, 64373], 1670: [64378, 64379, 64380, 64381], 1671: [64382, 64383, 64384, 64385], 1672: [64392, 64393], 1676: [64388, 64389], 1677: [64386, 64387], 1678: [64390, 64391], 1681: [64396, 64397], 1688: [64394, 64395, 64394], 1700: [64362, 64363, 64364, 64365], 1702: [64366, 64367, 64368, 64369], 1705: [64398, 64399, 64400, 64401], 1709: [64467, 64468, 64469, 64470], 1711: [64402, 64403, 64404, 64405], 1713: [64410, 64411, 64412, 64413], 1715: [64406, 64407, 64408, 64409], 1722: [64414, 64415], 1723: [64416, 64417, 64418, 64419], 1726: [64426, 64427, 64428, 64429], 1728: [64420, 64421], 1729: [64422, 64423, 64424, 64425], 1733: [64480, 64481], 1734: [64473, 64474], 1735: [64471, 64472], 1736: [64475, 64476], 1737: [64482, 64483], 1739: [64478, 64479], 1740: [64508, 64509, 64510, 64511], 1744: [64484, 64485, 64486, 64487], 1746: [64430, 64431], 1747: [64432, 64433] }, s = { 1570: [65269, 65270, 65269, 65270], 1571: [65271, 65272, 65271, 65272], 1573: [65273, 65274, 65273, 65274], 1575: [65275, 65276, 65275, 65276] }, c = { 1570: [65153, 65154, 65153, 65154], 1571: [65155, 65156, 65155, 65156], 1573: [65159, 65160, 65159, 65160], 1575: [65165, 65166, 65165, 65166] }, l = { 1612: 64606, 1613: 64607, 1614: 64608, 1615: 64609, 1616: 64610 }, u = [1570, 1571, 1573, 1575], h = [1569, 1570, 1571, 1572, 1573, 1575, 1577, 1583, 1584, 1585, 1586, 1608, 1688], d = 0, f = 1, p = 2, g = 3, B = t.processArabic = function (t, A) { t = t || "", A = A || !1; var n, o, u, h = "", d = 0, f = 0, p = "", g = "", B = ""; for (d = 0; d < t.length; d += 1)p = t[d], g = t[d - 1], B = t[d + 1], e(p) ? void 0 !== g && 1604 === g.charCodeAt(0) && r(p) ? (f = i(p, t[d - 2], t[d + 1], s), n = String.fromCharCode(s[p.charCodeAt(0)][f]), h = h.substr(0, h.length - 1) + n) : void 0 !== g && 1617 === g.charCodeAt(0) && void 0 !== (o = p) && void 0 !== l[o.charCodeAt(0)] ? (f = i(p, t[d - 2], t[d + 1], c), n = String.fromCharCode(l[p.charCodeAt(0)][f]), h = h.substr(0, h.length - 1) + n) : (f = i(p, g, B, c), h += String.fromCharCode(a[p.charCodeAt(0)][f])) : h += A ? { "(": ")", ")": "(" }[u = p] || u : p; return A ? h.split("").reverse().join("") : h }; t.events.push(["preProcessText", function (t) { var e = t.text, A = (t.x, t.y, t.options || {}), r = (t.mutex, A.lang), n = []; if (0 <= o.indexOf(r)) { if ("[object Array]" === Object.prototype.toString.call(e)) { var i = 0; for (n = [], i = 0; i < e.length; i += 1)"[object Array]" === Object.prototype.toString.call(e[i]) ? n.push([B(e[i][0], !0), e[i][1], e[i][2]]) : n.push([B(e[i], !0)]); t.text = n } else t.text = B(e, !0); void 0 === A.charSpace && (t.options.charSpace = 0), !0 === A.R2L && (t.options.R2L = !1) } }]) }(st.API), st.API.autoPrint = function (t) { var e; switch ((t = t || {}).variant = t.variant || "non-conform", t.variant) { case "javascript": this.addJS("print({});"); break; case "non-conform": default: this.internal.events.subscribe("postPutResources", function () { e = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/S /Named"), this.internal.out("/Type /Action"), this.internal.out("/N /Print"), this.internal.out(">>"), this.internal.out("endobj") }), this.internal.events.subscribe("putCatalog", function () { this.internal.out("/OpenAction " + e + " 0 R") }) }return this }, (l = st.API).events.push(["initialized", function () { this.canvas.pdf = this }]), l.canvas = { getContext: function (t) { return (this.pdf.context2d._canvas = this).pdf.context2d }, childNodes: [] }, Object.defineProperty(l.canvas, "width", { get: function () { return this._width }, set: function (t) { this._width = t, this.getContext("2d").pageWrapX = t + 1 } }), Object.defineProperty(l.canvas, "height", { get: function () { return this._height }, set: function (t) { this._height = t, this.getContext("2d").pageWrapY = t + 1 } }), u = st.API, g = { x: void 0, y: void 0, w: void 0, h: void 0, ln: void 0 }, B = 1, w = function (t, e, A, r, n) { g = { x: t, y: e, w: A, h: r, ln: n } }, m = function () { return g }, y = { left: 0, top: 0, bottom: 0 }, u.setHeaderFunction = function (t) { p = t }, u.getTextDimensions = function (t) { h = this.internal.getFont().fontName, d = this.table_font_size || this.internal.getFontSize(), f = this.internal.getFont().fontStyle; var e, A, r = 19.049976 / 25.4; (A = document.createElement("font")).id = "jsPDFCell"; try { A.style.fontStyle = f } catch (e) { A.style.fontWeight = f } A.style.fontSize = d + "pt", A.style.fontFamily = h; try { A.textContent = t } catch (e) { A.innerText = t } return document.body.appendChild(A), e = { w: (A.offsetWidth + 1) * r, h: (A.offsetHeight + 1) * r }, document.body.removeChild(A), e }, u.cellAddPage = function () { var t = this.margins || y; this.addPage(), w(t.left, t.top, void 0, void 0), B += 1 }, u.cellInitialize = function () { g = { x: void 0, y: void 0, w: void 0, h: void 0, ln: void 0 }, B = 1 }, u.cell = function (t, e, A, r, n, i, o) { var a = m(), s = !1; if (void 0 !== a.ln) if (a.ln === i) t = a.x + a.w, e = a.y; else { var c = this.margins || y; a.y + a.h + r + 13 >= this.internal.pageSize.getHeight() - c.bottom && (this.cellAddPage(), s = !0, this.printHeaders && this.tableHeaderRow && this.printHeaderRow(i, !0)), e = m().y + m().h, s && (e = 23) } if (void 0 !== n[0]) if (this.printingHeaderRow ? this.rect(t, e, A, r, "FD") : this.rect(t, e, A, r), "right" === o) { n instanceof Array || (n = [n]); for (var l = 0; l < n.length; l++) { var u = n[l], h = this.getStringUnitWidth(u) * this.internal.getFontSize(); this.text(u, t + A - h - 3, e + this.internal.getLineHeight() * (l + 1)) } } else this.text(n, t + 3, e + this.internal.getLineHeight()); return w(t, e, A, r, i), this }, u.arrayMax = function (t, e) { var A, r, n, i = t[0]; for (A = 0, r = t.length; A < r; A += 1)n = t[A], e ? -1 === e(i, n) && (i = n) : i < n && (i = n); return i }, u.table = function (t, e, A, r, n) { if (!A) throw "No data for PDF table"; var i, o, a, s, c, l, h, d, f, p, w = [], m = [], v = {}, Q = {}, C = [], U = [], b = !1, F = !0, E = 12, x = y; if (x.width = this.internal.pageSize.getWidth(), n && (!0 === n.autoSize && (b = !0), !1 === n.printHeaders && (F = !1), n.fontSize && (E = n.fontSize), n.css && void 0 !== n.css["font-size"] && (E = 16 * n.css["font-size"]), n.margins && (x = n.margins)), this.lnMod = 0, g = { x: void 0, y: void 0, w: void 0, h: void 0, ln: void 0 }, B = 1, this.printHeaders = F, this.margins = x, this.setFontSize(E), this.table_font_size = E, null == r) w = Object.keys(A[0]); else if (r[0] && "string" != typeof r[0]) for (o = 0, a = r.length; o < a; o += 1)i = r[o], w.push(i.name), m.push(i.prompt), Q[i.name] = i.width * (19.049976 / 25.4); else w = r; if (b) for (p = function (t) { return t[i] }, o = 0, a = w.length; o < a; o += 1) { for (v[i = w[o]] = A.map(p), C.push(this.getTextDimensions(m[o] || i).w), h = 0, s = (l = v[i]).length; h < s; h += 1)c = l[h], C.push(this.getTextDimensions(c).w); Q[i] = u.arrayMax(C), C = [] } if (F) { var H = this.calculateLineHeight(w, Q, m.length ? m : w); for (o = 0, a = w.length; o < a; o += 1)i = w[o], U.push([t, e, Q[i], H, String(m.length ? m[o] : i)]); this.setTableHeaderRow(U), this.printHeaderRow(1, !1) } for (o = 0, a = A.length; o < a; o += 1)for (d = A[o], H = this.calculateLineHeight(w, Q, d), h = 0, f = w.length; h < f; h += 1)i = w[h], this.cell(t, e, Q[i], H, d[i], o + 2, i.align); return this.lastCellPos = g, this.table_x = t, this.table_y = e, this }, u.calculateLineHeight = function (t, e, A) { for (var r, n = 0, i = 0; i < t.length; i++) { A[r = t[i]] = this.splitTextToSize(String(A[r]), e[r] - 3); var o = this.internal.getLineHeight() * A[r].length + 3; n < o && (n = o) } return n }, u.setTableHeaderRow = function (t) { this.tableHeaderRow = t }, u.printHeaderRow = function (t, e) { if (!this.tableHeaderRow) throw "Property tableHeaderRow does not exist."; var A, r, n, i; if (this.printingHeaderRow = !0, void 0 !== p) { var o = p(this, B); w(o[0], o[1], o[2], o[3], -1) } this.setFontStyle("bold"); var a = []; for (n = 0, i = this.tableHeaderRow.length; n < i; n += 1)this.setFillColor(200, 200, 200), A = this.tableHeaderRow[n], e && (this.margins.top = 13, A[1] = this.margins && this.margins.top || 0, a.push(A)), r = [].concat(A), this.cell.apply(this, r.concat(t)); 0 < a.length && this.setTableHeaderRow(a), this.setFontStyle("normal"), this.printingHeaderRow = !1 }, function (t) { function e() { this._isStrokeTransparent = !1, this._strokeOpacity = 1, this.strokeStyle = "#000000", this.fillStyle = "#000000", this._isFillTransparent = !1, this._fillOpacity = 1, this.font = "12pt times", this.textBaseline = "alphabetic", this.textAlign = "start", this.lineWidth = 1, this.lineJoin = "miter", this.lineCap = "butt", this._transform = [1, 0, 0, 1, 0, 0], this.globalCompositeOperation = "normal", this.globalAlpha = 1, this._clip_path = [], this.ignoreClearRect = !1, this.copy = function (t) { this._isStrokeTransparent = t._isStrokeTransparent, this._strokeOpacity = t._strokeOpacity, this.strokeStyle = t.strokeStyle, this._isFillTransparent = t._isFillTransparent, this._fillOpacity = t._fillOpacity, this.fillStyle = t.fillStyle, this.font = t.font, this.lineWidth = t.lineWidth, this.lineJoin = t.lineJoin, this.lineCap = t.lineCap, this.textBaseline = t.textBaseline, this.textAlign = t.textAlign, this._fontSize = t._fontSize, this._transform = t._transform.slice(0), this.globalCompositeOperation = t.globalCompositeOperation, this.globalAlpha = t.globalAlpha, this._clip_path = t._clip_path.slice(0), this.ignoreClearRect = t.ignoreClearRect } } t.events.push(["initialized", function () { ((this.context2d.pdf = this).context2d.internal.pdf = this).context2d.ctx = new e, this.context2d.ctxStack = [], this.context2d.path = [] }]), t.context2d = { pageWrapXEnabled: !1, pageWrapYEnabled: !1, pageWrapX: 9999999, pageWrapY: 9999999, ctx: new e, f2: function (t) { return t.toFixed(2) }, fillRect: function (t, e, A, r) { if (!this._isFillTransparent()) { t = this._wrapX(t), e = this._wrapY(e); var n = this._matrix_map_rect(this.ctx._transform, { x: t, y: e, w: A, h: r }); this.pdf.rect(n.x, n.y, n.w, n.h, "f") } }, strokeRect: function (t, e, A, r) { if (!this._isStrokeTransparent()) { t = this._wrapX(t), e = this._wrapY(e); var n = this._matrix_map_rect(this.ctx._transform, { x: t, y: e, w: A, h: r }); this.pdf.rect(n.x, n.y, n.w, n.h, "s") } }, clearRect: function (t, e, A, r) { if (!this.ctx.ignoreClearRect) { t = this._wrapX(t), e = this._wrapY(e); var n = this._matrix_map_rect(this.ctx._transform, { x: t, y: e, w: A, h: r }); this.save(), this.setFillStyle("#ffffff"), this.pdf.rect(n.x, n.y, n.w, n.h, "f"), this.restore() } }, save: function () { this.ctx._fontSize = this.pdf.internal.getFontSize(); var t = new e; t.copy(this.ctx), this.ctxStack.push(this.ctx), this.ctx = t }, restore: function () { this.ctx = this.ctxStack.pop(), this.setFillStyle(this.ctx.fillStyle), this.setStrokeStyle(this.ctx.strokeStyle), this.setFont(this.ctx.font), this.pdf.setFontSize(this.ctx._fontSize), this.setLineCap(this.ctx.lineCap), this.setLineWidth(this.ctx.lineWidth), this.setLineJoin(this.ctx.lineJoin) }, rect: function (t, e, A, r) { this.moveTo(t, e), this.lineTo(t + A, e), this.lineTo(t + A, e + r), this.lineTo(t, e + r), this.lineTo(t, e), this.closePath() }, beginPath: function () { this.path = [] }, closePath: function () { this.path.push({ type: "close" }) }, _getRGBA: function (t) { var e, A, r, n, i = new RGBColor(t); if (!t) return { r: 0, g: 0, b: 0, a: 0, style: t }; if (this.internal.rxTransparent.test(t)) n = r = A = e = 0; else { var o = this.internal.rxRgb.exec(t); null != o ? (e = parseInt(o[1]), A = parseInt(o[2]), r = parseInt(o[3]), n = 1) : null != (o = this.internal.rxRgba.exec(t)) ? (e = parseInt(o[1]), A = parseInt(o[2]), r = parseInt(o[3]), n = parseFloat(o[4])) : (n = 1, "#" != t.charAt(0) && (t = i.ok ? i.toHex() : "#000000"), 4 === t.length ? (e = t.substring(1, 2), e += e, A = t.substring(2, 3), A += A, r = t.substring(3, 4), r += r) : (e = t.substring(1, 3), A = t.substring(3, 5), r = t.substring(5, 7)), e = parseInt(e, 16), A = parseInt(A, 16), r = parseInt(r, 16)) } return { r: e, g: A, b: r, a: n, style: t } }, setFillStyle: function (t) { var e = this._getRGBA(t); this.ctx.fillStyle = t, this.ctx._isFillTransparent = 0 === e.a, this.ctx._fillOpacity = e.a, this.pdf.setFillColor(e.r, e.g, e.b, { a: e.a }), this.pdf.setTextColor(e.r, e.g, e.b, { a: e.a }) }, setStrokeStyle: function (t) { var e = this._getRGBA(t); this.ctx.strokeStyle = e.style, this.ctx._isStrokeTransparent = 0 === e.a, this.ctx._strokeOpacity = e.a, 0 === e.a ? this.pdf.setDrawColor(255, 255, 255) : (e.a, this.pdf.setDrawColor(e.r, e.g, e.b)) }, fillText: function (t, e, A, r) { if (!this._isFillTransparent()) { e = this._wrapX(e), A = this._wrapY(A); var n = this._matrix_map_point(this.ctx._transform, [e, A]); e = n[0], A = n[1]; var i = 57.2958 * this._matrix_rotation(this.ctx._transform); if (0 < this.ctx._clip_path.length) { var o; (o = window.outIntercept ? "group" === window.outIntercept.type ? window.outIntercept.stream : window.outIntercept : this.internal.getCurrentPage()).push("q"); var a = this.path; this.path = this.ctx._clip_path, this.ctx._clip_path = [], this._fill(null, !0), this.ctx._clip_path = this.path, this.path = a } var s = 1; try { s = this._matrix_decompose(this._getTransform()).scale[0] } catch (t) { console.warn(t) } if (s < .01) this.pdf.text(t, e, this._getBaseline(A), null, i); else { var c = this.pdf.internal.getFontSize(); this.pdf.setFontSize(c * s), this.pdf.text(t, e, this._getBaseline(A), null, i), this.pdf.setFontSize(c) } 0 < this.ctx._clip_path.length && o.push("Q") } }, strokeText: function (t, e, A, r) { if (!this._isStrokeTransparent()) { e = this._wrapX(e), A = this._wrapY(A); var n = this._matrix_map_point(this.ctx._transform, [e, A]); e = n[0], A = n[1]; var i = 57.2958 * this._matrix_rotation(this.ctx._transform); if (0 < this.ctx._clip_path.length) { var o; (o = window.outIntercept ? "group" === window.outIntercept.type ? window.outIntercept.stream : window.outIntercept : this.internal.getCurrentPage()).push("q"); var a = this.path; this.path = this.ctx._clip_path, this.ctx._clip_path = [], this._fill(null, !0), this.ctx._clip_path = this.path, this.path = a } var s = 1; try { s = this._matrix_decompose(this._getTransform()).scale[0] } catch (t) { console.warn(t) } if (1 === s) this.pdf.text(t, e, this._getBaseline(A), { stroke: !0 }, i); else { var c = this.pdf.internal.getFontSize(); this.pdf.setFontSize(c * s), this.pdf.text(t, e, this._getBaseline(A), { stroke: !0 }, i), this.pdf.setFontSize(c) } 0 < this.ctx._clip_path.length && o.push("Q") } }, setFont: function (t) { if (this.ctx.font = t, null != (c = /\s*(\w+)\s+(\w+)\s+(\w+)\s+([\d\.]+)(px|pt|em)\s+(.*)?/.exec(t))) { var e = c[1], A = (c[2], c[3]), r = c[4], n = c[5], i = c[6]; r = "px" === n ? Math.floor(parseFloat(r)) : "em" === n ? Math.floor(parseFloat(r) * this.pdf.getFontSize()) : Math.floor(parseFloat(r)), this.pdf.setFontSize(r), "bold" === A || "700" === A ? this.pdf.setFontStyle("bold") : "italic" === e ? this.pdf.setFontStyle("italic") : this.pdf.setFontStyle("normal"), l = "bold" === A || "700" === A ? "italic" === e ? "bolditalic" : "bold" : "italic" === e ? "italic" : "normal"; for (var o = i.toLowerCase().split(/\s*,\s*/), a = "Times", s = 0; s < o.length; s++) { if (void 0 !== this.pdf.internal.getFont(o[s], l, { noFallback: !0, disableWarning: !0 })) { a = o[s]; break } if ("bolditalic" === l && void 0 !== this.pdf.internal.getFont(o[s], "bold", { noFallback: !0, disableWarning: !0 })) a = o[s], l = "bold"; else if (void 0 !== this.pdf.internal.getFont(o[s], "normal", { noFallback: !0, disableWarning: !0 })) { a = o[s], l = "normal"; break } } this.pdf.setFont(a, l) } else { var c = /\s*(\d+)(pt|px|em)\s+([\w "]+)\s*([\w "]+)?/.exec(t); if (null != c) { var l, u = c[1], h = (c[2], c[3]); (l = c[4]) || (l = "normal"), u = "em" === n ? Math.floor(parseFloat(r) * this.pdf.getFontSize()) : Math.floor(parseFloat(u)), this.pdf.setFontSize(u), this.pdf.setFont(h, l) } } }, setTextBaseline: function (t) { this.ctx.textBaseline = t }, getTextBaseline: function () { return this.ctx.textBaseline }, setTextAlign: function (t) { this.ctx.textAlign = t }, getTextAlign: function () { return this.ctx.textAlign }, setLineWidth: function (t) { this.ctx.lineWidth = t, this.pdf.setLineWidth(t) }, setLineCap: function (t) { this.ctx.lineCap = t, this.pdf.setLineCap(t) }, setLineJoin: function (t) { this.ctx.lineJoin = t, this.pdf.setLineJoin(t) }, moveTo: function (t, e) { t = this._wrapX(t), e = this._wrapY(e); var A = this._matrix_map_point(this.ctx._transform, [t, e]), r = { type: "mt", x: t = A[0], y: e = A[1] }; this.path.push(r) }, _wrapX: function (t) { return this.pageWrapXEnabled ? t % this.pageWrapX : t }, _wrapY: function (t) { return this.pageWrapYEnabled ? (this._gotoPage(this._page(t)), (t - this.lastBreak) % this.pageWrapY) : t }, transform: function (t, e, A, r, n, i) { this.ctx._transform = this._matrix_multiply(this.ctx._transform, [t, e, A, r, n, i]) }, setTransform: function (t, e, A, r, n, i) { this.ctx._transform = [t, e, A, r, n, i] }, _getTransform: function () { return this.ctx._transform }, lastBreak: 0, pageBreaks: [], _page: function (t) { if (this.pageWrapYEnabled) { for (var e = this.lastBreak = 0, A = 0, r = 0; r < this.pageBreaks.length; r++)if (t >= this.pageBreaks[r]) { e++ , 0 === this.lastBreak && A++; var n = this.pageBreaks[r] - this.lastBreak; this.lastBreak = this.pageBreaks[r], A += Math.floor(n / this.pageWrapY) } return 0 === this.lastBreak && (A += Math.floor(t / this.pageWrapY) + 1), A + e } return this.pdf.internal.getCurrentPageInfo().pageNumber }, _gotoPage: function (t) { }, lineTo: function (t, e) { t = this._wrapX(t), e = this._wrapY(e); var A = this._matrix_map_point(this.ctx._transform, [t, e]), r = { type: "lt", x: t = A[0], y: e = A[1] }; this.path.push(r) }, bezierCurveTo: function (t, e, A, r, n, i) { var o; t = this._wrapX(t), e = this._wrapY(e), A = this._wrapX(A), r = this._wrapY(r), n = this._wrapX(n), i = this._wrapY(i), n = (o = this._matrix_map_point(this.ctx._transform, [n, i]))[0], i = o[1]; var a = { type: "bct", x1: t = (o = this._matrix_map_point(this.ctx._transform, [t, e]))[0], y1: e = o[1], x2: A = (o = this._matrix_map_point(this.ctx._transform, [A, r]))[0], y2: r = o[1], x: n, y: i }; this.path.push(a) }, quadraticCurveTo: function (t, e, A, r) { var n; t = this._wrapX(t), e = this._wrapY(e), A = this._wrapX(A), r = this._wrapY(r), A = (n = this._matrix_map_point(this.ctx._transform, [A, r]))[0], r = n[1]; var i = { type: "qct", x1: t = (n = this._matrix_map_point(this.ctx._transform, [t, e]))[0], y1: e = n[1], x: A, y: r }; this.path.push(i) }, arc: function (t, e, A, r, n, i) { if (t = this._wrapX(t), e = this._wrapY(e), !this._matrix_is_identity(this.ctx._transform)) { var o = this._matrix_map_point(this.ctx._transform, [t, e]); t = o[0], e = o[1]; var a = this._matrix_map_point(this.ctx._transform, [0, 0]), s = this._matrix_map_point(this.ctx._transform, [0, A]); A = Math.sqrt(Math.pow(s[0] - a[0], 2) + Math.pow(s[1] - a[1], 2)) } var c = { type: "arc", x: t, y: e, radius: A, startAngle: r, endAngle: n, anticlockwise: i }; this.path.push(c) }, drawImage: function (t, e, A, r, n, i, o, a, s) { void 0 !== i && (e = i, A = o, r = a, n = s), e = this._wrapX(e), A = this._wrapY(A); var c, l = this._matrix_map_rect(this.ctx._transform, { x: e, y: A, w: r, h: n }), u = (this._matrix_map_rect(this.ctx._transform, { x: i, y: o, w: a, h: s }), /data:image\/(\w+).*/i.exec(t)); c = null != u ? u[1] : "png", this.pdf.addImage(t, c, l.x, l.y, l.w, l.h) }, _matrix_multiply: function (t, e) { var A = e[0], r = e[1], n = e[2], i = e[3], o = e[4], a = e[5], s = A * t[0] + r * t[2], c = n * t[0] + i * t[2], l = o * t[0] + a * t[2] + t[4]; return r = A * t[1] + r * t[3], i = n * t[1] + i * t[3], a = o * t[1] + a * t[3] + t[5], [A = s, r, n = c, i, o = l, a] }, _matrix_rotation: function (t) { return Math.atan2(t[2], t[0]) }, _matrix_decompose: function (t) { var e = t[0], A = t[1], r = t[2], n = t[3], i = Math.sqrt(e * e + A * A), o = (e /= i) * r + (A /= i) * n; r -= e * o, n -= A * o; var a = Math.sqrt(r * r + n * n); return o /= a, e * (n /= a) < A * (r /= a) && (e = -e, A = -A, o = -o, i = -i), { scale: [i, 0, 0, a, 0, 0], translate: [1, 0, 0, 1, t[4], t[5]], rotate: [e, A, -A, e, 0, 0], skew: [1, 0, o, 1, 0, 0] } }, _matrix_map_point: function (t, e) { var A = t[0], r = t[1], n = t[2], i = t[3], o = t[4], a = t[5], s = e[0], c = e[1]; return [s * A + c * n + o, s * r + c * i + a] }, _matrix_map_point_obj: function (t, e) { var A = this._matrix_map_point(t, [e.x, e.y]); return { x: A[0], y: A[1] } }, _matrix_map_rect: function (t, e) { var A = this._matrix_map_point(t, [e.x, e.y]), r = this._matrix_map_point(t, [e.x + e.w, e.y + e.h]); return { x: A[0], y: A[1], w: r[0] - A[0], h: r[1] - A[1] } }, _matrix_is_identity: function (t) { return 1 == t[0] && 0 == t[1] && 0 == t[2] && 1 == t[3] && 0 == t[4] && 0 == t[5] }, rotate: function (t) { var e = [Math.cos(t), Math.sin(t), -Math.sin(t), Math.cos(t), 0, 0]; this.ctx._transform = this._matrix_multiply(this.ctx._transform, e) }, scale: function (t, e) { var A = [t, 0, 0, e, 0, 0]; this.ctx._transform = this._matrix_multiply(this.ctx._transform, A) }, translate: function (t, e) { var A = [1, 0, 0, 1, t, e]; this.ctx._transform = this._matrix_multiply(this.ctx._transform, A) }, stroke: function () { if (0 < this.ctx._clip_path.length) { var t; (t = window.outIntercept ? "group" === window.outIntercept.type ? window.outIntercept.stream : window.outIntercept : this.internal.getCurrentPage()).push("q"); var e = this.path; this.path = this.ctx._clip_path, this.ctx._clip_path = [], this._stroke(!0), this.ctx._clip_path = this.path, this.path = e, this._stroke(!1), t.push("Q") } else this._stroke(!1) }, _stroke: function (t) { if (t || !this._isStrokeTransparent()) { for (var e = [], A = this.path, r = 0; r < A.length; r++) { var n = A[r]; switch (n.type) { case "mt": e.push({ start: n, deltas: [], abs: [] }); break; case "lt": var i = [n.x - A[r - 1].x, n.y - A[r - 1].y]; e[e.length - 1].deltas.push(i), e[e.length - 1].abs.push(n); break; case "bct": i = [n.x1 - A[r - 1].x, n.y1 - A[r - 1].y, n.x2 - A[r - 1].x, n.y2 - A[r - 1].y, n.x - A[r - 1].x, n.y - A[r - 1].y], e[e.length - 1].deltas.push(i); break; case "qct": var o = A[r - 1].x + 2 / 3 * (n.x1 - A[r - 1].x), a = A[r - 1].y + 2 / 3 * (n.y1 - A[r - 1].y), s = n.x + 2 / 3 * (n.x1 - n.x), c = n.y + 2 / 3 * (n.y1 - n.y), l = n.x, u = n.y; i = [o - A[r - 1].x, a - A[r - 1].y, s - A[r - 1].x, c - A[r - 1].y, l - A[r - 1].x, u - A[r - 1].y], e[e.length - 1].deltas.push(i); break; case "arc": 0 == e.length && e.push({ start: { x: 0, y: 0 }, deltas: [], abs: [] }), e[e.length - 1].arc = !0, Array.isArray(e[e.length - 1].abs) && e[e.length - 1].abs.push(n) } } for (r = 0; r < e.length; r++) { var h; if (h = r == e.length - 1 ? "s" : null, e[r].arc) for (var d = e[r].abs, f = 0; f < d.length; f++) { var p = d[f], g = 360 * p.startAngle / (2 * Math.PI), B = 360 * p.endAngle / (2 * Math.PI), w = p.x, m = p.y; this.internal.arc2(this, w, m, p.radius, g, B, p.anticlockwise, h, t) } else w = e[r].start.x, m = e[r].start.y, t ? (this.pdf.lines(e[r].deltas, w, m, null, null), this.pdf.clip_fixed()) : this.pdf.lines(e[r].deltas, w, m, null, h) } } }, _isFillTransparent: function () { return this.ctx._isFillTransparent || 0 == this.globalAlpha }, _isStrokeTransparent: function () { return this.ctx._isStrokeTransparent || 0 == this.globalAlpha }, fill: function (t) { if (0 < this.ctx._clip_path.length) { var e; (e = window.outIntercept ? "group" === window.outIntercept.type ? window.outIntercept.stream : window.outIntercept : this.internal.getCurrentPage()).push("q"); var A = this.path; this.path = this.ctx._clip_path, this.ctx._clip_path = [], this._fill(t, !0), this.ctx._clip_path = this.path, this.path = A, this._fill(t, !1), e.push("Q") } else this._fill(t, !1) }, _fill: function (t, e) { if (!this._isFillTransparent()) { var r, n = "function" == typeof this.pdf.internal.newObject2; r = window.outIntercept ? "group" === window.outIntercept.type ? window.outIntercept.stream : window.outIntercept : this.internal.getCurrentPage(); var i = [], o = window.outIntercept; if (n) switch (this.ctx.globalCompositeOperation) { case "normal": case "source-over": break; case "destination-in": case "destination-out": var a = this.pdf.internal.newStreamObject(), s = this.pdf.internal.newObject2(); s.push("<</Type /ExtGState"), s.push("/SMask <</S /Alpha /G " + a.objId + " 0 R>>"), s.push(">>"); var c = "MASK" + s.objId; this.pdf.internal.addGraphicsState(c, s.objId); var l = "/" + c + " gs"; r.splice(0, 0, "q"), r.splice(1, 0, l), r.push("Q"), window.outIntercept = a; break; default: var u = "/" + this.pdf.internal.blendModeMap[this.ctx.globalCompositeOperation.toUpperCase()]; u && this.pdf.internal.out(u + " gs") }var h = this.ctx.globalAlpha; if (this.ctx._fillOpacity < 1 && (h = this.ctx._fillOpacity), n) { var d = this.pdf.internal.newObject2(); d.push("<</Type /ExtGState"), d.push("/CA " + h), d.push("/ca " + h), d.push(">>"), c = "GS_O_" + d.objId, this.pdf.internal.addGraphicsState(c, d.objId), this.pdf.internal.out("/" + c + " gs") } for (var f = this.path, p = 0; p < f.length; p++) { var g = f[p]; switch (g.type) { case "mt": i.push({ start: g, deltas: [], abs: [] }); break; case "lt": var B = [g.x - f[p - 1].x, g.y - f[p - 1].y]; i[i.length - 1].deltas.push(B), i[i.length - 1].abs.push(g); break; case "bct": B = [g.x1 - f[p - 1].x, g.y1 - f[p - 1].y, g.x2 - f[p - 1].x, g.y2 - f[p - 1].y, g.x - f[p - 1].x, g.y - f[p - 1].y], i[i.length - 1].deltas.push(B); break; case "qct": var w = f[p - 1].x + 2 / 3 * (g.x1 - f[p - 1].x), m = f[p - 1].y + 2 / 3 * (g.y1 - f[p - 1].y), y = g.x + 2 / 3 * (g.x1 - g.x), v = g.y + 2 / 3 * (g.y1 - g.y), Q = g.x, C = g.y; B = [w - f[p - 1].x, m - f[p - 1].y, y - f[p - 1].x, v - f[p - 1].y, Q - f[p - 1].x, C - f[p - 1].y], i[i.length - 1].deltas.push(B); break; case "arc": 0 === i.length && i.push({ deltas: [], abs: [] }), i[i.length - 1].arc = !0, Array.isArray(i[i.length - 1].abs) && i[i.length - 1].abs.push(g); break; case "close": i.push({ close: !0 }) } } for (p = 0; p < i.length; p++) { var U; if (p == i.length - 1 ? (U = "f", "evenodd" === t && (U += "*")) : U = null, i[p].close) this.pdf.internal.out("h"), U && this.pdf.internal.out(U); else if (i[p].arc) { i[p].start && this.internal.move2(this, i[p].start.x, i[p].start.y); for (var b = i[p].abs, F = 0; F < b.length; F++) { var E = b[F]; if (void 0 !== E.startAngle) { var x = 360 * E.startAngle / (2 * Math.PI), H = 360 * E.endAngle / (2 * Math.PI), I = E.x, S = E.y; 0 === F && this.internal.move2(this, I, S), this.internal.arc2(this, I, S, E.radius, x, H, E.anticlockwise, null, e), F === b.length - 1 && i[p].start && (I = i[p].start.x, S = i[p].start.y, this.internal.line2(A, I, S)) } else this.internal.line2(A, E.x, E.y) } } else I = i[p].start.x, S = i[p].start.y, e ? (this.pdf.lines(i[p].deltas, I, S, null, null), this.pdf.clip_fixed()) : this.pdf.lines(i[p].deltas, I, S, null, U) } window.outIntercept = o } }, pushMask: function () { if ("function" == typeof this.pdf.internal.newObject2) { var t = this.pdf.internal.newStreamObject(), e = this.pdf.internal.newObject2(); e.push("<</Type /ExtGState"), e.push("/SMask <</S /Alpha /G " + t.objId + " 0 R>>"), e.push(">>"); var A = "MASK" + e.objId; this.pdf.internal.addGraphicsState(A, e.objId); var r = "/" + A + " gs"; this.pdf.internal.out(r) } else console.log("jsPDF v2 not enabled") }, clip: function () { if (0 < this.ctx._clip_path.length) for (var t = 0; t < this.path.length; t++)this.ctx._clip_path.push(this.path[t]); else this.ctx._clip_path = this.path; this.path = [] }, measureText: function (t) { var e = this.pdf; return { getWidth: function () { var A = e.internal.getFontSize(), r = e.getStringUnitWidth(t) * A / e.internal.scaleFactor; return r *= 1.3333 }, get width() { return this.getWidth(t) } } }, _getBaseline: function (t) { var e = parseInt(this.pdf.internal.getFontSize()), A = .25 * e; switch (this.ctx.textBaseline) { case "bottom": return t - A; case "top": return t + e; case "hanging": return t + e - A; case "middle": return t + e / 2 - A; case "ideographic": return t; case "alphabetic": default: return t } } }; var A = t.context2d; Object.defineProperty(A, "fillStyle", { set: function (t) { this.setFillStyle(t) }, get: function () { return this.ctx.fillStyle } }), Object.defineProperty(A, "strokeStyle", { set: function (t) { this.setStrokeStyle(t) }, get: function () { return this.ctx.strokeStyle } }), Object.defineProperty(A, "lineWidth", { set: function (t) { this.setLineWidth(t) }, get: function () { return this.ctx.lineWidth } }), Object.defineProperty(A, "lineCap", { set: function (t) { this.setLineCap(t) }, get: function () { return this.ctx.lineCap } }), Object.defineProperty(A, "lineJoin", { set: function (t) { this.setLineJoin(t) }, get: function () { return this.ctx.lineJoin } }), Object.defineProperty(A, "miterLimit", { set: function (t) { this.ctx.miterLimit = t }, get: function () { return this.ctx.miterLimit } }), Object.defineProperty(A, "textBaseline", { set: function (t) { this.setTextBaseline(t) }, get: function () { return this.getTextBaseline() } }), Object.defineProperty(A, "textAlign", { set: function (t) { this.setTextAlign(t) }, get: function () { return this.getTextAlign() } }), Object.defineProperty(A, "font", { set: function (t) { this.setFont(t) }, get: function () { return this.ctx.font } }), Object.defineProperty(A, "globalCompositeOperation", { set: function (t) { this.ctx.globalCompositeOperation = t }, get: function () { return this.ctx.globalCompositeOperation } }), Object.defineProperty(A, "globalAlpha", { set: function (t) { this.ctx.globalAlpha = t }, get: function () { return this.ctx.globalAlpha } }), Object.defineProperty(A, "canvas", { get: function () { return { parentNode: !1, style: !1 } } }), Object.defineProperty(A, "ignoreClearRect", { set: function (t) { this.ctx.ignoreClearRect = t }, get: function () { return this.ctx.ignoreClearRect } }), A.internal = {}, A.internal.rxRgb = /rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/, A.internal.rxRgba = /rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/, A.internal.rxTransparent = /transparent|rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*0+\s*\)/, A.internal.arc = function (t, e, A, r, n, i, o, a) { for (var s = this.pdf.internal.scaleFactor, c = this.pdf.internal.pageSize.getHeight(), l = this.pdf.internal.f2, u = n * (Math.PI / 180), h = i * (Math.PI / 180), d = this.createArc(r, u, h, o), f = 0; f < d.length; f++) { var p = d[f]; 0 === f ? this.pdf.internal.out([l((p.x1 + e) * s), l((c - (p.y1 + A)) * s), "m", l((p.x2 + e) * s), l((c - (p.y2 + A)) * s), l((p.x3 + e) * s), l((c - (p.y3 + A)) * s), l((p.x4 + e) * s), l((c - (p.y4 + A)) * s), "c"].join(" ")) : this.pdf.internal.out([l((p.x2 + e) * s), l((c - (p.y2 + A)) * s), l((p.x3 + e) * s), l((c - (p.y3 + A)) * s), l((p.x4 + e) * s), l((c - (p.y4 + A)) * s), "c"].join(" ")), t._lastPoint = { x: e, y: A } } null !== a && this.pdf.internal.out(this.pdf.internal.getStyle(a)) }, A.internal.arc2 = function (t, e, A, r, n, i, o, a, s) { var c = e, l = A; s ? (this.arc(t, c, l, r, n, i, o, null), this.pdf.clip_fixed()) : this.arc(t, c, l, r, n, i, o, a) }, A.internal.move2 = function (t, e, A) { var r = this.pdf.internal.scaleFactor, n = this.pdf.internal.pageSize.getHeight(), i = this.pdf.internal.f2; this.pdf.internal.out([i(e * r), i((n - A) * r), "m"].join(" ")), t._lastPoint = { x: e, y: A } }, A.internal.line2 = function (t, e, A) { var r = this.pdf.internal.scaleFactor, n = this.pdf.internal.pageSize.getHeight(), i = this.pdf.internal.f2, o = { x: e, y: A }; this.pdf.internal.out([i(o.x * r), i((n - o.y) * r), "l"].join(" ")), t._lastPoint = o }, A.internal.createArc = function (t, e, A, r) { var n = 2 * Math.PI, i = Math.PI / 2, o = e; for ((o < n || n < o) && (o %= n), o < 0 && (o = n + o); A < e;)e -= n; var a = Math.abs(A - e); a < n && r && (a = n - a); for (var s = [], c = r ? -1 : 1, l = o; 1e-5 < a;) { var u = l + c * Math.min(a, i); s.push(this.createSmallArc(t, l, u)), a -= Math.abs(u - l), l = u } return s }, A.internal.getCurrentPage = function () { return this.pdf.internal.pages[this.pdf.internal.getCurrentPageInfo().pageNumber] }, A.internal.createSmallArc = function (t, e, A) { var r = (A - e) / 2, n = t * Math.cos(r), i = t * Math.sin(r), o = n, a = -i, s = o * o + a * a, c = s + o * n + a * i, l = 4 / 3 * (Math.sqrt(2 * s * c) - c) / (o * i - a * n), u = o - l * a, h = a + l * o, d = u, f = -h, p = r + e, g = Math.cos(p), B = Math.sin(p); return { x1: t * Math.cos(e), y1: t * Math.sin(e), x2: u * g - h * B, y2: u * B + h * g, x3: d * g - f * B, y3: d * B + f * g, x4: t * Math.cos(A), y4: t * Math.sin(A) } } }(st.API, "undefined" != typeof self && self || "undefined" != typeof window && window || void 0 !== r && r || Function('return typeof this === "object" && this.content')() || Function("return this")()), function (t) { var e, A, r, n, i, o, a, s, c, l, u, h, d, f, p, g, B, w, m, y; e = function () { function t() { } return function (e) { return t.prototype = e, new t } }(), l = function (t) { var e, A, r, n, i, o, a; for (A = 0, r = t.length, e = void 0, o = n = !1; !n && A !== r;)(e = t[A] = t[A].trimLeft()) && (n = !0), A++; for (A = r - 1; r && !o && -1 !== A;)(e = t[A] = t[A].trimRight()) && (o = !0), A--; for (i = /\s+$/g, a = !0, A = 0; A !== r;)"\u2028" != t[A] && (e = t[A].replace(/\s+/g, " "), a && (e = e.trimLeft()), e && (a = i.test(e)), t[A] = e), A++; return t }, h = function (t) { var e, A, n; for (e = void 0, A = (n = t.split(",")).shift(); !e && A;)e = r[A.trim().toLowerCase()], A = n.shift(); return e }, d = function (t) { var e; return -1 < (t = "auto" === t ? "0px" : t).indexOf("em") && !isNaN(Number(t.replace("em", ""))) && (t = 18.719 * Number(t.replace("em", "")) + "px"), -1 < t.indexOf("pt") && !isNaN(Number(t.replace("pt", ""))) && (t = 1.333 * Number(t.replace("pt", "")) + "px"), (e = f[t]) ? e : void 0 !== (e = { "xx-small": 9, "x-small": 11, small: 13, medium: 16, large: 19, "x-large": 23, "xx-large": 28, auto: 0 }[t]) ? f[t] = e / 16 : (e = parseFloat(t)) ? f[t] = e / 16 : (e = t.match(/([\d\.]+)(px)/), Array.isArray(e) && 3 === e.length ? f[t] = parseFloat(e[1]) / 16 : f[t] = 1) }, c = function (t) { var e, A, r, c, l; return l = t, c = document.defaultView && document.defaultView.getComputedStyle ? document.defaultView.getComputedStyle(l, null) : l.currentStyle ? l.currentStyle : l.style, A = void 0, (e = {})["font-family"] = h((r = function (t) { return t = t.replace(/-\D/g, function (t) { return t.charAt(1).toUpperCase() }), c[t] })("font-family")) || "times", e["font-style"] = n[r("font-style")] || "normal", e["text-align"] = i[r("text-align")] || "left", "bold" === (A = o[r("font-weight")] || "normal") && ("normal" === e["font-style"] ? e["font-style"] = A : e["font-style"] = A + e["font-style"]), e["font-size"] = d(r("font-size")) || 1, e["line-height"] = d(r("line-height")) || 1, e.display = "inline" === r("display") ? "inline" : "block", A = "block" === e.display, e["margin-top"] = A && d(r("margin-top")) || 0, e["margin-bottom"] = A && d(r("margin-bottom")) || 0, e["padding-top"] = A && d(r("padding-top")) || 0, e["padding-bottom"] = A && d(r("padding-bottom")) || 0, e["margin-left"] = A && d(r("margin-left")) || 0, e["margin-right"] = A && d(r("margin-right")) || 0, e["padding-left"] = A && d(r("padding-left")) || 0, e["padding-right"] = A && d(r("padding-right")) || 0, e["page-break-before"] = r("page-break-before") || "auto", e.float = a[r("cssFloat")] || "none", e.clear = s[r("clear")] || "none", e.color = r("color"), e }, p = function (t, e, A) { var r, n, i, o, a; if (i = !1, o = n = void 0, r = A["#" + t.id]) if ("function" == typeof r) i = r(t, e); else for (n = 0, o = r.length; !i && n !== o;)i = r[n](t, e), n++; if (r = A[t.nodeName], !i && r) if ("function" == typeof r) i = r(t, e); else for (n = 0, o = r.length; !i && n !== o;)i = r[n](t, e), n++; for (a = "string" == typeof t.className ? t.className.split(" ") : [], n = 0; n < a.length; n++)if (r = A["." + a[n]], !i && r) if ("function" == typeof r) i = r(t, e); else for (n = 0, o = r.length; !i && n !== o;)i = r[n](t, e), n++; return i }, y = function (t, e) { var A, r, n, i, o, a, s, c, l; for (A = [], r = [], n = 0, l = t.rows[0].cells.length, s = t.clientWidth; n < l;)c = t.rows[0].cells[n], r[n] = { name: c.textContent.toLowerCase().replace(/\s+/g, ""), prompt: c.textContent.replace(/\r?\n/g, ""), width: c.clientWidth / s * e.pdf.internal.pageSize.getWidth() }, n++; for (n = 1; n < t.rows.length;) { for (a = t.rows[n], o = {}, i = 0; i < a.cells.length;)o[r[i].name] = a.cells[i].textContent.replace(/\r?\n/g, ""), i++; A.push(o), n++ } return { rows: A, headers: r } }; var v = { SCRIPT: 1, STYLE: 1, NOSCRIPT: 1, OBJECT: 1, EMBED: 1, SELECT: 1 }, Q = 1; A = function (t, r, n) { var i, o, a, s, l, u, h, d; for (o = t.childNodes, i = void 0, (l = "block" === (a = c(t)).display) && (r.setBlockBoundary(), r.setBlockStyle(a)), s = 0, u = o.length; s < u;) { if ("object" === (void 0 === (i = o[s]) ? "undefined" : at(i))) { if (r.executeWatchFunctions(i), 1 === i.nodeType && "HEADER" === i.nodeName) { var f = i, B = r.pdf.margins_doc.top; r.pdf.internal.events.subscribe("addPage", function (t) { r.y = B, A(f, r, n), r.pdf.margins_doc.top = r.y + 10, r.y += 10 }, !1) } if (8 === i.nodeType && "#comment" === i.nodeName) ~i.textContent.indexOf("ADD_PAGE") && (r.pdf.addPage(), r.y = r.pdf.margins_doc.top); else if (1 !== i.nodeType || v[i.nodeName]) if (3 === i.nodeType) { var w = i.nodeValue; if (i.nodeValue && "LI" === i.parentNode.nodeName) if ("OL" === i.parentNode.parentNode.nodeName) w = Q++ + ". " + w; else { var m = a["font-size"], C = (3 - .75 * m) * r.pdf.internal.scaleFactor, U = .75 * m * r.pdf.internal.scaleFactor, b = 1.74 * m / r.pdf.internal.scaleFactor; d = function (t, e) { this.pdf.circle(t + C, e + U, b, "FD") } } 16 & i.ownerDocument.body.compareDocumentPosition(i) && r.addText(w, a) } else "string" == typeof i && r.addText(i, a); else { var F; if ("IMG" === i.nodeName) { var E = i.getAttribute("src"); F = g[r.pdf.sHashCode(E) || E] } if (F) { r.pdf.internal.pageSize.getHeight() - r.pdf.margins_doc.bottom < r.y + i.height && r.y > r.pdf.margins_doc.top && (r.pdf.addPage(), r.y = r.pdf.margins_doc.top, r.executeWatchFunctions(i)); var x = c(i), H = r.x, I = 12 / r.pdf.internal.scaleFactor, S = (x["margin-left"] + x["padding-left"]) * I, _ = (x["margin-right"] + x["padding-right"]) * I, T = (x["margin-top"] + x["padding-top"]) * I, N = (x["margin-bottom"] + x["padding-bottom"]) * I; void 0 !== x.float && "right" === x.float ? H += r.settings.width - i.width - _ : H += S, r.pdf.addImage(F, H, r.y + T, i.width, i.height), F = void 0, "right" === x.float || "left" === x.float ? (r.watchFunctions.push(function (t, e, A, n) { return r.y >= e ? (r.x += t, r.settings.width += A, !0) : !!(n && 1 === n.nodeType && !v[n.nodeName] && r.x + n.width > r.pdf.margins_doc.left + r.pdf.margins_doc.width) && (r.x += t, r.y = e, r.settings.width += A, !0) }.bind(this, "left" === x.float ? -i.width - S - _ : 0, r.y + i.height + T + N, i.width)), r.watchFunctions.push(function (t, e, A) { return !(r.y < t && e === r.pdf.internal.getNumberOfPages()) || 1 === A.nodeType && "both" === c(A).clear && (r.y = t, !0) }.bind(this, r.y + i.height, r.pdf.internal.getNumberOfPages())), r.settings.width -= i.width + S + _, "left" === x.float && (r.x += i.width + S + _)) : r.y += i.height + T + N } else if ("TABLE" === i.nodeName) h = y(i, r), r.y += 10, r.pdf.table(r.x, r.y, h.rows, h.headers, { autoSize: !1, printHeaders: n.printHeaders, margins: r.pdf.margins_doc, css: c(i) }), r.y = r.pdf.lastCellPos.y + r.pdf.lastCellPos.h + 20; else if ("OL" === i.nodeName || "UL" === i.nodeName) Q = 1, p(i, r, n) || A(i, r, n), r.y += 10; else if ("LI" === i.nodeName) { var k = r.x; r.x += 20 / r.pdf.internal.scaleFactor, r.y += 3, p(i, r, n) || A(i, r, n), r.x = k } else "BR" === i.nodeName ? (r.y += a["font-size"] * r.pdf.internal.scaleFactor, r.addText("\u2028", e(a))) : p(i, r, n) || A(i, r, n) } } s++ } if (n.outY = r.y, l) return r.setBlockBoundary(d) }, g = {}, B = function (t, e, A, r) { function n() { e.pdf.internal.events.publish("imagesLoaded"), r(o) } function i(t, A, r) { if (t) { var i = new Image; o = ++c, i.crossOrigin = "", i.onerror = i.onload = function () { if (i.complete && (0 === i.src.indexOf("data:image/") && (i.width = A || i.width || 0, i.height = r || i.height || 0), i.width + i.height)) { var o = e.pdf.sHashCode(t) || t; g[o] = g[o] || i } --c || n() }, i.src = t } } for (var o, a = t.getElementsByTagName("img"), s = a.length, c = 0; s--;)i(a[s].getAttribute("src"), a[s].width, a[s].height); return c || n() }, w = function (t, e, r) { var n = t.getElementsByTagName("footer"); if (0 < n.length) { n = n[0]; var i = e.pdf.internal.write, o = e.y; e.pdf.internal.write = function () { }, A(n, e, r); var a = Math.ceil(e.y - o) + 5; e.y = o, e.pdf.internal.write = i, e.pdf.margins_doc.bottom += a; for (var s = function (t) { var i = void 0 !== t ? t.pageNumber : 1, o = e.y; e.y = e.pdf.internal.pageSize.getHeight() - e.pdf.margins_doc.bottom, e.pdf.margins_doc.bottom -= a; for (var s = n.getElementsByTagName("span"), c = 0; c < s.length; ++c)-1 < (" " + s[c].className + " ").replace(/[\n\t]/g, " ").indexOf(" pageCounter ") && (s[c].innerHTML = i), -1 < (" " + s[c].className + " ").replace(/[\n\t]/g, " ").indexOf(" totalPages ") && (s[c].innerHTML = "###jsPDFVarTotalPages###"); A(n, e, r), e.pdf.margins_doc.bottom += a, e.y = o }, c = n.getElementsByTagName("span"), l = 0; l < c.length; ++l)-1 < (" " + c[l].className + " ").replace(/[\n\t]/g, " ").indexOf(" totalPages ") && e.pdf.internal.events.subscribe("htmlRenderingFinished", e.pdf.putTotalPages.bind(e.pdf, "###jsPDFVarTotalPages###"), !0); e.pdf.internal.events.subscribe("addPage", s, !1), s(), v.FOOTER = 1 } }, m = function (t, e, r, n, i, o) { if (!e) return !1; var a, s, c, l; "string" == typeof e || e.parentNode || (e = "" + e.innerHTML), "string" == typeof e && (a = e.replace(/<\/?script[^>]*?>/gi, ""), l = "jsPDFhtmlText" + Date.now().toString() + (1e3 * Math.random()).toFixed(0), (c = document.createElement("div")).style.cssText = "position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;", c.innerHTML = '<iframe style="height:1px;width:1px" name="' + l + '" />', document.body.appendChild(c), (s = window.frames[l]).document.open(), s.document.writeln(a), s.document.close(), e = s.document.body); var h, d = new u(t, r, n, i); return B.call(this, e, d, i.elementHandlers, function (t) { w(e, d, i.elementHandlers), A(e, d, i.elementHandlers), d.pdf.internal.events.publish("htmlRenderingFinished"), h = d.dispose(), "function" == typeof o ? o(h) : t && console.error("jsPDF Warning: rendering issues? provide a callback to fromHTML!") }), h || { x: d.x, y: d.y } }, (u = function (t, e, A, r) { return this.pdf = t, this.x = e, this.y = A, this.settings = r, this.watchFunctions = [], this.init(), this }).prototype.init = function () { return this.paragraph = { text: [], style: [] }, this.pdf.internal.write("q") }, u.prototype.dispose = function () { return this.pdf.internal.write("Q"), { x: this.x, y: this.y, ready: !0 } }, u.prototype.executeWatchFunctions = function (t) { var e = !1, A = []; if (0 < this.watchFunctions.length) { for (var r = 0; r < this.watchFunctions.length; ++r)!0 === this.watchFunctions[r](t) ? e = !0 : A.push(this.watchFunctions[r]); this.watchFunctions = A } return e }, u.prototype.splitFragmentsIntoLines = function (t, A) { var r, n, i, o, a, s, c, l, u, h, d, f, p, g; for (h = this.pdf.internal.scaleFactor, o = {}, s = c = l = g = a = i = u = n = void 0, f = [d = []], r = 0, p = this.settings.width; t.length;)if (a = t.shift(), g = A.shift(), a) if ((i = o[(n = g["font-family"]) + (u = g["font-style"])]) || (i = this.pdf.internal.getFont(n, u).metadata.Unicode, o[n + u] = i), l = { widths: i.widths, kerning: i.kerning, fontSize: 12 * g["font-size"], textIndent: r }, c = this.pdf.getStringUnitWidth(a, l) * l.fontSize / h, "\u2028" == a) d = [], f.push(d); else if (p < r + c) { for (s = this.pdf.splitTextToSize(a, p, l), d.push([s.shift(), g]); s.length;)d = [[s.shift(), g]], f.push(d); r = this.pdf.getStringUnitWidth(d[0][0], l) * l.fontSize / h } else d.push([a, g]), r += c; if (void 0 !== g["text-align"] && ("center" === g["text-align"] || "right" === g["text-align"] || "justify" === g["text-align"])) for (var B = 0; B < f.length; ++B) { var w = this.pdf.getStringUnitWidth(f[B][0][0], l) * l.fontSize / h; 0 < B && (f[B][0][1] = e(f[B][0][1])); var m = p - w; if ("right" === g["text-align"]) f[B][0][1]["margin-left"] = m; else if ("center" === g["text-align"]) f[B][0][1]["margin-left"] = m / 2; else if ("justify" === g["text-align"]) { var y = f[B][0][0].split(" ").length - 1; f[B][0][1]["word-spacing"] = m / y, B === f.length - 1 && (f[B][0][1]["word-spacing"] = 0) } } return f }, u.prototype.RenderTextFragment = function (t, e) { var A, r; r = 0, this.pdf.internal.pageSize.getHeight() - this.pdf.margins_doc.bottom < this.y + this.pdf.internal.getFontSize() && (this.pdf.internal.write("ET", "Q"), this.pdf.addPage(), this.y = this.pdf.margins_doc.top, this.pdf.internal.write("q", "BT", this.getPdfColor(e.color), this.pdf.internal.getCoordinateString(this.x), this.pdf.internal.getVerticalCoordinateString(this.y), "Td"), r = Math.max(r, e["line-height"], e["font-size"]), this.pdf.internal.write(0, (-12 * r).toFixed(2), "Td")), A = this.pdf.internal.getFont(e["font-family"], e["font-style"]); var n = this.getPdfColor(e.color); n !== this.lastTextColor && (this.pdf.internal.write(n), this.lastTextColor = n), void 0 !== e["word-spacing"] && 0 < e["word-spacing"] && this.pdf.internal.write(e["word-spacing"].toFixed(2), "Tw"), this.pdf.internal.write("/" + A.id, (12 * e["font-size"]).toFixed(2), "Tf", "(" + this.pdf.internal.pdfEscape(t) + ") Tj"), void 0 !== e["word-spacing"] && this.pdf.internal.write(0, "Tw") }, u.prototype.getPdfColor = function (t) { var e, A, r, n = new RGBColor(t), i = /rgb\s*\(\s*(\d+),\s*(\d+),\s*(\d+\s*)\)/.exec(t); if (null != i ? (e = parseInt(i[1]), A = parseInt(i[2]), r = parseInt(i[3])) : ("#" != t.charAt(0) && (t = n.ok ? n.toHex() : "#000000"), e = t.substring(1, 3), e = parseInt(e, 16), A = t.substring(3, 5), A = parseInt(A, 16), r = t.substring(5, 7), r = parseInt(r, 16)), "string" == typeof e && /^#[0-9A-Fa-f]{6}$/.test(e)) { var o = parseInt(e.substr(1), 16); e = o >> 16 & 255, A = o >> 8 & 255, r = 255 & o } var a = this.f3; return 0 === e && 0 === A && 0 === r || void 0 === A ? a(e / 255) + " g" : [a(e / 255), a(A / 255), a(r / 255), "rg"].join(" ") }, u.prototype.f3 = function (t) { return t.toFixed(3) }, u.prototype.renderParagraph = function (t) { var e, A, r, n, i, o, a, s, c, u, h, d, f; if (r = l(this.paragraph.text), d = this.paragraph.style, e = this.paragraph.blockstyle, this.paragraph.priorblockstyle, this.paragraph = { text: [], style: [], blockstyle: {}, priorblockstyle: e }, r.join("").trim()) { a = this.splitFragmentsIntoLines(r, d), s = o = void 0, A = 12 / this.pdf.internal.scaleFactor, this.priorMarginBottom = this.priorMarginBottom || 0, h = (Math.max((e["margin-top"] || 0) - this.priorMarginBottom, 0) + (e["padding-top"] || 0)) * A, u = ((e["margin-bottom"] || 0) + (e["padding-bottom"] || 0)) * A, this.priorMarginBottom = e["margin-bottom"] || 0, "always" === e["page-break-before"] && (this.pdf.addPage(), this.y = 0, h = ((e["margin-top"] || 0) + (e["padding-top"] || 0)) * A), c = this.pdf.internal.write, i = n = void 0, this.y += h, c("q", "BT 0 g", this.pdf.internal.getCoordinateString(this.x), this.pdf.internal.getVerticalCoordinateString(this.y), "Td"); for (var p = 0; a.length;) { for (n = s = 0, i = (o = a.shift()).length; n !== i;)o[n][0].trim() && (s = Math.max(s, o[n][1]["line-height"], o[n][1]["font-size"]), f = 7 * o[n][1]["font-size"]), n++; var g = 0, B = 0; for (void 0 !== o[0][1]["margin-left"] && 0 < o[0][1]["margin-left"] && (g = (B = this.pdf.internal.getCoordinateString(o[0][1]["margin-left"])) - p, p = B), c(g + Math.max(e["margin-left"] || 0, 0) * A, (-12 * s).toFixed(2), "Td"), n = 0, i = o.length; n !== i;)o[n][0] && this.RenderTextFragment(o[n][0], o[n][1]), n++; if (this.y += s * A, this.executeWatchFunctions(o[0][1]) && 0 < a.length) { var w = [], m = []; a.forEach(function (t) { for (var e = 0, A = t.length; e !== A;)t[e][0] && (w.push(t[e][0] + " "), m.push(t[e][1])), ++e }), a = this.splitFragmentsIntoLines(l(w), m), c("ET", "Q"), c("q", "BT 0 g", this.pdf.internal.getCoordinateString(this.x), this.pdf.internal.getVerticalCoordinateString(this.y), "Td") } } return t && "function" == typeof t && t.call(this, this.x - 9, this.y - f / 2), c("ET", "Q"), this.y += u } }, u.prototype.setBlockBoundary = function (t) { return this.renderParagraph(t) }, u.prototype.setBlockStyle = function (t) { return this.paragraph.blockstyle = t }, u.prototype.addText = function (t, e) { return this.paragraph.text.push(t), this.paragraph.style.push(e) }, r = { helvetica: "helvetica", "sans-serif": "helvetica", "times new roman": "times", serif: "times", times: "times", monospace: "courier", courier: "courier" }, o = { 100: "normal", 200: "normal", 300: "normal", 400: "normal", 500: "bold", 600: "bold", 700: "bold", 800: "bold", 900: "bold", normal: "normal", bold: "bold", bolder: "bold", lighter: "normal" }, n = { normal: "normal", italic: "italic", oblique: "italic" }, i = { left: "left", right: "right", center: "center", justify: "justify" }, a = { none: "none", right: "right", left: "left" }, s = { none: "none", both: "both" }, f = { normal: 1 }, t.fromHTML = function (t, e, A, r, n, i) { return this.margins_doc = i || { top: 0, bottom: 0 }, r || (r = {}), r.elementHandlers || (r.elementHandlers = {}), m(this, t, isNaN(e) ? 4 : e, isNaN(A) ? 4 : A, r, n) } }(st.API), st.API.addJS = function (t) { return C = t, this.internal.events.subscribe("postPutResources", function (t) { v = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/Names [(EmbeddedJS) " + (v + 1) + " 0 R]"), this.internal.out(">>"), this.internal.out("endobj"), Q = this.internal.newObject(), this.internal.out("<<"), this.internal.out("/S /JavaScript"), this.internal.out("/JS (" + C + ")"), this.internal.out(">>"), this.internal.out("endobj") }), this.internal.events.subscribe("putCatalog", function () { void 0 !== v && void 0 !== Q && this.internal.out("/Names <</JavaScript " + v + " 0 R>>") }), this }, (U = st.API).events.push(["postPutResources", function () { var t = this, e = /^(\d+) 0 obj$/; if (0 < this.outline.root.children.length) for (var A = t.outline.render().split(/\r\n/), r = 0; r < A.length; r++) { var n = A[r], i = e.exec(n); if (null != i) { var o = i[1]; t.internal.newObjectDeferredBegin(o) } t.internal.write(n) } if (this.outline.createNamedDestinations) { var a = this.internal.pages.length, s = []; for (r = 0; r < a; r++) { var c = t.internal.newObject(); s.push(c); var l = t.internal.getPageInfo(r + 1); t.internal.write("<< /D[" + l.objId + " 0 R /XYZ null null null]>> endobj") } var u = t.internal.newObject(); for (t.internal.write("<< /Names [ "), r = 0; r < s.length; r++)t.internal.write("(page_" + (r + 1) + ")" + s[r] + " 0 R"); t.internal.write(" ] >>", "endobj"), t.internal.newObject(), t.internal.write("<< /Dests " + u + " 0 R"), t.internal.write(">>", "endobj") } }]), U.events.push(["putCatalog", function () { 0 < this.outline.root.children.length && (this.internal.write("/Outlines", this.outline.makeRef(this.outline.root)), this.outline.createNamedDestinations && this.internal.write("/Names " + namesOid + " 0 R")) }]), U.events.push(["initialized", function () { var t = this; t.outline = { createNamedDestinations: !1, root: { children: [] } }, t.outline.add = function (t, e, A) { var r = { title: e, options: A, children: [] }; return null == t && (t = this.root), t.children.push(r), r }, t.outline.render = function () { return this.ctx = {}, this.ctx.val = "", this.ctx.pdf = t, this.genIds_r(this.root), this.renderRoot(this.root), this.renderItems(this.root), this.ctx.val }, t.outline.genIds_r = function (e) { e.id = t.internal.newObjectDeferred(); for (var A = 0; A < e.children.length; A++)this.genIds_r(e.children[A]) }, t.outline.renderRoot = function (t) { this.objStart(t), this.line("/Type /Outlines"), 0 < t.children.length && (this.line("/First " + this.makeRef(t.children[0])), this.line("/Last " + this.makeRef(t.children[t.children.length - 1]))), this.line("/Count " + this.count_r({ count: 0 }, t)), this.objEnd() }, t.outline.renderItems = function (e) { for (var A = 0; A < e.children.length; A++) { var r = e.children[A]; this.objStart(r), this.line("/Title " + this.makeString(r.title)), this.line("/Parent " + this.makeRef(e)), 0 < A && this.line("/Prev " + this.makeRef(e.children[A - 1])), A < e.children.length - 1 && this.line("/Next " + this.makeRef(e.children[A + 1])), 0 < r.children.length && (this.line("/First " + this.makeRef(r.children[0])), this.line("/Last " + this.makeRef(r.children[r.children.length - 1]))); var n = this.count = this.count_r({ count: 0 }, r); if (0 < n && this.line("/Count " + n), r.options && r.options.pageNumber) { var i = t.internal.getPageInfo(r.options.pageNumber); this.line("/Dest [" + i.objId + " 0 R /XYZ 0 " + this.ctx.pdf.internal.pageSize.getHeight() * this.ctx.pdf.internal.scaleFactor + " 0]") } this.objEnd() } for (A = 0; A < e.children.length; A++)r = e.children[A], this.renderItems(r) }, t.outline.line = function (t) { this.ctx.val += t + "\r\n" }, t.outline.makeRef = function (t) { return t.id + " 0 R" }, t.outline.makeString = function (e) { return "(" + t.internal.pdfEscape(e) + ")" }, t.outline.objStart = function (t) { this.ctx.val += "\r\n" + t.id + " 0 obj\r\n<<\r\n" }, t.outline.objEnd = function (t) { this.ctx.val += ">> \r\nendobj\r\n" }, t.outline.count_r = function (t, e) { for (var A = 0; A < e.children.length; A++)t.count++ , this.count_r(t, e.children[A]); return t.count } }]), b = st.API, F = function () { var t = "function" == typeof Deflater; if (!t) throw new Error("requires deflate.js for compression"); return t }, E = function (t, e, A, r) { var n = 5, i = T; switch (r) { case b.image_compression.FAST: n = 3, i = _; break; case b.image_compression.MEDIUM: n = 6, i = N; break; case b.image_compression.SLOW: n = 9, i = k }t = I(t, e, A, i); var o = new Uint8Array(x(n)), a = H(t), s = new Deflater(n), c = s.append(t), l = s.flush(), u = o.length + c.length + l.length, h = new Uint8Array(u + 4); return h.set(o), h.set(c, o.length), h.set(l, o.length + c.length), h[u++] = a >>> 24 & 255, h[u++] = a >>> 16 & 255, h[u++] = a >>> 8 & 255, h[u++] = 255 & a, b.arrayBufferToBinaryString(h) }, x = function (t, e) { var A = Math.LOG2E * Math.log(32768) - 8 << 4 | 8, r = A << 8; return r |= Math.min(3, (e - 1 & 255) >> 1) << 6, r |= 0, [A, 255 & (r += 31 - r % 31)] }, H = function (t, e) { for (var A, r = 1, n = 0, i = t.length, o = 0; 0 < i;) { for (i -= A = e < i ? e : i; n += r += t[o++], --A;); r %= 65521, n %= 65521 } return (n << 16 | r) >>> 0 }, I = function (t, e, A, r) { for (var n, i, o, a = t.length / e, s = new Uint8Array(t.length + a), c = P(), l = 0; l < a; l++) { if (o = l * e, n = t.subarray(o, o + e), r) s.set(r(n, A, i), o + l); else { for (var u = 0, h = c.length, d = []; u < h; u++)d[u] = c[u](n, A, i); var f = D(d.concat()); s.set(d[f], o + l) } i = n } return s }, S = function (t, e, A) { var r = Array.apply([], t); return r.unshift(0), r }, _ = function (t, e, A) { var r, n = [], i = 0, o = t.length; for (n[0] = 1; i < o; i++)r = t[i - e] || 0, n[i + 1] = t[i] - r + 256 & 255; return n }, T = function (t, e, A) { var r, n = [], i = 0, o = t.length; for (n[0] = 2; i < o; i++)r = A && A[i] || 0, n[i + 1] = t[i] - r + 256 & 255; return n }, N = function (t, e, A) { var r, n, i = [], o = 0, a = t.length; for (i[0] = 3; o < a; o++)r = t[o - e] || 0, n = A && A[o] || 0, i[o + 1] = t[o] + 256 - (r + n >>> 1) & 255; return i }, k = function (t, e, A) { var r, n, i, o, a = [], s = 0, c = t.length; for (a[0] = 4; s < c; s++)r = t[s - e] || 0, n = A && A[s] || 0, i = A && A[s - e] || 0, o = O(r, n, i), a[s + 1] = t[s] - o + 256 & 255; return a }, O = function (t, e, A) { var r = t + e - A, n = Math.abs(r - t), i = Math.abs(r - e), o = Math.abs(r - A); return n <= i && n <= o ? t : i <= o ? e : A }, P = function () { return [S, _, T, N, k] }, D = function (t) { for (var e, A, r, n = 0, i = t.length; n < i;)((e = L(t[n].slice(1))) < A || !A) && (A = e, r = n), n++; return r }, L = function (t) { for (var e = 0, A = t.length, r = 0; e < A;)r += Math.abs(t[e++]); return r }, b.processPNG = function (t, e, A, r, n) { var i, o, a, s, c, l, u = this.color_spaces.DEVICE_RGB, h = this.decode.FLATE_DECODE, d = 8; if (this.isArrayBuffer(t) && (t = new Uint8Array(t)), this.isArrayBufferView(t)) { if ("function" != typeof PNG || "function" != typeof Et) throw new Error("PNG support requires png.js and zlib.js"); if (t = (i = new PNG(t)).imgData, d = i.bits, u = i.colorSpace, s = i.colors, -1 !== [4, 6].indexOf(i.colorType)) { if (8 === i.bits) for (var f, p = (H = 32 == i.pixelBitlength ? new Uint32Array(i.decodePixels().buffer) : 16 == i.pixelBitlength ? new Uint16Array(i.decodePixels().buffer) : new Uint8Array(i.decodePixels().buffer)).length, g = new Uint8Array(p * i.colors), B = new Uint8Array(p), w = i.pixelBitlength - i.bits, m = 0, y = 0; m < p; m++) { for (v = H[m], f = 0; f < w;)g[y++] = v >>> f & 255, f += i.bits; B[m] = v >>> f & 255 } if (16 === i.bits) { p = (H = new Uint32Array(i.decodePixels().buffer)).length, g = new Uint8Array(p * (32 / i.pixelBitlength) * i.colors), B = new Uint8Array(p * (32 / i.pixelBitlength)); for (var v, Q = 1 < i.colors, C = y = m = 0; m < p;)v = H[m++], g[y++] = v >>> 0 & 255, Q && (g[y++] = v >>> 16 & 255, v = H[m++], g[y++] = v >>> 0 & 255), B[C++] = v >>> 16 & 255; d = 8 } r !== b.image_compression.NONE && F() ? (t = E(g, i.width * i.colors, i.colors, r), l = E(B, i.width, 1, r)) : (t = g, l = B, h = null) } if (3 === i.colorType && (u = this.color_spaces.INDEXED, c = i.palette, i.transparency.indexed)) { var U = i.transparency.indexed, x = 0; for (m = 0, p = U.length; m < p; ++m)x += U[m]; if ((x /= 255) == p - 1 && -1 !== U.indexOf(0)) a = [U.indexOf(0)]; else if (x !== p) { var H = i.decodePixels(); for (B = new Uint8Array(H.length), m = 0, p = H.length; m < p; m++)B[m] = U[H[m]]; l = E(B, i.width, 1) } } var I = function (t) { var e; switch (r) { case b.image_compression.FAST: e = 11; break; case b.image_compression.MEDIUM: e = 13; break; case b.image_compression.SLOW: e = 14; break; default: e = 12 }return e }(); return o = h === this.decode.FLATE_DECODE ? "/Predictor " + I + " /Colors " + s + " /BitsPerComponent " + d + " /Columns " + i.width : "/Colors " + s + " /BitsPerComponent " + d + " /Columns " + i.width, (this.isArrayBuffer(t) || this.isArrayBufferView(t)) && (t = this.arrayBufferToBinaryString(t)), (l && this.isArrayBuffer(l) || this.isArrayBufferView(l)) && (l = this.arrayBufferToBinaryString(l)), this.createImageInfo(t, i.width, i.height, u, d, h, e, A, o, a, c, l, I) } throw new Error("Unsupported PNG image data, try using JPEG instead.") }, (R = st.API).processGIF89A = function (t, e, A, r, i) { var a = new n(t), s = a.width, c = a.height, l = []; a.decodeAndBlitFrameRGBA(0, l); var u = { data: l, width: s, height: c }, h = new o(100).encode(u, 100); return R.processJPEG.call(this, h, e, A, r) }, R.processGIF87A = R.processGIF89A, (M = st.API).processBMP = function (t, e, A, r, n) { var i = new a(t, !1), s = i.width, c = i.height, l = { data: i.getData(), width: s, height: c }, u = new o(100).encode(l, 100); return M.processJPEG.call(this, u, e, A, r) }, st.API.setLanguage = function (t) { return void 0 === this.internal.languageSettings && (this.internal.languageSettings = {}, this.internal.languageSettings.isSubscribed = !1), void 0 !== { af: "Afrikaans", sq: "Albanian", ar: "Arabic (Standard)", "ar-DZ": "Arabic (Algeria)", "ar-BH": "Arabic (Bahrain)", "ar-EG": "Arabic (Egypt)", "ar-IQ": "Arabic (Iraq)", "ar-JO": "Arabic (Jordan)", "ar-KW": "Arabic (Kuwait)", "ar-LB": "Arabic (Lebanon)", "ar-LY": "Arabic (Libya)", "ar-MA": "Arabic (Morocco)", "ar-OM": "Arabic (Oman)", "ar-QA": "Arabic (Qatar)", "ar-SA": "Arabic (Saudi Arabia)", "ar-SY": "Arabic (Syria)", "ar-TN": "Arabic (Tunisia)", "ar-AE": "Arabic (U.A.E.)", "ar-YE": "Arabic (Yemen)", an: "Aragonese", hy: "Armenian", as: "Assamese", ast: "Asturian", az: "Azerbaijani", eu: "Basque", be: "Belarusian", bn: "Bengali", bs: "Bosnian", br: "Breton", bg: "Bulgarian", my: "Burmese", ca: "Catalan", ch: "Chamorro", ce: "Chechen", zh: "Chinese", "zh-HK": "Chinese (Hong Kong)", "zh-CN": "Chinese (PRC)", "zh-SG": "Chinese (Singapore)", "zh-TW": "Chinese (Taiwan)", cv: "Chuvash", co: "Corsican", cr: "Cree", hr: "Croatian", cs: "Czech", da: "Danish", nl: "Dutch (Standard)", "nl-BE": "Dutch (Belgian)", en: "English", "en-AU": "English (Australia)", "en-BZ": "English (Belize)", "en-CA": "English (Canada)", "en-IE": "English (Ireland)", "en-JM": "English (Jamaica)", "en-NZ": "English (New Zealand)", "en-PH": "English (Philippines)", "en-ZA": "English (South Africa)", "en-TT": "English (Trinidad & Tobago)", "en-GB": "English (United Kingdom)", "en-US": "English (United States)", "en-ZW": "English (Zimbabwe)", eo: "Esperanto", et: "Estonian", fo: "Faeroese", fj: "Fijian", fi: "Finnish", fr: "French (Standard)", "fr-BE": "French (Belgium)", "fr-CA": "French (Canada)", "fr-FR": "French (France)", "fr-LU": "French (Luxembourg)", "fr-MC": "French (Monaco)", "fr-CH": "French (Switzerland)", fy: "Frisian", fur: "Friulian", gd: "Gaelic (Scots)", "gd-IE": "Gaelic (Irish)", gl: "Galacian", ka: "Georgian", de: "German (Standard)", "de-AT": "German (Austria)", "de-DE": "German (Germany)", "de-LI": "German (Liechtenstein)", "de-LU": "German (Luxembourg)", "de-CH": "German (Switzerland)", el: "Greek", gu: "Gujurati", ht: "Haitian", he: "Hebrew", hi: "Hindi", hu: "Hungarian", is: "Icelandic", id: "Indonesian", iu: "Inuktitut", ga: "Irish", it: "Italian (Standard)", "it-CH": "Italian (Switzerland)", ja: "Japanese", kn: "Kannada", ks: "Kashmiri", kk: "Kazakh", km: "Khmer", ky: "Kirghiz", tlh: "Klingon", ko: "Korean", "ko-KP": "Korean (North Korea)", "ko-KR": "Korean (South Korea)", la: "Latin", lv: "Latvian", lt: "Lithuanian", lb: "Luxembourgish", mk: "FYRO Macedonian", ms: "Malay", ml: "Malayalam", mt: "Maltese", mi: "Maori", mr: "Marathi", mo: "Moldavian", nv: "Navajo", ng: "Ndonga", ne: "Nepali", no: "Norwegian", nb: "Norwegian (Bokmal)", nn: "Norwegian (Nynorsk)", oc: "Occitan", or: "Oriya", om: "Oromo", fa: "Persian", "fa-IR": "Persian/Iran", pl: "Polish", pt: "Portuguese", "pt-BR": "Portuguese (Brazil)", pa: "Punjabi", "pa-IN": "Punjabi (India)", "pa-PK": "Punjabi (Pakistan)", qu: "Quechua", rm: "Rhaeto-Romanic", ro: "Romanian", "ro-MO": "Romanian (Moldavia)", ru: "Russian", "ru-MO": "Russian (Moldavia)", sz: "Sami (Lappish)", sg: "Sango", sa: "Sanskrit", sc: "Sardinian", sd: "Sindhi", si: "Singhalese", sr: "Serbian", sk: "Slovak", sl: "Slovenian", so: "Somani", sb: "Sorbian", es: "Spanish", "es-AR": "Spanish (Argentina)", "es-BO": "Spanish (Bolivia)", "es-CL": "Spanish (Chile)", "es-CO": "Spanish (Colombia)", "es-CR": "Spanish (Costa Rica)", "es-DO": "Spanish (Dominican Republic)", "es-EC": "Spanish (Ecuador)", "es-SV": "Spanish (El Salvador)", "es-GT": "Spanish (Guatemala)", "es-HN": "Spanish (Honduras)", "es-MX": "Spanish (Mexico)", "es-NI": "Spanish (Nicaragua)", "es-PA": "Spanish (Panama)", "es-PY": "Spanish (Paraguay)", "es-PE": "Spanish (Peru)", "es-PR": "Spanish (Puerto Rico)", "es-ES": "Spanish (Spain)", "es-UY": "Spanish (Uruguay)", "es-VE": "Spanish (Venezuela)", sx: "Sutu", sw: "Swahili", sv: "Swedish", "sv-FI": "Swedish (Finland)", "sv-SV": "Swedish (Sweden)", ta: "Tamil", tt: "Tatar", te: "Teluga", th: "Thai", tig: "Tigre", ts: "Tsonga", tn: "Tswana", tr: "Turkish", tk: "Turkmen", uk: "Ukrainian", hsb: "Upper Sorbian", ur: "Urdu", ve: "Venda", vi: "Vietnamese", vo: "Volapuk", wa: "Walloon", cy: "Welsh", xh: "Xhosa", ji: "Yiddish", zu: "Zulu" }[t] && (this.internal.languageSettings.languageCode = t, !1 === this.internal.languageSettings.isSubscribed && (this.internal.events.subscribe("putCatalog", function () { this.internal.write("/Lang (" + this.internal.languageSettings.languageCode + ")") }), this.internal.languageSettings.isSubscribed = !0)), this }, K = st.API, z = K.getCharWidthsArray = function (t, e) { var A, r, n, i = (e = e || {}).font || this.internal.getFont(), o = e.fontSize || this.internal.getFontSize(), a = e.charSpace || this.internal.getCharSpace(), s = e.widths ? e.widths : i.metadata.Unicode.widths, c = s.fof ? s.fof : 1, l = e.kerning ? e.kerning : i.metadata.Unicode.kerning, u = l.fof ? l.fof : 1, h = 0, d = s[0] || c, f = []; for (A = 0, r = t.length; A < r; A++)n = t.charCodeAt(A), "function" == typeof i.metadata.widthOfString ? f.push((i.metadata.widthOfGlyph(i.metadata.characterToGlyph(n)) + a * (1e3 / o) || 0) / 1e3) : f.push((s[n] || d) / c + (l[n] && l[n][h] || 0) / u), h = n; return f }, q = K.getArraySum = function (t) { for (var e = t.length, A = 0; e;)A += t[--e]; return A }, j = K.getStringUnitWidth = function (t, e) { var A = (e = e || {}).fontSize || this.internal.getFontSize(), r = e.font || this.internal.getFont(), n = e.charSpace || this.internal.getCharSpace(); return "function" == typeof r.metadata.widthOfString ? r.metadata.widthOfString(t, A, n) / A : q(z.apply(this, arguments)) }, X = function (t, e, A, r) { for (var n = [], i = 0, o = t.length, a = 0; i !== o && a + e[i] < A;)a += e[i], i++; n.push(t.slice(0, i)); var s = i; for (a = 0; i !== o;)a + e[i] > r && (n.push(t.slice(s, i)), a = 0, s = i), a += e[i], i++; return s !== i && n.push(t.slice(s, i)), n }, V = function (t, e, A) { A || (A = {}); var r, n, i, o, a, s, c = [], l = [c], u = A.textIndent || 0, h = 0, d = 0, f = t.split(" "), p = z.apply(this, [" ", A])[0]; if (s = -1 === A.lineIndent ? f[0].length + 2 : A.lineIndent || 0) { var g = Array(s).join(" "), B = []; f.map(function (t) { 1 < (t = t.split(/\s*\n/)).length ? B = B.concat(t.map(function (t, e) { return (e && t.length ? "\n" : "") + t })) : B.push(t[0]) }), f = B, s = j.apply(this, [g, A]) } for (i = 0, o = f.length; i < o; i++) { var w = 0; if (r = f[i], s && "\n" == r[0] && (r = r.substr(1), w = 1), n = z.apply(this, [r, A]), e < u + h + (d = q(n)) || w) { if (e < d) { for (a = X.apply(this, [r, n, e - (u + h), e]), c.push(a.shift()), c = [a.pop()]; a.length;)l.push([a.shift()]); d = q(n.slice(r.length - (c[0] ? c[0].length : 0))) } else c = [r]; l.push(c), u = d + s, h = p } else c.push(r), u += h + d, h = p } if (s) var m = function (t, e) { return (e ? g : "") + t.join(" ") }; else m = function (t) { return t.join(" ") }; return l.map(m) }, K.splitTextToSize = function (t, e, A) { var r, n = (A = A || {}).fontSize || this.internal.getFontSize(), i = function (t) { if (t.widths && t.kerning) return { widths: t.widths, kerning: t.kerning }; var e = this.internal.getFont(t.fontName, t.fontStyle), A = "Unicode"; return e.metadata[A] ? { widths: e.metadata[A].widths || { 0: 1 }, kerning: e.metadata[A].kerning || {} } : { font: e.metadata, fontSize: this.internal.getFontSize(), charSpace: this.internal.getCharSpace() } }.call(this, A); r = Array.isArray(t) ? t : t.split(/\r?\n/); var o = 1 * this.internal.scaleFactor * e / n; i.textIndent = A.textIndent ? 1 * A.textIndent * this.internal.scaleFactor / n : 0, i.lineIndent = A.lineIndent; var a, s, c = []; for (a = 0, s = r.length; a < s; a++)c = c.concat(V.apply(this, [r[a], o, i])); return c }, G = st.API, Y = { codePages: ["WinAnsiEncoding"], WinAnsiEncoding: (W = function (t) { for (var e = "klmnopqrstuvwxyz", A = {}, r = 0; r < e.length; r++)A[e[r]] = "0123456789abcdef"[r]; var n, i, o, a, s, c = {}, l = 1, u = c, h = [], d = "", f = "", p = t.length - 1; for (r = 1; r != p;)s = t[r], r += 1, "'" == s ? i ? (a = i.join(""), i = n) : i = [] : i ? i.push(s) : "{" == s ? (h.push([u, a]), u = {}, a = n) : "}" == s ? ((o = h.pop())[0][o[1]] = u, a = n, u = o[0]) : "-" == s ? l = -1 : a === n ? A.hasOwnProperty(s) ? (d += A[s], a = parseInt(d, 16) * l, l = 1, d = "") : d += s : A.hasOwnProperty(s) ? (f += A[s], u[a] = parseInt(f, 16) * l, l = 1, a = n, f = "") : f += s; return c })("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}") }, J = { Unicode: { Courier: Y, "Courier-Bold": Y, "Courier-BoldOblique": Y, "Courier-Oblique": Y, Helvetica: Y, "Helvetica-Bold": Y, "Helvetica-BoldOblique": Y, "Helvetica-Oblique": Y, "Times-Roman": Y, "Times-Bold": Y, "Times-BoldItalic": Y, "Times-Italic": Y } }, Z = { Unicode: { "Courier-Oblique": W("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), "Times-BoldItalic": W("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"), "Helvetica-Bold": W("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"), Courier: W("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), "Courier-BoldOblique": W("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), "Times-Bold": W("{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}"), Symbol: W("{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}"), Helvetica: W("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}"), "Helvetica-BoldOblique": W("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"), ZapfDingbats: W("{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}"), "Courier-Bold": W("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), "Times-Italic": W("{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}"), "Times-Roman": W("{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}"), "Helvetica-Oblique": W("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}") } }, G.events.push(["addFont", function (t) { var e, A, r, n = "Unicode"; (e = Z[n][t.postScriptName]) && ((A = t.metadata[n] ? t.metadata[n] : t.metadata[n] = {}).widths = e.widths, A.kerning = e.kerning), (r = J[n][t.postScriptName]) && ((A = t.metadata[n] ? t.metadata[n] : t.metadata[n] = {}).encoding = r).codePages && r.codePages.length && (t.encoding = r.codePages[0]) }]), $ = st, "undefined" != typeof self && self || void 0 !== r && r || "undefined" != typeof window && window || Function("return this")(), $.API.events.push(["addFont", function (t) { $.API.existsFileInVFS(t.postScriptName) ? (t.metadata = $.API.TTFFont.open(t.postScriptName, t.fontName, $.API.getFileFromVFS(t.postScriptName), t.encoding), t.metadata.Unicode = t.metadata.Unicode || { encoding: {}, kerning: {}, widths: [] }) : 14 < t.id.slice(1) && console.error("Font does not exist in FileInVFS, import fonts or remove declaration doc.addFont('" + t.postScriptName + "').") }]), (tt = st.API).addSvg = function (t, e, A, r, n) { function i(t) { for (var e = parseFloat(t[1]), A = parseFloat(t[2]), r = [], n = 3, i = t.length; n < i;)"c" === t[n] ? (r.push([parseFloat(t[n + 1]), parseFloat(t[n + 2]), parseFloat(t[n + 3]), parseFloat(t[n + 4]), parseFloat(t[n + 5]), parseFloat(t[n + 6])]), n += 7) : "l" === t[n] ? (r.push([parseFloat(t[n + 1]), parseFloat(t[n + 2])]), n += 3) : n += 1; return [e, A, r] } if (void 0 === e || void 0 === A) throw new Error("addSVG needs values for 'x' and 'y'"); var o, a, s, c, l, u, h, d, f = (c = document, d = c.createElement("iframe"), l = ".jsPDF_sillysvg_iframe {display:none;position:absolute;}", (h = (u = c).createElement("style")).type = "text/css", h.styleSheet ? h.styleSheet.cssText = l : h.appendChild(u.createTextNode(l)), u.getElementsByTagName("head")[0].appendChild(h), d.name = "childframe", d.setAttribute("width", 0), d.setAttribute("height", 0), d.setAttribute("frameborder", "0"), d.setAttribute("scrolling", "no"), d.setAttribute("seamless", "seamless"), d.setAttribute("class", "jsPDF_sillysvg_iframe"), c.body.appendChild(d), d), p = (o = t, (s = ((a = f).contentWindow || a.contentDocument).document).write(o), s.close(), s.getElementsByTagName("svg")[0]), g = [1, 1], B = parseFloat(p.getAttribute("width")), w = parseFloat(p.getAttribute("height")); B && w && (r && n ? g = [r / B, n / w] : r ? g = [r / B, r / B] : n && (g = [n / w, n / w])); var m, y, v, Q, C = p.childNodes; for (m = 0, y = C.length; m < y; m++)(v = C[m]).tagName && "PATH" === v.tagName.toUpperCase() && ((Q = i(v.getAttribute("d").split(" ")))[0] = Q[0] * g[0] + e, Q[1] = Q[1] * g[1] + A, this.lines.call(this, Q[2], Q[0], Q[1], g)); return this }, tt.addSVG = tt.addSvg, tt.addSvgAsImage = function (t, e, A, r, n, i, o, a) { if (isNaN(e) || isNaN(A)) throw console.error("jsPDF.addSvgAsImage: Invalid coordinates", arguments), new Error("Invalid coordinates passed to jsPDF.addSvgAsImage"); if (isNaN(r) || isNaN(n)) throw console.error("jsPDF.addSvgAsImage: Invalid measurements", arguments), new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage"); var s = document.createElement("canvas"); s.width = r, s.height = n; var c = s.getContext("2d"); return c.fillStyle = "#fff", c.fillRect(0, 0, s.width, s.height), canvg(s, t, { ignoreMouse: !0, ignoreAnimation: !0, ignoreDimensions: !0, ignoreClear: !0 }), this.addImage(s.toDataURL("image/jpeg", 1), e, A, r, n, o, a), this }, st.API.putTotalPages = function (t) { for (var e = new RegExp(t, "g"), A = 1; A <= this.internal.getNumberOfPages(); A++)for (var r = 0; r < this.internal.pages[A].length; r++)this.internal.pages[A][r] = this.internal.pages[A][r].replace(e, this.internal.getNumberOfPages()); return this }, st.API.viewerPreferences = function (t, e) { function A(t, e) { var A, r = !1; for (A = 0; A < t.length; A += 1)t[A] === e && (r = !0); return r } var r; t = t || {}, e = e || !1; var n, i, o = { HideToolbar: { defaultValue: !1, value: !1, type: "boolean", explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.3 }, HideMenubar: { defaultValue: !1, value: !1, type: "boolean", explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.3 }, HideWindowUI: { defaultValue: !1, value: !1, type: "boolean", explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.3 }, FitWindow: { defaultValue: !1, value: !1, type: "boolean", explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.3 }, CenterWindow: { defaultValue: !1, value: !1, type: "boolean", explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.3 }, DisplayDocTitle: { defaultValue: !1, value: !1, type: "boolean", explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.4 }, NonFullScreenPageMode: { defaultValue: "UseNone", value: "UseNone", type: "name", explicitSet: !1, valueSet: ["UseNone", "UseOutlines", "UseThumbs", "UseOC"], pdfVersion: 1.3 }, Direction: { defaultValue: "L2R", value: "L2R", type: "name", explicitSet: !1, valueSet: ["L2R", "R2L"], pdfVersion: 1.3 }, ViewArea: { defaultValue: "CropBox", value: "CropBox", type: "name", explicitSet: !1, valueSet: ["MediaBox", "CropBox", "TrimBox", "BleedBox", "ArtBox"], pdfVersion: 1.4 }, ViewClip: { defaultValue: "CropBox", value: "CropBox", type: "name", explicitSet: !1, valueSet: ["MediaBox", "CropBox", "TrimBox", "BleedBox", "ArtBox"], pdfVersion: 1.4 }, PrintArea: { defaultValue: "CropBox", value: "CropBox", type: "name", explicitSet: !1, valueSet: ["MediaBox", "CropBox", "TrimBox", "BleedBox", "ArtBox"], pdfVersion: 1.4 }, PrintClip: { defaultValue: "CropBox", value: "CropBox", type: "name", explicitSet: !1, valueSet: ["MediaBox", "CropBox", "TrimBox", "BleedBox", "ArtBox"], pdfVersion: 1.4 }, PrintScaling: { defaultValue: "AppDefault", value: "AppDefault", type: "name", explicitSet: !1, valueSet: ["AppDefault", "None"], pdfVersion: 1.6 }, Duplex: { defaultValue: "", value: "none", type: "name", explicitSet: !1, valueSet: ["Simplex", "DuplexFlipShortEdge", "DuplexFlipLongEdge", "none"], pdfVersion: 1.7 }, PickTrayByPDFSize: { defaultValue: !1, value: !1, type: "boolean", explicitSet: !1, valueSet: [!0, !1], pdfVersion: 1.7 }, PrintPageRange: { defaultValue: "", value: "", type: "array", explicitSet: !1, valueSet: null, pdfVersion: 1.7 }, NumCopies: { defaultValue: 1, value: 1, type: "integer", explicitSet: !1, valueSet: null, pdfVersion: 1.7 } }, a = Object.keys(o), s = [], c = 0, l = 0, u = 0, h = !0; if (void 0 === this.internal.viewerpreferences && (this.internal.viewerpreferences = {}, this.internal.viewerpreferences.configuration = JSON.parse(JSON.stringify(o)), this.internal.viewerpreferences.isSubscribed = !1), r = this.internal.viewerpreferences.configuration, "reset" === t || !0 === e) { var d = a.length; for (u = 0; u < d; u += 1)r[a[u]].value = r[a[u]].defaultValue, r[a[u]].explicitSet = !1 } if ("object" === (void 0 === t ? "undefined" : at(t))) for (n in t) if (i = t[n], A(a, n) && void 0 !== i) { if ("boolean" === r[n].type && "boolean" == typeof i) r[n].value = i; else if ("name" === r[n].type && A(r[n].valueSet, i)) r[n].value = i; else if ("integer" === r[n].type && Number.isInteger(i)) r[n].value = i; else if ("array" === r[n].type) { for (c = 0; c < i.length; c += 1)if (h = !0, 1 === i[c].length && "number" == typeof i[c][0]) s.push(String(i[c])); else if (1 < i[c].length) { for (l = 0; l < i[c].length; l += 1)"number" != typeof i[c][l] && (h = !1); !0 === h && s.push(String(i[c].join("-"))) } r[n].value = String(s) } else r[n].value = r[n].defaultValue; r[n].explicitSet = !0 } return !1 === this.internal.viewerpreferences.isSubscribed && (this.internal.events.subscribe("putCatalog", function () { var t, e = []; for (t in r) !0 === r[t].explicitSet && ("name" === r[t].type ? e.push("/" + t + " /" + r[t].value) : e.push("/" + t + " " + r[t].value)); 0 !== e.length && this.internal.write("/ViewerPreferences\n<<\n" + e.join("\n") + "\n>>") }), this.internal.viewerpreferences.isSubscribed = !0), this.internal.viewerpreferences.configuration = r, this }, et = st.API, nt = rt = At = "", et.addMetadata = function (t, e) { return rt = e || "http://jspdf.default.namespaceuri/", At = t, this.internal.events.subscribe("postPutResources", function () { if (At) { var t = '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:jspdf="' + rt + '"><jspdf:metadata>', e = unescape(encodeURIComponent('<x:xmpmeta xmlns:x="adobe:ns:meta/">')), A = unescape(encodeURIComponent(t)), r = unescape(encodeURIComponent(At)), n = unescape(encodeURIComponent("</jspdf:metadata></rdf:Description></rdf:RDF>")), i = unescape(encodeURIComponent("</x:xmpmeta>")), o = A.length + r.length + n.length + e.length + i.length; nt = this.internal.newObject(), this.internal.write("<< /Type /Metadata /Subtype /XML /Length " + o + " >>"), this.internal.write("stream"), this.internal.write(e + A + r + n + i), this.internal.write("endstream"), this.internal.write("endobj") } else nt = "" }), this.internal.events.subscribe("putCatalog", function () { nt && this.internal.write("/Metadata " + nt + " 0 R") }), this }, function (t, e) { var A = t.API, r = [0]; A.events.push(["putFont", function (e) { !function (e, A, n) { if (e.metadata instanceof t.API.TTFFont && "Identity-H" === e.encoding) { for (var i = e.metadata.Unicode.widths, o = e.metadata.subset.encode(r), a = "", s = 0; s < o.length; s++)a += String.fromCharCode(o[s]); var c = n(); A("<<"), A("/Length " + a.length), A("/Length1 " + a.length), A(">>"), A("stream"), A(a), A("endstream"), A("endobj"); var l = n(); A("<<"), A("/Type /FontDescriptor"), A("/FontName /" + e.fontName), A("/FontFile2 " + c + " 0 R"), A("/FontBBox " + t.API.PDFObject.convert(e.metadata.bbox)), A("/Flags " + e.metadata.flags), A("/StemV " + e.metadata.stemV), A("/ItalicAngle " + e.metadata.italicAngle), A("/Ascent " + e.metadata.ascender), A("/Descent " + e.metadata.decender), A("/CapHeight " + e.metadata.capHeight), A(">>"), A("endobj"); var u = n(); A("<<"), A("/Type /Font"), A("/BaseFont /" + e.fontName), A("/FontDescriptor " + l + " 0 R"), A("/W " + t.API.PDFObject.convert(i)), A("/CIDToGIDMap /Identity"), A("/DW 1000"), A("/Subtype /CIDFontType2"), A("/CIDSystemInfo"), A("<<"), A("/Supplement 0"), A("/Registry (Adobe)"), A("/Ordering (" + e.encoding + ")"), A(">>"), A(">>"), A("endobj"), e.objectNumber = n(), A("<<"), A("/Type /Font"), A("/Subtype /Type0"), A("/BaseFont /" + e.fontName), A("/Encoding /" + e.encoding), A("/DescendantFonts [" + u + " 0 R]"), A(">>"), A("endobj"), e.isAlreadyPutted = !0 } }(e.font, e.out, e.newObject) }]), A.events.push(["putFont", function (e) { !function (e, A, r) { if (e.metadata instanceof t.API.TTFFont && "WinAnsiEncoding" === e.encoding) { e.metadata.Unicode.widths; for (var n = e.metadata.rawData, i = "", o = 0; o < n.length; o++)i += String.fromCharCode(n[o]); var a = r(); A("<<"), A("/Length " + i.length), A("/Length1 " + i.length), A(">>"), A("stream"), A(i), A("endstream"), A("endobj"); var s = r(); for (A("<<"), A("/Descent " + e.metadata.decender), A("/CapHeight " + e.metadata.capHeight), A("/StemV " + e.metadata.stemV), A("/Type /FontDescriptor"), A("/FontFile2 " + a + " 0 R"), A("/Flags 96"), A("/FontBBox " + t.API.PDFObject.convert(e.metadata.bbox)), A("/FontName /" + e.fontName), A("/ItalicAngle " + e.metadata.italicAngle), A("/Ascent " + e.metadata.ascender), A(">>"), A("endobj"), e.objectNumber = r(), o = 0; o < e.metadata.hmtx.widths.length; o++)e.metadata.hmtx.widths[o] = parseInt(e.metadata.hmtx.widths[o] * (1e3 / e.metadata.head.unitsPerEm)); A("<</Subtype/TrueType/Type/Font/BaseFont/" + e.fontName + "/FontDescriptor " + s + " 0 R/Encoding/" + e.encoding + " /FirstChar 29 /LastChar 255 /Widths " + t.API.PDFObject.convert(e.metadata.hmtx.widths) + ">>"), A("endobj"), e.isAlreadyPutted = !0 } }(e.font, e.out, e.newObject) }]); var n = function (t) { var e, A, n = t.text || "", i = t.x, o = t.y, a = t.options || {}, s = t.mutex || {}, c = s.pdfEscape, l = s.activeFontKey, u = s.fonts, h = (s.activeFontSize, ""), d = 0, f = "", p = u[A = l].encoding; if ("Identity-H" !== u[A].encoding) return { text: n, x: i, y: o, options: a, mutex: s }; for (f = n, A = l, "[object Array]" === Object.prototype.toString.call(n) && (f = n[0]), d = 0; d < f.length; d += 1)u[A].metadata.hasOwnProperty("cmap") && (e = u[A].metadata.cmap.unicode.codeMap[f[d].charCodeAt(0)]), e ? h += f[d] : f[d].charCodeAt(0) < 256 && u[A].metadata.hasOwnProperty("Unicode") ? h += f[d] : h += ""; var g = ""; return parseInt(A.slice(1)) < 14 || "WinAnsiEncoding" === p ? g = function (t) { for (var e = "", A = 0; A < t.length; A++)e += "" + t.charCodeAt(A).toString(16); return e }(c(h, A)) : "Identity-H" === p && (g = function (t, e) { for (var A, n = e.metadata.Unicode.widths, i = ["", "0", "00", "000", "0000"], o = [""], a = 0, s = t.length; a < s; ++a) { if (A = e.metadata.characterToGlyph(t.charCodeAt(a)), r.push(A), -1 == n.indexOf(A) && (n.push(A), n.push([parseInt(e.metadata.widthOfGlyph(A), 10)])), "0" == A) return o.join(""); A = A.toString(16), o.push(i[4 - A.length], A) } return o.join("") }(h, u[A])), s.isHex = !0, { text: g, x: i, y: o, options: a, mutex: s } }; A.events.push(["postProcessText", function (t) { var e = t.text || "", A = t.x, r = t.y, i = t.options, o = t.mutex, a = (i.lang, []), s = { text: e, x: A, y: r, options: i, mutex: o }; if ("[object Array]" === Object.prototype.toString.call(e)) { var c = 0; for (c = 0; c < e.length; c += 1)"[object Array]" === Object.prototype.toString.call(e[c]) && 3 === e[c].length ? a.push([n(Object.assign({}, s, { text: e[c][0] })).text, e[c][1], e[c][2]]) : a.push(n(Object.assign({}, s, { text: e[c] })).text); t.text = a } else t.text = n(Object.assign({}, s, { text: e })).text }]) }(st, "undefined" != typeof self && self || void 0 !== r && r || "undefined" != typeof window && window || Function("return this")()), it = st.API, ot = {}, it.existsFileInVFS = function (t) { return ot.hasOwnProperty(t) }, it.addFileToVFS = function (t, e) { return ot[t] = e, this }, it.getFileFromVFS = function (t) { return ot.hasOwnProperty(t) ? ot[t] : null }, function (t) { if (t.URL = t.URL || t.webkitURL, t.Blob && t.URL) try { return new Blob } catch (t) { } var e = t.BlobBuilder || t.WebKitBlobBuilder || t.MozBlobBuilder || function (t) { var e = function (t) { return Object.prototype.toString.call(t).match(/^\[object\s(.*)\]$/)[1] }, A = function () { this.data = [] }, r = function (t, e, A) { this.data = t, this.size = t.length, this.type = e, this.encoding = A }, n = A.prototype, i = r.prototype, o = t.FileReaderSync, a = function (t) { this.code = this[this.name = t] }, s = "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR".split(" "), c = s.length, l = t.URL || t.webkitURL || t, u = l.createObjectURL, h = l.revokeObjectURL, d = l, f = t.btoa, p = t.atob, g = t.ArrayBuffer, B = t.Uint8Array, w = /^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/; for (r.fake = i.fake = !0; c--;)a.prototype[s[c]] = c + 1; return l.createObjectURL || (d = t.URL = function (t) { var e, A = document.createElementNS("http://www.w3.org/1999/xhtml", "a"); return A.href = t, "origin" in A || ("data:" === A.protocol.toLowerCase() ? A.origin = null : (e = t.match(w), A.origin = e && e[1])), A }), d.createObjectURL = function (t) { var e, A = t.type; return null === A && (A = "application/octet-stream"), t instanceof r ? (e = "data:" + A, "base64" === t.encoding ? e + ";base64," + t.data : "URI" === t.encoding ? e + "," + decodeURIComponent(t.data) : f ? e + ";base64," + f(t.data) : e + "," + encodeURIComponent(t.data)) : u ? u.call(l, t) : void 0 }, d.revokeObjectURL = function (t) { "data:" !== t.substring(0, 5) && h && h.call(l, t) }, n.append = function (t) { var A = this.data; if (B && (t instanceof g || t instanceof B)) { for (var n = "", i = new B(t), s = 0, c = i.length; s < c; s++)n += String.fromCharCode(i[s]); A.push(n) } else if ("Blob" === e(t) || "File" === e(t)) { if (!o) throw new a("NOT_READABLE_ERR"); var l = new o; A.push(l.readAsBinaryString(t)) } else t instanceof r ? "base64" === t.encoding && p ? A.push(p(t.data)) : "URI" === t.encoding ? A.push(decodeURIComponent(t.data)) : "raw" === t.encoding && A.push(t.data) : ("string" != typeof t && (t += ""), A.push(unescape(encodeURIComponent(t)))) }, n.getBlob = function (t) { return arguments.length || (t = null), new r(this.data.join(""), t, "raw") }, n.toString = function () { return "[object BlobBuilder]" }, i.slice = function (t, e, A) { var n = arguments.length; return n < 3 && (A = null), new r(this.data.slice(t, 1 < n ? e : this.data.length), A, this.encoding) }, i.toString = function () { return "[object Blob]" }, i.close = function () { this.size = 0, delete this.data }, A }(t); t.Blob = function (t, A) { var r = A && A.type || "", n = new e; if (t) for (var i = 0, o = t.length; i < o; i++)Uint8Array && t[i] instanceof Uint8Array ? n.append(t[i].buffer) : n.append(t[i]); var a = n.getBlob(r); return !a.slice && a.webkitSlice && (a.slice = a.webkitSlice), a }; var A = Object.getPrototypeOf || function (t) { return t.__proto__ }; t.Blob.prototype = A(new t.Blob) }("undefined" != typeof self && self || "undefined" != typeof window && window || window.content || window); var ct, lt, ut, ht, dt, ft, pt, gt, Bt, wt, mt, yt, vt, Qt, Ct, Ut, bt = bt || function (t) { if (!(void 0 === t || "undefined" != typeof navigator && /MSIE [1-9]\./.test(navigator.userAgent))) { var e = function () { return t.URL || t.webkitURL || t }, A = t.document.createElementNS("http://www.w3.org/1999/xhtml", "a"), r = "download" in A, n = /constructor/i.test(t.HTMLElement) || t.safari, i = /CriOS\/[\d]+/.test(navigator.userAgent), o = function (e) { (t.setImmediate || t.setTimeout)(function () { throw e }, 0) }, a = function (t) { setTimeout(function () { "string" == typeof t ? e().revokeObjectURL(t) : t.remove() }, 4e4) }, s = function (t) { return /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type) ? new Blob([String.fromCharCode(65279), t], { type: t.type }) : t }, c = function (c, l, u) { u || (c = s(c)); var h, d = this, f = "application/octet-stream" === c.type, p = function () { !function (t, e, A) { for (var r = (e = [].concat(e)).length; r--;) { var n = t["on" + e[r]]; if ("function" == typeof n) try { n.call(t, t) } catch (t) { o(t) } } }(d, "writestart progress write writeend".split(" ")) }; if (d.readyState = d.INIT, r) return h = e().createObjectURL(c), void setTimeout(function () { var t, e; A.href = h, A.download = l, t = A, e = new MouseEvent("click"), t.dispatchEvent(e), p(), a(h), d.readyState = d.DONE }); !function () { if ((i || f && n) && t.FileReader) { var A = new FileReader; return A.onloadend = function () { var e = i ? A.result : A.result.replace(/^data:[^;]*;/, "data:attachment/file;"); t.open(e, "_blank") || (t.location.href = e), e = void 0, d.readyState = d.DONE, p() }, A.readAsDataURL(c), d.readyState = d.INIT } h || (h = e().createObjectURL(c)), f ? t.location.href = h : t.open(h, "_blank") || (t.location.href = h), d.readyState = d.DONE, p(), a(h) }() }, l = c.prototype; return "undefined" != typeof navigator && navigator.msSaveOrOpenBlob ? function (t, e, A) { return e = e || t.name || "download", A || (t = s(t)), navigator.msSaveOrOpenBlob(t, e) } : (l.abort = function () { }, l.readyState = l.INIT = 0, l.WRITING = 1, l.DONE = 2, l.error = l.onwritestart = l.onprogress = l.onwrite = l.onabort = l.onerror = l.onwriteend = null, function (t, e, A) { return new c(t, e || t.name || "download", A) }) } }("undefined" != typeof self && self || "undefined" != typeof window && window || window.content); !!e.exports && (e.exports.saveAs = bt), st.API.adler32cs = (ft = "function" == typeof ArrayBuffer && "function" == typeof Uint8Array, pt = null, gt = function () { if (!ft) return function () { return !1 }; try { var t = {}; "function" == typeof t.Buffer && (pt = t.Buffer) } catch (t) { } return function (t) { return t instanceof ArrayBuffer || null !== pt && t instanceof pt } }(), Bt = null !== pt ? function (t) { return new pt(t, "utf8").toString("binary") } : function (t) { return unescape(encodeURIComponent(t)) }, wt = 65521, mt = function (t, e) { for (var A = 65535 & t, r = t >>> 16, n = 0, i = e.length; n < i; n++)A = (A + (255 & e.charCodeAt(n))) % wt, r = (r + A) % wt; return (r << 16 | A) >>> 0 }, yt = function (t, e) { for (var A = 65535 & t, r = t >>> 16, n = 0, i = e.length; n < i; n++)A = (A + e[n]) % wt, r = (r + A) % wt; return (r << 16 | A) >>> 0 }, Qt = (vt = {}).Adler32 = (((dt = (ht = function (t) { if (!(this instanceof ht)) throw new TypeError("Constructor cannot called be as a function."); if (!isFinite(t = null == t ? 1 : +t)) throw new Error("First arguments needs to be a finite number."); this.checksum = t >>> 0 }).prototype = {}).constructor = ht).from = ((ct = function (t) { if (!(this instanceof ht)) throw new TypeError("Constructor cannot called be as a function."); if (null == t) throw new Error("First argument needs to be a string."); this.checksum = mt(1, t.toString()) }).prototype = dt, ct), ht.fromUtf8 = ((lt = function (t) { if (!(this instanceof ht)) throw new TypeError("Constructor cannot called be as a function."); if (null == t) throw new Error("First argument needs to be a string."); var e = Bt(t.toString()); this.checksum = mt(1, e) }).prototype = dt, lt), ft && (ht.fromBuffer = ((ut = function (t) { if (!(this instanceof ht)) throw new TypeError("Constructor cannot called be as a function."); if (!gt(t)) throw new Error("First argument needs to be ArrayBuffer."); var e = new Uint8Array(t); return this.checksum = yt(1, e) }).prototype = dt, ut)), dt.update = function (t) { if (null == t) throw new Error("First argument needs to be a string."); return t = t.toString(), this.checksum = mt(this.checksum, t) }, dt.updateUtf8 = function (t) { if (null == t) throw new Error("First argument needs to be a string."); var e = Bt(t.toString()); return this.checksum = mt(this.checksum, e) }, ft && (dt.updateBuffer = function (t) { if (!gt(t)) throw new Error("First argument needs to be ArrayBuffer."); var e = new Uint8Array(t); return this.checksum = yt(this.checksum, e) }), dt.clone = function () { return new Qt(this.checksum) }, ht), vt.from = function (t) { if (null == t) throw new Error("First argument needs to be a string."); return mt(1, t.toString()) }, vt.fromUtf8 = function (t) { if (null == t) throw new Error("First argument needs to be a string."); var e = Bt(t.toString()); return mt(1, e) }, ft && (vt.fromBuffer = function (t) { if (!gt(t)) throw new Error("First argument need to be ArrayBuffer."); var e = new Uint8Array(t); return yt(1, e) }), vt); try { A.GifWriter = function (t, e, A, r) { function n(t) { var e = t.length; if (e < 2 || 256 < e || e & e - 1) throw "Invalid code/color length, must be power of 2 and 2 .. 256."; return e } var i = 0, o = void 0 === (r = void 0 === r ? {} : r).loop ? null : r.loop, a = void 0 === r.palette ? null : r.palette; if (e <= 0 || A <= 0 || 65535 < e || 65535 < A) throw "Width/Height invalid."; t[i++] = 71, t[i++] = 73, t[i++] = 70, t[i++] = 56, t[i++] = 57, t[i++] = 97; var s = 0, c = 0; if (null !== a) { for (var l = n(a); l >>= 1;)++s; if (l = 1 << s, --s, void 0 !== r.background) { if (l <= (c = r.background)) throw "Background index out of range."; if (0 === c) throw "Background index explicitly passed as 0." } } if (t[i++] = 255 & e, t[i++] = e >> 8 & 255, t[i++] = 255 & A, t[i++] = A >> 8 & 255, t[i++] = (null !== a ? 128 : 0) | s, t[i++] = c, t[i++] = 0, null !== a) for (var u = 0, h = a.length; u < h; ++u) { var d = a[u]; t[i++] = d >> 16 & 255, t[i++] = d >> 8 & 255, t[i++] = 255 & d } if (null !== o) { if (o < 0 || 65535 < o) throw "Loop count invalid."; t[i++] = 33, t[i++] = 255, t[i++] = 11, t[i++] = 78, t[i++] = 69, t[i++] = 84, t[i++] = 83, t[i++] = 67, t[i++] = 65, t[i++] = 80, t[i++] = 69, t[i++] = 50, t[i++] = 46, t[i++] = 48, t[i++] = 3, t[i++] = 1, t[i++] = 255 & o, t[i++] = o >> 8 & 255, t[i++] = 0 } var f = !1; this.addFrame = function (e, A, r, o, s, c) { if (!0 === f && (--i, f = !1), c = void 0 === c ? {} : c, e < 0 || A < 0 || 65535 < e || 65535 < A) throw "x/y invalid."; if (r <= 0 || o <= 0 || 65535 < r || 65535 < o) throw "Width/Height invalid."; if (s.length < r * o) throw "Not enough pixels for the frame size."; var l = !0, u = c.palette; if (null == u && (l = !1, u = a), null == u) throw "Must supply either a local or global palette."; for (var h = n(u), d = 0; h >>= 1;)++d; h = 1 << d; var p = void 0 === c.delay ? 0 : c.delay, g = void 0 === c.disposal ? 0 : c.disposal; if (g < 0 || 3 < g) throw "Disposal out of range."; var B = !1, w = 0; if (void 0 !== c.transparent && null !== c.transparent && (B = !0, (w = c.transparent) < 0 || h <= w)) throw "Transparent color index."; if ((0 !== g || B || 0 !== p) && (t[i++] = 33, t[i++] = 249, t[i++] = 4, t[i++] = g << 2 | (!0 === B ? 1 : 0), t[i++] = 255 & p, t[i++] = p >> 8 & 255, t[i++] = w, t[i++] = 0), t[i++] = 44, t[i++] = 255 & e, t[i++] = e >> 8 & 255, t[i++] = 255 & A, t[i++] = A >> 8 & 255, t[i++] = 255 & r, t[i++] = r >> 8 & 255, t[i++] = 255 & o, t[i++] = o >> 8 & 255, t[i++] = !0 === l ? 128 | d - 1 : 0, !0 === l) for (var m = 0, y = u.length; m < y; ++m) { var v = u[m]; t[i++] = v >> 16 & 255, t[i++] = v >> 8 & 255, t[i++] = 255 & v } i = function (t, e, A, r) { function n(A) { for (; A <= h;)t[e++] = 255 & d, d >>= 8, h -= 8, e === o + 256 && (t[o] = 255, o = e++) } function i(t) { d |= t << h, h += u, n(8) } t[e++] = A; var o = e++, a = 1 << A, s = a - 1, c = a + 1, l = c + 1, u = A + 1, h = 0, d = 0, f = r[0] & s, p = {}; i(a); for (var g = 1, B = r.length; g < B; ++g) { var w = r[g] & s, m = f << 8 | w, y = p[m]; if (void 0 === y) { for (d |= f << h, h += u; 8 <= h;)t[e++] = 255 & d, d >>= 8, h -= 8, e === o + 256 && (t[o] = 255, o = e++); 4096 === l ? (i(a), l = c + 1, u = A + 1, p = {}) : (1 << u <= l && ++u, p[m] = l++), f = w } else f = y } return i(f), i(c), n(1), o + 1 === e ? t[o] = 0 : (t[o] = e - o - 1, t[e++] = 0), e }(t, i, d < 2 ? 2 : d, s) }, this.end = function () { return !1 === f && (t[i++] = 59, f = !0), i } }, A.GifReader = n } catch (s) { } try { e.exports = o } catch (s) { } a.prototype.parseHeader = function () { if (this.fileSize = this.datav.getUint32(this.pos, !0), this.pos += 4, this.reserved = this.datav.getUint32(this.pos, !0), this.pos += 4, this.offset = this.datav.getUint32(this.pos, !0), this.pos += 4, this.headerSize = this.datav.getUint32(this.pos, !0), this.pos += 4, this.width = this.datav.getUint32(this.pos, !0), this.pos += 4, this.height = this.datav.getInt32(this.pos, !0), this.pos += 4, this.planes = this.datav.getUint16(this.pos, !0), this.pos += 2, this.bitPP = this.datav.getUint16(this.pos, !0), this.pos += 2, this.compress = this.datav.getUint32(this.pos, !0), this.pos += 4, this.rawSize = this.datav.getUint32(this.pos, !0), this.pos += 4, this.hr = this.datav.getUint32(this.pos, !0), this.pos += 4, this.vr = this.datav.getUint32(this.pos, !0), this.pos += 4, this.colors = this.datav.getUint32(this.pos, !0), this.pos += 4, this.importantColors = this.datav.getUint32(this.pos, !0), this.pos += 4, 16 === this.bitPP && this.is_with_alpha && (this.bitPP = 15), this.bitPP < 15) { var t = 0 === this.colors ? 1 << this.bitPP : this.colors; this.palette = new Array(t); for (var e = 0; e < t; e++) { var A = this.datav.getUint8(this.pos++, !0), r = this.datav.getUint8(this.pos++, !0), n = this.datav.getUint8(this.pos++, !0), i = this.datav.getUint8(this.pos++, !0); this.palette[e] = { red: n, green: r, blue: A, quad: i } } } this.height < 0 && (this.height *= -1, this.bottom_up = !1) }, a.prototype.parseBGR = function () { this.pos = this.offset; try { var t = "bit" + this.bitPP, e = this.width * this.height * 4; this.data = new Uint8Array(e), this[t]() } catch (t) { console.log("bit decode error:" + t) } }, a.prototype.bit1 = function () { var t = Math.ceil(this.width / 8), e = t % 4, A = 0 <= this.height ? this.height - 1 : -this.height; for (A = this.height - 1; 0 <= A; A--) { for (var r = this.bottom_up ? A : this.height - 1 - A, n = 0; n < t; n++)for (var i = this.datav.getUint8(this.pos++, !0), o = r * this.width * 4 + 8 * n * 4, a = 0; a < 8 && 8 * n + a < this.width; a++) { var s = this.palette[i >> 7 - a & 1]; this.data[o + 4 * a] = s.blue, this.data[o + 4 * a + 1] = s.green, this.data[o + 4 * a + 2] = s.red, this.data[o + 4 * a + 3] = 255 } 0 != e && (this.pos += 4 - e) } }, a.prototype.bit4 = function () { for (var t = Math.ceil(this.width / 2), e = t % 4, A = this.height - 1; 0 <= A; A--) { for (var r = this.bottom_up ? A : this.height - 1 - A, n = 0; n < t; n++) { var i = this.datav.getUint8(this.pos++, !0), o = r * this.width * 4 + 2 * n * 4, a = i >> 4, s = 15 & i, c = this.palette[a]; if (this.data[o] = c.blue, this.data[o + 1] = c.green, this.data[o + 2] = c.red, this.data[o + 3] = 255, 2 * n + 1 >= this.width) break; c = this.palette[s], this.data[o + 4] = c.blue, this.data[o + 4 + 1] = c.green, this.data[o + 4 + 2] = c.red, this.data[o + 4 + 3] = 255 } 0 != e && (this.pos += 4 - e) } }, a.prototype.bit8 = function () { for (var t = this.width % 4, e = this.height - 1; 0 <= e; e--) { for (var A = this.bottom_up ? e : this.height - 1 - e, r = 0; r < this.width; r++) { var n = this.datav.getUint8(this.pos++, !0), i = A * this.width * 4 + 4 * r; if (n < this.palette.length) { var o = this.palette[n]; this.data[i] = o.red, this.data[i + 1] = o.green, this.data[i + 2] = o.blue, this.data[i + 3] = 255 } else this.data[i] = 255, this.data[i + 1] = 255, this.data[i + 2] = 255, this.data[i + 3] = 255 } 0 != t && (this.pos += 4 - t) } }, a.prototype.bit15 = function () { for (var t = this.width % 3, e = parseInt("11111", 2), A = this.height - 1; 0 <= A; A--) { for (var r = this.bottom_up ? A : this.height - 1 - A, n = 0; n < this.width; n++) { var i = this.datav.getUint16(this.pos, !0); this.pos += 2; var o = (i & e) / e * 255 | 0, a = (i >> 5 & e) / e * 255 | 0, s = (i >> 10 & e) / e * 255 | 0, c = i >> 15 ? 255 : 0, l = r * this.width * 4 + 4 * n; this.data[l] = s, this.data[l + 1] = a, this.data[l + 2] = o, this.data[l + 3] = c } this.pos += t } }, a.prototype.bit16 = function () { for (var t = this.width % 3, e = parseInt("11111", 2), A = parseInt("111111", 2), r = this.height - 1; 0 <= r; r--) { for (var n = this.bottom_up ? r : this.height - 1 - r, i = 0; i < this.width; i++) { var o = this.datav.getUint16(this.pos, !0); this.pos += 2; var a = (o & e) / e * 255 | 0, s = (o >> 5 & A) / A * 255 | 0, c = (o >> 11) / e * 255 | 0, l = n * this.width * 4 + 4 * i; this.data[l] = c, this.data[l + 1] = s, this.data[l + 2] = a, this.data[l + 3] = 255 } this.pos += t } }, a.prototype.bit24 = function () { for (var t = this.height - 1; 0 <= t; t--) { for (var e = this.bottom_up ? t : this.height - 1 - t, A = 0; A < this.width; A++) { var r = this.datav.getUint8(this.pos++, !0), n = this.datav.getUint8(this.pos++, !0), i = this.datav.getUint8(this.pos++, !0), o = e * this.width * 4 + 4 * A; this.data[o] = i, this.data[o + 1] = n, this.data[o + 2] = r, this.data[o + 3] = 255 } this.pos += this.width % 4 } }, a.prototype.bit32 = function () { for (var t = this.height - 1; 0 <= t; t--)for (var e = this.bottom_up ? t : this.height - 1 - t, A = 0; A < this.width; A++) { var r = this.datav.getUint8(this.pos++, !0), n = this.datav.getUint8(this.pos++, !0), i = this.datav.getUint8(this.pos++, !0), o = this.datav.getUint8(this.pos++, !0), a = e * this.width * 4 + 4 * A; this.data[a] = i, this.data[a + 1] = n, this.data[a + 2] = r, this.data[a + 3] = o } }, a.prototype.getData = function () { return this.data }; try { e.exports = function (t) { var e = new a(t); return { data: e.getData(), width: e.width, height: e.height } } } catch (s) { } !function (t) { function e() { function t(t, e) { for (var A = 0; A |= 1 & t, t >>>= 1, A <<= 1, 0 < --e;); return A >>> 1 } var e = this; e.build_tree = function (A) { var r, n, i, o = e.dyn_tree, c = e.stat_desc.static_tree, l = e.stat_desc.elems, u = -1; for (A.heap_len = 0, A.heap_max = s, r = 0; r < l; r++)0 !== o[2 * r] ? (A.heap[++A.heap_len] = u = r, A.depth[r] = 0) : o[2 * r + 1] = 0; for (; A.heap_len < 2;)o[2 * (i = A.heap[++A.heap_len] = u < 2 ? ++u : 0)] = 1, A.depth[i] = 0, A.opt_len-- , c && (A.static_len -= c[2 * i + 1]); for (e.max_code = u, r = Math.floor(A.heap_len / 2); 1 <= r; r--)A.pqdownheap(o, r); for (i = l; r = A.heap[1], A.heap[1] = A.heap[A.heap_len--], A.pqdownheap(o, 1), n = A.heap[1], A.heap[--A.heap_max] = r, A.heap[--A.heap_max] = n, o[2 * i] = o[2 * r] + o[2 * n], A.depth[i] = Math.max(A.depth[r], A.depth[n]) + 1, o[2 * r + 1] = o[2 * n + 1] = i, A.heap[1] = i++ , A.pqdownheap(o, 1), 2 <= A.heap_len;); A.heap[--A.heap_max] = A.heap[1], function (t) { var A, r, n, i, o, c, l = e.dyn_tree, u = e.stat_desc.static_tree, h = e.stat_desc.extra_bits, d = e.stat_desc.extra_base, f = e.stat_desc.max_length, p = 0; for (i = 0; i <= a; i++)t.bl_count[i] = 0; for (l[2 * t.heap[t.heap_max] + 1] = 0, A = t.heap_max + 1; A < s; A++)f < (i = l[2 * l[2 * (r = t.heap[A]) + 1] + 1] + 1) && (i = f, p++), l[2 * r + 1] = i, r > e.max_code || (t.bl_count[i]++ , o = 0, d <= r && (o = h[r - d]), c = l[2 * r], t.opt_len += c * (i + o), u && (t.static_len += c * (u[2 * r + 1] + o))); if (0 !== p) { do { for (i = f - 1; 0 === t.bl_count[i];)i--; t.bl_count[i]-- , t.bl_count[i + 1] += 2, t.bl_count[f]-- , p -= 2 } while (0 < p); for (i = f; 0 !== i; i--)for (r = t.bl_count[i]; 0 !== r;)(n = t.heap[--A]) > e.max_code || (l[2 * n + 1] != i && (t.opt_len += (i - l[2 * n + 1]) * l[2 * n], l[2 * n + 1] = i), r--) } }(A), function (e, A, r) { var n, i, o, s = [], c = 0; for (n = 1; n <= a; n++)s[n] = c = c + r[n - 1] << 1; for (i = 0; i <= A; i++)0 !== (o = e[2 * i + 1]) && (e[2 * i] = t(s[o]++, o)) }(o, e.max_code, A.bl_count) } } function A(t, e, A, r, n) { var i = this; i.static_tree = t, i.extra_bits = e, i.extra_base = A, i.elems = r, i.max_length = n } function r(t, e, A, r, n) { var i = this; i.good_length = t, i.max_lazy = e, i.nice_length = A, i.max_chain = r, i.func = n } function n(t, e, A, r) { var n = t[2 * e], i = t[2 * A]; return n < i || n == i && r[e] <= r[A] } function i() { function t() { var t; for (t = 0; t < 286; t++)Z[2 * t] = 0; for (t = 0; t < 30; t++)$[2 * t] = 0; for (t = 0; t < 19; t++)tt[2 * t] = 0; Z[512] = 1, ct.opt_len = ct.static_len = 0, rt = it = 0 } function r(t, e) { var A, r, n = -1, i = t[1], o = 0, a = 7, s = 4; for (0 === i && (a = 138, s = 3), t[2 * (e + 1) + 1] = 65535, A = 0; A <= e; A++)r = i, i = t[2 * (A + 1) + 1], ++o < a && r == i || (o < s ? tt[2 * r] += o : 0 !== r ? (r != n && tt[2 * r]++ , tt[32]++) : o <= 10 ? tt[34]++ : tt[36]++ , n = r, (o = 0) === i ? (a = 138, s = 3) : r == i ? (a = 6, s = 3) : (a = 7, s = 4)) } function i(t) { ct.pending_buf[ct.pending++] = t } function o(t) { i(255 & t), i(t >>> 8 & 255) } function a(t, e) { var A, r = e; 16 - r < st ? (o(at |= (A = t) << st & 65535), at = A >>> 16 - st, st += r - 16) : (at |= t << st & 65535, st += r) } function s(t, e) { var A = 2 * t; a(65535 & e[A], 65535 & e[A + 1]) } function c(t, e) { var A, r, n = -1, i = t[1], o = 0, c = 7, l = 4; for (0 === i && (c = 138, l = 3), A = 0; A <= e; A++)if (r = i, i = t[2 * (A + 1) + 1], !(++o < c && r == i)) { if (o < l) for (; s(r, tt), 0 != --o;); else 0 !== r ? (r != n && (s(r, tt), o--), s(16, tt), a(o - 3, 2)) : o <= 10 ? (s(17, tt), a(o - 3, 3)) : (s(18, tt), a(o - 11, 7)); n = r, (o = 0) === i ? (c = 138, l = 3) : r == i ? (c = 6, l = 3) : (c = 7, l = 4) } } function d() { 16 == st ? (o(at), st = at = 0) : 8 <= st && (i(255 & at), at >>>= 8, st -= 8) } function f(t, A) { var r, n, i; if (ct.pending_buf[nt + 2 * rt] = t >>> 8 & 255, ct.pending_buf[nt + 2 * rt + 1] = 255 & t, ct.pending_buf[et + rt] = 255 & A, rt++ , 0 === t ? Z[2 * A]++ : (it++ , t-- , Z[2 * (e._length_code[A] + 256 + 1)]++ , $[2 * e.d_code(t)]++), 0 == (8191 & rt) && 2 < G) { for (r = 8 * rt, n = K - D, i = 0; i < 30; i++)r += $[2 * i] * (5 + e.extra_dbits[i]); if (r >>>= 3, it < Math.floor(rt / 2) && r < Math.floor(n / 2)) return !0 } return rt == At - 1 } function p(t, A) { var r, n, i, o, c = 0; if (0 !== rt) for (; r = ct.pending_buf[nt + 2 * c] << 8 & 65280 | 255 & ct.pending_buf[nt + 2 * c + 1], n = 255 & ct.pending_buf[et + c], c++ , 0 === r ? s(n, t) : (s((i = e._length_code[n]) + 256 + 1, t), 0 !== (o = e.extra_lbits[i]) && a(n -= e.base_length[i], o), s(i = e.d_code(--r), A), 0 !== (o = e.extra_dbits[i]) && a(r -= e.base_dist[i], o)), c < rt;); s(256, t), ot = t[513] } function g() { 8 < st ? o(at) : 0 < st && i(255 & at), st = at = 0 } function B(t, e, A) { var r, n; a(0 + (A ? 1 : 0), 3), r = t, n = e, g(), ot = 8, o(n), o(~n), ct.pending_buf.set(H.subarray(r, r + n), ct.pending), ct.pending += n } function w(n) { (function (n, i, o) { var s, l, u = 0; 0 < G ? (lt.build_tree(ct), ut.build_tree(ct), u = function () { var t; for (r(Z, lt.max_code), r($, ut.max_code), ht.build_tree(ct), t = 18; 3 <= t && 0 === tt[2 * e.bl_order[t] + 1]; t--); return ct.opt_len += 3 * (t + 1) + 5 + 5 + 4, t }(), s = ct.opt_len + 3 + 7 >>> 3, (l = ct.static_len + 3 + 7 >>> 3) <= s && (s = l)) : s = l = i + 5, i + 4 <= s && -1 != n ? B(n, i, o) : l == s ? (a(2 + (o ? 1 : 0), 3), p(A.static_ltree, A.static_dtree)) : (a(4 + (o ? 1 : 0), 3), function (t, A, r) { var n; for (a(t - 257, 5), a(A - 1, 5), a(r - 4, 4), n = 0; n < r; n++)a(tt[2 * e.bl_order[n] + 1], 3); c(Z, t - 1), c($, A - 1) }(lt.max_code + 1, ut.max_code + 1, u + 1), p(Z, $)), t(), o && g() })(0 <= D ? D : -1, K - D, n), D = K, Q.flush_pending() } function m() { var t, e, A, r; do { if (0 == (r = I - q - K) && 0 === K && 0 === q) r = F; else if (-1 == r) r--; else if (F + F - h <= K) { for (H.set(H.subarray(F, F + F), 0), z -= F, K -= F, D -= F, A = t = N; e = 65535 & _[--A], _[A] = F <= e ? e - F : 0, 0 != --t;); for (A = t = F; e = 65535 & S[--A], S[A] = F <= e ? e - F : 0, 0 != --t;); r += F } if (0 === Q.avail_in) return; t = Q.read_buf(H, K + q, r), 3 <= (q += t) && (T = ((T = 255 & H[K]) << P ^ 255 & H[K + 1]) & O) } while (q < h && 0 !== Q.avail_in) } function y(t) { var e, A, r = X, n = K, i = j, o = F - h < K ? K - (F - h) : 0, a = J, s = x, c = K + 258, l = H[n + i - 1], u = H[n + i]; Y <= j && (r >>= 2), q < a && (a = q); do { if (H[(e = t) + i] == u && H[e + i - 1] == l && H[e] == H[n] && H[++e] == H[n + 1]) { n += 2, e++; do { } while (H[++n] == H[++e] && H[++n] == H[++e] && H[++n] == H[++e] && H[++n] == H[++e] && H[++n] == H[++e] && H[++n] == H[++e] && H[++n] == H[++e] && H[++n] == H[++e] && n < c); if (A = 258 - (c - n), n = c - 258, i < A) { if (z = t, a <= (i = A)) break; l = H[n + i - 1], u = H[n + i] } } } while ((t = 65535 & S[t & s]) > o && 0 != --r); return i <= q ? i : q } function v(e) { return e.total_in = e.total_out = 0, e.msg = null, ct.pending = 0, ct.pending_out = 0, C = 113, b = 0, lt.dyn_tree = Z, lt.stat_desc = A.static_l_desc, ut.dyn_tree = $, ut.stat_desc = A.static_d_desc, ht.dyn_tree = tt, ht.stat_desc = A.static_bl_desc, st = at = 0, ot = 8, t(), function () { var t; for (I = 2 * F, t = _[N - 1] = 0; t < N - 1; t++)_[t] = 0; V = l[G].max_lazy, Y = l[G].good_length, J = l[G].nice_length, X = l[G].max_chain, L = j = 2, T = M = q = D = K = 0 }(), 0 } var Q, C, U, b, F, E, x, H, I, S, _, T, N, k, O, P, D, L, R, M, K, z, q, j, X, V, G, W, Y, J, Z, $, tt, et, At, rt, nt, it, ot, at, st, ct = this, lt = new e, ut = new e, ht = new e; ct.depth = [], ct.bl_count = [], ct.heap = [], Z = [], $ = [], tt = [], ct.pqdownheap = function (t, e) { for (var A = ct.heap, r = A[e], i = e << 1; i <= ct.heap_len && (i < ct.heap_len && n(t, A[i + 1], A[i], ct.depth) && i++ , !n(t, r, A[i], ct.depth));)A[e] = A[i], e = i, i <<= 1; A[e] = r }, ct.deflateInit = function (t, e, A, r, n, i) { return r || (r = 8), n || (n = 8), i || (i = 0), t.msg = null, -1 == e && (e = 6), n < 1 || 9 < n || 8 != r || A < 9 || 15 < A || e < 0 || 9 < e || i < 0 || 2 < i ? -2 : (t.dstate = ct, x = (F = 1 << (E = A)) - 1, O = (N = 1 << (k = n + 7)) - 1, P = Math.floor((k + 3 - 1) / 3), H = new Uint8Array(2 * F), S = [], _ = [], At = 1 << n + 6, ct.pending_buf = new Uint8Array(4 * At), U = 4 * At, nt = Math.floor(At / 2), et = 3 * At, G = e, W = i, v(t)) }, ct.deflateEnd = function () { return 42 != C && 113 != C && 666 != C ? -2 : (ct.pending_buf = null, H = S = _ = null, ct.dstate = null, 113 == C ? -3 : 0) }, ct.deflateParams = function (t, e, A) { var r = 0; return -1 == e && (e = 6), e < 0 || 9 < e || A < 0 || 2 < A ? -2 : (l[G].func != l[e].func && 0 !== t.total_in && (r = t.deflate(1)), G != e && (V = l[G = e].max_lazy, Y = l[G].good_length, J = l[G].nice_length, X = l[G].max_chain), W = A, r) }, ct.deflateSetDictionary = function (t, e, A) { var r, n = A, i = 0; if (!e || 42 != C) return -2; if (n < 3) return 0; for (F - h < n && (i = A - (n = F - h)), H.set(e.subarray(i, i + n), 0), D = K = n, T = ((T = 255 & H[0]) << P ^ 255 & H[1]) & O, r = 0; r <= n - 3; r++)T = (T << P ^ 255 & H[r + 2]) & O, S[r & x] = _[T], _[T] = r; return 0 }, ct.deflate = function (t, e) { var r, n, o, c, p, g; if (4 < e || e < 0) return -2; if (!t.next_out || !t.next_in && 0 !== t.avail_in || 666 == C && 4 != e) return t.msg = u[4], -2; if (0 === t.avail_out) return t.msg = u[7], -5; if (Q = t, c = b, b = e, 42 == C && (n = 8 + (E - 8 << 4) << 8, 3 < (o = (G - 1 & 255) >> 1) && (o = 3), n |= o << 6, 0 !== K && (n |= 32), C = 113, i((g = n += 31 - n % 31) >> 8 & 255), i(255 & g)), 0 !== ct.pending) { if (Q.flush_pending(), 0 === Q.avail_out) return b = -1, 0 } else if (0 === Q.avail_in && e <= c && 4 != e) return Q.msg = u[7], -5; if (666 == C && 0 !== Q.avail_in) return t.msg = u[7], -5; if (0 !== Q.avail_in || 0 !== q || 0 != e && 666 != C) { switch (p = -1, l[G].func) { case 0: p = function (t) { var e, A = 65535; for (U - 5 < A && (A = U - 5); ;) { if (q <= 1) { if (m(), 0 === q && 0 == t) return 0; if (0 === q) break } if (K += q, e = D + A, ((q = 0) === K || e <= K) && (q = K - e, K = e, w(!1), 0 === Q.avail_out)) return 0; if (F - h <= K - D && (w(!1), 0 === Q.avail_out)) return 0 } return w(4 == t), 0 === Q.avail_out ? 4 == t ? 2 : 0 : 4 == t ? 3 : 1 }(e); break; case 1: p = function (t) { for (var e, A = 0; ;) { if (q < h) { if (m(), q < h && 0 == t) return 0; if (0 === q) break } if (3 <= q && (T = (T << P ^ 255 & H[K + 2]) & O, A = 65535 & _[T], S[K & x] = _[T], _[T] = K), 0 !== A && (K - A & 65535) <= F - h && 2 != W && (L = y(A)), 3 <= L) if (e = f(K - z, L - 3), q -= L, L <= V && 3 <= q) { for (L--; T = (T << P ^ 255 & H[++K + 2]) & O, A = 65535 & _[T], S[K & x] = _[T], _[T] = K, 0 != --L;); K++ } else K += L, L = 0, T = ((T = 255 & H[K]) << P ^ 255 & H[K + 1]) & O; else e = f(0, 255 & H[K]), q-- , K++; if (e && (w(!1), 0 === Q.avail_out)) return 0 } return w(4 == t), 0 === Q.avail_out ? 4 == t ? 2 : 0 : 4 == t ? 3 : 1 }(e); break; case 2: p = function (t) { for (var e, A, r = 0; ;) { if (q < h) { if (m(), q < h && 0 == t) return 0; if (0 === q) break } if (3 <= q && (T = (T << P ^ 255 & H[K + 2]) & O, r = 65535 & _[T], S[K & x] = _[T], _[T] = K), j = L, R = z, L = 2, 0 !== r && j < V && (K - r & 65535) <= F - h && (2 != W && (L = y(r)), L <= 5 && (1 == W || 3 == L && 4096 < K - z) && (L = 2)), 3 <= j && L <= j) { for (A = K + q - 3, e = f(K - 1 - R, j - 3), q -= j - 1, j -= 2; ++K <= A && (T = (T << P ^ 255 & H[K + 2]) & O, r = 65535 & _[T], S[K & x] = _[T], _[T] = K), 0 != --j;); if (M = 0, L = 2, K++ , e && (w(!1), 0 === Q.avail_out)) return 0 } else if (0 !== M) { if ((e = f(0, 255 & H[K - 1])) && w(!1), K++ , q-- , 0 === Q.avail_out) return 0 } else M = 1, K++ , q-- } return 0 !== M && (e = f(0, 255 & H[K - 1]), M = 0), w(4 == t), 0 === Q.avail_out ? 4 == t ? 2 : 0 : 4 == t ? 3 : 1 }(e) }if (2 != p && 3 != p || (C = 666), 0 == p || 2 == p) return 0 === Q.avail_out && (b = -1), 0; if (1 == p) { if (1 == e) a(2, 3), s(256, A.static_ltree), d(), 1 + ot + 10 - st < 9 && (a(2, 3), s(256, A.static_ltree), d()), ot = 7; else if (B(0, 0, !1), 3 == e) for (r = 0; r < N; r++)_[r] = 0; if (Q.flush_pending(), 0 === Q.avail_out) return b = -1, 0 } } return 4 != e ? 0 : 1 } } function o() { var t = this; t.next_in_index = 0, t.next_out_index = 0, t.avail_in = 0, t.total_in = 0, t.avail_out = 0, t.total_out = 0 } var a = 15, s = 573, c = [0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17, 18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29]; e._length_code = [0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28], e.base_length = [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 0], e.base_dist = [0, 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576], e.d_code = function (t) { return t < 256 ? c[t] : c[256 + (t >>> 7)] }, e.extra_lbits = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], e.extra_dbits = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], e.extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], e.bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], A.static_ltree = [12, 8, 140, 8, 76, 8, 204, 8, 44, 8, 172, 8, 108, 8, 236, 8, 28, 8, 156, 8, 92, 8, 220, 8, 60, 8, 188, 8, 124, 8, 252, 8, 2, 8, 130, 8, 66, 8, 194, 8, 34, 8, 162, 8, 98, 8, 226, 8, 18, 8, 146, 8, 82, 8, 210, 8, 50, 8, 178, 8, 114, 8, 242, 8, 10, 8, 138, 8, 74, 8, 202, 8, 42, 8, 170, 8, 106, 8, 234, 8, 26, 8, 154, 8, 90, 8, 218, 8, 58, 8, 186, 8, 122, 8, 250, 8, 6, 8, 134, 8, 70, 8, 198, 8, 38, 8, 166, 8, 102, 8, 230, 8, 22, 8, 150, 8, 86, 8, 214, 8, 54, 8, 182, 8, 118, 8, 246, 8, 14, 8, 142, 8, 78, 8, 206, 8, 46, 8, 174, 8, 110, 8, 238, 8, 30, 8, 158, 8, 94, 8, 222, 8, 62, 8, 190, 8, 126, 8, 254, 8, 1, 8, 129, 8, 65, 8, 193, 8, 33, 8, 161, 8, 97, 8, 225, 8, 17, 8, 145, 8, 81, 8, 209, 8, 49, 8, 177, 8, 113, 8, 241, 8, 9, 8, 137, 8, 73, 8, 201, 8, 41, 8, 169, 8, 105, 8, 233, 8, 25, 8, 153, 8, 89, 8, 217, 8, 57, 8, 185, 8, 121, 8, 249, 8, 5, 8, 133, 8, 69, 8, 197, 8, 37, 8, 165, 8, 101, 8, 229, 8, 21, 8, 149, 8, 85, 8, 213, 8, 53, 8, 181, 8, 117, 8, 245, 8, 13, 8, 141, 8, 77, 8, 205, 8, 45, 8, 173, 8, 109, 8, 237, 8, 29, 8, 157, 8, 93, 8, 221, 8, 61, 8, 189, 8, 125, 8, 253, 8, 19, 9, 275, 9, 147, 9, 403, 9, 83, 9, 339, 9, 211, 9, 467, 9, 51, 9, 307, 9, 179, 9, 435, 9, 115, 9, 371, 9, 243, 9, 499, 9, 11, 9, 267, 9, 139, 9, 395, 9, 75, 9, 331, 9, 203, 9, 459, 9, 43, 9, 299, 9, 171, 9, 427, 9, 107, 9, 363, 9, 235, 9, 491, 9, 27, 9, 283, 9, 155, 9, 411, 9, 91, 9, 347, 9, 219, 9, 475, 9, 59, 9, 315, 9, 187, 9, 443, 9, 123, 9, 379, 9, 251, 9, 507, 9, 7, 9, 263, 9, 135, 9, 391, 9, 71, 9, 327, 9, 199, 9, 455, 9, 39, 9, 295, 9, 167, 9, 423, 9, 103, 9, 359, 9, 231, 9, 487, 9, 23, 9, 279, 9, 151, 9, 407, 9, 87, 9, 343, 9, 215, 9, 471, 9, 55, 9, 311, 9, 183, 9, 439, 9, 119, 9, 375, 9, 247, 9, 503, 9, 15, 9, 271, 9, 143, 9, 399, 9, 79, 9, 335, 9, 207, 9, 463, 9, 47, 9, 303, 9, 175, 9, 431, 9, 111, 9, 367, 9, 239, 9, 495, 9, 31, 9, 287, 9, 159, 9, 415, 9, 95, 9, 351, 9, 223, 9, 479, 9, 63, 9, 319, 9, 191, 9, 447, 9, 127, 9, 383, 9, 255, 9, 511, 9, 0, 7, 64, 7, 32, 7, 96, 7, 16, 7, 80, 7, 48, 7, 112, 7, 8, 7, 72, 7, 40, 7, 104, 7, 24, 7, 88, 7, 56, 7, 120, 7, 4, 7, 68, 7, 36, 7, 100, 7, 20, 7, 84, 7, 52, 7, 116, 7, 3, 8, 131, 8, 67, 8, 195, 8, 35, 8, 163, 8, 99, 8, 227, 8], A.static_dtree = [0, 5, 16, 5, 8, 5, 24, 5, 4, 5, 20, 5, 12, 5, 28, 5, 2, 5, 18, 5, 10, 5, 26, 5, 6, 5, 22, 5, 14, 5, 30, 5, 1, 5, 17, 5, 9, 5, 25, 5, 5, 5, 21, 5, 13, 5, 29, 5, 3, 5, 19, 5, 11, 5, 27, 5, 7, 5, 23, 5], A.static_l_desc = new A(A.static_ltree, e.extra_lbits, 257, 286, a), A.static_d_desc = new A(A.static_dtree, e.extra_dbits, 0, 30, a), A.static_bl_desc = new A(null, e.extra_blbits, 0, 19, 7); var l = [new r(0, 0, 0, 0, 0), new r(4, 4, 8, 4, 1), new r(4, 5, 16, 8, 1), new r(4, 6, 32, 32, 1), new r(4, 4, 16, 16, 2), new r(8, 16, 32, 32, 2), new r(8, 16, 128, 128, 2), new r(8, 32, 128, 256, 2), new r(32, 128, 258, 1024, 2), new r(32, 258, 258, 4096, 2)], u = ["need dictionary", "stream end", "", "", "stream error", "data error", "", "buffer error", "", ""], h = 262; o.prototype = { deflateInit: function (t, e) { return this.dstate = new i, e || (e = a), this.dstate.deflateInit(this, t, e) }, deflate: function (t) { return this.dstate ? this.dstate.deflate(this, t) : -2 }, deflateEnd: function () { if (!this.dstate) return -2; var t = this.dstate.deflateEnd(); return this.dstate = null, t }, deflateParams: function (t, e) { return this.dstate ? this.dstate.deflateParams(this, t, e) : -2 }, deflateSetDictionary: function (t, e) { return this.dstate ? this.dstate.deflateSetDictionary(this, t, e) : -2 }, read_buf: function (t, e, A) { var r = this, n = r.avail_in; return A < n && (n = A), 0 === n ? 0 : (r.avail_in -= n, t.set(r.next_in.subarray(r.next_in_index, r.next_in_index + n), e), r.next_in_index += n, r.total_in += n, n) }, flush_pending: function () { var t = this, e = t.dstate.pending; e > t.avail_out && (e = t.avail_out), 0 !== e && (t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out, t.dstate.pending_out + e), t.next_out_index), t.next_out_index += e, t.dstate.pending_out += e, t.total_out += e, t.avail_out -= e, t.dstate.pending -= e, 0 === t.dstate.pending && (t.dstate.pending_out = 0)) } }; var d = t.zip || t; d.Deflater = d._jzlib_Deflater = function (t) { var e = new o, A = new Uint8Array(512), r = t ? t.level : -1; void 0 === r && (r = -1), e.deflateInit(r), e.next_out = A, this.append = function (t, r) { var n, i = [], o = 0, a = 0, s = 0; if (t.length) { e.next_in_index = 0, e.next_in = t, e.avail_in = t.length; do { if (e.next_out_index = 0, e.avail_out = 512, 0 != e.deflate(0)) throw new Error("deflating: " + e.msg); e.next_out_index && (512 == e.next_out_index ? i.push(new Uint8Array(A)) : i.push(new Uint8Array(A.subarray(0, e.next_out_index)))), s += e.next_out_index, r && 0 < e.next_in_index && e.next_in_index != o && (r(e.next_in_index), o = e.next_in_index) } while (0 < e.avail_in || 0 === e.avail_out); return n = new Uint8Array(s), i.forEach(function (t) { n.set(t, a), a += t.length }), n } }, this.flush = function () { var t, r, n = [], i = 0, o = 0; do { if (e.next_out_index = 0, e.avail_out = 512, 1 != (t = e.deflate(4)) && 0 != t) throw new Error("deflating: " + e.msg); 0 < 512 - e.avail_out && n.push(new Uint8Array(A.subarray(0, e.next_out_index))), o += e.next_out_index } while (0 < e.avail_in || 0 === e.avail_out); return e.deflateEnd(), r = new Uint8Array(o), n.forEach(function (t) { r.set(t, i), i += t.length }), r } } }("undefined" != typeof self && self || "undefined" != typeof window && window || void 0 !== r && r || Function('return typeof this === "object" && this.content')() || Function("return this")()), function (t) { function A(t) { var e; this.ok = !1, "#" == t.charAt(0) && (t = t.substr(1, 6)), t = (t = t.replace(/ /g, "")).toLowerCase(); var r = { aliceblue: "f0f8ff", antiquewhite: "faebd7", aqua: "00ffff", aquamarine: "7fffd4", azure: "f0ffff", beige: "f5f5dc", bisque: "ffe4c4", black: "000000", blanchedalmond: "ffebcd", blue: "0000ff", blueviolet: "8a2be2", brown: "a52a2a", burlywood: "deb887", cadetblue: "5f9ea0", chartreuse: "7fff00", chocolate: "d2691e", coral: "ff7f50", cornflowerblue: "6495ed", cornsilk: "fff8dc", crimson: "dc143c", cyan: "00ffff", darkblue: "00008b", darkcyan: "008b8b", darkgoldenrod: "b8860b", darkgray: "a9a9a9", darkgreen: "006400", darkkhaki: "bdb76b", darkmagenta: "8b008b", darkolivegreen: "556b2f", darkorange: "ff8c00", darkorchid: "9932cc", darkred: "8b0000", darksalmon: "e9967a", darkseagreen: "8fbc8f", darkslateblue: "483d8b", darkslategray: "2f4f4f", darkturquoise: "00ced1", darkviolet: "9400d3", deeppink: "ff1493", deepskyblue: "00bfff", dimgray: "696969", dodgerblue: "1e90ff", feldspar: "d19275", firebrick: "b22222", floralwhite: "fffaf0", forestgreen: "228b22", fuchsia: "ff00ff", gainsboro: "dcdcdc", ghostwhite: "f8f8ff", gold: "ffd700", goldenrod: "daa520", gray: "808080", green: "008000", greenyellow: "adff2f", honeydew: "f0fff0", hotpink: "ff69b4", indianred: "cd5c5c", indigo: "4b0082", ivory: "fffff0", khaki: "f0e68c", lavender: "e6e6fa", lavenderblush: "fff0f5", lawngreen: "7cfc00", lemonchiffon: "fffacd", lightblue: "add8e6", lightcoral: "f08080", lightcyan: "e0ffff", lightgoldenrodyellow: "fafad2", lightgrey: "d3d3d3", lightgreen: "90ee90", lightpink: "ffb6c1", lightsalmon: "ffa07a", lightseagreen: "20b2aa", lightskyblue: "87cefa", lightslateblue: "8470ff", lightslategray: "778899", lightsteelblue: "b0c4de", lightyellow: "ffffe0", lime: "00ff00", limegreen: "32cd32", linen: "faf0e6", magenta: "ff00ff", maroon: "800000", mediumaquamarine: "66cdaa", mediumblue: "0000cd", mediumorchid: "ba55d3", mediumpurple: "9370d8", mediumseagreen: "3cb371", mediumslateblue: "7b68ee", mediumspringgreen: "00fa9a", mediumturquoise: "48d1cc", mediumvioletred: "c71585", midnightblue: "191970", mintcream: "f5fffa", mistyrose: "ffe4e1", moccasin: "ffe4b5", navajowhite: "ffdead", navy: "000080", oldlace: "fdf5e6", olive: "808000", olivedrab: "6b8e23", orange: "ffa500", orangered: "ff4500", orchid: "da70d6", palegoldenrod: "eee8aa", palegreen: "98fb98", paleturquoise: "afeeee", palevioletred: "d87093", papayawhip: "ffefd5", peachpuff: "ffdab9", peru: "cd853f", pink: "ffc0cb", plum: "dda0dd", powderblue: "b0e0e6", purple: "800080", red: "ff0000", rosybrown: "bc8f8f", royalblue: "4169e1", saddlebrown: "8b4513", salmon: "fa8072", sandybrown: "f4a460", seagreen: "2e8b57", seashell: "fff5ee", sienna: "a0522d", silver: "c0c0c0", skyblue: "87ceeb", slateblue: "6a5acd", slategray: "708090", snow: "fffafa", springgreen: "00ff7f", steelblue: "4682b4", tan: "d2b48c", teal: "008080", thistle: "d8bfd8", tomato: "ff6347", turquoise: "40e0d0", violet: "ee82ee", violetred: "d02090", wheat: "f5deb3", white: "ffffff", whitesmoke: "f5f5f5", yellow: "ffff00", yellowgreen: "9acd32" }; for (var n in r) t == n && (t = r[n]); for (var i = [{ re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, example: ["rgb(123, 234, 45)", "rgb(255,234,245)"], process: function (t) { return [parseInt(t[1]), parseInt(t[2]), parseInt(t[3])] } }, { re: /^(\w{2})(\w{2})(\w{2})$/, example: ["#00ff00", "336699"], process: function (t) { return [parseInt(t[1], 16), parseInt(t[2], 16), parseInt(t[3], 16)] } }, { re: /^(\w{1})(\w{1})(\w{1})$/, example: ["#fb0", "f0f"], process: function (t) { return [parseInt(t[1] + t[1], 16), parseInt(t[2] + t[2], 16), parseInt(t[3] + t[3], 16)] } }], o = 0; o < i.length; o++) { var a = i[o].re, s = i[o].process, c = a.exec(t); c && (e = s(c), this.r = e[0], this.g = e[1], this.b = e[2], this.ok = !0) } this.r = this.r < 0 || isNaN(this.r) ? 0 : 255 < this.r ? 255 : this.r, this.g = this.g < 0 || isNaN(this.g) ? 0 : 255 < this.g ? 255 : this.g, this.b = this.b < 0 || isNaN(this.b) ? 0 : 255 < this.b ? 255 : this.b, this.toRGB = function () { return "rgb(" + this.r + ", " + this.g + ", " + this.b + ")" }, this.toHex = function () { var t = this.r.toString(16), e = this.g.toString(16), A = this.b.toString(16); return 1 == t.length && (t = "0" + t), 1 == e.length && (e = "0" + e), 1 == A.length && (A = "0" + A), "#" + t + e + A }, this.getHelpXML = function () { for (var t = new Array, e = 0; e < i.length; e++)for (var n = i[e].example, o = 0; o < n.length; o++)t[t.length] = n[o]; for (var a in r) t[t.length] = a; var s = document.createElement("ul"); for (s.setAttribute("id", "rgbcolor-examples"), e = 0; e < t.length; e++)try { var c = document.createElement("li"), l = new A(t[e]), u = document.createElement("div"); u.style.cssText = "margin: 3px; border: 1px solid black; background:" + l.toHex() + "; color:" + l.toHex(), u.appendChild(document.createTextNode("test")); var h = document.createTextNode(" " + t[e] + " -> " + l.toRGB() + " -> " + l.toHex()); c.appendChild(u), c.appendChild(h), s.appendChild(c) } catch (t) { } return s } } e.exports && (e.exports = A), t.RGBColor = A }("undefined" != typeof self && self || "undefined" != typeof window && window || void 0 !== r && r || Function('return typeof this === "object" && this.content')() || Function("return this")()), e.exports = function e(A, r, n) { function i(a, s) { if (!r[a]) { if (!A[a]) { var c = "function" == typeof t && t; if (!s && c) return c(a, !0); if (o) return o(a, !0); var l = new Error("Cannot find module '" + a + "'"); throw l.code = "MODULE_NOT_FOUND", l } var u = r[a] = { exports: {} }; A[a][0].call(u.exports, function (t) { return i(A[a][1][t] || t) }, u, u.exports, e, A, r, n) } return r[a].exports } for (var o = "function" == typeof t && t, a = 0; a < n.length; a++)i(n[a]); return i }({ 1: [function (t, e, A) { (function (t) { !function (r) { function n(t) { throw RangeError(I[t]) } function i(t, e) { for (var A = t.length; A--;)t[A] = e(t[A]); return t } function o(t, e) { return i(t.split(H), e).join(".") } function a(t) { for (var e, A, r = [], n = 0, i = t.length; n < i;)55296 <= (e = t.charCodeAt(n++)) && e <= 56319 && n < i ? 56320 == (64512 & (A = t.charCodeAt(n++))) ? r.push(((1023 & e) << 10) + (1023 & A) + 65536) : (r.push(e), n--) : r.push(e); return r } function s(t) { return i(t, function (t) { var e = ""; return 65535 < t && (e += T((t -= 65536) >>> 10 & 1023 | 55296), t = 56320 | 1023 & t), e += T(t) }).join("") } function c(t, e) { return t + 22 + 75 * (t < 26) - ((0 != e) << 5) } function l(t, e, A) { var r = 0; for (t = A ? _(t / C) : t >> 1, t += _(t / e); S * v >> 1 < t; r += m)t = _(t / S); return _(r + (S + 1) * t / (t + Q)) } function u(t) { var e, A, r, i, o, a, c, u, h, d, f, p = [], g = t.length, B = 0, Q = b, C = U; for ((A = t.lastIndexOf(F)) < 0 && (A = 0), r = 0; r < A; ++r)128 <= t.charCodeAt(r) && n("not-basic"), p.push(t.charCodeAt(r)); for (i = 0 < A ? A + 1 : 0; i < g;) { for (o = B, a = 1, c = m; g <= i && n("invalid-input"), f = t.charCodeAt(i++), (m <= (u = f - 48 < 10 ? f - 22 : f - 65 < 26 ? f - 65 : f - 97 < 26 ? f - 97 : m) || u > _((w - B) / a)) && n("overflow"), B += u * a, !(u < (h = c <= C ? y : C + v <= c ? v : c - C)); c += m)a > _(w / (d = m - h)) && n("overflow"), a *= d; C = l(B - o, e = p.length + 1, 0 == o), _(B / e) > w - Q && n("overflow"), Q += _(B / e), B %= e, p.splice(B++, 0, Q) } return s(p) } function h(t) { var e, A, r, i, o, s, u, h, d, f, p, g, B, Q, C, E = []; for (g = (t = a(t)).length, e = b, o = U, s = A = 0; s < g; ++s)(p = t[s]) < 128 && E.push(T(p)); for (r = i = E.length, i && E.push(F); r < g;) { for (u = w, s = 0; s < g; ++s)e <= (p = t[s]) && p < u && (u = p); for (u - e > _((w - A) / (B = r + 1)) && n("overflow"), A += (u - e) * B, e = u, s = 0; s < g; ++s)if ((p = t[s]) < e && ++A > w && n("overflow"), p == e) { for (h = A, d = m; !(h < (f = d <= o ? y : o + v <= d ? v : d - o)); d += m)C = h - f, Q = m - f, E.push(T(c(f + C % Q, 0))), h = _(C / Q); E.push(T(c(h, 0))), o = l(A, B, r == i), A = 0, ++r } ++A, ++e } return E.join("") } var d = "object" == typeof A && A, f = "object" == typeof e && e && e.exports == d && e, p = "object" == typeof t && t; p.global !== p && p.window !== p || (r = p); var g, B, w = 2147483647, m = 36, y = 1, v = 26, Q = 38, C = 700, U = 72, b = 128, F = "-", E = /^xn--/, x = /[^ -~]/, H = /\x2E|\u3002|\uFF0E|\uFF61/g, I = { overflow: "Overflow: input needs wider integers to process", "not-basic": "Illegal input >= 0x80 (not a basic code point)", "invalid-input": "Invalid input" }, S = m - y, _ = Math.floor, T = String.fromCharCode; if (g = { version: "1.2.4", ucs2: { decode: a, encode: s }, decode: u, encode: h, toASCII: function (t) { return o(t, function (t) { return x.test(t) ? "xn--" + h(t) : t }) }, toUnicode: function (t) { return o(t, function (t) { return E.test(t) ? u(t.slice(4).toLowerCase()) : t }) } }, d && !d.nodeType) if (f) f.exports = g; else for (B in g) g.hasOwnProperty(B) && (d[B] = g[B]); else r.punycode = g }(this) }).call(this, void 0 !== r ? r : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 2: [function (t, e, A) { function r(t, e) { for (var A = 3 === t.nodeType ? document.createTextNode(t.nodeValue) : t.cloneNode(!1), i = t.firstChild; i;)!0 !== e && 1 === i.nodeType && "SCRIPT" === i.nodeName || A.appendChild(r(i, e)), i = i.nextSibling; return 1 === t.nodeType && (A._scrollTop = t.scrollTop, A._scrollLeft = t.scrollLeft, "CANVAS" === t.nodeName ? function (t, e) { try { e && (e.width = t.width, e.height = t.height, e.getContext("2d").putImageData(t.getContext("2d").getImageData(0, 0, t.width, t.height), 0, 0)) } catch (e) { n("Unable to copy canvas content from", t, e) } }(t, A) : "TEXTAREA" !== t.nodeName && "SELECT" !== t.nodeName || (A.value = t.value)), A } var n = t("./log"); e.exports = function (t, e, A, n, i, o, a) { var s = r(t.documentElement, i.javascriptEnabled), c = e.createElement("iframe"); return c.className = "html2canvas-container", c.style.visibility = "hidden", c.style.position = "fixed", c.style.left = "-10000px", c.style.top = "0px", c.style.border = "0", c.width = A, c.height = n, c.scrolling = "no", e.body.appendChild(c), new Promise(function (e) { var A, r, n, l = c.contentWindow.document; c.contentWindow.onload = c.onload = function () { var t = setInterval(function () { 0 < l.body.childNodes.length && (function t(e) { if (1 === e.nodeType) { e.scrollTop = e._scrollTop, e.scrollLeft = e._scrollLeft; for (var A = e.firstChild; A;)t(A), A = A.nextSibling } }(l.documentElement), clearInterval(t), "view" === i.type && (c.contentWindow.scrollTo(o, a), !/(iPad|iPhone|iPod)/g.test(navigator.userAgent) || c.contentWindow.scrollY === a && c.contentWindow.scrollX === o || (l.documentElement.style.top = -a + "px", l.documentElement.style.left = -o + "px", l.documentElement.style.position = "absolute")), e(c)) }, 50) }, l.open(), l.write("<!DOCTYPE html><html></html>"), r = o, n = a, !(A = t).defaultView || r === A.defaultView.pageXOffset && n === A.defaultView.pageYOffset || A.defaultView.scrollTo(r, n), l.replaceChild(l.adoptNode(s), l.documentElement), l.close() }) } }, { "./log": 13 }], 3: [function (t, e, A) { function r(t) { this.r = 0, this.g = 0, this.b = 0, this.a = null, this.fromArray(t) || this.namedColor(t) || this.rgb(t) || this.rgba(t) || this.hex6(t) || this.hex3(t) } r.prototype.darken = function (t) { var e = 1 - t; return new r([Math.round(this.r * e), Math.round(this.g * e), Math.round(this.b * e), this.a]) }, r.prototype.isTransparent = function () { return 0 === this.a }, r.prototype.isBlack = function () { return 0 === this.r && 0 === this.g && 0 === this.b }, r.prototype.fromArray = function (t) { return Array.isArray(t) && (this.r = Math.min(t[0], 255), this.g = Math.min(t[1], 255), this.b = Math.min(t[2], 255), 3 < t.length && (this.a = t[3])), Array.isArray(t) }; var n = /^#([a-f0-9]{3})$/i; r.prototype.hex3 = function (t) { var e; return null !== (e = t.match(n)) && (this.r = parseInt(e[1][0] + e[1][0], 16), this.g = parseInt(e[1][1] + e[1][1], 16), this.b = parseInt(e[1][2] + e[1][2], 16)), null !== e }; var i = /^#([a-f0-9]{6})$/i; r.prototype.hex6 = function (t) { var e = null; return null !== (e = t.match(i)) && (this.r = parseInt(e[1].substring(0, 2), 16), this.g = parseInt(e[1].substring(2, 4), 16), this.b = parseInt(e[1].substring(4, 6), 16)), null !== e }; var o = /^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/; r.prototype.rgb = function (t) { var e; return null !== (e = t.match(o)) && (this.r = Number(e[1]), this.g = Number(e[2]), this.b = Number(e[3])), null !== e }; var a = /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?\.?\d+)\s*\)$/; r.prototype.rgba = function (t) { var e; return null !== (e = t.match(a)) && (this.r = Number(e[1]), this.g = Number(e[2]), this.b = Number(e[3]), this.a = Number(e[4])), null !== e }, r.prototype.toString = function () { return null !== this.a && 1 !== this.a ? "rgba(" + [this.r, this.g, this.b, this.a].join(",") + ")" : "rgb(" + [this.r, this.g, this.b].join(",") + ")" }, r.prototype.namedColor = function (t) { t = t.toLowerCase(); var e = s[t]; if (e) this.r = e[0], this.g = e[1], this.b = e[2]; else if ("transparent" === t) return this.r = this.g = this.b = this.a = 0, !0; return !!e }, r.prototype.isColor = !0; var s = { aliceblue: [240, 248, 255], antiquewhite: [250, 235, 215], aqua: [0, 255, 255], aquamarine: [127, 255, 212], azure: [240, 255, 255], beige: [245, 245, 220], bisque: [255, 228, 196], black: [0, 0, 0], blanchedalmond: [255, 235, 205], blue: [0, 0, 255], blueviolet: [138, 43, 226], brown: [165, 42, 42], burlywood: [222, 184, 135], cadetblue: [95, 158, 160], chartreuse: [127, 255, 0], chocolate: [210, 105, 30], coral: [255, 127, 80], cornflowerblue: [100, 149, 237], cornsilk: [255, 248, 220], crimson: [220, 20, 60], cyan: [0, 255, 255], darkblue: [0, 0, 139], darkcyan: [0, 139, 139], darkgoldenrod: [184, 134, 11], darkgray: [169, 169, 169], darkgreen: [0, 100, 0], darkgrey: [169, 169, 169], darkkhaki: [189, 183, 107], darkmagenta: [139, 0, 139], darkolivegreen: [85, 107, 47], darkorange: [255, 140, 0], darkorchid: [153, 50, 204], darkred: [139, 0, 0], darksalmon: [233, 150, 122], darkseagreen: [143, 188, 143], darkslateblue: [72, 61, 139], darkslategray: [47, 79, 79], darkslategrey: [47, 79, 79], darkturquoise: [0, 206, 209], darkviolet: [148, 0, 211], deeppink: [255, 20, 147], deepskyblue: [0, 191, 255], dimgray: [105, 105, 105], dimgrey: [105, 105, 105], dodgerblue: [30, 144, 255], firebrick: [178, 34, 34], floralwhite: [255, 250, 240], forestgreen: [34, 139, 34], fuchsia: [255, 0, 255], gainsboro: [220, 220, 220], ghostwhite: [248, 248, 255], gold: [255, 215, 0], goldenrod: [218, 165, 32], gray: [128, 128, 128], green: [0, 128, 0], greenyellow: [173, 255, 47], grey: [128, 128, 128], honeydew: [240, 255, 240], hotpink: [255, 105, 180], indianred: [205, 92, 92], indigo: [75, 0, 130], ivory: [255, 255, 240], khaki: [240, 230, 140], lavender: [230, 230, 250], lavenderblush: [255, 240, 245], lawngreen: [124, 252, 0], lemonchiffon: [255, 250, 205], lightblue: [173, 216, 230], lightcoral: [240, 128, 128], lightcyan: [224, 255, 255], lightgoldenrodyellow: [250, 250, 210], lightgray: [211, 211, 211], lightgreen: [144, 238, 144], lightgrey: [211, 211, 211], lightpink: [255, 182, 193], lightsalmon: [255, 160, 122], lightseagreen: [32, 178, 170], lightskyblue: [135, 206, 250], lightslategray: [119, 136, 153], lightslategrey: [119, 136, 153], lightsteelblue: [176, 196, 222], lightyellow: [255, 255, 224], lime: [0, 255, 0], limegreen: [50, 205, 50], linen: [250, 240, 230], magenta: [255, 0, 255], maroon: [128, 0, 0], mediumaquamarine: [102, 205, 170], mediumblue: [0, 0, 205], mediumorchid: [186, 85, 211], mediumpurple: [147, 112, 219], mediumseagreen: [60, 179, 113], mediumslateblue: [123, 104, 238], mediumspringgreen: [0, 250, 154], mediumturquoise: [72, 209, 204], mediumvioletred: [199, 21, 133], midnightblue: [25, 25, 112], mintcream: [245, 255, 250], mistyrose: [255, 228, 225], moccasin: [255, 228, 181], navajowhite: [255, 222, 173], navy: [0, 0, 128], oldlace: [253, 245, 230], olive: [128, 128, 0], olivedrab: [107, 142, 35], orange: [255, 165, 0], orangered: [255, 69, 0], orchid: [218, 112, 214], palegoldenrod: [238, 232, 170], palegreen: [152, 251, 152], paleturquoise: [175, 238, 238], palevioletred: [219, 112, 147], papayawhip: [255, 239, 213], peachpuff: [255, 218, 185], peru: [205, 133, 63], pink: [255, 192, 203], plum: [221, 160, 221], powderblue: [176, 224, 230], purple: [128, 0, 128], rebeccapurple: [102, 51, 153], red: [255, 0, 0], rosybrown: [188, 143, 143], royalblue: [65, 105, 225], saddlebrown: [139, 69, 19], salmon: [250, 128, 114], sandybrown: [244, 164, 96], seagreen: [46, 139, 87], seashell: [255, 245, 238], sienna: [160, 82, 45], silver: [192, 192, 192], skyblue: [135, 206, 235], slateblue: [106, 90, 205], slategray: [112, 128, 144], slategrey: [112, 128, 144], snow: [255, 250, 250], springgreen: [0, 255, 127], steelblue: [70, 130, 180], tan: [210, 180, 140], teal: [0, 128, 128], thistle: [216, 191, 216], tomato: [255, 99, 71], turquoise: [64, 224, 208], violet: [238, 130, 238], wheat: [245, 222, 179], white: [255, 255, 255], whitesmoke: [245, 245, 245], yellow: [255, 255, 0], yellowgreen: [154, 205, 50] }; e.exports = r }, {}], 4: [function (t, e, A) { function r(t, e) { var A, r, i = B++; if ((e = e || {}).logging && (u.options.logging = !0, u.options.start = Date.now()), e.async = void 0 === e.async || e.async, e.allowTaint = void 0 !== e.allowTaint && e.allowTaint, e.removeContainer = void 0 === e.removeContainer || e.removeContainer, e.javascriptEnabled = void 0 !== e.javascriptEnabled && e.javascriptEnabled, e.imageTimeout = void 0 === e.imageTimeout ? 1e4 : e.imageTimeout, e.renderer = "function" == typeof e.renderer ? e.renderer : a, e.strict = !!e.strict, "string" == typeof t) { if ("string" != typeof e.proxy) return Promise.reject("Proxy must be used when rendering url"); var o = null != e.width ? e.width : window.innerWidth, s = null != e.height ? e.height : window.innerHeight; return f((A = t, r = document.createElement("a"), r.href = A, r.href = r.href, r), e.proxy, document, o, s, e).then(function (t) { return n(t.contentWindow.document.documentElement, t, e, o, s) }) } var c, l, h, p, w, m = (void 0 === t ? [document.documentElement] : t.length ? t : [t])[0]; return m.setAttribute(g + i, i), (c = m.ownerDocument, l = e, h = m.ownerDocument.defaultView.innerWidth, p = m.ownerDocument.defaultView.innerHeight, w = i, d(c, c, h, p, l, c.defaultView.pageXOffset, c.defaultView.pageYOffset).then(function (t) { u("Document cloned"); var e = g + w, A = "[" + e + "='" + w + "']"; c.querySelector(A).removeAttribute(e); var r = t.contentWindow, i = r.document.querySelector(A); return ("function" == typeof l.onclone ? Promise.resolve(l.onclone(r.document)) : Promise.resolve(!0)).then(function () { return n(i, t, l, h, p) }) })).then(function (t) { return "function" == typeof e.onrendered && (u("options.onrendered is deprecated, html2canvas returns a Promise containing the canvas"), e.onrendered(t)), t }) } function n(t, e, A, r, n) { var a, l, h = e.contentWindow, d = new o(h.document), f = new s(A, d), g = p(t), B = "view" === A.type ? r : (a = h.document, Math.max(Math.max(a.body.scrollWidth, a.documentElement.scrollWidth), Math.max(a.body.offsetWidth, a.documentElement.offsetWidth), Math.max(a.body.clientWidth, a.documentElement.clientWidth))), w = "view" === A.type ? n : (l = h.document, Math.max(Math.max(l.body.scrollHeight, l.documentElement.scrollHeight), Math.max(l.body.offsetHeight, l.documentElement.offsetHeight), Math.max(l.body.clientHeight, l.documentElement.clientHeight))), m = new A.renderer(B, w, f, A, document); return new c(t, m, d, f, A).ready.then(function () { var r, n; return u("Finished rendering"), r = "view" === A.type ? i(m.canvas, { width: m.canvas.width, height: m.canvas.height, top: 0, left: 0, x: 0, y: 0 }) : t === h.document.body || t === h.document.documentElement || null != A.canvas ? m.canvas : i(m.canvas, { width: null != A.width ? A.width : g.width, height: null != A.height ? A.height : g.height, top: g.top, left: g.left, x: 0, y: 0 }), n = e, A.removeContainer && (n.parentNode.removeChild(n), u("Cleaned up container")), r }) } function i(t, e) { var A = document.createElement("canvas"), r = Math.min(t.width - 1, Math.max(0, e.left)), n = Math.min(t.width, Math.max(1, e.left + e.width)), i = Math.min(t.height - 1, Math.max(0, e.top)), o = Math.min(t.height, Math.max(1, e.top + e.height)); A.width = e.width, A.height = e.height; var a = n - r, s = o - i; return u("Cropping canvas at:", "left:", e.left, "top:", e.top, "width:", a, "height:", s), u("Resulting crop with width", e.width, "and height", e.height, "with x", r, "and y", i), A.getContext("2d").drawImage(t, r, i, a, s, e.x, e.y, a, s), A } var o = t("./support"), a = t("./renderers/canvas"), s = t("./imageloader"), c = t("./nodeparser"), l = t("./nodecontainer"), u = t("./log"), h = t("./utils"), d = t("./clone"), f = t("./proxy").loadUrlDocument, p = h.getBounds, g = "data-html2canvas-node", B = 0; r.CanvasRenderer = a, r.NodeContainer = l, r.log = u, r.utils = h; var w = "undefined" == typeof document || "function" != typeof Object.create || "function" != typeof document.createElement("canvas").getContext ? function () { return Promise.reject("No canvas support") } : r; e.exports = w }, { "./clone": 2, "./imageloader": 11, "./log": 13, "./nodecontainer": 14, "./nodeparser": 15, "./proxy": 16, "./renderers/canvas": 20, "./support": 22, "./utils": 26 }], 5: [function (t, e, A) { var r = t("./log"), n = t("./utils").smallImage; e.exports = function t(e) { if (this.src = e, r("DummyImageContainer for", e), !this.promise || !this.image) { r("Initiating DummyImageContainer"), t.prototype.image = new Image; var A = this.image; t.prototype.promise = new Promise(function (t, e) { A.onload = t, A.onerror = e, A.src = n(), !0 === A.complete && t(A) }) } } }, { "./log": 13, "./utils": 26 }], 6: [function (t, e, A) { var r = t("./utils").smallImage; e.exports = function (t, e) { var A, n, i = document.createElement("div"), o = document.createElement("img"), a = document.createElement("span"), s = "Hidden Text"; i.style.visibility = "hidden", i.style.fontFamily = t, i.style.fontSize = e, i.style.margin = 0, i.style.padding = 0, document.body.appendChild(i), o.src = r(), o.width = 1, o.height = 1, o.style.margin = 0, o.style.padding = 0, o.style.verticalAlign = "baseline", a.style.fontFamily = t, a.style.fontSize = e, a.style.margin = 0, a.style.padding = 0, a.appendChild(document.createTextNode(s)), i.appendChild(a), i.appendChild(o), A = o.offsetTop - a.offsetTop + 1, i.removeChild(a), i.appendChild(document.createTextNode(s)), i.style.lineHeight = "normal", o.style.verticalAlign = "super", n = o.offsetTop - i.offsetTop + 1, document.body.removeChild(i), this.baseline = A, this.lineWidth = 1, this.middle = n } }, { "./utils": 26 }], 7: [function (t, e, A) { function r() { this.data = {} } var n = t("./font"); r.prototype.getMetrics = function (t, e) { return void 0 === this.data[t + "-" + e] && (this.data[t + "-" + e] = new n(t, e)), this.data[t + "-" + e] }, e.exports = r }, { "./font": 6 }], 8: [function (t, e, A) { function r(e, A, r) { this.image = null, this.src = e; var i = this, o = n(e); this.promise = (A ? new Promise(function (t) { "about:blank" === e.contentWindow.document.URL || null == e.contentWindow.document.documentElement ? e.contentWindow.onload = e.onload = function () { t(e) } : t(e) }) : this.proxyLoad(r.proxy, o, r)).then(function (e) { return t("./core")(e.contentWindow.document.documentElement, { type: "view", width: e.width, height: e.height, proxy: r.proxy, javascriptEnabled: r.javascriptEnabled, removeContainer: r.removeContainer, allowTaint: r.allowTaint, imageTimeout: r.imageTimeout / 2 }) }).then(function (t) { return i.image = t }) } var n = t("./utils").getBounds, i = t("./proxy").loadUrlDocument; r.prototype.proxyLoad = function (t, e, A) { var r = this.src; return i(r.src, t, r.ownerDocument, e.width, e.height, A) }, e.exports = r }, { "./core": 4, "./proxy": 16, "./utils": 26 }], 9: [function (t, e, A) { function r(t) { this.src = t.value, this.colorStops = [], this.type = null, this.x0 = .5, this.y0 = .5, this.x1 = .5, this.y1 = .5, this.promise = Promise.resolve(!0) } r.TYPES = { LINEAR: 1, RADIAL: 2 }, r.REGEXP_COLORSTOP = /^\s*(rgba?\(\s*\d{1,3},\s*\d{1,3},\s*\d{1,3}(?:,\s*[0-9\.]+)?\s*\)|[a-z]{3,20}|#[a-f0-9]{3,6})(?:\s+(\d{1,3}(?:\.\d+)?)(%|px)?)?(?:\s|$)/i, e.exports = r }, {}], 10: [function (t, e, A) { e.exports = function (t, e) { this.src = t, this.image = new Image; var A = this; this.tainted = null, this.promise = new Promise(function (r, n) { A.image.onload = r, A.image.onerror = n, e && (A.image.crossOrigin = "anonymous"), A.image.src = t, !0 === A.image.complete && r(A.image) }) } }, {}], 11: [function (t, e, A) { function r(t, e) { this.link = null, this.options = t, this.support = e, this.origin = this.getOrigin(window.location.href) } var n = t("./log"), i = t("./imagecontainer"), o = t("./dummyimagecontainer"), a = t("./proxyimagecontainer"), s = t("./framecontainer"), c = t("./svgcontainer"), l = t("./svgnodecontainer"), u = t("./lineargradientcontainer"), h = t("./webkitgradientcontainer"), d = t("./utils").bind; r.prototype.findImages = function (t) { var e = []; return t.reduce(function (t, e) { switch (e.node.nodeName) { case "IMG": return t.concat([{ args: [e.node.src], method: "url" }]); case "svg": case "IFRAME": return t.concat([{ args: [e.node], method: e.node.nodeName }]) }return t }, []).forEach(this.addImage(e, this.loadImage), this), e }, r.prototype.findBackgroundImage = function (t, e) { return e.parseBackgroundImages().filter(this.hasImageBackground).forEach(this.addImage(t, this.loadImage), this), t }, r.prototype.addImage = function (t, e) { return function (A) { A.args.forEach(function (r) { this.imageExists(t, r) || (t.splice(0, 0, e.call(this, A)), n("Added image #" + t.length, "string" == typeof r ? r.substring(0, 100) : r)) }, this) } }, r.prototype.hasImageBackground = function (t) { return "none" !== t.method }, r.prototype.loadImage = function (t) { if ("url" === t.method) { var e = t.args[0]; return !this.isSVG(e) || this.support.svg || this.options.allowTaint ? e.match(/data:image\/.*;base64,/i) ? new i(e.replace(/url\(['"]{0,}|['"]{0,}\)$/gi, ""), !1) : this.isSameOrigin(e) || !0 === this.options.allowTaint || this.isSVG(e) ? new i(e, !1) : this.support.cors && !this.options.allowTaint && this.options.useCORS ? new i(e, !0) : this.options.proxy ? new a(e, this.options.proxy) : new o(e) : new c(e) } return "linear-gradient" === t.method ? new u(t) : "gradient" === t.method ? new h(t) : "svg" === t.method ? new l(t.args[0], this.support.svg) : "IFRAME" === t.method ? new s(t.args[0], this.isSameOrigin(t.args[0].src), this.options) : new o(t) }, r.prototype.isSVG = function (t) { return "svg" === t.substring(t.length - 3).toLowerCase() || c.prototype.isInline(t) }, r.prototype.imageExists = function (t, e) { return t.some(function (t) { return t.src === e }) }, r.prototype.isSameOrigin = function (t) { return this.getOrigin(t) === this.origin }, r.prototype.getOrigin = function (t) { var e = this.link || (this.link = document.createElement("a")); return e.href = t, e.href = e.href, e.protocol + e.hostname + e.port }, r.prototype.getPromise = function (t) { return this.timeout(t, this.options.imageTimeout).catch(function () { return new o(t.src).promise.then(function (e) { t.image = e }) }) }, r.prototype.get = function (t) { var e = null; return this.images.some(function (A) { return (e = A).src === t }) ? e : null }, r.prototype.fetch = function (t) { return this.images = t.reduce(d(this.findBackgroundImage, this), this.findImages(t)), this.images.forEach(function (t, e) { t.promise.then(function () { n("Succesfully loaded image #" + (e + 1), t) }, function (A) { n("Failed loading image #" + (e + 1), t, A) }) }), this.ready = Promise.all(this.images.map(this.getPromise, this)), n("Finished searching images"), this }, r.prototype.timeout = function (t, e) { var A, r = Promise.race([t.promise, new Promise(function (r, i) { A = setTimeout(function () { n("Timed out loading image", t), i(t) }, e) })]).then(function (t) { return clearTimeout(A), t }); return r.catch(function () { clearTimeout(A) }), r }, e.exports = r }, { "./dummyimagecontainer": 5, "./framecontainer": 8, "./imagecontainer": 10, "./lineargradientcontainer": 12, "./log": 13, "./proxyimagecontainer": 17, "./svgcontainer": 23, "./svgnodecontainer": 24, "./utils": 26, "./webkitgradientcontainer": 27 }], 12: [function (t, e, A) { function r(t) { n.apply(this, arguments), this.type = n.TYPES.LINEAR; var e = r.REGEXP_DIRECTION.test(t.args[0]) || !n.REGEXP_COLORSTOP.test(t.args[0]); e ? t.args[0].split(/\s+/).reverse().forEach(function (t, e) { switch (t) { case "left": this.x0 = 0, this.x1 = 1; break; case "top": this.y0 = 0, this.y1 = 1; break; case "right": this.x0 = 1, this.x1 = 0; break; case "bottom": this.y0 = 1, this.y1 = 0; break; case "to": var A = this.y0, r = this.x0; this.y0 = this.y1, this.x0 = this.x1, this.x1 = r, this.y1 = A; break; case "center": break; default: var n = .01 * parseFloat(t, 10); if (isNaN(n)) break; 0 === e ? (this.y0 = n, this.y1 = 1 - this.y0) : (this.x0 = n, this.x1 = 1 - this.x0) } }, this) : (this.y0 = 0, this.y1 = 1), this.colorStops = t.args.slice(e ? 1 : 0).map(function (t) { var e = t.match(n.REGEXP_COLORSTOP), A = +e[2], r = 0 === A ? "%" : e[3]; return { color: new i(e[1]), stop: "%" === r ? A / 100 : null } }), null === this.colorStops[0].stop && (this.colorStops[0].stop = 0), null === this.colorStops[this.colorStops.length - 1].stop && (this.colorStops[this.colorStops.length - 1].stop = 1), this.colorStops.forEach(function (t, e) { null === t.stop && this.colorStops.slice(e).some(function (A, r) { return null !== A.stop && (t.stop = (A.stop - this.colorStops[e - 1].stop) / (r + 1) + this.colorStops[e - 1].stop, !0) }, this) }, this) } var n = t("./gradientcontainer"), i = t("./color"); r.prototype = Object.create(n.prototype), r.REGEXP_DIRECTION = /^\s*(?:to|left|right|top|bottom|center|\d{1,3}(?:\.\d+)?%?)(?:\s|$)/i, e.exports = r }, { "./color": 3, "./gradientcontainer": 9 }], 13: [function (t, e, A) { var r = function () { r.options.logging && window.console && window.console.log && Function.prototype.bind.call(window.console.log, window.console).apply(window.console, [Date.now() - r.options.start + "ms", "html2canvas:"].concat([].slice.call(arguments, 0))) }; r.options = { logging: !1 }, e.exports = r }, {}], 14: [function (t, e, A) { function r(t, e) { this.node = t, this.parent = e, this.stack = null, this.bounds = null, this.borders = null, this.clip = [], this.backgroundClip = [], this.offsetBounds = null, this.visible = null, this.computedStyles = null, this.colors = {}, this.styles = {}, this.backgroundImages = null, this.transformData = null, this.transformMatrix = null, this.isPseudoElement = !1, this.opacity = null } function n(t) { return -1 !== t.toString().indexOf("%") } function i(t) { return t.replace("px", "") } function o(t) { return parseFloat(t) } var a = t("./color"), s = t("./utils"), c = s.getBounds, l = s.parseBackgrounds, u = s.offsetBounds; r.prototype.cloneTo = function (t) { t.visible = this.visible, t.borders = this.borders, t.bounds = this.bounds, t.clip = this.clip, t.backgroundClip = this.backgroundClip, t.computedStyles = this.computedStyles, t.styles = this.styles, t.backgroundImages = this.backgroundImages, t.opacity = this.opacity }, r.prototype.getOpacity = function () { return null === this.opacity ? this.opacity = this.cssFloat("opacity") : this.opacity }, r.prototype.assignStack = function (t) { (this.stack = t).children.push(this) }, r.prototype.isElementVisible = function () { return this.node.nodeType === Node.TEXT_NODE ? this.parent.visible : "none" !== this.css("display") && "hidden" !== this.css("visibility") && !this.node.hasAttribute("data-html2canvas-ignore") && ("INPUT" !== this.node.nodeName || "hidden" !== this.node.getAttribute("type")) }, r.prototype.css = function (t) { return this.computedStyles || (this.computedStyles = this.isPseudoElement ? this.parent.computedStyle(this.before ? ":before" : ":after") : this.computedStyle(null)), this.styles[t] || (this.styles[t] = this.computedStyles[t]) }, r.prototype.prefixedCss = function (t) { var e = this.css(t); return void 0 === e && ["webkit", "moz", "ms", "o"].some(function (A) { return void 0 !== (e = this.css(A + t.substr(0, 1).toUpperCase() + t.substr(1))) }, this), void 0 === e ? null : e }, r.prototype.computedStyle = function (t) { return this.node.ownerDocument.defaultView.getComputedStyle(this.node, t) }, r.prototype.cssInt = function (t) { var e = parseInt(this.css(t), 10); return isNaN(e) ? 0 : e }, r.prototype.color = function (t) { return this.colors[t] || (this.colors[t] = new a(this.css(t))) }, r.prototype.cssFloat = function (t) { var e = parseFloat(this.css(t)); return isNaN(e) ? 0 : e }, r.prototype.fontWeight = function () { var t = this.css("fontWeight"); switch (parseInt(t, 10)) { case 401: t = "bold"; break; case 400: t = "normal" }return t }, r.prototype.parseClip = function () { var t = this.css("clip").match(this.CLIP); return t ? { top: parseInt(t[1], 10), right: parseInt(t[2], 10), bottom: parseInt(t[3], 10), left: parseInt(t[4], 10) } : null }, r.prototype.parseBackgroundImages = function () { return this.backgroundImages || (this.backgroundImages = l(this.css("backgroundImage"))) }, r.prototype.cssList = function (t, e) { var A = (this.css(t) || "").split(","); return 1 === (A = (A = A[e || 0] || A[0] || "auto").trim().split(" ")).length && (A = [A[0], n(A[0]) ? "auto" : A[0]]), A }, r.prototype.parseBackgroundSize = function (t, e, A) { var r, i, o = this.cssList("backgroundSize", A); if (n(o[0])) r = t.width * parseFloat(o[0]) / 100; else { if (/contain|cover/.test(o[0])) { var a = t.width / t.height, s = e.width / e.height; return a < s ^ "contain" === o[0] ? { width: t.height * s, height: t.height } : { width: t.width, height: t.width / s } } r = parseInt(o[0], 10) } return i = "auto" === o[0] && "auto" === o[1] ? e.height : "auto" === o[1] ? r / e.width * e.height : n(o[1]) ? t.height * parseFloat(o[1]) / 100 : parseInt(o[1], 10), "auto" === o[0] && (r = i / e.height * e.width), { width: r, height: i } }, r.prototype.parseBackgroundPosition = function (t, e, A, r) { var i, o, a = this.cssList("backgroundPosition", A); return i = n(a[0]) ? (t.width - (r || e).width) * (parseFloat(a[0]) / 100) : parseInt(a[0], 10), o = "auto" === a[1] ? i / e.width * e.height : n(a[1]) ? (t.height - (r || e).height) * parseFloat(a[1]) / 100 : parseInt(a[1], 10), "auto" === a[0] && (i = o / e.height * e.width), { left: i, top: o } }, r.prototype.parseBackgroundRepeat = function (t) { return this.cssList("backgroundRepeat", t)[0] }, r.prototype.parseTextShadows = function () { var t = this.css("textShadow"), e = []; if (t && "none" !== t) for (var A = t.match(this.TEXT_SHADOW_PROPERTY), r = 0; A && r < A.length; r++) { var n = A[r].match(this.TEXT_SHADOW_VALUES); e.push({ color: new a(n[0]), offsetX: n[1] ? parseFloat(n[1].replace("px", "")) : 0, offsetY: n[2] ? parseFloat(n[2].replace("px", "")) : 0, blur: n[3] ? n[3].replace("px", "") : 0 }) } return e }, r.prototype.parseTransform = function () { if (!this.transformData) if (this.hasTransform()) { var t = this.parseBounds(), e = this.prefixedCss("transformOrigin").split(" ").map(i).map(o); e[0] += t.left, e[1] += t.top, this.transformData = { origin: e, matrix: this.parseTransformMatrix() } } else this.transformData = { origin: [0, 0], matrix: [1, 0, 0, 1, 0, 0] }; return this.transformData }, r.prototype.parseTransformMatrix = function () { if (!this.transformMatrix) { var t = this.prefixedCss("transform"), e = t ? function (t) { if (t && "matrix" === t[1]) return t[2].split(",").map(function (t) { return parseFloat(t.trim()) }); if (t && "matrix3d" === t[1]) { var e = t[2].split(",").map(function (t) { return parseFloat(t.trim()) }); return [e[0], e[1], e[4], e[5], e[12], e[13]] } }(t.match(this.MATRIX_PROPERTY)) : null; this.transformMatrix = e || [1, 0, 0, 1, 0, 0] } return this.transformMatrix }, r.prototype.parseBounds = function () { return this.bounds || (this.bounds = this.hasTransform() ? u(this.node) : c(this.node)) }, r.prototype.hasTransform = function () { return "1,0,0,1,0,0" !== this.parseTransformMatrix().join(",") || this.parent && this.parent.hasTransform() }, r.prototype.getValue = function () { var t, e, A = this.node.value || ""; return "SELECT" === this.node.tagName ? (t = this.node, A = (e = t.options[t.selectedIndex || 0]) && e.text || "") : "password" === this.node.type && (A = Array(A.length + 1).join("•")), 0 === A.length ? this.node.placeholder || "" : A }, r.prototype.MATRIX_PROPERTY = /(matrix|matrix3d)\((.+)\)/, r.prototype.TEXT_SHADOW_PROPERTY = /((rgba|rgb)\([^\)]+\)(\s-?\d+px){0,})/g, r.prototype.TEXT_SHADOW_VALUES = /(-?\d+px)|(#.+)|(rgb\(.+\))|(rgba\(.+\))/g, r.prototype.CLIP = /^rect\((\d+)px,? (\d+)px,? (\d+)px,? (\d+)px\)$/, e.exports = r }, { "./color": 3, "./utils": 26 }], 15: [function (t, e, A) { function r(t, e, A, r, n) { H("Starting NodeParser"), this.renderer = e, this.options = n, this.range = null, this.support = A, this.renderQueue = [], this.stack = new O(!0, 1, t.ownerDocument, null); var i = new S(t, null); if (n.background && e.rectangle(0, 0, e.width, e.height, new k(n.background)), t === t.ownerDocument.documentElement) { var o = new S(i.color("backgroundColor").isTransparent() ? t.ownerDocument.body : t.ownerDocument.documentElement, null); e.rectangle(0, 0, e.width, e.height, o.color("backgroundColor")) } i.visibile = i.isElementVisible(), this.createPseudoHideStyles(t.ownerDocument), this.disableAnimations(t.ownerDocument), this.nodes = x([i].concat(this.getChildren(i)).filter(function (t) { return t.visible = t.isElementVisible() }).map(this.getPseudoElements, this)), this.fontMetrics = new N, H("Fetched nodes, total:", this.nodes.length), H("Calculate overflow clips"), this.calculateOverflowClips(), H("Start fetching images"), this.images = r.fetch(this.nodes.filter(Q)), this.ready = this.images.ready.then(D(function () { return H("Images loaded, starting parsing"), H("Creating stacking contexts"), this.createStackingContexts(), H("Sorting stacking contexts"), this.sortStackingContexts(this.stack), this.parse(this.stack), H("Render queue created with " + this.renderQueue.length + " items"), new Promise(D(function (t) { n.async ? "function" == typeof n.async ? n.async.call(this, this.renderQueue, t) : 0 < this.renderQueue.length ? (this.renderIndex = 0, this.asyncRenderer(this.renderQueue, t)) : t() : (this.renderQueue.forEach(this.paint, this), t()) }, this)) }, this)) } function n(t) { return t.parent && t.parent.clip.length } function i() { } function o(t, e, A, r) { return t.map(function (n, i) { if (0 < n.width) { var o = e.left, a = e.top, s = e.width, c = e.height - t[2].width; switch (i) { case 0: c = t[0].width, n.args = l({ c1: [o, a], c2: [o + s, a], c3: [o + s - t[1].width, a + c], c4: [o + t[3].width, a + c] }, r[0], r[1], A.topLeftOuter, A.topLeftInner, A.topRightOuter, A.topRightInner); break; case 1: o = e.left + e.width - t[1].width, s = t[1].width, n.args = l({ c1: [o + s, a], c2: [o + s, a + c + t[2].width], c3: [o, a + c], c4: [o, a + t[0].width] }, r[1], r[2], A.topRightOuter, A.topRightInner, A.bottomRightOuter, A.bottomRightInner); break; case 2: a = a + e.height - t[2].width, c = t[2].width, n.args = l({ c1: [o + s, a + c], c2: [o, a + c], c3: [o + t[3].width, a], c4: [o + s - t[3].width, a] }, r[2], r[3], A.bottomRightOuter, A.bottomRightInner, A.bottomLeftOuter, A.bottomLeftInner); break; case 3: s = t[3].width, n.args = l({ c1: [o, a + c + t[2].width], c2: [o, a], c3: [o + s, a + t[0].width], c4: [o + s, a + c] }, r[3], r[0], A.bottomLeftOuter, A.bottomLeftInner, A.topLeftOuter, A.topLeftInner) } } return n }) } function a(t, e, A, r) { var n = (Math.sqrt(2) - 1) / 3 * 4, i = A * n, o = r * n, a = t + A, s = e + r; return { topLeft: c({ x: t, y: s }, { x: t, y: s - o }, { x: a - i, y: e }, { x: a, y: e }), topRight: c({ x: t, y: e }, { x: t + i, y: e }, { x: a, y: s - o }, { x: a, y: s }), bottomRight: c({ x: a, y: e }, { x: a, y: e + o }, { x: t + i, y: s }, { x: t, y: s }), bottomLeft: c({ x: a, y: s }, { x: a - i, y: s }, { x: t, y: e + o }, { x: t, y: e }) } } function s(t, e, A) { var r = t.left, n = t.top, i = t.width, o = t.height, s = e[0][0] < i / 2 ? e[0][0] : i / 2, c = e[0][1] < o / 2 ? e[0][1] : o / 2, l = e[1][0] < i / 2 ? e[1][0] : i / 2, u = e[1][1] < o / 2 ? e[1][1] : o / 2, h = e[2][0] < i / 2 ? e[2][0] : i / 2, d = e[2][1] < o / 2 ? e[2][1] : o / 2, f = e[3][0] < i / 2 ? e[3][0] : i / 2, p = e[3][1] < o / 2 ? e[3][1] : o / 2, g = i - l, B = o - d, w = i - h, m = o - p; return { topLeftOuter: a(r, n, s, c).topLeft.subdivide(.5), topLeftInner: a(r + A[3].width, n + A[0].width, Math.max(0, s - A[3].width), Math.max(0, c - A[0].width)).topLeft.subdivide(.5), topRightOuter: a(r + g, n, l, u).topRight.subdivide(.5), topRightInner: a(r + Math.min(g, i + A[3].width), n + A[0].width, g > i + A[3].width ? 0 : l - A[3].width, u - A[0].width).topRight.subdivide(.5), bottomRightOuter: a(r + w, n + B, h, d).bottomRight.subdivide(.5), bottomRightInner: a(r + Math.min(w, i - A[3].width), n + Math.min(B, o + A[0].width), Math.max(0, h - A[1].width), d - A[2].width).bottomRight.subdivide(.5), bottomLeftOuter: a(r, n + m, f, p).bottomLeft.subdivide(.5), bottomLeftInner: a(r + A[3].width, n + m, Math.max(0, f - A[3].width), p - A[2].width).bottomLeft.subdivide(.5) } } function c(t, e, A, r) { var n = function (t, e, A) { return { x: t.x + (e.x - t.x) * A, y: t.y + (e.y - t.y) * A } }; return { start: t, startControl: e, endControl: A, end: r, subdivide: function (i) { var o = n(t, e, i), a = n(e, A, i), s = n(A, r, i), l = n(o, a, i), u = n(a, s, i), h = n(l, u, i); return [c(t, o, l, h), c(h, u, s, r)] }, curveTo: function (t) { t.push(["bezierCurve", e.x, e.y, A.x, A.y, r.x, r.y]) }, curveToReversed: function (r) { r.push(["bezierCurve", A.x, A.y, e.x, e.y, t.x, t.y]) } } } function l(t, e, A, r, n, i, o) { var a = []; return 0 < e[0] || 0 < e[1] ? (a.push(["line", r[1].start.x, r[1].start.y]), r[1].curveTo(a)) : a.push(["line", t.c1[0], t.c1[1]]), 0 < A[0] || 0 < A[1] ? (a.push(["line", i[0].start.x, i[0].start.y]), i[0].curveTo(a), a.push(["line", o[0].end.x, o[0].end.y]), o[0].curveToReversed(a)) : (a.push(["line", t.c2[0], t.c2[1]]), a.push(["line", t.c3[0], t.c3[1]])), 0 < e[0] || 0 < e[1] ? (a.push(["line", n[1].end.x, n[1].end.y]), n[1].curveToReversed(a)) : a.push(["line", t.c4[0], t.c4[1]]), a } function u(t, e, A, r, n, i, o) { 0 < e[0] || 0 < e[1] ? (t.push(["line", r[0].start.x, r[0].start.y]), r[0].curveTo(t), r[1].curveTo(t)) : t.push(["line", i, o]), (0 < A[0] || 0 < A[1]) && t.push(["line", n[0].start.x, n[0].start.y]) } function h(t) { return t.cssInt("zIndex") < 0 } function d(t) { return 0 < t.cssInt("zIndex") } function f(t) { return 0 === t.cssInt("zIndex") } function p(t) { return -1 !== ["inline", "inline-block", "inline-table"].indexOf(t.css("display")) } function g(t) { return t instanceof O } function B(t) { return 0 < t.node.data.trim().length } function w(t) { return t.nodeType === Node.TEXT_NODE || t.nodeType === Node.ELEMENT_NODE } function m(t) { return "static" !== t.css("position") } function y(t) { return "none" !== t.css("float") } function v(t) { var e = this; return function () { return !t.apply(e, arguments) } } function Q(t) { return t.node.nodeType === Node.ELEMENT_NODE } function C(t) { return !0 === t.isPseudoElement } function U(t) { return t.node.nodeType === Node.TEXT_NODE } function b(t) { return parseInt(t, 10) } function F(t) { return t.width } function E(t) { return t.node.nodeType !== Node.ELEMENT_NODE || -1 === ["SCRIPT", "HEAD", "TITLE", "OBJECT", "BR", "OPTION"].indexOf(t.node.nodeName) } function x(t) { return [].concat.apply([], t) } var H = t("./log"), I = t("punycode"), S = t("./nodecontainer"), _ = t("./textcontainer"), T = t("./pseudoelementcontainer"), N = t("./fontmetrics"), k = t("./color"), O = t("./stackingcontext"), P = t("./utils"), D = P.bind, L = P.getBounds, R = P.parseBackgrounds, M = P.offsetBounds; r.prototype.calculateOverflowClips = function () { this.nodes.forEach(function (t) { if (Q(t)) { C(t) && t.appendToDOM(), t.borders = this.parseBorders(t); var e = "hidden" === t.css("overflow") ? [t.borders.clip] : [], A = t.parseClip(); A && -1 !== ["absolute", "fixed"].indexOf(t.css("position")) && e.push([["rect", t.bounds.left + A.left, t.bounds.top + A.top, A.right - A.left, A.bottom - A.top]]), t.clip = n(t) ? t.parent.clip.concat(e) : e, t.backgroundClip = "hidden" !== t.css("overflow") ? t.clip.concat([t.borders.clip]) : t.clip, C(t) && t.cleanDOM() } else U(t) && (t.clip = n(t) ? t.parent.clip : []); C(t) || (t.bounds = null) }, this) }, r.prototype.asyncRenderer = function (t, e, A) { A = A || Date.now(), this.paint(t[this.renderIndex++]), t.length === this.renderIndex ? e() : A + 20 > Date.now() ? this.asyncRenderer(t, e, A) : setTimeout(D(function () { this.asyncRenderer(t, e) }, this), 0) }, r.prototype.createPseudoHideStyles = function (t) { this.createStyles(t, "." + T.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + ':before { content: "" !important; display: none !important; }.' + T.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER + ':after { content: "" !important; display: none !important; }') }, r.prototype.disableAnimations = function (t) { this.createStyles(t, "* { -webkit-animation: none !important; -moz-animation: none !important; -o-animation: none !important; animation: none !important; -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; transition: none !important;}") }, r.prototype.createStyles = function (t, e) { var A = t.createElement("style"); A.innerHTML = e, t.body.appendChild(A) }, r.prototype.getPseudoElements = function (t) { var e = [[t]]; if (t.node.nodeType === Node.ELEMENT_NODE) { var A = this.getPseudoElement(t, ":before"), r = this.getPseudoElement(t, ":after"); A && e.push(A), r && e.push(r) } return x(e) }, r.prototype.getPseudoElement = function (t, e) { var A = t.computedStyle(e); if (!A || !A.content || "none" === A.content || "-moz-alt-content" === A.content || "none" === A.display) return null; for (var r, n, i = (r = A.content, (n = r.substr(0, 1)) === r.substr(r.length - 1) && n.match(/'|"/) ? r.substr(1, r.length - 2) : r), o = "url" === i.substr(0, 3), a = document.createElement(o ? "img" : "html2canvaspseudoelement"), s = new T(a, t, e), c = A.length - 1; 0 <= c; c--) { var l = A.item(c).replace(/(\-[a-z])/g, function (t) { return t.toUpperCase().replace("-", "") }); a.style[l] = A[l] } if (a.className = T.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + " " + T.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER, o) return a.src = R(i)[0].args[0], [s]; var u = document.createTextNode(i); return a.appendChild(u), [s, new _(u, s)] }, r.prototype.getChildren = function (t) { return x([].filter.call(t.node.childNodes, w).map(function (e) { var A = [e.nodeType === Node.TEXT_NODE ? new _(e, t) : new S(e, t)].filter(E); return e.nodeType === Node.ELEMENT_NODE && A.length && "TEXTAREA" !== e.tagName ? A[0].isElementVisible() ? A.concat(this.getChildren(A[0])) : [] : A }, this)) }, r.prototype.newStackingContext = function (t, e) { var A = new O(e, t.getOpacity(), t.node, t.parent); t.cloneTo(A), (e ? A.getParentStack(this) : A.parent.stack).contexts.push(A), t.stack = A }, r.prototype.createStackingContexts = function () { this.nodes.forEach(function (t) { var e, A; Q(t) && (this.isRootElement(t) || t.getOpacity() < 1 || (A = (e = t).css("position"), "auto" !== (-1 !== ["absolute", "relative", "fixed"].indexOf(A) ? e.css("zIndex") : "auto")) || this.isBodyWithTransparentRoot(t) || t.hasTransform()) ? this.newStackingContext(t, !0) : Q(t) && (m(t) && f(t) || -1 !== ["inline-block", "inline-table"].indexOf(t.css("display")) || y(t)) ? this.newStackingContext(t, !1) : t.assignStack(t.parent.stack) }, this) }, r.prototype.isBodyWithTransparentRoot = function (t) { return "BODY" === t.node.nodeName && t.parent.color("backgroundColor").isTransparent() }, r.prototype.isRootElement = function (t) { return null === t.parent }, r.prototype.sortStackingContexts = function (t) { var e; t.contexts.sort((e = t.contexts.slice(0), function (t, A) { return t.cssInt("zIndex") + e.indexOf(t) / e.length - (A.cssInt("zIndex") + e.indexOf(A) / e.length) })), t.contexts.forEach(this.sortStackingContexts, this) }, r.prototype.parseTextBounds = function (t) { return function (e, A, r) { if ("none" !== t.parent.css("textDecoration").substr(0, 4) || 0 !== e.trim().length) { if (this.support.rangeBounds && !t.parent.hasTransform()) { var n = r.slice(0, A).join("").length; return this.getRangeBounds(t.node, n, e.length) } if (t.node && "string" == typeof t.node.data) { var i = t.node.splitText(e.length), o = this.getWrapperBounds(t.node, t.parent.hasTransform()); return t.node = i, o } } else this.support.rangeBounds && !t.parent.hasTransform() || (t.node = t.node.splitText(e.length)); return {} } }, r.prototype.getWrapperBounds = function (t, e) { var A = t.ownerDocument.createElement("html2canvaswrapper"), r = t.parentNode, n = t.cloneNode(!0); A.appendChild(t.cloneNode(!0)), r.replaceChild(A, t); var i = e ? M(A) : L(A); return r.replaceChild(n, A), i }, r.prototype.getRangeBounds = function (t, e, A) { var r = this.range || (this.range = t.ownerDocument.createRange()); return r.setStart(t, e), r.setEnd(t, e + A), r.getBoundingClientRect() }, r.prototype.parse = function (t) { var e = t.contexts.filter(h), A = t.children.filter(Q), r = A.filter(v(y)), n = r.filter(v(m)).filter(v(p)), o = A.filter(v(m)).filter(y), a = r.filter(v(m)).filter(p), s = t.contexts.concat(r.filter(m)).filter(f), c = t.children.filter(U).filter(B), l = t.contexts.filter(d); e.concat(n).concat(o).concat(a).concat(s).concat(c).concat(l).forEach(function (t) { this.renderQueue.push(t), g(t) && (this.parse(t), this.renderQueue.push(new i)) }, this) }, r.prototype.paint = function (t) { try { t instanceof i ? this.renderer.ctx.restore() : U(t) ? (C(t.parent) && t.parent.appendToDOM(), this.paintText(t), C(t.parent) && t.parent.cleanDOM()) : this.paintNode(t) } catch (t) { if (H(t), this.options.strict) throw t } }, r.prototype.paintNode = function (t) { g(t) && (this.renderer.setOpacity(t.opacity), this.renderer.ctx.save(), t.hasTransform() && this.renderer.setTransform(t.parseTransform())), "INPUT" === t.node.nodeName && "checkbox" === t.node.type ? this.paintCheckbox(t) : "INPUT" === t.node.nodeName && "radio" === t.node.type ? this.paintRadio(t) : this.paintElement(t) }, r.prototype.paintElement = function (t) { var e = t.parseBounds(); this.renderer.clip(t.backgroundClip, function () { this.renderer.renderBackground(t, e, t.borders.borders.map(F)) }, this), this.renderer.clip(t.clip, function () { this.renderer.renderBorders(t.borders.borders) }, this), this.renderer.clip(t.backgroundClip, function () { switch (t.node.nodeName) { case "svg": case "IFRAME": var A = this.images.get(t.node); A ? this.renderer.renderImage(t, e, t.borders, A) : H("Error loading <" + t.node.nodeName + ">", t.node); break; case "IMG": var r = this.images.get(t.node.src); r ? this.renderer.renderImage(t, e, t.borders, r) : H("Error loading <img>", t.node.src); break; case "CANVAS": this.renderer.renderImage(t, e, t.borders, { image: t.node }); break; case "SELECT": case "INPUT": case "TEXTAREA": this.paintFormValue(t) } }, this) }, r.prototype.paintCheckbox = function (t) { var e = t.parseBounds(), A = Math.min(e.width, e.height), r = { width: A - 1, height: A - 1, top: e.top, left: e.left }, n = [3, 3], i = [n, n, n, n], a = [1, 1, 1, 1].map(function (t) { return { color: new k("#A5A5A5"), width: t } }), c = s(r, i, a); this.renderer.clip(t.backgroundClip, function () { this.renderer.rectangle(r.left + 1, r.top + 1, r.width - 2, r.height - 2, new k("#DEDEDE")), this.renderer.renderBorders(o(a, r, c, i)), t.node.checked && (this.renderer.font(new k("#424242"), "normal", "normal", "bold", A - 3 + "px", "arial"), this.renderer.text("✔", r.left + A / 6, r.top + A - 1)) }, this) }, r.prototype.paintRadio = function (t) { var e = t.parseBounds(), A = Math.min(e.width, e.height) - 2; this.renderer.clip(t.backgroundClip, function () { this.renderer.circleStroke(e.left + 1, e.top + 1, A, new k("#DEDEDE"), 1, new k("#A5A5A5")), t.node.checked && this.renderer.circle(Math.ceil(e.left + A / 4) + 1, Math.ceil(e.top + A / 4) + 1, Math.floor(A / 2), new k("#424242")) }, this) }, r.prototype.paintFormValue = function (t) { var e = t.getValue(); if (0 < e.length) { var A = t.node.ownerDocument, r = A.createElement("html2canvaswrapper");["lineHeight", "textAlign", "fontFamily", "fontWeight", "fontSize", "color", "paddingLeft", "paddingTop", "paddingRight", "paddingBottom", "width", "height", "borderLeftStyle", "borderTopStyle", "borderLeftWidth", "borderTopWidth", "boxSizing", "whiteSpace", "wordWrap"].forEach(function (e) { try { r.style[e] = t.css(e) } catch (e) { H("html2canvas: Parse: Exception caught in renderFormValue: " + e.message) } }); var n = t.parseBounds(); r.style.position = "fixed", r.style.left = n.left + "px", r.style.top = n.top + "px", r.textContent = e, A.body.appendChild(r), this.paintText(new _(r.firstChild, t)), A.body.removeChild(r) } }, r.prototype.paintText = function (t) { t.applyTextTransform(); var e, A = I.ucs2.decode(t.node.data), r = this.options.letterRendering && !/^(normal|none|0px)$/.test(t.parent.css("letterSpacing")) || (e = t.node.data, /[^\u0000-\u00ff]/.test(e)) ? A.map(function (t) { return I.ucs2.encode([t]) }) : function (t) { for (var e, A = [], r = 0, n = !1; t.length;)i = t[r], -1 !== [32, 13, 10, 9, 45].indexOf(i) === n ? ((e = t.splice(0, r)).length && A.push(I.ucs2.encode(e)), n = !n, r = 0) : r++ , r >= t.length && (e = t.splice(0, r)).length && A.push(I.ucs2.encode(e)); var i; return A }(A), n = t.parent.fontWeight(), i = t.parent.css("fontSize"), o = t.parent.css("fontFamily"), a = t.parent.parseTextShadows(); this.renderer.font(t.parent.color("color"), t.parent.css("fontStyle"), t.parent.css("fontVariant"), n, i, o), a.length ? this.renderer.fontShadow(a[0].color, a[0].offsetX, a[0].offsetY, a[0].blur) : this.renderer.clearShadow(), this.renderer.clip(t.parent.clip, function () { r.map(this.parseTextBounds(t), this).forEach(function (e, A) { e && !1 === /^\s*$/.test(r[A]) && (this.renderer.text(r[A], e.left, e.bottom), this.renderTextDecoration(t.parent, e, this.fontMetrics.getMetrics(o, i))) }, this) }, this) }, r.prototype.renderTextDecoration = function (t, e, A) { switch (t.css("textDecoration").split(" ")[0]) { case "underline": this.renderer.rectangle(e.left, Math.round(e.top + A.baseline + A.lineWidth), e.width, 1, t.color("color")); break; case "overline": this.renderer.rectangle(e.left, Math.round(e.top), e.width, 1, t.color("color")); break; case "line-through": this.renderer.rectangle(e.left, Math.ceil(e.top + A.middle + A.lineWidth), e.width, 1, t.color("color")) } }; var K = { inset: [["darken", .6], ["darken", .1], ["darken", .1], ["darken", .6]] }; r.prototype.parseBorders = function (t) { var e, A = t.parseBounds(), r = (e = t, ["TopLeft", "TopRight", "BottomRight", "BottomLeft"].map(function (t) { var A = e.css("border" + t + "Radius").split(" "); return A.length <= 1 && (A[1] = A[0]), A.map(b) })), n = ["Top", "Right", "Bottom", "Left"].map(function (e, A) { var r = t.css("border" + e + "Style"), n = t.color("border" + e + "Color"); "inset" === r && n.isBlack() && (n = new k([255, 255, 255, n.a])); var i = K[r] ? K[r][A] : null; return { width: t.cssInt("border" + e + "Width"), color: i ? n[i[0]](i[1]) : n, args: null } }), i = s(A, r, n); return { clip: this.parseBackgroundClip(t, i, n, r, A), borders: o(n, A, i, r) } }, r.prototype.parseBackgroundClip = function (t, e, A, r, n) { var i = []; switch (t.css("backgroundClip")) { case "content-box": case "padding-box": u(i, r[0], r[1], e.topLeftInner, e.topRightInner, n.left + A[3].width, n.top + A[0].width), u(i, r[1], r[2], e.topRightInner, e.bottomRightInner, n.left + n.width - A[1].width, n.top + A[0].width), u(i, r[2], r[3], e.bottomRightInner, e.bottomLeftInner, n.left + n.width - A[1].width, n.top + n.height - A[2].width), u(i, r[3], r[0], e.bottomLeftInner, e.topLeftInner, n.left + A[3].width, n.top + n.height - A[2].width); break; default: u(i, r[0], r[1], e.topLeftOuter, e.topRightOuter, n.left, n.top), u(i, r[1], r[2], e.topRightOuter, e.bottomRightOuter, n.left + n.width, n.top), u(i, r[2], r[3], e.bottomRightOuter, e.bottomLeftOuter, n.left + n.width, n.top + n.height), u(i, r[3], r[0], e.bottomLeftOuter, e.topLeftOuter, n.left, n.top + n.height) }return i }, e.exports = r }, { "./color": 3, "./fontmetrics": 7, "./log": 13, "./nodecontainer": 14, "./pseudoelementcontainer": 18, "./stackingcontext": 21, "./textcontainer": 25, "./utils": 26, punycode: 1 }], 16: [function (t, e, A) { function r(t, e, A) { var r = "withCredentials" in new XMLHttpRequest; if (!e) return Promise.reject("No proxy configured"); var s = i(r), c = o(e, t, s); return r ? a(c) : n(A, c, s).then(function (t) { return u(t.content) }) } function n(t, e, A) { return new Promise(function (r, n) { var i = t.createElement("script"), o = function () { delete window.html2canvas.proxy[A], t.body.removeChild(i) }; window.html2canvas.proxy[A] = function (t) { o(), r(t) }, i.src = e, i.onerror = function (t) { o(), n(t) }, t.body.appendChild(i) }) } function i(t) { return t ? "" : "html2canvas_" + Date.now() + "_" + ++h + "_" + Math.round(1e5 * Math.random()) } function o(t, e, A) { return t + "?url=" + encodeURIComponent(e) + (A.length ? "&callback=html2canvas.proxy." + A : "") } var a = t("./xhr"), s = t("./utils"), c = t("./log"), l = t("./clone"), u = s.decode64, h = 0; A.Proxy = r, A.ProxyURL = function (t, e, A) { var r = "crossOrigin" in new Image, a = i(r), s = o(e, t, a); return r ? Promise.resolve(s) : n(A, s, a).then(function (t) { return "data:" + t.type + ";base64," + t.content }) }, A.loadUrlDocument = function (t, e, A, n, i, o) { return new r(t, e, window.document).then((a = t, function (t) { var e, A = new DOMParser; try { e = A.parseFromString(t, "text/html") } catch (A) { c("DOMParser not supported, falling back to createHTMLDocument"), e = document.implementation.createHTMLDocument(""); try { e.open(), e.write(t), e.close() } catch (A) { c("createHTMLDocument write not supported, falling back to document.body.innerHTML"), e.body.innerHTML = t } } var r = e.querySelector("base"); if (!r || !r.href.host) { var n = e.createElement("base"); n.href = a, e.head.insertBefore(n, e.head.firstChild) } return e })).then(function (t) { return l(t, A, n, i, o, 0, 0) }); var a } }, { "./clone": 2, "./log": 13, "./utils": 26, "./xhr": 28 }], 17: [function (t, e, A) { var r = t("./proxy").ProxyURL; e.exports = function (t, e) { var A = document.createElement("a"); A.href = t, t = A.href, this.src = t, this.image = new Image; var n = this; this.promise = new Promise(function (A, i) { n.image.crossOrigin = "Anonymous", n.image.onload = A, n.image.onerror = i, new r(t, e, document).then(function (t) { n.image.src = t }).catch(i) }) } }, { "./proxy": 16 }], 18: [function (t, e, A) { function r(t, e, A) { n.call(this, t, e), this.isPseudoElement = !0, this.before = ":before" === A } var n = t("./nodecontainer"); r.prototype.cloneTo = function (t) { r.prototype.cloneTo.call(this, t), t.isPseudoElement = !0, t.before = this.before }, (r.prototype = Object.create(n.prototype)).appendToDOM = function () { this.before ? this.parent.node.insertBefore(this.node, this.parent.node.firstChild) : this.parent.node.appendChild(this.node), this.parent.node.className += " " + this.getHideClass() }, r.prototype.cleanDOM = function () { this.node.parentNode.removeChild(this.node), this.parent.node.className = this.parent.node.className.replace(this.getHideClass(), "") }, r.prototype.getHideClass = function () { return this["PSEUDO_HIDE_ELEMENT_CLASS_" + (this.before ? "BEFORE" : "AFTER")] }, r.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE = "___html2canvas___pseudoelement_before", r.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER = "___html2canvas___pseudoelement_after", e.exports = r }, { "./nodecontainer": 14 }], 19: [function (t, e, A) { function r(t, e, A, r, n) { this.width = t, this.height = e, this.images = A, this.options = r, this.document = n } var n = t("./log"); r.prototype.renderImage = function (t, e, A, r) { var n = t.cssInt("paddingLeft"), i = t.cssInt("paddingTop"), o = t.cssInt("paddingRight"), a = t.cssInt("paddingBottom"), s = A.borders, c = e.width - (s[1].width + s[3].width + n + o), l = e.height - (s[0].width + s[2].width + i + a); this.drawImage(r, 0, 0, r.image.width || c, r.image.height || l, e.left + n + s[3].width, e.top + i + s[0].width, c, l) }, r.prototype.renderBackground = function (t, e, A) { 0 < e.height && 0 < e.width && (this.renderBackgroundColor(t, e), this.renderBackgroundImage(t, e, A)) }, r.prototype.renderBackgroundColor = function (t, e) { var A = t.color("backgroundColor"); A.isTransparent() || this.rectangle(e.left, e.top, e.width, e.height, A) }, r.prototype.renderBorders = function (t) { t.forEach(this.renderBorder, this) }, r.prototype.renderBorder = function (t) { t.color.isTransparent() || null === t.args || this.drawShape(t.args, t.color) }, r.prototype.renderBackgroundImage = function (t, e, A) { t.parseBackgroundImages().reverse().forEach(function (r, i, o) { switch (r.method) { case "url": var a = this.images.get(r.args[0]); a ? this.renderBackgroundRepeating(t, e, a, o.length - (i + 1), A) : n("Error loading background-image", r.args[0]); break; case "linear-gradient": case "gradient": var s = this.images.get(r.value); s ? this.renderBackgroundGradient(s, e, A) : n("Error loading background-image", r.args[0]); break; case "none": break; default: n("Unknown background-image type", r.args[0]) } }, this) }, r.prototype.renderBackgroundRepeating = function (t, e, A, r, n) { var i = t.parseBackgroundSize(e, A.image, r), o = t.parseBackgroundPosition(e, A.image, r, i); switch (t.parseBackgroundRepeat(r)) { case "repeat-x": case "repeat no-repeat": this.backgroundRepeatShape(A, o, i, e, e.left + n[3], e.top + o.top + n[0], 99999, i.height, n); break; case "repeat-y": case "no-repeat repeat": this.backgroundRepeatShape(A, o, i, e, e.left + o.left + n[3], e.top + n[0], i.width, 99999, n); break; case "no-repeat": this.backgroundRepeatShape(A, o, i, e, e.left + o.left + n[3], e.top + o.top + n[0], i.width, i.height, n); break; default: this.renderBackgroundRepeat(A, o, i, { top: e.top, left: e.left }, n[3], n[0]) } }, e.exports = r }, { "./log": 13 }], 20: [function (t, e, A) { function r(t, e) { i.apply(this, arguments), this.canvas = this.options.canvas || this.document.createElement("canvas"), this.options.canvas || (this.canvas.width = t, this.canvas.height = e), this.ctx = this.canvas.getContext("2d"), this.taintCtx = this.document.createElement("canvas").getContext("2d"), this.ctx.textBaseline = "bottom", this.variables = {}, a("Initialized CanvasRenderer with size", t, "x", e) } function n(t) { return 0 < t.length } var i = t("../renderer"), o = t("../lineargradientcontainer"), a = t("../log"); (r.prototype = Object.create(i.prototype)).setFillStyle = function (t) { return this.ctx.fillStyle = "object" == typeof t && t.isColor ? t.toString() : t, this.ctx }, r.prototype.rectangle = function (t, e, A, r, n) { this.setFillStyle(n).fillRect(t, e, A, r) }, r.prototype.circle = function (t, e, A, r) { this.setFillStyle(r), this.ctx.beginPath(), this.ctx.arc(t + A / 2, e + A / 2, A / 2, 0, 2 * Math.PI, !0), this.ctx.closePath(), this.ctx.fill() }, r.prototype.circleStroke = function (t, e, A, r, n, i) { this.circle(t, e, A, r), this.ctx.strokeStyle = i.toString(), this.ctx.stroke() }, r.prototype.drawShape = function (t, e) { this.shape(t), this.setFillStyle(e).fill() }, r.prototype.taints = function (t) { if (null === t.tainted) { this.taintCtx.drawImage(t.image, 0, 0); try { this.taintCtx.getImageData(0, 0, 1, 1), t.tainted = !1 } catch (e) { this.taintCtx = document.createElement("canvas").getContext("2d"), t.tainted = !0 } } return t.tainted }, r.prototype.drawImage = function (t, e, A, r, n, i, o, a, s) { this.taints(t) && !this.options.allowTaint || this.ctx.drawImage(t.image, e, A, r, n, i, o, a, s) }, r.prototype.clip = function (t, e, A) { this.ctx.save(), t.filter(n).forEach(function (t) { this.shape(t).clip() }, this), e.call(A), this.ctx.restore() }, r.prototype.shape = function (t) { return this.ctx.beginPath(), t.forEach(function (t, e) { "rect" === t[0] ? this.ctx.rect.apply(this.ctx, t.slice(1)) : this.ctx[0 === e ? "moveTo" : t[0] + "To"].apply(this.ctx, t.slice(1)) }, this), this.ctx.closePath(), this.ctx }, r.prototype.font = function (t, e, A, r, n, i) { this.setFillStyle(t).font = [e, A, r, n, i].join(" ").split(",")[0] }, r.prototype.fontShadow = function (t, e, A, r) { this.setVariable("shadowColor", t.toString()).setVariable("shadowOffsetY", e).setVariable("shadowOffsetX", A).setVariable("shadowBlur", r) }, r.prototype.clearShadow = function () { this.setVariable("shadowColor", "rgba(0,0,0,0)") }, r.prototype.setOpacity = function (t) { this.ctx.globalAlpha = t }, r.prototype.setTransform = function (t) { this.ctx.translate(t.origin[0], t.origin[1]), this.ctx.transform.apply(this.ctx, t.matrix), this.ctx.translate(-t.origin[0], -t.origin[1]) }, r.prototype.setVariable = function (t, e) { return this.variables[t] !== e && (this.variables[t] = this.ctx[t] = e), this }, r.prototype.text = function (t, e, A) { this.ctx.fillText(t, e, A) }, r.prototype.backgroundRepeatShape = function (t, e, A, r, n, i, o, a, s) { var c = [["line", Math.round(n), Math.round(i)], ["line", Math.round(n + o), Math.round(i)], ["line", Math.round(n + o), Math.round(a + i)], ["line", Math.round(n), Math.round(a + i)]]; this.clip([c], function () { this.renderBackgroundRepeat(t, e, A, r, s[3], s[0]) }, this) }, r.prototype.renderBackgroundRepeat = function (t, e, A, r, n, i) { var o = Math.round(r.left + e.left + n), a = Math.round(r.top + e.top + i); this.setFillStyle(this.ctx.createPattern(this.resizeImage(t, A), "repeat")), this.ctx.translate(o, a), this.ctx.fill(), this.ctx.translate(-o, -a) }, r.prototype.renderBackgroundGradient = function (t, e) { if (t instanceof o) { var A = this.ctx.createLinearGradient(e.left + e.width * t.x0, e.top + e.height * t.y0, e.left + e.width * t.x1, e.top + e.height * t.y1); t.colorStops.forEach(function (t) { A.addColorStop(t.stop, t.color.toString()) }), this.rectangle(e.left, e.top, e.width, e.height, A) } }, r.prototype.resizeImage = function (t, e) { var A = t.image; if (A.width === e.width && A.height === e.height) return A; var r = document.createElement("canvas"); return r.width = e.width, r.height = e.height, r.getContext("2d").drawImage(A, 0, 0, A.width, A.height, 0, 0, e.width, e.height), r }, e.exports = r }, { "../lineargradientcontainer": 12, "../log": 13, "../renderer": 19 }], 21: [function (t, e, A) { function r(t, e, A, r) { n.call(this, A, r), this.ownStacking = t, this.contexts = [], this.children = [], this.opacity = (this.parent ? this.parent.stack.opacity : 1) * e } var n = t("./nodecontainer"); (r.prototype = Object.create(n.prototype)).getParentStack = function (t) { var e = this.parent ? this.parent.stack : null; return e ? e.ownStacking ? e : e.getParentStack(t) : t.stack }, e.exports = r }, { "./nodecontainer": 14 }], 22: [function (t, e, A) { function r(t) { this.rangeBounds = this.testRangeBounds(t), this.cors = this.testCORS(), this.svg = this.testSVG() } r.prototype.testRangeBounds = function (t) { var e, A, r = !1; return t.createRange && (e = t.createRange()).getBoundingClientRect && ((A = t.createElement("boundtest")).style.height = "123px", A.style.display = "block", t.body.appendChild(A), e.selectNode(A), 123 === e.getBoundingClientRect().height && (r = !0), t.body.removeChild(A)), r }, r.prototype.testCORS = function () { return void 0 !== (new Image).crossOrigin }, r.prototype.testSVG = function () { var t = new Image, e = document.createElement("canvas"), A = e.getContext("2d"); t.src = "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>"; try { A.drawImage(t, 0, 0), e.toDataURL() } catch (t) { return !1 } return !0 }, e.exports = r }, {}], 23: [function (t, e, A) { function r(t) { this.src = t, this.image = null; var e = this; this.promise = this.hasFabric().then(function () { return e.isInline(t) ? Promise.resolve(e.inlineFormatting(t)) : n(t) }).then(function (t) { return new Promise(function (A) { window.html2canvas.svg.fabric.loadSVGFromString(t, e.createCanvas.call(e, A)) }) }) } var n = t("./xhr"), i = t("./utils").decode64; r.prototype.hasFabric = function () { return window.html2canvas.svg && window.html2canvas.svg.fabric ? Promise.resolve() : Promise.reject(new Error("html2canvas.svg.js is not loaded, cannot render svg")) }, r.prototype.inlineFormatting = function (t) { return /^data:image\/svg\+xml;base64,/.test(t) ? this.decode64(this.removeContentType(t)) : this.removeContentType(t) }, r.prototype.removeContentType = function (t) { return t.replace(/^data:image\/svg\+xml(;base64)?,/, "") }, r.prototype.isInline = function (t) { return /^data:image\/svg\+xml/i.test(t) }, r.prototype.createCanvas = function (t) { var e = this; return function (A, r) { var n = new window.html2canvas.svg.fabric.StaticCanvas("c"); e.image = n.lowerCanvasEl, n.setWidth(r.width).setHeight(r.height).add(window.html2canvas.svg.fabric.util.groupSVGElements(A, r)).renderAll(), t(n.lowerCanvasEl) } }, r.prototype.decode64 = function (t) { return "function" == typeof window.atob ? window.atob(t) : i(t) }, e.exports = r }, { "./utils": 26, "./xhr": 28 }], 24: [function (t, e, A) { function r(t, e) { this.src = t, this.image = null; var A = this; this.promise = e ? new Promise(function (e, r) { A.image = new Image, A.image.onload = e, A.image.onerror = r, A.image.src = "data:image/svg+xml," + (new XMLSerializer).serializeToString(t), !0 === A.image.complete && e(A.image) }) : this.hasFabric().then(function () { return new Promise(function (e) { window.html2canvas.svg.fabric.parseSVGDocument(t, A.createCanvas.call(A, e)) }) }) } var n = t("./svgcontainer"); r.prototype = Object.create(n.prototype), e.exports = r }, { "./svgcontainer": 23 }], 25: [function (t, e, A) { function r(t, e) { i.call(this, t, e) } function n(t, e, A) { if (0 < t.length) return e + A.toUpperCase() } var i = t("./nodecontainer"); (r.prototype = Object.create(i.prototype)).applyTextTransform = function () { this.node.data = this.transform(this.parent.css("textTransform")) }, r.prototype.transform = function (t) { var e = this.node.data; switch (t) { case "lowercase": return e.toLowerCase(); case "capitalize": return e.replace(/(^|\s|:|-|\(|\))([a-z])/g, n); case "uppercase": return e.toUpperCase(); default: return e } }, e.exports = r }, { "./nodecontainer": 14 }], 26: [function (t, e, A) { A.smallImage = function () { return "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" }, A.bind = function (t, e) { return function () { return t.apply(e, arguments) } }, A.decode64 = function (t) { var e, A, r, n, i, o, a, s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = t.length, l = ""; for (e = 0; e < c; e += 4)i = s.indexOf(t[e]) << 2 | (A = s.indexOf(t[e + 1])) >> 4, o = (15 & A) << 4 | (r = s.indexOf(t[e + 2])) >> 2, a = (3 & r) << 6 | (n = s.indexOf(t[e + 3])), l += 64 === r ? String.fromCharCode(i) : 64 === n || -1 === n ? String.fromCharCode(i, o) : String.fromCharCode(i, o, a); return l }, A.getBounds = function (t) { if (t.getBoundingClientRect) { var e = t.getBoundingClientRect(), A = null == t.offsetWidth ? e.width : t.offsetWidth; return { top: e.top, bottom: e.bottom || e.top + e.height, right: e.left + A, left: e.left, width: A, height: null == t.offsetHeight ? e.height : t.offsetHeight } } return {} }, A.offsetBounds = function (t) { var e = t.offsetParent ? A.offsetBounds(t.offsetParent) : { top: 0, left: 0 }; return { top: t.offsetTop + e.top, bottom: t.offsetTop + t.offsetHeight + e.top, right: t.offsetLeft + e.left + t.offsetWidth, left: t.offsetLeft + e.left, width: t.offsetWidth, height: t.offsetHeight } }, A.parseBackgrounds = function (t) { var e, A, r, n, i, o, a, s = [], c = 0, l = 0, u = function () { e && ('"' === A.substr(0, 1) && (A = A.substr(1, A.length - 2)), A && a.push(A), "-" === e.substr(0, 1) && 0 < (n = e.indexOf("-", 1) + 1) && (r = e.substr(0, n), e = e.substr(n)), s.push({ prefix: r, method: e.toLowerCase(), value: i, args: a, image: null })), a = [], e = r = A = i = "" }; return a = [], e = r = A = i = "", t.split("").forEach(function (t) { if (!(0 === c && -1 < " \r\n\t".indexOf(t))) { switch (t) { case '"': o ? o === t && (o = null) : o = t; break; case "(": if (o) break; if (0 === c) return c = 1, void (i += t); l++; break; case ")": if (o) break; if (1 === c) { if (0 === l) return c = 0, i += t, void u(); l-- } break; case ",": if (o) break; if (0 === c) return void u(); if (1 === c && 0 === l && !e.match(/^url$/i)) return a.push(A), A = "", void (i += t) }i += t, 0 === c ? e += t : A += t } }), u(), s } }, {}], 27: [function (t, e, A) { function r(t) { n.apply(this, arguments), this.type = "linear" === t.args[0] ? n.TYPES.LINEAR : n.TYPES.RADIAL } var n = t("./gradientcontainer"); r.prototype = Object.create(n.prototype), e.exports = r }, { "./gradientcontainer": 9 }], 28: [function (t, e, A) { e.exports = function (t) { return new Promise(function (e, A) { var r = new XMLHttpRequest; r.open("GET", t), r.onload = function () { 200 === r.status ? e(r.responseText) : A(new Error(r.statusText)) }, r.onerror = function () { A(new Error("Network Error")) }, r.send() }) } }, {}] }, {}, [4])(4), function (t) { var e = "+".charCodeAt(0), A = "/".charCodeAt(0), r = "0".charCodeAt(0), n = "a".charCodeAt(0), i = "A".charCodeAt(0), o = "-".charCodeAt(0), a = "_".charCodeAt(0), s = function (t) { var s = t.charCodeAt(0); return s === e || s === o ? 62 : s === A || s === a ? 63 : s < r ? -1 : s < r + 10 ? s - r + 26 + 26 : s < i + 26 ? s - i : s < n + 26 ? s - n + 26 : void 0 }; t.API.TTFFont = function () { function t(t, e, A) { var r; if (this.rawData = t, r = this.contents = new l(t), this.contents.pos = 4, "ttcf" === r.readString(4)) { if (!e) throw new Error("Must specify a font name for TTC files."); throw new Error("Font " + e + " not found in TTC file.") } r.pos = 0, this.parse(), this.subset = new H(this), this.registerTTF() } return t.open = function (e, A, r, n) { return new t(function (t) { function e(t) { a[l++] = t } var A, r, n, i, o, a; if (0 < t.length % 4) throw new Error("Invalid string. Length must be a multiple of 4"); var c = t.length; o = "=" === t.charAt(c - 2) ? 2 : "=" === t.charAt(c - 1) ? 1 : 0, a = new Uint8Array(3 * t.length / 4 - o), n = 0 < o ? t.length - 4 : t.length; var l = 0; for (r = A = 0; A < n; A += 4, r += 3)e((16711680 & (i = s(t.charAt(A)) << 18 | s(t.charAt(A + 1)) << 12 | s(t.charAt(A + 2)) << 6 | s(t.charAt(A + 3)))) >> 16), e((65280 & i) >> 8), e(255 & i); return 2 === o ? e(255 & (i = s(t.charAt(A)) << 2 | s(t.charAt(A + 1)) >> 4)) : 1 === o && (e((i = s(t.charAt(A)) << 10 | s(t.charAt(A + 1)) << 4 | s(t.charAt(A + 2)) >> 2) >> 8 & 255), e(255 & i)), a }(r), A, n) }, t.prototype.parse = function () { return this.directory = new u(this.contents), this.head = new f(this), this.name = new v(this), this.cmap = new g(this), this.hhea = new B(this), this.maxp = new Q(this), this.hmtx = new C(this), this.post = new m(this), this.os2 = new w(this), this.loca = new x(this), this.glyf = new b(this), this.ascender = this.os2.exists && this.os2.ascender || this.hhea.ascender, this.decender = this.os2.exists && this.os2.decender || this.hhea.decender, this.lineGap = this.os2.exists && this.os2.lineGap || this.hhea.lineGap, this.bbox = [this.head.xMin, this.head.yMin, this.head.xMax, this.head.yMax] }, t.prototype.registerTTF = function () { var t, e, A, r, n; if (this.scaleFactor = 1e3 / this.head.unitsPerEm, this.bbox = function () { var e, A, r, n; for (n = [], e = 0, A = (r = this.bbox).length; e < A; e++)t = r[e], n.push(Math.round(t * this.scaleFactor)); return n }.call(this), this.stemV = 0, this.post.exists ? (A = 255 & (r = this.post.italic_angle), !0 & (e = r >> 16) && (e = -(1 + (65535 ^ e))), this.italicAngle = +(e + "." + A)) : this.italicAngle = 0, this.ascender = Math.round(this.ascender * this.scaleFactor), this.decender = Math.round(this.decender * this.scaleFactor), this.lineGap = Math.round(this.lineGap * this.scaleFactor), this.capHeight = this.os2.exists && this.os2.capHeight || this.ascender, this.xHeight = this.os2.exists && this.os2.xHeight || 0, this.familyClass = (this.os2.exists && this.os2.familyClass || 0) >> 8, this.isSerif = 1 === (n = this.familyClass) || 2 === n || 3 === n || 4 === n || 5 === n || 7 === n, this.isScript = 10 === this.familyClass, this.flags = 0, this.post.isFixedPitch && (this.flags |= 1), this.isSerif && (this.flags |= 2), this.isScript && (this.flags |= 8), 0 !== this.italicAngle && (this.flags |= 64), this.flags |= 32, !this.cmap.unicode) throw new Error("No unicode cmap for font") }, t.prototype.characterToGlyph = function (t) { var e; return (null != (e = this.cmap.unicode) ? e.codeMap[t] : void 0) || 0 }, t.prototype.widthOfGlyph = function (t) { var e; return e = 1e3 / this.head.unitsPerEm, this.hmtx.forGlyph(t).advance * e }, t.prototype.widthOfString = function (t, e, A) { var r, n, i, o, a; for (n = o = i = 0, a = (t = "" + t).length; 0 <= a ? o < a : a < o; n = 0 <= a ? ++o : --o)r = t.charCodeAt(n), i += this.widthOfGlyph(this.characterToGlyph(r)) + A * (1e3 / e) || 0; return i * (e / 1e3) }, t.prototype.lineHeight = function (t, e) { var A; return null == e && (e = !1), A = e ? this.lineGap : 0, (this.ascender + A - this.decender) / 1e3 * t }, t }(); var c, l = function () { function t(t) { this.data = null != t ? t : [], this.pos = 0, this.length = this.data.length } return t.prototype.readByte = function () { return this.data[this.pos++] }, t.prototype.writeByte = function (t) { return this.data[this.pos++] = t }, t.prototype.readUInt32 = function () { return 16777216 * this.readByte() + (this.readByte() << 16) + (this.readByte() << 8) + this.readByte() }, t.prototype.writeUInt32 = function (t) { return this.writeByte(t >>> 24 & 255), this.writeByte(t >> 16 & 255), this.writeByte(t >> 8 & 255), this.writeByte(255 & t) }, t.prototype.readInt32 = function () { var t; return 2147483648 <= (t = this.readUInt32()) ? t - 4294967296 : t }, t.prototype.writeInt32 = function (t) { return t < 0 && (t += 4294967296), this.writeUInt32(t) }, t.prototype.readUInt16 = function () { return this.readByte() << 8 | this.readByte() }, t.prototype.writeUInt16 = function (t) { return this.writeByte(t >> 8 & 255), this.writeByte(255 & t) }, t.prototype.readInt16 = function () { var t; return 32768 <= (t = this.readUInt16()) ? t - 65536 : t }, t.prototype.writeInt16 = function (t) { return t < 0 && (t += 65536), this.writeUInt16(t) }, t.prototype.readString = function (t) { var e, A, r; for (A = [], e = r = 0; 0 <= t ? r < t : t < r; e = 0 <= t ? ++r : --r)A[e] = String.fromCharCode(this.readByte()); return A.join("") }, t.prototype.writeString = function (t) { var e, A, r, n; for (n = [], e = A = 0, r = t.length; 0 <= r ? A < r : r < A; e = 0 <= r ? ++A : --A)n.push(this.writeByte(t.charCodeAt(e))); return n }, t.prototype.readShort = function () { return this.readInt16() }, t.prototype.writeShort = function (t) { return this.writeInt16(t) }, t.prototype.readLongLong = function () { var t, e, A, r, n, i, o, a; return t = this.readByte(), e = this.readByte(), A = this.readByte(), r = this.readByte(), n = this.readByte(), i = this.readByte(), o = this.readByte(), a = this.readByte(), 128 & t ? -1 * (72057594037927940 * (255 ^ t) + 281474976710656 * (255 ^ e) + 1099511627776 * (255 ^ A) + 4294967296 * (255 ^ r) + 16777216 * (255 ^ n) + 65536 * (255 ^ i) + 256 * (255 ^ o) + (255 ^ a) + 1) : 72057594037927940 * t + 281474976710656 * e + 1099511627776 * A + 4294967296 * r + 16777216 * n + 65536 * i + 256 * o + a }, t.prototype.readInt = function () { return this.readInt32() }, t.prototype.writeInt = function (t) { return this.writeInt32(t) }, t.prototype.read = function (t) { var e, A; for (e = [], A = 0; 0 <= t ? A < t : t < A; 0 <= t ? ++A : --A)e.push(this.readByte()); return e }, t.prototype.write = function (t) { var e, A, r, n; for (n = [], A = 0, r = t.length; A < r; A++)e = t[A], n.push(this.writeByte(e)); return n }, t }(), u = function () { function t(t) { var e, A, r; for (this.scalarType = t.readInt(), this.tableCount = t.readShort(), this.searchRange = t.readShort(), this.entrySelector = t.readShort(), this.rangeShift = t.readShort(), this.tables = {}, A = 0, r = this.tableCount; 0 <= r ? A < r : r < A; 0 <= r ? ++A : --A)e = { tag: t.readString(4), checksum: t.readInt(), offset: t.readInt(), length: t.readInt() }, this.tables[e.tag] = e } var e; return t.prototype.encode = function (t) { var A, r, n, i, o, a, s, c, u, h, d, f, p; for (p in d = Object.keys(t).length, a = Math.log(2), u = 16 * Math.floor(Math.log(d) / a), i = Math.floor(u / a), c = 16 * d - u, (r = new l).writeInt(this.scalarType), r.writeShort(d), r.writeShort(u), r.writeShort(i), r.writeShort(c), n = 16 * d, s = r.pos + n, o = null, f = [], t) for (h = t[p], r.writeString(p), r.writeInt(e(h)), r.writeInt(s), r.writeInt(h.length), f = f.concat(h), "head" === p && (o = s), s += h.length; s % 4;)f.push(0), s++; return r.write(f), A = 2981146554 - e(r.data), r.pos = o + 8, r.writeUInt32(A), r.data }, e = function (t) { var e, A, r, n; for (t = U.call(t); t.length % 4;)t.push(0); for (A = new l(t), r = e = 0, n = t.length; r < n; r += 4)e += A.readUInt32(); return 4294967295 & e }, t }(), h = {}.hasOwnProperty, d = function (t, e) { function A() { this.constructor = t } for (var r in e) h.call(e, r) && (t[r] = e[r]); return A.prototype = e.prototype, t.prototype = new A, t.__super__ = e.prototype, t }; c = function () { function t(t) { var e; this.file = t, e = this.file.directory.tables[this.tag], this.exists = !!e, e && (this.offset = e.offset, this.length = e.length, this.parse(this.file.contents)) } return t.prototype.parse = function () { }, t.prototype.encode = function () { }, t.prototype.raw = function () { return this.exists ? (this.file.contents.pos = this.offset, this.file.contents.read(this.length)) : null }, t }(); var f = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return d(e, c), e.prototype.tag = "head", e.prototype.parse = function (t) { return t.pos = this.offset, this.version = t.readInt(), this.revision = t.readInt(), this.checkSumAdjustment = t.readInt(), this.magicNumber = t.readInt(), this.flags = t.readShort(), this.unitsPerEm = t.readShort(), this.created = t.readLongLong(), this.modified = t.readLongLong(), this.xMin = t.readShort(), this.yMin = t.readShort(), this.xMax = t.readShort(), this.yMax = t.readShort(), this.macStyle = t.readShort(), this.lowestRecPPEM = t.readShort(), this.fontDirectionHint = t.readShort(), this.indexToLocFormat = t.readShort(), this.glyphDataFormat = t.readShort() }, e }(), p = function () { function t(t, e) { var A, r, n, i, o, a, s, c, l, u, h, d, f, p, g, B, w, m; switch (this.platformID = t.readUInt16(), this.encodingID = t.readShort(), this.offset = e + t.readInt(), l = t.pos, t.pos = this.offset, this.format = t.readUInt16(), this.length = t.readUInt16(), this.language = t.readUInt16(), this.isUnicode = 3 === this.platformID && 1 === this.encodingID && 4 === this.format || 0 === this.platformID && 4 === this.format, this.codeMap = {}, this.format) { case 0: for (a = g = 0; g < 256; a = ++g)this.codeMap[a] = t.readByte(); break; case 4: for (h = t.readUInt16(), u = h / 2, t.pos += 6, n = function () { var e, A; for (A = [], a = e = 0; 0 <= u ? e < u : u < e; a = 0 <= u ? ++e : --e)A.push(t.readUInt16()); return A }(), t.pos += 2, f = function () { var e, A; for (A = [], a = e = 0; 0 <= u ? e < u : u < e; a = 0 <= u ? ++e : --e)A.push(t.readUInt16()); return A }(), s = function () { var e, A; for (A = [], a = e = 0; 0 <= u ? e < u : u < e; a = 0 <= u ? ++e : --e)A.push(t.readUInt16()); return A }(), c = function () { var e, A; for (A = [], a = e = 0; 0 <= u ? e < u : u < e; a = 0 <= u ? ++e : --e)A.push(t.readUInt16()); return A }(), r = (this.length - t.pos + this.offset) / 2, o = function () { var e, A; for (A = [], a = e = 0; 0 <= r ? e < r : r < e; a = 0 <= r ? ++e : --e)A.push(t.readUInt16()); return A }(), a = B = 0, m = n.length; B < m; a = ++B)for (p = n[a], A = w = d = f[a]; d <= p ? w <= p : p <= w; A = d <= p ? ++w : --w)0 === c[a] ? i = A + s[a] : 0 !== (i = o[c[a] / 2 + (A - d) - (u - a)] || 0) && (i += s[a]), this.codeMap[A] = 65535 & i }t.pos = l } return t.encode = function (t, e) { var A, r, n, i, o, a, s, c, u, h, d, f, p, g, B, w, m, y, v, Q, C, U, b, F, E, x, H, I, S, _, T, N, k, O, P, D, L, R, M, K, z, q, j, X, V, G; switch (I = new l, i = Object.keys(t).sort(function (t, e) { return t - e }), e) { case "macroman": for (p = 0, g = function () { var t, e; for (e = [], f = t = 0; t < 256; f = ++t)e.push(0); return e }(), w = { 0: 0 }, n = {}, S = 0, k = i.length; S < k; S++)null == w[j = t[r = i[S]]] && (w[j] = ++p), n[r] = { old: t[r], new: w[t[r]] }, g[r] = w[t[r]]; return I.writeUInt16(1), I.writeUInt16(0), I.writeUInt32(12), I.writeUInt16(0), I.writeUInt16(262), I.writeUInt16(0), I.write(g), { charMap: n, subtable: I.data, maxGlyphID: p + 1 }; case "unicode": for (x = [], u = [], w = {}, A = {}, B = s = null, _ = m = 0, O = i.length; _ < O; _++)null == w[v = t[r = i[_]]] && (w[v] = ++m), A[r] = { old: v, new: w[v] }, o = w[v] - r, null != B && o === s || (B && u.push(B), x.push(r), s = o), B = r; for (B && u.push(B), u.push(65535), x.push(65535), F = 2 * (b = x.length), U = 2 * Math.pow(Math.log(b) / Math.LN2, 2), h = Math.log(U / 2) / Math.LN2, C = 2 * b - U, a = [], Q = [], d = [], f = T = 0, P = x.length; T < P; f = ++T) { if (E = x[f], c = u[f], 65535 === E) { a.push(0), Q.push(0); break } if (32768 <= E - (H = A[E].new)) for (a.push(0), Q.push(2 * (d.length + b - f)), r = N = E; E <= c ? N <= c : c <= N; r = E <= c ? ++N : --N)d.push(A[r].new); else a.push(H - E), Q.push(0) } for (I.writeUInt16(3), I.writeUInt16(1), I.writeUInt32(12), I.writeUInt16(4), I.writeUInt16(16 + 8 * b + 2 * d.length), I.writeUInt16(0), I.writeUInt16(F), I.writeUInt16(U), I.writeUInt16(h), I.writeUInt16(C), z = 0, D = u.length; z < D; z++)r = u[z], I.writeUInt16(r); for (I.writeUInt16(0), q = 0, L = x.length; q < L; q++)r = x[q], I.writeUInt16(r); for (X = 0, R = a.length; X < R; X++)o = a[X], I.writeUInt16(o); for (V = 0, M = Q.length; V < M; V++)y = Q[V], I.writeUInt16(y); for (G = 0, K = d.length; G < K; G++)p = d[G], I.writeUInt16(p); return { charMap: A, subtable: I.data, maxGlyphID: m + 1 } } }, t }(), g = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return d(e, c), e.prototype.tag = "cmap", e.prototype.parse = function (t) { var e, A, r; for (t.pos = this.offset, this.version = t.readUInt16(), A = t.readUInt16(), this.tables = [], this.unicode = null, r = 0; 0 <= A ? r < A : A < r; 0 <= A ? ++r : --r)e = new p(t, this.offset), this.tables.push(e), e.isUnicode && null == this.unicode && (this.unicode = e); return !0 }, e.encode = function (t, e) { var A, r; return null == e && (e = "macroman"), A = p.encode(t, e), (r = new l).writeUInt16(0), r.writeUInt16(1), A.table = r.data.concat(A.subtable), A }, e }(), B = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return d(e, c), e.prototype.tag = "hhea", e.prototype.parse = function (t) { return t.pos = this.offset, this.version = t.readInt(), this.ascender = t.readShort(), this.decender = t.readShort(), this.lineGap = t.readShort(), this.advanceWidthMax = t.readShort(), this.minLeftSideBearing = t.readShort(), this.minRightSideBearing = t.readShort(), this.xMaxExtent = t.readShort(), this.caretSlopeRise = t.readShort(), this.caretSlopeRun = t.readShort(), this.caretOffset = t.readShort(), t.pos += 8, this.metricDataFormat = t.readShort(), this.numberOfMetrics = t.readUInt16() }, e }(), w = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return d(e, c), e.prototype.tag = "OS/2", e.prototype.parse = function (t) { if (t.pos = this.offset, this.version = t.readUInt16(), this.averageCharWidth = t.readShort(), this.weightClass = t.readUInt16(), this.widthClass = t.readUInt16(), this.type = t.readShort(), this.ySubscriptXSize = t.readShort(), this.ySubscriptYSize = t.readShort(), this.ySubscriptXOffset = t.readShort(), this.ySubscriptYOffset = t.readShort(), this.ySuperscriptXSize = t.readShort(), this.ySuperscriptYSize = t.readShort(), this.ySuperscriptXOffset = t.readShort(), this.ySuperscriptYOffset = t.readShort(), this.yStrikeoutSize = t.readShort(), this.yStrikeoutPosition = t.readShort(), this.familyClass = t.readShort(), this.panose = function () { var e, A; for (A = [], e = 0; e < 10; ++e)A.push(t.readByte()); return A }(), this.charRange = function () { var e, A; for (A = [], e = 0; e < 4; ++e)A.push(t.readInt()); return A }(), this.vendorID = t.readString(4), this.selection = t.readShort(), this.firstCharIndex = t.readShort(), this.lastCharIndex = t.readShort(), 0 < this.version && (this.ascent = t.readShort(), this.descent = t.readShort(), this.lineGap = t.readShort(), this.winAscent = t.readShort(), this.winDescent = t.readShort(), this.codePageRange = function () { var e, A; for (A = [], e = 0; e < 2; ++e)A.push(t.readInt()); return A }(), 1 < this.version)) return this.xHeight = t.readShort(), this.capHeight = t.readShort(), this.defaultChar = t.readShort(), this.breakChar = t.readShort(), this.maxContext = t.readShort() }, e }(), m = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return d(e, c), e.prototype.tag = "post", e.prototype.parse = function (t) { var e, A, r, n; switch (t.pos = this.offset, this.format = t.readInt(), this.italicAngle = t.readInt(), this.underlinePosition = t.readShort(), this.underlineThickness = t.readShort(), this.isFixedPitch = t.readInt(), this.minMemType42 = t.readInt(), this.maxMemType42 = t.readInt(), this.minMemType1 = t.readInt(), this.maxMemType1 = t.readInt(), this.format) { case 65536: break; case 131072: for (A = t.readUInt16(), this.glyphNameIndex = [], r = 0; 0 <= A ? r < A : A < r; 0 <= A ? ++r : --r)this.glyphNameIndex.push(t.readUInt16()); for (this.names = [], n = []; t.pos < this.offset + this.length;)e = t.readByte(), n.push(this.names.push(t.readString(e))); return n; case 151552: return A = t.readUInt16(), this.offsets = t.read(A); case 196608: break; case 262144: return this.map = function () { var e, A, r; for (r = [], e = 0, A = this.file.maxp.numGlyphs; 0 <= A ? e < A : A < e; 0 <= A ? ++e : --e)r.push(t.readUInt32()); return r }.call(this) } }, e }(), y = function (t, e) { this.raw = t, this.length = t.length, this.platformID = e.platformID, this.encodingID = e.encodingID, this.languageID = e.languageID }, v = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return d(e, c), e.prototype.tag = "name", e.prototype.parse = function (t) { var e, A, r, n, i, o, a, s, c, l, u, h; for (t.pos = this.offset, t.readShort(), e = t.readShort(), o = t.readShort(), A = [], n = c = 0; 0 <= e ? c < e : e < c; n = 0 <= e ? ++c : --c)A.push({ platformID: t.readShort(), encodingID: t.readShort(), languageID: t.readShort(), nameID: t.readShort(), length: t.readShort(), offset: this.offset + o + t.readShort() }); for (a = {}, n = l = 0, u = A.length; l < u; n = ++l)r = A[n], t.pos = r.offset, s = t.readString(r.length), i = new y(s, r), null == a[h = r.nameID] && (a[h] = []), a[r.nameID].push(i); return this.strings = a, this.copyright = a[0], this.fontFamily = a[1], this.fontSubfamily = a[2], this.uniqueSubfamily = a[3], this.fontName = a[4], this.version = a[5], this.postscriptName = a[6][0].raw.replace(/[\x00-\x19\x80-\xff]/g, ""), this.trademark = a[7], this.manufacturer = a[8], this.designer = a[9], this.description = a[10], this.vendorUrl = a[11], this.designerUrl = a[12], this.license = a[13], this.licenseUrl = a[14], this.preferredFamily = a[15], this.preferredSubfamily = a[17], this.compatibleFull = a[18], this.sampleText = a[19] }, e }(), Q = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return d(e, c), e.prototype.tag = "maxp", e.prototype.parse = function (t) { return t.pos = this.offset, this.version = t.readInt(), this.numGlyphs = t.readUInt16(), this.maxPoints = t.readUInt16(), this.maxContours = t.readUInt16(), this.maxCompositePoints = t.readUInt16(), this.maxComponentContours = t.readUInt16(), this.maxZones = t.readUInt16(), this.maxTwilightPoints = t.readUInt16(), this.maxStorage = t.readUInt16(), this.maxFunctionDefs = t.readUInt16(), this.maxInstructionDefs = t.readUInt16(), this.maxStackElements = t.readUInt16(), this.maxSizeOfInstructions = t.readUInt16(), this.maxComponentElements = t.readUInt16(), this.maxComponentDepth = t.readUInt16() }, e }(), C = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return d(e, c), e.prototype.tag = "hmtx", e.prototype.parse = function (t) { var e, A, r, n, i, o, a; for (t.pos = this.offset, this.metrics = [], n = 0, o = this.file.hhea.numberOfMetrics; 0 <= o ? n < o : o < n; 0 <= o ? ++n : --n)this.metrics.push({ advance: t.readUInt16(), lsb: t.readInt16() }); for (A = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics, this.leftSideBearings = function () { var e, r; for (r = [], e = 0; 0 <= A ? e < A : A < e; 0 <= A ? ++e : --e)r.push(t.readInt16()); return r }(), this.widths = function () { var t, e, A, n; for (n = [], t = 0, e = (A = this.metrics).length; t < e; t++)r = A[t], n.push(r.advance); return n }.call(this), e = this.widths[this.widths.length - 1], a = [], i = 0; 0 <= A ? i < A : A < i; 0 <= A ? ++i : --i)a.push(this.widths.push(e)); return a }, e.prototype.forGlyph = function (t) { return t in this.metrics ? this.metrics[t] : { advance: this.metrics[this.metrics.length - 1].advance, lsb: this.leftSideBearings[t - this.metrics.length] } }, e }(), U = [].slice, b = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return d(e, c), e.prototype.tag = "glyf", e.prototype.parse = function (t) { return this.cache = {} }, e.prototype.glyphFor = function (t) { var e, A, r, n, i, o, a, s, c, u; return (t = t) in this.cache ? this.cache[t] : (n = this.file.loca, e = this.file.contents, A = n.indexOf(t), 0 === (r = n.lengthOf(t)) ? this.cache[t] = null : (e.pos = this.offset + A, i = (o = new l(e.read(r))).readShort(), s = o.readShort(), u = o.readShort(), a = o.readShort(), c = o.readShort(), this.cache[t] = -1 === i ? new E(o, s, u, a, c) : new F(o, i, s, u, a, c), this.cache[t])) }, e.prototype.encode = function (t, e, A) { var r, n, i, o, a; for (i = [], n = [], o = 0, a = e.length; o < a; o++)r = t[e[o]], n.push(i.length), r && (i = i.concat(r.encode(A))); return n.push(i.length), { table: i, offsets: n } }, e }(), F = function () { function t(t, e, A, r, n, i) { this.raw = t, this.numberOfContours = e, this.xMin = A, this.yMin = r, this.xMax = n, this.yMax = i, this.compound = !1 } return t.prototype.encode = function () { return this.raw.data }, t }(), E = function () { function t(t, e, A, r, n) { var i, o; for (this.raw = t, this.xMin = e, this.yMin = A, this.xMax = r, this.yMax = n, this.compound = !0, this.glyphIDs = [], this.glyphOffsets = [], i = this.raw; o = i.readShort(), this.glyphOffsets.push(i.pos), this.glyphIDs.push(i.readShort()), 32 & o;)i.pos += 1 & o ? 4 : 2, 128 & o ? i.pos += 8 : 64 & o ? i.pos += 4 : 8 & o && (i.pos += 2) } return t.prototype.encode = function (t) { var e, A, r, n, i; for (A = new l(U.call(this.raw.data)), e = r = 0, n = (i = this.glyphIDs).length; r < n; e = ++r)i[e], A.pos = this.glyphOffsets[e]; return A.data }, t }(), x = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return d(e, c), e.prototype.tag = "loca", e.prototype.parse = function (t) { var e; return t.pos = this.offset, e = this.file.head.indexToLocFormat, this.offsets = 0 === e ? function () { var e, A, r; for (r = [], e = 0, A = this.length; e < A; e += 2)r.push(2 * t.readUInt16()); return r }.call(this) : function () { var e, A, r; for (r = [], e = 0, A = this.length; e < A; e += 4)r.push(t.readUInt32()); return r }.call(this) }, e.prototype.indexOf = function (t) { return this.offsets[t] }, e.prototype.lengthOf = function (t) { return this.offsets[t + 1] - this.offsets[t] }, e.prototype.encode = function (t, e) { for (var A = new Uint32Array(this.offsets.length), r = 0, n = 0, i = 0; i < A.length; ++i)if (A[i] = r, n < e.length && e[n] == i) { ++n, A[i] = r; var o = this.offsets[i], a = this.offsets[i + 1] - o; 0 < a && (r += a) } for (var s = new Array(4 * A.length), c = 0; c < A.length; ++c)s[4 * c + 3] = 255 & A[c], s[4 * c + 2] = (65280 & A[c]) >> 8, s[4 * c + 1] = (16711680 & A[c]) >> 16, s[4 * c] = (4278190080 & A[c]) >> 24; return s }, e }(), H = function () { function t(t) { this.font = t, this.subset = {}, this.unicodes = {}, this.next = 33 } return t.prototype.generateCmap = function () { var t, e, A, r, n; for (e in r = this.font.cmap.tables[0].codeMap, t = {}, n = this.subset) A = n[e], t[e] = r[A]; return t }, t.prototype.glyphsFor = function (t) { var e, A, r, n, i, o, a; for (r = {}, i = 0, o = t.length; i < o; i++)r[n = t[i]] = this.font.glyf.glyphFor(n); for (n in e = [], r) (null != (A = r[n]) ? A.compound : void 0) && e.push.apply(e, A.glyphIDs); if (0 < e.length) for (n in a = this.glyphsFor(e)) A = a[n], r[n] = A; return r }, t.prototype.encode = function (t) { var e, A, r, n, i, o, a, s, c, l, u, h, d, f, p; for (A in e = g.encode(this.generateCmap(), "unicode"), n = this.glyphsFor(t), u = { 0: 0 }, p = e.charMap) u[(o = p[A]).old] = o.new; for (h in l = e.maxGlyphID, n) h in u || (u[h] = l++); return s = function (t) { var e, A; for (e in A = {}, t) A[t[e]] = e; return A }(u), c = Object.keys(s).sort(function (t, e) { return t - e }), d = function () { var t, e, A; for (A = [], t = 0, e = c.length; t < e; t++)i = c[t], A.push(s[i]); return A }(), r = this.font.glyf.encode(n, d, u), a = this.font.loca.encode(r.offsets, d), f = { cmap: this.font.cmap.raw(), glyf: r.table, loca: a, hmtx: this.font.hmtx.raw(), hhea: this.font.hhea.raw(), maxp: this.font.maxp.raw(), post: this.font.post.raw(), name: this.font.name.raw(), head: this.font.head.raw() }, this.font.os2.exists && (f["OS/2"] = this.font.os2.raw()), this.font.directory.encode(f) }, t }(); t.API.PDFObject = function () { function t() { } var e; return e = function (t, e) { return (Array(e + 1).join("0") + t).slice(-e) }, t.convert = function (A) { var r, n, i, o; if (Array.isArray(A)) return "[" + function () { var e, n, i; for (i = [], e = 0, n = A.length; e < n; e++)r = A[e], i.push(t.convert(r)); return i }().join(" ") + "]"; if ("string" == typeof A) return "/" + A; if (null != A ? A.isString : void 0) return "(" + A + ")"; if (A instanceof Date) return "(D:" + e(A.getUTCFullYear(), 4) + e(A.getUTCMonth(), 2) + e(A.getUTCDate(), 2) + e(A.getUTCHours(), 2) + e(A.getUTCMinutes(), 2) + e(A.getUTCSeconds(), 2) + "Z)"; if ("[object Object]" === {}.toString.call(A)) { for (n in i = ["<<"], A) o = A[n], i.push("/" + n + " " + t.convert(o)); return i.push(">>"), i.join("\n") } return "" + A }, t }() }(st), Ct = "undefined" != typeof self && self || "undefined" != typeof window && window || void 0 !== r && r || Function('return typeof this === "object" && this.content')() || Function("return this")(), Ut = function () { function t(t) { var e, A, r, n, i, o, a, s, c, l, u, h, d, f; for (this.data = t, this.pos = 8, this.palette = [], this.imgData = [], this.transparency = {}, this.animation = null, this.text = {}, o = null; ;) { switch (e = this.readUInt32(), c = function () { var t, e; for (e = [], t = 0; t < 4; ++t)e.push(String.fromCharCode(this.data[this.pos++])); return e }.call(this).join("")) { case "IHDR": this.width = this.readUInt32(), this.height = this.readUInt32(), this.bits = this.data[this.pos++], this.colorType = this.data[this.pos++], this.compressionMethod = this.data[this.pos++], this.filterMethod = this.data[this.pos++], this.interlaceMethod = this.data[this.pos++]; break; case "acTL": this.animation = { numFrames: this.readUInt32(), numPlays: this.readUInt32() || 1 / 0, frames: [] }; break; case "PLTE": this.palette = this.read(e); break; case "fcTL": o && this.animation.frames.push(o), this.pos += 4, o = { width: this.readUInt32(), height: this.readUInt32(), xOffset: this.readUInt32(), yOffset: this.readUInt32() }, i = this.readUInt16(), n = this.readUInt16() || 100, o.delay = 1e3 * i / n, o.disposeOp = this.data[this.pos++], o.blendOp = this.data[this.pos++], o.data = []; break; case "IDAT": case "fdAT": for ("fdAT" === c && (this.pos += 4, e -= 4), t = (null != o ? o.data : void 0) || this.imgData, h = 0; 0 <= e ? h < e : e < h; 0 <= e ? ++h : --h)t.push(this.data[this.pos++]); break; case "tRNS": switch (this.transparency = {}, this.colorType) { case 3: if (r = this.palette.length / 3, this.transparency.indexed = this.read(e), this.transparency.indexed.length > r) throw new Error("More transparent colors than palette size"); if (0 < (l = r - this.transparency.indexed.length)) for (d = 0; 0 <= l ? d < l : l < d; 0 <= l ? ++d : --d)this.transparency.indexed.push(255); break; case 0: this.transparency.grayscale = this.read(e)[0]; break; case 2: this.transparency.rgb = this.read(e) }break; case "tEXt": a = (u = this.read(e)).indexOf(0), s = String.fromCharCode.apply(String, u.slice(0, a)), this.text[s] = String.fromCharCode.apply(String, u.slice(a + 1)); break; case "IEND": return o && this.animation.frames.push(o), this.colors = function () { switch (this.colorType) { case 0: case 3: case 4: return 1; case 2: case 6: return 3 } }.call(this), this.hasAlphaChannel = 4 === (f = this.colorType) || 6 === f, A = this.colors + (this.hasAlphaChannel ? 1 : 0), this.pixelBitlength = this.bits * A, this.colorSpace = function () { switch (this.colors) { case 1: return "DeviceGray"; case 3: return "DeviceRGB" } }.call(this), void (this.imgData = new Uint8Array(this.imgData)); default: this.pos += e }if (this.pos += 4, this.pos > this.data.length) throw new Error("Incomplete or corrupt PNG file") } } var e, A, r; t.load = function (e, A, r) { var n; return "function" == typeof A && (r = A), (n = new XMLHttpRequest).open("GET", e, !0), n.responseType = "arraybuffer", n.onload = function () { var e; return e = new t(new Uint8Array(n.response || n.mozResponseArrayBuffer)), "function" == typeof (null != A ? A.getContext : void 0) && e.render(A), "function" == typeof r ? r(e) : void 0 }, n.send(null) }, t.prototype.read = function (t) { var e, A; for (A = [], e = 0; 0 <= t ? e < t : t < e; 0 <= t ? ++e : --e)A.push(this.data[this.pos++]); return A }, t.prototype.readUInt32 = function () { return this.data[this.pos++] << 24 | this.data[this.pos++] << 16 | this.data[this.pos++] << 8 | this.data[this.pos++] }, t.prototype.readUInt16 = function () { return this.data[this.pos++] << 8 | this.data[this.pos++] }, t.prototype.decodePixels = function (t) { function e(e, o, a, s) { var c, l, u, h, d, f, p, g, B, w, m, y, v, Q, C, U, b, F, E, x, H, I = Math.ceil((i.width - e) / a), S = Math.ceil((i.height - o) / s), _ = i.width == I && i.height == S; for (Q = A * I, y = _ ? r : new Uint8Array(Q * S), f = t.length, l = v = 0; v < S && n < f;) { switch (t[n++]) { case 0: for (h = b = 0; b < Q; h = b += 1)y[l++] = t[n++]; break; case 1: for (h = F = 0; F < Q; h = F += 1)c = t[n++], d = h < A ? 0 : y[l - A], y[l++] = (c + d) % 256; break; case 2: for (h = E = 0; E < Q; h = E += 1)c = t[n++], u = (h - h % A) / A, C = v && y[(v - 1) * Q + u * A + h % A], y[l++] = (C + c) % 256; break; case 3: for (h = x = 0; x < Q; h = x += 1)c = t[n++], u = (h - h % A) / A, d = h < A ? 0 : y[l - A], C = v && y[(v - 1) * Q + u * A + h % A], y[l++] = (c + Math.floor((d + C) / 2)) % 256; break; case 4: for (h = H = 0; H < Q; h = H += 1)c = t[n++], u = (h - h % A) / A, d = h < A ? 0 : y[l - A], 0 === v ? C = U = 0 : (C = y[(v - 1) * Q + u * A + h % A], U = u && y[(v - 1) * Q + (u - 1) * A + h % A]), p = d + C - U, g = Math.abs(p - d), w = Math.abs(p - C), m = Math.abs(p - U), B = g <= w && g <= m ? d : w <= m ? C : U, y[l++] = (c + B) % 256; break; default: throw new Error("Invalid filter algorithm: " + t[n - 1]) }if (!_) { var T = ((o + v * s) * i.width + e) * A, N = v * Q; for (h = 0; h < I; h += 1) { for (var k = 0; k < A; k += 1)r[T++] = y[N++]; T += (a - 1) * A } } v++ } } var A = this.pixelBitlength / 8, r = new Uint8Array(this.width * this.height * A), n = 0, i = this; return null == t && (t = this.imgData), 0 === t.length ? new Uint8Array(0) : (t = (t = new Et(t)).getBytes(), 1 == i.interlaceMethod ? (e(0, 0, 8, 8), e(4, 0, 8, 8), e(0, 4, 4, 8), e(2, 0, 4, 4), e(0, 2, 2, 4), e(1, 0, 2, 2), e(0, 1, 1, 2)) : e(0, 0, 1, 1), r) }, t.prototype.decodePalette = function () { var t, e, A, r, n, i, o, a, s; for (A = this.palette, i = this.transparency.indexed || [], n = new Uint8Array((i.length || 0) + A.length), r = 0, A.length, e = o = t = 0, a = A.length; o < a; e = o += 3)n[r++] = A[e], n[r++] = A[e + 1], n[r++] = A[e + 2], n[r++] = null != (s = i[t++]) ? s : 255; return n }, t.prototype.copyToImageData = function (t, e) { var A, r, n, i, o, a, s, c, l, u, h; if (r = this.colors, l = null, A = this.hasAlphaChannel, this.palette.length && (l = null != (h = this._decodedPalette) ? h : this._decodedPalette = this.decodePalette(), r = 4, A = !0), c = (n = t.data || t).length, o = l || e, i = a = 0, 1 === r) for (; i < c;)s = l ? 4 * e[i / 4] : a, u = o[s++], n[i++] = u, n[i++] = u, n[i++] = u, n[i++] = A ? o[s++] : 255, a = s; else for (; i < c;)s = l ? 4 * e[i / 4] : a, n[i++] = o[s++], n[i++] = o[s++], n[i++] = o[s++], n[i++] = A ? o[s++] : 255, a = s }, t.prototype.decode = function () { var t; return t = new Uint8Array(this.width * this.height * 4), this.copyToImageData(t, this.decodePixels()), t }; try { A = Ct.document.createElement("canvas"), r = A.getContext("2d") } catch (t) { return -1 } return e = function (t) { var e; return r.width = t.width, r.height = t.height, r.clearRect(0, 0, t.width, t.height), r.putImageData(t, 0, 0), (e = new Image).src = A.toDataURL(), e }, t.prototype.decodeFrames = function (t) { var A, r, n, i, o, a, s, c; if (this.animation) { for (c = [], r = o = 0, a = (s = this.animation.frames).length; o < a; r = ++o)A = s[r], n = t.createImageData(A.width, A.height), i = this.decodePixels(new Uint8Array(A.data)), this.copyToImageData(n, i), A.imageData = n, c.push(A.image = e(n)); return c } }, t.prototype.renderFrame = function (t, e) { var A, r, n; return A = (r = this.animation.frames)[e], n = r[e - 1], 0 === e && t.clearRect(0, 0, this.width, this.height), 1 === (null != n ? n.disposeOp : void 0) ? t.clearRect(n.xOffset, n.yOffset, n.width, n.height) : 2 === (null != n ? n.disposeOp : void 0) && t.putImageData(n.imageData, n.xOffset, n.yOffset), 0 === A.blendOp && t.clearRect(A.xOffset, A.yOffset, A.width, A.height), t.drawImage(A.image, A.xOffset, A.yOffset) }, t.prototype.animate = function (t) { var e, A, r, n, i, o, a = this; return A = 0, o = this.animation, n = o.numFrames, r = o.frames, i = o.numPlays, (e = function () { var o, s; if (o = A++ % n, s = r[o], a.renderFrame(t, o), 1 < n && A / n < i) return a.animation._timeout = setTimeout(e, s.delay) })() }, t.prototype.stopAnimation = function () { var t; return clearTimeout(null != (t = this.animation) ? t._timeout : void 0) }, t.prototype.render = function (t) { var e, A; return t._png && t._png.stopAnimation(), t._png = this, t.width = this.width, t.height = this.height, e = t.getContext("2d"), this.animation ? (this.decodeFrames(e), this.animate(e)) : (A = e.createImageData(this.width, this.height), this.copyToImageData(A, this.decodePixels()), e.putImageData(A, 0, 0)) }, t }(), Ct.PNG = Ut; var Ft = function () { function t() { this.pos = 0, this.bufferLength = 0, this.eof = !1, this.buffer = null } return t.prototype = { ensureBuffer: function (t) { var e = this.buffer, A = e ? e.byteLength : 0; if (t < A) return e; for (var r = 512; r < t;)r <<= 1; for (var n = new Uint8Array(r), i = 0; i < A; ++i)n[i] = e[i]; return this.buffer = n }, getByte: function () { for (var t = this.pos; this.bufferLength <= t;) { if (this.eof) return null; this.readBlock() } return this.buffer[this.pos++] }, getBytes: function (t) { var e = this.pos; if (t) { this.ensureBuffer(e + t); for (var A = e + t; !this.eof && this.bufferLength < A;)this.readBlock(); var r = this.bufferLength; r < A && (A = r) } else { for (; !this.eof;)this.readBlock(); A = this.bufferLength } return this.pos = A, this.buffer.subarray(e, A) }, lookChar: function () { for (var t = this.pos; this.bufferLength <= t;) { if (this.eof) return null; this.readBlock() } return String.fromCharCode(this.buffer[this.pos]) }, getChar: function () { for (var t = this.pos; this.bufferLength <= t;) { if (this.eof) return null; this.readBlock() } return String.fromCharCode(this.buffer[this.pos++]) }, makeSubStream: function (t, e, A) { for (var r = t + e; this.bufferLength <= r && !this.eof;)this.readBlock(); return new Stream(this.buffer, t, e, A) }, skip: function (t) { t || (t = 1), this.pos += t }, reset: function () { this.pos = 0 } }, t }(), Et = function () { function t(t) { throw new Error(t) } function e(e) { var A = 0, r = e[A++], n = e[A++]; -1 != r && -1 != n || t("Invalid header in flate stream"), 8 != (15 & r) && t("Unknown compression method in flate stream"), ((r << 8) + n) % 31 != 0 && t("Bad FCHECK in flate stream"), 32 & n && t("FDICT bit set in flate stream"), this.bytes = e, this.bytesPos = 2, this.codeSize = 0, this.codeBuf = 0, Ft.call(this) } if ("undefined" != typeof Uint32Array) { var A = new Uint32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), r = new Uint32Array([3, 4, 5, 6, 7, 8, 9, 10, 65547, 65549, 65551, 65553, 131091, 131095, 131099, 131103, 196643, 196651, 196659, 196667, 262211, 262227, 262243, 262259, 327811, 327843, 327875, 327907, 258, 258, 258]), n = new Uint32Array([1, 2, 3, 4, 65541, 65543, 131081, 131085, 196625, 196633, 262177, 262193, 327745, 327777, 393345, 393409, 459009, 459137, 524801, 525057, 590849, 591361, 657409, 658433, 724993, 727041, 794625, 798721, 868353, 876545]), i = [new Uint32Array([459008, 524368, 524304, 524568, 459024, 524400, 524336, 590016, 459016, 524384, 524320, 589984, 524288, 524416, 524352, 590048, 459012, 524376, 524312, 589968, 459028, 524408, 524344, 590032, 459020, 524392, 524328, 59e4, 524296, 524424, 524360, 590064, 459010, 524372, 524308, 524572, 459026, 524404, 524340, 590024, 459018, 524388, 524324, 589992, 524292, 524420, 524356, 590056, 459014, 524380, 524316, 589976, 459030, 524412, 524348, 590040, 459022, 524396, 524332, 590008, 524300, 524428, 524364, 590072, 459009, 524370, 524306, 524570, 459025, 524402, 524338, 590020, 459017, 524386, 524322, 589988, 524290, 524418, 524354, 590052, 459013, 524378, 524314, 589972, 459029, 524410, 524346, 590036, 459021, 524394, 524330, 590004, 524298, 524426, 524362, 590068, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590028, 459019, 524390, 524326, 589996, 524294, 524422, 524358, 590060, 459015, 524382, 524318, 589980, 459031, 524414, 524350, 590044, 459023, 524398, 524334, 590012, 524302, 524430, 524366, 590076, 459008, 524369, 524305, 524569, 459024, 524401, 524337, 590018, 459016, 524385, 524321, 589986, 524289, 524417, 524353, 590050, 459012, 524377, 524313, 589970, 459028, 524409, 524345, 590034, 459020, 524393, 524329, 590002, 524297, 524425, 524361, 590066, 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590026, 459018, 524389, 524325, 589994, 524293, 524421, 524357, 590058, 459014, 524381, 524317, 589978, 459030, 524413, 524349, 590042, 459022, 524397, 524333, 590010, 524301, 524429, 524365, 590074, 459009, 524371, 524307, 524571, 459025, 524403, 524339, 590022, 459017, 524387, 524323, 589990, 524291, 524419, 524355, 590054, 459013, 524379, 524315, 589974, 459029, 524411, 524347, 590038, 459021, 524395, 524331, 590006, 524299, 524427, 524363, 590070, 459011, 524375, 524311, 524575, 459027, 524407, 524343, 590030, 459019, 524391, 524327, 589998, 524295, 524423, 524359, 590062, 459015, 524383, 524319, 589982, 459031, 524415, 524351, 590046, 459023, 524399, 524335, 590014, 524303, 524431, 524367, 590078, 459008, 524368, 524304, 524568, 459024, 524400, 524336, 590017, 459016, 524384, 524320, 589985, 524288, 524416, 524352, 590049, 459012, 524376, 524312, 589969, 459028, 524408, 524344, 590033, 459020, 524392, 524328, 590001, 524296, 524424, 524360, 590065, 459010, 524372, 524308, 524572, 459026, 524404, 524340, 590025, 459018, 524388, 524324, 589993, 524292, 524420, 524356, 590057, 459014, 524380, 524316, 589977, 459030, 524412, 524348, 590041, 459022, 524396, 524332, 590009, 524300, 524428, 524364, 590073, 459009, 524370, 524306, 524570, 459025, 524402, 524338, 590021, 459017, 524386, 524322, 589989, 524290, 524418, 524354, 590053, 459013, 524378, 524314, 589973, 459029, 524410, 524346, 590037, 459021, 524394, 524330, 590005, 524298, 524426, 524362, 590069, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590029, 459019, 524390, 524326, 589997, 524294, 524422, 524358, 590061, 459015, 524382, 524318, 589981, 459031, 524414, 524350, 590045, 459023, 524398, 524334, 590013, 524302, 524430, 524366, 590077, 459008, 524369, 524305, 524569, 459024, 524401, 524337, 590019, 459016, 524385, 524321, 589987, 524289, 524417, 524353, 590051, 459012, 524377, 524313, 589971, 459028, 524409, 524345, 590035, 459020, 524393, 524329, 590003, 524297, 524425, 524361, 590067, 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590027, 459018, 524389, 524325, 589995, 524293, 524421, 524357, 590059, 459014, 524381, 524317, 589979, 459030, 524413, 524349, 590043, 459022, 524397, 524333, 590011, 524301, 524429, 524365, 590075, 459009, 524371, 524307, 524571, 459025, 524403, 524339, 590023, 459017, 524387, 524323, 589991, 524291, 524419, 524355, 590055, 459013, 524379, 524315, 589975, 459029, 524411, 524347, 590039, 459021, 524395, 524331, 590007, 524299, 524427, 524363, 590071, 459011, 524375, 524311, 524575, 459027, 524407, 524343, 590031, 459019, 524391, 524327, 589999, 524295, 524423, 524359, 590063, 459015, 524383, 524319, 589983, 459031, 524415, 524351, 590047, 459023, 524399, 524335, 590015, 524303, 524431, 524367, 590079]), 9], o = [new Uint32Array([327680, 327696, 327688, 327704, 327684, 327700, 327692, 327708, 327682, 327698, 327690, 327706, 327686, 327702, 327694, 0, 327681, 327697, 327689, 327705, 327685, 327701, 327693, 327709, 327683, 327699, 327691, 327707, 327687, 327703, 327695, 0]), 5]; return (e.prototype = Object.create(Ft.prototype)).getBits = function (e) { for (var A, r = this.codeSize, n = this.codeBuf, i = this.bytes, o = this.bytesPos; r < e;)void 0 === (A = i[o++]) && t("Bad encoding in flate stream"), n |= A << r, r += 8; return A = n & (1 << e) - 1, this.codeBuf = n >> e, this.codeSize = r -= e, this.bytesPos = o, A }, e.prototype.getCode = function (e) { for (var A = e[0], r = e[1], n = this.codeSize, i = this.codeBuf, o = this.bytes, a = this.bytesPos; n < r;) { var s; void 0 === (s = o[a++]) && t("Bad encoding in flate stream"), i |= s << n, n += 8 } var c = A[i & (1 << r) - 1], l = c >> 16, u = 65535 & c; return (0 == n || n < l || 0 == l) && t("Bad encoding in flate stream"), this.codeBuf = i >> l, this.codeSize = n - l, this.bytesPos = a, u }, e.prototype.generateHuffmanTable = function (t) { for (var e = t.length, A = 0, r = 0; r < e; ++r)t[r] > A && (A = t[r]); for (var n = 1 << A, i = new Uint32Array(n), o = 1, a = 0, s = 2; o <= A; ++o, a <<= 1, s <<= 1)for (var c = 0; c < e; ++c)if (t[c] == o) { var l = 0, u = a; for (r = 0; r < o; ++r)l = l << 1 | 1 & u, u >>= 1; for (r = l; r < n; r += s)i[r] = o << 16 | c; ++a } return [i, A] }, e.prototype.readBlock = function () { function e(t, e, A, r, n) { for (var i = t.getBits(A) + r; 0 < i--;)e[f++] = n } var a = this.getBits(3); if (1 & a && (this.eof = !0), 0 != (a >>= 1)) { var s, c; if (1 == a) s = i, c = o; else if (2 == a) { for (var l = this.getBits(5) + 257, u = this.getBits(5) + 1, h = this.getBits(4) + 4, d = Array(A.length), f = 0; f < h;)d[A[f++]] = this.getBits(3); for (var p = this.generateHuffmanTable(d), g = 0, B = (f = 0, l + u), w = new Array(B); f < B;) { var m = this.getCode(p); 16 == m ? e(this, w, 2, 3, g) : 17 == m ? e(this, w, 3, 3, g = 0) : 18 == m ? e(this, w, 7, 11, g = 0) : w[f++] = g = m } s = this.generateHuffmanTable(w.slice(0, l)), c = this.generateHuffmanTable(w.slice(l, B)) } else t("Unknown block type in flate stream"); for (var y = (_ = this.buffer) ? _.length : 0, v = this.bufferLength; ;) { var Q = this.getCode(s); if (Q < 256) y <= v + 1 && (y = (_ = this.ensureBuffer(v + 1)).length), _[v++] = Q; else { if (256 == Q) return void (this.bufferLength = v); var C = (Q = r[Q -= 257]) >> 16; 0 < C && (C = this.getBits(C)), g = (65535 & Q) + C, Q = this.getCode(c), 0 < (C = (Q = n[Q]) >> 16) && (C = this.getBits(C)); var U = (65535 & Q) + C; y <= v + g && (y = (_ = this.ensureBuffer(v + g)).length); for (var b = 0; b < g; ++b, ++v)_[v] = _[v - U] } } } else { var F, E = this.bytes, x = this.bytesPos; void 0 === (F = E[x++]) && t("Bad block header in flate stream"); var H = F; void 0 === (F = E[x++]) && t("Bad block header in flate stream"), H |= F << 8, void 0 === (F = E[x++]) && t("Bad block header in flate stream"); var I = F; void 0 === (F = E[x++]) && t("Bad block header in flate stream"), (I |= F << 8) != (65535 & ~H) && t("Bad uncompressed block length in flate stream"), this.codeBuf = 0, this.codeSize = 0; var S = this.bufferLength, _ = this.ensureBuffer(S + H), T = S + H; this.bufferLength = T; for (var N = S; N < T; ++N) { if (void 0 === (F = E[x++])) { this.eof = !0; break } _[N] = F } this.bytesPos = x } }, e } }(); return function (t) { if ("object" != typeof t.console) { t.console = {}; for (var e, A, r = t.console, n = function () { }, i = ["memory"], o = "assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(","); e = i.pop();)r[e] || (r[e] = {}); for (; A = o.pop();)r[A] || (r[A] = n) } var a, s, c, l, u = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; void 0 === t.btoa && (t.btoa = function (t) { var e, A, r, n, i, o = 0, a = 0, s = "", c = []; if (!t) return t; for (; e = (i = t.charCodeAt(o++) << 16 | t.charCodeAt(o++) << 8 | t.charCodeAt(o++)) >> 18 & 63, A = i >> 12 & 63, r = i >> 6 & 63, n = 63 & i, c[a++] = u.charAt(e) + u.charAt(A) + u.charAt(r) + u.charAt(n), o < t.length;); s = c.join(""); var l = t.length % 3; return (l ? s.slice(0, l - 3) : s) + "===".slice(l || 3) }), void 0 === t.atob && (t.atob = function (t) { var e, A, r, n, i, o, a = 0, s = 0, c = []; if (!t) return t; for (t += ""; e = (o = u.indexOf(t.charAt(a++)) << 18 | u.indexOf(t.charAt(a++)) << 12 | (n = u.indexOf(t.charAt(a++))) << 6 | (i = u.indexOf(t.charAt(a++)))) >> 16 & 255, A = o >> 8 & 255, r = 255 & o, c[s++] = 64 == n ? String.fromCharCode(e) : 64 == i ? String.fromCharCode(e, A) : String.fromCharCode(e, A, r), a < t.length;); return c.join("") }), Array.prototype.map || (Array.prototype.map = function (t) { if (null == this || "function" != typeof t) throw new TypeError; for (var e = Object(this), A = e.length >>> 0, r = new Array(A), n = 1 < arguments.length ? arguments[1] : void 0, i = 0; i < A; i++)i in e && (r[i] = t.call(n, e[i], i, e)); return r }), Array.isArray || (Array.isArray = function (t) { return "[object Array]" === Object.prototype.toString.call(t) }), Array.prototype.forEach || (Array.prototype.forEach = function (t, e) { if (null == this || "function" != typeof t) throw new TypeError; for (var A = Object(this), r = A.length >>> 0, n = 0; n < r; n++)n in A && t.call(e, A[n], n, A) }), Object.keys || (Object.keys = (a = Object.prototype.hasOwnProperty, s = !{ toString: null }.propertyIsEnumerable("toString"), l = (c = ["toString", "toLocaleString", "valueOf", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "constructor"]).length, function (t) { if ("object" != typeof t && ("function" != typeof t || null === t)) throw new TypeError; var e, A, r = []; for (e in t) a.call(t, e) && r.push(e); if (s) for (A = 0; A < l; A++)a.call(t, c[A]) && r.push(c[A]); return r })), "function" != typeof Object.assign && (Object.assign = function (t) { if (null == t) throw new TypeError("Cannot convert undefined or null to object"); t = Object(t); for (var e = 1; e < arguments.length; e++) { var A = arguments[e]; if (null != A) for (var r in A) Object.prototype.hasOwnProperty.call(A, r) && (t[r] = A[r]) } return t }), String.prototype.trim || (String.prototype.trim = function () { return this.replace(/^\s+|\s+$/g, "") }), String.prototype.trimLeft || (String.prototype.trimLeft = function () { return this.replace(/^\s+/g, "") }), String.prototype.trimRight || (String.prototype.trimRight = function () { return this.replace(/\s+$/g, "") }) }("undefined" != typeof self && self || "undefined" != typeof window && window || void 0 !== r && r || Function('return typeof this === "object" && this.content')() || Function("return this")()), st }() })), i = (n.jsPDF, n.saveAs, n.GifWriter, n.GifReader, A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); e.PATH = { VECTOR: 0, BEZIER_CURVE: 1, CIRCLE: 2 } })); e(i); i.PATH; var o = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = function () { return function (t, e) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return function (t, e) { var A = [], r = !0, n = !1, i = void 0; try { for (var o, a = t[Symbol.iterator](); !(r = (o = a.next()).done) && (A.push(o.value), !e || A.length !== e); r = !0); } catch (t) { n = !0, i = t } finally { try { !r && a.return && a.return() } finally { if (n) throw i } } return A }(t, e); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), r = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), n = /^#([a-f0-9]{3})$/i, i = function (t) { var e = t.match(n); return !!e && [parseInt(e[1][0] + e[1][0], 16), parseInt(e[1][1] + e[1][1], 16), parseInt(e[1][2] + e[1][2], 16), null] }, o = /^#([a-f0-9]{6})$/i, a = function (t) { var e = t.match(o); return !!e && [parseInt(e[1].substring(0, 2), 16), parseInt(e[1].substring(2, 4), 16), parseInt(e[1].substring(4, 6), 16), null] }, s = /^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/, c = function (t) { var e = t.match(s); return !!e && [Number(e[1]), Number(e[2]), Number(e[3]), null] }, l = /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?\.?\d+)\s*\)$/, u = function (t) { var e = t.match(l); return !!(e && e.length > 4) && [Number(e[1]), Number(e[2]), Number(e[3]), Number(e[4])] }, h = function (t) { return [Math.min(t[0], 255), Math.min(t[1], 255), Math.min(t[2], 255), t.length > 3 ? t[3] : null] }, d = function (t) { var e = p[t.toLowerCase()]; return e || !1 }, f = function () { function t(e) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t); var r = Array.isArray(e) ? h(e) : i(e) || c(e) || u(e) || d(e) || a(e) || [0, 0, 0, null], n = A(r, 4), o = n[0], s = n[1], l = n[2], f = n[3]; this.r = o, this.g = s, this.b = l, this.a = f } return r(t, [{ key: "isTransparent", value: function () { return 0 === this.a } }, { key: "toString", value: function () { return null !== this.a && 1 !== this.a ? "rgba(" + this.r + "," + this.g + "," + this.b + "," + this.a + ")" : "rgb(" + this.r + "," + this.g + "," + this.b + ")" } }]), t }(); e.default = f; var p = { transparent: [0, 0, 0, 0], aliceblue: [240, 248, 255, null], antiquewhite: [250, 235, 215, null], aqua: [0, 255, 255, null], aquamarine: [127, 255, 212, null], azure: [240, 255, 255, null], beige: [245, 245, 220, null], bisque: [255, 228, 196, null], black: [0, 0, 0, null], blanchedalmond: [255, 235, 205, null], blue: [0, 0, 255, null], blueviolet: [138, 43, 226, null], brown: [165, 42, 42, null], burlywood: [222, 184, 135, null], cadetblue: [95, 158, 160, null], chartreuse: [127, 255, 0, null], chocolate: [210, 105, 30, null], coral: [255, 127, 80, null], cornflowerblue: [100, 149, 237, null], cornsilk: [255, 248, 220, null], crimson: [220, 20, 60, null], cyan: [0, 255, 255, null], darkblue: [0, 0, 139, null], darkcyan: [0, 139, 139, null], darkgoldenrod: [184, 134, 11, null], darkgray: [169, 169, 169, null], darkgreen: [0, 100, 0, null], darkgrey: [169, 169, 169, null], darkkhaki: [189, 183, 107, null], darkmagenta: [139, 0, 139, null], darkolivegreen: [85, 107, 47, null], darkorange: [255, 140, 0, null], darkorchid: [153, 50, 204, null], darkred: [139, 0, 0, null], darksalmon: [233, 150, 122, null], darkseagreen: [143, 188, 143, null], darkslateblue: [72, 61, 139, null], darkslategray: [47, 79, 79, null], darkslategrey: [47, 79, 79, null], darkturquoise: [0, 206, 209, null], darkviolet: [148, 0, 211, null], deeppink: [255, 20, 147, null], deepskyblue: [0, 191, 255, null], dimgray: [105, 105, 105, null], dimgrey: [105, 105, 105, null], dodgerblue: [30, 144, 255, null], firebrick: [178, 34, 34, null], floralwhite: [255, 250, 240, null], forestgreen: [34, 139, 34, null], fuchsia: [255, 0, 255, null], gainsboro: [220, 220, 220, null], ghostwhite: [248, 248, 255, null], gold: [255, 215, 0, null], goldenrod: [218, 165, 32, null], gray: [128, 128, 128, null], green: [0, 128, 0, null], greenyellow: [173, 255, 47, null], grey: [128, 128, 128, null], honeydew: [240, 255, 240, null], hotpink: [255, 105, 180, null], indianred: [205, 92, 92, null], indigo: [75, 0, 130, null], ivory: [255, 255, 240, null], khaki: [240, 230, 140, null], lavender: [230, 230, 250, null], lavenderblush: [255, 240, 245, null], lawngreen: [124, 252, 0, null], lemonchiffon: [255, 250, 205, null], lightblue: [173, 216, 230, null], lightcoral: [240, 128, 128, null], lightcyan: [224, 255, 255, null], lightgoldenrodyellow: [250, 250, 210, null], lightgray: [211, 211, 211, null], lightgreen: [144, 238, 144, null], lightgrey: [211, 211, 211, null], lightpink: [255, 182, 193, null], lightsalmon: [255, 160, 122, null], lightseagreen: [32, 178, 170, null], lightskyblue: [135, 206, 250, null], lightslategray: [119, 136, 153, null], lightslategrey: [119, 136, 153, null], lightsteelblue: [176, 196, 222, null], lightyellow: [255, 255, 224, null], lime: [0, 255, 0, null], limegreen: [50, 205, 50, null], linen: [250, 240, 230, null], magenta: [255, 0, 255, null], maroon: [128, 0, 0, null], mediumaquamarine: [102, 205, 170, null], mediumblue: [0, 0, 205, null], mediumorchid: [186, 85, 211, null], mediumpurple: [147, 112, 219, null], mediumseagreen: [60, 179, 113, null], mediumslateblue: [123, 104, 238, null], mediumspringgreen: [0, 250, 154, null], mediumturquoise: [72, 209, 204, null], mediumvioletred: [199, 21, 133, null], midnightblue: [25, 25, 112, null], mintcream: [245, 255, 250, null], mistyrose: [255, 228, 225, null], moccasin: [255, 228, 181, null], navajowhite: [255, 222, 173, null], navy: [0, 0, 128, null], oldlace: [253, 245, 230, null], olive: [128, 128, 0, null], olivedrab: [107, 142, 35, null], orange: [255, 165, 0, null], orangered: [255, 69, 0, null], orchid: [218, 112, 214, null], palegoldenrod: [238, 232, 170, null], palegreen: [152, 251, 152, null], paleturquoise: [175, 238, 238, null], palevioletred: [219, 112, 147, null], papayawhip: [255, 239, 213, null], peachpuff: [255, 218, 185, null], peru: [205, 133, 63, null], pink: [255, 192, 203, null], plum: [221, 160, 221, null], powderblue: [176, 224, 230, null], purple: [128, 0, 128, null], rebeccapurple: [102, 51, 153, null], red: [255, 0, 0, null], rosybrown: [188, 143, 143, null], royalblue: [65, 105, 225, null], saddlebrown: [139, 69, 19, null], salmon: [250, 128, 114, null], sandybrown: [244, 164, 96, null], seagreen: [46, 139, 87, null], seashell: [255, 245, 238, null], sienna: [160, 82, 45, null], silver: [192, 192, 192, null], skyblue: [135, 206, 235, null], slateblue: [106, 90, 205, null], slategray: [112, 128, 144, null], slategrey: [112, 128, 144, null], snow: [255, 250, 250, null], springgreen: [0, 255, 127, null], steelblue: [70, 130, 180, null], tan: [210, 180, 140, null], teal: [0, 128, 128, null], thistle: [216, 191, 216, null], tomato: [255, 99, 71, null], turquoise: [64, 224, 208, null], violet: [238, 130, 238, null], wheat: [245, 222, 179, null], white: [255, 255, 255, null], whitesmoke: [245, 245, 245, null], yellow: [255, 255, 0, null], yellowgreen: [154, 205, 50, null] }; e.TRANSPARENT = new f([0, 0, 0, 0]) }); e(o); o.TRANSPARENT; var a = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.parseTextDecoration = e.TEXT_DECORATION_LINE = e.TEXT_DECORATION = e.TEXT_DECORATION_STYLE = void 0; var A = function (t) { return t && t.__esModule ? t : { default: t } }(o), r = e.TEXT_DECORATION_STYLE = { SOLID: 0, DOUBLE: 1, DOTTED: 2, DASHED: 3, WAVY: 4 }, n = e.TEXT_DECORATION = { NONE: null }, i = e.TEXT_DECORATION_LINE = { UNDERLINE: 1, OVERLINE: 2, LINE_THROUGH: 3, BLINK: 4 }, a = function (t) { switch (t) { case "underline": return i.UNDERLINE; case "overline": return i.OVERLINE; case "line-through": return i.LINE_THROUGH }return i.BLINK }; e.parseTextDecoration = function (t) { var e = function (t) { return "none" === t ? null : t.split(" ").map(a) }(t.textDecorationLine ? t.textDecorationLine : t.textDecoration); if (null === e) return n.NONE; return { textDecorationLine: e, textDecorationColor: t.textDecorationColor ? new A.default(t.textDecorationColor) : null, textDecorationStyle: function (t) { switch (t) { case "double": return r.DOUBLE; case "dotted": return r.DOTTED; case "dashed": return r.DASHED; case "wavy": return r.WAVY }return r.SOLID }(t.textDecorationStyle) } } }); e(a); a.parseTextDecoration, a.TEXT_DECORATION_LINE, a.TEXT_DECORATION, a.TEXT_DECORATION_STYLE; var s = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), r = function (t, e) { var A = Math.max.apply(null, t.colorStops.map(function (t) { return t.stop })), r = 1 / Math.max(1, A); t.colorStops.forEach(function (t) { e.addColorStop(r * t.stop, t.color.toString()) }) }, n = function () { function t(e) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.canvas = e || document.createElement("canvas") } return A(t, [{ key: "render", value: function (t) { this.ctx = this.canvas.getContext("2d"), this.options = t, this.canvas.width = Math.floor(t.width * t.scale), this.canvas.height = Math.floor(t.height * t.scale), this.canvas.style.width = t.width + "px", this.canvas.style.height = t.height + "px", this.ctx.scale(this.options.scale, this.options.scale), this.ctx.translate(-t.x, -t.y), this.ctx.textBaseline = "bottom", t.logger.log("Canvas renderer initialized (" + t.width + "x" + t.height + " at " + t.x + "," + t.y + ") with scale " + this.options.scale) } }, { key: "clip", value: function (t, e) { var A = this; t.length && (this.ctx.save(), t.forEach(function (t) { A.path(t), A.ctx.clip() })), e(), t.length && this.ctx.restore() } }, { key: "drawImage", value: function (t, e, A) { this.ctx.drawImage(t, e.left, e.top, e.width, e.height, A.left, A.top, A.width, A.height) } }, { key: "drawShape", value: function (t, e) { this.path(t), this.ctx.fillStyle = e.toString(), this.ctx.fill() } }, { key: "fill", value: function (t) { this.ctx.fillStyle = t.toString(), this.ctx.fill() } }, { key: "getTarget", value: function () { return this.canvas.getContext("2d").setTransform(1, 0, 0, 1, 0, 0), Promise.resolve(this.canvas) } }, { key: "path", value: function (t) { var e = this; this.ctx.beginPath(), Array.isArray(t) ? t.forEach(function (t, A) { var r = t.type === i.PATH.VECTOR ? t : t.start; 0 === A ? e.ctx.moveTo(r.x, r.y) : e.ctx.lineTo(r.x, r.y), t.type === i.PATH.BEZIER_CURVE && e.ctx.bezierCurveTo(t.startControl.x, t.startControl.y, t.endControl.x, t.endControl.y, t.end.x, t.end.y) }) : this.ctx.arc(t.x + t.radius, t.y + t.radius, t.radius, 0, 2 * Math.PI, !0), this.ctx.closePath() } }, { key: "rectangle", value: function (t, e, A, r, n) { this.ctx.fillStyle = n.toString(), this.ctx.fillRect(t, e, A, r) } }, { key: "renderLinearGradient", value: function (t, e) { var A = this.ctx.createLinearGradient(t.left + e.direction.x1, t.top + e.direction.y1, t.left + e.direction.x0, t.top + e.direction.y0); r(e, A), this.ctx.fillStyle = A, this.ctx.fillRect(t.left, t.top, t.width, t.height) } }, { key: "renderRadialGradient", value: function (t, e) { var A = this, n = t.left + e.center.x, i = t.top + e.center.y, o = this.ctx.createRadialGradient(n, i, 0, n, i, e.radius.x); if (o) if (r(e, o), this.ctx.fillStyle = o, e.radius.x !== e.radius.y) { var a = t.left + .5 * t.width, s = t.top + .5 * t.height, c = e.radius.y / e.radius.x, l = 1 / c; this.transform(a, s, [1, 0, 0, c, 0, 0], function () { return A.ctx.fillRect(t.left, l * (t.top - s) + s, t.width, t.height * l) }) } else this.ctx.fillRect(t.left, t.top, t.width, t.height) } }, { key: "renderRepeat", value: function (t, e, A, r, n) { this.path(t), this.ctx.fillStyle = this.ctx.createPattern(this.resizeImage(e, A), "repeat"), this.ctx.translate(r, n), this.ctx.fill(), this.ctx.translate(-r, -n) } }, { key: "renderTextNode", value: function (t, e, A, r, n) { var i = this; this.ctx.font = [A.fontStyle, A.fontVariant, A.fontWeight, A.fontSize, A.fontFamily].join(" "), t.forEach(function (t) { if (i.ctx.fillStyle = e.toString(), n && t.text.trim().length ? n.slice(0).reverse().forEach(function (e) { i.ctx.shadowColor = e.color.toString(), i.ctx.shadowOffsetX = e.offsetX * i.options.scale, i.ctx.shadowOffsetY = e.offsetY * i.options.scale, i.ctx.shadowBlur = e.blur, i.ctx.fillText(t.text, t.bounds.left, t.bounds.top + t.bounds.height) }) : i.ctx.fillText(t.text, t.bounds.left, t.bounds.top + t.bounds.height), null !== r) { var o = r.textDecorationColor || e; r.textDecorationLine.forEach(function (e) { switch (e) { case a.TEXT_DECORATION_LINE.UNDERLINE: var r = i.options.fontMetrics.getMetrics(A).baseline; i.rectangle(t.bounds.left, Math.round(t.bounds.top + r), t.bounds.width, 1, o); break; case a.TEXT_DECORATION_LINE.OVERLINE: i.rectangle(t.bounds.left, Math.round(t.bounds.top), t.bounds.width, 1, o); break; case a.TEXT_DECORATION_LINE.LINE_THROUGH: var n = i.options.fontMetrics.getMetrics(A).middle; i.rectangle(t.bounds.left, Math.ceil(t.bounds.top + n), t.bounds.width, 1, o) } }) } }) } }, { key: "resizeImage", value: function (t, e) { if (t.width === e.width && t.height === e.height) return t; var A = this.canvas.ownerDocument.createElement("canvas"); A.width = e.width, A.height = e.height; return A.getContext("2d").drawImage(t, 0, 0, t.width, t.height, 0, 0, e.width, e.height), A } }, { key: "setOpacity", value: function (t) { this.ctx.globalAlpha = t } }, { key: "transform", value: function (t, e, A, r) { this.ctx.save(), this.ctx.translate(t, e), this.ctx.transform(A[0], A[1], A[2], A[3], A[4], A[5]), this.ctx.translate(-t, -e), r(), this.ctx.restore() } }]), t }(); e.default = n }); e(s); var c = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), r = function () { function t(e, A, r) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.enabled = "undefined" != typeof window && e, this.start = r || Date.now(), this.id = A } return A(t, [{ key: "child", value: function (e) { return new t(this.enabled, e, this.start) } }, { key: "log", value: function () { if (this.enabled && window.console && window.console.log) { for (var t = arguments.length, e = Array(t), A = 0; A < t; A++)e[A] = arguments[A]; Function.prototype.bind.call(window.console.log, window.console).apply(window.console, [Date.now() - this.start + "ms", this.id ? "html2canvas (" + this.id + "):" : "html2canvas:"].concat([].slice.call(e, 0))) } } }, { key: "error", value: function () { if (this.enabled && window.console && window.console.error) { for (var t = arguments.length, e = Array(t), A = 0; A < t; A++)e[A] = arguments[A]; Function.prototype.bind.call(window.console.error, window.console).apply(window.console, [Date.now() - this.start + "ms", this.id ? "html2canvas (" + this.id + "):" : "html2canvas:"].concat([].slice.call(e, 0))) } } }]), t }(); e.default = r }); e(c); var l = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); e.contains = function (t, e) { return 0 != (t & e) }, e.distance = function (t, e) { return Math.sqrt(t * t + e * e) }, e.copyCSSStyles = function (t, e) { for (var A = t.length - 1; A >= 0; A--) { var r = t.item(A); "content" !== r && e.style.setProperty(r, t.getPropertyValue(r)) } return e }, e.SMALL_IMAGE = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" }); e(l); l.contains, l.distance, l.copyCSSStyles, l.SMALL_IMAGE; var u = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.calculateLengthFromValueWithUnit = e.LENGTH_TYPE = void 0; var A = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), r = (function (t) { t && t.__esModule }(G), e.LENGTH_TYPE = { PX: 0, PERCENTAGE: 1 }), n = function () { function t(e) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.type = "%" === e.substr(e.length - 1) ? r.PERCENTAGE : r.PX; var A = parseFloat(e); this.value = isNaN(A) ? 0 : A } return A(t, [{ key: "isPercentage", value: function () { return this.type === r.PERCENTAGE } }, { key: "getAbsoluteValue", value: function (t) { return this.isPercentage() ? t * (this.value / 100) : this.value } }], [{ key: "create", value: function (e) { return new t(e) } }]), t }(); e.default = n; e.calculateLengthFromValueWithUnit = function (t, e, A) { switch (A) { case "px": case "%": return new n(e + A); case "em": case "rem": var r = new n(e); return r.value *= "em" === A ? parseFloat(t.style.font.fontSize) : function t(e) { var A = e.parent; return A ? t(A) : parseFloat(e.style.font.fontSize) }(t), r; default: return new n("0") } } }); e(u); u.calculateLengthFromValueWithUnit, u.LENGTH_TYPE; var h = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); e.default = function t(e, A) { !function (e, A) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this), this.width = e, this.height = A } }); e(h); var d = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); e.default = function t(e, A) { !function (e, A) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this), this.type = i.PATH.VECTOR, this.x = e, this.y = A } }); e(d); var f = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), r = function (t) { return t && t.__esModule ? t : { default: t } }(d), n = function (t, e, A) { return new r.default(t.x + (e.x - t.x) * A, t.y + (e.y - t.y) * A) }, o = function () { function t(e, A, r, n) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.type = i.PATH.BEZIER_CURVE, this.start = e, this.startControl = A, this.endControl = r, this.end = n } return A(t, [{ key: "subdivide", value: function (e, A) { var r = n(this.start, this.startControl, e), i = n(this.startControl, this.endControl, e), o = n(this.endControl, this.end, e), a = n(r, i, e), s = n(i, o, e), c = n(a, s, e); return A ? new t(this.start, r, a, c) : new t(c, s, o, this.end) } }, { key: "reverse", value: function () { return new t(this.end, this.endControl, this.startControl, this.start) } }]), t }(); e.default = o }); e(f); var p = A(function (t, e) { function A(t) { return t && t.__esModule ? t : { default: t } } Object.defineProperty(e, "__esModule", { value: !0 }), e.parseBoundCurves = e.calculatePaddingBoxPath = e.calculateBorderBoxPath = e.parsePathForBorder = e.parseDocumentSize = e.calculateContentBox = e.calculatePaddingBox = e.parseBounds = e.Bounds = void 0; var r = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), n = A(d), i = A(f), o = e.Bounds = function () { function t(e, A, r, n) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.left = e, this.top = A, this.width = r, this.height = n } return r(t, null, [{ key: "fromClientRect", value: function (e, A, r) { return new t(e.left + A, e.top + r, e.width, e.height) } }]), t }(), a = (e.parseBounds = function (t, e, A) { return o.fromClientRect(t.getBoundingClientRect(), e, A) }, e.calculatePaddingBox = function (t, e) { return new o(t.left + e[3].borderWidth, t.top + e[0].borderWidth, t.width - (e[1].borderWidth + e[3].borderWidth), t.height - (e[0].borderWidth + e[2].borderWidth)) }, e.calculateContentBox = function (t, e, A) { var r = e[0].value, n = e[1].value, i = e[2].value, a = e[3].value; return new o(t.left + a + A[3].borderWidth, t.top + r + A[0].borderWidth, t.width - (A[1].borderWidth + A[3].borderWidth + a + n), t.height - (A[0].borderWidth + A[2].borderWidth + r + i)) }, e.parseDocumentSize = function (t) { var e = t.body, A = t.documentElement; if (!e || !A) throw new Error(""); var r = Math.max(Math.max(e.scrollWidth, A.scrollWidth), Math.max(e.offsetWidth, A.offsetWidth), Math.max(e.clientWidth, A.clientWidth)), n = Math.max(Math.max(e.scrollHeight, A.scrollHeight), Math.max(e.offsetHeight, A.offsetHeight), Math.max(e.clientHeight, A.clientHeight)); return new o(0, 0, r, n) }, e.parsePathForBorder = function (t, e) { switch (e) { case 0: return a(t.topLeftOuter, t.topLeftInner, t.topRightOuter, t.topRightInner); case 1: return a(t.topRightOuter, t.topRightInner, t.bottomRightOuter, t.bottomRightInner); case 2: return a(t.bottomRightOuter, t.bottomRightInner, t.bottomLeftOuter, t.bottomLeftInner); case 3: default: return a(t.bottomLeftOuter, t.bottomLeftInner, t.topLeftOuter, t.topLeftInner) } }, function (t, e, A, r) { var n = []; return t instanceof i.default ? n.push(t.subdivide(.5, !1)) : n.push(t), A instanceof i.default ? n.push(A.subdivide(.5, !0)) : n.push(A), r instanceof i.default ? n.push(r.subdivide(.5, !0).reverse()) : n.push(r), e instanceof i.default ? n.push(e.subdivide(.5, !1).reverse()) : n.push(e), n }), s = (e.calculateBorderBoxPath = function (t) { return [t.topLeftOuter, t.topRightOuter, t.bottomRightOuter, t.bottomLeftOuter] }, e.calculatePaddingBoxPath = function (t) { return [t.topLeftInner, t.topRightInner, t.bottomRightInner, t.bottomLeftInner] }, e.parseBoundCurves = function (t, e, A) { var r = A[s.TOP_LEFT][0].getAbsoluteValue(t.width), i = A[s.TOP_LEFT][1].getAbsoluteValue(t.height), o = A[s.TOP_RIGHT][0].getAbsoluteValue(t.width), a = A[s.TOP_RIGHT][1].getAbsoluteValue(t.height), l = A[s.BOTTOM_RIGHT][0].getAbsoluteValue(t.width), u = A[s.BOTTOM_RIGHT][1].getAbsoluteValue(t.height), h = A[s.BOTTOM_LEFT][0].getAbsoluteValue(t.width), d = A[s.BOTTOM_LEFT][1].getAbsoluteValue(t.height), f = []; f.push((r + o) / t.width), f.push((h + l) / t.width), f.push((i + d) / t.height), f.push((a + u) / t.height); var p = Math.max.apply(Math, f); p > 1 && (r /= p, i /= p, o /= p, a /= p, l /= p, u /= p, h /= p, d /= p); var g = t.width - o, B = t.height - u, w = t.width - l, m = t.height - d; return { topLeftOuter: r > 0 || i > 0 ? c(t.left, t.top, r, i, s.TOP_LEFT) : new n.default(t.left, t.top), topLeftInner: r > 0 || i > 0 ? c(t.left + e[3].borderWidth, t.top + e[0].borderWidth, Math.max(0, r - e[3].borderWidth), Math.max(0, i - e[0].borderWidth), s.TOP_LEFT) : new n.default(t.left + e[3].borderWidth, t.top + e[0].borderWidth), topRightOuter: o > 0 || a > 0 ? c(t.left + g, t.top, o, a, s.TOP_RIGHT) : new n.default(t.left + t.width, t.top), topRightInner: o > 0 || a > 0 ? c(t.left + Math.min(g, t.width + e[3].borderWidth), t.top + e[0].borderWidth, g > t.width + e[3].borderWidth ? 0 : o - e[3].borderWidth, a - e[0].borderWidth, s.TOP_RIGHT) : new n.default(t.left + t.width - e[1].borderWidth, t.top + e[0].borderWidth), bottomRightOuter: l > 0 || u > 0 ? c(t.left + w, t.top + B, l, u, s.BOTTOM_RIGHT) : new n.default(t.left + t.width, t.top + t.height), bottomRightInner: l > 0 || u > 0 ? c(t.left + Math.min(w, t.width - e[3].borderWidth), t.top + Math.min(B, t.height + e[0].borderWidth), Math.max(0, l - e[1].borderWidth), u - e[2].borderWidth, s.BOTTOM_RIGHT) : new n.default(t.left + t.width - e[1].borderWidth, t.top + t.height - e[2].borderWidth), bottomLeftOuter: h > 0 || d > 0 ? c(t.left, t.top + m, h, d, s.BOTTOM_LEFT) : new n.default(t.left, t.top + t.height), bottomLeftInner: h > 0 || d > 0 ? c(t.left + e[3].borderWidth, t.top + m, Math.max(0, h - e[3].borderWidth), d - e[2].borderWidth, s.BOTTOM_LEFT) : new n.default(t.left + e[3].borderWidth, t.top + t.height - e[2].borderWidth) } }, { TOP_LEFT: 0, TOP_RIGHT: 1, BOTTOM_RIGHT: 2, BOTTOM_LEFT: 3 }), c = function (t, e, A, r, o) { var a = (Math.sqrt(2) - 1) / 3 * 4, c = A * a, l = r * a, u = t + A, h = e + r; switch (o) { case s.TOP_LEFT: return new i.default(new n.default(t, h), new n.default(t, h - l), new n.default(u - c, e), new n.default(u, e)); case s.TOP_RIGHT: return new i.default(new n.default(t, e), new n.default(t + c, e), new n.default(u, h - l), new n.default(u, h)); case s.BOTTOM_RIGHT: return new i.default(new n.default(u, e), new n.default(u, e + l), new n.default(t + c, h), new n.default(t, h)); case s.BOTTOM_LEFT: default: return new i.default(new n.default(u, h), new n.default(u - c, h), new n.default(t, e + l), new n.default(t, e)) } } }); e(p); p.parseBoundCurves, p.calculatePaddingBoxPath, p.calculateBorderBoxPath, p.parsePathForBorder, p.parseDocumentSize, p.calculateContentBox, p.calculatePaddingBox, p.parseBounds, p.Bounds; var g = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.parsePadding = e.PADDING_SIDES = void 0; var A = function (t) { return t && t.__esModule ? t : { default: t } }(u), r = (e.PADDING_SIDES = { TOP: 0, RIGHT: 1, BOTTOM: 2, LEFT: 3 }, ["top", "right", "bottom", "left"]); e.parsePadding = function (t) { return r.map(function (e) { return new A.default(t.getPropertyValue("padding-" + e)) }) } }); e(g); g.parsePadding, g.PADDING_SIDES; var B = A(function (t, e) { function A(t) { return t && t.__esModule ? t : { default: t } } Object.defineProperty(e, "__esModule", { value: !0 }), e.parseBackgroundImage = e.parseBackground = e.calculateBackgroundRepeatPath = e.calculateBackgroundPosition = e.calculateBackgroungPositioningArea = e.calculateBackgroungPaintingArea = e.calculateGradientBackgroundSize = e.calculateBackgroundSize = e.BACKGROUND_ORIGIN = e.BACKGROUND_CLIP = e.BACKGROUND_SIZE = e.BACKGROUND_REPEAT = void 0; var r = A(o), n = A(u), i = A(h), a = A(d), s = e.BACKGROUND_REPEAT = { REPEAT: 0, NO_REPEAT: 1, REPEAT_X: 2, REPEAT_Y: 3 }, c = e.BACKGROUND_SIZE = { AUTO: 0, CONTAIN: 1, COVER: 2, LENGTH: 3 }, l = e.BACKGROUND_CLIP = { BORDER_BOX: 0, PADDING_BOX: 1, CONTENT_BOX: 2 }, f = e.BACKGROUND_ORIGIN = l, B = function t(e) { switch (function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), e) { case "contain": this.size = c.CONTAIN; break; case "cover": this.size = c.COVER; break; case "auto": this.size = c.AUTO; break; default: this.value = new n.default(e) } }, w = (e.calculateBackgroundSize = function (t, e, A) { var r = 0, n = 0, o = t.size; if (o[0].size === c.CONTAIN || o[0].size === c.COVER) { var a = A.width / A.height, s = e.width / e.height; return a < s != (o[0].size === c.COVER) ? new i.default(A.width, A.width / s) : new i.default(A.height * s, A.height) } return o[0].value && (r = o[0].value.getAbsoluteValue(A.width)), o[0].size === c.AUTO && o[1].size === c.AUTO ? n = e.height : o[1].size === c.AUTO ? n = r / e.width * e.height : o[1].value && (n = o[1].value.getAbsoluteValue(A.height)), o[0].size === c.AUTO && (r = n / e.height * e.width), new i.default(r, n) }, e.calculateGradientBackgroundSize = function (t, e) { var A = t.size, r = A[0].value ? A[0].value.getAbsoluteValue(e.width) : e.width, n = A[1].value ? A[1].value.getAbsoluteValue(e.height) : A[0].value ? r : e.height; return new i.default(r, n) }, new B("auto")), m = (e.calculateBackgroungPaintingArea = function (t, e) { switch (e) { case l.BORDER_BOX: return (0, p.calculateBorderBoxPath)(t); case l.PADDING_BOX: default: return (0, p.calculatePaddingBoxPath)(t) } }, e.calculateBackgroungPositioningArea = function (t, e, A, r) { var n = (0, p.calculatePaddingBox)(e, r); switch (t) { case f.BORDER_BOX: return e; case f.CONTENT_BOX: var i = A[g.PADDING_SIDES.LEFT].getAbsoluteValue(e.width), o = A[g.PADDING_SIDES.RIGHT].getAbsoluteValue(e.width), a = A[g.PADDING_SIDES.TOP].getAbsoluteValue(e.width), s = A[g.PADDING_SIDES.BOTTOM].getAbsoluteValue(e.width); return new p.Bounds(n.left + i, n.top + a, n.width - i - o, n.height - a - s); case f.PADDING_BOX: default: return n } }, e.calculateBackgroundPosition = function (t, e, A) { return new a.default(t[0].getAbsoluteValue(A.width - e.width), t[1].getAbsoluteValue(A.height - e.height)) }, e.calculateBackgroundRepeatPath = function (t, e, A, r, n) { switch (t.repeat) { case s.REPEAT_X: return [new a.default(Math.round(n.left), Math.round(r.top + e.y)), new a.default(Math.round(n.left + n.width), Math.round(r.top + e.y)), new a.default(Math.round(n.left + n.width), Math.round(A.height + r.top + e.y)), new a.default(Math.round(n.left), Math.round(A.height + r.top + e.y))]; case s.REPEAT_Y: return [new a.default(Math.round(r.left + e.x), Math.round(n.top)), new a.default(Math.round(r.left + e.x + A.width), Math.round(n.top)), new a.default(Math.round(r.left + e.x + A.width), Math.round(n.height + n.top)), new a.default(Math.round(r.left + e.x), Math.round(n.height + n.top))]; case s.NO_REPEAT: return [new a.default(Math.round(r.left + e.x), Math.round(r.top + e.y)), new a.default(Math.round(r.left + e.x + A.width), Math.round(r.top + e.y)), new a.default(Math.round(r.left + e.x + A.width), Math.round(r.top + e.y + A.height)), new a.default(Math.round(r.left + e.x), Math.round(r.top + e.y + A.height))]; default: return [new a.default(Math.round(n.left), Math.round(n.top)), new a.default(Math.round(n.left + n.width), Math.round(n.top)), new a.default(Math.round(n.left + n.width), Math.round(n.height + n.top)), new a.default(Math.round(n.left), Math.round(n.height + n.top))] } }, e.parseBackground = function (t, e) { return { backgroundColor: new r.default(t.backgroundColor), backgroundImage: v(t, e), backgroundClip: m(t.backgroundClip), backgroundOrigin: y(t.backgroundOrigin) } }, function (t) { switch (t) { case "padding-box": return l.PADDING_BOX; case "content-box": return l.CONTENT_BOX }return l.BORDER_BOX }), y = function (t) { switch (t) { case "padding-box": return f.PADDING_BOX; case "content-box": return f.CONTENT_BOX }return f.BORDER_BOX }, v = function (t, e) { var A = U(t.backgroundImage).map(function (t) { if ("url" === t.method) { var A = e.loadImage(t.args[0]); t.args = A ? [A] : [] } return t }), r = t.backgroundPosition.split(","), n = t.backgroundRepeat.split(","), i = t.backgroundSize.split(","); return A.map(function (t, e) { var A = (i[e] || "auto").trim().split(" ").map(Q), o = (r[e] || "auto").trim().split(" ").map(C); return { source: t, repeat: function (t) { switch (t.trim()) { case "no-repeat": return s.NO_REPEAT; case "repeat-x": case "repeat no-repeat": return s.REPEAT_X; case "repeat-y": case "no-repeat repeat": return s.REPEAT_Y; case "repeat": return s.REPEAT }return s.REPEAT }("string" == typeof n[e] ? n[e] : n[0]), size: A.length < 2 ? [A[0], w] : [A[0], A[1]], position: o.length < 2 ? [o[0], o[0]] : [o[0], o[1]] } }) }, Q = function (t) { return "auto" === t ? w : new B(t) }, C = function (t) { switch (t) { case "bottom": case "right": return new n.default("100%"); case "left": case "top": return new n.default("0%"); case "auto": return new n.default("0") }return new n.default(t) }, U = e.parseBackgroundImage = function (t) { var e = /^\s$/, A = [], r = [], n = "", i = null, o = "", a = 0, s = 0, c = function () { var t = ""; if (n) { '"' === o.substr(0, 1) && (o = o.substr(1, o.length - 2)), o && r.push(o.trim()); var e = n.indexOf("-", 1) + 1; "-" === n.substr(0, 1) && e > 0 && (t = n.substr(0, e).toLowerCase(), n = n.substr(e)), "none" !== (n = n.toLowerCase()) && A.push({ prefix: t, method: n, args: r }) } r = [], n = o = "" }; return t.split("").forEach(function (t) { if (0 !== a || !e.test(t)) { switch (t) { case '"': i ? i === t && (i = null) : i = t; break; case "(": if (i) break; if (0 === a) return void (a = 1); s++; break; case ")": if (i) break; if (1 === a) { if (0 === s) return a = 0, void c(); s-- } break; case ",": if (i) break; if (0 === a) return void c(); if (1 === a && 0 === s && !n.match(/^url$/i)) return r.push(o.trim()), void (o = "") }0 === a ? n += t : o += t } }), c(), A } }); e(B); B.parseBackgroundImage, B.parseBackground, B.calculateBackgroundRepeatPath, B.calculateBackgroundPosition, B.calculateBackgroungPositioningArea, B.calculateBackgroungPaintingArea, B.calculateGradientBackgroundSize, B.calculateBackgroundSize, B.BACKGROUND_ORIGIN, B.BACKGROUND_CLIP, B.BACKGROUND_SIZE, B.BACKGROUND_REPEAT; var w = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.parseBorder = e.BORDER_SIDES = e.BORDER_STYLE = void 0; var A = function (t) { return t && t.__esModule ? t : { default: t } }(o), r = e.BORDER_STYLE = { NONE: 0, SOLID: 1 }, n = e.BORDER_SIDES = { TOP: 0, RIGHT: 1, BOTTOM: 2, LEFT: 3 }, i = Object.keys(n).map(function (t) { return t.toLowerCase() }); e.parseBorder = function (t) { return i.map(function (e) { var n = new A.default(t.getPropertyValue("border-" + e + "-color")), i = function (t) { switch (t) { case "none": return r.NONE }return r.SOLID }(t.getPropertyValue("border-" + e + "-style")), o = parseFloat(t.getPropertyValue("border-" + e + "-width")); return { borderColor: n, borderStyle: i, borderWidth: isNaN(o) ? 0 : o } }) } }); e(w); w.parseBorder, w.BORDER_SIDES, w.BORDER_STYLE; var m = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.parseBorderRadius = void 0; var A = function () { return function (t, e) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return function (t, e) { var A = [], r = !0, n = !1, i = void 0; try { for (var o, a = t[Symbol.iterator](); !(r = (o = a.next()).done) && (A.push(o.value), !e || A.length !== e); r = !0); } catch (t) { n = !0, i = t } finally { try { !r && a.return && a.return() } finally { if (n) throw i } } return A }(t, e); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), r = function (t) { return t && t.__esModule ? t : { default: t } }(u), n = ["top-left", "top-right", "bottom-right", "bottom-left"]; e.parseBorderRadius = function (t) { return n.map(function (e) { var n = t.getPropertyValue("border-" + e + "-radius").split(" ").map(r.default.create), i = A(n, 2), o = i[0], a = i[1]; return void 0 === a ? [o, o] : [o, a] }) } }); e(m); m.parseBorderRadius; var y = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = e.DISPLAY = { NONE: 1, BLOCK: 2, INLINE: 4, RUN_IN: 8, FLOW: 16, FLOW_ROOT: 32, TABLE: 64, FLEX: 128, GRID: 256, RUBY: 512, SUBGRID: 1024, LIST_ITEM: 2048, TABLE_ROW_GROUP: 4096, TABLE_HEADER_GROUP: 8192, TABLE_FOOTER_GROUP: 16384, TABLE_ROW: 32768, TABLE_CELL: 65536, TABLE_COLUMN_GROUP: 1 << 17, TABLE_COLUMN: 1 << 18, TABLE_CAPTION: 1 << 19, RUBY_BASE: 1 << 20, RUBY_TEXT: 1 << 21, RUBY_BASE_CONTAINER: 1 << 22, RUBY_TEXT_CONTAINER: 1 << 23, CONTENTS: 1 << 24, INLINE_BLOCK: 1 << 25, INLINE_LIST_ITEM: 1 << 26, INLINE_TABLE: 1 << 27, INLINE_FLEX: 1 << 28, INLINE_GRID: 1 << 29 }, r = function (t, e) { return t | function (t) { switch (t) { case "block": return A.BLOCK; case "inline": return A.INLINE; case "run-in": return A.RUN_IN; case "flow": return A.FLOW; case "flow-root": return A.FLOW_ROOT; case "table": return A.TABLE; case "flex": return A.FLEX; case "grid": return A.GRID; case "ruby": return A.RUBY; case "subgrid": return A.SUBGRID; case "list-item": return A.LIST_ITEM; case "table-row-group": return A.TABLE_ROW_GROUP; case "table-header-group": return A.TABLE_HEADER_GROUP; case "table-footer-group": return A.TABLE_FOOTER_GROUP; case "table-row": return A.TABLE_ROW; case "table-cell": return A.TABLE_CELL; case "table-column-group": return A.TABLE_COLUMN_GROUP; case "table-column": return A.TABLE_COLUMN; case "table-caption": return A.TABLE_CAPTION; case "ruby-base": return A.RUBY_BASE; case "ruby-text": return A.RUBY_TEXT; case "ruby-base-container": return A.RUBY_BASE_CONTAINER; case "ruby-text-container": return A.RUBY_TEXT_CONTAINER; case "contents": return A.CONTENTS; case "inline-block": return A.INLINE_BLOCK; case "inline-list-item": return A.INLINE_LIST_ITEM; case "inline-table": return A.INLINE_TABLE; case "inline-flex": return A.INLINE_FLEX; case "inline-grid": return A.INLINE_GRID }return A.NONE }(e) }; e.parseDisplay = function (t) { return t.split(" ").reduce(r, 0) } }); e(y); y.DISPLAY, y.parseDisplay; var v = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = e.FLOAT = { NONE: 0, LEFT: 1, RIGHT: 2, INLINE_START: 3, INLINE_END: 4 }; e.parseCSSFloat = function (t) { switch (t) { case "left": return A.LEFT; case "right": return A.RIGHT; case "inline-start": return A.INLINE_START; case "inline-end": return A.INLINE_END }return A.NONE } }); e(v); v.FLOAT, v.parseCSSFloat; var Q = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); e.parseFont = function (t) { return { fontFamily: t.fontFamily, fontSize: t.fontSize, fontStyle: t.fontStyle, fontVariant: t.fontVariant, fontWeight: function (t) { switch (t) { case "normal": return 400; case "bold": return 700 }var e = parseInt(t, 10); return isNaN(e) ? 400 : e }(t.fontWeight) } } }); e(Q); Q.parseFont; var C = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); e.parseLetterSpacing = function (t) { if ("normal" === t) return 0; var e = parseFloat(t); return isNaN(e) ? 0 : e } }); e(C); C.parseLetterSpacing; var U = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = e.LINE_BREAK = { NORMAL: "normal", STRICT: "strict" }; e.parseLineBreak = function (t) { switch (t) { case "strict": return A.STRICT; case "normal": default: return A.NORMAL } } }); e(U); U.LINE_BREAK, U.parseLineBreak; var b = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.parseListStyle = e.parseListStyleType = e.LIST_STYLE_TYPE = e.LIST_STYLE_POSITION = void 0; var A = e.LIST_STYLE_POSITION = { INSIDE: 0, OUTSIDE: 1 }, r = e.LIST_STYLE_TYPE = { NONE: -1, DISC: 0, CIRCLE: 1, SQUARE: 2, DECIMAL: 3, CJK_DECIMAL: 4, DECIMAL_LEADING_ZERO: 5, LOWER_ROMAN: 6, UPPER_ROMAN: 7, LOWER_GREEK: 8, LOWER_ALPHA: 9, UPPER_ALPHA: 10, ARABIC_INDIC: 11, ARMENIAN: 12, BENGALI: 13, CAMBODIAN: 14, CJK_EARTHLY_BRANCH: 15, CJK_HEAVENLY_STEM: 16, CJK_IDEOGRAPHIC: 17, DEVANAGARI: 18, ETHIOPIC_NUMERIC: 19, GEORGIAN: 20, GUJARATI: 21, GURMUKHI: 22, HEBREW: 22, HIRAGANA: 23, HIRAGANA_IROHA: 24, JAPANESE_FORMAL: 25, JAPANESE_INFORMAL: 26, KANNADA: 27, KATAKANA: 28, KATAKANA_IROHA: 29, KHMER: 30, KOREAN_HANGUL_FORMAL: 31, KOREAN_HANJA_FORMAL: 32, KOREAN_HANJA_INFORMAL: 33, LAO: 34, LOWER_ARMENIAN: 35, MALAYALAM: 36, MONGOLIAN: 37, MYANMAR: 38, ORIYA: 39, PERSIAN: 40, SIMP_CHINESE_FORMAL: 41, SIMP_CHINESE_INFORMAL: 42, TAMIL: 43, TELUGU: 44, THAI: 45, TIBETAN: 46, TRAD_CHINESE_FORMAL: 47, TRAD_CHINESE_INFORMAL: 48, UPPER_ARMENIAN: 49, DISCLOSURE_OPEN: 50, DISCLOSURE_CLOSED: 51 }, n = e.parseListStyleType = function (t) { switch (t) { case "disc": return r.DISC; case "circle": return r.CIRCLE; case "square": return r.SQUARE; case "decimal": return r.DECIMAL; case "cjk-decimal": return r.CJK_DECIMAL; case "decimal-leading-zero": return r.DECIMAL_LEADING_ZERO; case "lower-roman": return r.LOWER_ROMAN; case "upper-roman": return r.UPPER_ROMAN; case "lower-greek": return r.LOWER_GREEK; case "lower-alpha": return r.LOWER_ALPHA; case "upper-alpha": return r.UPPER_ALPHA; case "arabic-indic": return r.ARABIC_INDIC; case "armenian": return r.ARMENIAN; case "bengali": return r.BENGALI; case "cambodian": return r.CAMBODIAN; case "cjk-earthly-branch": return r.CJK_EARTHLY_BRANCH; case "cjk-heavenly-stem": return r.CJK_HEAVENLY_STEM; case "cjk-ideographic": return r.CJK_IDEOGRAPHIC; case "devanagari": return r.DEVANAGARI; case "ethiopic-numeric": return r.ETHIOPIC_NUMERIC; case "georgian": return r.GEORGIAN; case "gujarati": return r.GUJARATI; case "gurmukhi": return r.GURMUKHI; case "hebrew": return r.HEBREW; case "hiragana": return r.HIRAGANA; case "hiragana-iroha": return r.HIRAGANA_IROHA; case "japanese-formal": return r.JAPANESE_FORMAL; case "japanese-informal": return r.JAPANESE_INFORMAL; case "kannada": return r.KANNADA; case "katakana": return r.KATAKANA; case "katakana-iroha": return r.KATAKANA_IROHA; case "khmer": return r.KHMER; case "korean-hangul-formal": return r.KOREAN_HANGUL_FORMAL; case "korean-hanja-formal": return r.KOREAN_HANJA_FORMAL; case "korean-hanja-informal": return r.KOREAN_HANJA_INFORMAL; case "lao": return r.LAO; case "lower-armenian": return r.LOWER_ARMENIAN; case "malayalam": return r.MALAYALAM; case "mongolian": return r.MONGOLIAN; case "myanmar": return r.MYANMAR; case "oriya": return r.ORIYA; case "persian": return r.PERSIAN; case "simp-chinese-formal": return r.SIMP_CHINESE_FORMAL; case "simp-chinese-informal": return r.SIMP_CHINESE_INFORMAL; case "tamil": return r.TAMIL; case "telugu": return r.TELUGU; case "thai": return r.THAI; case "tibetan": return r.TIBETAN; case "trad-chinese-formal": return r.TRAD_CHINESE_FORMAL; case "trad-chinese-informal": return r.TRAD_CHINESE_INFORMAL; case "upper-armenian": return r.UPPER_ARMENIAN; case "disclosure-open": return r.DISCLOSURE_OPEN; case "disclosure-closed": return r.DISCLOSURE_CLOSED; case "none": default: return r.NONE } }, i = (e.parseListStyle = function (t) { var e = (0, B.parseBackgroundImage)(t.getPropertyValue("list-style-image")); return { listStyleType: n(t.getPropertyValue("list-style-type")), listStyleImage: e.length ? e[0] : null, listStylePosition: i(t.getPropertyValue("list-style-position")) } }, function (t) { switch (t) { case "inside": return A.INSIDE; case "outside": default: return A.OUTSIDE } }) }); e(b); b.parseListStyle, b.parseListStyleType, b.LIST_STYLE_TYPE, b.LIST_STYLE_POSITION; var F = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.parseMargin = void 0; var A = function (t) { return t && t.__esModule ? t : { default: t } }(u), r = ["top", "right", "bottom", "left"]; e.parseMargin = function (t) { return r.map(function (e) { return new A.default(t.getPropertyValue("margin-" + e)) }) } }); e(F); F.parseMargin; var E = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = e.OVERFLOW = { VISIBLE: 0, HIDDEN: 1, SCROLL: 2, AUTO: 3 }; e.parseOverflow = function (t) { switch (t) { case "hidden": return A.HIDDEN; case "scroll": return A.SCROLL; case "auto": return A.AUTO; case "visible": default: return A.VISIBLE } } }); e(E); E.OVERFLOW, E.parseOverflow; var x = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = e.OVERFLOW_WRAP = { NORMAL: 0, BREAK_WORD: 1 }; e.parseOverflowWrap = function (t) { switch (t) { case "break-word": return A.BREAK_WORD; case "normal": default: return A.NORMAL } } }); e(x); x.OVERFLOW_WRAP, x.parseOverflowWrap; var H = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = e.POSITION = { STATIC: 0, RELATIVE: 1, ABSOLUTE: 2, FIXED: 3, STICKY: 4 }; e.parsePosition = function (t) { switch (t) { case "relative": return A.RELATIVE; case "absolute": return A.ABSOLUTE; case "fixed": return A.FIXED; case "sticky": return A.STICKY }return A.STATIC } }); e(H); H.POSITION, H.parsePosition; var I = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.parseTextShadow = void 0; var A = function (t) { return t && t.__esModule ? t : { default: t } }(o), r = /^([+-]|\d|\.)$/i; e.parseTextShadow = function (t) { if ("none" === t || "string" != typeof t) return null; for (var e = "", n = !1, i = [], o = [], a = 0, s = null, c = function () { e.length && (n ? i.push(parseFloat(e)) : s = new A.default(e)), n = !1, e = "" }, l = function () { i.length && null !== s && o.push({ color: s, offsetX: i[0] || 0, offsetY: i[1] || 0, blur: i[2] || 0 }), i.splice(0, i.length), s = null }, u = 0; u < t.length; u++) { var h = t[u]; switch (h) { case "(": e += h, a++; break; case ")": e += h, a--; break; case ",": 0 === a ? (c(), l()) : e += h; break; case " ": 0 === a ? c() : e += h; break; default: 0 === e.length && r.test(h) && (n = !0), e += h } } return c(), l(), 0 === o.length ? null : o } }); e(I); I.parseTextShadow; var S = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = e.TEXT_TRANSFORM = { NONE: 0, LOWERCASE: 1, UPPERCASE: 2, CAPITALIZE: 3 }; e.parseTextTransform = function (t) { switch (t) { case "uppercase": return A.UPPERCASE; case "lowercase": return A.LOWERCASE; case "capitalize": return A.CAPITALIZE }return A.NONE } }); e(S); S.TEXT_TRANSFORM, S.parseTextTransform; var _ = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.parseTransform = void 0; var A = function (t) { return t && t.__esModule ? t : { default: t } }(u), r = function (t) { return parseFloat(t.trim()) }, n = /(matrix|matrix3d)\((.+)\)/, i = (e.parseTransform = function (t) { var e = o(t.transform || t.webkitTransform || t.mozTransform || t.msTransform || t.oTransform); return null === e ? null : { transform: e, transformOrigin: i(t.transformOrigin || t.webkitTransformOrigin || t.mozTransformOrigin || t.msTransformOrigin || t.oTransformOrigin) } }, function (t) { if ("string" != typeof t) { var e = new A.default("0"); return [e, e] } var r = t.split(" ").map(A.default.create); return [r[0], r[1]] }), o = function (t) { if ("none" === t || "string" != typeof t) return null; var e = t.match(n); if (e) { if ("matrix" === e[1]) { var A = e[2].split(",").map(r); return [A[0], A[1], A[2], A[3], A[4], A[5]] } var i = e[2].split(",").map(r); return [i[0], i[1], i[4], i[5], i[12], i[13]] } return null } }); e(_); _.parseTransform; var T = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = e.VISIBILITY = { VISIBLE: 0, HIDDEN: 1, COLLAPSE: 2 }; e.parseVisibility = function (t) { switch (t) { case "hidden": return A.HIDDEN; case "collapse": return A.COLLAPSE; case "visible": default: return A.VISIBLE } } }); e(T); T.VISIBILITY, T.parseVisibility; var N = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = e.WORD_BREAK = { NORMAL: "normal", BREAK_ALL: "break-all", KEEP_ALL: "keep-all" }; e.parseWordBreak = function (t) { switch (t) { case "break-all": return A.BREAK_ALL; case "keep-all": return A.KEEP_ALL; case "normal": default: return A.NORMAL } } }); e(N); N.WORD_BREAK, N.parseWordBreak; var k = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); e.parseZIndex = function (t) { var e = "auto" === t; return { auto: e, order: e ? 0 : parseInt(t, 10) } } }); e(k); k.parseZIndex; var O = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), r = function () { function t(e) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.element = e } return A(t, [{ key: "render", value: function (t) { var e = this; this.options = t, this.canvas = document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this.canvas.width = Math.floor(t.width) * t.scale, this.canvas.height = Math.floor(t.height) * t.scale, this.canvas.style.width = t.width + "px", this.canvas.style.height = t.height + "px", t.logger.log("ForeignObject renderer initialized (" + t.width + "x" + t.height + " at " + t.x + "," + t.y + ") with scale " + t.scale); var A = n(Math.max(t.windowWidth, t.width) * t.scale, Math.max(t.windowHeight, t.height) * t.scale, t.scrollX * t.scale, t.scrollY * t.scale, this.element); return i(A).then(function (A) { return t.backgroundColor && (e.ctx.fillStyle = t.backgroundColor.toString(), e.ctx.fillRect(0, 0, t.width * t.scale, t.height * t.scale)), e.ctx.drawImage(A, -t.x * t.scale, -t.y * t.scale), e.canvas }) } }]), t }(); e.default = r; var n = e.createForeignObjectSVG = function (t, e, A, r, n) { var i = "http://www.w3.org/2000/svg", o = document.createElementNS(i, "svg"), a = document.createElementNS(i, "foreignObject"); return o.setAttributeNS(null, "width", t), o.setAttributeNS(null, "height", e), a.setAttributeNS(null, "width", "100%"), a.setAttributeNS(null, "height", "100%"), a.setAttributeNS(null, "x", A), a.setAttributeNS(null, "y", r), a.setAttributeNS(null, "externalResourcesRequired", "true"), o.appendChild(a), a.appendChild(n), o }, i = e.loadSerializedSVG = function (t) { return new Promise(function (e, A) { var r = new Image; r.onload = function () { return e(r) }, r.onerror = A, r.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent((new XMLSerializer).serializeToString(t)) }) } }); e(O); O.createForeignObjectSVG, O.loadSerializedSVG; var P = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = function (t) { return 0 === t[0] && 255 === t[1] && 0 === t[2] && 255 === t[3] }, r = { get SUPPORT_RANGE_BOUNDS() { var t = function (t) { if (t.createRange) { var e = t.createRange(); if (e.getBoundingClientRect) { var A = t.createElement("boundtest"); A.style.height = "123px", A.style.display = "block", t.body.appendChild(A), e.selectNode(A); var r = e.getBoundingClientRect(), n = Math.round(r.height); if (t.body.removeChild(A), 123 === n) return !0 } } return !1 }(document); return Object.defineProperty(r, "SUPPORT_RANGE_BOUNDS", { value: t }), t }, get SUPPORT_SVG_DRAWING() { var t = function (t) { var e = new Image, A = t.createElement("canvas"), r = A.getContext("2d"); e.src = "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>"; try { r.drawImage(e, 0, 0), A.toDataURL() } catch (t) { return !1 } return !0 }(document); return Object.defineProperty(r, "SUPPORT_SVG_DRAWING", { value: t }), t }, get SUPPORT_BASE64_DRAWING() { return function (t) { var e = function (t, e) { var A = new Image, r = t.createElement("canvas"), n = r.getContext("2d"); return new Promise(function (t) { A.src = e; var i = function () { try { n.drawImage(A, 0, 0), r.toDataURL() } catch (e) { return t(!1) } return t(!0) }; A.onload = i, A.onerror = function () { return t(!1) }, !0 === A.complete && setTimeout(function () { i() }, 500) }) }(document, t); return Object.defineProperty(r, "SUPPORT_BASE64_DRAWING", { value: function () { return e } }), e } }, get SUPPORT_FOREIGNOBJECT_DRAWING() { var t = "function" == typeof Array.from && "function" == typeof window.fetch ? function (t) { var e = t.createElement("canvas"); e.width = 100, e.height = 100; var r = e.getContext("2d"); r.fillStyle = "rgb(0, 255, 0)", r.fillRect(0, 0, 100, 100); var n = new Image, i = e.toDataURL(); n.src = i; var o = (0, O.createForeignObjectSVG)(100, 100, 0, 0, n); return r.fillStyle = "red", r.fillRect(0, 0, 100, 100), (0, O.loadSerializedSVG)(o).then(function (e) { r.drawImage(e, 0, 0); var n = r.getImageData(0, 0, 100, 100).data; r.fillStyle = "red", r.fillRect(0, 0, 100, 100); var o = t.createElement("div"); return o.style.backgroundImage = "url(" + i + ")", o.style.height = "100px", A(n) ? (0, O.loadSerializedSVG)((0, O.createForeignObjectSVG)(100, 100, 0, 0, o)) : Promise.reject(!1) }).then(function (t) { return r.drawImage(t, 0, 0), A(r.getImageData(0, 0, 100, 100).data) }).catch(function (t) { return !1 }) }(document) : Promise.resolve(!1); return Object.defineProperty(r, "SUPPORT_FOREIGNOBJECT_DRAWING", { value: t }), t }, get SUPPORT_CORS_IMAGES() { var t = void 0 !== (new Image).crossOrigin; return Object.defineProperty(r, "SUPPORT_CORS_IMAGES", { value: t }), t }, get SUPPORT_RESPONSE_TYPE() { var t = "string" == typeof (new XMLHttpRequest).responseType; return Object.defineProperty(r, "SUPPORT_RESPONSE_TYPE", { value: t }), t }, get SUPPORT_CORS_XHR() { var t = "withCredentials" in new XMLHttpRequest; return Object.defineProperty(r, "SUPPORT_CORS_XHR", { value: t }), t } }; e.default = r }); e(P); var D = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); e.toCodePoints = function (t) { for (var e = [], A = 0, r = t.length; A < r;) { var n = t.charCodeAt(A++); if (n >= 55296 && n <= 56319 && A < r) { var i = t.charCodeAt(A++); 56320 == (64512 & i) ? e.push(((1023 & n) << 10) + (1023 & i) + 65536) : (e.push(n), A--) } else e.push(n) } return e }, e.fromCodePoint = function () { if (String.fromCodePoint) return String.fromCodePoint.apply(String, arguments); var t = arguments.length; if (!t) return ""; for (var e = [], A = -1, r = ""; ++A < t;) { var n = arguments.length <= A ? void 0 : arguments[A]; n <= 65535 ? e.push(n) : (n -= 65536, e.push(55296 + (n >> 10), n % 1024 + 56320)), (A + 1 === t || e.length > 16384) && (r += String.fromCharCode.apply(String, e), e.length = 0) } return r }; for (var A = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", r = "undefined" == typeof Uint8Array ? [] : new Uint8Array(256), n = 0; n < A.length; n++)r[A.charCodeAt(n)] = n; e.decode = function (t) { var e = .75 * t.length, A = t.length, n = void 0, i = 0, o = void 0, a = void 0, s = void 0, c = void 0; "=" === t[t.length - 1] && (e-- , "=" === t[t.length - 2] && e--); var l = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array && void 0 !== Uint8Array.prototype.slice ? new ArrayBuffer(e) : new Array(e), u = Array.isArray(l) ? l : new Uint8Array(l); for (n = 0; n < A; n += 4)o = r[t.charCodeAt(n)], a = r[t.charCodeAt(n + 1)], s = r[t.charCodeAt(n + 2)], c = r[t.charCodeAt(n + 3)], u[i++] = o << 2 | a >> 4, u[i++] = (15 & a) << 4 | s >> 2, u[i++] = (3 & s) << 6 | 63 & c; return l }, e.polyUint16Array = function (t) { for (var e = t.length, A = [], r = 0; r < e; r += 2)A.push(t[r + 1] << 8 | t[r]); return A }, e.polyUint32Array = function (t) { for (var e = t.length, A = [], r = 0; r < e; r += 4)A.push(t[r + 3] << 24 | t[r + 2] << 16 | t[r + 1] << 8 | t[r]); return A } }); e(D); D.toCodePoints, D.fromCodePoint, D.decode, D.polyUint16Array, D.polyUint32Array; var L = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.Trie = e.createTrieFromBase64 = e.UTRIE2_INDEX_2_MASK = e.UTRIE2_INDEX_2_BLOCK_LENGTH = e.UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = e.UTRIE2_INDEX_1_OFFSET = e.UTRIE2_UTF8_2B_INDEX_2_LENGTH = e.UTRIE2_UTF8_2B_INDEX_2_OFFSET = e.UTRIE2_INDEX_2_BMP_LENGTH = e.UTRIE2_LSCP_INDEX_2_LENGTH = e.UTRIE2_DATA_MASK = e.UTRIE2_DATA_BLOCK_LENGTH = e.UTRIE2_LSCP_INDEX_2_OFFSET = e.UTRIE2_SHIFT_1_2 = e.UTRIE2_INDEX_SHIFT = e.UTRIE2_SHIFT_1 = e.UTRIE2_SHIFT_2 = void 0; var A = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), r = e.UTRIE2_SHIFT_2 = 5, n = e.UTRIE2_SHIFT_1 = 11, i = e.UTRIE2_INDEX_SHIFT = 2, o = e.UTRIE2_SHIFT_1_2 = n - r, a = e.UTRIE2_LSCP_INDEX_2_OFFSET = 65536 >> r, s = e.UTRIE2_DATA_BLOCK_LENGTH = 1 << r, c = e.UTRIE2_DATA_MASK = s - 1, l = e.UTRIE2_LSCP_INDEX_2_LENGTH = 1024 >> r, u = e.UTRIE2_INDEX_2_BMP_LENGTH = a + l, h = e.UTRIE2_UTF8_2B_INDEX_2_OFFSET = u, d = e.UTRIE2_UTF8_2B_INDEX_2_LENGTH = 32, f = e.UTRIE2_INDEX_1_OFFSET = h + d, p = e.UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 65536 >> n, g = e.UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << o, B = e.UTRIE2_INDEX_2_MASK = g - 1, w = (e.createTrieFromBase64 = function (t) { var e = (0, D.decode)(t), A = Array.isArray(e) ? (0, D.polyUint32Array)(e) : new Uint32Array(e), r = Array.isArray(e) ? (0, D.polyUint16Array)(e) : new Uint16Array(e), n = r.slice(12, A[4] / 2), i = 2 === A[5] ? r.slice((24 + A[4]) / 2) : A.slice(Math.ceil((24 + A[4]) / 4)); return new w(A[0], A[1], A[2], A[3], n, i) }, e.Trie = function () { function t(e, A, r, n, i, o) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.initialValue = e, this.errorValue = A, this.highStart = r, this.highValueIndex = n, this.index = i, this.data = o } return A(t, [{ key: "get", value: function (t) { var e = void 0; if (t >= 0) { if (t < 55296 || t > 56319 && t <= 65535) return e = this.index[t >> r], e = (e << i) + (t & c), this.data[e]; if (t <= 65535) return e = this.index[a + (t - 55296 >> r)], e = (e << i) + (t & c), this.data[e]; if (t < this.highStart) return e = f - p + (t >> n), e = this.index[e], e += t >> r & B, e = this.index[e], e = (e << i) + (t & c), this.data[e]; if (t <= 1114111) return this.data[this.highValueIndex] } return this.errorValue } }]), t }()) }); e(L); L.Trie, L.createTrieFromBase64, L.UTRIE2_INDEX_2_MASK, L.UTRIE2_INDEX_2_BLOCK_LENGTH, L.UTRIE2_OMITTED_BMP_INDEX_1_LENGTH, L.UTRIE2_INDEX_1_OFFSET, L.UTRIE2_UTF8_2B_INDEX_2_LENGTH, L.UTRIE2_UTF8_2B_INDEX_2_OFFSET, L.UTRIE2_INDEX_2_BMP_LENGTH, L.UTRIE2_LSCP_INDEX_2_LENGTH, L.UTRIE2_DATA_MASK, L.UTRIE2_DATA_BLOCK_LENGTH, L.UTRIE2_LSCP_INDEX_2_OFFSET, L.UTRIE2_SHIFT_1_2, L.UTRIE2_INDEX_SHIFT, L.UTRIE2_SHIFT_1, L.UTRIE2_SHIFT_2; var R = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.LineBreaker = e.inlineBreakOpportunities = e.lineBreakAtIndex = e.codePointsToCharacterClasses = e.UnicodeTrie = e.BREAK_ALLOWED = e.BREAK_NOT_ALLOWED = e.BREAK_MANDATORY = e.classes = e.LETTER_NUMBER_MODIFIER = void 0; var A = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), r = function () { return function (t, e) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return function (t, e) { var A = [], r = !0, n = !1, i = void 0; try { for (var o, a = t[Symbol.iterator](); !(r = (o = a.next()).done) && (A.push(o.value), !e || A.length !== e); r = !0); } catch (t) { n = !0, i = t } finally { try { !r && a.return && a.return() } finally { if (n) throw i } } return A }(t, e); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), n = function (t) { return t && t.__esModule ? t : { default: t } }("KwAAAAAAAAAACA4AIDoAAPAfAAACAAAAAAAIABAAGABAAEgAUABYAF4AZgBeAGYAYABoAHAAeABeAGYAfACEAIAAiACQAJgAoACoAK0AtQC9AMUAXgBmAF4AZgBeAGYAzQDVAF4AZgDRANkA3gDmAOwA9AD8AAQBDAEUARoBIgGAAIgAJwEvATcBPwFFAU0BTAFUAVwBZAFsAXMBewGDATAAiwGTAZsBogGkAawBtAG8AcIBygHSAdoB4AHoAfAB+AH+AQYCDgIWAv4BHgImAi4CNgI+AkUCTQJTAlsCYwJrAnECeQKBAk0CiQKRApkCoQKoArACuALAAsQCzAIwANQC3ALkAjAA7AL0AvwCAQMJAxADGAMwACADJgMuAzYDPgOAAEYDSgNSA1IDUgNaA1oDYANiA2IDgACAAGoDgAByA3YDfgOAAIQDgACKA5IDmgOAAIAAogOqA4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAK8DtwOAAIAAvwPHA88D1wPfAyAD5wPsA/QD/AOAAIAABAQMBBIEgAAWBB4EJgQuBDMEIAM7BEEEXgBJBCADUQRZBGEEaQQwADAAcQQ+AXkEgQSJBJEEgACYBIAAoASoBK8EtwQwAL8ExQSAAIAAgACAAIAAgACgAM0EXgBeAF4AXgBeAF4AXgBeANUEXgDZBOEEXgDpBPEE+QQBBQkFEQUZBSEFKQUxBTUFPQVFBUwFVAVcBV4AYwVeAGsFcwV7BYMFiwWSBV4AmgWgBacFXgBeAF4AXgBeAKsFXgCyBbEFugW7BcIFwgXIBcIFwgXQBdQF3AXkBesF8wX7BQMGCwYTBhsGIwYrBjMGOwZeAD8GRwZNBl4AVAZbBl4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAGMGXgBqBnEGXgBeAF4AXgBeAF4AXgBeAF4AXgB5BoAG4wSGBo4GkwaAAIADHgR5AF4AXgBeAJsGgABGA4AAowarBrMGswagALsGwwbLBjAA0wbaBtoG3QbaBtoG2gbaBtoG2gblBusG8wb7BgMHCwcTBxsHCwcjBysHMAc1BzUHOgdCB9oGSgdSB1oHYAfaBloHaAfaBlIH2gbaBtoG2gbaBtoG2gbaBjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHbQdeAF4ANQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQd1B30HNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B4MH2gaKB68EgACAAIAAgACAAIAAgACAAI8HlwdeAJ8HpweAAIAArwe3B14AXgC/B8UHygcwANAH2AfgB4AA6AfwBz4B+AcACFwBCAgPCBcIogEYAR8IJwiAAC8INwg/CCADRwhPCFcIXwhnCEoDGgSAAIAAgABvCHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIhAiLCI4IMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAANQc1BzUHNQc1BzUHNQc1BzUHNQc1B54INQc1B6II2gaqCLIIugiAAIAAvgjGCIAAgACAAIAAgACAAIAAgACAAIAAywiHAYAA0wiAANkI3QjlCO0I9Aj8CIAAgACAAAIJCgkSCRoJIgknCTYHLwk3CZYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiAAIAAAAFAAXgBeAGAAcABeAHwAQACQAKAArQC9AJ4AXgBeAE0A3gBRAN4A7AD8AMwBGgEAAKcBNwEFAUwBXAF4QkhCmEKnArcCgAHHAsABz4LAAcABwAHAAd+C6ABoAG+C/4LAAcABwAHAAc+DF4MAAcAB54M3gweDV4Nng3eDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEeDqABVg6WDqABoQ6gAaABoAHXDvcONw/3DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DncPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB7cPPwlGCU4JMACAAIAAgABWCV4JYQmAAGkJcAl4CXwJgAkwADAAMAAwAIgJgACLCZMJgACZCZ8JowmrCYAAswkwAF4AXgB8AIAAuwkABMMJyQmAAM4JgADVCTAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAqwYWBNkIMAAwADAAMADdCeAJ6AnuCR4E9gkwAP4JBQoNCjAAMACAABUK0wiAAB0KJAosCjQKgAAwADwKQwqAAEsKvQmdCVMKWwowADAAgACAALcEMACAAGMKgABrCjAAMAAwADAAMAAwADAAMAAwADAAMAAeBDAAMAAwADAAMAAwADAAMAAwADAAMAAwAIkEPQFzCnoKiQSCCooKkAqJBJgKoAqkCokEGAGsCrQKvArBCjAAMADJCtEKFQHZCuEK/gHpCvEKMAAwADAAMACAAIwE+QowAIAAPwEBCzAAMAAwADAAMACAAAkLEQswAIAAPwEZCyELgAAOCCkLMAAxCzkLMAAwADAAMAAwADAAXgBeAEELMAAwADAAMAAwADAAMAAwAEkLTQtVC4AAXAtkC4AAiQkwADAAMAAwADAAMAAwADAAbAtxC3kLgAuFC4sLMAAwAJMLlwufCzAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAApwswADAAMACAAIAAgACvC4AAgACAAIAAgACAALcLMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAvwuAAMcLgACAAIAAgACAAIAAyguAAIAAgACAAIAA0QswADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAANkLgACAAIAA4AswADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACJCR4E6AswADAAhwHwC4AA+AsADAgMEAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACAAIAAGAwdDCUMMAAwAC0MNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQw1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHPQwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUHNQc1BzUHNQc1BzUHNQc2BzAAMAA5DDUHNQc1BzUHNQc1BzUHNQc1BzUHNQdFDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAATQxSDFoMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAF4AXgBeAF4AXgBeAF4AYgxeAGoMXgBxDHkMfwxeAIUMXgBeAI0MMAAwADAAMAAwAF4AXgCVDJ0MMAAwADAAMABeAF4ApQxeAKsMswy7DF4Awgy9DMoMXgBeAF4AXgBeAF4AXgBeAF4AXgDRDNkMeQBqCeAM3Ax8AOYM7Az0DPgMXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgCgAAANoAAHDQ4NFg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAeDSYNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAC4NMABeAF4ANg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAD4NRg1ODVYNXg1mDTAAbQ0wADAAMAAwADAAMAAwADAA2gbaBtoG2gbaBtoG2gbaBnUNeg3CBYANwgWFDdoGjA3aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gaUDZwNpA2oDdoG2gawDbcNvw3HDdoG2gbPDdYN3A3fDeYN2gbsDfMN2gbaBvoN/g3aBgYODg7aBl4AXgBeABYOXgBeACUG2gYeDl4AJA5eACwO2w3aBtoGMQ45DtoG2gbaBtoGQQ7aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B1EO2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQdZDjUHNQc1BzUHNQc1B2EONQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHaA41BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B3AO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B2EO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBkkOeA6gAKAAoAAwADAAMAAwAKAAoACgAKAAoACgAKAAgA4wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAD//wQABAAEAAQABAAEAAQABAAEAA0AAwABAAEAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAKABMAFwAeABsAGgAeABcAFgASAB4AGwAYAA8AGAAcAEsASwBLAEsASwBLAEsASwBLAEsAGAAYAB4AHgAeABMAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAFgAbABIAHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYADQARAB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkAFgAaABsAGwAbAB4AHQAdAB4ATwAXAB4ADQAeAB4AGgAbAE8ATwAOAFAAHQAdAB0ATwBPABcATwBPAE8AFgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwArAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAAQABAANAA0ASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAUAArACsAKwArACsAKwArACsABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAGgAaAFAAUABQAFAAUABMAB4AGwBQAB4AKwArACsABAAEAAQAKwBQAFAAUABQAFAAUAArACsAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUAArAFAAUAArACsABAArAAQABAAEAAQABAArACsAKwArAAQABAArACsABAAEAAQAKwArACsABAArACsAKwArACsAKwArAFAAUABQAFAAKwBQACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwAEAAQAUABQAFAABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQAKwArAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeABsAKwArACsAKwArACsAKwBQAAQABAAEAAQABAAEACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAKwArACsAKwArACsAKwArAAQABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwAEAFAAKwBQAFAAUABQAFAAUAArACsAKwBQAFAAUAArAFAAUABQAFAAKwArACsAUABQACsAUAArAFAAUAArACsAKwBQAFAAKwArACsAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQAKwArACsABAAEAAQAKwAEAAQABAAEACsAKwBQACsAKwArACsAKwArAAQAKwArACsAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAB4AHgAeAB4AHgAeABsAHgArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArAFAAUABQACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAB4AUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArACsAKwArACsAKwArAFAAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwArAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAKwBcAFwAKwBcACsAKwBcACsAKwArACsAKwArAFwAXABcAFwAKwBcAFwAXABcAFwAXABcACsAXABcAFwAKwBcACsAXAArACsAXABcACsAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgArACoAKgBcACsAKwBcAFwAXABcAFwAKwBcACsAKgAqACoAKgAqACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAFwAXABcAFwAUAAOAA4ADgAOAB4ADgAOAAkADgAOAA0ACQATABMAEwATABMACQAeABMAHgAeAB4ABAAEAB4AHgAeAB4AHgAeAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUAANAAQAHgAEAB4ABAAWABEAFgARAAQABABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAAQABAAEAAQABAANAAQABABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsADQANAB4AHgAeAB4AHgAeAAQAHgAeAB4AHgAeAB4AKwAeAB4ADgAOAA0ADgAeAB4AHgAeAB4ACQAJACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgAeAB4AHgBcAFwAXABcAFwAXAAqACoAKgAqAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAKgAqACoAKgAqACoAKgBcAFwAXAAqACoAKgAqAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAXAAqAEsASwBLAEsASwBLAEsASwBLAEsAKgAqACoAKgAqACoAUABQAFAAUABQAFAAKwBQACsAKwArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQACsAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwAEAAQABAAeAA0AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAEQArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAADQANAA0AUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAA0ADQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoADQANABUAXAANAB4ADQAbAFwAKgArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAB4AHgATABMADQANAA4AHgATABMAHgAEAAQABAAJACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAUABQAFAAUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwAeACsAKwArABMAEwBLAEsASwBLAEsASwBLAEsASwBLAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwBcAFwAXABcAFwAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcACsAKwArACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwAeAB4AXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsABABLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKgAqACoAKgAqACoAKgBcACoAKgAqACoAKgAqACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAUABQAFAAUABQAFAAUAArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4ADQANAA0ADQAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAHgAeAB4AHgBQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwANAA0ADQANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwBQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsABAAEAAQAHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAABABQAFAAUABQAAQABAAEAFAAUAAEAAQABAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAKwBQACsAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAKwArAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAKwAeAB4AHgAeAB4AHgAeAA4AHgArAA0ADQANAA0ADQANAA0ACQANAA0ADQAIAAQACwAEAAQADQAJAA0ADQAMAB0AHQAeABcAFwAWABcAFwAXABYAFwAdAB0AHgAeABQAFAAUAA0AAQABAAQABAAEAAQABAAJABoAGgAaABoAGgAaABoAGgAeABcAFwAdABUAFQAeAB4AHgAeAB4AHgAYABYAEQAVABUAFQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgANAB4ADQANAA0ADQAeAA0ADQANAAcAHgAeAB4AHgArAAQABAAEAAQABAAEAAQABAAEAAQAUABQACsAKwBPAFAAUABQAFAAUAAeAB4AHgAWABEATwBQAE8ATwBPAE8AUABQAFAAUABQAB4AHgAeABYAEQArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGgAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgBQABoAHgAdAB4AUAAeABoAHgAeAB4AHgAeAB4AHgAeAB4ATwAeAFAAGwAeAB4AUABQAFAAUABQAB4AHgAeAB0AHQAeAFAAHgBQAB4AUAAeAFAATwBQAFAAHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AUABQAFAAUABPAE8AUABQAFAAUABQAE8AUABQAE8AUABPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAE8ATwBPAE8ATwBPAE8ATwBPAE8AUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAATwAeAB4AKwArACsAKwAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB0AHQAeAB4AHgAdAB0AHgAeAB0AHgAeAB4AHQAeAB0AGwAbAB4AHQAeAB4AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB0AHgAdAB4AHQAdAB0AHQAdAB0AHgAdAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAdAB0AHQAdAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAlACUAHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB0AHQAeAB4AHgAeAB0AHQAdAB4AHgAdAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB0AHQAeAB4AHQAeAB4AHgAeAB0AHQAeAB4AHgAeACUAJQAdAB0AJQAeACUAJQAlACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHQAdAB0AHgAdACUAHQAdAB4AHQAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHQAdAB0AHQAlAB4AJQAlACUAHQAlACUAHQAdAB0AJQAlAB0AHQAlAB0AHQAlACUAJQAeAB0AHgAeAB4AHgAdAB0AJQAdAB0AHQAdAB0AHQAlACUAJQAlACUAHQAlACUAIAAlAB0AHQAlACUAJQAlACUAJQAlACUAHgAeAB4AJQAlACAAIAAgACAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeABcAFwAXABcAFwAXAB4AEwATACUAHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACUAJQBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwArACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAE8ATwBPAE8ATwBPAE8ATwAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeACsAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUAArACsAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQBQAFAAUABQACsAKwArACsAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAABAAEAAQAKwAEAAQAKwArACsAKwArAAQABAAEAAQAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsABAAEAAQAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsADQANAA0ADQANAA0ADQANAB4AKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAUABQAFAAUABQAA0ADQANAA0ADQANABQAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwANAA0ADQANAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAeAAQABAAEAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLACsADQArAB4AKwArAAQABAAEAAQAUABQAB4AUAArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwAEAAQABAAEAAQABAAEAAQABAAOAA0ADQATABMAHgAeAB4ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AUABQAFAAUAAEAAQAKwArAAQADQANAB4AUAArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXABcAA0ADQANACoASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUAArACsAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANACsADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEcARwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwAeAAQABAANAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAEAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUAArACsAUAArACsAUABQACsAKwBQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAeAB4ADQANAA0ADQAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAArAAQABAArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAEAAQABAAEAAQABAAEACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAFgAWAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAKwBQACsAKwArACsAKwArAFAAKwArACsAKwBQACsAUAArAFAAKwBQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQACsAUAArAFAAKwBQACsAUABQACsAUAArACsAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAUABQAFAAUAArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUAArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAlACUAJQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeACUAJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeACUAJQAlACUAJQAeACUAJQAlACUAJQAgACAAIAAlACUAIAAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIQAhACEAIQAhACUAJQAgACAAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAIAAlACUAJQAlACAAJQAgACAAIAAgACAAIAAgACAAIAAlACUAJQAgACUAJQAlACUAIAAgACAAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeACUAHgAlAB4AJQAlACUAJQAlACAAJQAlACUAJQAeACUAHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAIAAgACAAIAAgAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFwAXABcAFQAVABUAHgAeAB4AHgAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAlACAAIAAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsA"), i = e.LETTER_NUMBER_MODIFIER = 50, o = 10, a = 13, s = 15, c = 17, l = 18, u = 19, h = 20, d = 21, f = 22, p = 24, g = 25, B = 26, w = 27, m = 28, y = 30, v = 32, Q = 33, C = 34, U = 35, b = 37, F = 38, E = 39, x = 40, H = 42, I = (e.classes = { BK: 1, CR: 2, LF: 3, CM: 4, NL: 5, SG: 6, WJ: 7, ZW: 8, GL: 9, SP: o, ZWJ: 11, B2: 12, BA: a, BB: 14, HY: s, CB: 16, CL: c, CP: l, EX: u, IN: h, NS: d, OP: f, QU: 23, IS: p, NU: g, PO: B, PR: w, SY: m, AI: 29, AL: y, CJ: 31, EB: v, EM: Q, H2: C, H3: U, HL: 36, ID: b, JL: F, JV: E, JT: x, RI: 41, SA: H, XX: 43 }, e.BREAK_MANDATORY = "!"), S = e.BREAK_NOT_ALLOWED = "×", _ = e.BREAK_ALLOWED = "÷", T = e.UnicodeTrie = (0, L.createTrieFromBase64)(n.default), N = [y, 36], k = [1, 2, 3, 5], O = [o, 8], P = [w, B], R = k.concat(O), M = [F, E, x, C, U], K = [s, a], z = e.codePointsToCharacterClasses = function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "strict", A = [], r = [], n = []; return t.forEach(function (t, o) { var a = T.get(t); if (a > i ? (n.push(!0), a -= i) : n.push(!1), -1 !== ["normal", "auto", "loose"].indexOf(e) && -1 !== [8208, 8211, 12316, 12448].indexOf(t)) return r.push(o), A.push(16); if (4 === a || 11 === a) { if (0 === o) return r.push(o), A.push(y); var s = A[o - 1]; return -1 === R.indexOf(s) ? (r.push(r[o - 1]), A.push(s)) : (r.push(o), A.push(y)) } return r.push(o), 31 === a ? A.push("strict" === e ? d : b) : a === H ? A.push(y) : 29 === a ? A.push(y) : 43 === a ? t >= 131072 && t <= 196605 || t >= 196608 && t <= 262141 ? A.push(b) : A.push(y) : void A.push(a) }), [r, A, n] }, q = function (t, e, A, r) { var n = r[A]; if (Array.isArray(t) ? -1 !== t.indexOf(n) : t === n) for (var i = A; i <= r.length;) { var a = r[++i]; if (a === e) return !0; if (a !== o) break } if (n === o) for (var s = A; s > 0;) { var c = r[--s]; if (Array.isArray(t) ? -1 !== t.indexOf(c) : t === c) for (var l = A; l <= r.length;) { var u = r[++l]; if (u === e) return !0; if (u !== o) break } if (c !== o) break } return !1 }, j = function (t, e) { for (var A = t; A >= 0;) { var r = e[A]; if (r !== o) return r; A-- } return 0 }, X = function (t, e, A, r, n) { if (0 === A[r]) return S; var i = r - 1; if (Array.isArray(n) && !0 === n[i]) return S; var y = i - 1, H = i + 1, D = e[i], L = y >= 0 ? e[y] : 0, R = e[H]; if (2 === D && 3 === R) return S; if (-1 !== k.indexOf(D)) return I; if (-1 !== k.indexOf(R)) return S; if (-1 !== O.indexOf(R)) return S; if (8 === j(i, e)) return _; if (11 === T.get(t[i]) && (R === b || R === v || R === Q)) return S; if (7 === D || 7 === R) return S; if (9 === D) return S; if (-1 === [o, a, s].indexOf(D) && 9 === R) return S; if (-1 !== [c, l, u, p, m].indexOf(R)) return S; if (j(i, e) === f) return S; if (q(23, f, i, e)) return S; if (q([c, l], d, i, e)) return S; if (q(12, 12, i, e)) return S; if (D === o) return _; if (23 === D || 23 === R) return S; if (16 === R || 16 === D) return _; if (-1 !== [a, s, d].indexOf(R) || 14 === D) return S; if (36 === L && -1 !== K.indexOf(D)) return S; if (D === m && 36 === R) return S; if (R === h && -1 !== N.concat(h, u, g, b, v, Q).indexOf(D)) return S; if (-1 !== N.indexOf(R) && D === g || -1 !== N.indexOf(D) && R === g) return S; if (D === w && -1 !== [b, v, Q].indexOf(R) || -1 !== [b, v, Q].indexOf(D) && R === B) return S; if (-1 !== N.indexOf(D) && -1 !== P.indexOf(R) || -1 !== P.indexOf(D) && -1 !== N.indexOf(R)) return S; if (-1 !== [w, B].indexOf(D) && (R === g || -1 !== [f, s].indexOf(R) && e[H + 1] === g) || -1 !== [f, s].indexOf(D) && R === g || D === g && -1 !== [g, m, p].indexOf(R)) return S; if (-1 !== [g, m, p, c, l].indexOf(R)) for (var z = i; z >= 0;) { var X = e[z]; if (X === g) return S; if (-1 === [m, p].indexOf(X)) break; z-- } if (-1 !== [w, B].indexOf(R)) for (var V = -1 !== [c, l].indexOf(D) ? y : i; V >= 0;) { var G = e[V]; if (G === g) return S; if (-1 === [m, p].indexOf(G)) break; V-- } if (F === D && -1 !== [F, E, C, U].indexOf(R) || -1 !== [E, C].indexOf(D) && -1 !== [E, x].indexOf(R) || -1 !== [x, U].indexOf(D) && R === x) return S; if (-1 !== M.indexOf(D) && -1 !== [h, B].indexOf(R) || -1 !== M.indexOf(R) && D === w) return S; if (-1 !== N.indexOf(D) && -1 !== N.indexOf(R)) return S; if (D === p && -1 !== N.indexOf(R)) return S; if (-1 !== N.concat(g).indexOf(D) && R === f || -1 !== N.concat(g).indexOf(R) && D === l) return S; if (41 === D && 41 === R) { for (var W = A[i], Y = 1; W > 0 && (W-- , 41 === e[W]);)Y++; if (Y % 2 != 0) return S } return D === v && R === Q ? S : _ }, V = (e.lineBreakAtIndex = function (t, e) { if (0 === e) return S; if (e >= t.length) return I; var A = z(t), n = r(A, 2), i = n[0], o = n[1]; return X(t, o, i, e) }, function (t, e) { e || (e = { lineBreak: "normal", wordBreak: "normal" }); var A = z(t, e.lineBreak), n = r(A, 3), i = n[0], o = n[1], a = n[2]; "break-all" !== e.wordBreak && "break-word" !== e.wordBreak || (o = o.map(function (t) { return -1 !== [g, y, H].indexOf(t) ? b : t })); return [i, o, "keep-all" === e.wordBreak ? a.map(function (e, A) { return e && t[A] >= 19968 && t[A] <= 40959 }) : null] }), G = (e.inlineBreakOpportunities = function (t, e) { var A = (0, D.toCodePoints)(t), n = S, i = V(A, e), o = r(i, 3), a = o[0], s = o[1], c = o[2]; return A.forEach(function (t, e) { n += (0, D.fromCodePoint)(t) + (e >= A.length - 1 ? I : X(A, s, a, e + 1, c)) }), n }, function () { function t(e, A, r, n) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this._codePoints = e, this.required = A === I, this.start = r, this.end = n } return A(t, [{ key: "slice", value: function () { return D.fromCodePoint.apply(void 0, function (t) { if (Array.isArray(t)) { for (var e = 0, A = Array(t.length); e < t.length; e++)A[e] = t[e]; return A } return Array.from(t) }(this._codePoints.slice(this.start, this.end))) } }]), t }()); e.LineBreaker = function (t, e) { var A = (0, D.toCodePoints)(t), n = V(A, e), i = r(n, 3), o = i[0], a = i[1], s = i[2], c = A.length, l = 0, u = 0; return { next: function () { if (u >= c) return { done: !0 }; for (var t = S; u < c && (t = X(A, a, o, ++u, s)) === S;); if (t !== S || u === c) { var e = new G(A, t, l, u); return l = u, { value: e, done: !1 } } return { done: !0 } } } } }); e(R); R.LineBreaker, R.inlineBreakOpportunities, R.lineBreakAtIndex, R.codePointsToCharacterClasses, R.UnicodeTrie, R.BREAK_ALLOWED, R.BREAK_NOT_ALLOWED, R.BREAK_MANDATORY, R.classes, R.LETTER_NUMBER_MODIFIER; var M = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), Object.defineProperty(e, "toCodePoints", { enumerable: !0, get: function () { return D.toCodePoints } }), Object.defineProperty(e, "fromCodePoint", { enumerable: !0, get: function () { return D.fromCodePoint } }), Object.defineProperty(e, "LineBreaker", { enumerable: !0, get: function () { return R.LineBreaker } }) }); e(M); var K = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.breakWords = e.fromCodePoint = e.toCodePoints = void 0, Object.defineProperty(e, "toCodePoints", { enumerable: !0, get: function () { return M.toCodePoints } }), Object.defineProperty(e, "fromCodePoint", { enumerable: !0, get: function () { return M.fromCodePoint } }); (function (t) { t && t.__esModule })(G), e.breakWords = function (t, e) { for (var A = (0, M.LineBreaker)(t, { lineBreak: e.style.lineBreak, wordBreak: e.style.overflowWrap === x.OVERFLOW_WRAP.BREAK_WORD ? "break-word" : e.style.wordBreak }), r = [], n = void 0; !(n = A.next()).done;)r.push(n.value.slice()); return r } }); e(K); K.breakWords, K.fromCodePoint, K.toCodePoints; var z = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.parseTextBounds = e.TextBounds = void 0; var A = function (t) { return t && t.__esModule ? t : { default: t } }(P), r = e.TextBounds = function t(e, A) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.text = e, this.bounds = A }, n = (e.parseTextBounds = function (t, e, o) { for (var s = 0 !== e.style.letterSpacing ? (0, K.toCodePoints)(t).map(function (t) { return (0, K.fromCodePoint)(t) }) : (0, K.breakWords)(t, e), c = s.length, l = o.parentNode ? o.parentNode.ownerDocument.defaultView : null, u = l ? l.pageXOffset : 0, h = l ? l.pageYOffset : 0, d = [], f = 0, p = 0; p < c; p++) { var g = s[p]; if (e.style.textDecoration !== a.TEXT_DECORATION.NONE || g.trim().length > 0) if (A.default.SUPPORT_RANGE_BOUNDS) d.push(new r(g, i(o, f, g.length, u, h))); else { var B = o.splitText(g.length); d.push(new r(g, n(o, u, h))), o = B } else A.default.SUPPORT_RANGE_BOUNDS || (o = o.splitText(g.length)); f += g.length } return d }, function (t, e, A) { var r = t.ownerDocument.createElement("html2canvaswrapper"); r.appendChild(t.cloneNode(!0)); var n = t.parentNode; if (n) { n.replaceChild(r, t); var i = (0, p.parseBounds)(r, e, A); return r.firstChild && n.replaceChild(r.firstChild, r), i } return new p.Bounds(0, 0, 0, 0) }), i = function (t, e, A, r, n) { var i = t.ownerDocument.createRange(); return i.setStart(t, e), i.setEnd(t, e + A), p.Bounds.fromClientRect(i.getBoundingClientRect(), r, n) } }); e(z); z.parseTextBounds, z.TextBounds; var q = A(function (t, e) { function A(t, e, A) { return t.length > 0 ? e + A.toUpperCase() : t } Object.defineProperty(e, "__esModule", { value: !0 }); var r = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), n = function () { function t(e, A, r) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.text = e, this.parent = A, this.bounds = r } return r(t, null, [{ key: "fromTextNode", value: function (e, A) { var r = o(e.data, A.style.textTransform); return new t(r, A, (0, z.parseTextBounds)(r, A, e)) } }]), t }(); e.default = n; var i = /(^|\s|:|-|\(|\))([a-z])/g, o = function (t, e) { switch (e) { case S.TEXT_TRANSFORM.LOWERCASE: return t.toLowerCase(); case S.TEXT_TRANSFORM.CAPITALIZE: return t.replace(i, A); case S.TEXT_TRANSFORM.UPPERCASE: return t.toUpperCase(); default: return t } } }); e(q); var j = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); e.default = function t(e, A, r) { !function (e, A) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this), this.type = i.PATH.CIRCLE, this.x = e, this.y = A, this.radius = r } }); e(j); var X = A(function (t, e) { function A(t) { return t && t.__esModule ? t : { default: t } } Object.defineProperty(e, "__esModule", { value: !0 }), e.reformatInputBounds = e.inlineSelectElement = e.inlineTextAreaElement = e.inlineInputElement = e.getInputBorderRadius = e.INPUT_BACKGROUND = e.INPUT_BORDERS = e.INPUT_COLOR = void 0; var r = A(q), n = A(j), i = A(d), a = A(o), s = A(u), c = (e.INPUT_COLOR = new a.default([42, 42, 42]), new a.default([165, 165, 165])), h = new a.default([222, 222, 222]), f = { borderWidth: 1, borderColor: c, borderStyle: w.BORDER_STYLE.SOLID }, p = (e.INPUT_BORDERS = [f, f, f, f], e.INPUT_BACKGROUND = { backgroundColor: h, backgroundImage: [], backgroundClip: B.BACKGROUND_CLIP.PADDING_BOX, backgroundOrigin: B.BACKGROUND_ORIGIN.PADDING_BOX }, new s.default("50%")), g = [p, p], m = [g, g, g, g], y = new s.default("3px"), v = [y, y], Q = [v, v, v, v], C = (e.getInputBorderRadius = function (t) { return "radio" === t.type ? m : Q }, e.inlineInputElement = function (t, e) { if ("radio" === t.type || "checkbox" === t.type) { if (t.checked) { var A = Math.min(e.bounds.width, e.bounds.height); e.childNodes.push("checkbox" === t.type ? [new i.default(e.bounds.left + .39363 * A, e.bounds.top + .79 * A), new i.default(e.bounds.left + .16 * A, e.bounds.top + .5549 * A), new i.default(e.bounds.left + .27347 * A, e.bounds.top + .44071 * A), new i.default(e.bounds.left + .39694 * A, e.bounds.top + .5649 * A), new i.default(e.bounds.left + .72983 * A, e.bounds.top + .23 * A), new i.default(e.bounds.left + .84 * A, e.bounds.top + .34085 * A), new i.default(e.bounds.left + .39363 * A, e.bounds.top + .79 * A)] : new n.default(e.bounds.left + A / 4, e.bounds.top + A / 4, A / 4)) } } else C(U(t), t, e, !1) }, e.inlineTextAreaElement = function (t, e) { C(t.value, t, e, !0) }, e.inlineSelectElement = function (t, e) { var A = t.options[t.selectedIndex || 0]; C(A ? A.text || "" : "", t, e, !1) }, e.reformatInputBounds = function (t) { return t.width > t.height ? (t.left += (t.width - t.height) / 2, t.width = t.height) : t.width < t.height && (t.top += (t.height - t.width) / 2, t.height = t.width), t }, function (t, e, A, n) { var i = e.ownerDocument.body; if (t.length > 0 && i) { var o = e.ownerDocument.createElement("html2canvaswrapper"); (0, l.copyCSSStyles)(e.ownerDocument.defaultView.getComputedStyle(e, null), o), o.style.position = "absolute", o.style.left = A.bounds.left + "px", o.style.top = A.bounds.top + "px", n || (o.style.whiteSpace = "nowrap"); var a = e.ownerDocument.createTextNode(t); o.appendChild(a), i.appendChild(o), A.childNodes.push(r.default.fromTextNode(a, A)), i.removeChild(o) } }), U = function (t) { var e = "password" === t.type ? new Array(t.value.length + 1).join("•") : t.value; return 0 === e.length ? t.placeholder || "" : e } }); e(X); X.reformatInputBounds, X.inlineSelectElement, X.inlineTextAreaElement, X.inlineInputElement, X.getInputBorderRadius, X.INPUT_BACKGROUND, X.INPUT_BORDERS, X.INPUT_COLOR; var V = A(function (t, e) { function A(t) { return t && t.__esModule ? t : { default: t } } Object.defineProperty(e, "__esModule", { value: !0 }), e.createCounterText = e.inlineListItemElement = e.getListOwner = void 0; var r = A(G), n = A(q), i = ["OL", "UL", "MENU"], o = (e.getListOwner = function (t) { var e = t.parent; if (!e) return null; do { if (-1 !== i.indexOf(e.tagName)) return e; e = e.parent } while (e); return t.parent }, e.inlineListItemElement = function (t, e, A) { var i = e.style.listStyle; if (i) { var o = t.ownerDocument.defaultView.getComputedStyle(t, null), a = t.ownerDocument.createElement("html2canvaswrapper"); switch ((0, l.copyCSSStyles)(o, a), a.style.position = "absolute", a.style.bottom = "auto", a.style.display = "block", a.style.letterSpacing = "normal", i.listStylePosition) { case b.LIST_STYLE_POSITION.OUTSIDE: a.style.left = "auto", a.style.right = t.ownerDocument.defaultView.innerWidth - e.bounds.left - e.style.margin[1].getAbsoluteValue(e.bounds.width) + 7 + "px", a.style.textAlign = "right"; break; case b.LIST_STYLE_POSITION.INSIDE: a.style.left = e.bounds.left - e.style.margin[3].getAbsoluteValue(e.bounds.width) + "px", a.style.right = "auto", a.style.textAlign = "left" }var s = void 0, c = e.style.margin[0].getAbsoluteValue(e.bounds.width), u = i.listStyleImage; if (u) if ("url" === u.method) { var h = t.ownerDocument.createElement("img"); h.src = u.args[0], a.style.top = e.bounds.top - c + "px", a.style.width = "auto", a.style.height = "auto", a.appendChild(h) } else { var d = .5 * parseFloat(e.style.font.fontSize); a.style.top = e.bounds.top - c + e.bounds.height - 1.5 * d + "px", a.style.width = d + "px", a.style.height = d + "px", a.style.backgroundImage = o.listStyleImage } else "number" == typeof e.listIndex && (s = t.ownerDocument.createTextNode(g(e.listIndex, i.listStyleType, !0)), a.appendChild(s), a.style.top = e.bounds.top - c + "px"); var f = t.ownerDocument.body; f.appendChild(a), s ? (e.childNodes.push(n.default.fromTextNode(s, e)), f.removeChild(a)) : e.childNodes.push(new r.default(a, e, A, 0)) } }, { integers: [1e3, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1], values: ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"] }), a = { integers: [9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], values: ["Ք", "Փ", "Ւ", "Ց", "Ր", "Տ", "Վ", "Ս", "Ռ", "Ջ", "Պ", "Չ", "Ո", "Շ", "Ն", "Յ", "Մ", "Ճ", "Ղ", "Ձ", "Հ", "Կ", "Ծ", "Խ", "Լ", "Ի", "Ժ", "Թ", "Ը", "Է", "Զ", "Ե", "Դ", "Գ", "Բ", "Ա"] }, s = { integers: [1e4, 9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], values: ["י׳", "ט׳", "ח׳", "ז׳", "ו׳", "ה׳", "ד׳", "ג׳", "ב׳", "א׳", "ת", "ש", "ר", "ק", "צ", "פ", "ע", "ס", "נ", "מ", "ל", "כ", "יט", "יח", "יז", "טז", "טו", "י", "ט", "ח", "ז", "ו", "ה", "ד", "ג", "ב", "א"] }, c = { integers: [1e4, 9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], values: ["ჵ", "ჰ", "ჯ", "ჴ", "ხ", "ჭ", "წ", "ძ", "ც", "ჩ", "შ", "ყ", "ღ", "ქ", "ფ", "ჳ", "ტ", "ს", "რ", "ჟ", "პ", "ო", "ჲ", "ნ", "მ", "ლ", "კ", "ი", "თ", "ჱ", "ზ", "ვ", "ე", "დ", "გ", "ბ", "ა"] }, u = function (t, e, A, r, n, i) { return t < e || t > A ? g(t, n, i.length > 0) : r.integers.reduce(function (e, A, n) { for (; t >= A;)t -= A, e += r.values[n]; return e }, "") + i }, h = function (t, e, A, r) { var n = ""; do { A || t-- , n = r(t) + n, t /= e } while (t * e >= e); return n }, d = function (t, e, A, r, n) { var i = A - e + 1; return (t < 0 ? "-" : "") + (h(Math.abs(t), i, r, function (t) { return (0, K.fromCodePoint)(Math.floor(t % i) + e) }) + n) }, f = function (t, e) { var A = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : ". ", r = e.length; return h(Math.abs(t), r, !1, function (t) { return e[Math.floor(t % r)] }) + A }, p = function (t, e, A, r, n, i) { if (t < -9999 || t > 9999) return g(t, b.LIST_STYLE_TYPE.CJK_DECIMAL, n.length > 0); var o = Math.abs(t), a = n; if (0 === o) return e[0] + a; for (var s = 0; o > 0 && s <= 4; s++) { var c = o % 10; 0 === c && (0, l.contains)(i, 1) && "" !== a ? a = e[c] + a : c > 1 || 1 === c && 0 === s || 1 === c && 1 === s && (0, l.contains)(i, 2) || 1 === c && 1 === s && (0, l.contains)(i, 4) && t > 100 || 1 === c && s > 1 && (0, l.contains)(i, 8) ? a = e[c] + (s > 0 ? A[s - 1] : "") + a : 1 === c && s > 0 && (a = A[s - 1] + a), o = Math.floor(o / 10) } return (t < 0 ? r : "") + a }, g = e.createCounterText = function (t, e, A) { var r = A ? ". " : "", n = A ? "、" : "", i = A ? ", " : ""; switch (e) { case b.LIST_STYLE_TYPE.DISC: return "•"; case b.LIST_STYLE_TYPE.CIRCLE: return "◦"; case b.LIST_STYLE_TYPE.SQUARE: return "◾"; case b.LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO: var l = d(t, 48, 57, !0, r); return l.length < 4 ? "0" + l : l; case b.LIST_STYLE_TYPE.CJK_DECIMAL: return f(t, "〇一二三四五六七八九", n); case b.LIST_STYLE_TYPE.LOWER_ROMAN: return u(t, 1, 3999, o, b.LIST_STYLE_TYPE.DECIMAL, r).toLowerCase(); case b.LIST_STYLE_TYPE.UPPER_ROMAN: return u(t, 1, 3999, o, b.LIST_STYLE_TYPE.DECIMAL, r); case b.LIST_STYLE_TYPE.LOWER_GREEK: return d(t, 945, 969, !1, r); case b.LIST_STYLE_TYPE.LOWER_ALPHA: return d(t, 97, 122, !1, r); case b.LIST_STYLE_TYPE.UPPER_ALPHA: return d(t, 65, 90, !1, r); case b.LIST_STYLE_TYPE.ARABIC_INDIC: return d(t, 1632, 1641, !0, r); case b.LIST_STYLE_TYPE.ARMENIAN: case b.LIST_STYLE_TYPE.UPPER_ARMENIAN: return u(t, 1, 9999, a, b.LIST_STYLE_TYPE.DECIMAL, r); case b.LIST_STYLE_TYPE.LOWER_ARMENIAN: return u(t, 1, 9999, a, b.LIST_STYLE_TYPE.DECIMAL, r).toLowerCase(); case b.LIST_STYLE_TYPE.BENGALI: return d(t, 2534, 2543, !0, r); case b.LIST_STYLE_TYPE.CAMBODIAN: case b.LIST_STYLE_TYPE.KHMER: return d(t, 6112, 6121, !0, r); case b.LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH: return f(t, "子丑寅卯辰巳午未申酉戌亥", n); case b.LIST_STYLE_TYPE.CJK_HEAVENLY_STEM: return f(t, "甲乙丙丁戊己庚辛壬癸", n); case b.LIST_STYLE_TYPE.CJK_IDEOGRAPHIC: case b.LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL: return p(t, "零一二三四五六七八九", "十百千萬", "負", n, 14); case b.LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL: return p(t, "零壹貳參肆伍陸柒捌玖", "拾佰仟萬", "負", n, 15); case b.LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL: return p(t, "零一二三四五六七八九", "十百千萬", "负", n, 14); case b.LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL: return p(t, "零壹贰叁肆伍陆柒捌玖", "拾佰仟萬", "负", n, 15); case b.LIST_STYLE_TYPE.JAPANESE_INFORMAL: return p(t, "〇一二三四五六七八九", "十百千万", "マイナス", n, 0); case b.LIST_STYLE_TYPE.JAPANESE_FORMAL: return p(t, "零壱弐参四伍六七八九", "拾百千万", "マイナス", n, 7); case b.LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL: return p(t, "영일이삼사오육칠팔구", "십백천만", "마이너스 ", i, 7); case b.LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL: return p(t, "零一二三四五六七八九", "十百千萬", "마이너스 ", i, 0); case b.LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL: return p(t, "零壹貳參四五六七八九", "拾百千", "마이너스 ", i, 7); case b.LIST_STYLE_TYPE.DEVANAGARI: return d(t, 2406, 2415, !0, r); case b.LIST_STYLE_TYPE.GEORGIAN: return u(t, 1, 19999, c, b.LIST_STYLE_TYPE.DECIMAL, r); case b.LIST_STYLE_TYPE.GUJARATI: return d(t, 2790, 2799, !0, r); case b.LIST_STYLE_TYPE.GURMUKHI: return d(t, 2662, 2671, !0, r); case b.LIST_STYLE_TYPE.HEBREW: return u(t, 1, 10999, s, b.LIST_STYLE_TYPE.DECIMAL, r); case b.LIST_STYLE_TYPE.HIRAGANA: return f(t, "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん"); case b.LIST_STYLE_TYPE.HIRAGANA_IROHA: return f(t, "いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす"); case b.LIST_STYLE_TYPE.KANNADA: return d(t, 3302, 3311, !0, r); case b.LIST_STYLE_TYPE.KATAKANA: return f(t, "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン", n); case b.LIST_STYLE_TYPE.KATAKANA_IROHA: return f(t, "イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス", n); case b.LIST_STYLE_TYPE.LAO: return d(t, 3792, 3801, !0, r); case b.LIST_STYLE_TYPE.MONGOLIAN: return d(t, 6160, 6169, !0, r); case b.LIST_STYLE_TYPE.MYANMAR: return d(t, 4160, 4169, !0, r); case b.LIST_STYLE_TYPE.ORIYA: return d(t, 2918, 2927, !0, r); case b.LIST_STYLE_TYPE.PERSIAN: return d(t, 1776, 1785, !0, r); case b.LIST_STYLE_TYPE.TAMIL: return d(t, 3046, 3055, !0, r); case b.LIST_STYLE_TYPE.TELUGU: return d(t, 3174, 3183, !0, r); case b.LIST_STYLE_TYPE.THAI: return d(t, 3664, 3673, !0, r); case b.LIST_STYLE_TYPE.TIBETAN: return d(t, 3872, 3881, !0, r); case b.LIST_STYLE_TYPE.DECIMAL: default: return d(t, 48, 57, !0, r) } } }); e(V); V.createCounterText, V.inlineListItemElement, V.getListOwner; var G = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), r = function (t) { return t && t.__esModule ? t : { default: t } }(o), n = ["INPUT", "TEXTAREA", "SELECT"], i = function () { function t(e, A, i, o) { var c = this; !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.parent = A, this.tagName = e.tagName, this.index = o, this.childNodes = [], this.listItems = [], "number" == typeof e.start && (this.listStart = e.start); var l = e.ownerDocument.defaultView, u = l.pageXOffset, h = l.pageYOffset, d = l.getComputedStyle(e, null), f = (0, y.parseDisplay)(d.display), O = "radio" === e.type || "checkbox" === e.type, P = (0, H.parsePosition)(d.position); if (this.style = { background: O ? X.INPUT_BACKGROUND : (0, B.parseBackground)(d, i), border: O ? X.INPUT_BORDERS : (0, w.parseBorder)(d), borderRadius: (e instanceof l.HTMLInputElement || e instanceof HTMLInputElement) && O ? (0, X.getInputBorderRadius)(e) : (0, m.parseBorderRadius)(d), color: O ? X.INPUT_COLOR : new r.default(d.color), display: f, float: (0, v.parseCSSFloat)(d.float), font: (0, Q.parseFont)(d), letterSpacing: (0, C.parseLetterSpacing)(d.letterSpacing), listStyle: f === y.DISPLAY.LIST_ITEM ? (0, b.parseListStyle)(d) : null, lineBreak: (0, U.parseLineBreak)(d.lineBreak), margin: (0, F.parseMargin)(d), opacity: parseFloat(d.opacity), overflow: -1 === n.indexOf(e.tagName) ? (0, E.parseOverflow)(d.overflow) : E.OVERFLOW.HIDDEN, overflowWrap: (0, x.parseOverflowWrap)(d.overflowWrap ? d.overflowWrap : d.wordWrap), padding: (0, g.parsePadding)(d), position: P, textDecoration: (0, a.parseTextDecoration)(d), textShadow: (0, I.parseTextShadow)(d.textShadow), textTransform: (0, S.parseTextTransform)(d.textTransform), transform: (0, _.parseTransform)(d), visibility: (0, T.parseVisibility)(d.visibility), wordBreak: (0, N.parseWordBreak)(d.wordBreak), zIndex: (0, k.parseZIndex)(P !== H.POSITION.STATIC ? d.zIndex : "auto") }, this.isTransformed() && (e.style.transform = "matrix(1,0,0,1,0,0)"), f === y.DISPLAY.LIST_ITEM) { var D = (0, V.getListOwner)(this); if (D) { var L = D.listItems.length; D.listItems.push(this), this.listIndex = e.hasAttribute("value") && "number" == typeof e.value ? e.value : 0 === L ? "number" == typeof D.listStart ? D.listStart : 1 : D.listItems[L - 1].listIndex + 1 } } "IMG" === e.tagName && e.addEventListener("load", function () { c.bounds = (0, p.parseBounds)(e, u, h), c.curvedBounds = (0, p.parseBoundCurves)(c.bounds, c.style.border, c.style.borderRadius) }), this.image = s(e, i), this.bounds = O ? (0, X.reformatInputBounds)((0, p.parseBounds)(e, u, h)) : (0, p.parseBounds)(e, u, h), this.curvedBounds = (0, p.parseBoundCurves)(this.bounds, this.style.border, this.style.borderRadius) } return A(t, [{ key: "getClipPaths", value: function () { var t = this.parent ? this.parent.getClipPaths() : []; return this.style.overflow !== E.OVERFLOW.VISIBLE ? t.concat([(0, p.calculatePaddingBoxPath)(this.curvedBounds)]) : t } }, { key: "isInFlow", value: function () { return this.isRootElement() && !this.isFloating() && !this.isAbsolutelyPositioned() } }, { key: "isVisible", value: function () { return !(0, l.contains)(this.style.display, y.DISPLAY.NONE) && this.style.opacity > 0 && this.style.visibility === T.VISIBILITY.VISIBLE } }, { key: "isAbsolutelyPositioned", value: function () { return this.style.position !== H.POSITION.STATIC && this.style.position !== H.POSITION.RELATIVE } }, { key: "isPositioned", value: function () { return this.style.position !== H.POSITION.STATIC } }, { key: "isFloating", value: function () { return this.style.float !== v.FLOAT.NONE } }, { key: "isRootElement", value: function () { return null === this.parent } }, { key: "isTransformed", value: function () { return null !== this.style.transform } }, { key: "isPositionedWithZIndex", value: function () { return this.isPositioned() && !this.style.zIndex.auto } }, { key: "isInlineLevel", value: function () { return (0, l.contains)(this.style.display, y.DISPLAY.INLINE) || (0, l.contains)(this.style.display, y.DISPLAY.INLINE_BLOCK) || (0, l.contains)(this.style.display, y.DISPLAY.INLINE_FLEX) || (0, l.contains)(this.style.display, y.DISPLAY.INLINE_GRID) || (0, l.contains)(this.style.display, y.DISPLAY.INLINE_LIST_ITEM) || (0, l.contains)(this.style.display, y.DISPLAY.INLINE_TABLE) } }, { key: "isInlineBlockOrInlineTable", value: function () { return (0, l.contains)(this.style.display, y.DISPLAY.INLINE_BLOCK) || (0, l.contains)(this.style.display, y.DISPLAY.INLINE_TABLE) } }]), t }(); e.default = i; var s = function (t, e) { if (t instanceof t.ownerDocument.defaultView.SVGSVGElement || t instanceof SVGSVGElement) { var A = new XMLSerializer; return e.loadImage("data:image/svg+xml," + encodeURIComponent(A.serializeToString(t))) } switch (t.tagName) { case "IMG": var r = t; return e.loadImage(r.currentSrc || r.src); case "CANVAS": var n = t; return e.loadCanvas(n); case "IFRAME": var i = t.getAttribute("data-html2canvas-internal-iframe-key"); if (i) return i }return null } }); e(G); var W = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), r = (function (t) { t && t.__esModule }(G), function () { function t(e, A, r) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.container = e, this.parent = A, this.contexts = [], this.children = [], this.treatAsRealStackingContext = r } return A(t, [{ key: "getOpacity", value: function () { return this.parent ? this.container.style.opacity * this.parent.getOpacity() : this.container.style.opacity } }, { key: "getRealParentStackingContext", value: function () { return !this.parent || this.treatAsRealStackingContext ? this : this.parent.getRealParentStackingContext() } }]), t }()); e.default = r }); e(W); var Y = A(function (t, e) { function A(t) { return t && t.__esModule ? t : { default: t } } Object.defineProperty(e, "__esModule", { value: !0 }), e.NodeParser = void 0; var r = A(W), n = A(G), i = A(q), o = (e.NodeParser = function (t, e, A) { var i = 0, o = new n.default(t, null, e, i++), s = new r.default(o, null, !0); return a(t, o, s, e, i), s }, ["SCRIPT", "HEAD", "TITLE", "OBJECT", "BR", "OPTION"]), a = function t(e, A, a, l, u) { for (var h, d = e.firstChild; d; d = h) { h = d.nextSibling; var f = d.ownerDocument.defaultView; if (d instanceof f.Text || d instanceof Text || f.parent && d instanceof f.parent.Text) d.data.trim().length > 0 && A.childNodes.push(i.default.fromTextNode(d, A)); else if (d instanceof f.HTMLElement || d instanceof HTMLElement || f.parent && d instanceof f.parent.HTMLElement) { if (-1 === o.indexOf(d.nodeName)) { var p = new n.default(d, A, l, u++); if (p.isVisible()) { "INPUT" === d.tagName ? (0, X.inlineInputElement)(d, p) : "TEXTAREA" === d.tagName ? (0, X.inlineTextAreaElement)(d, p) : "SELECT" === d.tagName ? (0, X.inlineSelectElement)(d, p) : p.style.listStyle && p.style.listStyle.listStyleType !== b.LIST_STYLE_TYPE.NONE && (0, V.inlineListItemElement)(d, p, l); var g = "TEXTAREA" !== d.tagName, B = s(p, d); if (B || c(p)) { var w = B || p.isPositioned() ? a.getRealParentStackingContext() : a, m = new r.default(p, w, B); w.contexts.push(m), g && t(d, p, m, l, u) } else a.children.push(p), g && t(d, p, a, l, u) } } } else if (d instanceof f.SVGSVGElement || d instanceof SVGSVGElement || f.parent && d instanceof f.parent.SVGSVGElement) { var y = new n.default(d, A, l, u++), v = s(y, d); if (v || c(y)) { var Q = v || y.isPositioned() ? a.getRealParentStackingContext() : a, C = new r.default(y, Q, v); Q.contexts.push(C) } else a.children.push(y) } } }, s = function (t, e) { return t.isRootElement() || t.isPositionedWithZIndex() || t.style.opacity < 1 || t.isTransformed() || l(t, e) }, c = function (t) { return t.isPositioned() || t.isFloating() }, l = function (t, e) { return "BODY" === e.nodeName && t.parent instanceof n.default && t.parent.style.background.backgroundColor.isTransparent() } }); e(Y); Y.NodeParser; var J = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.FontMetrics = void 0; var A = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(); e.FontMetrics = function () { function t(e) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this._data = {}, this._document = e } return A(t, [{ key: "_parseMetrics", value: function (t) { var e = this._document.createElement("div"), A = this._document.createElement("img"), r = this._document.createElement("span"), n = this._document.body; if (!n) throw new Error(""); e.style.visibility = "hidden", e.style.fontFamily = t.fontFamily, e.style.fontSize = t.fontSize, e.style.margin = "0", e.style.padding = "0", n.appendChild(e), A.src = l.SMALL_IMAGE, A.width = 1, A.height = 1, A.style.margin = "0", A.style.padding = "0", A.style.verticalAlign = "baseline", r.style.fontFamily = t.fontFamily, r.style.fontSize = t.fontSize, r.style.margin = "0", r.style.padding = "0", r.appendChild(this._document.createTextNode("Hidden Text")), e.appendChild(r), e.appendChild(A); var i = A.offsetTop - r.offsetTop + 2; e.removeChild(r), e.appendChild(this._document.createTextNode("Hidden Text")), e.style.lineHeight = "normal", A.style.verticalAlign = "super"; var o = A.offsetTop - e.offsetTop + 2; return n.removeChild(e), { baseline: i, middle: o } } }, { key: "getMetrics", value: function (t) { var e = t.fontFamily + " " + t.fontSize; return void 0 === this._data[e] && (this._data[e] = this._parseMetrics(t)), this._data[e] } }]), t }() }); e(J); J.FontMetrics; var Z = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = /([+-]?\d*\.?\d+)(deg|grad|rad|turn)/i; e.parseAngle = function (t) { var e = t.match(A); if (e) { var r = parseFloat(e[1]); switch (e[2].toLowerCase()) { case "deg": return Math.PI * r / 180; case "grad": return Math.PI / 200 * r; case "rad": return r; case "turn": return 2 * Math.PI * r } } return null } }); e(Z); Z.parseAngle; var $ = A(function (t, e) { function A(t) { return t && t.__esModule ? t : { default: t } } function r(t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") } Object.defineProperty(e, "__esModule", { value: !0 }), e.transformWebkitRadialGradientArgs = e.parseGradient = e.RadialGradient = e.LinearGradient = e.RADIAL_GRADIENT_SHAPE = e.GRADIENT_TYPE = void 0; var n = function () { return function (t, e) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return function (t, e) { var A = [], r = !0, n = !1, i = void 0; try { for (var o, a = t[Symbol.iterator](); !(r = (o = a.next()).done) && (A.push(o.value), !e || A.length !== e); r = !0); } catch (t) { n = !0, i = t } finally { try { !r && a.return && a.return() } finally { if (n) throw i } } return A }(t, e); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), i = (A(G), A(o)), a = A(u), s = /^(to )?(left|top|right|bottom)( (left|top|right|bottom))?$/i, c = /^([+-]?\d*\.?\d+)% ([+-]?\d*\.?\d+)%$/i, h = /(px)|%|( 0)$/i, d = /^(from|to|color-stop)\((?:([\d.]+)(%)?,\s*)?(.+?)\)$/i, f = /^\s*(circle|ellipse)?\s*((?:([\d.]+)(px|r?em|%)\s*(?:([\d.]+)(px|r?em|%))?)|closest-side|closest-corner|farthest-side|farthest-corner)?\s*(?:at\s*(?:(left|center|right)|([\d.]+)(px|r?em|%))\s+(?:(top|center|bottom)|([\d.]+)(px|r?em|%)))?(?:\s|$)/i, p = e.GRADIENT_TYPE = { LINEAR_GRADIENT: 0, RADIAL_GRADIENT: 1 }, g = e.RADIAL_GRADIENT_SHAPE = { CIRCLE: 0, ELLIPSE: 1 }, B = { left: new a.default("0%"), top: new a.default("0%"), center: new a.default("50%"), right: new a.default("100%"), bottom: new a.default("100%") }, w = e.LinearGradient = function t(e, A) { r(this, t), this.type = p.LINEAR_GRADIENT, this.colorStops = e, this.direction = A }, m = e.RadialGradient = function t(e, A, n, i) { r(this, t), this.type = p.RADIAL_GRADIENT, this.colorStops = e, this.shape = A, this.center = n, this.radius = i }, y = (e.parseGradient = function (t, e, A) { var r = e.args, n = e.method, i = e.prefix; return "linear-gradient" === n ? v(r, A, !!i) : "gradient" === n && "linear" === r[0] ? v(["to bottom"].concat(I(r.slice(3))), A, !!i) : "radial-gradient" === n ? Q(t, "-webkit-" === i ? H(r) : r, A) : "gradient" === n && "radial" === r[0] ? Q(t, I(H(r.slice(1))), A) : void 0 }, function (t, e, A) { for (var r = [], n = e; n < t.length; n++) { var o = t[n], s = h.test(o), c = o.lastIndexOf(" "), l = new i.default(s ? o.substring(0, c) : o), u = s ? new a.default(o.substring(c + 1)) : n === e ? new a.default("0%") : n === t.length - 1 ? new a.default("100%") : null; r.push({ color: l, stop: u }) } for (var d = r.map(function (t) { var e = t.color, r = t.stop; return { color: e, stop: 0 === A ? 0 : r ? r.getAbsoluteValue(A) / A : null } }), f = d[0].stop, p = 0; p < d.length; p++)if (null !== f) { var g = d[p].stop; if (null === g) { for (var B = p; null === d[B].stop;)B++; for (var w = B - p + 1, m = (d[B].stop - f) / w; p < B; p++)f = d[p].stop = f + m } else f = g } return d }), v = function (t, e, A) { var r = (0, Z.parseAngle)(t[0]), n = s.test(t[0]), i = n || null !== r || c.test(t[0]), o = i ? null !== r ? C(A ? r - .5 * Math.PI : r, e) : n ? b(t[0], e) : F(t[0], e) : C(Math.PI, e), a = i ? 1 : 0, u = Math.min((0, l.distance)(Math.abs(o.x0) + Math.abs(o.x1), Math.abs(o.y0) + Math.abs(o.y1)), 2 * e.width, 2 * e.height); return new w(y(t, a, u), o) }, Q = function (t, e, A) { var r = e[0].match(f), n = r && ("circle" === r[1] || void 0 !== r[3] && void 0 === r[5]) ? g.CIRCLE : g.ELLIPSE, i = {}, o = {}; r && (void 0 !== r[3] && (i.x = (0, u.calculateLengthFromValueWithUnit)(t, r[3], r[4]).getAbsoluteValue(A.width)), void 0 !== r[5] && (i.y = (0, u.calculateLengthFromValueWithUnit)(t, r[5], r[6]).getAbsoluteValue(A.height)), r[7] ? o.x = B[r[7].toLowerCase()] : void 0 !== r[8] && (o.x = (0, u.calculateLengthFromValueWithUnit)(t, r[8], r[9])), r[10] ? o.y = B[r[10].toLowerCase()] : void 0 !== r[11] && (o.y = (0, u.calculateLengthFromValueWithUnit)(t, r[11], r[12]))); var a = { x: void 0 === o.x ? A.width / 2 : o.x.getAbsoluteValue(A.width), y: void 0 === o.y ? A.height / 2 : o.y.getAbsoluteValue(A.height) }, s = x(r && r[2] || "farthest-corner", n, a, i, A); return new m(y(e, r ? 1 : 0, Math.min(s.x, s.y)), n, a, s) }, C = function (t, e) { var A = e.width, r = e.height, n = .5 * A, i = .5 * r, o = (Math.abs(A * Math.sin(t)) + Math.abs(r * Math.cos(t))) / 2, a = n + Math.sin(t) * o, s = i - Math.cos(t) * o; return { x0: a, x1: A - a, y0: s, y1: r - s } }, U = function (t) { return Math.acos(t.width / 2 / ((0, l.distance)(t.width, t.height) / 2)) }, b = function (t, e) { switch (t) { case "bottom": case "to top": return C(0, e); case "left": case "to right": return C(Math.PI / 2, e); case "right": case "to left": return C(3 * Math.PI / 2, e); case "top right": case "right top": case "to bottom left": case "to left bottom": return C(Math.PI + U(e), e); case "top left": case "left top": case "to bottom right": case "to right bottom": return C(Math.PI - U(e), e); case "bottom left": case "left bottom": case "to top right": case "to right top": return C(U(e), e); case "bottom right": case "right bottom": case "to top left": case "to left top": return C(2 * Math.PI - U(e), e); case "top": case "to bottom": default: return C(Math.PI, e) } }, F = function (t, e) { var A = t.split(" ").map(parseFloat), r = n(A, 2), i = r[0], o = r[1], a = i / 100 * e.width / (o / 100 * e.height); return C(Math.atan(isNaN(a) ? 1 : a) + Math.PI / 2, e) }, E = function (t, e, A, r) { return [{ x: 0, y: 0 }, { x: 0, y: t.height }, { x: t.width, y: 0 }, { x: t.width, y: t.height }].reduce(function (t, n) { var i = (0, l.distance)(e - n.x, A - n.y); return (r ? i < t.optimumDistance : i > t.optimumDistance) ? { optimumCorner: n, optimumDistance: i } : t }, { optimumDistance: r ? 1 / 0 : -1 / 0, optimumCorner: null }).optimumCorner }, x = function (t, e, A, r, n) { var i = A.x, o = A.y, a = 0, s = 0; switch (t) { case "closest-side": e === g.CIRCLE ? a = s = Math.min(Math.abs(i), Math.abs(i - n.width), Math.abs(o), Math.abs(o - n.height)) : e === g.ELLIPSE && (a = Math.min(Math.abs(i), Math.abs(i - n.width)), s = Math.min(Math.abs(o), Math.abs(o - n.height))); break; case "closest-corner": if (e === g.CIRCLE) a = s = Math.min((0, l.distance)(i, o), (0, l.distance)(i, o - n.height), (0, l.distance)(i - n.width, o), (0, l.distance)(i - n.width, o - n.height)); else if (e === g.ELLIPSE) { var c = Math.min(Math.abs(o), Math.abs(o - n.height)) / Math.min(Math.abs(i), Math.abs(i - n.width)), u = E(n, i, o, !0); s = c * (a = (0, l.distance)(u.x - i, (u.y - o) / c)) } break; case "farthest-side": e === g.CIRCLE ? a = s = Math.max(Math.abs(i), Math.abs(i - n.width), Math.abs(o), Math.abs(o - n.height)) : e === g.ELLIPSE && (a = Math.max(Math.abs(i), Math.abs(i - n.width)), s = Math.max(Math.abs(o), Math.abs(o - n.height))); break; case "farthest-corner": if (e === g.CIRCLE) a = s = Math.max((0, l.distance)(i, o), (0, l.distance)(i, o - n.height), (0, l.distance)(i - n.width, o), (0, l.distance)(i - n.width, o - n.height)); else if (e === g.ELLIPSE) { var h = Math.max(Math.abs(o), Math.abs(o - n.height)) / Math.max(Math.abs(i), Math.abs(i - n.width)), d = E(n, i, o, !1); s = h * (a = (0, l.distance)(d.x - i, (d.y - o) / h)) } break; default: a = r.x || 0, s = void 0 !== r.y ? r.y : a }return { x: a, y: s } }, H = e.transformWebkitRadialGradientArgs = function (t) { var e = "", A = "", r = "", n = "", i = 0, o = /^(left|center|right|\d+(?:px|r?em|%)?)(?:\s+(top|center|bottom|\d+(?:px|r?em|%)?))?$/i, a = /^\d+(px|r?em|%)?(?:\s+\d+(px|r?em|%)?)?$/i, s = t[i].match(o); s && i++; var c = t[i].match(/^(circle|ellipse)?\s*(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)?$/i); c && (e = c[1] || "", "contain" === (r = c[2] || "") ? r = "closest-side" : "cover" === r && (r = "farthest-corner"), i++); var l = t[i].match(a); l && i++; var u = t[i].match(o); u && i++; var h = t[i].match(a); h && i++; var d = u || s; d && d[1] && (n = d[1] + (/^\d+$/.test(d[1]) ? "px" : ""), d[2] && (n += " " + d[2] + (/^\d+$/.test(d[2]) ? "px" : ""))); var f = h || l; return f && (A = f[0], f[1] || (A += "px")), !n || e || A || r || (A = n, n = ""), n && (n = "at " + n), [[e, r, A, n].filter(function (t) { return !!t }).join(" ")].concat(t.slice(i)) }, I = function (t) { return t.map(function (t) { return t.match(d) }).map(function (e, A) { if (!e) return t[A]; switch (e[1]) { case "from": return e[4] + " 0%"; case "to": return e[4] + " 100%"; case "color-stop": return "%" === e[3] ? e[4] + " " + e[2] : e[4] + " " + 100 * parseFloat(e[2]) + "%" } }) } }); e($); $.transformWebkitRadialGradientArgs, $.parseGradient, $.RadialGradient, $.LinearGradient, $.RADIAL_GRADIENT_SHAPE, $.GRADIENT_TYPE; var tt = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }); var A = function () { return function (t, e) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return function (t, e) { var A = [], r = !0, n = !1, i = void 0; try { for (var o, a = t[Symbol.iterator](); !(r = (o = a.next()).done) && (A.push(o.value), !e || A.length !== e); r = !0); } catch (t) { n = !0, i = t } finally { try { !r && a.return && a.return() } finally { if (n) throw i } } return A }(t, e); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), r = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), n = function (t) { return t && t.__esModule ? t : { default: t } }(q), i = function () { function t(e, A) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.target = e, this.options = A, e.render(A) } return r(t, [{ key: "renderNode", value: function (t) { t.isVisible() && (this.renderNodeBackgroundAndBorders(t), this.renderNodeContent(t)) } }, { key: "renderNodeContent", value: function (t) { var e = this, A = function () { if (t.childNodes.length && t.childNodes.forEach(function (A) { if (A instanceof n.default) { var r = A.parent.style; e.target.renderTextNode(A.bounds, r.color, r.font, r.textDecoration, r.textShadow) } else e.target.drawShape(A, t.style.color) }), t.image) { var A = e.options.imageStore.get(t.image); if (A) { var r = (0, p.calculateContentBox)(t.bounds, t.style.padding, t.style.border), i = "number" == typeof A.width && A.width > 0 ? A.width : r.width, o = "number" == typeof A.height && A.height > 0 ? A.height : r.height; i > 0 && o > 0 && e.target.clip([(0, p.calculatePaddingBoxPath)(t.curvedBounds)], function () { e.target.drawImage(A, new p.Bounds(0, 0, i, o), r) }) } } }, r = t.getClipPaths(); r.length ? this.target.clip(r, A) : A() } }, { key: "renderNodeBackgroundAndBorders", value: function (t) { var e = this, A = !t.style.background.backgroundColor.isTransparent() || t.style.background.backgroundImage.length, r = t.style.border.some(function (t) { return t.borderStyle !== w.BORDER_STYLE.NONE && !t.borderColor.isTransparent() }), n = function () { var r = (0, B.calculateBackgroungPaintingArea)(t.curvedBounds, t.style.background.backgroundClip); A && e.target.clip([r], function () { t.style.background.backgroundColor.isTransparent() || e.target.fill(t.style.background.backgroundColor), e.renderBackgroundImage(t) }), t.style.border.forEach(function (A, r) { A.borderStyle === w.BORDER_STYLE.NONE || A.borderColor.isTransparent() || e.renderBorder(A, r, t.curvedBounds) }) }; if (A || r) { var i = t.parent ? t.parent.getClipPaths() : []; i.length ? this.target.clip(i, n) : n() } } }, { key: "renderBackgroundImage", value: function (t) { var e = this; t.style.background.backgroundImage.slice(0).reverse().forEach(function (A) { "url" === A.source.method && A.source.args.length ? e.renderBackgroundRepeat(t, A) : /gradient/i.test(A.source.method) && e.renderBackgroundGradient(t, A) }) } }, { key: "renderBackgroundRepeat", value: function (t, e) { var A = this.options.imageStore.get(e.source.args[0]); if (A) { var r = (0, B.calculateBackgroungPositioningArea)(t.style.background.backgroundOrigin, t.bounds, t.style.padding, t.style.border), n = (0, B.calculateBackgroundSize)(e, A, r), i = (0, B.calculateBackgroundPosition)(e.position, n, r), o = (0, B.calculateBackgroundRepeatPath)(e, i, n, r, t.bounds), a = Math.round(r.left + i.x), s = Math.round(r.top + i.y); this.target.renderRepeat(o, A, n, a, s) } } }, { key: "renderBackgroundGradient", value: function (t, e) { var A = (0, B.calculateBackgroungPositioningArea)(t.style.background.backgroundOrigin, t.bounds, t.style.padding, t.style.border), r = (0, B.calculateGradientBackgroundSize)(e, A), n = (0, B.calculateBackgroundPosition)(e.position, r, A), i = new p.Bounds(Math.round(A.left + n.x), Math.round(A.top + n.y), r.width, r.height), o = (0, $.parseGradient)(t, e.source, i); if (o) switch (o.type) { case $.GRADIENT_TYPE.LINEAR_GRADIENT: this.target.renderLinearGradient(i, o); break; case $.GRADIENT_TYPE.RADIAL_GRADIENT: this.target.renderRadialGradient(i, o) } } }, { key: "renderBorder", value: function (t, e, A) { this.target.drawShape((0, p.parsePathForBorder)(A, e), t.borderColor) } }, { key: "renderStack", value: function (t) { var e = this; if (t.container.isVisible()) { var A = t.getOpacity(); A !== this._opacity && (this.target.setOpacity(t.getOpacity()), this._opacity = A); var r = t.container.style.transform; null !== r ? this.target.transform(t.container.bounds.left + r.transformOrigin[0].value, t.container.bounds.top + r.transformOrigin[1].value, r.transform, function () { return e.renderStackContent(t) }) : this.renderStackContent(t) } } }, { key: "renderStackContent", value: function (t) { var e = a(t), r = A(e, 5), n = r[0], i = r[1], c = r[2], l = r[3], u = r[4], h = o(t), d = A(h, 2), f = d[0], p = d[1]; this.renderNodeBackgroundAndBorders(t.container), n.sort(s).forEach(this.renderStack, this), this.renderNodeContent(t.container), p.forEach(this.renderNode, this), l.forEach(this.renderStack, this), u.forEach(this.renderStack, this), f.forEach(this.renderNode, this), i.forEach(this.renderStack, this), c.sort(s).forEach(this.renderStack, this) } }, { key: "render", value: function (t) { this.options.backgroundColor && this.target.rectangle(this.options.x, this.options.y, this.options.width, this.options.height, this.options.backgroundColor), this.renderStack(t); return this.target.getTarget() } }]), t }(); e.default = i; var o = function (t) { for (var e = [], A = [], r = t.children.length, n = 0; n < r; n++) { var i = t.children[n]; i.isInlineLevel() ? e.push(i) : A.push(i) } return [e, A] }, a = function (t) { for (var e = [], A = [], r = [], n = [], i = [], o = t.contexts.length, a = 0; a < o; a++) { var s = t.contexts[a]; s.container.isPositioned() || s.container.style.opacity < 1 || s.container.isTransformed() ? s.container.style.zIndex.order < 0 ? e.push(s) : s.container.style.zIndex.order > 0 ? r.push(s) : A.push(s) : s.container.isFloating() ? n.push(s) : i.push(s) } return [e, A, r, n, i] }, s = function (t, e) { return t.container.style.zIndex.order > e.container.style.zIndex.order ? 1 : t.container.style.zIndex.order < e.container.style.zIndex.order ? -1 : t.container.index > e.container.index ? 1 : -1 } }); e(tt); var et = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.Proxy = void 0; var A = function (t) { return t && t.__esModule ? t : { default: t } }(P); e.Proxy = function (t, e) { if (!e.proxy) return Promise.reject(null); var r = e.proxy; return new Promise(function (n, i) { var o = A.default.SUPPORT_CORS_XHR && A.default.SUPPORT_RESPONSE_TYPE ? "blob" : "text", a = A.default.SUPPORT_CORS_XHR ? new XMLHttpRequest : new XDomainRequest; if (a.onload = function () { if (a instanceof XMLHttpRequest) if (200 === a.status) if ("text" === o) n(a.response); else { var t = new FileReader; t.addEventListener("load", function () { return n(t.result) }, !1), t.addEventListener("error", function (t) { return i(t) }, !1), t.readAsDataURL(a.response) } else i(""); else n(a.responseText) }, a.onerror = i, a.open("GET", r + "?url=" + encodeURIComponent(t) + "&responseType=" + o), "text" !== o && a instanceof XMLHttpRequest && (a.responseType = o), e.imageTimeout) { var s = e.imageTimeout; a.timeout = s, a.ontimeout = function () { return i("") } } a.send() }) } }); e(et); et.Proxy; var At = A(function (t, e) { function A(t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") } Object.defineProperty(e, "__esModule", { value: !0 }), e.ResourceStore = void 0; var r = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), n = function (t) { return t && t.__esModule ? t : { default: t } }(P), i = function () { function t(e, r, n) { A(this, t), this.options = e, this._window = n, this.origin = this.getOrigin(n.location.href), this.cache = {}, this.logger = r, this._index = 0 } return r(t, [{ key: "loadImage", value: function (t) { var e = this; if (this.hasResourceInCache(t)) return t; if (h(t)) return this.cache[t] = f(t, this.options.imageTimeout || 0), t; if (!d(t) || n.default.SUPPORT_SVG_DRAWING) { if (!0 === this.options.allowTaint || l(t) || this.isSameOrigin(t)) return this.addImage(t, t, !1); if (!this.isSameOrigin(t)) { if ("string" == typeof this.options.proxy) return this.cache[t] = (0, et.Proxy)(t, this.options).then(function (t) { return f(t, e.options.imageTimeout || 0) }), t; if (!0 === this.options.useCORS && n.default.SUPPORT_CORS_IMAGES) return this.addImage(t, t, !0) } } } }, { key: "inlineImage", value: function (t) { var e = this; return l(t) ? f(t, this.options.imageTimeout || 0) : this.hasResourceInCache(t) ? this.cache[t] : this.isSameOrigin(t) || "string" != typeof this.options.proxy ? this.xhrImage(t) : this.cache[t] = (0, et.Proxy)(t, this.options).then(function (t) { return f(t, e.options.imageTimeout || 0) }) } }, { key: "xhrImage", value: function (t) { var e = this; return this.cache[t] = new Promise(function (A, r) { var n = new XMLHttpRequest; if (n.onreadystatechange = function () { if (4 === n.readyState) if (200 !== n.status) r("Failed to fetch image " + t.substring(0, 256) + " with status code " + n.status); else { var e = new FileReader; e.addEventListener("load", function () { var t = e.result; A(t) }, !1), e.addEventListener("error", function (t) { return r(t) }, !1), e.readAsDataURL(n.response) } }, n.responseType = "blob", e.options.imageTimeout) { var i = e.options.imageTimeout; n.timeout = i, n.ontimeout = function () { return r("") } } n.open("GET", t, !0), n.send() }).then(function (t) { return f(t, e.options.imageTimeout || 0) }), this.cache[t] } }, { key: "loadCanvas", value: function (t) { var e = String(this._index++); return this.cache[e] = Promise.resolve(t), e } }, { key: "hasResourceInCache", value: function (t) { return void 0 !== this.cache[t] } }, { key: "addImage", value: function (t, e, A) { var r = this, i = function (t) { return new Promise(function (n, i) { var o = new Image; if (o.onload = function () { return n(o) }, t && !A || (o.crossOrigin = "anonymous"), o.onerror = i, o.src = e, !0 === o.complete && setTimeout(function () { n(o) }, 500), r.options.imageTimeout) { var a = r.options.imageTimeout; setTimeout(function () { return i("") }, a) } }) }; return this.cache[t] = u(e) && !d(e) ? n.default.SUPPORT_BASE64_DRAWING(e).then(i) : i(!0), t } }, { key: "isSameOrigin", value: function (t) { return this.getOrigin(t) === this.origin } }, { key: "getOrigin", value: function (t) { var e = this._link || (this._link = this._window.document.createElement("a")); return e.href = t, e.href = e.href, e.protocol + e.hostname + e.port } }, { key: "ready", value: function () { var t = this, e = Object.keys(this.cache), A = e.map(function (e) { return t.cache[e].catch(function (t) { return null }) }); return Promise.all(A).then(function (t) { return new o(e, t) }) } }]), t }(); e.default = i; var o = e.ResourceStore = function () { function t(e, r) { A(this, t), this._keys = e, this._resources = r } return r(t, [{ key: "get", value: function (t) { var e = this._keys.indexOf(t); return -1 === e ? null : this._resources[e] } }]), t }(), a = /^data:image\/svg\+xml/i, s = /^data:image\/.*;base64,/i, c = /^data:image\/.*/i, l = function (t) { return c.test(t) }, u = function (t) { return s.test(t) }, h = function (t) { return "blob" === t.substr(0, 4) }, d = function (t) { return "svg" === t.substr(-3).toLowerCase() || a.test(t) }, f = function (t, e) { return new Promise(function (A, r) { var n = new Image; n.onload = function () { return A(n) }, n.onerror = r, n.src = t, !0 === n.complete && setTimeout(function () { A(n) }, 500), e && setTimeout(function () { return r("") }, e) }) } }); e(At); At.ResourceStore; var rt = A(function (t, e) { Object.defineProperty(e, "__esModule", { value: !0 }), e.parseContent = e.resolvePseudoContent = e.popCounters = e.parseCounterReset = e.TOKEN_TYPE = e.PSEUDO_CONTENT_ITEM_TYPE = void 0; var A = function () { return function (t, e) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return function (t, e) { var A = [], r = !0, n = !1, i = void 0; try { for (var o, a = t[Symbol.iterator](); !(r = (o = a.next()).done) && (A.push(o.value), !e || A.length !== e); r = !0); } catch (t) { n = !0, i = t } finally { try { !r && a.return && a.return() } finally { if (n) throw i } } return A }(t, e); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), r = e.PSEUDO_CONTENT_ITEM_TYPE = { TEXT: 0, IMAGE: 1 }, n = e.TOKEN_TYPE = { STRING: 0, ATTRIBUTE: 1, URL: 2, COUNTER: 3, COUNTERS: 4, OPENQUOTE: 5, CLOSEQUOTE: 6 }, i = (e.parseCounterReset = function (t, e) { if (!t || !t.counterReset || "none" === t.counterReset) return []; for (var r = [], n = t.counterReset.split(/\s*,\s*/), i = n.length, o = 0; o < i; o++) { var a = n[o].split(/\s+/), s = A(a, 2), c = s[0], l = s[1]; r.push(c); var u = e.counters[c]; u || (u = e.counters[c] = []), u.push(parseInt(l || 0, 10)) } return r }, e.popCounters = function (t, e) { for (var A = t.length, r = 0; r < A; r++)e.counters[t[r]].pop() }, e.resolvePseudoContent = function (t, e, o) { if (!e || !e.content || "none" === e.content || "-moz-alt-content" === e.content || "none" === e.display) return null; var c = i(e.content), l = c.length, u = [], h = "", d = e.counterIncrement; if (d && "none" !== d) { var f = d.split(/\s+/), p = A(f, 2), g = p[0], B = p[1], w = o.counters[g]; w && (w[w.length - 1] += void 0 === B ? 1 : parseInt(B, 10)) } for (var m = 0; m < l; m++) { var y = c[m]; switch (y.type) { case n.STRING: h += y.value || ""; break; case n.ATTRIBUTE: t instanceof HTMLElement && y.value && (h += t.getAttribute(y.value) || ""); break; case n.COUNTER: var v = o.counters[y.name || ""]; v && (h += s([v[v.length - 1]], "", y.format)); break; case n.COUNTERS: var Q = o.counters[y.name || ""]; Q && (h += s(Q, y.glue, y.format)); break; case n.OPENQUOTE: h += a(e, !0, o.quoteDepth), o.quoteDepth++; break; case n.CLOSEQUOTE: o.quoteDepth-- , h += a(e, !1, o.quoteDepth); break; case n.URL: h && (u.push({ type: r.TEXT, value: h }), h = ""), u.push({ type: r.IMAGE, value: y.value || "" }) } } return h && u.push({ type: r.TEXT, value: h }), u }, e.parseContent = function (t, e) { if (e && e[t]) return e[t]; for (var A = [], r = t.length, i = !1, a = !1, s = !1, c = "", l = "", u = [], h = 0; h < r; h++) { var d = t.charAt(h); switch (d) { case "'": case '"': a ? c += d : (i = !i, s || i || (A.push({ type: n.STRING, value: c }), c = "")); break; case "\\": a ? (c += d, a = !1) : a = !0; break; case "(": i ? c += d : (s = !0, l = c, c = "", u = []); break; case ")": if (i) c += d; else if (s) { switch (c && u.push(c), l) { case "attr": u.length > 0 && A.push({ type: n.ATTRIBUTE, value: u[0] }); break; case "counter": if (u.length > 0) { var f = { type: n.COUNTER, name: u[0] }; u.length > 1 && (f.format = u[1]), A.push(f) } break; case "counters": if (u.length > 0) { var p = { type: n.COUNTERS, name: u[0] }; u.length > 1 && (p.glue = u[1]), u.length > 2 && (p.format = u[2]), A.push(p) } break; case "url": u.length > 0 && A.push({ type: n.URL, value: u[0] }) }s = !1, c = "" } break; case ",": i ? c += d : s && (u.push(c), c = ""); break; case " ": case "\t": i ? c += d : c && (o(A, c), c = ""); break; default: c += d }"\\" !== d && (a = !1) } return c && o(A, c), e && (e[t] = A), A }), o = function (t, e) { switch (e) { case "open-quote": t.push({ type: n.OPENQUOTE }); break; case "close-quote": t.push({ type: n.CLOSEQUOTE }) } }, a = function (t, e, A) { var r = t.quotes ? t.quotes.split(/\s+/) : ["'\"'", "'\"'"], n = 2 * A; return n >= r.length && (n = r.length - 2), e || ++n, r[n].replace(/^["']|["']$/g, "") }, s = function (t, e, A) { for (var r = t.length, n = "", i = 0; i < r; i++)i > 0 && (n += e || ""), n += (0, V.createCounterText)(t[i], (0, b.parseListStyleType)(A || "decimal"), !1); return n } }); e(rt); rt.parseContent, rt.resolvePseudoContent, rt.popCounters, rt.parseCounterReset, rt.TOKEN_TYPE, rt.PSEUDO_CONTENT_ITEM_TYPE; var nt = A(function (t, e) { function A(t) { return t && t.__esModule ? t : { default: t } } Object.defineProperty(e, "__esModule", { value: !0 }), e.cloneWindow = e.DocumentCloner = void 0; var r = function () { return function (t, e) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return function (t, e) { var A = [], r = !0, n = !1, i = void 0; try { for (var o, a = t[Symbol.iterator](); !(r = (o = a.next()).done) && (A.push(o.value), !e || A.length !== e); r = !0); } catch (t) { n = !0, i = t } finally { try { !r && a.return && a.return() } finally { if (n) throw i } } return A }(t, e); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), n = function () { function t(t, e) { for (var A = 0; A < e.length; A++) { var r = e[A]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r) } } return function (e, A, r) { return A && t(e.prototype, A), r && t(e, r), e } }(), i = A(At), o = A(s), a = e.DocumentCloner = function () { function t(e, A, r, n, o) { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") }(this, t), this.referenceElement = e, this.scrolledElements = [], this.copyStyles = n, this.inlineImages = n, this.logger = r, this.options = A, this.renderer = o, this.resourceLoader = new i.default(A, r, window), this.pseudoContentData = { counters: {}, quoteDepth: 0 }, this.documentElement = this.cloneNode(e.ownerDocument.documentElement) } return n(t, [{ key: "inlineAllImages", value: function (t) { var e = this; if (this.inlineImages && t) { var A = t.style; Promise.all((0, B.parseBackgroundImage)(A.backgroundImage).map(function (t) { return "url" === t.method ? e.resourceLoader.inlineImage(t.args[0]).then(function (t) { return t && "string" == typeof t.src ? 'url("' + t.src + '")' : "none" }).catch(function (t) { }) : Promise.resolve("" + t.prefix + t.method + "(" + t.args.join(",") + ")") })).then(function (t) { t.length > 1 && (A.backgroundColor = ""), A.backgroundImage = t.join(",") }), t instanceof HTMLImageElement && this.resourceLoader.inlineImage(t.src).then(function (e) { if (e && t instanceof HTMLImageElement && t.parentNode) { var A = t.parentNode, r = (0, l.copyCSSStyles)(t.style, e.cloneNode(!1)); A.replaceChild(r, t) } }).catch(function (t) { }) } } }, { key: "inlineFonts", value: function (t) { var e = this; return Promise.all(Array.from(t.styleSheets).map(function (e) { return e.href ? fetch(e.href).then(function (t) { return t.text() }).then(function (t) { return u(t, e.href) }).catch(function (t) { return [] }) : c(e, t) })).then(function (t) { return t.reduce(function (t, e) { return t.concat(e) }, []) }).then(function (t) { return Promise.all(t.map(function (t) { return fetch(t.formats[0].src).then(function (t) { return t.blob() }).then(function (t) { return new Promise(function (e, A) { var r = new FileReader; r.onerror = A, r.onload = function () { var t = r.result; e(t) }, r.readAsDataURL(t) }) }).then(function (e) { return t.fontFace.setProperty("src", 'url("' + e + '")'), "@font-face {" + t.fontFace.cssText + " " }) })) }).then(function (A) { var r = t.createElement("style"); r.textContent = A.join("\n"), e.documentElement.appendChild(r) }) } }, { key: "createElementClone", value: function (t) { var e = this; if (this.copyStyles && t instanceof HTMLCanvasElement) { var A = t.ownerDocument.createElement("img"); try { return A.src = t.toDataURL(), A } catch (t) { } } if (t instanceof HTMLIFrameElement) { var r = t.cloneNode(!1), n = C(); r.setAttribute("data-html2canvas-internal-iframe-key", n); var i = (0, p.parseBounds)(t, 0, 0), a = i.width, s = i.height; return this.resourceLoader.cache[n] = b(t, this.options).then(function (t) { return e.renderer(t, { async: e.options.async, allowTaint: e.options.allowTaint, backgroundColor: "#ffffff", canvas: null, imageTimeout: e.options.imageTimeout, logging: e.options.logging, proxy: e.options.proxy, removeContainer: e.options.removeContainer, scale: e.options.scale, foreignObjectRendering: e.options.foreignObjectRendering, useCORS: e.options.useCORS, target: new o.default, width: a, height: s, x: 0, y: 0, windowWidth: t.ownerDocument.defaultView.innerWidth, windowHeight: t.ownerDocument.defaultView.innerHeight, scrollX: t.ownerDocument.defaultView.pageXOffset, scrollY: t.ownerDocument.defaultView.pageYOffset }, e.logger.child(n)) }).then(function (e) { return new Promise(function (A, n) { var i = document.createElement("img"); i.onload = function () { return A(e) }, i.onerror = n, i.src = e.toDataURL(), r.parentNode && r.parentNode.replaceChild((0, l.copyCSSStyles)(t.ownerDocument.defaultView.getComputedStyle(t), i), r) }) }), r } if (t instanceof HTMLStyleElement && t.sheet && t.sheet.cssRules) { var c = [].slice.call(t.sheet.cssRules, 0).reduce(function (t, A) { try { return A && A.cssText ? t + A.cssText : t } catch (r) { return e.logger.log("Unable to access cssText property", A.name), t } }, ""), u = t.cloneNode(!1); return u.textContent = c, u } return t.cloneNode(!1) } }, { key: "cloneNode", value: function (t) { var e = t.nodeType === Node.TEXT_NODE ? document.createTextNode(t.nodeValue) : this.createElementClone(t), A = t.ownerDocument.defaultView, r = t instanceof A.HTMLElement ? A.getComputedStyle(t) : null, n = t instanceof A.HTMLElement ? A.getComputedStyle(t, ":before") : null, i = t instanceof A.HTMLElement ? A.getComputedStyle(t, ":after") : null; this.referenceElement === t && e instanceof A.HTMLElement && (this.clonedReferenceElement = e), e instanceof A.HTMLBodyElement && y(e); for (var o = (0, rt.parseCounterReset)(r, this.pseudoContentData), a = (0, rt.resolvePseudoContent)(t, n, this.pseudoContentData), s = t.firstChild; s; s = s.nextSibling)s.nodeType === Node.ELEMENT_NODE && ("SCRIPT" === s.nodeName || s.hasAttribute("data-html2canvas-ignore") || "function" == typeof this.options.ignoreElements && this.options.ignoreElements(s)) || this.copyStyles && "STYLE" === s.nodeName || e.appendChild(this.cloneNode(s)); var c = (0, rt.resolvePseudoContent)(t, i, this.pseudoContentData); if ((0, rt.popCounters)(o, this.pseudoContentData), t instanceof A.HTMLElement && e instanceof A.HTMLElement) switch (n && this.inlineAllImages(d(t, e, n, a, f)), i && this.inlineAllImages(d(t, e, i, c, g)), !r || !this.copyStyles || t instanceof HTMLIFrameElement || (0, l.copyCSSStyles)(r, e), this.inlineAllImages(e), 0 === t.scrollTop && 0 === t.scrollLeft || this.scrolledElements.push([e, t.scrollLeft, t.scrollTop]), t.nodeName) { case "CANVAS": this.copyStyles || h(t, e); break; case "TEXTAREA": case "SELECT": e.value = t.value }return e } }]), t }(), c = function (t, e) { return (t.cssRules ? Array.from(t.cssRules) : []).filter(function (t) { return t.type === CSSRule.FONT_FACE_RULE }).map(function (t) { for (var A = (0, B.parseBackgroundImage)(t.style.getPropertyValue("src")), r = [], n = 0; n < A.length; n++)if ("url" === A[n].method && A[n + 1] && "format" === A[n + 1].method) { var i = e.createElement("a"); i.href = A[n].args[0], e.body && e.body.appendChild(i); var o = { src: i.href, format: A[n + 1].args[0] }; r.push(o) } return { formats: r.filter(function (t) { return /^woff/i.test(t.format) }), fontFace: t.style } }).filter(function (t) { return t.formats.length }) }, u = function (t, e) { var A = document.implementation.createHTMLDocument(""), r = document.createElement("base"); r.href = e; var n = document.createElement("style"); return n.textContent = t, A.head && A.head.appendChild(r), A.body && A.body.appendChild(n), n.sheet ? c(n.sheet, A) : [] }, h = function (t, e) { try { if (e) { e.width = t.width, e.height = t.height; var A = t.getContext("2d"), r = e.getContext("2d"); A ? r.putImageData(A.getImageData(0, 0, t.width, t.height), 0, 0) : r.drawImage(t, 0, 0) } } catch (t) { } }, d = function (t, e, A, r, n) { if (A && A.content && "none" !== A.content && "-moz-alt-content" !== A.content && "none" !== A.display) { var i = e.ownerDocument.createElement("html2canvaspseudoelement"); if ((0, l.copyCSSStyles)(A, i), r) for (var o = r.length, a = 0; a < o; a++) { var s = r[a]; switch (s.type) { case rt.PSEUDO_CONTENT_ITEM_TYPE.IMAGE: var c = e.ownerDocument.createElement("img"); c.src = (0, B.parseBackgroundImage)("url(" + s.value + ")")[0].args[0], c.style.opacity = "1", i.appendChild(c); break; case rt.PSEUDO_CONTENT_ITEM_TYPE.TEXT: i.appendChild(e.ownerDocument.createTextNode(s.value)) } } return i.className = w + " " + m, e.className += n === f ? " " + w : " " + m, n === f ? e.insertBefore(i, e.firstChild) : e.appendChild(i), i } }, f = ":before", g = ":after", w = "___html2canvas___pseudoelement_before", m = "___html2canvas___pseudoelement_after", y = function (t) { v(t, "." + w + f + '{\n    content: "" !important;\n    display: none !important;\n}\n         .' + m + g + '{\n    content: "" !important;\n    display: none !important;\n}') }, v = function (t, e) { var A = t.ownerDocument.createElement("style"); A.innerHTML = e, t.appendChild(A) }, Q = function (t) { var e = r(t, 3), A = e[0], n = e[1], i = e[2]; A.scrollLeft = n, A.scrollTop = i }, C = function () { return Math.ceil(Date.now() + 1e7 * Math.random()).toString(16) }, U = /^data:text\/(.+);(base64)?,(.*)$/i, b = function (t, e) { try { return Promise.resolve(t.contentWindow.document.documentElement) } catch (A) { return e.proxy ? (0, et.Proxy)(t.src, e).then(function (t) { var e = t.match(U); return e ? "base64" === e[2] ? window.atob(decodeURIComponent(e[3])) : decodeURIComponent(e[3]) : Promise.reject() }).then(function (e) { return F(t.ownerDocument, (0, p.parseBounds)(t, 0, 0)).then(function (t) { var A = t.contentWindow.document; A.open(), A.write(e); var r = E(t).then(function () { return A.documentElement }); return A.close(), r }) }) : Promise.reject() } }, F = function (t, e) { var A = t.createElement("iframe"); return A.className = "html2canvas-container", A.style.visibility = "hidden", A.style.position = "fixed", A.style.left = "-10000px", A.style.top = "0px", A.style.border = "0", A.width = e.width.toString(), A.height = e.height.toString(), A.scrolling = "no", A.setAttribute("data-html2canvas-ignore", "true"), t.body ? (t.body.appendChild(A), Promise.resolve(A)) : Promise.reject("") }, E = function (t) { var e = t.contentWindow, A = e.document; return new Promise(function (r, n) { e.onload = t.onload = A.onreadystatechange = function () { var e = setInterval(function () { A.body.childNodes.length > 0 && "complete" === A.readyState && (clearInterval(e), r(t)) }, 50) } }) }, x = (e.cloneWindow = function (t, e, A, r, n, i) { var o = new a(A, r, n, !1, i), s = t.defaultView.pageXOffset, c = t.defaultView.pageYOffset; return F(t, e).then(function (n) { var i = n.contentWindow, a = i.document, l = E(n).then(function () { o.scrolledElements.forEach(Q), i.scrollTo(e.left, e.top), !/(iPad|iPhone|iPod)/g.test(navigator.userAgent) || i.scrollY === e.top && i.scrollX === e.left || (a.documentElement.style.top = -e.top + "px", a.documentElement.style.left = -e.left + "px", a.documentElement.style.position = "absolute"); var A = Promise.resolve([n, o.clonedReferenceElement, o.resourceLoader]), s = r.onclone; return o.clonedReferenceElement instanceof i.HTMLElement || o.clonedReferenceElement instanceof t.defaultView.HTMLElement || o.clonedReferenceElement instanceof HTMLElement ? "function" == typeof s ? Promise.resolve().then(function () { return s(a) }).then(function () { return A }) : A : Promise.reject("") }); return a.open(), a.write(x(document.doctype) + "<html></html>"), function (t, e, A) { !t.defaultView || e === t.defaultView.pageXOffset && A === t.defaultView.pageYOffset || t.defaultView.scrollTo(e, A) }(A.ownerDocument, s, c), a.replaceChild(a.adoptNode(o.documentElement), a.documentElement), a.close(), l }) }, function (t) { var e = ""; return t && (e += "<!DOCTYPE ", t.name && (e += t.name), t.internalSubset && (e += t.internalSubset), t.publicId && (e += '"' + t.publicId + '"'), t.systemId && (e += '"' + t.systemId + '"'), e += ">"), e }) }); e(nt); nt.cloneWindow, nt.DocumentCloner; var it = A(function (t, e) { function A(t) { return t && t.__esModule ? t : { default: t } } Object.defineProperty(e, "__esModule", { value: !0 }), e.renderElement = void 0; var r = function () { return function (t, e) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return function (t, e) { var A = [], r = !0, n = !1, i = void 0; try { for (var o, a = t[Symbol.iterator](); !(r = (o = a.next()).done) && (A.push(o.value), !e || A.length !== e); r = !0); } catch (t) { n = !0, i = t } finally { try { !r && a.return && a.return() } finally { if (n) throw i } } return A }(t, e); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), n = (A(c), A(tt)), i = A(O), a = A(P), s = A(o); e.renderElement = function t(e, A, c) { var l = e.ownerDocument, u = new p.Bounds(A.scrollX, A.scrollY, A.windowWidth, A.windowHeight), h = l.documentElement ? new s.default(getComputedStyle(l.documentElement).backgroundColor) : o.TRANSPARENT, d = l.body ? new s.default(getComputedStyle(l.body).backgroundColor) : o.TRANSPARENT, f = e === l.documentElement ? h.isTransparent() ? d.isTransparent() ? A.backgroundColor ? new s.default(A.backgroundColor) : null : d : h : A.backgroundColor ? new s.default(A.backgroundColor) : null; return (A.foreignObjectRendering ? a.default.SUPPORT_FOREIGNOBJECT_DRAWING : Promise.resolve(!1)).then(function (a) { return a ? function (t) { return t.inlineFonts(l).then(function () { return t.resourceLoader.ready() }).then(function () { var r = new i.default(t.documentElement), n = l.defaultView, o = n.pageXOffset, a = n.pageYOffset, s = "HTML" === e.tagName || "BODY" === e.tagName ? (0, p.parseDocumentSize)(l) : (0, p.parseBounds)(e, o, a), u = s.width, h = s.height, d = s.left, g = s.top; return r.render({ backgroundColor: f, logger: c, scale: A.scale, x: "number" == typeof A.x ? A.x : d, y: "number" == typeof A.y ? A.y : g, width: "number" == typeof A.width ? A.width : Math.ceil(u), height: "number" == typeof A.height ? A.height : Math.ceil(h), windowWidth: A.windowWidth, windowHeight: A.windowHeight, scrollX: A.scrollX, scrollY: A.scrollY }) }) }(new nt.DocumentCloner(e, A, c, !0, t)) : (0, nt.cloneWindow)(l, u, e, A, c, t).then(function (t) { var e = r(t, 3), i = e[0], a = e[1], s = e[2], u = (0, Y.NodeParser)(a, s, c), h = a.ownerDocument; return f === u.container.style.background.backgroundColor && (u.container.style.background.backgroundColor = o.TRANSPARENT), s.ready().then(function (t) { var e = new J.FontMetrics(h), r = h.defaultView, o = r.pageXOffset, s = r.pageYOffset, d = "HTML" === a.tagName || "BODY" === a.tagName ? (0, p.parseDocumentSize)(l) : (0, p.parseBounds)(a, o, s), g = d.width, B = d.height, w = d.left, m = d.top, y = { backgroundColor: f, fontMetrics: e, imageStore: t, logger: c, scale: A.scale, x: "number" == typeof A.x ? A.x : w, y: "number" == typeof A.y ? A.y : m, width: "number" == typeof A.width ? A.width : Math.ceil(g), height: "number" == typeof A.height ? A.height : Math.ceil(B) }; if (Array.isArray(A.target)) return Promise.all(A.target.map(function (t) { return new n.default(t, y).render(u) })); var v = new n.default(A.target, y).render(u); return !0 === A.removeContainer && i.parentNode && i.parentNode.removeChild(i), v }) }) }) } }); e(it); it.renderElement; var ot = e(A(function (t) { function e(t) { return t && t.__esModule ? t : { default: t } } var A = Object.assign || function (t) { for (var e = 1; e < arguments.length; e++) { var A = arguments[e]; for (var r in A) Object.prototype.hasOwnProperty.call(A, r) && (t[r] = A[r]) } return t }, r = e(s), n = e(c), i = function (t, e) { var i = e || {}, o = new n.default("boolean" != typeof i.logging || i.logging); o.log("html2canvas $npm_package_version"); var a = t.ownerDocument; if (!a) return Promise.reject("Provided element is not within a Document"); var s = a.defaultView, c = { async: !0, allowTaint: !1, backgroundColor: "#ffffff", imageTimeout: 15e3, logging: !0, proxy: null, removeContainer: !0, foreignObjectRendering: !1, scale: s.devicePixelRatio || 1, target: new r.default(i.canvas), useCORS: !1, windowWidth: s.innerWidth, windowHeight: s.innerHeight, scrollX: s.pageXOffset, scrollY: s.pageYOffset }; return (0, it.renderElement)(t, A({}, c, i), o) }; i.CanvasRenderer = r.default, t.exports = i })), at = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { return typeof t } : function (t) { return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t }, st = Object.assign || function (t) { for (var e = 1; e < arguments.length; e++) { var A = arguments[e]; for (var r in A) Object.prototype.hasOwnProperty.call(A, r) && (t[r] = A[r]) } return t }, ct = function (t) { var e = void 0 === t ? "undefined" : at(t); return "undefined" === e ? "undefined" : "string" === e || t instanceof String ? "string" : "number" === e || t instanceof Number ? "number" : "function" === e || t instanceof Function ? "function" : t && t.constructor === Array ? "array" : t && 1 === t.nodeType ? "element" : "object" === e ? "object" : "unknown" }, lt = function (t, e) { var A = document.createElement(t); if (e.className && (A.className = e.className), e.innerHTML) { A.innerHTML = e.innerHTML; for (var r = A.getElementsByTagName("script"), n = r.length; n-- > 0; null)r[n].parentNode.removeChild(r[n]) } for (var i in e.style) A.style[i] = e.style[i]; return A }, ut = function (t, e) { if ("number" === ct(t)) return 72 * t / 96 / e; var A = {}; for (var r in t) A[r] = 72 * t[r] / 96 / e; return A }, ht = function (t, e) { return Math.floor(t * e / 72 * 96) }, dt = function t(e) { var A = st(t.convert(Promise.resolve()), JSON.parse(JSON.stringify(t.template))), r = t.convert(Promise.resolve(), A); return r = r.setProgress(1, t, 1, [t]), r = r.set(e) }; (dt.prototype = Object.create(Promise.prototype)).constructor = dt, dt.convert = function (t, e) { return t.__proto__ = e || dt.prototype, t }, dt.template = { prop: { src: null, container: null, overlay: null, canvas: null, img: null, pdf: null, pageSize: null }, progress: { val: 0, state: null, n: 0, stack: [] }, opt: { filename: "file.pdf", margin: [0, 0, 0, 0], image: { type: "jpeg", quality: .95 }, enableLinks: !0, html2canvas: {}, jsPDF: {} } }, dt.prototype.from = function (t, e) { return this.then(function () { switch (e = e || function (t) { switch (ct(t)) { case "string": return "string"; case "element": return "canvas" === t.nodeName.toLowerCase ? "canvas" : "element"; default: return "unknown" } }(t)) { case "string": return this.set({ src: lt("div", { innerHTML: t }) }); case "element": return this.set({ src: t }); case "canvas": return this.set({ canvas: t }); case "img": return this.set({ img: t }); default: return this.error("Unknown source type.") } }) }, dt.prototype.to = function (t) { switch (t) { case "container": return this.toContainer(); case "canvas": return this.toCanvas(); case "img": return this.toImg(); case "pdf": return this.toPdf(); default: return this.error("Invalid target.") } }, dt.prototype.toContainer = function () { return this.thenList([function () { return this.prop.src || this.error("Cannot duplicate - no source HTML.") }, function () { return this.prop.pageSize || this.setPageSize() }]).then(function () { var t = { position: "fixed", overflow: "hidden", zIndex: 1e3, left: 0, right: 0, bottom: 0, top: 0, backgroundColor: "rgba(0,0,0,0.8)" }, e = { position: "absolute", width: this.prop.pageSize.inner.width + this.prop.pageSize.unit, left: 0, right: 0, top: 0, height: "auto", margin: "auto", backgroundColor: "white" }; t.opacity = 0; var A = function t(e, A) { for (var r = 3 === e.nodeType ? document.createTextNode(e.nodeValue) : e.cloneNode(!1), n = e.firstChild; n; n = n.nextSibling)!0 !== A && 1 === n.nodeType && "SCRIPT" === n.nodeName || r.appendChild(t(n, A)); return 1 === e.nodeType && ("CANVAS" === e.nodeName ? (r.width = e.width, r.height = e.height, r.getContext("2d").drawImage(e, 0, 0)) : "TEXTAREA" !== e.nodeName && "SELECT" !== e.nodeName || (r.value = e.value), r.addEventListener("load", function () { r.scrollTop = e.scrollTop, r.scrollLeft = e.scrollLeft }, !0)), r }(this.prop.src, this.opt.html2canvas.javascriptEnabled); this.prop.overlay = lt("div", { className: "html2pdf__overlay", style: t }), this.prop.container = lt("div", { className: "html2pdf__container", style: e }), this.prop.container.appendChild(A), this.prop.overlay.appendChild(this.prop.container), document.body.appendChild(this.prop.overlay) }) }, dt.prototype.toCanvas = function () { var t = [function () { return document.body.contains(this.prop.container) || this.toContainer() }]; return this.thenList(t).then(function () { var t = st({}, this.opt.html2canvas); return delete t.onrendered, ot(this.prop.container, t) }).then(function (t) { (this.opt.html2canvas.onrendered || function () { })(t), this.prop.canvas = t, document.body.removeChild(this.prop.overlay) }) }, dt.prototype.toImg = function () { return this.thenList([function () { return this.prop.canvas || this.toCanvas() }]).then(function () { var t = this.prop.canvas.toDataURL("image/" + this.opt.image.type, this.opt.image.quality); this.prop.img = document.createElement("img"), this.prop.img.src = t }) }, dt.prototype.toPdf = function () { return this.thenList([function () { return this.prop.canvas || this.toCanvas() }]).then(function () { var t = this.prop.canvas, e = this.opt, A = (t.getContext("2d"), t.height), r = Math.floor(t.width * this.prop.pageSize.inner.ratio), i = Math.ceil(A / r), o = this.prop.pageSize.inner.height, a = document.createElement("canvas"), s = a.getContext("2d"); a.width = t.width, a.height = r, this.prop.pdf = this.prop.pdf || new n(e.jsPDF); for (var c = 0; c < i; c++) { c === i - 1 && (a.height = A % r, o = a.height * this.prop.pageSize.inner.width / a.width); var l = a.width, u = a.height; s.fillStyle = "white", s.fillRect(0, 0, l, u), s.drawImage(t, 0, c * r, l, u, 0, 0, l, u), c && this.prop.pdf.addPage(); var h = a.toDataURL("image/" + e.image.type, e.image.quality); this.prop.pdf.addImage(h, e.image.type, e.margin[1], e.margin[0], this.prop.pageSize.inner.width, o) } }) }, dt.prototype.output = function (t, e, A) { return "img" === (A = A || "pdf").toLowerCase() || "image" === A.toLowerCase() ? this.outputImg(t, e) : this.outputPdf(t, e) }, dt.prototype.outputPdf = function (t, e) { return this.thenList([function () { return this.prop.pdf || this.toPdf() }]).then(function () { return this.prop.pdf.output(t, e) }) }, dt.prototype.outputImg = function (t, e) { return this.thenList([function () { return this.prop.img || this.toImg() }]).then(function () { switch (t) { case void 0: case "img": return this.prop.img; case "datauristring": case "dataurlstring": return this.prop.img.src; case "datauri": case "dataurl": return document.location.href = this.prop.img.src; default: throw 'Image output type "' + t + '" is not supported.' } }) }, dt.prototype.save = function (t) { return this.thenList([function () { return this.prop.pdf || this.toPdf() }]).set(t ? { filename: t } : null).then(function () { this.prop.pdf.save(this.opt.filename) }) }, dt.prototype.set = function (t) { if ("object" !== ct(t)) return this; var e = Object.keys(t || {}).map(function (e) { if (e in dt.template.prop) return function () { this.prop[e] = t[e] }; switch (e) { case "margin": return this.setMargin.bind(this, t.margin); case "jsPDF": return function () { return this.opt.jsPDF = t.jsPDF, this.setPageSize() }; case "pageSize": return this.setPageSize.bind(this, t.pageSize); default: return function () { this.opt[e] = t[e] } } }, this); return this.then(function () { return this.thenList(e) }) }, dt.prototype.get = function (t, e) { return this.then(function () { var A = t in dt.template.prop ? this.prop[t] : this.opt[t]; return e ? e(A) : A }) }, dt.prototype.setMargin = function (t) { return this.then(function () { switch (ct(t)) { case "number": t = [t, t, t, t]; case "array": if (2 === t.length && (t = [t[0], t[1], t[0], t[1]]), 4 === t.length) break; default: return this.error("Invalid margin array.") }this.opt.margin = t }).then(this.setPageSize) }, dt.prototype.setPageSize = function (t) { return this.then(function () { (t = t || n.getPageSize(this.opt.jsPDF)).hasOwnProperty("inner") || (t.inner = { width: t.width - this.opt.margin[1] - this.opt.margin[3], height: t.height - this.opt.margin[0] - this.opt.margin[2] }, t.inner.px = { width: ht(t.inner.width, t.k), height: ht(t.inner.height, t.k) }, t.inner.ratio = t.inner.height / t.inner.width), this.prop.pageSize = t }) }, dt.prototype.setProgress = function (t, e, A, r) { return null != t && (this.progress.val = t), null != e && (this.progress.state = e), null != A && (this.progress.n = A), null != r && (this.progress.stack = r), this.progress.ratio = this.progress.val / this.progress.state, this }, dt.prototype.updateProgress = function (t, e, A, r) { return this.setProgress(t ? this.progress.val + t : null, e || null, A ? this.progress.n + A : null, r ? this.progress.stack.concat(r) : null) }, dt.prototype.then = function (t, e) { var A = this; return this.thenCore(t, e, function (t, e) { return A.updateProgress(null, null, 1, [t]), Promise.prototype.then.call(this, function (e) { return A.updateProgress(null, t), e }).then(t, e).then(function (t) { return A.updateProgress(1), t }) }) }, dt.prototype.thenCore = function (t, e, A) { A = A || Promise.prototype.then; t && (t = t.bind(this)), e && (e = e.bind(this)); var r = -1 !== Promise.toString().indexOf("[native code]") && "Promise" === Promise.name ? this : dt.convert(st({}, this), Promise.prototype), n = A.call(r, t, e); return dt.convert(n, this.__proto__) }, dt.prototype.thenExternal = function (t, e) { return Promise.prototype.then.call(this, t, e) }, dt.prototype.thenList = function (t) { var e = this; return t.forEach(function (t) { e = e.thenCore(t) }), e }, dt.prototype.catch = function (t) { t && (t = t.bind(this)); var e = Promise.prototype.catch.call(this, t); return dt.convert(e, this) }, dt.prototype.catchExternal = function (t) { return Promise.prototype.catch.call(this, t) }, dt.prototype.error = function (t) { return this.then(function () { throw new Error(t) }) }, dt.prototype.using = dt.prototype.set, dt.prototype.saveAs = dt.prototype.save, dt.prototype.export = dt.prototype.output, dt.prototype.run = dt.prototype.then, n.getPageSize = function (t, e, A) { if ("object" === (void 0 === t ? "undefined" : at(t))) { var r = t; t = r.orientation, e = r.unit || e, A = r.format || A } e = e || "mm", A = A || "a4", t = ("" + (t || "P")).toLowerCase(); var n = ("" + A).toLowerCase(), i = { 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], dl: [311.81, 623.62], letter: [612, 792], "government-letter": [576, 756], legal: [612, 1008], "junior-legal": [576, 360], ledger: [1224, 792], tabloid: [792, 1224], "credit-card": [153, 243] }; switch (e) { case "pt": o = 1; break; case "mm": o = 72 / 25.4; break; case "cm": o = 72 / 2.54; break; case "in": o = 72; break; case "px": o = .75; break; case "pc": case "em": o = 12; break; case "ex": var o = 6; break; default: throw "Invalid unit: " + e }if (i.hasOwnProperty(n)) var a = i[n][1] / o, s = i[n][0] / o; else try { var a = A[1], s = A[0] } catch (t) { throw new Error("Invalid format: " + A) } if ("p" === t || "portrait" === t) { if (t = "p", s > a) { c = s; s = a, a = c } } else { if ("l" !== t && "landscape" !== t) throw "Invalid orientation: " + t; if (t = "l", a > s) { var c = s; s = a, a = c } } return { width: s, height: a, unit: e, k: o } }; var ft = { toContainer: dt.prototype.toContainer }; dt.template.opt.pagebreak = { mode: ["css", "legacy"], before: [], after: [], avoid: [] }, dt.prototype.toContainer = function () { return ft.toContainer.call(this).then(function () { var t = this.prop.container, e = this.prop.pageSize.inner.px.height, A = [].concat(this.opt.pagebreak.mode), r = { avoidAll: -1 !== A.indexOf("avoid-all"), css: -1 !== A.indexOf("css"), legacy: -1 !== A.indexOf("legacy") }, n = {}, i = this;["before", "after", "avoid"].forEach(function (e) { var A = r.avoidAll && "avoid" === e; n[e] = A ? [] : [].concat(i.opt.pagebreak[e] || []), n[e].length > 0 && (n[e] = Array.prototype.slice.call(t.querySelectorAll(n[e].join(", ")))) }); var o = t.querySelectorAll(".html2pdf__page-break"); o = Array.prototype.slice.call(o); var a = t.querySelectorAll("*"); Array.prototype.forEach.call(a, function (t) { var A = { before: !1, after: r.legacy && -1 !== o.indexOf(t), avoid: r.avoidAll }; if (r.css) { var i = window.getComputedStyle(t), a = ["always", "page", "left", "right"]; A = { before: A.before || -1 !== a.indexOf(i.breakBefore || i.pageBreakBefore), after: A.after || -1 !== a.indexOf(i.breakAfter || i.pageBreakAfter), avoid: A.avoid || -1 !== ["avoid", "avoid-page"].indexOf(i.breakInside || i.pageBreakInside) } } Object.keys(A).forEach(function (e) { A[e] = A[e] || -1 !== n[e].indexOf(t) }); var s = t.getBoundingClientRect(); if (A.avoid && !A.before) { var c = Math.floor(s.top / e), l = Math.floor(s.bottom / e), u = Math.abs(s.bottom - s.top) / e; l !== c && u <= 1 && (A.before = !0) } if (A.before) { h = lt("div", { style: { display: "block", height: e - s.top % e + "px" } }); t.parentNode.insertBefore(h, t) } if (A.after) { var h = lt("div", { style: { display: "block", height: e - s.bottom % e + "px" } }); t.parentNode.insertBefore(h, t.nextSibling) } }) }) }; var pt = [], gt = { toContainer: dt.prototype.toContainer, toPdf: dt.prototype.toPdf }; dt.prototype.toContainer = function () { return gt.toContainer.call(this).then(function () { if (this.opt.enableLinks) { var t = this.prop.container, e = t.querySelectorAll("a"), A = ut(t.getBoundingClientRect(), this.prop.pageSize.k); pt = [], Array.prototype.forEach.call(e, function (t) { for (var e = t.getClientRects(), r = 0; r < e.length; r++) { var n = ut(e[r], this.prop.pageSize.k); n.left -= A.left, n.top -= A.top; var i = Math.floor(n.top / this.prop.pageSize.inner.height) + 1, o = this.opt.margin[0] + n.top % this.prop.pageSize.inner.height, a = this.opt.margin[1] + n.left; pt.push({ page: i, top: o, left: a, clientRect: n, link: t }) } }, this) } }) }, dt.prototype.toPdf = function () { return gt.toPdf.call(this).then(function () { if (this.opt.enableLinks) { pt.forEach(function (t) { this.prop.pdf.setPage(t.page), this.prop.pdf.link(t.left, t.top, t.clientRect.width, t.clientRect.height, { url: t.link.href }) }, this); var t = this.prop.pdf.internal.getNumberOfPages(); this.prop.pdf.setPage(t) } }) }; var Bt = function t(e, A) { var r = new t.Worker(A); return e ? r.from(e).save() : r }; return Bt.Worker = dt, Bt });
;;;(function(window){$(document).ready(function(){var windowWidth=$(window).width();initializePharmacyPicker(windowWidth);$('.teva-switzerland .select2-container--teva-hcp-uk-green-theme-side .select2-selection--single .select2-selection__rendered').hover(function(){if($(this).parent().attr('aria-expanded')=='false'){$(this).addClass('hover-pharmacy')}},function(){$(this).removeClass('hover-pharmacy')})});function initializePharmacyPicker(windowWidth){adjustPharmacyPickerStyles(windowWidth);if(windowWidth>=767){$('.ch-header-pharmacy-picker-dropdown').select2({theme:'pharmacy-picker',width:'auto'}).on('select2:select',handlePharmacyChange);}else{$('.ch-header-pharmacy-picker-dropdown').select2({theme:'pharmacy-picker',width:'100%'}).on('select2:select',handlePharmacyChange);}}
function handlePharmacyChange(){var sapNumber=$(this).select2('val');window.toggleGlobalLoader();window.chPharmacyPicker.selectPharmacy(sapNumber,function(){location.reload();});}
function adjustPharmacyPickerStyles(windowWidth){var $mainNavWrapper=$('.main-nav').find('.main-nav__wrapper');var $mobileNav=$('.main-nav').find('.mobile-navbar');var $pharmacyPicker=$('.ch-header-pharmacy-picker-dropdown');var $globalWrapper=$('.global-wrapper');if($pharmacyPicker.length){if(windowWidth>=767){$mainNavWrapper.css('top','44px');$mobileNav.css('top','44px');}else{$mainNavWrapper.css('top','76px');$mobileNav.css('top','76px');}}}})(window);
;;;$(document).ready(function(){var baseUrl='/ChPharmacyPickerBlock';var setPharmacyUrl=baseUrl+'/SetPharmacy';function selectPharmacy(sapNumber,success,error){post(setPharmacyUrl,{sapNumber:sapNumber},success,error);}
function post(url,request,success,error){request=request||{};request['pageId']=$('.global-wrapper').attr('page-content-id');request['lang']=$('html').attr('cms-lang');$.post(url,request,function(data){success&&success(data);}).fail(function(err){error&&error(err);});}
(function(){if(!window.chPharmacyPicker){window.chPharmacyPicker={selectPharmacy:selectPharmacy};}})();});
;;;