blob: c61c540b8c6bea432255487e1edb5806794d8f0c [file] [log] [blame]
(function(window){function Matrix(t){var e=this;e._t=e.transform,e.a=e.d=1,e.b=e.c=e.e=e.f=0,e.props=[1,0,0,1,0,0],e.cssParts=["matrix(","",")"],e.a1=e.b1=e.c1=e.d1=e.e1=e.f1=0,e.context=t,e.cos=e.sin=0,t&&t.setTransform(1,0,0,1,0,0)}function BM_CanvasRenderingContext2D(t){this.renderer=t}function matrixManagerFunction(){var t=new Matrix,e=function(t,e,a,r,i,s,n,o,h){var p,l,m,d,c,f,u;return p=$M([[1,0,0,0],[0,Math.cos(t),Math.sin(-t),0],[0,Math.sin(t),Math.cos(t),0],[0,0,0,1]]),l=$M([[Math.cos(e),0,Math.sin(e),0],[0,1,0,0],[Math.sin(-e),0,Math.cos(e),0],[0,0,0,1]]),m=$M([[Math.cos(a),Math.sin(-a),0,0],[Math.sin(a),Math.cos(a),0,0],[0,0,1,0],[0,0,0,1]]),c=$M([[r,0,0,0],[0,i,0,0],[0,0,s,0],[0,0,0,1]]),f=p.x(l).x(m).x(c),f=f.transpose(),u=$M([[1,0,0,0],[0,1,0,0],[0,0,1,0],[n,o,h,1]]),f=f.x(u),d="matrix3d(",d+=f.e(1,1).toFixed(5)+","+f.e(1,2).toFixed(5)+","+f.e(1,3).toFixed(5)+","+f.e(1,4).toFixed(5)+",",d+=f.e(2,1).toFixed(5)+","+f.e(2,2).toFixed(5)+","+f.e(2,3).toFixed(5)+","+f.e(2,4).toFixed(5)+",",d+=f.e(3,1).toFixed(5)+","+f.e(3,2).toFixed(5)+","+f.e(3,3).toFixed(5)+","+f.e(3,4).toFixed(5)+",",d+=f.e(4,1).toFixed(5)+","+f.e(4,2).toFixed(5)+","+f.e(4,3).toFixed(5)+","+f.e(4,4).toFixed(5),d+=")"},a=function(e,a,r,i,s){return t.reset().translate(i,s).rotate(e).scale(a,r).toCSS()},r=function(e,a,r,i,s){return t.reset().translate(i,s).rotate(e).scale(a,r).toArray()},i=function(t){return a(t.r,t.s[0],t.s[1],t.p[0],t.p[1])},s=function(t,r){return r?e(-t.tr.r[0],t.tr.r[1],t.tr.r[2],t.tr.s[0],t.tr.s[1],t.tr.s[2],t.tr.p[0],t.tr.p[1],t.tr.p[2]):a(t.tr.r[2],t.tr.s[0],t.tr.s[1],t.tr.p[0],t.tr.p[1])},n=function(t,r){return r?e(-t.r[0],t.r[1],t.r[2],t.s[0],t.s[1],t.s[2],t.p[0],t.p[1],t.p[2]):a(t.r[2],t.s[0],t.s[1],t.p[0],t.p[1])},o=function(t,e){return e?null:r(t.r[2],t.s[0],t.s[1],t.p[0],t.p[1])};return{get2DMatrix:i,getMatrix:s,getMatrix2:n,getMatrixArray:o,getMatrixArrayFromParams:r,getMatrix2FromParams:a}}function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.left=0,t.style.display="block",t.style.verticalAlign="top",t.style.backfaceVisibility=t.style.webkitBackfaceVisibility="hidden",styleUnselectableDiv(t)}function styleUnselectableDiv(t){t.style.userSelect="none",t.style.MozUserSelect="none",t.style.webkitUserSelect="none",t.style.oUserSelect="none"}function randomString(t,e){void 0===e&&(e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890");var a,r="";for(a=t;a>0;--a)r+=e[Math.round(Math.random()*(e.length-1))];return r}function componentToHex(t){var e=t.toString(16);return 1==e.length?"0"+e:e}function fillToRgba(t,e){if(!cachedColors[t]){var a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);cachedColors[t]=parseInt(a[1],16)+","+parseInt(a[2],16)+","+parseInt(a[3],16)}return"rgba("+cachedColors[t]+","+e+")"}function createElement(t,e,a){if(!e){var r=Object.create(t.prototype,a),i={};return r&&"[object Function]"===i.toString.call(r.init)&&r.init(),r}e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.prototype.parent=t.prototype}function defineDescriptor(t,e,a,r){var i={writable:!1,configurable:!1,enumerable:!1,value:a};if(r)for(var s in r)i[s]=r[s];var n={};t&&"[object Function]"===n.toString.call(t)&&(t=t.prototype),Object.defineProperty(t,e,i)}function defineAccessor(t,e,a){var r,i={enumerable:!1,configurable:!1,get:function(){return r},set:function(t){r=t}};if(a)for(var s in a)i[s]=a[s];var n={};t&&"[object Function]"===n.toString.call(t)&&(t=t.prototype),Object.defineProperty(t,e,i)}function bezFunction(){function t(t,e,a,r,i,s){return p.abs((a-t)*(s-e)-(i-t)*(r-e))<1e-5}function e(t){return h[t].fnc}function a(t,e,a,r,i){if(i||(i=("bez_"+t+"_"+e+"_"+a+"_"+r).replace(/\./g,"p")),h[i])return h[i];var s,n,o,p,l,m;return h[i]=function(i,h,d,c,f){var u=h/f;i=u;for(var y,g=0;++g<14&&(o=3*t,n=3*(a-t)-o,s=1-o-n,y=i*(o+i*(n+i*s))-u,!(Math.abs(y)<.001));)i-=y/(o+i*(2*n+3*s*i));m=3*e,l=3*(r-e)-m,p=1-m-l;var v=i*(m+i*(l+i*p));return c*v+d},h[i]}function r(t){this.segmentLength=0,this.points=new Array(t)}function i(e){var a,i,s,n,o,h,p,l=e.s,m=e.e,d=e.to,c=e.ti,f=500,u=0,y=null;(l[0]!=m[0]||l[1]!=m[1])&&t(l[0],l[1],m[0],m[1],l[0]+d[0],l[1]+d[1])&&t(l[0],l[1],m[0],m[1],m[0]+c[0],m[1]+c[1])&&(f=2);var g=new r(f);for(s=d.length,a=0;f>a;a+=1){for(p=[],o=a/(f-1),h=0,i=0;s>i;i+=1)n=Math.pow(1-o,3)*l[i]+3*Math.pow(1-o,2)*o*(l[i]+d[i])+3*(1-o)*Math.pow(o,2)*(m[i]+c[i])+Math.pow(o,3)*m[i],p.push(n),null!==y&&(h+=Math.pow(p[i]-y[i],2));h=Math.sqrt(h),u+=h,g.points[a]={partialLength:h,cumulatedLength:u,point:p},y=p}g.segmentLength=u,e.bezierData=g}function s(t,e){var a=e.segments,r=a.length,i=Math.floor((r-1)*t),s=t*e.addedLength,n=0;if(s==a[i].l)return a[i].p;for(var o=a[i].l>s?-1:1,h=!0;h;)a[i].l<=s&&a[i+1].l>s?(n=(s-a[i].l)/(a[i+1].l-a[i].l),h=!1):i+=o,(0>i||i>=r-1)&&(h=!1);return a[i].p+(a[i+1].p-a[i].p)*n}function n(){this.pt1=new Array(2),this.pt2=new Array(2),this.pt3=new Array(2),this.pt4=new Array(2)}function o(t,e,a,r,i,o,h){var p=new n;i=0>i?0:i;var l=s(i,h);o=o>1?1:o;var m,d=s(o,h),c=t.length,f=1-l,u=1-d;for(m=0;c>m;m+=1)p.pt1[m]=f*f*f*t[m]+(l*f*f+f*l*f+f*f*l)*a[m]+(l*l*f+f*l*l+l*f*l)*r[m]+l*l*l*e[m],p.pt3[m]=f*f*u*t[m]+(l*f*u+f*l*u+f*f*d)*a[m]+(l*l*u+f*l*d+l*f*d)*r[m]+l*l*d*e[m],p.pt4[m]=f*u*u*t[m]+(l*u*u+f*d*u+f*u*d)*a[m]+(l*d*u+f*d*d+l*u*d)*r[m]+l*d*d*e[m],p.pt2[m]=u*u*u*t[m]+(d*u*u+u*d*u+u*u*d)*a[m]+(d*d*u+u*d*d+d*u*d)*r[m]+d*d*d*e[m];return p}var h=[],p=Math,l=function(){var e={};return function(a,r,i,s){var n=(a.join("_")+"_"+r.join("_")+"_"+i.join("_")+"_"+s.join("_")).replace(/\./g,"p");if(e[n])return e[n];var o,h,p,l,m,d,c=100,f=0,u=[],y=[],g={addedLength:0,segments:[]};for((a[0]!=r[0]||a[1]!=r[1])&&t(a[0],a[1],r[0],r[1],i[0],i[1])&&t(a[0],a[1],r[0],r[1],s[0],s[1])&&(c=2),p=i.length,o=0;c>o;o+=1){for(m=o/(c-1),d=0,h=0;p>h;h+=1)l=Math.pow(1-m,3)*a[h]+3*Math.pow(1-m,2)*m*i[h]+3*(1-m)*Math.pow(m,2)*s[h]+Math.pow(m,3)*r[h],u[h]=l,null!==y[h]&&(d+=Math.pow(u[h]-y[h],2)),y[h]=u[h];d&&(d=Math.sqrt(d),f+=d),g.segments.push({l:f,p:m})}return g.addedLength=f,e[n]=g,g}}();return{getEasingCurve:a,getEasingCurveByIndex:e,getBezierLength:l,getNewSegment:o,buildBezierData:i}}function dataFunctionManager(){function t(t,e,a){var r,i=h(t,e,a),s=[];for(r=0;e>r;r+=1)s.push(Math.floor(i[r]*x));return s}function e(t,e){var a,r,i,s=t.length;for(a=0;s>a;a+=1)if(void 0!==t[a].t)if(t[a].s instanceof Array)for(i=t[a].s.length,r=0;i>r;r+=1)t[a].s[r]*=e,void 0!==t[a].e&&(t[a].e[r]*=e);else t[a].s&&(t[a].s*=e,t[a].e&&(t[a].e*=e));else t[a]=t[a]*e}function a(n,h){h||(h=n);var p,l,m,d,c,f,u,y,g,v,x=n.length;for(f=0;x>f;f+=1){if(m=n[f],p=m.outPoint-m.startTime,l=m.startTime,m.layerName=o(m.layerName),m.tt&&(n[f-1].td=m.tt),m.renderedFrame={},m.renderedData={},d=[],c=-1,m.tm&&(m.trmp=m.tm,m.tm=t(m.tm,p,l)),m.ks.o instanceof Array?e(m.ks.o,.01):m.ks.o/=100,m.ks.s instanceof Array?e(m.ks.s,.01):m.ks.s/=100,m.ks.r instanceof Array?e(m.ks.r,E):m.ks.r*=E,m.hasMask){var b=m.masksProperties;for(y=b.length,u=0;y>u;u+=1)if(b[u].pt.i)s(b[u].pt);else for(v=b[u].pt.length,g=0;v>g;g+=1)b[u].pt[g].s&&s(b[u].pt[g].s[0]),b[u].pt[g].e&&s(b[u].pt[g].e[0])}"PreCompLayer"==m.type?m.refId&&!m.layers?m.layers=r(m.refId,h):a(m.layers,h):"ShapeLayer"==m.type&&i(m.shapes)}}function r(t,e,a){a||(a=e);var i,s=e.length;for(i=0;s>i;i+=1){if(e[i].compId==t)return e[i].layers||(e[i].layers=r(e[i].refId,a)),e[i].layers;if("PreCompLayer"==e[i].type){var n=r(t,e[i].layers,a);if(n)return n}}return null}function i(t,a){var r,n,o,h,p=t.length,l=a?a:!1;for(r=p-1;r>=0;r-=1)if(t[r].renderedData=[],"tm"==t[r].ty&&(l=!0),"fl"==t[r].ty||"st"==t[r].ty)t[r].o instanceof Array?e(t[r].o,.01):t[r].o*=.01;else if("sh"==t[r].ty)if(t[r].trimmed=l,t[r].ks.i)s(t[r].ks);else for(o=t[r].ks.length,n=0;o>n;n+=1)t[r].ks[n].s&&(s(t[r].ks[n].s[0]),s(t[r].ks[n].e[0]));else"gr"==t[r].ty?i(t[r].it,l):"tr"==t[r].ty?(h=t[r],h.renderedData=[],h.o instanceof Array?e(h.o,.01):h.o/=100,h.s instanceof Array?e(h.s,.01):h.s/=100,h.r instanceof Array?e(h.r,E):h.r*=E):"rc"==t[r].ty&&(t[r].trimmed=l,t[r].trimmed=!0)}function s(t){var e,a=t.i.length;for(e=0;a>e;e+=1)t.i[e][0]+=t.v[e][0],t.i[e][1]+=t.v[e][1],t.o[e][0]+=t.v[e][0],t.o[e][1]+=t.v[e][1]}function n(t){C[t._id]={data:t,renderedFrames:[]},x=t.animation.frameRate,a(t.animation.layers)}function o(t){return t=t.replace(/ /g,"_"),t=t.replace(/-/g,"_"),t=t.replace(/\./g,"_"),t=t.replace(/\//g,"_")}function h(t,e,a){var r,i,s=[];if(!(t instanceof Array)||null===t[0].t)return s.push(t),s;var n,o;s=[];var h,p,l,m=[];i=t.length;var d,c,f;for(r=0;i>r;r+=1)n=t[r],n.t-=a;var u=0,y=0;for(r=0;e>r;r+=1){h=u;for(var g=!1;i-1>h;){if(n=t[h],o=t[h+1],r<n.t&&0===h){for(l=n.s.length,m=[],p=0;l>p;p+=1)m.push(n.s[p]);s.push(m),g=!0,u!=h&&(u=h,y=0);break}if(r>=n.t&&r<o.t){if(m=[],n.to){d=bez.getEasingCurve(n.o.x,n.o.y,n.i.x,n.i.y)("",r-n.t,0,1,o.t-n.t),c=n.bezierData;var v,x,b=c.segmentLength*d;for(p=y;p<c.points.length;){if(0===r||0===b||0===d){m=c.points[p].point,y=p;break}if(p==c.points.length-1)m=c.points[p].point;else if(b>c.points[p].partialLength&&b<c.points[p+1].partialLength){for(v=c.points[p].point.length,x=(b-c.points[p].partialLength)/(c.points[p+1].partialLength-c.points[p].partialLength),f=0;v>f;f+=1)m.push(c.points[p].point[f]+(c.points[p+1].point[f]-c.points[p].point[f])*x);y=p;break}p+=1}}else{var C,E,D,w;n.s.forEach(function(t,e){if(1!==n.h&&(n.o.x instanceof Array?(C=n.o.x[e],E=n.o.y[e],D=n.i.x[e],w=n.i.y[e]):(C=n.o.x,E=n.o.y,D=n.i.x,w=n.i.y),d=bez.getEasingCurve(C,E,D,w)("",r-n.t,0,1,o.t-n.t)),t.i){var a={i:[],o:[],v:[]};t.i.forEach(function(r,i){var s=[],o=[],h=[];r.forEach(function(a,r){1===n.h?(s.push(a),o.push(t.o[i][r]),h.push(t.v[i][r])):(s.push(a+(n.e[e].i[i][r]-a)*d),o.push(t.o[i][r]+(n.e[e].o[i][r]-t.o[i][r])*d),h.push(t.v[i][r]+(n.e[e].v[i][r]-t.v[i][r])*d))}),a.i.push(s),a.o.push(o),a.v.push(h)}),m.push(a)}else m.push(1===n.h?t:t+(n.e[e]-t)*d)})}s.push(m),g=!0,u!=h&&(u=h,y=0);break}h+=1}g===!1&&(n=t[t.length-2],m=[],n.e.forEach(function(t){m.push(t)}),s.push(m))}for(h=s.length;e>h;)s.push(m),h+=1;return s}function p(t,e,a,r){var i,s,n,o,h,p;if(!t.length)return"p"==r.type?(S.px=t,S.py=t):"s"==r.type?(S.sx=t,S.sy=t):("r"==r.type||"px"==r.type||"py"==r.type)&&(S[r.type]=t),r.toArray?[t]:t;if(void 0===t[0].t)return"p"==r.type?(S.px=t[0],S.py=t[1]):"s"==r.type?(S.sx=t[0],S.sy=t[1]):("r"==r.type||"px"==r.type||"py"==r.type)&&(S[r.type]=t[0]),t;h=0,p=t.length-1;for(var l=1,m=!0;!(!m||(i=t[h],s=t[h+1],h==p-1&&e>=s.t-a)||s.t-a>e&&1==l);){if(s.t-a<e&&-1==l){h+=1,i=t[h],s=t[h+1];break}p-1>h&&1==l||h>0&&-1==l?h+=l:m=!1}i.to&&!i.bezierData&&bez.buildBezierData(i);var d,c,f,u,y,g=0;if("default"==r.type&&(n=[]),i.to){if(o=i.bezierData,e>=s.t-a)return"p"==r.type?(S.px=o.points[o.points.length-1].point[0],S.py=o.points[o.points.length-1].point[1]):"s"==r.type?(S.sx=o.points[o.points.length-1].point[0],S.sy=o.points[o.points.length-1].point[1]):("r"==r.type||"px"==r.type||"py"==r.type)&&(S[r.type]=o.points[o.points.length-1].point[0]),o.points[o.points.length-1].point;if(e<i.t-a)return"p"==r.type?(S.px=o.points[0].point[0],S.py=o.points[0].point[1]):"s"==r.type?(S.sx=o.points[0].point[0],S.sy=o.points[0].point[1]):("r"==r.type||"px"==r.type||"py"==r.type)&&(S[r.type]=o.points[0].point[0]),o.points[0].point;i.__fnct?y=i.__fnct:(y=bez.getEasingCurve(i.o.x,i.o.y,i.i.x,i.i.y,i.n),i.__fnct=y),f=y("",e-(i.t-a),0,1,s.t-a-(i.t-a));var v,x=o.segmentLength*f,b=0;for(l=1,m=!0,u=o.points.length;m;){if(b+=o.points[g].partialLength*l,0===x||0===f){"p"==r.type?(S.px=o.points[g].point[0],S.py=o.points[g].point[1]):"s"==r.type?(S.sx=o.points[g].point[0],S.sy=o.points[g].point[1]):"r"==r.type||"px"==r.type||"py"==r.type?S[r.type]=o.points[g].point[0]:n=o.points[g].point;break}if(g==o.points.length-1){"p"==r.type?(S.px=o.points[g].point[0],S.py=o.points[g].point[1]):"s"==r.type?(S.sx=o.points[g].point[0],S.sy=o.points[g].point[1]):"r"==r.type||"px"==r.type||"py"==r.type?S[r.type]=o.points[g].point[0]:n=o.points[g].point;break}if(x>b&&x<b+o.points[g+1].partialLength){if(v=(x-b)/o.points[g+1].partialLength,"p"==r.type)S.px=o.points[g].point[0]+(o.points[g+1].point[0]-o.points[g].point[0])*v,S.py=o.points[g].point[1]+(o.points[g+1].point[1]-o.points[g].point[1])*v;else if("s"==r.type)S.sx=o.points[g].point[0]+(o.points[g+1].point[0]-o.points[g].point[0])*v,S.sy=o.points[g].point[1]+(o.points[g+1].point[1]-o.points[g].point[1])*v;else if("r"==r.type||"px"==r.type||"py"==r.type)S[r.type]=o.points[g].point[0]+(o.points[g+1].point[0]-o.points[g].point[0])*v;else for(c=o.points[g].point.length,d=0;c>d;d+=1)n.push(o.points[g].point[d]+(o.points[g+1].point[d]-o.points[g].point[d])*v);break}u-1>g&&1==l||g>0&&-1==l?g+=l:m=!1}}else{var C,E,D,w,M=!1;for(p=i.s.length,h=0;p>h;h+=1)1!==i.h&&(i.o.x instanceof Array?(M=!0,C=i.o.x[h]?i.o.x[h]:i.o.x[0],E=i.o.y[h]?i.o.y[h]:i.o.y[0],D=i.i.x[h]?i.i.x[h]:i.i.x[0],w=i.i.y[h]?i.i.y[h]:i.i.y[0],i.__fnct||(i.__fnct=[])):(M=!1,C=i.o.x,E=i.o.y,D=i.i.x,w=i.i.y),M?i.__fnct[h]?y=i.__fnct[h]:(y=bez.getEasingCurve(C,E,D,w),i.__fnct[h]=y):i.__fnct?y=i.__fnct:(y=bez.getEasingCurve(C,E,D,w),i.__fnct=y),f=e>=s.t-a?1:e<i.t-a?0:y("",e-(i.t-a),0,1,s.t-a-(i.t-a))),1===i.h?"p"==r.type?0===h?S.px=i.s[h]:1==h&&(S.py=i.s[h]):"s"==r.type?0===h?S.sx=i.s[h]:1==h&&(S.sy=i.s[h]):"px"==r.type||"py"==r.type||"r"==r.type?S[r.type]=i.s[h]:n.push(i.s[h]):"p"==r.type?0===h?S.px=i.s[h]+(i.e[h]-i.s[h])*f:1==h&&(S.py=i.s[h]+(i.e[h]-i.s[h])*f):"s"==r.type?0===h?S.sx=i.s[h]+(i.e[h]-i.s[h])*f:1==h&&(S.sy=i.s[h]+(i.e[h]-i.s[h])*f):"px"==r.type||"py"==r.type||"r"==r.type?S[r.type]=i.s[h]+(i.e[h]-i.s[h])*f:n.push(i.s[h]+(i.e[h]-i.s[h])*f)}return n}function l(t,e){if(!t.__lengths){t.__lengths=[],t.__totalLength=0;var a,r=t.v,i=t.o,s=t.i,n=r.length;for(a=0;n-1>a;a+=1)t.__lengths.push(bez.getBezierLength(r[a],r[a+1],i[a],s[a+1])),t.__totalLength+=t.__lengths[a].addedLength;e&&(t.__lengths.push(bez.getBezierLength(r[a],r[0],i[a],s[0])),t.__totalLength+=t.__lengths[a].addedLength)}}function m(t,e,a,r,i,s){var n=s&&s.length>0,o={};o.closed=i?t.cl:t.closed;var h=i?t.pt:t.ks;if(h.v)return o.pathNodes=n?w(h,o.closed,s,!1):h,o;t={i:[],o:[],v:[]};var p,l,m,d,c,f,u,y=[];if(e<h[0].t-a){if(!h.__minValue){for(l=h[0].s[0].i.length,p=0;l>p;p+=1){for(c=[],f=[],u=[],d=h[0].s[0].i[p].length,m=0;d>m;m+=1)c.push(h[0].s[0].i[p][m]),f.push(h[0].s[0].o[p][m]),u.push(h[0].s[0].v[p][m]);t.i.push(c),t.o.push(f),t.v.push(u)}y.push(t),h.__minValue=y[0]}return o.pathNodes=n?w(h.__minValue,o.closed,s,!1):h.__minValue,o}if(e>h[h.length-1].t-a){if(!h.__maxValue){var g=h.length-2;for(l=h[g].s[0].i.length,p=0;l>p;p+=1){for(c=[],f=[],u=[],d=h[g].s[0].i[p].length,m=0;d>m;m+=1)c.push(h[g].e[0].i[p][m]),f.push(h[g].e[0].o[p][m]),u.push(h[g].e[0].v[p][m]);t.i.push(c),t.o.push(f),t.v.push(u)}y.push(t),h.__maxValue=y[0]}return o.pathNodes=n?w(h.__maxValue,o.closed,s,!1):h.__maxValue,o}for(var v,x,b=0,C=h.length-1,E=1,D=!0;D&&(v=h[b],x=h[b+1],!(x.t-a>e&&1==E));)C-1>b&&1==E||b>0&&-1==E?b+=E:D=!1;var S,M,F,I,A;if(1!==v.h){S=v.o.x,M=v.o.y,F=v.i.x,I=v.i.y;var P;v.__fnct?P=v.__fnct:(P=bez.getEasingCurve(S,M,F,I),v.__fnct=P),A=P("",e-(v.t-a),0,1,x.t-a-(v.t-a)),e>=x.t-a?A=1:e<v.t-a&&(A=0)}if(1===v.h&&v.__hValue)y.push(v.__hValue);else for(t={i:[],o:[],v:[]},l=v.s[0].i.length,p=0;l>p;p+=1){for(c=[],f=[],u=[],d=v.s[0].i[p].length,m=0;d>m;m+=1)1===v.h?(c.push(v.s[0].i[p][m]),f.push(v.s[0].o[p][m]),u.push(v.s[0].v[p][m])):(c.push(v.s[0].i[p][m]+(v.e[0].i[p][m]-v.s[0].i[p][m])*A),f.push(v.s[0].o[p][m]+(v.e[0].o[p][m]-v.s[0].o[p][m])*A),u.push(v.s[0].v[p][m]+(v.e[0].v[p][m]-v.s[0].v[p][m])*A));t.i.push(c),t.o.push(f),t.v.push(u),1===v.h&&(v.__hValue=t),y.push(t)}return o.pathNodes=n?w(y[0],o.closed,s,!1):y[0],o}function d(t,e,a){var r,i,s,n,o,h,l,c,u,y=t.length;for(c=0;y>c;c+=1)if(u=t[c],n=e-u.startTime,!u.an[n]){if(r={},D.arrayFlag=!1,D.type="default",r.a=p(u.ks.a,n,u.startTime,D),r.o=p(u.ks.o,n,u.startTime,D),D.arrayFlag=!1,u.ks.p.s?(D.type="px",p(u.ks.p.x,n,u.startTime,D),D.type="py",p(u.ks.p.y,n,u.startTime,D)):(D.type="p",p(u.ks.p,n,u.startTime,D)),D.arrayFlag=!0,D.type="r",p(u.ks.r,n,u.startTime,D),D.arrayFlag=!0,D.type="s",p(u.ks.s,n,u.startTime,D),l={},l.an={tr:r},D.arrayFlag=!1,D.type="default",l.an.matrixArray="canvas"==a?b.getMatrixArrayFromParams(S.r,S.sx,S.sy,S.px,S.py):b.getMatrixArrayFromParams(S.r,S.sx,S.sy,S.px,S.py),u.renderedData[n]=l,u.hasMask){i=u.masksProperties,h=i.length;var g;for(o=0;h>o;o+=1)if(i[o].paths||(i[o].paths=[],i[o].opacity=[]),"f"==i[o].mode&&o>0&&"svg"==a){var v=g.paths[n];v.pathNodes=v.pathNodes.constructor===Array?v.pathNodes:[v.pathNodes],v.pathNodes.push(m(i[o],n,u.startTime,a,!0).pathNodes)}else i[o].paths[n]=m(i[o],n,u.startTime,a,!0),i[o].opacity[n]=p(i[o].o,n,u.startTime,D),i[o].opacity[n]=i[o].opacity[n]instanceof Array?i[o].opacity[n][0]/100:i[o].opacity[n]/100,g=i[o]}e<u.inPoint||e>u.outPoint||("PreCompLayer"==u.type?(s=u.tm?u.tm[n]<0?0:n>=u.tm.length?u.tm[u.tm.length-1]:u.tm[n]:n,void 0===s&&(s=p(u.trmp,n,0,D)[0]*x,u.tm[n]=s),d(u.layers,s,a)):"ShapeLayer"==u.type&&f(u.shapes,n,u.startTime,a))}}function c(t,e,a){a=Math.min(e[0],e[1],a/2);var r=new Array(8),i=new Array(8),s=new Array(8),n=a/2;return a*=1,r[0]=[t[0]+e[0]/2,t[1]-e[1]/2+a],s[0]=r[0],i[0]=[t[0]+e[0]/2,t[1]-e[1]/2+n],r[1]=[t[0]+e[0]/2,t[1]+e[1]/2-a],s[1]=[t[0]+e[0]/2,t[1]+e[1]/2-n],i[1]=r[1],r[2]=[t[0]+e[0]/2-a,t[1]+e[1]/2],s[2]=r[2],i[2]=[t[0]+e[0]/2-n,t[1]+e[1]/2],r[3]=[t[0]-e[0]/2+a,t[1]+e[1]/2],s[3]=[t[0]-e[0]/2+n,t[1]+e[1]/2],i[3]=r[3],r[4]=[t[0]-e[0]/2,t[1]+e[1]/2-a],s[4]=r[4],i[4]=[t[0]-e[0]/2,t[1]+e[1]/2-n],r[5]=[t[0]-e[0]/2,t[1]-e[1]/2+a],s[5]=[t[0]-e[0]/2,t[1]-e[1]/2+n],i[5]=r[5],r[6]=[t[0]-e[0]/2+a,t[1]-e[1]/2],s[6]=r[6],i[6]=[t[0]-e[0]/2+n,t[1]-e[1]/2],r[7]=[t[0]+e[0]/2-a,t[1]-e[1]/2],s[7]=[t[0]+e[0]/2-n,t[1]-e[1]/2],i[7]=r[7],{v:r,o:s,i:i,c:!0}}function f(t,e,a,r,i){var s,n,o,h,l,d,y,g,v,x,C=t.length;i||(i=[]);var E,M,F,I,A;for(s=C-1;s>=0;s-=1)if(n=t[s],"sh"==n.ty)n.renderedData[e]={path:m(n,e,a,r,!1,i)};else if("fl"==n.ty)o=p(n.c,e,a,D),h=p(n.o,e,a,D),n.renderedData[e]={opacity:h instanceof Array?h[0]:h},"canvas"==r?(u(o),n.renderedData[e].color=o):n.renderedData[e].color=rgbToHex(Math.round(o[0]),Math.round(o[1]),Math.round(o[2]));else if("rc"==n.ty)l=p(n.p,e,a,D),d=p(n.s,e,a,D),y=p(n.r,e,a,D),n.trimmed?(n.renderedData[e]={path:{closed:!0}},n.renderedData[e].path.pathNodes=w(c(l,d,y),!0,i,!1)):n.renderedData[e]={position:l,size:d,roundness:y};else if("el"==n.ty){if(l=p(n.p,e,a,D),d=p(n.s,e,a,D),n.renderedData[e]={p:l,size:d},"svg"==r){var P={v:new Array(4),i:new Array(4),o:new Array(4)};P.v[0]=[l[0],l[1]-d[1]/2],P.o[0]=[l[0]-d[0]/2*.55,l[1]-d[1]/2],P.i[0]=[l[0]+d[0]/2*.55,l[1]-d[1]/2],P.v[1]=[l[0]-d[0]/2,l[1]],P.o[1]=[l[0]-d[0]/2,l[1]+d[1]/2*.55],P.i[1]=[l[0]-d[0]/2,l[1]-d[1]/2*.55],P.v[2]=[l[0],l[1]+d[1]/2],P.o[2]=[l[0]+d[0]/2*.55,l[1]+d[1]/2],P.i[2]=[l[0]-d[0]/2*.55,l[1]+d[1]/2],P.v[3]=[l[0]+d[0]/2,l[1]],P.o[3]=[l[0]+d[0]/2,l[1]-d[1]/2*.55],P.i[3]=[l[0]+d[0]/2,l[1]+d[1]/2*.55],n.renderedData[e].path={pathNodes:P},n.closed=!0}}else if("st"==n.ty){if(g=p(n.c,e,a,D),v=p(n.o,e,a,D),x=p(n.w,e,a,D),n.renderedData[e]={opacity:v instanceof Array?v[0]:v,width:x instanceof Array?x[0]:x},n.d){var _=[];A=n.d.length;var T;for(I=0;A>I;I+=1)T=p(n.d[I].v,e,a,D),_.push({v:T instanceof Array?T[0]:T,n:n.d[I].n});n.renderedData[e].dashes=_}"canvas"==r?(u(g),n.renderedData[e].color=g):n.renderedData[e].color=rgbToHex(Math.round(g[0]),Math.round(g[1]),Math.round(g[2]))}else if("tr"==n.ty)n.renderedData[e]={a:p(n.a,e,a,D),o:p(n.o,e,a,D)},D.arrayFlag=!0,D.type="s",p(n.s,e,a,D),D.arrayFlag=!0,D.type="r",p(n.r,e,a,D),D.arrayFlag=!1,D.type="p",p(n.p,e,a,D),D.arrayFlag=!1,D.type="default",n.renderedData[e].mtArr="canvas"==r?b.getMatrixArrayFromParams(S.r,S.sx,S.sy,S.px,S.py):b.getMatrixArrayFromParams(S.r,S.sx,S.sy,S.px,S.py);else if("tm"==n.ty){E=p(n.s,e,a,D),M=p(n.e,e,a,D),F=p(n.o,e,a,D);var k={s:E,e:M,o:F};i.push(k),n.renderedData[e]=k}else"gr"==n.ty&&f(n.it,e,a,r,i)}function u(t){var e,a=t.length;for(e=0;a>e;e+=1)t[e]=Math.round(t[e])}function y(t,e){for(var a=1;a>0;){if(e+=1,e>=t.data.animation.totalFrames){t.renderFinished=!0;break}t.renderedFrames[e]||(g(t.data._id,e),a-=1)}}function g(t,e){return 2==C[t].renderedFrames[e]?void(C[t].renderFinished||y(C[t],e)):(x=C[t].data.animation.frameRate,C[t].renderedFrames[e]=2,void d(C[t].data.animation.layers,e,C[t].data._animType))}function v(t){var e,a=C[t].data,r=a.animation.totalFrames,i=[];for(e=0;r>e;e+=1)i.push({num:e,data:g(t,e)})}var x=0,b=new MatrixManager,C={},E=Math.PI/180,D={arrayFlag:!1},w=function(){function t(t,s,n,l,m){r[o]=s,e[o+1]=n,a[o+1]=l,h?a[o]=t:(p+=" M"+t.join(","),h=!0,i[o]=t),p+=" C"+s.join(",")+" "+n.join(",")+" "+l.join(","),o+=1}var e,a,r,i,s,n,o,h=!1,p="";return function(m,d,c,f){l(m,d);var u,y=c.length,g=m;a=e=r=i=null;var v,x,b,C,E;for(u=y-1;u>=0;u-=1){var D=[],w=c[u].o%360/360;if(0!==w||0!==c[u].s||100!=c[u].e){p="",h=!1,e=[],r=[],a=[],i=[],s=[],n=0,0>w&&(w+=1);var S=c[u].s/100+w,M=c[u].e/100+w;if(S==M)return f?"":{};if(S>M){var F=S;S=M,M=F}1>=M?D.push({s:g.__totalLength*S,e:g.__totalLength*M}):S>=1?D.push({s:g.__totalLength*(S-1),e:g.__totalLength*(M-1)}):(D.push({s:g.__totalLength*S,e:g.__totalLength}),D.push({s:0,e:g.__totalLength*(M-1)})),v=[],x=[],b=[];var I;v=g.v,x=g.o,b=g.i,I=g.__lengths,E=v.length;var A,P,_=0,T=0,k=D.length;for(o=0,A=0;k>A;A+=1){for(_=0,C=1;E>C;C++)if(T=I[C-1].addedLength,_+T<D[A].s)_+=T;else{if(_>D[A].e)break;D[A].s<=_&&D[A].e>=_+T?t(v[C-1],x[C-1],b[C],v[C],I[C-1]):(P=bez.getNewSegment(v[C-1],v[C],x[C-1],b[C],(D[A].s-_)/T,(D[A].e-_)/T,I[C-1]),t(P.pt1,P.pt3,P.pt4,P.pt2)),_+=T}d!==!1?_<=D[A].e&&(T=I[C-1].addedLength,D[A].s<=_&&D[A].e>=_+T?t(v[C-1],x[C-1],b[0],v[0],I[C-1]):(P=bez.getNewSegment(v[C-1],v[0],x[C-1],b[0],(D[A].s-_)/T,(D[A].e-_)/T,I[C-1]),t(P.pt1,P.pt3,P.pt4,P.pt2))):h=!1}d=!1}}if(a?(v=a,x=r,b=e):(v=g.v,x=g.o,b=g.i,i=[]),E=v.length,f){for(p="",C=1;E>C;C++)i[C-1]?p+="M"+i[C-1].join(","):1==C&&(p+="M"+v[0].join(",")),p+=" C"+x[C-1].join(",")+" "+b[C].join(",")+" "+v[C].join(",");return d!==!1&&(p+=" C"+x[C-1].join(",")+" "+b[0].join(",")+" "+v[0].join(",")),p}return{i:b,o:x,v:v,s:i,c:d}}}(),S={r:0,sx:1,sy:1,px:1,py:1},M={};return M.completeData=n,M.renderFrame=g,M.renderAllFrames=v,M}function SVGRenderer(t){this.animationItem=t,this.layers=null,this.lastFrame=-1,this.globalData={frameNum:-1},this.elements=[]}function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig=e?e:{clearCanvas:!0,context:null,scaleMode:"fit"},this.lastFrame=-1,this.globalData={frameNum:-1},this.contextData={saved:new Array(15),savedOp:new Array(15),cArrPos:0,cTr:new Matrix,cO:1};var a,r=15;for(a=0;r>a;a+=1)this.contextData.saved[a]=new Array(6);this.elements=[]}function MaskElement(t,e,a){this.data=t,this.storedData=[],this.element=e,this.globalData=a,this.paths=[]}function ICompElement(t,e,a,r){this.parent.constructor.call(this,t,e,a,r),this.layers=t.layers}function IImageElement(t,e,a,r){this.animationItem=e,this.assets=this.animationItem.getAssets(),this.path=this.animationItem.getPath(),this.parent.constructor.call(this,t,e,a,r)}function IShapeElement(t,e,a,r){this.shapes=[],this.parent.constructor.call(this,t,e,a,r)}function ShapeItemElement(t,e,a){this.stylesList=[],this.viewData=[],this.shape=e,this.data=t,this.globalData=a,this.searchShapes(this.data,this.viewData),styleUnselectableDiv(this.shape)}function ISolidElement(t,e,a,r){this.parent.constructor.call(this,t,e,a,r)}function ITextElement(t,e,a,r){this.parent.constructor.call(this,t,e,a,r)}function CVBaseElement(t,e){this.data=t,this.globalData=e,this.canvasContext=e.canvasContext,this.currentAnimData=null,this.renderFrame=!1,this.ownMatrix=new Matrix,this.finalTransform={mat:new Matrix,opacity:1},this.init()}function CVCompElement(t,e){this.parent.constructor.call(this,t,e),this.layers=t.layers}function CVImageElement(t,e){this.animationItem=e.renderer.animationItem,this.assets=this.animationItem.getAssets(),this.path=this.animationItem.getPath(),this.parent.constructor.call(this,t,e),this.animationItem.pendingElements+=1}function CVShapeElement(t,e){this.shapes=[],this.parent.constructor.call(this,t,e)}function CVShapeItemElement(t,e,a){this.data=t,this.globalData=a,this.canvasContext=a.canvasContext,this.frameNum=-1,this.dataLength=this.data.length,this.mainFlag=e,this.stylesList=[],this.ownStylesList=[],this.stylesPool=[],this.currentStylePoolPos=0,this.transform={opacity:1,mat:new Matrix},this.mat=new Matrix;var r,i=this.dataLength-1;this.renderedPaths=new Array(this.globalData.totalFrames);var s;for(r=i;r>=0;r-=1)"gr"==this.data[r].ty?this.data[r].item=new CVShapeItemElement(this.data[r].it,!1,this.globalData):("st"==this.data[r].ty||"fl"==this.data[r].ty)&&(s={type:"fill",styleOpacity:0,opacity:0,value:"rgba(0,0,0,0)",closed:!1},"fl"==this.data[r].ty?s.type="fill":(s.type="stroke",s.width=0),this.stylesPool.push(s))}function CVSolidElement(t,e){this.parent.constructor.call(this,t,e)}function CVTextElement(t,e){this.parent.constructor.call(this,t,e)}function CVMaskElement(){}var svgNS="http://www.w3.org/2000/svg";Matrix.prototype={concat:function(t){return this.clone()._t(t.a,t.b,t.c,t.d,t.e,t.f)},flipX:function(){return this._t(-1,0,0,1,0,0)},flipY:function(){return this._t(1,0,0,-1,0,0)},reflectVector:function(t,e){var a=this.applyToPoint(0,1),r=2*(a.x*t+a.y*e);return t-=r*a.x,e-=r*a.y,{x:t,y:e}},reset:function(){return this.setTransform(1,0,0,1,0,0)},rotate:function(t){return 0===t?this:(this.cos=Math.cos(t),this.sin=Math.sin(t),this._t(this.cos,this.sin,-this.sin,this.cos,0,0))},rotateFromVector:function(t,e){return this.rotate(Math.atan2(e,t))},rotateDeg:function(t){return this.rotate(t*Math.PI/180)},scaleU:function(t){return this._t(t,0,0,t,0,0)},scale:function(t,e){return 1==t&&1==e?this:this._t(t,0,0,e,0,0)},scaleX:function(t){return this._t(t,0,0,1,0,0)},scaleY:function(t){return this._t(1,0,0,t,0,0)},shear:function(t,e){return this._t(1,e,t,1,0,0)},shearX:function(t){return this._t(1,0,t,1,0,0)},shearY:function(t){return this._t(1,t,0,1,0,0)},skew:function(t,e){return this.shear(Math.tan(t),Math.tan(e))},skewX:function(t){return this.shearX(Math.tan(t))},skewY:function(t){return this.shearY(Math.tan(t))},setTransform:function(t,e,a,r,i,s){return this.props[0]=t,this.props[1]=e,this.props[2]=a,this.props[3]=r,this.props[4]=i,this.props[5]=s,this._x()},translate:function(t,e){return this._t(1,0,0,1,t,e)},translateX:function(t){return this._t(1,0,0,1,t,0)},translateY:function(t){return this._t(1,0,0,1,0,t)},transform:function(t,e,a,r,i,s){return this.a1=this.props[0],this.b1=this.props[1],this.c1=this.props[2],this.d1=this.props[3],this.e1=this.props[4],this.f1=this.props[5],this.props[0]=this.a1*t+this.c1*e,this.props[1]=this.b1*t+this.d1*e,this.props[2]=this.a1*a+this.c1*r,this.props[3]=this.b1*a+this.d1*r,this.props[4]=this.a1*i+this.c1*s+this.e1,this.props[5]=this.b1*i+this.d1*s+this.f1,this._x()},divide:function(t){if(!t.isInvertible())throw"Input matrix is not invertible";var e=t.inverse();return this._t(e.a,e.b,e.c,e.d,e.e,e.f)},divideScalar:function(t){var e=this;return e.a/=t,e.b/=t,e.c/=t,e.d/=t,e.e/=t,e.f/=t,e._x()},inverse:function(){if(this.isIdentity())return new Matrix;if(this.isInvertible()){var t=this,e=t.a,a=t.b,r=t.c,i=t.d,s=t.e,n=t.f,o=new Matrix,h=e*i-a*r;return o.a=i/h,o.b=-a/h,o.c=-r/h,o.d=e/h,o.e=(r*n-i*s)/h,o.f=-(e*n-a*s)/h,o}throw"Matrix is not invertible."},interpolate:function(t,e,a){var r=this,i=a?new Matrix(a):new Matrix;return i.a=r.a+(t.a-r.a)*e,i.b=r.b+(t.b-r.b)*e,i.c=r.c+(t.c-r.c)*e,i.d=r.d+(t.d-r.d)*e,i.e=r.e+(t.e-r.e)*e,i.f=r.f+(t.f-r.f)*e,i._x()},interpolateAnim:function(t,e,a){var r=this,i=a?new Matrix(a):new Matrix,s=r.decompose(),n=t.decompose(),o=s.rotation+(n.rotation-s.rotation)*e,h=s.translate.x+(n.translate.x-s.translate.x)*e,p=s.translate.y+(n.translate.y-s.translate.y)*e,l=s.scale.x+(n.scale.x-s.scale.x)*e,m=s.scale.y+(n.scale.y-s.scale.y)*e;return i.translate(h,p),i.rotate(o),i.scale(l,m),i._x()},decompose:function(t){var e=this.props[0],a=this.props[1],r=this.props[2],i=this.props[3],s=Math.acos,n=Math.atan,o=Math.sqrt,h=Math.PI,p={x:this.props[4],y:this.props[5]},l=0,m={x:1,y:1},d={x:0,y:0},c=e*i-a*r;if(t)e?(d={x:n(r/e),y:n(a/e)},m={x:e,y:c/e}):a?(l=.5*h,m={x:a,y:c/a},d.x=n(i/a)):(m={x:r,y:i},d.x=.25*h);else if(e||a){var f=o(e*e+a*a);l=a>0?s(e/f):-s(e/f),m={x:f,y:c/f},d.x=n((e*r+a*i)/(f*f))}else if(r||i){var u=o(r*r+i*i);l=.5*h-(i>0?s(-r/u):-s(r/u)),m={x:c/u,y:u},d.y=n((e*r+a*i)/(u*u))}else m={x:0,y:0};return{scale:m,translate:p,rotation:l,skew:d}},determinant:function(){return this.a*this.d-this.b*this.c},applyToPoint:function(t,e){return{x:t*this.props[0]+e*this.props[2]+this.props[4],y:t*this.props[1]+e*this.props[3]+this.props[5]}},applyToPointStringified:function(t,e){return t*this.props[0]+e*this.props[2]+this.props[4]+","+(t*this.props[1]+e*this.props[3]+this.props[5])},applyToArray:function(t){var e,a,r=0,i=[];if("number"==typeof t[0])for(a=t.length;a>r;)e=this.applyToPoint(t[r++],t[r++]),i.push(e.x,e.y);else for(a=t.length,r=0;a>r;r++)i.push(this.applyToPoint(t[r].x,t[r].y));return i},applyToTypedArray:function(t,e){for(var a,r=0,i=t.length,s=e?new Float64Array(i):new Float32Array(i);i>r;)a=this.applyToPoint(t[r],t[r+1]),s[r++]=a.x,s[r++]=a.y;return s},applyToContext:function(t){var e=this;return t.setTransform(e.a,e.b,e.c,e.d,e.e,e.f),e},isIdentity:function(){var t=this;return t._q(t.a,1)&&t._q(t.b,0)&&t._q(t.c,0)&&t._q(t.d,1)&&t._q(t.e,0)&&t._q(t.f,0)},isInvertible:function(){return!this._q(this.determinant(),0)},isValid:function(){return!this._q(this.a*this.d,0)},clone:function(t){var e=this,a=new Matrix;return a.a=e.a,a.b=e.b,a.c=e.c,a.d=e.d,a.e=e.e,a.f=e.f,t||(a.context=e.context),a},isEqual:function(t){var e=this,a=e._q;return a(e.a,t.a)&&a(e.b,t.b)&&a(e.c,t.c)&&a(e.d,t.d)&&a(e.e,t.e)&&a(e.f,t.f)},toArray:function(){return[this.props[0],this.props[1],this.props[2],this.props[3],this.props[4],this.props[5]]},toCSS:function(){return this.cssParts[1]=this.props.join(","),this.cssParts.join("")},toJSON:function(){var t=this;return'{"a":'+t.a+',"b":'+t.b+',"c":'+t.c+',"d":'+t.d+',"e":'+t.e+',"f":'+t.f+"}"},toString:function(){return""+this.toArray()},_q:function(t,e){return Math.abs(t-e)<1e-14},_x:function(){return this.context&&this.context.setTransform(this.a,this.b,this.c,this.d,this.e,this.f),this}},void 0===CanvasRenderingContext2D.prototype.ellipse&&(CanvasRenderingContext2D.prototype.ellipse=function(t,e,a,r,i,s,n,o){this.save(),this.translate(t,e),this.rotate(i),this.scale(a,r),this.arc(0,0,1,s,n,o),this.restore()});var BM_Path2D;!function(){function t(t){if(this.ops_=[],void 0!==t)if("string"==typeof t)try{this.ops_=parser.parse(t)}catch(e){}else{if(!t.hasOwnProperty("ops_"))throw"Error: "+typeof t+"is not a valid argument to Path";this.ops_=t.ops_.slice(0)}}function e(t){return function(){var e,a=arguments.length,r=[];for(e=0;a>e;e+=1)r.push(arguments[e]);this.ops_.push({type:t,args:r})}}for(var a=CanvasRenderingContext2D.prototype,r=BM_CanvasRenderingContext2D.prototype,i=["closePath","moveTo","lineTo","quadraticCurveTo","bezierCurveTo","rect","arc","arcTo","ellipse"],s=0;s<i.length;s++){var n=i[s];t.prototype[n]=e(n)}t.prototype.addPath=function(t,e){var a=!1;!e||1==e[0]&&0===e[1]&&0===e[2]&&1==e[3]&&0===e[4]&&0===e[5]||(a=!0,this.ops_.push({type:"save",args:[]}),this.ops_.push({type:"transform",args:[e[0],e[1],e[2],e[3],e[4],e[5]]})),this.ops_=this.ops_.concat(t.ops_),a&&this.ops_.push({type:"restore",args:[]})};var o=a.fill,h=a.stroke,p=a.clip;r.fill=function(e){if(e instanceof t){this.renderer.canvasContext.beginPath();for(var a=0,r=e.ops_.length;r>a;a++){var i=e.ops_[a];"transform"==i.type?this.renderer.ctxTransform(i.args):"save"==i.type?this.renderer.save():"restore"==i.type?this.renderer.restore():this.renderer.canvasContext[i.type].apply(this.renderer.canvasContext,i.args)}r=arguments.length;var s=[];for(a=1;r>a;a+=1)s.push(arguments[a]);o.apply(this.renderer.canvasContext,s)}else o.apply(this.renderer.canvasContext,arguments)},r.stroke=function(e){if(e instanceof t){this.renderer.canvasContext.beginPath();for(var a=0,r=e.ops_.length;r>a;a++){var i=e.ops_[a];
this.renderer.canvasContext[i.type].apply(this.renderer.canvasContext,i.args)}h.call(this.renderer.canvasContext)}else h.call(this.renderer.canvasContext)},r.clip=function(e){if(e instanceof t){this.renderer.canvasContext.beginPath();for(var a=0,r=e.ops_.length;r>a;a++){var i=e.ops_[a];this.renderer.canvasContext[i.type].apply(this.renderer.canvasContext,i.args)}r=arguments.length;var s=[];for(a=1;r>a;a+=1)s.push(arguments[a]);p.apply(this.renderer.canvasContext,s)}else p.apply(this.renderer.canvasContext,arguments)},BM_Path2D=t}();var MatrixManager=matrixManagerFunction;!function(){for(var t=0,e=["ms","moz","webkit","o"],a=0;a<e.length&&!window.requestAnimationFrame;++a)window.requestAnimationFrame=window[e[a]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[a]+"CancelAnimationFrame"]||window[e[a]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,a){var r=(new Date).getTime(),i=Math.max(0,16-(r-t)),s=window.setTimeout(function(){e(r+i)},i);return t=r+i,s}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)})}();var subframeEnabled=!1,cachedColors={},rgbToHex=function(){var t,e,a=[];for(t=0;256>t;t+=1)e=t.toString(16),a[t]=1==e.length?"0"+e:e;return function(t,e,r){return 0>t&&(t=0),0>e&&(e=0),0>r&&(r=0),"#"+a[t]+a[e]+a[r]}}(),fillColorToString=function(){var t=[];return function(e,a){return t[e[0]]||(t[e[0]]=[]),t[e[0]][e[1]]||(t[e[0]][e[1]]=[]),t[e[0]][e[1]][e[2]]||(void 0!==a&&(e[3]=a),t[e[0]][e[1]][e[2]]="rgba("+e.join(",")+")"),t[e[0]][e[1]][e[2]]}}(),bez=bezFunction(),dataManager=dataFunctionManager();SVGRenderer.prototype.buildItems=function(t,e,a){var r,i=0,s=t.length;for(a||(a=this.elements),e||(e=this.animationItem.container),r=s-1;r>=0;r--){if("StillLayer"==t[r].type)i++,a[r]=this.createImage(t[r],e);else if("PreCompLayer"==t[r].type){a[r]=this.createComp(t[r],e);var n=[];this.buildItems(t[r].layers,a[r].getDomElement(),n),a[r].setElements(n)}else a[r]="SolidLayer"==t[r].type?this.createSolid(t[r],e):"ShapeLayer"==t[r].type?this.createShape(t[r],e):"TextLayer"==t[r].type?this.createText(t[r],e):this.createBase(t[r],e);t[r].td&&a[r+1].setMatte(a[r].layerId)}},SVGRenderer.prototype.createBase=function(t,e){return new BaseElement(t,this.animationItem,e,this.globalData)},SVGRenderer.prototype.createShape=function(t,e){return new IShapeElement(t,this.animationItem,e,this.globalData)},SVGRenderer.prototype.createText=function(t,e){return new ITextElement(t,this.animationItem,e,this.globalData)},SVGRenderer.prototype.createImage=function(t,e){return new IImageElement(t,this.animationItem,e,this.globalData)},SVGRenderer.prototype.createComp=function(t,e){return new ICompElement(t,this.animationItem,e,this.globalData)},SVGRenderer.prototype.createSolid=function(t,e){return new ISolidElement(t,this.animationItem,e,this.globalData)},SVGRenderer.prototype.configAnimation=function(t){this.animationItem.container=document.createElementNS(svgNS,"svg"),this.animationItem.container.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.animationItem.container.setAttribute("width",t.animation.compWidth),this.animationItem.container.setAttribute("height",t.animation.compHeight),this.animationItem.container.setAttribute("viewBox","0 0 "+t.animation.compWidth+" "+t.animation.compHeight),this.animationItem.container.setAttribute("preserveAspectRatio","xMidYMid meet"),this.animationItem.container.style.width="100%",this.animationItem.container.style.height="100%",this.animationItem.container.style.transformOrigin=this.animationItem.container.style.mozTransformOrigin=this.animationItem.container.style.webkitTransformOrigin=this.animationItem.container.style["-webkit-transform"]="0px 0px 0px",this.animationItem.wrapper.appendChild(this.animationItem.container);var e=document.createElementNS(svgNS,"defs");this.globalData.defs=e,this.animationItem.container.appendChild(e);var a=document.createElementNS(svgNS,"clipPath"),r=document.createElementNS(svgNS,"rect");r.setAttribute("width",t.animation.compWidth),r.setAttribute("height",t.animation.compHeight),r.setAttribute("x",0),r.setAttribute("y",0),a.setAttribute("id","animationMask"),a.appendChild(r);var i=document.createElementNS(svgNS,"g");i.setAttribute("clip-path","url(#animationMask)"),this.animationItem.container.appendChild(i),e.appendChild(a),this.animationItem.container=i,this.layers=t.animation.layers},SVGRenderer.prototype.buildStage=function(t,e,a){var r,i,s=e.length;for(a||(a=this.elements),r=s-1;r>=0;r--)i=e[r],void 0!==i.parent&&this.buildItemParenting(i,a[r],e,i.parent,a),a[r].setMainElement(),"PreCompLayer"==i.type&&this.buildStage(a[r].getComposingElement(),i.layers,a[r].getElements())},SVGRenderer.prototype.buildItemParenting=function(t,e,a,r,i){t.parents||(t.parents=[]);for(var s=0,n=a.length;n>s;)a[s].ind==r&&(e.getHierarchy().push(i[s]),void 0!==a[s].parent&&this.buildItemParenting(t,e,a,a[s].parent,i)),s+=1},SVGRenderer.prototype.updateContainerSize=function(){},SVGRenderer.prototype.renderFrame=function(t){if(this.lastFrame!=t){this.lastFrame=t,this.globalData.frameNum=t;var e,a=this.layers.length;for(e=0;a>e;e++)this.elements[e].prepareFrame(t-this.layers[e].startTime);for(e=0;a>e;e++)this.elements[e].renderFrame(t-this.layers[e].startTime)}},CanvasRenderer.prototype.buildItems=function(t,e){e||(e=this.elements);var a,r=0,i=t.length;for(a=0;i>a;a++)if("StillLayer"==t[a].type)r++,e.push(this.createImage(t[a]));else if("PreCompLayer"==t[a].type){e.push(this.createComp(t[a]));var s=[];this.buildItems(t[a].layers,s),e[e.length-1].setElements(s)}else e.push("SolidLayer"==t[a].type?this.createSolid(t[a]):"ShapeLayer"==t[a].type?this.createShape(t[a]):"TextLayer"==t[a].type?this.createText(t[a]):this.createBase(t[a]))},CanvasRenderer.prototype.createBase=function(t){return new CVBaseElement(t,this.globalData)},CanvasRenderer.prototype.createShape=function(t){return new CVShapeElement(t,this.globalData)},CanvasRenderer.prototype.createText=function(t){return new CVTextElement(t,this.globalData)},CanvasRenderer.prototype.createImage=function(t){return new CVImageElement(t,this.globalData)},CanvasRenderer.prototype.createComp=function(t){return new CVCompElement(t,this.globalData)},CanvasRenderer.prototype.createSolid=function(t){return new CVSolidElement(t,this.globalData)},CanvasRenderer.prototype.ctxTransform=function(t){if(!this.renderConfig.clearCanvas)return void this.canvasContext.transform(t[0],t[1],t[2],t[3],t[4],t[5]);this.contextData.cTr.transform(t[0],t[1],t[2],t[3],t[4],t[5]);var e=this.contextData.cTr.props;this.canvasContext.setTransform(e[0],e[1],e[2],e[3],e[4],e[5])},CanvasRenderer.prototype.ctxOpacity=function(t){return this.renderConfig.clearCanvas?(this.contextData.cO*=0>t?0:t,void(this.canvasContext.globalAlpha=this.contextData.cO)):void(this.canvasContext.globalAlpha*=0>t?0:t)},CanvasRenderer.prototype.reset=function(){return this.renderConfig.clearCanvas?(this.contextData.cArrPos=0,this.contextData.cTr.reset(),void(this.contextData.cO=1)):void this.canvasContext.restore()},CanvasRenderer.prototype.save=function(t){if(!this.renderConfig.clearCanvas)return void this.canvasContext.save();t&&this.canvasContext.save();var e=this.contextData.cTr.props;(null===this.contextData.saved[this.contextData.cArrPos]||void 0===this.contextData.saved[this.contextData.cArrPos])&&(this.contextData.saved[this.contextData.cArrPos]=new Array(6));var a,r=6,i=this.contextData.saved[this.contextData.cArrPos];for(a=0;r>a;a+=1)i[a]=e[a];this.contextData.savedOp[this.contextData.cArrPos]=this.contextData.cO,this.contextData.cArrPos+=1},CanvasRenderer.prototype.restore=function(t){if(!this.renderConfig.clearCanvas)return void this.canvasContext.restore();t&&this.canvasContext.restore(),this.contextData.cArrPos-=1;var e,a=this.contextData.saved[this.contextData.cArrPos],r=6,i=this.contextData.cTr.props;for(e=0;r>e;e+=1)i[e]=a[e];this.canvasContext.setTransform(a[0],a[1],a[2],a[3],a[4],a[5]),a=this.contextData.savedOp[this.contextData.cArrPos],this.contextData.cO=a,this.canvasContext.globalAlpha=a},CanvasRenderer.prototype.configAnimation=function(t){this.animationItem.wrapper?(this.animationItem.container=document.createElement("canvas"),this.animationItem.container.style.width="100%",this.animationItem.container.style.height="100%",this.animationItem.container.style.transformOrigin=this.animationItem.container.style.mozTransformOrigin=this.animationItem.container.style.webkitTransformOrigin=this.animationItem.container.style["-webkit-transform"]="0px 0px 0px",this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d")):this.canvasContext=this.renderConfig.context,this.globalData.canvasContext=this.canvasContext,this.globalData.bmCtx=new BM_CanvasRenderingContext2D(this),this.globalData.renderer=this,this.globalData.totalFrames=Math.floor(t.animation.totalFrames),this.globalData.compWidth=t.animation.compWidth,this.globalData.compHeight=t.animation.compHeight,this.layers=t.animation.layers,this.transformCanvas={},this.transformCanvas.w=t.animation.compWidth,this.transformCanvas.h=t.animation.compHeight,this.updateContainerSize()},CanvasRenderer.prototype.updateContainerSize=function(){var t,e;if(this.animationItem.wrapper&&this.animationItem.container?(t=this.animationItem.wrapper.offsetWidth,e=this.animationItem.wrapper.offsetHeight,this.animationItem.container.setAttribute("width",t),this.animationItem.container.setAttribute("height",e)):(t=this.canvasContext.canvas.width,e=this.canvasContext.canvas.height),"fit"==this.renderConfig.scaleMode){var a=t/e,r=this.transformCanvas.w/this.transformCanvas.h;r>a?(this.transformCanvas.sx=t/this.transformCanvas.w,this.transformCanvas.sy=t/this.transformCanvas.w,this.transformCanvas.tx=0,this.transformCanvas.ty=(e-this.transformCanvas.h*(t/this.transformCanvas.w))/2):(this.transformCanvas.sx=e/this.transformCanvas.h,this.transformCanvas.sy=e/this.transformCanvas.h,this.transformCanvas.tx=(t-this.transformCanvas.w*(e/this.transformCanvas.h))/2,this.transformCanvas.ty=0)}else this.transformCanvas.sx=1,this.transformCanvas.sy=1,this.transformCanvas.tx=0,this.transformCanvas.ty=0;this.transformCanvas.props=[this.transformCanvas.sx,0,0,this.transformCanvas.sy,this.transformCanvas.tx,this.transformCanvas.ty],this.clipper=new BM_Path2D,this.clipper.rect(0,0,this.transformCanvas.w,this.transformCanvas.h)},CanvasRenderer.prototype.buildStage=function(t,e,a){a||(a=this.elements);var r,i,s=e.length;for(r=s-1;r>=0;r--)i=e[r],void 0!==i.parent&&this.buildItemHierarchy(i,a[r],e,i.parent,a),"PreCompLayer"==i.type&&this.buildStage(null,i.layers,a[r].getElements())},CanvasRenderer.prototype.buildItemHierarchy=function(t,e,a,r,i){for(var s=0,n=a.length;n>s;)a[s].ind===r&&(e.getHierarchy().push(i[s]),void 0!==a[s].parent&&this.buildItemHierarchy(t,e,a,a[s].parent,i)),s+=1},CanvasRenderer.prototype.prepareFrame=function(t){var e,a=this.elements.length;for(e=0;a>e;e++)this.elements[e].prepareFrame(t-this.layers[e].startTime)},CanvasRenderer.prototype.draw=function(){var t,e=this.layers.length;for(t=e-1;t>=0;t-=1)this.elements[t].draw()},CanvasRenderer.prototype.renderFrame=function(t){(this.lastFrame!=t||this.renderConfig.clearCanvas!==!0)&&(this.lastFrame=t,this.globalData.frameNum=t-this.animationItem.firstFrame,this.renderConfig.clearCanvas===!0?(this.reset(),this.canvasContext.canvas.width=this.canvasContext.canvas.width):this.save(),this.ctxTransform(this.transformCanvas.props),this.globalData.bmCtx.clip(this.clipper),this.prepareFrame(t),this.draw(),this.renderConfig.clearCanvas!==!0&&this.restore())},MaskElement.prototype.init=function(){this.registeredEffects=[],this.masksProperties=this.data.masksProperties,this.totalMasks=this.masksProperties.length;var t=this.element.maskedElement,e=this.globalData.defs,a=0,r=this.masksProperties.length;this.layerSize=this.element.getLayerSize(),this.maskElement=document.createElementNS(svgNS,"clipPath");var i,s=this.data.masksProperties;for(a=0;r>a;a++)s[a].inv&&!this.solidPath&&(this.solidPath=this.createLayerSolidPath()),"f"==s[a].mode&&a>0||(i=document.createElementNS(svgNS,"path"),s[a].cl?i.setAttribute("fill","#ffffff"):(i.setAttribute("fill","none"),i.setAttribute("stroke","#ffffff"),i.setAttribute("stroke-width","1"),i.setAttribute("stroke-miterlimit","10")),i.setAttribute("clip-rule","nonzero"),this.maskElement.appendChild(i),this.storedData[a]={elem:i,lastPath:""});var n=randomString(10);this.maskElement.setAttribute("id",n),t.setAttribute("clip-path","url(#"+n+")"),e.appendChild(this.maskElement)},MaskElement.prototype.renderFrame=function(t){var e,a=this.data.masksProperties.length;for(e=0;a>e;e++)"f"==this.data.masksProperties[e].mode&&e>0||this.drawPath(this.data.masksProperties[e],this.data.masksProperties[e].paths[t].pathNodes,this.storedData[e])},MaskElement.prototype.processMaskFromEffects=function(t,e){var a,r=this.registeredEffects.length;for(a=0;r>a;a++)this.registeredEffects[a].renderMask(t,e)},MaskElement.prototype.registerEffect=function(t){this.registeredEffects.push(t)},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var t="M0,0 ";return t+="h"+this.layerSize.w,t+="v"+this.layerSize.h,t+="h"+-this.layerSize.w,t+="v"+-this.layerSize.h},MaskElement.prototype.drawPath=function(t,e,a){var r,i,s="";if(e.constructor===Array){var n,o,h=e.length,p="";for(n=0;h>n;n+=1){if(p="",o=e[n],!o.__renderedString){for(i=o.v.length,r=1;i>r;r+=1)1==r&&(p+=" M"+o.v[0][0]+","+o.v[0][1]),p+=" C"+o.o[r-1][0]+","+o.o[r-1][1]+" "+o.i[r][0]+","+o.i[r][1]+" "+o.v[r][0]+","+o.v[r][1];t.cl&&(p+=" C"+o.o[r-1][0]+","+o.o[r-1][1]+" "+o.i[0][0]+","+o.i[0][1]+" "+o.v[0][0]+","+o.v[0][1]),o.__renderedString=p}s+=o.__renderedString}}else if(e.__renderedString)s=e.__renderedString;else{for(i=e.v.length,r=1;i>r;r+=1)1==r&&(s+=" M"+e.v[0][0]+","+e.v[0][1]),s+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[r][0]+","+e.i[r][1]+" "+e.v[r][0]+","+e.v[r][1];t.cl&&(s+=" C"+e.o[r-1][0]+","+e.o[r-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),e.__renderedString=s}a.lastPath!==s&&(t.inv?a.elem.setAttribute("d",this.solidPath+s):a.elem.setAttribute("d",s),a.lastPath=s)};var BaseElement=function(t,e,a,r){this.animationItem=e,this.globalData=r,this.data=t,this.ownMatrix=new Matrix,this.finalTransform={mat:new Matrix,op:1},this.matteElement=null,this.renderedFrames=[],this.lastData={},this.parentContainer=a,this.layerId=randomString(10),this.init()};BaseElement.prototype.init=function(){this.createElements(),this.data.hasMask&&this.addMasks(this.data),this.data.eff},BaseElement.prototype.createElements=function(){this.data.hasMask?(this.layerElement=document.createElementNS(svgNS,"g"),this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.appendChild(this.layerElement),this.parentContainer.appendChild(this.matteElement)):this.parentContainer.appendChild(this.layerElement),this.maskedElement=this.layerElement):this.data.td?(this.layerElement=document.createElementNS(svgNS,"mask"),this.layerElement.setAttribute("id",this.layerId),3==this.data.td?this.layerElement.setAttribute("mask-type","luminance"):this.layerElement.setAttribute("mask-type","alpha"),this.globalData.defs.appendChild(this.layerElement)):this.data.tt?(this.matteElement=document.createElementNS(svgNS,"g"),this.matteElement.setAttribute("id",this.layerId),this.parentContainer.appendChild(this.matteElement),this.layerElement=this.matteElement):this.layerElement=this.parentContainer},BaseElement.prototype.prepareFrame=function(t){this.currentAnimData=this.data.renderedData[t].an;var e=this.currentAnimData.matrixArray;this.ownMatrix.reset().transform(e[0],e[1],e[2],e[3],e[4],e[5]).translate(-this.currentAnimData.tr.a[0],-this.currentAnimData.tr.a[1])},BaseElement.prototype.renderFrame=function(t,e){if("NullLayer"!=this.data.type){if(this.data.inPoint-this.data.startTime<=t&&this.data.outPoint-this.data.startTime>=t?(this.isVisible!==!0&&(this.isVisible=!0),this.finalTransform.opacity=1):(this.isVisible!==!1&&(this.isVisible=!1),this.finalTransform.opacity=0),this.data.eff,t===this.data.renderedFrame.num)return this.isVisible;this.data.hasMask&&this.maskManager.renderFrame(t),this.finalTransform.opacity*=this.currentAnimData.tr.o;var a,r=this.finalTransform.mat;if(e&&(a=e.mat.props,r.reset().transform(a[0],a[1],a[2],a[3],a[4],a[5]),this.finalTransform.opacity*=e.opacity),this.hierarchy){var i,s=this.hierarchy.length;for(e||r.reset(),i=s-1;i>=0;i-=1)a=this.hierarchy[i].ownMatrix.props,r.transform(a[0],a[1],a[2],a[3],a[4],a[5]);a=this.ownMatrix.props,r.transform(a[0],a[1],a[2],a[3],a[4],a[5])}else this.isVisible&&(e?(a=this.ownMatrix.props,r.transform(a[0],a[1],a[2],a[3],a[4],a[5])):(this.finalTransform.mat.props[0]=this.ownMatrix.props[0],this.finalTransform.mat.props[1]=this.ownMatrix.props[1],this.finalTransform.mat.props[2]=this.ownMatrix.props[2],this.finalTransform.mat.props[3]=this.ownMatrix.props[3],this.finalTransform.mat.props[4]=this.ownMatrix.props[4],this.finalTransform.mat.props[5]=this.ownMatrix.props[5]));if(this.data.hasMask){this.renderedFrames[this.globalData.frameNum]||(this.renderedFrames[this.globalData.frameNum]={tr:"matrix("+r.props.join(",")+")",o:this.finalTransform.opacity});var n=this.renderedFrames[this.globalData.frameNum];this.lastData.tr!=n.tr&&(this.lastData.tr=n.tr,this.layerElement.setAttribute("transform",n.tr)),this.lastData.o!==n.o&&(this.lastData.o=n.o,this.layerElement.setAttribute("opacity",n.o))}return this.isVisible}},BaseElement.prototype.getDomElement=function(){return this.layerElement},BaseElement.prototype.setMainElement=function(){this.mainElement=this.layerElement},BaseElement.prototype.getMaskManager=function(){return this.maskManager},BaseElement.prototype.addMasks=function(t){this.maskManager=new MaskElement(t,this,this.globalData),this.maskManager.init()},BaseElement.prototype.createEffectsManager=function(t){var e={effects:{value:t.eff},element:{value:this}};this.effectsManager=createElement(EffectsManager,null,e)},BaseElement.prototype.getType=function(){return this.type},BaseElement.prototype.getLayerSize=function(){return"TextLayer"==this.data.type?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}},BaseElement.prototype.getHierarchy=function(){return this.hierarchy||(this.hierarchy=[]),this.hierarchy},BaseElement.prototype.setMatte=function(t){this.matteElement.setAttribute("mask","url(#"+t+")")},BaseElement.prototype.hide=function(){},createElement(BaseElement,ICompElement),ICompElement.prototype.getComposingElement=function(){return this.layerElement},ICompElement.prototype.hide=function(){if(!this.hidden){var t,e=this.elements.length;for(t=0;e>t;t+=1)this.elements[t].hide();this.hidden=!0}},ICompElement.prototype.renderFrame=function(t,e){var a=this.parent.renderFrame.call(this,t,e);if(a===!1)return void this.hide();this.hidden=!1;var r,i=this.layers.length,s=this.data.tm?this.data.tm[t]<0?0:t>=this.data.tm.length?this.data.tm[this.data.tm.length-1]:this.data.tm[t]:t;for(r=0;i>r;r+=1)this.elements[r].prepareFrame(s-this.layers[r].startTime);for(r=0;i>r;r+=1)this.data.hasMask?this.elements[r].renderFrame(s-this.layers[r].startTime):this.elements[r].renderFrame(s-this.layers[r].startTime,this.finalTransform)},ICompElement.prototype.setElements=function(t){this.elements=t},ICompElement.prototype.getElements=function(){return this.elements},createElement(BaseElement,IImageElement),IImageElement.prototype.createElements=function(){var t=this,e=function(){t.image.setAttributeNS("http://www.w3.org/1999/xlink","href",t.path+t.assets[t.data.assetId].path),t.maskedElement=t.image,t.animationItem.elementLoaded()},a=new Image;a.addEventListener("load",e,!1),a.addEventListener("error",e,!1),a.src=this.path+this.assets[this.data.assetId].path,this.parent.createElements.call(this),this.image=document.createElementNS(svgNS,"image"),this.image.setAttribute("width",this.data.width+"px"),this.image.setAttribute("height",this.data.height+"px"),this.layerElement.appendChild(this.image)},IImageElement.prototype.hide=function(){this.hidden||this.data.hasMask||(this.image.setAttribute("opacity","0"),this.hidden=!0)},IImageElement.prototype.renderFrame=function(t,e){var a=this.parent.renderFrame.call(this,t,e);if(a===!1)return void this.hide();if(this.hidden=!1,!this.data.hasMask){this.renderedFrames[this.globalData.frameNum]||(this.renderedFrames[this.globalData.frameNum]={tr:"matrix("+this.finalTransform.mat.props.join(",")+")",o:this.finalTransform.opacity});var r=this.renderedFrames[this.globalData.frameNum];this.lastData.tr!=r.tr&&(this.lastData.tr=r.tr,this.image.setAttribute("transform",r.tr)),this.lastData.o!==r.o&&(this.lastData.o=r.o,this.image.setAttribute("opacity",r.o))}},createElement(BaseElement,IShapeElement),IShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.mainShape=new ShapeItemElement(this.data.shapes,this.layerElement,this.globalData)},IShapeElement.prototype.renderFrame=function(t,e){var a=this.parent.renderFrame.call(this,t,e);return a===!1?void this.hide():void this.renderShapes(t)},IShapeElement.prototype.hide=function(){this.hidden||(this.mainShape.hideShape(),this.hidden=!0)},IShapeElement.prototype.renderShapes=function(t){this.hidden=!1,this.data.hasMask?this.mainShape.renderShape(t,{opacity:1,mat:new Matrix}):this.mainShape.renderShape(t,this.finalTransform)},ShapeItemElement.prototype.searchShapes=function(t,e){var a,r,i,s=t.length-1,n=[];for(a=s;a>=0;a-=1)if("fl"==t[a].ty||"st"==t[a].ty){e[a]={renderedFrames:[],lastData:{c:"",o:-1,w:""}};var o=document.createElementNS(svgNS,"path");this.shape.appendChild(o),this.stylesList.push({pathElement:o,type:t[a].ty,d:""}),e[a].style=this.stylesList[this.stylesList.length-1],n.push(e[a].style)}else if("gr"==t[a].ty)e[a]={it:[]},this.searchShapes(t[a].it,e[a].it);else if("tr"==t[a].ty)e[a]={transform:{mat:new Matrix,opacity:1}};else if("sh"==t[a].ty||"rc"==t[a].ty||"el"==t[a].ty)for(e[a]={elements:[],renderedFrames:[],styles:[],lastData:{d:"",o:"",tr:""}},i=this.stylesList.length,r=0;i>r;r+=1)this.stylesList[r].closed||(e[a].styles.push(this.stylesList[r]),"st"==this.stylesList[r].type&&(this.stylesList[r].pathElement.setAttribute("fill-opacity",0),this.stylesList[r].pathElement.setAttribute("stroke-linejoin","round"),this.stylesList[r].pathElement.setAttribute("stroke-linecap","round")));for(s=n.length,a=0;s>a;a+=1)n[a].closed=!0},ShapeItemElement.prototype.getElement=function(){return this.shape},ShapeItemElement.prototype.hideShape=function(){var t,e=this.stylesList.length;for(t=e-1;t>=0;t-=1)this.stylesList[t].pathElement.setAttribute("d","")},ShapeItemElement.prototype.renderShape=function(t,e,a,r){var i,s;if(!a)for(a=this.data,s=this.stylesList.length,i=0;s>i;i+=1)this.stylesList[i].d="";r||(r=this.viewData),this.frameNum=t,s=a.length-1;var n,o;for(n=e,i=s;i>=0;i-=1)if("tr"==a[i].ty){var h=a[i].renderedData[t].mtArr;if(n=r[i].transform,o=n.mat,o.reset(),e){var p=e.mat.props;n.opacity=e.opacity,n.opacity*=a[i].renderedData[t].o,o.transform(p[0],p[1],p[2],p[3],p[4],p[5])}else n.opacity=a[i].renderedData[t].o;o.transform(h[0],h[1],h[2],h[3],h[4],h[5]).translate(-a[i].renderedData[t].a[0],-a[i].renderedData[t].a[1])}else"sh"==a[i].ty?this.renderPath(a[i],r[i],t,n):"el"==a[i].ty?this.renderPath(a[i],r[i],t,n):"rc"==a[i].ty?a[i].trimmed?this.renderPath(a[i],r[i],t,n):this.renderRect(a[i],r[i],t,n):"fl"==a[i].ty?this.renderFill(a[i],r[i],t,n):"st"==a[i].ty?this.renderStroke(a[i],r[i],t,n):"gr"==a[i].ty?this.renderShape(t,n,a[i].it,r[i].it):"tm"==a[i].ty;for(s=this.stylesList.length,i=0;s>i;i+=1)this.stylesList[i].pathElement.setAttribute("d",this.stylesList[i].d)},ShapeItemElement.prototype.renderPath=function(t,e,a,r){var i,s;if(!e.renderedFrames[this.globalData.frameNum]){var n=t.renderedData[a].path.pathNodes;if(!n.v)return;i=n.v.length;var o=n.s?n.s:[],h="";for(s=1;i>s;s+=1)o[s-1]?h+=" M"+o[s-1][0]+","+o[s-1][1]:1==s&&(h+=" M"+n.v[0][0]+","+n.v[0][1]),h+=" C"+n.o[s-1][0]+","+n.o[s-1][1]+" "+n.i[s][0]+","+n.i[s][1]+" "+n.v[s][0]+","+n.v[s][1];!t.closed||t.trimmed&&!n.c||(h+=" C"+n.o[s-1][0]+","+n.o[s-1][1]+" "+n.i[0][0]+","+n.i[0][1]+" "+n.v[0][0]+","+n.v[0][1]),e.renderedFrames[this.globalData.frameNum]={dTr:h}}var p=e.renderedFrames[this.globalData.frameNum];for(i=e.styles.length,s=0;i>s;s+=1)e.styles[s].d+=p.dTr},ShapeItemElement.prototype.renderFill=function(t,e,a,r){var i=t.renderedData[a],s=e.style;e.renderedFrames[this.globalData.frameNum]||(e.renderedFrames[this.globalData.frameNum]={c:i.color,o:i.opacity*r.opacity,t:"matrix("+r.mat.props.join(",")+")"});var n=e.renderedFrames[this.globalData.frameNum],o=n.c,h=n.o,p=n.t;e.lastData.c!=o&&s.pathElement.setAttribute("fill",o),e.lastData.o!=h&&s.pathElement.setAttribute("fill-opacity",h),e.lastData.t!=p&&s.pathElement.setAttribute("transform",p),e.lastData.c=o,e.lastData.o=h,e.lastData.t=p},ShapeItemElement.prototype.renderStroke=function(t,e,a,r){var i=t.renderedData[a],s=e.style;e.renderedFrames[this.globalData.frameNum]||(e.renderedFrames[this.globalData.frameNum]={c:i.color,o:i.opacity*r.opacity,w:i.width,t:"matrix("+r.mat.props.join(",")+")"},i.dashes&&(e.renderedFrames[this.globalData.frameNum].d=i.dashes));var n,o,h=e.renderedFrames[this.globalData.frameNum],p=h.c,l=h.o,m=h.w,d=h.d,c=h.t;if(d){var f,u=d.length;for(n="",o="",f=0;u>f;f+=1)"o"!=d[f].n?n+=" "+d[f].v:o+=d[f].v}e.lastData.c!=p&&s.pathElement.setAttribute("stroke",p),e.lastData.o!=l&&s.pathElement.setAttribute("stroke-opacity",l),e.lastData.w!==m&&s.pathElement.setAttribute("stroke-width",m),e.lastData.t!==c&&s.pathElement.setAttribute("transform",c),d&&(e.lastData.da!=n&&s.pathElement.setAttribute("stroke-dasharray",n),e.lastData["do"]!=o&&s.pathElement.setAttribute("stroke-dashoffset",o)),e.lastData.c=p,e.lastData.o=l,e.lastData.w=m,e.lastData.t=c,d&&(e.lastData.da=n,e.lastData["do"]=o)},createElement(BaseElement,ISolidElement),ISolidElement.prototype.createElements=function(){this.parent.createElements.call(this);var t=document.createElementNS(svgNS,"rect");t.setAttribute("width",this.data.width),t.setAttribute("height",this.data.height),t.setAttribute("fill",this.data.color),this.layerElement.appendChild(t),this.rectElement=t},ISolidElement.prototype.hide=function(){this.hidden||this.data.hasMask||(this.rectElement.setAttribute("opacity","0"),this.hidden=!0)},ISolidElement.prototype.renderFrame=function(t,e){var a=this.parent.renderFrame.call(this,t,e);if(a===!1)return void this.hide();if(this.hidden&&(this.lastData.o=-1,this.hidden=!1),!this.data.hasMask){this.renderedFrames[this.globalData.frameNum]||(this.renderedFrames[this.globalData.frameNum]={tr:"matrix("+this.finalTransform.mat.props.join(",")+")",o:this.finalTransform.opacity});var r=this.renderedFrames[this.globalData.frameNum];this.lastData.tr!=r.tr&&(this.lastData.tr=r.tr,this.rectElement.setAttribute("transform",r.tr)),this.lastData.o!==r.o&&(this.lastData.o=r.o,this.rectElement.setAttribute("opacity",r.o))}},createElement(BaseElement,ITextElement),ITextElement.prototype.createElements=function(){this.parent.createElements.call(this)},CVBaseElement.prototype.init=function(){this.createElements(),this.data.hasMask&&this.addMasks(this.data),this.data.eff},CVBaseElement.prototype.createElements=function(){},CVBaseElement.prototype.prepareFrame=function(t){this.currentAnimData=this.data.renderedData[t].an;var e=this.currentAnimData.matrixArray;return this.ownMatrix.reset().transform(e[0],e[1],e[2],e[3],e[4],e[5]).translate(-this.currentAnimData.tr.a[0],-this.currentAnimData.tr.a[1]),this.data.inPoint-this.data.startTime<=t&&this.data.outPoint-this.data.startTime>=t?(this.renderFrame=!0,this.finalTransform.opacity=1,void(this.data.hasMask&&this.maskManager.prepareFrame(t))):(this.renderFrame=!1,this.finalTransform.opacity=0,!1)},CVBaseElement.prototype.draw=function(t){if("NullLayer"!=this.data.type){if(!this.renderFrame)return!1;var e,a=(this.canvasContext,this.finalTransform.mat);if(this.finalTransform.opacity*=this.currentAnimData.tr.o,t&&(e=t.mat.props,a.reset().transform(e[0],e[1],e[2],e[3],e[4],e[5]),this.finalTransform.opacity*=t.opacity),this.hierarchy){var r,i=this.hierarchy.length;for(t||a.reset(),r=i-1;r>=0;r-=1)e=this.hierarchy[r].ownMatrix.props,a.transform(e[0],e[1],e[2],e[3],e[4],e[5]);e=this.ownMatrix.props,a.transform(e[0],e[1],e[2],e[3],e[4],e[5])}else this.renderFrame&&(t?(e=this.ownMatrix.props,a.transform(e[0],e[1],e[2],e[3],e[4],e[5])):this.finalTransform.mat=this.ownMatrix);this.data.hasMask&&(this.globalData.renderer.save(!0),this.maskManager.draw(this.finalTransform))}},CVBaseElement.prototype.getCurrentAnimData=function(){return this.currentAnimData},CVBaseElement.prototype.addMasks=function(t){var e={data:{value:t},element:{value:this},globalData:{value:this.globalData}};this.maskManager=createElement(CVMaskElement,null,e)},CVBaseElement.prototype.createEffectsManager=function(t){var e={effects:{value:t.eff},element:{value:this}};this.effectsManager=createElement(EffectsManager,null,e)},CVBaseElement.prototype.getType=function(){return this.type},CVBaseElement.prototype.getHierarchy=function(){return this.hierarchy||(this.hierarchy=[]),this.hierarchy},CVBaseElement.prototype.getLayerSize=function(){return"TextLayer"==this.data.type?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}},createElement(CVBaseElement,CVCompElement),CVCompElement.prototype.prepareFrame=function(t){var e=this.parent.prepareFrame.call(this,t);if(e!==!1){var a,r=this.elements.length,i=this.data.tm?this.data.tm[t]<0?0:t>=this.data.tm.length?this.data.tm[this.data.tm.length-1]:this.data.tm[t]:t;for(a=0;r>a;a+=1)this.elements[a].prepareFrame(i-this.layers[a].startTime)}},CVCompElement.prototype.draw=function(t){if(this.parent.draw.call(this,t)!==!1){var e,a=this.layers.length;for(e=a-1;e>=0;e-=1)this.elements[e].draw(this.finalTransform);this.data.hasMask&&this.globalData.renderer.restore(!0)}},CVCompElement.prototype.setElements=function(t){this.elements=t},CVCompElement.prototype.getElements=function(){return this.elements},createElement(CVBaseElement,CVImageElement),CVImageElement.prototype.createElements=function(){var t=this,e=function(){t.animationItem.elementLoaded()},a=function(){t.failed=!0,t.animationItem.elementLoaded()};this.img=new Image,this.img.addEventListener("load",e,!1),this.img.addEventListener("error",a,!1),this.img.src=this.path+this.assets[this.data.assetId].path,this.parent.createElements.call(this)},CVImageElement.prototype.draw=function(t){if(!this.failed&&this.parent.draw.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var a=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(a),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.drawImage(this.img,0,0),this.globalData.renderer.restore(this.data.hasMask)}},createElement(CVBaseElement,CVShapeElement),CVShapeElement.prototype.createElements=function(){this.parent.createElements.call(this),this.mainShape=new CVShapeItemElement(this.data.shapes,!0,this.globalData)},CVShapeElement.prototype.prepareFrame=function(t){var e=this.parent.prepareFrame.call(this,t);e!==!1&&this.mainShape.prepareFrame(t)},CVShapeElement.prototype.draw=function(t){this.parent.draw.call(this,t)!==!1&&(this.drawShapes(this.finalTransform),this.data.hasMask&&this.globalData.renderer.restore(!0))},CVShapeElement.prototype.drawShapes=function(t){this.mainShape.renderShape(t)},CVShapeItemElement.prototype.drawPaths=function(t){var e,a;t?(a=[],e=this.stylesList):e=this.renderedPaths[this.globalData.frameNum];var r,i=e.length,s=this.canvasContext;for(this.globalData.renderer.save(),s.lineCap="round",s.lineJoin="round",r=0;i>r;r+=1)"stroke"==e[r].type?(1!=e[r].opacity&&(this.globalData.renderer.save(),this.globalData.renderer.ctxOpacity(e[r].opacity)),
s.strokeStyle=e[r].value,s.lineWidth=e[r].width,e[r].dasharray?(s.setLineDash(e[r].dasharray),s.lineDashOffset=e[r].dashoffset):(s.setLineDash([]),s.lineDashOffset=0),this.globalData.bmCtx.stroke(e[r].path),1!=e[r].opacity&&this.globalData.renderer.restore(),t&&(a.push({type:e[r].type,opacity:e[r].opacity,value:e[r].value,width:e[r].width,path:e[r].path}),e[r].dasharray&&(a[a.length-1].dasharray=e[r].dasharray,a[a.length-1].dashoffset=e[r].dashoffset))):"fill"==e[r].type&&(1!=e[r].opacity&&(this.globalData.renderer.save(),this.globalData.renderer.ctxOpacity(e[r].opacity)),s.fillStyle=e[r].value,this.globalData.bmCtx.fill(e[r].path),1!=e[r].opacity&&this.globalData.renderer.restore(),t&&a.push({type:e[r].type,opacity:e[r].opacity,value:e[r].value,path:e[r].path}));this.globalData.renderer.restore(),t&&(this.renderedPaths[this.globalData.frameNum]=a)},CVShapeItemElement.prototype.prepareFrame=function(t){this.frameNum=t;var e,a=this.dataLength-1;for(e=a;e>=0;e-=1)"gr"==this.data[e].ty&&this.data[e].item.prepareFrame(t)},CVShapeItemElement.prototype.renderShape=function(t,e){if(this.renderedPaths[this.globalData.frameNum])return void this.drawPaths(!1);this.transform.opacity=1;var a,r;for(this.ownStylesList.length=0,this.currentStylePoolPos=0,e?this.stylesList=e:this.stylesList.length=0,t?(this.transform.mat.props[0]=t.mat.props[0],this.transform.mat.props[1]=t.mat.props[1],this.transform.mat.props[2]=t.mat.props[2],this.transform.mat.props[3]=t.mat.props[3],this.transform.mat.props[4]=t.mat.props[4],this.transform.mat.props[5]=t.mat.props[5],this.transform.opacity*=t.opacity):(this.transform.mat.props[0]=this.transform.mat.props[3]=1,this.transform.mat.props[1]=this.transform.mat.props[2]=this.transform.mat.props[4]=this.transform.mat.props[5]=0),r=this.dataLength-1,a=r;a>=0;a-=1)"gr"==this.data[a].ty?this.data[a].item.renderShape(this.transform,this.stylesList):"tr"==this.data[a].ty?this.renderTransform(this.data[a]):"sh"==this.data[a].ty?this.renderPath(this.data[a]):"el"==this.data[a].ty?this.renderEllipse(this.data[a]):"rc"==this.data[a].ty?this.data[a].trimmed?this.renderPath(this.data[a]):this.renderRect(this.data[a]):"fl"==this.data[a].ty?this.renderFill(this.data[a]):"st"==this.data[a].ty&&this.renderStroke(this.data[a]);if(this.mainFlag)this.drawPaths(!0);else for(r=this.ownStylesList.length,a=0;r>a;a+=1)this.ownStylesList[a].closed=!0},CVShapeItemElement.prototype.renderTransform=function(t){var e=t.renderedData[this.frameNum],a=e.mtArr;this.transform.mat.transform(a[0],a[1],a[2],a[3],a[4],a[5]).translate(-e.a[0],-e.a[1]),this.transform.opacity*=e.o},CVShapeItemElement.prototype.renderPath=function(t){if(t.trimmed){var e=this.canvasContext;e.lineCap="round",e.lineJoin="round"}var a=t.renderedData[this.frameNum].path,r=new BM_Path2D,i=a.pathNodes;if(i instanceof Array&&(i=i[0]),i.v){var s,n=i.v.length,o=i.s?i.s:[];for(s=1;n>s;s+=1)o[s-1]?r.moveTo(o[s-1][0],o[s-1][1]):1==s&&r.moveTo(i.v[0][0],i.v[0][1]),r.bezierCurveTo(i.o[s-1][0],i.o[s-1][1],i.i[s][0],i.i[s][1],i.v[s][0],i.v[s][1]);!t.closed||t.trimmed&&!i.c||r.bezierCurveTo(i.o[s-1][0],i.o[s-1][1],i.i[0][0],i.i[0][1],i.v[0][0],i.v[0][1]),this.addPathToStyles(r)}},CVShapeItemElement.prototype.renderEllipse=function(t){var e=new BM_Path2D,a=t.renderedData[this.frameNum];e.moveTo(a.p[0]+a.size[0]/2,a.p[1]),e.ellipse(a.p[0],a.p[1],a.size[0]/2,a.size[1]/2,0,0,2*Math.PI,!1),this.addPathToStyles(e)},CVShapeItemElement.prototype.renderRect=function(t){var e=new BM_Path2D,a=t.renderedData[this.frameNum],r=a.roundness;if(0===r)e.rect(a.position[0]-a.size[0]/2,a.position[1]-a.size[1]/2,a.size[0],a.size[1]);else{var i=a.position[0]-a.size[0]/2,s=a.position[1]-a.size[1]/2,n=a.size[0],o=a.size[1];r instanceof Array&&(r=r[0]),r>n/2&&(r=n/2),r>o/2&&(r=o/2),e.moveTo(i+r,s),e.lineTo(i+n-r,s),e.quadraticCurveTo(i+n,s,i+n,s+r),e.lineTo(i+n,s+o-r),e.quadraticCurveTo(i+n,s+o,i+n-r,s+o),e.lineTo(i+r,s+o),e.quadraticCurveTo(i,s+o,i,s+o-r),e.lineTo(i,s+r),e.quadraticCurveTo(i,s,i+r,s)}this.addPathToStyles(e)},CVShapeItemElement.prototype.addPathToStyles=function(t){var e,a=this.stylesList.length,r=!0,i=0;for(e=a-1;e>=0;e-=1)this.stylesList[e].closed||("stroke"==this.stylesList[e].type?(this.stylesList[e].width>i&&this.stylesList[e].path.addPath(t,this.transform.mat.props),1==this.stylesList[e].styleOpacity&&1==this.stylesList[e].opacity&&(i=this.stylesList[e].width)):r&&"fill"==this.stylesList[e].type&&(this.stylesList[e].path.addPath(t,this.transform.mat.props),1==this.stylesList[e].styleOpacity&&1==this.stylesList[e].opacity&&(r=!1)))},CVShapeItemElement.prototype.renderFill=function(t){var e=t.renderedData[this.frameNum];return t.fillEnabled!==!1?(this.stylesPool[this.currentStylePoolPos].path=new BM_Path2D,this.stylesPool[this.currentStylePoolPos].closed=!1,this.stylesPool[this.currentStylePoolPos].styleOpacity=e.opacity<1?e.opacity:1,this.stylesPool[this.currentStylePoolPos].opacity=this.transform.opacity,this.stylesPool[this.currentStylePoolPos].value=e.opacity<1?fillColorToString(e.color,e.opacity):fillColorToString(e.color),this.stylesList.push(this.stylesPool[this.currentStylePoolPos]),this.ownStylesList.push(this.stylesList[this.stylesList.length-1]),void(this.currentStylePoolPos+=1)):(this.stylesList.push(this.stylesPool[this.currentStylePoolPos]),this.ownStylesList.push(this.stylesList[this.stylesList.length-1]),void(this.currentStylePoolPos+=1))},CVShapeItemElement.prototype.renderStroke=function(t){var e=t.renderedData[this.frameNum];if(this.data.strokeEnabled!==!1){if(this.stylesPool[this.currentStylePoolPos].path=new BM_Path2D,this.stylesPool[this.currentStylePoolPos].closed=!1,this.stylesPool[this.currentStylePoolPos].styleOpacity=e.opacity<1?e.opacity:1,this.stylesPool[this.currentStylePoolPos].width=e.width,this.stylesPool[this.currentStylePoolPos].opacity=this.transform.opacity,this.stylesPool[this.currentStylePoolPos].value=e.opacity<1?fillColorToString(e.color,e.opacity):fillColorToString(e.color),e.dashes){var a,r=e.dashes,i=r.length,s=[],n="";for(a=0;i>a;a+=1)"o"!=r[a].n?s.push(r[a].v):n=r[a].v;this.stylesPool[this.currentStylePoolPos].dasharray=s,this.stylesPool[this.currentStylePoolPos].dashoffset=n}return this.stylesList.push(this.stylesPool[this.currentStylePoolPos]),this.ownStylesList.push(this.stylesList[this.stylesList.length-1]),void(this.currentStylePoolPos+=1)}this.stylesList.push(this.stylesPool[this.currentStylePoolPos]),this.ownStylesList.push(this.stylesList[this.stylesList.length-1]),this.currentStylePoolPos+=1},createElement(CVBaseElement,CVSolidElement),CVSolidElement.prototype.draw=function(t){if(this.parent.draw.call(this,t)!==!1){var e=this.canvasContext;this.globalData.renderer.save();var a=this.finalTransform.mat.props;this.globalData.renderer.ctxTransform(a),this.globalData.renderer.ctxOpacity(this.finalTransform.opacity),e.fillStyle=this.data.color,e.fillRect(0,0,this.data.width,this.data.height),this.globalData.renderer.restore(this.data.hasMask)}},createElement(CVBaseElement,CVTextElement),CVTextElement.prototype.createElements=function(){this.parent.createElements.call(this)},CVMaskElement.prototype.init=function(){this.registeredEffects=[],this.masksProperties=this.data.masksProperties,this.totalMasks=this.masksProperties.length,this.ctx=this.element.canvasContext,this.layerSize=this.element.getLayerSize(),this.renderedFrames=new Array(this.globalData.totalFrames+1)},CVMaskElement.prototype.prepareFrame=function(t){this.frameNum=t},CVMaskElement.prototype.draw=function(t){var e;if(this.renderedFrames[this.globalData.frameNum])e=this.renderedFrames[this.globalData.frameNum];else{var a,r=new BM_Path2D,i=this.data.masksProperties.length;for(e=new BM_Path2D,a=0;i>a;a++)this.masksProperties[a].inv&&this.createInvertedMask(r,this.data.masksProperties[a].paths[this.frameNum].pathNodes),this.drawShape(r,this.data.masksProperties[a].paths[this.frameNum].pathNodes);e.addPath(r,t.mat.props),this.renderedFrames[this.globalData.frameNum]=e}this.globalData.bmCtx.clip(e)},CVMaskElement.prototype.drawShape=function(t,e){var a,r=e.v.length;for(t.moveTo(e.v[0][0],e.v[0][1]),a=1;r>a;a++)t.bezierCurveTo(e.o[a-1][0],e.o[a-1][1],e.i[a][0],e.i[a][1],e.v[a][0],e.v[a][1]);t.bezierCurveTo(e.o[a-1][0],e.o[a-1][1],e.i[0][0],e.i[0][1],e.v[0][0],e.v[0][1])},CVMaskElement.prototype.createInvertedMask=function(t){t.moveTo(0,0),t.lineTo(this.globalData.compWidth,0),t.lineTo(this.globalData.compWidth,this.globalData.compHeight),t.lineTo(0,this.globalData.compHeight),t.lineTo(0,0)};var animationManager=function(){function t(t){if(!t)return null;for(var e=0;v>e;){if(u[e].elem==t&&null!==u[e].elem)return u[e].animation;e+=1}var a=new AnimationItem;return a.setData(t),u.push({elem:t,animation:a}),v+=1,a}function e(t){var e=new AnimationItem;return e.setParams(t),u.push({elem:null,animation:e}),v+=1,e}function a(t,e){var a;for(a=0;v>a;a+=1)u[a].animation.setSpeed(t,e)}function r(t,e){var a;for(a=0;v>a;a+=1)u[a].animation.setDirection(t,e)}function i(t){var e;for(e=0;v>e;e+=1)u[e].animation.play(t)}function s(t,e){g=!1,y=Date.now();var a;for(a=0;v>a;a+=1)u[a].animation.moveFrame(t,e)}function n(){var t,e=Date.now(),a=e-y;for(t=0;v>t;t+=1)u[t].animation.advanceTime(a);y=e,requestAnimationFrame(n)}function o(t){var e;for(e=0;v>e;e+=1)u[e].animation.pause(t)}function h(t,e,a){var r;for(r=0;v>r;r+=1)u[r].animation.goToAndStop(t,e,a)}function p(t){var e;for(e=0;v>e;e+=1)u[e].animation.stop(t)}function l(t){var e;for(e=0;v>e;e+=1)u[e].animation.togglePause(t)}function m(){var e=document.getElementsByClassName("bodymovin");Array.prototype.forEach.call(e,t)}function d(){var t;for(t=0;v>t;t+=1)u[t].animation.resize()}function c(){y=Date.now(),requestAnimationFrame(n)}var f={},u=[],y=0,g=!0,v=0;return setTimeout(c,0),f.registerAnimation=t,f.loadAnimation=e,f.setSpeed=a,f.setDirection=r,f.play=i,f.moveFrame=s,f.pause=o,f.stop=p,f.togglePause=l,f.searchAnimations=m,f.resize=d,f.start=c,f.goToAndStop=h,f}(),AnimationItem=function(){this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.pendingElements=0,this.playCount=0,this.prerenderFramesFlag=!0,this.repeat="indefinite",this.animationData={},this.layers=[],this.assets=[],this.isPaused=!0,this.isScrolling=!1,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=randomString(10),this.renderedFrameCount=0,this.scaleMode="fit",this.math=Math};AnimationItem.prototype.setParams=function(t){var e=this;t.context&&(this.context=t.context),t.wrapper&&(this.wrapper=t.wrapper);var a=t.animType?t.animType:"canvas";switch(a){case"canvas":this.renderer=new CanvasRenderer(this,t.renderer);break;case"svg":this.renderer=new SVGRenderer(this,t.renderer)}if(this.animType=a,""===t.loop||null===t.loop||(this.loop=t.loop===!1?!1:t.loop===!0?!0:parseInt(t.loop)),this.autoplay="autoplay"in t?t.autoplay:!0,this.name=t.name?t.name:"",this.prerenderFramesFlag="prerender"in t?t.prerender:!0,t.animationData)e.configAnimation(t.animationData);else if(t.path){"json"!=t.path.substr(-4)&&("/"!=t.path.substr(-1,1)&&(t.path+="/"),t.path+="data.json");var r=new XMLHttpRequest;this.path=t.path.substr(0,t.path.lastIndexOf("/")+1),r.open("GET",t.path,!0),r.send(),r.onreadystatechange=function(){if(4==r.readyState)if(200==r.status)e.configAnimation(JSON.parse(r.responseText));else try{var t=JSON.parse(r.responseText);e.configAnimation(t)}catch(a){}}}},AnimationItem.prototype.setData=function(t){var e={wrapper:t},a=t.attributes;e.path=a.getNamedItem("data-animation-path")?a.getNamedItem("data-animation-path").value:a.getNamedItem("data-bm-path")?a.getNamedItem("data-bm-path").value:a.getNamedItem("bm-path")?a.getNamedItem("bm-path").value:"",e.animType=a.getNamedItem("data-anim-type")?a.getNamedItem("data-anim-type").value:a.getNamedItem("data-bm-type")?a.getNamedItem("data-bm-type").value:a.getNamedItem("bm-type")?a.getNamedItem("bm-type").value:"canvas";var r=a.getNamedItem("data-anim-loop")?a.getNamedItem("data-anim-loop").value:a.getNamedItem("data-bm-loop")?a.getNamedItem("data-bm-loop").value:a.getNamedItem("bm-loop")?a.getNamedItem("bm-loop").value:"";""===r||(e.loop="false"===r?!1:"true"===r?!0:parseInt(r)),e.name=a.getNamedItem("data-name")?a.getNamedItem("data-name").value:a.getNamedItem("data-bm-name")?a.getNamedItem("data-bm-name").value:a.getNamedItem("bm-name")?a.getNamedItem("bm-name").value:"";var i=a.getNamedItem("data-anim-prerender")?a.getNamedItem("data-anim-prerender").value:a.getNamedItem("data-bm-prerender")?a.getNamedItem("data-bm-prerender").value:a.getNamedItem("bm-prerender")?a.getNamedItem("bm-prerender").value:"";"false"===i&&(e.prerender=!1),this.setParams(e)},AnimationItem.prototype.configAnimation=function(t){this.renderer.configAnimation(t),this.animationData=t,this.animationData._id=this.animationID,this.animationData._animType=this.animType,this.layers=this.animationData.animation.layers,this.assets=this.animationData.assets,this.totalFrames=this.animationData.animation.totalFrames,this.frameRate=this.animationData.animation.frameRate,this.firstFrame=Math.round(this.animationData.animation.ff*this.frameRate),this.frameMult=this.animationData.animation.frameRate/1e3,dataManager.completeData(this.animationData),this.renderer.buildItems(this.animationData.animation.layers),this.updaFrameModifier(),this.checkLoaded()},AnimationItem.prototype.elementLoaded=function(){this.pendingElements--,this.checkLoaded()},AnimationItem.prototype.checkLoaded=function(){this.renderer.buildStage(this.container,this.layers),0===this.pendingElements&&(this.prerenderFramesFlag?(this.prerenderFrames(0),dataManager.renderFrame(this.animationID,this.currentFrame+this.firstFrame),this.renderer.renderFrame(this.currentFrame+this.firstFrame)):(this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play()))},AnimationItem.prototype.prerenderFrames=function(t){t||(t=0),this.renderedFrameCount===Math.floor(this.totalFrames)?(this.isLoaded=!0,this.gotoFrame(),this.autoplay&&this.play()):(dataManager.renderFrame(this.animationID,this.renderedFrameCount+this.firstFrame),this.renderedFrameCount+=1,t>10?setTimeout(this.prerenderFrames.bind(this),0):(t+=1,this.prerenderFrames(t)))},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=subframeEnabled?this.math.round(100*this.currentRawFrame)/100:this.math.floor(this.currentRawFrame),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){this.isLoaded!==!1&&(dataManager.renderFrame(this.animationID,this.currentFrame+this.firstFrame),this.renderer.renderFrame(this.currentFrame+this.firstFrame))},AnimationItem.prototype.play=function(t){t&&this.name!=t||this.isPaused===!0&&(this.isPaused=!1)},AnimationItem.prototype.pause=function(t){t&&this.name!=t||this.isPaused===!1&&(this.isPaused=!0)},AnimationItem.prototype.togglePause=function(t){t&&this.name!=t||(this.isPaused===!0?(this.isPaused=!1,this.play()):(this.isPaused=!0,this.pause()))},AnimationItem.prototype.stop=function(t){t&&this.name!=t||(this.isPaused=!0,this.currentFrame=this.currentRawFrame=0,this.playCount=0,this.gotoFrame())},AnimationItem.prototype.goToAndStop=function(t,e,a){a&&this.name!=a||(this.setCurrentRawFrameValue(e?t:t*this.frameModifier),this.isPaused=!0)},AnimationItem.prototype.advanceTime=function(t){this.isPaused!==!0&&this.isScrolling!==!0&&this.isLoaded!==!1&&this.setCurrentRawFrameValue(this.currentRawFrame+t*this.frameModifier)},AnimationItem.prototype.updateAnimation=function(t){this.setCurrentRawFrameValue(this.totalFrames*t)},AnimationItem.prototype.moveFrame=function(t,e){e&&this.name!=e||this.setCurrentRawFrameValue(this.currentRawFrame+t)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){if(this.currentRawFrame=t,this.currentRawFrame>=this.totalFrames){if(this.loop===!1)return this.currentRawFrame=this.totalFrames-1,this.gotoFrame(),void this.pause();if(this.playCount+=1,this.loop!==!0&&this.playCount==this.loop)return this.currentRawFrame=this.totalFrames-1,this.gotoFrame(),void this.pause()}else if(this.currentRawFrame<0)return this.playCount-=1,this.playCount<0&&(this.playCount=0),this.loop===!1?(this.currentRawFrame=0,this.gotoFrame(),void this.pause()):(this.currentRawFrame=this.totalFrames+this.currentRawFrame,void this.gotoFrame());this.currentRawFrame=this.currentRawFrame%this.totalFrames,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=0>t?-1:1,this.updaFrameModifier()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssets=function(){return this.assets},function(t){function e(t){animationManager.play(t)}function a(t){animationManager.pause(t)}function r(t){animationManager.togglePause(t)}function i(t,e){animationManager.setSpeed(t,e)}function s(t,e){animationManager.setDirection(t,e)}function n(t){animationManager.stop(t)}function o(t){animationManager.moveFrame(t)}function h(){animationManager.searchAnimations()}function p(t){return animationManager.registerAnimation(t)}function l(){animationManager.resize()}function m(){animationManager.start()}function d(t,e,a){animationManager.goToAndStop(t,e,a)}function c(t){subframeEnabled=t}function f(t){return animationManager.loadAnimation(t)}function u(){"complete"===document.readyState&&(clearInterval(g),h())}var y={};y.play=e,y.pause=a,y.togglePause=r,y.setSpeed=i,y.setDirection=s,y.stop=n,y.moveFrame=o,y.searchAnimations=h,y.registerAnimation=p,y.loadAnimation=f,y.setSubframeRendering=c,y.resize=l,y.start=m,y.goToAndStop=d,y.checkReady=u,t.bodymovin=y;var g=setInterval(u,100)}(window);}(window));