(function(n,t,i){"use strict";function f(n,t,i){var u=n.runtimeStyle&&n.runtimeStyle[t],f,r=n.style;return(!/^-?[0-9]+\.?[0-9]*(?:px)?$/i.test(i)&&/^-?\d/.test(i)&&(f=r.left,u&&(n.runtimeStyle.left=n.currentStyle.left),r.left=t==="fontSize"?"1em":i||0,i=r.pixelLeft+"px",r.left=f,u&&(n.runtimeStyle.left=u)),!/^(thin|medium|thick)$/i.test(i))?Math.round(parseFloat(i))+"px":i}function s(n){return parseInt(n,10)}function h(n,t,u,e){if(n=(n||"").split(","),n=n[e||0]||n[0]||"auto",n=r.Util.trimText(n).split(" "),u!=="backgroundSize"||n[0]&&!n[0].match(/cover|contain|auto/)){if(n[0]=n[0].indexOf("%")===-1?f(t,u+"X",n[0]):n[0],n[1]===i){if(u==="backgroundSize")return n[1]="auto",n;n[1]=n[0]}n[1]=n[1].indexOf("%")===-1?f(t,u+"Y",n[1]):n[1]}return n}function e(n,t,i,u,f,e){var o=r.Util.getCSS(t,n,f),h,s,c,l,a;return o.length===1&&(l=o[0],o=[],o[0]=l,o[1]=l),o[0].toString().indexOf("%")!==-1?(c=parseFloat(o[0])/100,s=i.width*c,n!=="backgroundSize"&&(s-=(e||u).width*c)):n==="backgroundSize"?o[0]==="auto"?s=u.width:/contain|cover/.test(o[0])?(a=r.Util.resizeBounds(u.width,u.height,i.width,i.height,o[0]),s=a.width,h=a.height):s=parseInt(o[0],10):s=parseInt(o[0],10),o[1]==="auto"?h=s/u.width*u.height:o[1].toString().indexOf("%")!==-1?(c=parseFloat(o[1])/100,h=i.height*c,n!=="backgroundSize"&&(h-=(e||u).height*c)):h=parseInt(o[1],10),[s,h]}function c(n,t){var i=[];return{storage:i,width:n,height:t,clip:function(){i.push({type:"function",name:"clip",arguments:arguments})},translate:function(){i.push({type:"function",name:"translate",arguments:arguments})},fill:function(){i.push({type:"function",name:"fill",arguments:arguments})},save:function(){i.push({type:"function",name:"save",arguments:arguments})},restore:function(){i.push({type:"function",name:"restore",arguments:arguments})},fillRect:function(){i.push({type:"function",name:"fillRect",arguments:arguments})},createPattern:function(){i.push({type:"function",name:"createPattern",arguments:arguments})},drawShape:function(){var n=[];return i.push({type:"function",name:"drawShape",arguments:n}),{moveTo:function(){n.push({name:"moveTo",arguments:arguments})},lineTo:function(){n.push({name:"lineTo",arguments:arguments})},arcTo:function(){n.push({name:"arcTo",arguments:arguments})},bezierCurveTo:function(){n.push({name:"bezierCurveTo",arguments:arguments})},quadraticCurveTo:function(){n.push({name:"quadraticCurveTo",arguments:arguments})}}},drawImage:function(){i.push({type:"function",name:"drawImage",arguments:arguments})},fillText:function(){i.push({type:"function",name:"fillText",arguments:arguments})},setVariable:function(n,t){return i.push({type:"variable",name:n,arguments:t}),t}}}function l(n){return{zindex:n,children:[]}}var r={},o,u;r.Util={};r.Util.log=function(t){r.logging&&n.console&&n.console.log&&n.console.log(t)};r.Util.trimText=function(n){return function(t){return n?n.apply(t):((t||"")+"").replace(/^\s+|\s+$/g,"")}}(String.prototype.trim);r.Util.asFloat=function(n){return parseFloat(n)},function(){var n=/((rgba|rgb)\([^\)]+\)(\s-?\d+px){0,})/g,t=/(-?\d+px)|(#.+)|(rgb\(.+\))|(rgba\(.+\))/g;r.Util.parseTextShadows=function(i){var u,e,f,r;if(!i||i==="none")return[];for(u=i.match(n),e=[],f=0;u&&f<u.length;f++)r=u[f].match(t),e.push({color:r[0],offsetX:r[1]?r[1].replace("px",""):0,offsetY:r[2]?r[2].replace("px",""):0,blur:r[3]?r[3].replace("px",""):0});return e}}();r.Util.parseBackgroundImage=function(n){var i,r,l,a,e,v=[],t,u=0,o=0,f,s,h=function(){i&&(r.substr(0,1)==='"'&&(r=r.substr(1,r.length-2)),r&&s.push(r),i.substr(0,1)==="-"&&(a=i.indexOf("-",1)+1)>0&&(l=i.substr(0,a),i=i.substr(a)),v.push({prefix:l,method:i.toLowerCase(),value:e,args:s}));s=[];i=l=r=e=""},c,y;for(h(),c=0,y=n.length;c<y;c++)if(t=n[c],u!==0||!(" \r\n\t".indexOf(t)>-1)){switch(t){case'"':f?f===t&&(f=null):f=t;break;case"(":if(f)break;else if(u===0){u=1;e+=t;continue}else o++;break;case")":if(f)break;else if(u===1)if(o===0){u=0;e+=t;h();continue}else o--;break;case",":if(f)break;else if(u===0){h();continue}else if(u===1&&o===0&&!i.match(/^url$/i)){s.push(r);r="";e+=t;continue}}e+=t;u===0?i+=t:r+=t}return h(),v};r.Util.Bounds=function(n){var t,i={};return n.getBoundingClientRect&&(t=n.getBoundingClientRect(),i.top=t.top,i.bottom=t.bottom||t.top+t.height,i.left=t.left,i.width=n.offsetWidth,i.height=n.offsetHeight),i};r.Util.OffsetBounds=function(n){var t=n.offsetParent?r.Util.OffsetBounds(n.offsetParent):{top:0,left:0};return{top:n.offsetTop+t.top,bottom:n.offsetTop+n.offsetHeight+t.top,left:n.offsetLeft+t.left,width:n.offsetWidth,height:n.offsetHeight}};r.Util.getCSS=function(n,i,r){var e,f;return(o!==n&&(u=t.defaultView.getComputedStyle(n,null)),e=u[i],/^background(Size|Position)$/.test(i))?h(e,n,i,r):/border(Top|Bottom)(Left|Right)Radius/.test(i)?(f=e.split(" "),f.length<=1&&(f[1]=f[0]),f.map(s)):e};r.Util.resizeBounds=function(n,t,i,r,u){var s=i/r,o=n/t,f,e;return u&&u!=="auto"?s<o^u==="contain"?(e=r,f=r*o):(f=i,e=i/o):(f=i,e=r),{width:f,height:e}};r.Util.BackgroundPosition=function(n,t,i,r,u){var f=e("backgroundPosition",n,t,i,r,u);return{left:f[0],top:f[1]}};r.Util.BackgroundSize=function(n,t,i,r){var u=e("backgroundSize",n,t,i,r);return{width:u[0],height:u[1]}};r.Util.Extend=function(n,t){for(var i in n)n.hasOwnProperty(i)&&(t[i]=n[i]);return t};r.Util.Children=function(n){var t;try{t=n.nodeName&&n.nodeName.toUpperCase()==="IFRAME"?n.contentDocument||n.contentWindow.document:function(n){var t=[];return n!==null&&function(n,t){var u=n.length,r=0,f;if(typeof t.length=="number")for(f=t.length;r<f;r++)n[u++]=t[r];else while(t[r]!==i)n[u++]=t[r++];return n.length=u,n}(t,n),t}(n.childNodes)}catch(u){r.Util.log("html2canvas.Util.Children failed with exception: "+u.message);t=[]}return t};r.Util.isTransparent=function(n){return n==="transparent"||n==="rgba(0, 0, 0, 0)"};r.Util.Font=function(){var n={};return function(t,r,u){if(n[t+"-"+r]!==i)return n[t+"-"+r];var f=u.createElement("div"),e=u.createElement("img"),o=u.createElement("span"),h="Hidden Text",c,l,s;return f.style.visibility="hidden",f.style.fontFamily=t,f.style.fontSize=r,f.style.margin=0,f.style.padding=0,u.body.appendChild(f),e.src="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACwAAAAAAQABAAACAkQBADs=",e.width=1,e.height=1,e.style.margin=0,e.style.padding=0,e.style.verticalAlign="baseline",o.style.fontFamily=t,o.style.fontSize=r,o.style.margin=0,o.style.padding=0,o.appendChild(u.createTextNode(h)),f.appendChild(o),f.appendChild(e),c=e.offsetTop-o.offsetTop+1,f.removeChild(o),f.appendChild(u.createTextNode(h)),f.style.lineHeight="normal",e.style.verticalAlign="super",l=e.offsetTop-f.offsetTop+1,s={baseline:c,lineWidth:1,middle:l},n[t+"-"+r]=s,u.body.removeChild(f),s}}(),function(){function u(n){return function(t){try{n.addColorStop(t.stop,t.color)}catch(i){f.log(["failed to add color stop: ",i,"; tried to add: ",t])}}}var f=r.Util,n={},i;r.Generate=n;i=[/^(-webkit-linear-gradient)\(([a-z\s]+)([\w\d\.\s,%\(\)]+)\)$/,/^(-o-linear-gradient)\(([a-z\s]+)([\w\d\.\s,%\(\)]+)\)$/,/^(-webkit-gradient)\((linear|radial),\s((?:\d{1,3}%?)\s(?:\d{1,3}%?),\s(?:\d{1,3}%?)\s(?:\d{1,3}%?))([\w\d\.\s,%\(\)\-]+)\)$/,/^(-moz-linear-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?))([\w\d\.\s,%\(\)]+)\)$/,/^(-webkit-radial-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?)),\s(\w+)\s([a-z\-]+)([\w\d\.\s,%\(\)]+)\)$/,/^(-moz-radial-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?)),\s(\w+)\s?([a-z\-]*)([\w\d\.\s,%\(\)]+)\)$/,/^(-o-radial-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?)),\s(\w+)\s([a-z\-]+)([\w\d\.\s,%\(\)]+)\)$/];n.parseGradient=function(n,t){for(var r,p=i.length,o,h,u,s,c,e,l,a,v,y,f=0;f<p;f+=1)if(o=n.match(i[f]),o)break;if(o)switch(o[1]){case"-webkit-linear-gradient":case"-o-linear-gradient":if(r={type:"linear",x0:null,y0:null,x1:null,y1:null,colorStops:[]},u=o[2].match(/\w+/g),u)for(s=u.length,f=0;f<s;f+=1)switch(u[f]){case"top":r.y0=0;r.y1=t.height;break;case"right":r.x0=t.width;r.x1=0;break;case"bottom":r.y0=t.height;r.y1=0;break;case"left":r.x0=0;r.x1=t.width}if(r.x0===null&&r.x1===null&&(r.x0=r.x1=t.width/2),r.y0===null&&r.y1===null&&(r.y0=r.y1=t.height/2),u=o[3].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)(?:\s\d{1,3}(?:%|px))?)+/g),u)for(s=u.length,c=1/Math.max(s-1,1),f=0;f<s;f+=1)e=u[f].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\s*(\d{1,3})?(%|px)?/),h=e[2]?parseFloat(e[2])/(e[3]==="%"?100:t.width):f*c,r.colorStops.push({color:e[1],stop:h});break;case"-webkit-gradient":if(r={type:o[2]==="radial"?"circle":o[2],x0:0,y0:0,x1:0,y1:0,colorStops:[]},u=o[3].match(/(\d{1,3})%?\s(\d{1,3})%?,\s(\d{1,3})%?\s(\d{1,3})%?/),u&&(r.x0=u[1]*t.width/100,r.y0=u[2]*t.height/100,r.x1=u[3]*t.width/100,r.y1=u[4]*t.height/100),u=o[4].match(/((?:from|to|color-stop)\((?:[0-9\.]+,\s)?(?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)\))+/g),u)for(s=u.length,f=0;f<s;f+=1)e=u[f].match(/(from|to|color-stop)\(([0-9\.]+)?(?:,\s)?((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\)/),h=parseFloat(e[2]),e[1]==="from"&&(h=0),e[1]==="to"&&(h=1),r.colorStops.push({color:e[3],stop:h});break;case"-moz-linear-gradient":if(r={type:"linear",x0:0,y0:0,x1:0,y1:0,colorStops:[]},u=o[2].match(/(\d{1,3})%?\s(\d{1,3})%?/),u&&(r.x0=u[1]*t.width/100,r.y0=u[2]*t.height/100,r.x1=t.width-r.x0,r.y1=t.height-r.y0),u=o[3].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)(?:\s\d{1,3}%)?)+/g),u)for(s=u.length,c=1/Math.max(s-1,1),f=0;f<s;f+=1)e=u[f].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\s*(\d{1,3})?(%)?/),e[2]?(h=parseFloat(e[2]),e[3]&&(h/=100)):h=f*c,r.colorStops.push({color:e[1],stop:h});break;case"-webkit-radial-gradient":case"-moz-radial-gradient":case"-o-radial-gradient":if(r={type:"circle",x0:0,y0:0,x1:t.width,y1:t.height,cx:0,cy:0,rx:0,ry:0,colorStops:[]},u=o[2].match(/(\d{1,3})%?\s(\d{1,3})%?/),u&&(r.cx=u[1]*t.width/100,r.cy=u[2]*t.height/100),u=o[3].match(/\w+/),e=o[4].match(/[a-z\-]*/),u&&e)switch(e[0]){case"farthest-corner":case"cover":case"":l=Math.sqrt(Math.pow(r.cx,2)+Math.pow(r.cy,2));a=Math.sqrt(Math.pow(r.cx,2)+Math.pow(r.y1-r.cy,2));v=Math.sqrt(Math.pow(r.x1-r.cx,2)+Math.pow(r.y1-r.cy,2));y=Math.sqrt(Math.pow(r.x1-r.cx,2)+Math.pow(r.cy,2));r.rx=r.ry=Math.max(l,a,v,y);break;case"closest-corner":l=Math.sqrt(Math.pow(r.cx,2)+Math.pow(r.cy,2));a=Math.sqrt(Math.pow(r.cx,2)+Math.pow(r.y1-r.cy,2));v=Math.sqrt(Math.pow(r.x1-r.cx,2)+Math.pow(r.y1-r.cy,2));y=Math.sqrt(Math.pow(r.x1-r.cx,2)+Math.pow(r.cy,2));r.rx=r.ry=Math.min(l,a,v,y);break;case"farthest-side":u[0]==="circle"?r.rx=r.ry=Math.max(r.cx,r.cy,r.x1-r.cx,r.y1-r.cy):(r.type=u[0],r.rx=Math.max(r.cx,r.x1-r.cx),r.ry=Math.max(r.cy,r.y1-r.cy));break;case"closest-side":case"contain":u[0]==="circle"?r.rx=r.ry=Math.min(r.cx,r.cy,r.x1-r.cx,r.y1-r.cy):(r.type=u[0],r.rx=Math.min(r.cx,r.x1-r.cx),r.ry=Math.min(r.cy,r.y1-r.cy))}if(u=o[5].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)(?:\s\d{1,3}(?:%|px))?)+/g),u)for(s=u.length,c=1/Math.max(s-1,1),f=0;f<s;f+=1)e=u[f].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\s*(\d{1,3})?(%|px)?/),h=e[2]?parseFloat(e[2])/(e[3]==="%"?100:t.width):f*c,r.colorStops.push({color:e[1],stop:h})}return r};n.Gradient=function(n,i){var s,e,f,o;if(i.width!==0&&i.height!==0){if(s=t.createElement("canvas"),e=s.getContext("2d"),s.width=i.width,s.height=i.height,f=r.Generate.parseGradient(n,i),f)switch(f.type){case"linear":o=e.createLinearGradient(f.x0,f.y0,f.x1,f.y1);f.colorStops.forEach(u(o));e.fillStyle=o;e.fillRect(0,0,i.width,i.height);break;case"circle":o=e.createRadialGradient(f.cx,f.cy,0,f.cx,f.cy,f.rx);f.colorStops.forEach(u(o));e.fillStyle=o;e.fillRect(0,0,i.width,i.height);break;case"ellipse":var h=t.createElement("canvas"),c=h.getContext("2d"),a=Math.max(f.rx,f.ry),l=a*2;h.width=h.height=l;o=c.createRadialGradient(f.rx,f.ry,0,f.rx,f.ry,a);f.colorStops.forEach(u(o));c.fillStyle=o;c.fillRect(0,0,l,l);e.fillStyle=f.colorStops[f.colorStops.length-1].color;e.fillRect(0,0,s.width,s.height);e.drawImage(h,f.cx-f.rx,f.cy-f.ry,2*f.rx,2*f.ry)}return s}};n.ListAlpha=function(n){var t="",i;do i=n%26,t=String.fromCharCode(i+64)+t,n=n/26;while(n*26>26);return t};n.ListRoman=function(n){var i=["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"],r=[1e3,900,500,400,100,90,50,40,10,9,5,4,1],u="",t,f=i.length;if(n<=0||n>=4e3)return n;for(t=0;t<f;t+=1)while(n>=r[t])n-=r[t],u+=i[t];return u}}();r.Parse=function(u,f){function dt(){return Math.max(Math.max(s.body.scrollWidth,s.documentElement.scrollWidth),Math.max(s.body.offsetWidth,s.documentElement.offsetWidth),Math.max(s.body.clientWidth,s.documentElement.clientWidth))}function gt(){return Math.max(Math.max(s.body.scrollHeight,s.documentElement.scrollHeight),Math.max(s.body.offsetHeight,s.documentElement.offsetHeight),Math.max(s.body.clientHeight,s.documentElement.clientHeight))}function p(n,t){var i=parseInt(e(n,t),10);return isNaN(i)?0:i}function d(n,t,i,r,u,f){f!=="transparent"&&(n.setVariable("fillStyle",f),n.fillRect(t,i,r,u),b+=1)}function ni(n,t,i){if(n.length>0)return t+i.toUpperCase()}function ti(n,t){switch(t){case"lowercase":return n.toLowerCase();case"capitalize":return n.replace(/(^|\s|:|-|\(|\))([a-z])/g,ni);case"uppercase":return n.toUpperCase();default:return n}}function ii(n){return/^(normal|none|0px)$/.test(n)}function et(n,t,i,r){n!==null&&o.trimText(n).length>0&&(r.fillText(n,t,i),b+=1)}function ot(n,t,i,r){var f=e(t,"fontWeight"),h=e(t,"fontFamily"),c=e(t,"fontSize"),u=o.parseTextShadows(e(t,"textShadow"));switch(parseInt(f,10)){case 401:f="bold";break;case 400:f="normal"}return n.setVariable("fillStyle",r),n.setVariable("font",[e(t,"fontStyle"),e(t,"fontVariant"),f,c,h].join(" ")),n.setVariable("textAlign","left"),u.length&&(n.setVariable("shadowColor",u[0].color),n.setVariable("shadowOffsetX",u[0].offsetX),n.setVariable("shadowOffsetY",u[0].offsetY),n.setVariable("shadowBlur",u[0].blur)),i!=="none"?o.Font(h,c,s):void 0}function ri(n,t,i,r,u){switch(t){case"underline":d(n,i.left,Math.round(i.top+r.baseline+r.lineWidth),i.width,1,u);break;case"overline":d(n,i.left,Math.round(i.top),i.width,1,u);break;case"line-through":d(n,i.left,Math.ceil(i.top+r.middle+r.lineWidth),i.width,1,u)}}function ui(n,t,i,r,u){var f,e;return kt.rangeBounds&&!u?((i!=="none"||o.trimText(t).length!==0)&&(f=fi(t,n.node,n.textOffset)),n.textOffset+=t.length):n.node&&typeof n.node.nodeValue=="string"&&(e=r?n.node.splitText(t.length):null,f=ei(n.node,u),n.node=e),f}function fi(n,t,i){var r=s.createRange();return r.setStart(t,i),r.setEnd(t,i+n.length),r.getBoundingClientRect()}function ei(n,t){var r=n.parentNode,i=s.createElement("wrapper"),f=n.cloneNode(!0),u;return i.appendChild(n.cloneNode(!0)),r.replaceChild(i,n),u=t?o.OffsetBounds(i):o.Bounds(i),r.replaceChild(f,i),u}function st(n,t,i){var u=i.ctx,c=e(n,"color"),s=e(n,"textDecoration"),h=e(n,"textAlign"),l,r,a={node:t,textOffset:0};o.trimText(t.nodeValue).length>0&&(t.nodeValue=ti(t.nodeValue,e(n,"textTransform")),h=h.replace(["-webkit-auto"],["auto"]),r=!f.letterRendering&&/^(left|right|justify|auto)$/.test(h)&&ii(e(n,"letterSpacing"))?t.nodeValue.split(/(\b| )/):t.nodeValue.split(""),l=ot(u,n,s,c),f.chinese&&r.forEach(function(n,t){/.*[\u4E00-\u9FA5].*$/.test(n)&&(n=n.split(""),n.unshift(t,1),r.splice.apply(r,n))}),r.forEach(function(n,t){var f=ui(a,n,s,t<r.length-1,i.transform.matrix);f&&(et(n,f.left,f.bottom,u),ri(u,s,f,l,c))}))}function oi(n,t){var i=s.createElement("boundelement"),r,u;return i.style.display="inline",r=n.style.listStyleType,n.style.listStyleType="none",i.appendChild(s.createTextNode(t)),n.insertBefore(i,n.firstChild),u=o.Bounds(i),n.removeChild(i),n.style.listStyleType=r,u}function si(n){var t=-1,i=1,r=n.parentNode.childNodes;if(n.parentNode){while(r[++t]!==n)r[t].nodeType===1&&i++;return i}return-1}function hi(n,t){var i=si(n),u;switch(t){case"decimal":u=i;break;case"decimal-leading-zero":u=i.toString().length===1?i="0"+i.toString():i.toString();break;case"upper-roman":u=r.Generate.ListRoman(i);break;case"lower-roman":u=r.Generate.ListRoman(i).toLowerCase();break;case"lower-alpha":u=r.Generate.ListAlpha(i).toLowerCase();break;case"upper-alpha":u=r.Generate.ListAlpha(i)}return u+". "}function ci(n,t,i){var f,r,u=t.ctx,o=e(n,"listStyleType"),s;if(/^(decimal|decimal-leading-zero|upper-alpha|upper-latin|upper-roman|lower-alpha|lower-greek|lower-latin|lower-roman)$/i.test(o)){if(r=hi(n,o),s=oi(n,r),ot(u,n,"none",e(n,"color")),e(n,"listStylePosition")==="inside")u.setVariable("textAlign","left"),f=i.left;else return;et(r,f,s.bottom,u)}}function ht(n){var t=u[n];return t&&t.succeeded===!0?t.img:!1}function ct(n,t){var i=Math.max(n.left,t.left),r=Math.max(n.top,t.top),u=Math.min(n.left+n.width,t.left+t.width),f=Math.min(n.top+n.height,t.top+t.height);return{left:i,top:r,width:u-i,height:f-r}}function li(n,t,i){var r,u=t.cssPosition!=="static",f=u?e(n,"zIndex"):"auto",o=e(n,"opacity"),s=e(n,"cssFloat")!=="none";t.zIndex=r=l(f);r.isPositioned=u;r.isFloated=s;r.opacity=o;r.ownStacking=f!=="auto"||o<1;i&&i.zIndex.children.push(t)}function lt(n,t,i,r,u){var f=p(t,"paddingLeft"),e=p(t,"paddingTop"),o=p(t,"paddingRight"),s=p(t,"paddingBottom");at(n,i,0,0,i.width,i.height,r.left+f+u[3].width,r.top+e+u[0].width,r.width-(u[1].width+u[3].width+f+o),r.height-(u[0].width+u[2].width+e+s))}function ai(n){return["Top","Right","Bottom","Left"].map(function(t){return{width:p(n,"border"+t+"Width"),color:e(n,"border"+t+"Color")}})}function vi(n){return["TopLeft","TopRight","BottomRight","BottomLeft"].map(function(t){return e(n,"border"+t+"Radius")})}function y(n,t,i,r){var u=function(n,t,i){return{x:n.x+(t.x-n.x)*i,y:n.y+(t.y-n.y)*i}};return{start:n,startControl:t,endControl:i,end:r,subdivide:function(f){var e=u(n,t,f),o=u(t,i,f),s=u(i,r,f),h=u(e,o,f),c=u(o,s,f),l=u(h,c,f);return[y(n,e,h,l),y(l,c,s,r)]},curveTo:function(n){n.push(["bezierCurve",t.x,t.y,i.x,i.y,r.x,r.y])},curveToReversed:function(r){r.push(["bezierCurve",i.x,i.y,t.x,t.y,n.x,n.y])}}}function v(n,t,i,r,u,f,e){t[0]>0||t[1]>0?(n.push(["line",r[0].start.x,r[0].start.y]),r[0].curveTo(n),r[1].curveTo(n)):n.push(["line",f,e]);(i[0]>0||i[1]>0)&&n.push(["line",u[0].start.x,u[0].start.y])}function g(n,t,i,r,u,f,e){var o=[];return t[0]>0||t[1]>0?(o.push(["line",r[1].start.x,r[1].start.y]),r[1].curveTo(o)):o.push(["line",n.c1[0],n.c1[1]]),i[0]>0||i[1]>0?(o.push(["line",f[0].start.x,f[0].start.y]),f[0].curveTo(o),o.push(["line",e[0].end.x,e[0].end.y]),e[0].curveToReversed(o)):(o.push(["line",n.c2[0],n.c2[1]]),o.push(["line",n.c3[0],n.c3[1]])),t[0]>0||t[1]>0?(o.push(["line",u[1].end.x,u[1].end.y]),u[1].curveToReversed(o)):o.push(["line",n.c4[0],n.c4[1]]),o}function yi(n,t,i){var r=n.left,u=n.top,f=n.width,e=n.height,v=t[0][0],y=t[0][1],o=t[1][0],p=t[1][1],s=t[2][0],c=t[2][1],w=t[3][0],l=t[3][1],a=f-o,b=e-c,k=f-s,d=e-l;return{topLeftOuter:h(r,u,v,y).topLeft.subdivide(.5),topLeftInner:h(r+i[3].width,u+i[0].width,Math.max(0,v-i[3].width),Math.max(0,y-i[0].width)).topLeft.subdivide(.5),topRightOuter:h(r+a,u,o,p).topRight.subdivide(.5),topRightInner:h(r+Math.min(a,f+i[3].width),u+i[0].width,a>f+i[3].width?0:o-i[3].width,p-i[0].width).topRight.subdivide(.5),bottomRightOuter:h(r+k,u+b,s,c).bottomRight.subdivide(.5),bottomRightInner:h(r+Math.min(k,f+i[3].width),u+Math.min(b,e+i[0].width),Math.max(0,s-i[1].width),Math.max(0,c-i[2].width)).bottomRight.subdivide(.5),bottomLeftOuter:h(r,u+d,w,l).bottomLeft.subdivide(.5),bottomLeftInner:h(r+i[3].width,u+d,Math.max(0,w-i[3].width),Math.max(0,l-i[2].width)).bottomLeft.subdivide(.5)}}function pi(n,t,i,r,u){var o=e(n,"backgroundClip"),f=[];switch(o){case"content-box":case"padding-box":v(f,r[0],r[1],t.topLeftInner,t.topRightInner,u.left+i[3].width,u.top+i[0].width);v(f,r[1],r[2],t.topRightInner,t.bottomRightInner,u.left+u.width-i[1].width,u.top+i[0].width);v(f,r[2],r[3],t.bottomRightInner,t.bottomLeftInner,u.left+u.width-i[1].width,u.top+u.height-i[2].width);v(f,r[3],r[0],t.bottomLeftInner,t.topLeftInner,u.left+i[3].width,u.top+u.height-i[2].width);break;default:v(f,r[0],r[1],t.topLeftOuter,t.topRightOuter,u.left,u.top);v(f,r[1],r[2],t.topRightOuter,t.bottomRightOuter,u.left+u.width,u.top);v(f,r[2],r[3],t.bottomRightOuter,t.bottomLeftOuter,u.left+u.width,u.top+u.height);v(f,r[3],r[0],t.bottomLeftOuter,t.topLeftOuter,u.left,u.top+u.height)}return f}function wi(n,t,i){for(var l=t.left,p=t.top,a=t.width,v=t.height,u,r,e,o,c,s=vi(n),f=yi(t,s,i),y={clip:pi(n,f,i,s,t),borders:[]},h=0;h<4;h++)if(i[h].width>0){u=l;r=p;e=a;o=v-i[2].width;switch(h){case 0:o=i[0].width;c=g({c1:[u,r],c2:[u+e,r],c3:[u+e-i[1].width,r+o],c4:[u+i[3].width,r+o]},s[0],s[1],f.topLeftOuter,f.topLeftInner,f.topRightOuter,f.topRightInner);break;case 1:u=l+a-i[1].width;e=i[1].width;c=g({c1:[u+e,r],c2:[u+e,r+o+i[2].width],c3:[u,r+o],c4:[u,r+i[0].width]},s[1],s[2],f.topRightOuter,f.topRightInner,f.bottomRightOuter,f.bottomRightInner);break;case 2:r=r+v-i[2].width;o=i[2].width;c=g({c1:[u+e,r+o],c2:[u,r+o],c3:[u+i[3].width,r],c4:[u+e-i[3].width,r]},s[2],s[3],f.bottomRightOuter,f.bottomRightInner,f.bottomLeftOuter,f.bottomLeftInner);break;case 3:e=i[3].width;c=g({c1:[u,r+o+i[2].width],c2:[u,r],c3:[u+e,r+i[0].width],c4:[u+e,r+o]},s[3],s[0],f.bottomLeftOuter,f.bottomLeftInner,f.topLeftOuter,f.topLeftInner)}y.borders.push({args:c,color:i[h].color})}return y}function tt(n,t){var i=n.drawShape();return t.forEach(function(n,t){i[t===0?"moveTo":n[0]+"To"].apply(null,n.slice(1))}),i}function bi(n,t,i){i!=="transparent"&&(n.setVariable("fillStyle",i),tt(n,t),n.fill(),b+=1)}function it(n,t,i){var r=s.createElement("valuewrap"),u,f;["lineHeight","textAlign","fontFamily","color","fontSize","paddingLeft","paddingTop","width","height","border","borderLeftWidth","borderTopWidth"].forEach(function(t){try{r.style[t]=e(n,t)}catch(i){o.log("html2canvas: Parse: Exception caught in renderFormValue: "+i.message)}});r.style.borderColor="black";r.style.borderStyle="solid";r.style.display="block";r.style.position="absolute";(/^(submit|reset|button|text|password)$/.test(n.type)||n.nodeName==="SELECT")&&(r.style.lineHeight=e(n,"height"));r.style.top=t.top+"px";r.style.left=t.left+"px";u=n.nodeName==="SELECT"?(n.options[n.selectedIndex]||0).text:n.value;u||(u=n.placeholder);f=s.createTextNode(u);r.appendChild(f);k.appendChild(r);st(n,f,i);k.removeChild(r)}function at(n){n.drawImage.apply(n,Array.prototype.slice.call(arguments,1));b+=1}function vt(i,r){var f=n.getComputedStyle(i,r),u,s,h,e;if(f&&f.content&&f.content!=="none"&&f.content!=="-moz-alt-content"&&f.display!=="none")return u=f.content+"",s=u.substr(0,1),s===u.substr(u.length-1)&&s.match(/'|"/)&&(u=u.substr(1,u.length-2)),h=u.substr(0,3)==="url",e=t.createElement(h?"img":"span"),e.className=a+"-before "+a+"-after",Object.keys(f).filter(ki).forEach(function(n){try{e.style[n]=f[n]}catch(t){o.log(["Tried to assign readonly property ",n,"Error:",t])}}),h?e.src=o.parseBackgroundImage(u)[0].args[0]:e.innerHTML=u,e}function ki(t){return isNaN(n.parseInt(t,10))}function di(n,t){var i=vt(n,":before"),r=vt(n,":after");(i||r)&&(i&&(n.className+=" "+a+"-before",n.parentNode.insertBefore(i,n),ut(i,t,!0),n.parentNode.removeChild(i),n.className=n.className.replace(a+"-before","").trim()),r&&(n.className+=" "+a+"-after",n.appendChild(r),ut(r,t,!0),n.removeChild(r),n.className=n.className.replace(a+"-after","").trim()))}function yt(n,t,i,r){var u=Math.round(r.left+i.left),f=Math.round(r.top+i.top);n.createPattern(t);n.translate(u,f);n.fill();n.translate(-u,-f)}function rt(n,t,i,r,u,f,e,o){var s=[];s.push(["line",Math.round(u),Math.round(f)]);s.push(["line",Math.round(u+e),Math.round(f)]);s.push(["line",Math.round(u+e),Math.round(o+f)]);s.push(["line",Math.round(u),Math.round(o+f)]);tt(n,s);n.save();n.clip();yt(n,t,i,r);n.restore()}function gi(n,t,i){d(n,t.left,t.top,t.width,t.height,i)}function nr(n,t,i,r,u){var h=o.BackgroundSize(n,t,r,u),f=o.BackgroundPosition(n,t,r,u,h),s=e(n,"backgroundRepeat").split(",").map(o.trimText);r=ir(r,h);s=s[u]||s[0];switch(s){case"repeat-x":rt(i,r,f,t,t.left,t.top+f.top,99999,r.height);break;case"repeat-y":rt(i,r,f,t,t.left+f.left,t.top,r.width,99999);break;case"no-repeat":rt(i,r,f,t,t.left+f.left,t.top+f.top,r.width,r.height);break;default:yt(i,r,f,{top:t.top,left:t.left,width:r.width,height:r.height})}}function tr(n,t,i){for(var r=e(n,"backgroundImage"),s=o.parseBackgroundImage(r),u,f=s.length,h;f--;)(r=s[f],r.args&&r.args.length!==0)&&(h=r.method==="url"?r.args[0]:r.value,u=ht(h),u?nr(n,t,i,u,f):o.log("html2canvas: Error loading background:",r))}function ir(n,t){if(n.width===t.width&&n.height===t.height)return n;var r,i=s.createElement("canvas");return i.width=t.width,i.height=t.height,r=i.getContext("2d"),at(r,n,0,0,n.width,n.height,0,0,t.width,t.height),i}function rr(n,t,i){return n.setVariable("globalAlpha",e(t,"opacity")*(i?i.opacity:1))}function ur(n){return n.replace("px","")}function fr(n){var i=e(n,"transform")||e(n,"-webkit-transform")||e(n,"-moz-transform")||e(n,"-ms-transform")||e(n,"-o-transform"),r=e(n,"transform-origin")||e(n,"-webkit-transform-origin")||e(n,"-moz-transform-origin")||e(n,"-ms-transform-origin")||e(n,"-o-transform-origin")||"0px 0px",u,t;if(r=r.split(" ").map(ur).map(o.asFloat),i&&i!=="none"&&(t=i.match(pt),t))switch(t[1]){case"matrix":u=t[2].split(",").map(o.trimText).map(o.asFloat)}return{origin:r,matrix:u}}function er(n,t,i,r){var s=c(t?i.width:dt(),t?i.height:gt()),u={ctx:s,opacity:rr(s,n,t),cssPosition:e(n,"position"),borders:ai(n),transform:r,clip:t&&t.clip?o.Extend({},t.clip):null};return li(n,u,t),f.useOverflow===!0&&/(hidden|scroll|auto)/.test(e(n,"overflow"))===!0&&/(BODY)/i.test(n.nodeName)===!1&&(u.clip=u.clip?ct(u.clip,i):i),u}function or(n,t,i){var r={left:t.left+n[3].width,top:t.top+n[0].width,width:t.width-(n[1].width+n[3].width),height:t.height-(n[0].width+n[2].width)};return i&&(r=ct(r,i)),r}function sr(n,t){var i=t.matrix?o.OffsetBounds(n):o.Bounds(n);return t.origin[0]+=i.left,t.origin[1]+=i.top,i}function wt(n,t,i,r){var l=fr(n,t),f=sr(n,l),a,u=er(n,t,f,l),h=u.borders,s=u.ctx,c=or(h,f,u.clip),v=wi(n,f,h),y=ft.test(n.nodeName)?"#efefef":e(n,"backgroundColor");tt(s,v.clip);s.save();s.clip();c.height>0&&c.width>0&&!r?(gi(s,f,y),tr(n,c,s)):r&&(u.backgroundColor=y);s.restore();v.borders.forEach(function(n){bi(s,n.args,n.color)});i||di(n,u);switch(n.nodeName){case"IMG":(a=ht(n.getAttribute("src")))?lt(s,n,a,f,h):o.log("html2canvas: Error loading <img>:"+n.getAttribute("src"));break;case"INPUT":/^(text|url|email|submit|button|reset)$/.test(n.type)&&(n.value||n.placeholder||"").length>0&&it(n,f,u);break;case"TEXTAREA":(n.value||n.placeholder||"").length>0&&it(n,f,u);break;case"SELECT":(n.options||n.placeholder||"").length>0&&it(n,f,u);break;case"LI":ci(n,u,c);break;case"CANVAS":lt(s,n,n,f,h)}return u}function hr(n){return e(n,"display")!=="none"&&e(n,"visibility")!=="hidden"&&!n.hasAttribute("data-html2canvas-ignore")}function ut(n,t,i){hr(n)&&(t=wt(n,t,i,!1)||t,ft.test(n.nodeName)||bt(n,t,i))}function bt(n,t,i){o.Children(n).forEach(function(r){r.nodeType===r.ELEMENT_NODE?ut(r,t,i):r.nodeType===r.TEXT_NODE&&st(n,r,t)})}function cr(){var n=e(t.documentElement,"backgroundColor"),r=o.isTransparent(n)&&w===t.body,i=wt(w,null,!1,r);return bt(w,i),r&&(n=i.backgroundColor),k.removeChild(nt),{backgroundColor:n,stack:i}}var w=f.elements===i?t.body:f.elements[0],b=0,s=w.ownerDocument,o=r.Util,kt=o.Support(f,s),ft=new RegExp("("+f.ignoreElements+")"),k=s.body,e=o.getCSS,a="___html2canvas___pseudoelement",nt=s.createElement("style"),h,pt;return nt.innerHTML="."+a+'-before:before { content: "" !important; display: none !important; }.'+a+'-after:after { content: "" !important; display: none !important; }',k.appendChild(nt),u=u||{},h=function(n){return function(t,i,r,u){var o=r*n,s=u*n,f=t+r,e=i+u;return{topLeft:y({x:t,y:e},{x:t,y:e-s},{x:f-o,y:i},{x:f,y:i}),topRight:y({x:t,y:i},{x:t+o,y:i},{x:f,y:e-s},{x:f,y:e}),bottomRight:y({x:f,y:i},{x:f,y:i+s},{x:t+o,y:e},{x:t,y:e}),bottomLeft:y({x:f,y:e},{x:f-o,y:e},{x:t,y:i+s},{x:t,y:i})}}}(4*((Math.sqrt(2)-1)/3)),pt=/(matrix)\((.+)\)/,cr()};r.Preload=function(u){function rt(n){o.href=n;o.href=o.href;var t=o.protocol+o.host;return t===p}function h(){e.log("html2canvas: start: images: "+f.numLoaded+" / "+f.numTotal+" (failed: "+f.numFailed+")");!f.firstRun&&f.numLoaded>=f.numTotal&&(e.log("Finished loading images: # "+f.numTotal+" (failed: "+f.numFailed+")"),typeof u.complete=="function"&&u.complete(f))}function k(t,r,e){var c,a=u.proxy,s;o.href=t;t=o.href;c="html2canvas_"+nt++;e.callbackname=c;a+=a.indexOf("?")>-1?"&":"?";a+="url="+encodeURIComponent(t)+"&callback="+c;s=w.createElement("script");n[c]=function(t){t.substring(0,6)==="error:"?(e.succeeded=!1,f.numLoaded++,f.numFailed++,h()):(l(r,e),r.src=t);n[c]=i;try{delete n[c]}catch(u){}s.parentNode.removeChild(s);s=null;delete e.script;delete e.callbackname};s.setAttribute("type","text/javascript");s.setAttribute("src",a);e.script=s;n.document.body.appendChild(s)}function d(t,i){var u=n.getComputedStyle(t,i),f=u.content;f.substr(0,3)==="url"&&s.loadImage(r.Util.parseBackgroundImage(f)[0].args[0]);y(u.backgroundImage,t)}function ut(n){d(n,":before");d(n,":after")}function ft(n,t){var u=r.Generate.Gradient(n,t);u!==i&&(f[n]={img:u,succeeded:!0},f.numTotal++,f.numLoaded++,h())}function et(n){return n&&n.method&&n.args&&n.args.length>0}function y(n,t){var u;r.Util.parseBackgroundImage(n).filter(et).forEach(function(n){n.method==="url"?s.loadImage(n.args[0]):n.method.match(/\-?gradient$/)&&(u===i&&(u=r.Util.Bounds(t)),ft(n.value,u))})}function g(n){var t=!1;try{e.Children(n).forEach(g)}catch(r){}try{t=n.nodeType}catch(u){t=!1;e.log("html2canvas: failed to access some element's nodeType - Exception: "+u.message)}if(t===1||t===i){ut(n);try{y(e.getCSS(n,"backgroundImage"),n)}catch(r){e.log("html2canvas: failed to get background-image - Exception: "+r.message)}y(n)}}function l(t,r){t.onload=function(){r.timer!==i&&n.clearTimeout(r.timer);f.numLoaded++;r.succeeded=!0;t.onerror=t.onload=null;h()};t.onerror=function(){if(t.crossOrigin==="anonymous"&&(n.clearTimeout(r.timer),u.proxy)){var i=t.src;t=new Image;r.img=t;t.src=i;k(t.src,t,r);return}f.numLoaded++;f.numFailed++;r.succeeded=!1;t.onerror=t.onload=null;h()}}var f={numLoaded:0,numFailed:0,numTotal:0,cleanupDone:!1},p,e=r.Util,s,c,nt=0,a=u.elements[0]||t.body,w=a.ownerDocument,b=a.getElementsByTagName("img"),tt=b.length,o=w.createElement("a"),it=function(n){return n.crossOrigin!==i}(new Image),v;for(o.href=n.location.href,p=o.protocol+o.host,s={loadImage:function(n){var t,r;n&&f[n]===i&&(t=new Image,n.match(/data:image\/.*;base64,/i)?(t.src=n.replace(/url\(['"]{0,}|['"]{0,}\)$/ig,""),r=f[n]={img:t},f.numTotal++,l(t,r)):rt(n)||u.allowTaint===!0?(r=f[n]={img:t},f.numTotal++,l(t,r),t.src=n):it&&!u.allowTaint&&u.useCORS?(t.crossOrigin="anonymous",r=f[n]={img:t},f.numTotal++,l(t,r),t.src=n):u.proxy&&(r=f[n]={img:t},f.numTotal++,k(n,t,r)))},cleanupDOM:function(r){var o,s;if(!f.cleanupDone){r&&typeof r=="string"?e.log("html2canvas: Cleanup because: "+r):e.log("html2canvas: Cleanup after timeout: "+u.timeout+" ms.");for(s in f)if(f.hasOwnProperty(s)&&(o=f[s],typeof o=="object"&&o.callbackname&&o.succeeded===i)){n[o.callbackname]=i;try{delete n[o.callbackname]}catch(c){}o.script&&o.script.parentNode&&(o.script.setAttribute("src","about:blank"),o.script.parentNode.removeChild(o.script));f.numLoaded++;f.numFailed++;e.log("html2canvas: Cleaned up failed img: '"+s+"' Steps: "+f.numLoaded+" / "+f.numTotal)}n.stop!==i?n.stop():t.execCommand!==i&&t.execCommand("Stop",!1);t.close!==i&&t.close();f.cleanupDone=!0;r&&typeof r=="string"||h()}},renderingDone:function(){v&&n.clearTimeout(v)}},u.timeout>0&&(v=n.setTimeout(s.cleanupDOM,u.timeout)),e.log("html2canvas: Preload starts: finding background-images"),f.firstRun=!0,g(a),e.log("html2canvas: Preload: Finding images"),c=0;c<tt;c+=1)s.loadImage(b[c].getAttribute("src"));return f.firstRun=!1,e.log("html2canvas: Preload: Done."),f.numTotal===f.numLoaded&&h(),s};r.Renderer=function(n,u){function f(n){function u(n){Object.keys(n).sort().forEach(function(i){var r=[],f=[],e=[],o=[];n[i].forEach(function(n){n.node.zIndex.isPositioned||n.node.zIndex.opacity<1?e.push(n):n.node.zIndex.isFloated?f.push(n):r.push(n)}),function s(n){n.forEach(function(n){o.push(n);n.children&&s(n.children)})}(r.concat(f,e));o.forEach(function(n){n.context?u(n.context):t.push(n.node)})})}var t=[],r;return r=function(n){function r(n,t,u){var f=t.zIndex.zindex==="auto"?0:Number(t.zIndex.zindex),s=n,h=t.zIndex.isPositioned,c=t.zIndex.isFloated,e={node:t},o=u;t.zIndex.ownStacking?(s=e.context={"!":[{node:t,children:[]}]},o=i):(h||c)&&(o=e.children=[]);f===0&&u?u.push(e):(n[f]||(n[f]=[]),n[f].push(e));t.zIndex.children.forEach(function(n){r(s,n,o)})}var t={};return r(t,n),t}(n),u(r),t}function e(n){var t;if(typeof u.renderer=="string"&&r.Renderer[n]!==i)t=r.Renderer[n](u);else if(typeof n=="function")t=n(u);else throw new Error("Unknown renderer");if(typeof t!="function")throw new Error("Invalid renderer defined");return t}return e(u.renderer)(n,u,t,f(n.stack),r)};r.Util.Support=function(n,t){function u(){var u=new Image,n=t.createElement("canvas"),f=n.getContext===i?!1:n.getContext("2d");if(f===!1)return!1;n.width=n.height=10;u.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><foreignObject width='10' height='10'><div xmlns='http://www.w3.org/1999/xhtml' style='width:10;height:10;'>sup<\/div><\/foreignObject><\/svg>";try{f.drawImage(u,0,0);n.toDataURL()}catch(e){return!1}return r.Util.log("html2canvas: Parse: SVG powered rendering available"),!0}function f(){var i,n,r,u,f=!1;return t.createRange&&(i=t.createRange(),i.getBoundingClientRect&&(n=t.createElement("boundtest"),n.style.height="123px",n.style.display="block",t.body.appendChild(n),i.selectNode(n),r=i.getBoundingClientRect(),u=r.height,u===123&&(f=!0),t.body.removeChild(n))),f}return{rangeBounds:f(),svgRendering:n.svgRendering&&u()}};n.html2canvas=function(t,i){t=t.length?t:[t];var f,e,u={logging:!1,elements:t,background:"#fff",proxy:null,timeout:0,useCORS:!1,allowTaint:!1,svgRendering:!1,ignoreElements:"IFRAME|OBJECT|PARAM",useOverflow:!0,letterRendering:!1,chinese:!1,width:null,height:null,taintTest:!0,renderer:"Canvas"};return u=r.Util.Extend(i,u),r.logging=u.logging,u.complete=function(n){if((typeof u.onpreloaded!="function"||u.onpreloaded(n)!==!1)&&(f=r.Parse(n,u),typeof u.onparsed!="function"||u.onparsed(f)!==!1)&&(e=r.Renderer(f,u),typeof u.onrendered=="function"))u.onrendered(e)},n.setTimeout(function(){r.Preload(u)},0),{render:function(n,t){return r.Renderer(n,r.Util.Extend(t,u))},parse:function(n,t){return r.Parse(n,r.Util.Extend(t,u))},preload:function(n){return r.Preload(r.Util.Extend(n,u))},log:r.Util.log}};n.html2canvas.log=r.Util.log;n.html2canvas.Renderer={Canvas:i};r.Renderer.Canvas=function(n){function c(n,t){n.beginPath();t.forEach(function(t){n[t.name].apply(n,t.arguments)});n.closePath()}function l(n){if(h.indexOf(n.arguments[0].src)===-1){e.drawImage(n.arguments[0],0,0);try{e.getImageData(0,0,1,1)}catch(t){return f=s.createElement("canvas"),e=f.getContext("2d"),!1}h.push(n.arguments[0].src)}return!0}function a(t,i){switch(i.type){case"variable":t[i.name]=i.arguments;break;case"function":switch(i.name){case"createPattern":if(i.arguments[0].width>0&&i.arguments[0].height>0)try{t.fillStyle=t.createPattern(i.arguments[0],"repeat")}catch(r){o.log("html2canvas: Renderer: Error creating pattern",r.message)}break;case"drawShape":c(t,i.arguments);break;case"drawImage":i.arguments[8]>0&&i.arguments[7]>0&&(!n.taintTest||n.taintTest&&l(i))&&t.drawImage.apply(t,i.arguments);break;default:t[i.name].apply(t,i.arguments)}}}n=n||{};var s=t,h=[],f=t.createElement("canvas"),e=f.getContext("2d"),o=r.Util,u=n.canvas||s.createElement("canvas");return function(n,t,r,f,e){var s=u.getContext("2d"),c,h,v,l=n.stack;return(u.width=u.style.width=t.width||l.ctx.width,u.height=u.style.height=t.height||l.ctx.height,v=s.fillStyle,s.fillStyle=o.isTransparent(l.backgroundColor)&&t.background!==i?t.background:n.backgroundColor,s.fillRect(0,0,u.width,u.height),s.fillStyle=v,f.forEach(function(n){s.textBaseline="bottom";s.save();n.transform.matrix&&(s.translate(n.transform.origin[0],n.transform.origin[1]),s.transform.apply(s,n.transform.matrix),s.translate(-n.transform.origin[0],-n.transform.origin[1]));n.clip&&(s.beginPath(),s.rect(n.clip.left,n.clip.top,n.clip.width,n.clip.height),s.clip());n.ctx.storage&&n.ctx.storage.forEach(function(n){a(s,n)});s.restore()}),o.log("html2canvas: Renderer: Canvas renderer done - returning canvas obj"),t.elements.length===1&&typeof t.elements[0]=="object"&&t.elements[0].nodeName!=="BODY")?(h=e.Util.Bounds(t.elements[0]),c=r.createElement("canvas"),c.width=Math.ceil(h.width),c.height=Math.ceil(h.height),s=c.getContext("2d"),s.drawImage(u,h.left,h.top,h.width,h.height,0,0,h.width,h.height),u=null,c):u}}})(window,document),function(n){n.fn.html2canvas=function(t){function f(t,f){window.clearTimeout(u);u=window.setTimeout(function(){i.fadeOut(function(){i.remove();i=null})},f||2e3);i&&i.remove();i=n("<div />").html(t).css({margin:0,padding:10,background:"#000",opacity:.7,position:"fixed",top:10,right:10,fontFamily:"Tahoma",color:"#fff",fontSize:12,borderRadius:12,width:"auto",height:"auto",textAlign:"center",textDecoration:"none",display:"none"}).appendTo(document.body).fadeIn();r.log(t)}t&&t.profile&&window.console&&window.console.profile&&console.profile();var e=new Date,r,i=null,u=!1,o=e.getTime();t=t||{};t.onrendered=t.onrendered||function(i){var r=n(i),u=new Date;t&&t.profile&&window.console&&window.console.profileEnd&&console.profileEnd();r.css({position:"absolute",left:0,top:0}).appendTo(document.body);r.siblings().toggle();n(window).click(function(){r.toggle().siblings().toggle();f("Canvas Render "+(r.is(":visible")?"visible":"hidden"))});f("Screenshot created in "+(u.getTime()-o)+" ms<br />",4e3);try{r[0].toDataURL()}catch(e){r[0].nodeName.toLowerCase()==="canvas"&&alert("Canvas is tainted, unable to read data")}};r=html2canvas(this,t)}}(jQuery)