Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 

7 rindas
79 KiB

  1. /*
  2. * Slim v3.1.1 - Image Cropping Made Easy
  3. * Copyright (c) 2016 Rik Schennink - http://slim.pqina.nl
  4. */
  5. window.Slim=function(){function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t){return v[t?t.toLowerCase():t]||"unknown"}function i(t,e){if(!(e>=1)){for(var i,n=G(t),o=t.width,r=t.height,a=Math.ceil(t.width*e),s=Math.ceil(t.height*e);o>a&&(o*=.5,r*=.5,!(o<a));)n=b("canvas"),n.width=o,n.height=r,i=n.getContext("2d"),i.drawImage(t,0,0,o,r);t.width=a,t.height=s,i=t.getContext("2d"),i.drawImage(n,0,0,a,s)}}!function(){function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),i}t.prototype=window.CustomEvent.prototype,window.CustomEvent=t}();var n=function(t,e,i){var o,r,a=document.createElement("img");if(a.onerror=e,a.onload=function(){!r||i&&i.noRevoke||n.revokeObjectURL(r),e&&e(n.scale(a,i))},n.isInstanceOf("Blob",t)||n.isInstanceOf("File",t))o=r=n.createObjectURL(t),a._type=t.type;else{if("string"!=typeof t)return!1;o=t,i&&i.crossOrigin&&(a.crossOrigin=i.crossOrigin)}return o?(a.src=o,a):n.readFile(t,function(t){var i=t.target;i&&i.result?a.src=i.result:e&&e(t)})},o=window.createObjectURL&&window||window.URL&&URL.revokeObjectURL&&URL||window.webkitURL&&webkitURL;n.isInstanceOf=function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"},n.transformCoordinates=function(){},n.getTransformedOptions=function(t,e){var i,n,o,r,a=e.aspectRatio;if(!a)return e;i={};for(n in e)e.hasOwnProperty(n)&&(i[n]=e[n]);return i.crop=!0,o=t.naturalWidth||t.width,r=t.naturalHeight||t.height,o/r>a?(i.maxWidth=r*a,i.maxHeight=r):(i.maxWidth=o,i.maxHeight=o/a),i},n.renderImageToCanvas=function(t,e,i,n,o,r,a,s,h,u){return t.getContext("2d").drawImage(e,i,n,o,r,a,s,h,u),t},n.hasCanvasOption=function(t){return t.canvas||t.crop||!!t.aspectRatio},n.scale=function(t,e){function i(){var t=Math.max((s||w)/w,(h||b)/b);t>1&&(w*=t,b*=t)}function o(){var t=Math.min((r||w)/w,(a||b)/b);t<1&&(w*=t,b*=t)}e=e||{};var r,a,s,h,u,l,c,p,d,f,m,_=document.createElement("canvas"),g=t.getContext||n.hasCanvasOption(e)&&_.getContext,v=t.naturalWidth||t.width,y=t.naturalHeight||t.height,w=v,b=y;if(g&&(e=n.getTransformedOptions(t,e),c=e.left||0,p=e.top||0,e.sourceWidth?(u=e.sourceWidth,void 0!==e.right&&void 0===e.left&&(c=v-u-e.right)):u=v-c-(e.right||0),e.sourceHeight?(l=e.sourceHeight,void 0!==e.bottom&&void 0===e.top&&(p=y-l-e.bottom)):l=y-p-(e.bottom||0),w=u,b=l),r=e.maxWidth,a=e.maxHeight,s=e.minWidth,h=e.minHeight,g&&r&&a&&e.crop?(w=r,b=a,m=u/l-r/a,m<0?(l=a*u/r,void 0===e.top&&void 0===e.bottom&&(p=(y-l)/2)):m>0&&(u=r*l/a,void 0===e.left&&void 0===e.right&&(c=(v-u)/2))):((e.contain||e.cover)&&(s=r=r||s,h=a=a||h),e.cover?(o(),i()):(i(),o())),g){if(d=e.pixelRatio,d>1&&(_.style.width=w+"px",_.style.height=b+"px",w*=d,b*=d,_.getContext("2d").scale(d,d)),f=e.downsamplingRatio,f>0&&f<1&&w<u&&b<l)for(;u*f>w;)_.width=u*f,_.height=l*f,n.renderImageToCanvas(_,t,c,p,u,l,0,0,_.width,_.height),u=_.width,l=_.height,t=document.createElement("canvas"),t.width=u,t.height=l,n.renderImageToCanvas(t,_,0,0,u,l,0,0,u,l);return _.width=w,_.height=b,n.transformCoordinates(_,e),n.renderImageToCanvas(_,t,c,p,u,l,0,0,w,b)}return t.width=w,t.height=b,t},n.createObjectURL=function(t){return!!o&&o.createObjectURL(t)},n.revokeObjectURL=function(t){return!!o&&o.revokeObjectURL(t)},n.readFile=function(t,e,i){if(window.FileReader){var n=new FileReader;if(n.onload=n.onerror=e,i=i||"readAsDataURL",n[i])return n[i](t),n}return!1};var r=n.hasCanvasOption,a=n.transformCoordinates,s=n.getTransformedOptions;n.hasCanvasOption=function(t){return!!t.orientation||r.call(n,t)},n.transformCoordinates=function(t,e){a.call(n,t,e);var i=t.getContext("2d"),o=t.width,r=t.height,s=t.style.width,h=t.style.height,u=e.orientation;if(u&&!(u>8))switch(u>4&&(t.width=r,t.height=o,t.style.width=h,t.style.height=s),u){case 2:i.translate(o,0),i.scale(-1,1);break;case 3:i.translate(o,r),i.rotate(Math.PI);break;case 4:i.translate(0,r),i.scale(1,-1);break;case 5:i.rotate(.5*Math.PI),i.scale(1,-1);break;case 6:i.rotate(.5*Math.PI),i.translate(0,-r);break;case 7:i.rotate(.5*Math.PI),i.translate(o,-r),i.scale(-1,1);break;case 8:i.rotate(-.5*Math.PI),i.translate(-o,0)}},n.getTransformedOptions=function(t,e){var i,o,r=s.call(n,t,e),a=r.orientation;if(!a||a>8||1===a)return r;i={};for(o in r)r.hasOwnProperty(o)&&(i[o]=r[o]);switch(r.orientation){case 2:i.left=r.right,i.right=r.left;break;case 3:i.left=r.right,i.top=r.bottom,i.right=r.left,i.bottom=r.top;break;case 4:i.top=r.bottom,i.bottom=r.top;break;case 5:i.left=r.top,i.top=r.left,i.right=r.bottom,i.bottom=r.right;break;case 6:i.left=r.top,i.top=r.right,i.right=r.bottom,i.bottom=r.left;break;case 7:i.left=r.bottom,i.top=r.right,i.right=r.top,i.bottom=r.left;break;case 8:i.left=r.bottom,i.top=r.left,i.right=r.top,i.bottom=r.right}return r.orientation>4&&(i.maxWidth=r.maxHeight,i.maxHeight=r.maxWidth,i.minWidth=r.minHeight,i.minHeight=r.minWidth,i.sourceWidth=r.sourceHeight,i.sourceHeight=r.sourceWidth),i};var h=window.Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice);n.blobSlice=h&&function(){var t=this.slice||this.webkitSlice||this.mozSlice;return t.apply(this,arguments)},n.metaDataParsers={jpeg:{65505:[]}},n.parseMetaData=function(t,e,i){i=i||{};var o=this,r=i.maxMetaDataSize||262144,a={},s=!(window.DataView&&t&&t.size>=12&&"image/jpeg"===t.type&&n.blobSlice);!s&&n.readFile(n.blobSlice.call(t,0,r),function(t){if(t.target.error)return void e(a);var r,s,h,u,l=t.target.result,c=new DataView(l),p=2,d=c.byteLength-4,f=p;if(65496===c.getUint16(0)){for(;p<d&&(r=c.getUint16(p),r>=65504&&r<=65519||65534===r)&&(s=c.getUint16(p+2)+2,!(p+s>c.byteLength));){if(h=n.metaDataParsers.jpeg[r])for(u=0;u<h.length;u+=1)h[u].call(o,c,p,s,a,i);p+=s,f=p}!i.disableImageHead&&f>6&&(l.slice?a.imageHead=l.slice(0,f):a.imageHead=new Uint8Array(l).subarray(0,f))}e(a)},"readAsArrayBuffer")||e(a)},n.ExifMap=function(){return this},n.ExifMap.prototype.map={Orientation:274},n.ExifMap.prototype.get=function(t){return this[t]||this[this.map[t]]},n.getExifThumbnail=function(t,e,i){var n,o,r;if(i&&!(e+i>t.byteLength)){for(n=[],o=0;o<i;o+=1)r=t.getUint8(e+o),n.push((r<16?"0":"")+r.toString(16));return"data:image/jpeg,%"+n.join("%")}},n.exifTagTypes={1:{getValue:function(t,e){return t.getUint8(e)},size:1},2:{getValue:function(t,e){return String.fromCharCode(t.getUint8(e))},size:1,ascii:!0},3:{getValue:function(t,e,i){return t.getUint16(e,i)},size:2},4:{getValue:function(t,e,i){return t.getUint32(e,i)},size:4},5:{getValue:function(t,e,i){return t.getUint32(e,i)/t.getUint32(e+4,i)},size:8},9:{getValue:function(t,e,i){return t.getInt32(e,i)},size:4},10:{getValue:function(t,e,i){return t.getInt32(e,i)/t.getInt32(e+4,i)},size:8}},n.exifTagTypes[7]=n.exifTagTypes[1],n.getExifValue=function(t,e,i,o,r,a){var s,h,u,l,c,p,d=n.exifTagTypes[o];if(d&&(s=d.size*r,h=s>4?e+t.getUint32(i+8,a):i+8,!(h+s>t.byteLength))){if(1===r)return d.getValue(t,h,a);for(u=[],l=0;l<r;l+=1)u[l]=d.getValue(t,h+l*d.size,a);if(d.ascii){for(c="",l=0;l<u.length&&(p=u[l],"\0"!==p);l+=1)c+=p;return c}return u}},n.parseExifTag=function(t,e,i,o,r){var a=t.getUint16(i,o);r.exif[a]=n.getExifValue(t,e,i,t.getUint16(i+2,o),t.getUint32(i+4,o),o)},n.parseExifTags=function(t,e,i,n,o){var r,a,s;if(!(i+6>t.byteLength||(r=t.getUint16(i,n),a=i+2+12*r,a+4>t.byteLength))){for(s=0;s<r;s+=1)this.parseExifTag(t,e,i+2+12*s,n,o);return t.getUint32(a,n)}},n.parseExifData=function(t,e,i,o,r){if(!r.disableExif){var a,s,h,u=e+10;if(1165519206===t.getUint32(e+4)&&!(u+8>t.byteLength)&&0===t.getUint16(e+8)){switch(t.getUint16(u)){case 18761:a=!0;break;case 19789:a=!1;break;default:return}42===t.getUint16(u+2,a)&&(s=t.getUint32(u+4,a),o.exif=new n.ExifMap,s=n.parseExifTags(t,u,u+s,a,o),s&&!r.disableExifThumbnail&&(h={exif:{}},s=n.parseExifTags(t,u,u+s,a,h),h.exif[513]&&(o.exif.Thumbnail=n.getExifThumbnail(t,u+h.exif[513],h.exif[514]))),o.exif[34665]&&!r.disableExifSub&&n.parseExifTags(t,u,u+o.exif[34665],a,o),o.exif[34853]&&!r.disableExifGps&&n.parseExifTags(t,u,u+o.exif[34853],a,o))}}},n.metaDataParsers.jpeg[65505].push(n.parseExifData);var u=function(){var t=[],e=[],i=[],n="transform",o=window.getComputedStyle(document.documentElement,""),r=(Array.prototype.slice.call(o).join("").match(/-(moz|webkit|ms)-/)||""===o.OLink&&["","o"])[1];"webkit"===r&&(n="webkitTransform");var a=function(t,e,i){var n=t;if(void 0!==n.length){for(var o={chainers:[],then:function(t){return this.snabbt(t)},snabbt:function(t){var e=this.chainers.length;return this.chainers.forEach(function(i,n){i.snabbt(s(t,n,e))}),o},setValue:function(t){return this.chainers.forEach(function(e){e.setValue(t)}),o},finish:function(){return this.chainers.forEach(function(t){t.finish()}),o},rollback:function(){return this.chainers.forEach(function(t){t.rollback()}),o}},r=0,a=n.length;r<a;++r)"string"==typeof e?o.chainers.push(h(n[r],e,s(i,r,a))):o.chainers.push(h(n[r],s(e,r,a),i));return o}return"string"==typeof e?h(n,e,s(i,0,1)):h(n,s(e,0,1),i)},s=function(t,e,i){if(!t)return t;var n=G(t);V(t.delay)&&(n.delay=t.delay(e,i)),V(t.callback)&&(n.complete=function(){t.callback.call(this,e,i)});var o=V(t.allDone),r=V(t.complete);(r||o)&&(n.complete=function(){r&&t.complete.call(this,e,i),o&&e==i-1&&t.allDone()}),V(t.valueFeeder)&&(n.valueFeeder=function(n,o){return t.valueFeeder(n,o,e,i)}),V(t.easing)&&(n.easing=function(n){return t.easing(n,e,i)});var a=["position","rotation","skew","rotationPost","scale","width","height","opacity","fromPosition","fromRotation","fromSkew","fromRotationPost","fromScale","fromWidth","fromHeight","fromOpacity","transformOrigin","duration","delay"];return a.forEach(function(o){V(t[o])&&(n[o]=t[o](e,i))}),n},h=function(t,i,n){function o(i){if(g.tick(i),g.updateElement(t),!g.isStopped())return g.completed()?void(r.loop>1&&!g.isStopped()?(r.loop-=1,g.restart(),v(o)):(r.complete&&r.complete.call(t),y.length&&(r=y.pop(),h=m(r,c,!0),c=m(r,G(c)),r=_(h,c,r),g=w(r),e.push([t,g]),g.tick(i),v(o)))):v(o)}if("attention"===i)return u(t,n);if("stop"===i)return l(t);var r=i;p();var a=f(t),h=a;h=m(r,h,!0);var c=G(a);c=m(r,c);var d=_(h,c,r),g=w(d);e.push([t,g]),g.updateElement(t,!0);var y=[],b={snabbt:function(t){return y.unshift(s(t,0,1)),b},then:function(t){return this.snabbt(t)}};return v(o),r.manual?g:b},u=function(t,i){function n(e){r.tick(e),r.updateElement(t),r.completed()?(i.callback&&i.callback(t),i.loop&&i.loop>1&&(i.loop--,r.restart(),v(n))):v(n)}var o=m(i,N({}));i.movement=o;var r=b(i);e.push([t,r]),v(n)},l=function(t){for(var i=0,n=e.length;i<n;++i){var o=e[i],r=o[0],a=o[1];r===t&&a.stop()}},c=function(t,e){for(var i=0,n=t.length;i<n;++i){var o=t[i],r=o[0],a=o[1];if(r===e){var s=a.getCurrentState();return a.stop(),s}}},p=function(){i=i.filter(function(t){return d(t[0]).body})},d=function(t){for(var e=t;e.parentNode;)e=e.parentNode;return e},f=function(t){var n=c(e,t);return n?n:c(i,t)},m=function(t,e,i){e||(e=N({position:[0,0,0],rotation:[0,0,0],rotationPost:[0,0,0],scale:[1,1],skew:[0,0]}));var n="position",o="rotation",r="skew",a="rotationPost",s="scale",h="scalePost",u="width",l="height",c="opacity";return i&&(n="fromPosition",o="fromRotation",r="fromSkew",a="fromRotationPost",s="fromScale",h="fromScalePost",u="fromWidth",l="fromHeight",c="fromOpacity"),e.position=B(t[n],e.position),e.rotation=B(t[o],e.rotation),e.rotationPost=B(t[a],e.rotationPost),e.skew=B(t[r],e.skew),e.scale=B(t[s],e.scale),e.scalePost=B(t[h],e.scalePost),e.opacity=t[c],e.width=t[u],e.height=t[l],e},_=function(t,e,i){return i.startState=t,i.endState=e,i},g=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return setTimeout(t,1e3/60)},v=function(e){0===t.length&&g(y),t.push(e)},y=function(n){for(var o=t.length,r=0;r<o;++r)t[r](n);t.splice(0,o);var a=e.filter(function(t){return t[1].completed()});i=i.filter(function(t){for(var e=0,i=a.length;e<i;++e)if(t[0]===a[e][0])return!1;return!0}),i=i.concat(a),e=e.filter(function(t){return!t[1].completed()}),0!==t.length&&g(y)},w=function(t){var e=t.startState,i=t.endState,n=B(t.duration,500),o=B(t.delay,0),r=t.perspective,a=I(B(t.easing,"linear"),t),s=0===n?i.clone():e.clone();t.transformOrigin;s.transformOrigin=t.transformOrigin;var h,u,l=0,c=0,p=!1,d=!1,f=t.manual,m=0,_=o/n;return u=t.valueFeeder?W(t.valueFeeder,e,i,s):H(e,i,s),{stop:function(){p=!0},isStopped:function(){return p},finish:function(t){f=!1;var e=n*m;l=c-e,h=t,a.resetFrom=m},rollback:function(t){f=!1,u.setReverse();var e=n*(1-m);l=c-e,h=t,a.resetFrom=m},restart:function(){l=void 0,a.resetFrom(0)},tick:function(t){if(!p){if(f)return c=t,void this.updateCurrentTransform();if(l||(l=t),t-l>o){d=!0,c=t-o;var e=Math.min(Math.max(0,c-l),n);a.tick(e/n),this.updateCurrentTransform(),this.completed()&&h&&h()}}},getCurrentState:function(){return s},setValue:function(t){d=!0,m=Math.min(Math.max(t,1e-4),1+_)},updateCurrentTransform:function(){var t=a.getValue();if(f){var e=Math.max(1e-5,m-_);a.tick(e),t=a.getValue()}u.tween(t)},completed:function(){return!!p||0!==l&&a.completed()},updateElement:function(t,e){if(d||e){var i=u.asMatrix(),n=u.getProperties();j(t,i,r),q(t,n)}}}},b=function(t){var e=t.movement;t.initialVelocity=.1,t.equilibriumPosition=0;var i=S(t),n=!1,o=e.position,r=e.rotation,a=e.rotationPost,s=e.scale,h=e.skew,u=N({position:o?[0,0,0]:void 0,rotation:r?[0,0,0]:void 0,rotationPost:a?[0,0,0]:void 0,scale:s?[0,0]:void 0,skew:h?[0,0]:void 0});return{stop:function(){n=!0},isStopped:function(t){return n},tick:function(t){n||i.equilibrium||(i.tick(),this.updateMovement())},updateMovement:function(){var t=i.getValue();o&&(u.position[0]=e.position[0]*t,u.position[1]=e.position[1]*t,u.position[2]=e.position[2]*t),r&&(u.rotation[0]=e.rotation[0]*t,u.rotation[1]=e.rotation[1]*t,u.rotation[2]=e.rotation[2]*t),a&&(u.rotationPost[0]=e.rotationPost[0]*t,u.rotationPost[1]=e.rotationPost[1]*t,u.rotationPost[2]=e.rotationPost[2]*t),s&&(u.scale[0]=1+e.scale[0]*t,u.scale[1]=1+e.scale[1]*t),h&&(u.skew[0]=e.skew[0]*t,u.skew[1]=e.skew[1]*t)},updateElement:function(t){j(t,u.asMatrix()),q(t,u.getProperties())},getCurrentState:function(){return u},completed:function(){return i.equilibrium||n},restart:function(){i=S(t)}}},k=function(t){return t},x=function(t){return(Math.cos(t*Math.PI+Math.PI)+1)/2},E=function(t){return t*t},C=function(t){return-Math.pow(t-1,2)+1},S=function(t){var e=B(t.startPosition,0),i=B(t.equilibriumPosition,1),n=B(t.initialVelocity,0),o=B(t.springConstant,.8),r=B(t.springDeceleration,.9),a=B(t.springMass,10),s=!1;return{tick:function(t){if(0!==t&&!s){var h=-(e-i)*o,u=h/a;n+=u,e+=n,n*=r,Math.abs(e-i)<.001&&Math.abs(n)<.001&&(s=!0)}},resetFrom:function(t){e=t,n=0},getValue:function(){return s?i:e},completed:function(){return s}}},P={linear:k,ease:x,easeIn:E,easeOut:C},I=function(t,e){if("spring"==t)return S(e);var i=t;V(t)||(i=P[t]);var n,o=i,r=0;return{tick:function(t){r=o(t),n=t},resetFrom:function(t){n=0},getValue:function(){return r},completed:function(){return n>=1&&n}}},O=function(t,e,i,n){t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e,t[13]=i,t[14]=n,t[15]=1},T=function(t,e){t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=Math.cos(e),t[6]=-Math.sin(e),t[7]=0,t[8]=0,t[9]=Math.sin(e),t[10]=Math.cos(e),t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1},M=function(t,e){t[0]=Math.cos(e),t[1]=0,t[2]=Math.sin(e),t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=-Math.sin(e),t[9]=0,t[10]=Math.cos(e),t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1},L=function(t,e){t[0]=Math.cos(e),t[1]=-Math.sin(e),t[2]=0,t[3]=0,t[4]=Math.sin(e),t[5]=Math.cos(e),t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1},R=function(t,e,i){t[0]=1,t[1]=Math.tan(e),t[2]=0,t[3]=0,t[4]=Math.tan(i),t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1},D=function(t,e,i){t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1},A=function(t){t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1},z=function(t,e){e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]},F=function(){var t=new Float32Array(16),e=new Float32Array(16),i=new Float32Array(16);return A(t),{data:t,asCSS:function(){for(var e="matrix3d(",i=0;i<15;++i)e+=Math.abs(t[i])<1e-4?"0,":t[i].toFixed(10)+",";return e+=Math.abs(t[15])<1e-4?"0)":t[15].toFixed(10)+")"},clear:function(){A(t)},translate:function(n,o,r){return z(t,e),O(i,n,o,r),U(e,i,t),this},rotateX:function(n){return z(t,e),T(i,n),U(e,i,t),this},rotateY:function(n){return z(t,e),M(i,n),U(e,i,t),this},rotateZ:function(n){return z(t,e),L(i,n),U(e,i,t),this},scale:function(n,o){return z(t,e),D(i,n,o),U(e,i,t),this},skew:function(n,o){return z(t,e),R(i,n,o),U(e,i,t),this}}},U=function(t,e,i){return i[0]=t[0]*e[0]+t[1]*e[4]+t[2]*e[8]+t[3]*e[12],i[1]=t[0]*e[1]+t[1]*e[5]+t[2]*e[9]+t[3]*e[13],i[2]=t[0]*e[2]+t[1]*e[6]+t[2]*e[10]+t[3]*e[14],i[3]=t[0]*e[3]+t[1]*e[7]+t[2]*e[11]+t[3]*e[15],i[4]=t[4]*e[0]+t[5]*e[4]+t[6]*e[8]+t[7]*e[12],i[5]=t[4]*e[1]+t[5]*e[5]+t[6]*e[9]+t[7]*e[13],i[6]=t[4]*e[2]+t[5]*e[6]+t[6]*e[10]+t[7]*e[14],i[7]=t[4]*e[3]+t[5]*e[7]+t[6]*e[11]+t[7]*e[15],i[8]=t[8]*e[0]+t[9]*e[4]+t[10]*e[8]+t[11]*e[12],i[9]=t[8]*e[1]+t[9]*e[5]+t[10]*e[9]+t[11]*e[13],i[10]=t[8]*e[2]+t[9]*e[6]+t[10]*e[10]+t[11]*e[14],i[11]=t[8]*e[3]+t[9]*e[7]+t[10]*e[11]+t[11]*e[15],i[12]=t[12]*e[0]+t[13]*e[4]+t[14]*e[8]+t[15]*e[12],i[13]=t[12]*e[1]+t[13]*e[5]+t[14]*e[9]+t[15]*e[13],i[14]=t[12]*e[2]+t[13]*e[6]+t[14]*e[10]+t[15]*e[14],i[15]=t[12]*e[3]+t[13]*e[7]+t[14]*e[11]+t[15]*e[15],i},N=function(t){var e=F(),i={opacity:void 0,width:void 0,height:void 0};return{position:t.position,rotation:t.rotation,rotationPost:t.rotationPost,skew:t.skew,scale:t.scale,scalePost:t.scalePost,opacity:t.opacity,width:t.width,height:t.height,clone:function(){return N({position:this.position?this.position.slice(0):void 0,rotation:this.rotation?this.rotation.slice(0):void 0,rotationPost:this.rotationPost?this.rotationPost.slice(0):void 0,skew:this.skew?this.skew.slice(0):void 0,scale:this.scale?this.scale.slice(0):void 0,scalePost:this.scalePost?this.scalePost.slice(0):void 0,height:this.height,width:this.width,opacity:this.opacity})},asMatrix:function(){var t=e;return t.clear(),this.transformOrigin&&t.translate(-this.transformOrigin[0],-this.transformOrigin[1],-this.transformOrigin[2]),this.scale&&t.scale(this.scale[0],this.scale[1]),this.skew&&t.skew(this.skew[0],this.skew[1]),this.rotation&&(t.rotateX(this.rotation[0]),t.rotateY(this.rotation[1]),t.rotateZ(this.rotation[2])),this.position&&t.translate(this.position[0],this.position[1],this.position[2]),this.rotationPost&&(t.rotateX(this.rotationPost[0]),t.rotateY(this.rotationPost[1]),t.rotateZ(this.rotationPost[2])),this.scalePost&&t.scale(this.scalePost[0],this.scalePost[1]),this.transformOrigin&&t.translate(this.transformOrigin[0],this.transformOrigin[1],this.transformOrigin[2]),t},getProperties:function(){return i.opacity=this.opacity,i.width=this.width+"px",i.height=this.height+"px",i}}},H=function(t,e,i){var n=t,o=e,r=i,a=void 0!==o.position,s=void 0!==o.rotation,h=void 0!==o.rotationPost,u=void 0!==o.scale,l=void 0!==o.skew,c=void 0!==o.width,p=void 0!==o.height,d=void 0!==o.opacity;return{tween:function(t){if(a){var e=o.position[0]-n.position[0],i=o.position[1]-n.position[1],f=o.position[2]-n.position[2];r.position[0]=n.position[0]+t*e,r.position[1]=n.position[1]+t*i,r.position[2]=n.position[2]+t*f}if(s){var m=o.rotation[0]-n.rotation[0],_=o.rotation[1]-n.rotation[1],g=o.rotation[2]-n.rotation[2];r.rotation[0]=n.rotation[0]+t*m,r.rotation[1]=n.rotation[1]+t*_,r.rotation[2]=n.rotation[2]+t*g}if(h){var v=o.rotationPost[0]-n.rotationPost[0],y=o.rotationPost[1]-n.rotationPost[1],w=o.rotationPost[2]-n.rotationPost[2];r.rotationPost[0]=n.rotationPost[0]+t*v,r.rotationPost[1]=n.rotationPost[1]+t*y,r.rotationPost[2]=n.rotationPost[2]+t*w}if(l){var b=o.scale[0]-n.scale[0],k=o.scale[1]-n.scale[1];r.scale[0]=n.scale[0]+t*b,r.scale[1]=n.scale[1]+t*k}if(u){var x=o.skew[0]-n.skew[0],E=o.skew[1]-n.skew[1];r.skew[0]=n.skew[0]+t*x,r.skew[1]=n.skew[1]+t*E}if(c){var C=o.width-n.width;r.width=n.width+t*C}if(p){var S=o.height-n.height;r.height=n.height+t*S}if(d){var P=o.opacity-n.opacity;r.opacity=n.opacity+t*P}},asMatrix:function(){return r.asMatrix()},getProperties:function(){return r.getProperties()},setReverse:function(){var t=n;n=o,o=t}}},W=function(t,e,i,n){var o=t(0,F()),r=e,a=i,s=n,h=!1;return{tween:function(e){h&&(e=1-e),o.clear(),o=t(e,o);var i=a.width-r.width,n=a.height-r.height,u=a.opacity-r.opacity;void 0!==a.width&&(s.width=r.width+e*i),void 0!==a.height&&(s.height=r.height+e*n),void 0!==a.opacity&&(s.opacity=r.opacity+e*u)},asMatrix:function(){return o},getProperties:function(){return s.getProperties()},setReverse:function(){h=!0}}},B=function(t,e){return"undefined"==typeof t?e:t},j=function(t,e,i){var o="";i&&(o="perspective("+i+"px) ");var r=e.asCSS();t.style[n]=o+r},q=function(t,e){for(var i in e)t.style[i]=e[i]},V=function(t){return"function"==typeof t},G=function(t){if(!t)return t;var e={};for(var i in t)e[i]=t[i];return e};return a.createMatrix=F,a.setElementTransform=j,a}(),l=function(){function t(t,e,i,n,o){if("string"==typeof t)t=document.getElementById(t);else if(!t instanceof HTMLCanvasElement)return;var r,a=t.getContext("2d");try{try{r=a.getImageData(e,i,n,o)}catch(s){throw new Error("unable to access local image data: "+s)}}catch(s){throw new Error("unable to access image data: "+s)}return r}function e(e,n,o,r,a,s){if(!(isNaN(s)||s<1)){s|=0;var h=t(e,n,o,r,a);h=i(h,n,o,r,a,s),e.getContext("2d").putImageData(h,n,o)}}function i(t,e,i,a,s,h){var u,l,c,p,d,f,m,_,g,v,y,w,b,k,x,E,C,S,P,I,O,T,M,L,R=t.data,D=h+h+1,A=a-1,z=s-1,F=h+1,U=F*(F+1)/2,N=new n,H=N;for(c=1;c<D;c++)if(H=H.next=new n,c==F)var W=H;H.next=N;var B=null,j=null;m=f=0;var q=o[h],V=r[h];for(l=0;l<s;l++){for(E=C=S=P=_=g=v=y=0,w=F*(I=R[f]),b=F*(O=R[f+1]),k=F*(T=R[f+2]),x=F*(M=R[f+3]),_+=U*I,g+=U*O,v+=U*T,y+=U*M,H=N,c=0;c<F;c++)H.r=I,H.g=O,H.b=T,H.a=M,H=H.next;for(c=1;c<F;c++)p=f+((A<c?A:c)<<2),_+=(H.r=I=R[p])*(L=F-c),g+=(H.g=O=R[p+1])*L,v+=(H.b=T=R[p+2])*L,y+=(H.a=M=R[p+3])*L,E+=I,C+=O,S+=T,P+=M,H=H.next;for(B=N,j=W,u=0;u<a;u++)R[f+3]=M=y*q>>V,0!=M?(M=255/M,R[f]=(_*q>>V)*M,R[f+1]=(g*q>>V)*M,R[f+2]=(v*q>>V)*M):R[f]=R[f+1]=R[f+2]=0,_-=w,g-=b,v-=k,y-=x,w-=B.r,b-=B.g,k-=B.b,x-=B.a,p=m+((p=u+h+1)<A?p:A)<<2,E+=B.r=R[p],C+=B.g=R[p+1],S+=B.b=R[p+2],P+=B.a=R[p+3],_+=E,g+=C,v+=S,y+=P,B=B.next,w+=I=j.r,b+=O=j.g,k+=T=j.b,x+=M=j.a,E-=I,C-=O,S-=T,P-=M,j=j.next,f+=4;m+=a}for(u=0;u<a;u++){for(C=S=P=E=g=v=y=_=0,f=u<<2,w=F*(I=R[f]),b=F*(O=R[f+1]),k=F*(T=R[f+2]),x=F*(M=R[f+3]),_+=U*I,g+=U*O,v+=U*T,y+=U*M,H=N,c=0;c<F;c++)H.r=I,H.g=O,H.b=T,H.a=M,H=H.next;for(d=a,c=1;c<=h;c++)f=d+u<<2,_+=(H.r=I=R[f])*(L=F-c),g+=(H.g=O=R[f+1])*L,v+=(H.b=T=R[f+2])*L,y+=(H.a=M=R[f+3])*L,E+=I,C+=O,S+=T,P+=M,H=H.next,c<z&&(d+=a);for(f=u,B=N,j=W,l=0;l<s;l++)p=f<<2,R[p+3]=M=y*q>>V,M>0?(M=255/M,R[p]=(_*q>>V)*M,R[p+1]=(g*q>>V)*M,R[p+2]=(v*q>>V)*M):R[p]=R[p+1]=R[p+2]=0,_-=w,g-=b,v-=k,y-=x,w-=B.r,b-=B.g,k-=B.b,x-=B.a,p=u+((p=l+F)<z?p:z)*a<<2,_+=E+=B.r=R[p],g+=C+=B.g=R[p+1],v+=S+=B.b=R[p+2],y+=P+=B.a=R[p+3],B=B.next,w+=I=j.r,b+=O=j.g,k+=T=j.b,x+=M=j.a,E-=I,C-=O,S-=T,P-=M,j=j.next,f+=a}return t}function n(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var o=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],r=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];return e}();HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(t,e,i){for(var n=atob(this.toDataURL(e,i).split(",")[1]),o=n.length,r=new Uint8Array(o),a=0;a<o;a++)r[a]=n.charCodeAt(a);t(new Blob([r],{type:e||"image/png"}))}});var c=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},d=function(t){return Array.prototype.slice.call(t.attributes).map(function(t){return{name:t.name,value:t.value}})},f=function(t){return{x:"undefined"==typeof t.offsetX?t.layerX:t.offsetX,y:"undefined"==typeof t.offsetY?t.layerY:t.offsetY}},m=function(t,e){var i,n={},o=e||{};for(i in t)t.hasOwnProperty(i)&&(n[i]="undefined"==typeof o[i]?t[i]:o[i]);return n},_={ESC:27,RETURN:13},g={DOWN:["touchstart","pointerdown","mousedown"],MOVE:["touchmove","pointermove","mousemove"],UP:["touchend","touchcancel","pointerup","mouseup"]},v={jpeg:"image/jpeg",jpg:"image/jpeg",jpe:"image/jpeg",png:"image/png",gif:"image/gif",bmp:"image/bmp"},y=/(\.png|\.bmp|\.gif|\.jpg|\.jpe|\.jpg|\.jpeg)$/,w=/(jpe|jpg|jpeg|png)/,b=function(t,e){var i=document.createElement(t);return e&&(i.className=e),i},k=function(t,e,i){e.forEach(function(e){t.addEventListener(e,i,!1)})},x=function(t,e,i){e.forEach(function(e){t.removeEventListener(e,i,!1)})},E=function(t){var e=t.changedTouches?t.changedTouches[0]:t;if(e)return{x:e.pageX,y:e.pageY}},C=function(t,e){var i=E(t),n=e.getBoundingClientRect(),o=window.pageYOffset||document.documentElement.scrollTop,r=window.pageXOffset||document.documentElement.scrollLeft;return{x:i.x-n.left-r,y:i.y-n.top-o}},S=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},P=function(t){return t[t.length-1]},I=function(t,e,i){return Math.max(e,Math.min(i,t))},O=function(t,e){return e.indexOf(t)!==-1},T=function(t,e,i,n,o,r){var a=new XMLHttpRequest;n&&a.upload.addEventListener("progress",function(t){n(t.loaded,t.total)}),a.open("POST",t,!0),i&&i(a),a.onreadystatechange=function(){if(4===a.readyState&&200===a.status){var t=a.responseText;if(!t.length)return void o();if(t.indexOf("Content-Length")!==-1)return void r("file-too-big");var e=void 0;try{e=JSON.parse(a.responseText)}catch(i){}if("object"===("undefined"==typeof e?"undefined":p(e))&&"failure"===e.status)return void r(e.message);o(e||t)}else 4===a.readyState&&r("fail")},a.send(e)},M=function(t){t.style.webkitTransform="",t.style.transform=""},L=function(t){return t/1e6},R=function(){var t=[],e=void 0,i=void 0;for(e in v)v.hasOwnProperty(e)&&(i=v[e],t.indexOf(i)==-1&&t.push(i));return t},D=function(t){return"image/jpeg"===t},A=function(t){var e=void 0;for(e in v)if(v.hasOwnProperty(e)&&v[e]===t)return e;return t},z=function(t){return t.split("/").pop().split("?").shift()},F=function(t){if("string"!=typeof t)return"unknown";var e=z(t);return e.split(".").shift()},U=function(t){var e=at(t),i=A(e),n="unknown."+i;return{name:n,type:e,size:Math.floor(.73*t.length)}},N=function(t){var i=z(t),n=e(i.split(".").pop());return{name:i,type:n,size:null}},H=function(t){return{name:t.name,type:t.type,size:t.size}},W=function(t){return"string"==typeof t?/^data:image/.test(t)?U(t):N(t):H(t)},B=function(t){var e=arguments.length<=1||void 0===arguments[1]?"":arguments[1],i=nt(t);return e=e.replace(/\./,""),w.test(e)||(e="png"),y.test(i.name)?i.name=i.name.replace(/\.[a-z]+$/,"."+e):i.name+="."+e,i.type=v[e],i},j=function(t,e){var i="string"!=typeof t||0!==t.indexOf("data:image");n.parseMetaData(t,function(o){var r={canvas:!0,crossOrigin:i};o.exif&&(r.orientation=o.exif.get("Orientation")),n(t,function(t){return"error"===t.type?void e():void e(t,o)},r)})},q=function(t,e,i){var n,o,r,a,s=e/t;return s<i?(a=e,r=a/i,n=.5*(t-r),o=0):(r=t,a=r*i,n=0,o=.5*(e-a)),{x:n,y:o,height:a,width:r}},V=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=arguments[2],o=b("canvas"),r=e.rotation,a=e.crop,s=e.size;if(a){var h=r%180!==0,u={width:h?t.height:t.width,height:h?t.width:t.height},l=a.x/u.width,c=a.y/u.height,p=a.width/u.width,d=a.height/u.height;a=et(a),a.y+a.height>u.height&&(a.y=Math.max(0,u.height-a.height)),a.x+a.width>u.width&&(a.x=Math.max(0,u.width-a.width)),o.width=a.width,o.height=a.height;var f=o.getContext("2d");90===r?(f.translate(.5*o.width,.5*o.height),f.rotate(-90*Math.PI/180),f.drawImage(t,(1-c)*t.width-t.width*d,a.x,a.height,a.width,.5*-o.height,.5*-o.width,o.height,o.width)):180===r?(f.translate(.5*o.width,.5*o.height),f.rotate(-180*Math.PI/180),f.drawImage(t,(1-(l+p))*u.width,(1-(c+d))*u.height,p*u.width,d*u.height,.5*-o.width,.5*-o.height,o.width,o.height)):270===r?(f.translate(.5*o.width,.5*o.height),f.rotate(-270*Math.PI/180),f.drawImage(t,a.y,(1-l)*t.height-t.height*p,a.height,a.width,.5*-o.height,.5*-o.width,o.height,o.width)):f.drawImage(t,a.x,a.y,a.width,a.height,0,0,o.width,o.height)}s&&i(o,Math.min(s.width/o.width,s.height/o.height)),n(o)},G=function(t){return X(t,1)},X=function(t,e){if(!t)return null;var n=document.createElement("canvas");n.setAttribute("data-file",t.getAttribute("data-file"));var o=n.getContext("2d");return n.width=t.width,n.height=t.height,o.drawImage(t,0,0),e>0&&1!=e&&i(n,e),n},Y=function(t){return t.width&&t.height},$=function(t,e){var i=e.getContext("2d");Y(e)?i.drawImage(t,0,0,e.width,e.height):(e.width=t.width,e.height=t.height,i.drawImage(t,0,0))},J=function(t){l(t,0,0,t.width,t.height,3)},Z=function(t,e,i){t.toBlob(function(t){if("msSaveBlob"in window.navigator)return void window.navigator.msSaveBlob(t,e);var i=URL.createObjectURL(t),n=b("a");n.style.display="none",n.download=e,n.href=i,document.body.appendChild(n),n.click(),setTimeout(function(){document.body.removeChild(n),URL.revokeObjectURL(i)},0)},i)},K=function(t,e){return parseInt(t.width,10)>=e.width&&parseInt(t.height,10)>=e.height},Q=function(t,e,i){return{x:t.x*e,y:t.y*i,width:t.width*e,height:t.height*i}},tt=function(t,e,i){return{x:t.x/e,y:t.y/i,width:t.width/e,height:t.height/i}},et=function(t){return{x:Math.floor(t.x),y:Math.floor(t.y),width:Math.floor(t.width),height:Math.floor(t.height)}},it=function(t){if(t&&""!==t.value){try{t.value=""}catch(e){}if(t.value){var i=document.createElement("form"),n=t.parentNode,o=t.nextSibling;i.appendChild(t),i.reset(),o?n.insertBefore(t,o):n.appendChild(t)}}},nt=function(t){return"object"===("undefined"==typeof value?"undefined":p(value))&&null!==value?JSON.parse(JSON.stringify(t)):t},ot=function(t){
  6. var e=G(t.input.image),i=G(t.output.image),n=nt(t);return n.input.image=e,n.output.image=i,n},rt=function(t,e,i){return t&&e?t.toDataURL(e,D(e)&&"number"==typeof i?i/100:void 0):null},at=function(t){if(!t)return null;var e=t.substr(0,16).match(/^.+;/);return e.length?e[0].substring(5,e[0].length-1):null},st=function(t){var e=arguments.length<=1||void 0===arguments[1]?[]:arguments[1],i=arguments[2],n={server:nt(t.server),meta:nt(t.meta),input:{name:t.input.name,type:t.input.type,size:t.input.size,width:t.input.width,height:t.input.height},output:{width:t.output.width,height:t.output.height}};O("input",e)&&(n.input.image=rt(t.input.image,t.input.type)),O("output",e)&&(n.output.image=rt(t.output.image,t.input.type,i)),O("actions",e)&&(n.actions=nt(t.actions));var o=at(n.output.image||n.input.image);return"image/png"===o&&(n.input.name=F(n.input.name)+".png",n.input.type=o),n},ht=function(t,e,i){var n=i.querySelector(t);n&&(n.style.display=e?"":"none")},ut=function(t){return Array.prototype.slice.call(t)},lt=function(t){t.parentNode.removeChild(t)},ct=function(t){var e=b("div");return t.parentNode&&(t.nextSibling?t.parentNode.insertBefore(e,t.nextSibling):t.parentNode.appendChild(e)),e.appendChild(t),e},pt=function(t,e,i,n){var o=(n-90)*Math.PI/180;return{x:t+i*Math.cos(o),y:e+i*Math.sin(o)}},dt=function(t,e,i,n,o){var r=pt(t,e,i,o),a=pt(t,e,i,n),s=o-n<=180?"0":"1",h=["M",r.x,r.y,"A",i,i,0,s,0,a.x,a.y].join(" ");return h},ft=function(t,e,i,n){return dt(t,e,i,0,360*n)},mt=function(){var e={n:function(t,e,i,n){var o,r,a,s,h,u,l,c;return a=t.y+t.height,o=I(e.y,0,a),a-o<i.min.height&&(o=a-i.min.height),h=n?(a-o)/n:t.width,h<i.min.width&&(h=i.min.width,o=a-h*n),l=.5*(h-t.width),s=t.x-l,r=t.x+t.width+l,(s<0||r>i.width)&&(c=Math.min(t.x,i.width-(t.x+t.width)),s=t.x-c,r=t.x+t.width+c,h=r-s,u=h*n,o=a-u),{x:s,y:o,width:r-s,height:a-o}},s:function(t,e,i,n){var o,r,a,s,h,u,l,c;return o=t.y,a=I(e.y,o,i.height),a-o<i.min.height&&(a=o+i.min.height),h=n?(a-o)/n:t.width,h<i.min.width&&(h=i.min.width,a=o+h*n),l=.5*(h-t.width),s=t.x-l,r=t.x+t.width+l,(s<0||r>i.width)&&(c=Math.min(t.x,i.width-(t.x+t.width)),s=t.x-c,r=t.x+t.width+c,h=r-s,u=h*n,a=o+u),{x:s,y:o,width:r-s,height:a-o}},e:function(t,e,i,n){var o,r,a,s,h,u,l,c;return s=t.x,r=I(e.x,s,i.width),r-s<i.min.width&&(r=s+i.min.width),u=n?(r-s)*n:t.height,u<i.min.height&&(u=i.min.height,r=s+u/n),l=.5*(u-t.height),o=t.y-l,a=t.y+t.height+l,(o<0||a>i.height)&&(c=Math.min(t.y,i.height-(t.y+t.height)),o=t.y-c,a=t.y+t.height+c,u=a-o,h=u/n,r=s+h),{x:s,y:o,width:r-s,height:a-o}},w:function i(t,e,n,o){var r,a,s,h,i,u,l,c;return a=t.x+t.width,h=I(e.x,0,a),a-h<n.min.width&&(h=a-n.min.width),u=o?(a-h)*o:t.height,u<n.min.height&&(u=n.min.height,h=a-u/o),l=.5*(u-t.height),r=t.y-l,s=t.y+t.height+l,(r<0||s>n.height)&&(c=Math.min(t.y,n.height-(t.y+t.height)),r=t.y-c,s=t.y+t.height+c,u=s-r,i=u/o,h=a-i),{x:h,y:r,width:a-h,height:s-r}},ne:function(t,e,i,n){var o,r,a,s,h,u,l;return s=t.x,a=t.y+t.height,r=I(e.x,s,i.width),r-s<i.min.width&&(r=s+i.min.width),u=n?(r-s)*n:I(a-e.y,i.min.height,a),u<i.min.height&&(u=i.min.height,r=s+u/n),o=t.y-(u-t.height),(o<0||a>i.height)&&(l=Math.min(t.y,i.height-(t.y+t.height)),o=t.y-l,u=a-o,h=u/n,r=s+h),{x:s,y:o,width:r-s,height:a-o}},se:function(t,e,i,n){var o,r,a,s,h,u,l;return s=t.x,o=t.y,r=I(e.x,s,i.width),r-s<i.min.width&&(r=s+i.min.width),u=n?(r-s)*n:I(e.y-t.y,i.min.height,i.height-o),u<i.min.height&&(u=i.min.height,r=s+u/n),a=t.y+t.height+(u-t.height),(o<0||a>i.height)&&(l=Math.min(t.y,i.height-(t.y+t.height)),a=t.y+t.height+l,u=a-o,h=u/n,r=s+h),{x:s,y:o,width:r-s,height:a-o}},sw:function(t,e,i,n){var o,r,a,s,h,u,l;return r=t.x+t.width,o=t.y,s=I(e.x,0,r),r-s<i.min.width&&(s=r-i.min.width),u=n?(r-s)*n:I(e.y-t.y,i.min.height,i.height-o),u<i.min.height&&(u=i.min.height,s=r-u/n),a=t.y+t.height+(u-t.height),(o<0||a>i.height)&&(l=Math.min(t.y,i.height-(t.y+t.height)),a=t.y+t.height+l,u=a-o,h=u/n,s=r-h),{x:s,y:o,width:r-s,height:a-o}},nw:function(t,e,i,n){var o,r,a,s,h,u,l;return r=t.x+t.width,a=t.y+t.height,s=I(e.x,0,r),r-s<i.min.width&&(s=r-i.min.width),u=n?(r-s)*n:I(a-e.y,i.min.height,a),u<i.min.height&&(u=i.min.height,s=r-u/n),o=t.y-(u-t.height),(o<0||a>i.height)&&(l=Math.min(t.y,i.height-(t.y+t.height)),o=t.y-l,u=a-o,h=u/n,s=r-h),{x:s,y:o,width:r-s,height:a-o}}};return function(){function i(){var e=arguments.length<=0||void 0===arguments[0]?document.createElement("div"):arguments[0];t(this,i),this._element=e,this._interaction=null,this._minWidth=0,this._minHeight=0,this._ratio=null,this._rect={x:0,y:0,width:0,height:0},this._space={width:0,height:0},this._rectChanged=!1,this._init()}return c(i,[{key:"_init",value:function(){this._element.className="slim-crop-area";var t=b("div","grid");this._element.appendChild(t);for(var i in e)if(e.hasOwnProperty(i)){var n=b("button",i);this._element.appendChild(n)}var o=b("button","c");this._element.appendChild(o),k(document,g.DOWN,this)}},{key:"reset",value:function(){this._interaction=null,this._rect={x:0,y:0,width:0,height:0},this._rectChanged=!0,this._redraw(),this._element.dispatchEvent(new CustomEvent("change"))}},{key:"rescale",value:function(t){1!==t&&(this._interaction=null,this._rectChanged=!0,this._rect.x*=t,this._rect.y*=t,this._rect.width*=t,this._rect.height*=t,this._redraw(),this._element.dispatchEvent(new CustomEvent("change")))}},{key:"limit",value:function(t,e){this._space={width:t,height:e}}},{key:"resize",value:function(t,e,i,n){this._interaction=null,this._rect={x:t,y:e,width:I(i,0,this._space.width),height:I(n,0,this._space.height)},this._rectChanged=!0,this._redraw(),this._element.dispatchEvent(new CustomEvent("change"))}},{key:"handleEvent",value:function(t){switch(t.type){case"touchstart":case"pointerdown":case"mousedown":this._onStartDrag(t);break;case"touchmove":case"pointermove":case"mousemove":this._onDrag(t);break;case"touchend":case"touchcancel":case"pointerup":case"mouseup":this._onStopDrag(t)}}},{key:"_onStartDrag",value:function(t){this._element.contains(t.target)&&(t.preventDefault(),k(document,g.MOVE,this),k(document,g.UP,this),this._interaction={type:t.target.className,offset:C(t,this._element)},this._element.setAttribute("data-dragging","true"),this._redraw())}},{key:"_onDrag",value:function(t){t.preventDefault();var i=C(t,this._element.parentNode),n=this._interaction.type;"c"===n?(this._rect.x=I(i.x-this._interaction.offset.x,0,this._space.width-this._rect.width),this._rect.y=I(i.y-this._interaction.offset.y,0,this._space.height-this._rect.height)):e[n]&&(this._rect=e[n](this._rect,i,{x:0,y:0,width:this._space.width,height:this._space.height,min:{width:this._minWidth,height:this._minHeight}},this._ratio)),this._rectChanged=!0,this._element.dispatchEvent(new CustomEvent("input"))}},{key:"_onStopDrag",value:function(t){t.preventDefault(),x(document,g.MOVE,this),x(document,g.UP,this),this._interaction=null,this._element.setAttribute("data-dragging","false"),this._element.dispatchEvent(new CustomEvent("change"))}},{key:"_redraw",value:function(){var t=this;this._rectChanged&&(this._element.style.cssText="\n\t\t\t\t\tleft:"+this._rect.x+"px;\n\t\t\t\t\ttop:"+this._rect.y+"px;\n\t\t\t\t\twidth:"+this._rect.width+"px;\n\t\t\t\t\theight:"+this._rect.height+"px;\n\t\t\t\t",this._rectChanged=!1),this._interaction&&requestAnimationFrame(function(){return t._redraw()})}},{key:"destroy",value:function(){this._interaction=!1,this._rectChanged=!1,x(document,g.DOWN,this),x(document,g.MOVE,this),x(document,g.UP,this),lt(this._element)}},{key:"element",get:function(){return this._element}},{key:"space",get:function(){return this._space}},{key:"area",get:function(){return{x:this._rect.x/this._space.width,y:this._rect.y/this._space.height,width:this._rect.width/this._space.width,height:this._rect.height/this._space.height}}},{key:"dirty",get:function(){return 0!==this._rect.x||0!==this._rect.y||0!==this._rect.width||0!==this._rect.height}},{key:"minWidth",set:function(t){this._minWidth=t}},{key:"minHeight",set:function(t){this._minHeight=t}},{key:"ratio",set:function(t){this._ratio=t}}]),i}()}(),_t=function(){var e=["input","change"],i=function(){function i(){var e=arguments.length<=0||void 0===arguments[0]?document.createElement("div"):arguments[0],n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];t(this,i),this._element=e,this._options=m(i.options(),n),this._ratio=null,this._output=null,this._input=null,this._preview=null,this._previewBlurred=null,this._blurredPreview=!1,this._cropper=null,this._previewWrapper=null,this._currentWindowSize={},this._btnGroup=null,this._dirty=!1,this._wrapperRotation=0,this._wrapperScale=1,this._init()}return c(i,[{key:"_init",value:function(){var t=this;this._element.className="slim-image-editor",this._container=b("div","slim-container"),this._wrapper=b("div","slim-wrapper"),this._stage=b("div","slim-stage"),this._container.appendChild(this._stage),this._cropper=new mt,e.forEach(function(e){t._cropper.element.addEventListener(e,t)}),this._stage.appendChild(this._cropper.element),this._previewWrapper=b("div","slim-image-editor-preview slim-crop-preview"),this._previewBlurred=b("canvas","slim-crop-blur"),this._previewWrapper.appendChild(this._previewBlurred),this._wrapper.appendChild(this._previewWrapper),this._preview=b("img","slim-crop"),this._previewWrapper.appendChild(this._preview),this._btnGroup=b("div","slim-editor-btn-group"),i.Buttons.forEach(function(e){var i=S(e),n=t._options["button"+i+"Label"],o=t._options["button"+i+"Title"],r=t._options["button"+i+"ClassName"],a=b("button","slim-editor-btn slim-btn-"+e+(r?" "+r:""));a.innerHTML=n,a.title=o||n,a.type="button",a.setAttribute("data-action",e),a.addEventListener("click",t),t._btnGroup.appendChild(a)}),this._utilsGroup=b("div","slim-editor-utils-group");var n=b("button","slim-editor-utils-btn slim-btn-rotate");n.setAttribute("data-action","rotate"),n.addEventListener("click",this),n.title=this._options.buttonRotateTitle,this._utilsGroup.appendChild(n),this._container.appendChild(this._wrapper),this._element.appendChild(this._container),this._element.appendChild(this._utilsGroup),this._element.appendChild(this._btnGroup)}},{key:"dirty",value:function(){this._dirty=!0}},{key:"handleEvent",value:function(t){switch(t.type){case"click":this._onClick(t);break;case"change":this._onGridChange(t);break;case"input":this._onGridInput(t);break;case"keydown":this._onKeyDown(t);break;case"resize":this._onResize(t)}}},{key:"_onKeyDown",value:function(t){switch(t.keyCode){case _.RETURN:this._confirm();break;case _.ESC:this._cancel()}}},{key:"_onClick",value:function(t){t.target.classList.contains("slim-btn-cancel")&&this._cancel(),t.target.classList.contains("slim-btn-confirm")&&this._confirm(),t.target.classList.contains("slim-btn-rotate")&&this._rotate()}},{key:"_onResize",value:function(){this._currentWindowSize={width:window.innerWidth,height:window.innerHeight},this._redraw(),this._redrawCropper(this._cropper.area),this._updateWrapperScale(),this._redrawWrapper()}},{key:"_redrawWrapper",value:function(){var t=u.createMatrix();t.scale(this._wrapperScale,this._wrapperScale),t.rotateZ(this._wrapperRotation*(Math.PI/180)),u.setElementTransform(this._previewWrapper,t)}},{key:"_onGridInput",value:function(){this._redrawCropMask()}},{key:"_onGridChange",value:function(){this._redrawCropMask()}},{key:"_updateWrapperRotation",value:function(){this._options.minSize.width>this._input.height||this._options.minSize.height>this._input.width?this._wrapperRotation+=180:this._wrapperRotation+=90}},{key:"_updateWrapperScale",value:function(){var t=this._wrapperRotation%180!==0;if(t){var e=this._container.offsetWidth,i=this._container.offsetHeight,n=this._wrapper.offsetHeight,o=this._wrapper.offsetWidth,r=e/n;r*o>i&&(r=i/o),this._wrapperScale=r}else this._wrapperScale=1}},{key:"_cancel",value:function(){this._element.dispatchEvent(new CustomEvent("cancel"))}},{key:"_confirm",value:function(){var t=this._wrapperRotation%180!==0;this._element.dispatchEvent(new CustomEvent("confirm",{detail:{rotation:this._wrapperRotation%360,crop:Q(this._cropper.area,t?this._input.height:this._input.width,t?this._input.width:this._input.height)}}))}},{key:"_rotate",value:function(){var t=this;this._updateWrapperRotation(),this._updateWrapperScale(),this._clearCropMask(),this._hideCropper(),u(this._previewWrapper,{rotation:[0,0,this._wrapperRotation*(Math.PI/180)],scale:[this._wrapperScale,this._wrapperScale],easing:"spring",springConstant:.8,springDeceleration:.65,complete:function(){t._redrawCropper(),t._showCropper()}})}},{key:"_showCropper",value:function(){u(this._stage,{easing:"ease",duration:250,fromOpacity:0,opacity:1})}},{key:"_hideCropper",value:function(){u(this._stage,{duration:0,fromOpacity:0,opacity:0})}},{key:"_clearCropMask",value:function(){this._preview.style.clip=""}},{key:"_redrawCropMask",value:function(){var t=this,e=this._wrapperRotation%360,i={width:this._wrapper.offsetWidth,height:this._wrapper.offsetHeight},n=this._cropper.area,o=n.x,r=n.y,a=n.width,s=n.height;90===e?(n.x=1-r-s,n.y=o,n.width=s,n.height=a):180===e?(n.x=1-(o+a),n.y=1-(r+s),n.width=a,n.height=s):270===e&&(n.x=r,n.y=1-o-a,n.width=s,n.height=a),n=Q(n,i.width,i.height),requestAnimationFrame(function(){t._preview.style.clip="rect(\n\t\t\t\t\t"+n.y+"px,\n\t\t\t\t\t"+(n.x+n.width)+"px,\n\t\t\t\t\t"+(n.y+n.height)+"px,\n\t\t\t\t\t"+n.x+"px)\n\t\t\t\t"})}},{key:"open",value:function(t,e,i,n,o){var r=this;if(this._input&&!this._dirty)return void o();this._dirty=!1,this._wrapperRotation=n||0,this._blurredPreview=!1,this._ratio=e,this._element.style.opacity="0",this._input=t;var a=n%180!==0,s=tt(i,a?t.height:t.width,a?t.width:t.height);this._preview.onload=function(){r._preview.onload=null,r._cropper.ratio=r.ratio,r._redraw(),r._redrawCropper(s),o(),r._element.style.opacity=""},this._preview.src=X(this._input,Math.min(this._container.offsetWidth/this._input.width,this._container.offsetHeight/this._input.height)).toDataURL()}},{key:"_redrawCropper",value:function(t){var e=this._wrapperRotation%180!==0,i=this._wrapper.offsetWidth,n=this._wrapper.offsetHeight,o=this._container.offsetWidth,r=this._container.offsetHeight;this._updateWrapperScale();var a=this._wrapperScale*(e?n:i),s=this._wrapperScale*(e?i:n),h=e?.5*(o-a):this._wrapper.offsetLeft,u=e?.5*(r-s):this._wrapper.offsetTop;this._stage.style.cssText="\n\t\t\t\tleft:"+h+"px;\n\t\t\t\ttop:"+u+"px;\n\t\t\t\twidth:"+a+"px;\n\t\t\t\theight:"+s+"px;\n\t\t\t",this._cropper.limit(a,s),this._cropper.minWidth=this._wrapperScale*this._options.minSize.width*this.scalar,this._cropper.minHeight=this._wrapperScale*this._options.minSize.height*this.scalar;var l=null;l=t?{x:t.x*a,y:t.y*s,width:t.width*a,height:t.height*s}:q(a,s,this._ratio||s/a),this._cropper.resize(l.x,l.y,l.width,l.height)}},{key:"_redraw",value:function(){var t=this._input.height/this._input.width,e=this._container.clientWidth,i=this._container.clientHeight,n=e,o=n*t;o>i&&(o=i,n=o/t),n=Math.round(n),o=Math.round(o);var r=(e-n)/2,a=(i-o)/2;this._wrapper.style.cssText="\n\t\t\t\tleft:"+r+"px;\n\t\t\t\ttop:"+a+"px;\n\t\t\t\twidth:"+n+"px;\n\t\t\t\theight:"+o+"px;\n\t\t\t",this._previewBlurred.style.cssText="\n\t\t\t\twidth:"+n+"px;\n\t\t\t\theight:"+o+"px;\n\t\t\t",this._preview.width=n,this._preview.height=o,this._blurredPreview||(this._previewBlurred.width=300,this._previewBlurred.height=this._previewBlurred.width*t,$(this._input,this._previewBlurred),J(this._previewBlurred,3),this._blurredPreview=!0)}},{key:"show",value:function(){var t=arguments.length<=0||void 0===arguments[0]?function(){}:arguments[0];this._currentWindowSize.width===window.innerWidth&&this._currentWindowSize.height===window.innerHeight||(this._redraw(),this._redrawCropper(this._cropper.area)),document.addEventListener("keydown",this),window.addEventListener("resize",this);var e=this._wrapperRotation*(Math.PI/180);u(this._previewWrapper,{fromRotation:[0,0,e],rotation:[0,0,e],fromPosition:[0,0,0],position:[0,0,0],fromOpacity:0,opacity:.9999,fromScale:[this._wrapperScale-.02,this._wrapperScale-.02],scale:[this._wrapperScale,this._wrapperScale],easing:"spring",springConstant:.3,springDeceleration:.85,delay:450,complete:function(){}}),this._cropper.dirty?u(this._stage,{fromPosition:[0,0,0],position:[0,0,0],fromOpacity:0,opacity:1,duration:250,delay:550,complete:function(){M(this),t()}}):u(this._stage,{fromPosition:[0,0,0],position:[0,0,0],fromOpacity:0,opacity:1,duration:250,delay:1e3,complete:function(){M(this)}}),u(this._btnGroup.childNodes,{fromScale:[.9,.9],scale:[1,1],fromOpacity:0,opacity:1,delay:function(t){return 1e3+100*t},easing:"spring",springConstant:.3,springDeceleration:.85,complete:function(){M(this)}}),u(this._utilsGroup.childNodes,{fromScale:[.9,.9],scale:[1,1],fromOpacity:0,opacity:1,easing:"spring",springConstant:.3,springDeceleration:.85,delay:1250,complete:function(){M(this)}})}},{key:"hide",value:function(){var t=arguments.length<=0||void 0===arguments[0]?function(){}:arguments[0];document.removeEventListener("keydown",this),window.removeEventListener("resize",this),u(this._utilsGroup.childNodes,{fromOpacity:1,opacity:0,duration:250}),u(this._btnGroup.childNodes,{fromOpacity:1,opacity:0,delay:200,duration:350}),u([this._stage,this._previewWrapper],{fromPosition:[0,0,0],position:[0,-250,0],fromOpacity:1,opacity:0,easing:"spring",springConstant:.3,springDeceleration:.75,delay:250,allDone:function(){t()}})}},{key:"destroy",value:function(){var t=this;ut(this._btnGroup.children).forEach(function(e){e.removeEventListener("click",t)}),e.forEach(function(e){t._cropper.element.removeEventListener(e,t)}),this._cropper.destroy(),lt(this._element)}},{key:"element",get:function(){return this._element}},{key:"ratio",get:function(){return"input"===this._ratio?this._input.height/this._input.width:this._ratio}},{key:"offset",get:function(){return this._element.getBoundingClientRect()}},{key:"original",get:function(){return this._input}},{key:"scalar",get:function(){return this._preview.width/this._input.width}}],[{key:"options",value:function(){return{buttonCancelClassName:null,buttonConfirmClassName:null,buttonCancelLabel:"Cancel",buttonConfirmLabel:"Confirm",buttonCancelTitle:null,buttonConfirmTitle:null,buttonRotateTitle:"Rotate",minSize:{width:0,height:0}}}}]),i}();return i.Buttons=["cancel","confirm"],i}(mt),gt=function(){var e=["dragover","dragleave","drop"];return function(){function i(){var e=arguments.length<=0||void 0===arguments[0]?document.createElement("div"):arguments[0];t(this,i),this._element=e,this._accept=[],this._dragPath=null,this._init()}return c(i,[{key:"areValidFiles",value:function(t){return!this._accept.length||!t||this._accept.indexOf(t[0].type)!=-1}},{key:"reset",value:function(){this._element.files=null}},{key:"_init",value:function(){var t=this;this._element.className="slim-file-hopper",e.forEach(function(e){t._element.addEventListener(e,t)})}},{key:"handleEvent",value:function(t){switch(t.type){case"dragover":this._onDragOver(t);break;case"dragleave":this._onDragLeave(t);break;case"drop":this._onDrop(t)}}},{key:"_onDrop",value:function(t){return t.preventDefault(),this.areValidFiles(t.dataTransfer.files)?(this._element.files=t.dataTransfer.files,this._element.dispatchEvent(new CustomEvent("file-drop",{detail:f(t)})),this._element.dispatchEvent(new CustomEvent("change")),void(this._dragPath=null)):(this._element.dispatchEvent(new CustomEvent("file-invalid-drop")),void(this._dragPath=null))}},{key:"_onDragOver",value:function(t){return t.preventDefault(),t.dataTransfer.dropEffect="copy",this.areValidFiles(t.dataTransfer.items)?(this._dragPath||(this._dragPath=[]),this._dragPath.push(f(t)),void this._element.dispatchEvent(new CustomEvent("file-over",{detail:{x:P(this._dragPath).x,y:P(this._dragPath).y}}))):(t.dataTransfer.dropEffect="none",void this._element.dispatchEvent(new CustomEvent("file-invalid")))}},{key:"_onDragLeave",value:function(t){this._element.dispatchEvent(new CustomEvent("file-out",{detail:f(t)})),this._dragPath=null}},{key:"destroy",value:function(){var t=this;e.forEach(function(e){t._element.removeEventListener(e,t)}),lt(this._element)}},{key:"element",get:function(){return this._element}},{key:"dragPath",get:function(){return this._dragPath}},{key:"enabled",get:function(){return""===this._element.style.display},set:function(t){this._element.style.display=t?"":"none"}},{key:"accept",set:function(t){this._accept=t},get:function(){return this._accept}}]),i}()}(),vt=function(){return function(){function e(){t(this,e),this._element=null,this._inner=null,this._init()}return c(e,[{key:"_init",value:function(){this._element=b("div","slim-popover"),this._element.setAttribute("data-state","off"),document.body.appendChild(this._element)}},{key:"show",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?function(){}:arguments[0];this._element.setAttribute("data-state","on"),u(this._element,{fromOpacity:0,opacity:1,duration:350,complete:function(){M(t._element),e()}})}},{key:"hide",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?function(){}:arguments[0];u(this._element,{fromOpacity:1,opacity:0,duration:500,complete:function(){M(t._element),t._element.setAttribute("data-state","off"),e()}})}},{key:"destroy",value:function(){this._element.parentNode&&this._element.parentNode.removeChild(this._element)}},{key:"inner",set:function(t){this._inner=t,this._element.firstChild&&this._element.removeChild(this._element.firstChild),this._element.appendChild(this._inner)}}]),e}()}(),yt=function(t,e){return t.split(e).map(function(t){return parseInt(t,10)})},wt=function(t){return"DIV"===t.nodeName},bt={AUTO:"auto",INITIAL:"initial",MANUAL:"manual"},kt=["x","y","width","height"],xt=["file-invalid-drop","file-invalid","file-drop","file-over","file-out","click"],Et=["cancel","confirm"],Ct=["remove","edit","download","upload"],St=null,Pt=0,It='\n<div class="slim-loader">\n\t<svg>\n\t\t<path class="slim-loader-background" fill="none" stroke-width="3" />\n\t\t<path class="slim-loader-foreground" fill="none" stroke-width="3" />\n\t</svg>\n</div>\n',Ot='\n<div class="slim-upload-status"></div>\n',Tt=function(){function e(i){var n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];t(this,e),St||(St=new vt),Pt++,this._options=m(e.options(),n),this._originalElement=i,this._originalElementInner=i.innerHTML,this._originalElementAttributes=d(i),wt(i)?this._element=i:(this._element=ct(i),this._element.className=i.className,i.className="",this._element.setAttribute("data-ratio",this._options.ratio)),this._element.classList.add("slim"),this._element.setAttribute("data-state","init"),this._input=null,this._output=null,this._ratio=null,this._isRequired=!1,this._imageHopper=null,this._imageEditor=null,this._progressEnabled=!0,this._data={},this._resetData(),this._state=[],this._drip=null,this._hasInitialImage=!1,this._initialCrop=this._options.crop,this._isBeingDestroyed=!1,e.supported?this._init():this._fallback()}return c(e,[{key:"isAttachedTo",value:function(t){return this._element===t||this._originalElement===t}},{key:"isDetached",value:function(){return null===this._element.parentNode}},{key:"load",value:function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],i=arguments[2];"function"==typeof e?i=e:(this._options.crop=e.crop,this._initialCrop=this._options.crop),this._load(t,i)}},{key:"upload",value:function(t){this._doUpload(t)}},{key:"download",value:function(){this._doDownload()}},{key:"remove",value:function(){return this._doRemove()}},{key:"destroy",value:function(){this._doDestroy()}},{key:"edit",value:function(){this._doEdit()}},{key:"crop",value:function(t,e){this._crop(t.x,t.y,t.width,t.height,e)}},{key:"_canInstantEdit",value:function(){return this._options.instantEdit&&!this._isInitialising}},{key:"_getFileInput",value:function(){return this._element.querySelector("input[type=file]")}},{key:"_getInitialImage",value:function(){return this._element.querySelector("img")}},{key:"_getInputElement",value:function(){return this._getFileInput()||this._getInitialImage()}},{key:"_getRatioSpacerElement",value:function(){return this._element.children[0]}},{key:"_isImageOnly",value:function(){return"INPUT"!==this._input.nodeName}},{key:"_isFixedRatio",value:function(){return this._options.ratio.indexOf(":")!==-1}},{key:"_toggleButton",value:function(t,e){ht('.slim-btn[data-action="'+t+'"]',e,this._element)}},{key:"_clearState",value:function(){this._state=[],this._updateState()}},{key:"_removeState",value:function(t){this._state=this._state.filter(function(e){return e!==t}),this._updateState()}},{key:"_addState",value:function(t){O(t,this._state)||(this._state.push(t),this._updateState())}},{key:"_updateState",value:function(){this._element.setAttribute("data-state",this._state.join(","))}},{key:"_resetData",value:function(){this._data={server:null,meta:null,input:{image:null,name:null,type:null,width:0,height:0},output:{image:null,width:0,height:0},actions:{rotation:null,crop:null,size:null}},this._output&&(this._output.value=""),it(this._getFileInput())}},{key:"_init",value:function(){var t=this;this._isInitialising=!0,this._addState("empty"),this._input=this._getInputElement(),this._input||(this._input=b("input"),this._input.type="file",this._element.appendChild(this._input)),this._isRequired=this._input.required===!0,this._output=this._element.querySelector("input[type=hidden]"),this._output||(this._output=b("input"),this._output.type="hidden",this._output.name=this._input.name||this._options.defaultInputName,this._element.appendChild(this._output)),this._input.removeAttribute("name");var e=b("div","slim-area"),i=this._getInitialImage(),n=(i||{}).src;n?this._hasInitialImage=!0:this._initialCrop=null;var o='\n\t\t<div class="slim-result">\n\t\t\t<img class="in" style="opacity:0" '+(n?'src="'+n+'"':"")+'><img><img style="opacity:0">\n\t\t</div>';if(this._isImageOnly())e.innerHTML="\n\t\t\t\t"+It+"\n\t\t\t\t"+Ot+"\n\t\t\t\t"+o+"\n\t\t\t";else{var r=void 0;this._input.hasAttribute("accept")&&"image/*"!==this._input.getAttribute("accept")?r=this._input.accept.split(",").map(function(t){return t.trim()}).filter(function(t){return t.length>0}):(r=R(),this._input.setAttribute("accept",r.join(","))),this._imageHopper=new gt,this._imageHopper.accept=r,this._element.appendChild(this._imageHopper.element),xt.forEach(function(e){t._imageHopper.element.addEventListener(e,t)}),e.innerHTML="\n\t\t\t\t"+It+"\n\t\t\t\t"+Ot+'\n\t\t\t\t<div class="slim-drip"><span><span></span></span></div>\n\t\t\t\t<div class="slim-status"><div class="slim-label">'+(this._options.label||"")+"</div></div>\n\t\t\t\t"+o+"\n\t\t\t",this._input.addEventListener("change",this)}if(this._element.appendChild(e),this._btnGroup=b("div","slim-btn-group"),this._btnGroup.style.display="none",this._element.appendChild(this._btnGroup),Ct.filter(function(e){return t._isButtonAllowed(e)}).forEach(function(e){var i=S(e),n=t._options["button"+i+"Label"],o=t._options["button"+i+"Title"]||n,r=t._options["button"+i+"ClassName"],a=b("button","slim-btn slim-btn-"+e+(r?" "+r:""));a.innerHTML=n,a.title=o,a.type="button",a.addEventListener("click",t),a.setAttribute("data-action",e),t._btnGroup.appendChild(a)}),this._isFixedRatio()){var a=yt(this._options.ratio,":");this._ratio=a[1]/a[0],this._scaleDropArea(this._ratio)}this._updateProgress(.5),n?this._load(n,function(){t._onInit()}):this._onInit()}},{key:"_onInit",value:function(){var t=this;this._isInitialising=!1;var e=function(){setTimeout(function(){t._options.didInit.apply(t,[t.data])},0)};this._options.saveInitialImage?this._save(function(){e()},!1):e()}},{key:"_updateProgress",value:function(t){if(this._progressEnabled){var e=this._element.querySelector(".slim-loader");if(e){var i=e.getBoundingClientRect(),n=e.querySelectorAll("path"),o=parseInt(n[0].getAttribute("stroke-width"),10);n[0].setAttribute("d",ft(.5*i.width,.5*i.height,.5*i.width-o,.9999)),n[1].setAttribute("d",ft(.5*i.width,.5*i.height,.5*i.width-o,t))}}}},{key:"_startProgress",value:function(){var t=this;this._progressEnabled=!1;var e=this._element.querySelector(".slim-loader");if(e){var i=e.children[0];this._stopProgressLoop(function(){e.removeAttribute("style"),i.removeAttribute("style"),t._progressEnabled=!0,t._updateProgress(0),t._progressEnabled=!1,u(i,{fromOpacity:0,opacity:1,duration:250,complete:function(){t._progressEnabled=!0}})})}}},{key:"_stopProgress",value:function(){var t=this,e=this._element.querySelector(".slim-loader");if(e){var i=e.children[0];this._updateProgress(1),u(i,{fromOpacity:1,opacity:0,duration:250,complete:function(){e.removeAttribute("style"),i.removeAttribute("style"),t._updateProgress(.5),t._progressEnabled=!1}})}}},{key:"_startProgressLoop",value:function(){var t=this._element.querySelector(".slim-loader");if(t){var e=t.children[0];t.removeAttribute("style"),e.removeAttribute("style"),this._updateProgress(.5);var i=1e3;u(t,{rotation:[0,0,-(2*Math.PI)*i],easing:"linear",duration:1e3*i}),u(e,{fromOpacity:0,opacity:1,duration:250})}}},{key:"_stopProgressLoop",value:function(t){var e=this._element.querySelector(".slim-loader");if(e){var i=e.children[0];u(i,{fromOpacity:parseFloat(i.style.opacity),opacity:0,duration:250,complete:function(){u(e,"stop"),t&&t()}})}}},{key:"_isButtonAllowed",value:function(t){return"edit"===t?this._options.edit:"download"===t?this._options.download:"upload"===t?!!this._options.service&&!this._options.push:"remove"!==t||!this._isImageOnly()}},{key:"_fallback",value:function(){this._removeState("init");var t=b("div","slim-area");t.innerHTML='\n\t\t\t<div class="slim-status"><div class="slim-label">'+(this._options.label||"")+"</div></div>\n\t\t",this._element.appendChild(t),this._throwError(this._options.statusNoSupport)}},{key:"handleEvent",value:function(t){switch(t.type){case"click":this._onClick(t);break;case"change":this._onChange(t);break;case"cancel":this._onCancel(t);break;case"confirm":this._onConfirm(t);break;case"file-over":this._onFileOver(t);break;case"file-out":this._onFileOut(t);break;case"file-drop":this._onDropFile(t);break;case"file-invalid":this._onInvalidFile(t);break;case"file-invalid-drop":this._onInvalidFileDrop(t)}}},{key:"_getIntro",value:function(){return this._element.querySelector(".slim-result .in")}},{key:"_getOutro",value:function(){return this._element.querySelector(".slim-result .out")}},{key:"_getInOut",value:function(){return this._element.querySelectorAll(".slim-result img")}},{key:"_getDrip",value:function(){return this._drip||(this._drip=this._element.querySelector(".slim-drip > span")),this._drip}},{key:"_throwError",value:function(t){this._addState("error"),this._element.querySelector(".slim-label").style.display="none";var e=this._element.querySelector(".slim-error");e||(e=b("div","slim-error"),this._element.querySelector(".slim-status").appendChild(e)),e.innerHTML=t}},{key:"_removeError",value:function(){this._removeState("error"),this._element.querySelector(".slim-label").style.display="";var t=this._element.querySelector(".slim-error");t&&t.parentNode.removeChild(t)}},{key:"_openFileDialog",value:function(){this._removeError(),this._input.click()}},{key:"_onClick",value:function(t){var e=this,i=t.target.classList,n=t.target;if(i.contains("slim-file-hopper"))return void this._openFileDialog();switch(n.getAttribute("data-action")){case"remove":this._options.willRemove.apply(this,[this.data,function(){e._doRemove()}]);break;case"edit":this._doEdit();break;case"download":this._doDownload();break;case"upload":this._doUpload()}}},{key:"_onInvalidFileDrop",value:function(){this._onInvalidFile(),this._removeState("file-over");var t=this._getDrip();u(t.firstChild,{fromScale:[.5,.5],scale:[0,0],fromOpacity:.5,opacity:0,duration:150,complete:function(){M(t.firstChild)}})}},{key:"_onInvalidFile",value:function(){var t=this._imageHopper.accept.map(A),e=this._options.statusFileType.replace("$0",t.join(", "));this._throwError(e)}},{key:"_onImageTooSmall",value:function(){var t=this._options.statusImageTooSmall.replace("$0",this._options.minSize.width+" × "+this._options.minSize.height);
  7. this._throwError(t)}},{key:"_onOverWeightFile",value:function(){var t=this._options.statusFileSize.replace("$0",this._options.maxFileSize);this._throwError(t)}},{key:"_onFileOver",value:function(t){this._addState("file-over"),this._removeError();var e=this._getDrip(),i=u.createMatrix();i.translate(t.detail.x,t.detail.y,0),u.setElementTransform(e,i),1==this._imageHopper.dragPath.length&&(e.style.opacity=1,u(e.firstChild,{fromOpacity:0,opacity:.5,fromScale:[0,0],scale:[.5,.5],duration:150}))}},{key:"_onFileOut",value:function(t){this._removeState("file-over"),this._removeState("file-invalid"),this._removeError();var e=this._getDrip(),i=u.createMatrix();i.translate(t.detail.x,t.detail.y,0),u.setElementTransform(e,i),u(e.firstChild,{fromScale:[.5,.5],scale:[0,0],fromOpacity:.5,opacity:0,duration:150,complete:function(){M(e.firstChild)}})}},{key:"_onDropFile",value:function(t){var e=this;this._removeState("file-over");var i=this._getDrip(),n=u.createMatrix();n.translate(t.detail.x,t.detail.y,0),u.setElementTransform(i,n);var o=this._imageHopper.dragPath.length,r=this._imageHopper.dragPath[o-Math.min(10,o)],a=t.detail.x-r.x,s=t.detail.y-r.y;u(i,{fromPosition:[t.detail.x,t.detail.y,0],position:[t.detail.x+a,t.detail.y+s,0],duration:200}),u(i.firstChild,{fromScale:[.5,.5],scale:[2,2],fromOpacity:1,opacity:0,duration:200,complete:function(){M(i.firstChild),e._load(t.target.files[0])}})}},{key:"_onChange",value:function(t){this._load(t.target.files[0])}},{key:"_load",value:function(t,e){var i=this;if(!this._isBeingDestroyed){var n=W(t);if(("unknown"===n.type||this._options.forceType)&&(n=B(n,this._options.forceType||"png")),this._imageHopper&&this._imageHopper.accept.indexOf(n.type)===-1)return this._onInvalidFile(),void(e&&e.apply(this,["file-invalid"]));if(n.size&&this._options.maxFileSize&&L(n.size)>this._options.maxFileSize)return this._onOverWeightFile(),void(e&&e.apply(this,["file-too-big"]));this._removeState("empty"),this._imageHopper&&(this._imageHopper.enabled=!1),this._imageEditor&&this._imageEditor.dirty(),this._data.input.name=n.name,this._data.input.type=n.type,this._data.input.size=n.size,this._startProgressLoop(),this._addState("busy"),j(t,function(t,o){var r=function(){i._imageHopper&&(i._imageHopper.enabled=!0),i._removeState("busy"),i._stopProgressLoop(),i._resetData()};if(!t)return r(),void(e&&e.apply(i,["file-not-found"]));if(!K(t,i._options.minSize))return r(),i._onImageTooSmall(),void(e&&e.apply(i,["image-too-small"]));var a=i._options.didLoad.apply(i,[n,t,o]);return a!==!0?(r(),a!==!1&&i._throwError(a),void(e&&e.apply(i,[a]))):void i._loadCanvas(t,function(){var t=i._getIntro(),n={fromScale:[1.25,1.25],scale:[1,1],fromOpacity:0,opacity:1,complete:function(){M(t),t.style.opacity=1,i._canInstantEdit()||i._showButtons(),i._stopProgressLoop(),i._removeState("busy"),i._addState("preview"),e&&e.apply(i,[null,i.data])}};i.isDetached()?n.duration=1:(n.easing="spring",n.springConstant=.3,n.springDeceleration=.7),i._canInstantEdit()&&(n.delay=500,n.duration=1,i._doEdit()),u(t,n)})})}}},{key:"_loadCanvas",value:function(t,e){var i=this;this._isBeingDestroyed||(this._isFixedRatio()||(this._ratio=t.height/t.width,this._scaleDropArea(this._ratio)),this._data.input.image=t,this._data.input.width=t.width,this._data.input.height=t.height,this._initialCrop?(this._data.actions.crop=nt(this._initialCrop),this._data.actions.crop.type=bt.INITIAL,this._initialCrop=null):(this._data.actions.crop=q(t.width,t.height,this._ratio),this._data.actions.crop.type=bt.AUTO),this._options.size&&(this._data.actions.size={width:this._options.size.width,height:this._options.size.height}),this._applyTransforms(t,function(t){var n=i._getIntro(),o=n.offsetWidth/t.width,r=!1;i._options.service&&i._options.push&&(i._hasInitialImage||(r=!0)),i._save(function(){},r),n.src="",n.src=X(t,o).toDataURL(),n.onload=function(){n.onload=null,i._isBeingDestroyed||e&&e()}}))}},{key:"_applyTransforms",value:function(t,e){var i=this;V(t,this._data.actions,function(t){i._data.output.width=t.width,i._data.output.height=t.height,i._data.output.image=t,i._onTransformCanvas(function(t){i._data=t,i._options.didTransform.apply(i,[i.data]),e(i._data.output.image)})})}},{key:"_onTransformCanvas",value:function(t){this._options.willTransform.apply(this,[this.data,t])}},{key:"_appendEditor",value:function(){var t=this;this._imageEditor||(this._imageEditor=new _t(b("div"),{minSize:this._options.minSize,buttonConfirmClassName:"slim-btn-confirm",buttonCancelClassName:"slim-btn-cancel",buttonConfirmLabel:this._options.buttonConfirmLabel,buttonCancelLabel:this._options.buttonCancelLabel,buttonConfirmTitle:this._options.buttonConfirmTitle,buttonCancelTitle:this._options.buttonCancelTitle}),Et.forEach(function(e){t._imageEditor.element.addEventListener(e,t)}))}},{key:"_scaleDropArea",value:function(t){var e=this._getRatioSpacerElement();e&&this._element&&(e.style.marginBottom=100*t+"%",this._element.setAttribute("data-ratio","1:"+t))}},{key:"_onCancel",value:function(t){this._removeState("editor"),this._showButtons(),this._hideEditor()}},{key:"_onConfirm",value:function(t){var e=this;this._removeState("editor"),this._startProgressLoop(),this._addState("busy"),this._output.value="",this._data.actions.rotation=t.detail.rotation,this._data.actions.crop=t.detail.crop,this._data.actions.crop.type=bt.MANUAL,this._applyTransforms(this._data.input.image,function(t){var i=e._getInOut(),n="out"===i[0].className?i[0]:i[1],o=n===i[0]?i[1]:i[0];n.className="in",n.style.opacity="0",n.style.zIndex="2",o.className="out",o.style.zIndex="1",n.src="",n.src=X(t,n.offsetWidth/t.width).toDataURL(),n.onload=function(){n.onload=null,"free"===e._options.ratio&&(e._ratio=n.naturalHeight/n.naturalWidth,e._scaleDropArea(e._ratio)),e._hideEditor(),setTimeout(function(){e._showPreview(n,function(){var t=e._options.service&&e._options.push;e._save(function(t,i,n){e._toggleButton("upload",!0),e._stopProgressLoop(),e._removeState("busy"),e._showButtons()},t)})},250)}})}},{key:"_crop",value:function(t,e,i,n){var o=this,r=arguments.length<=4||void 0===arguments[4]?function(){}:arguments[4];this._startProgressLoop(),this._addState("busy"),this._output.value="",this._data.actions.crop={x:t,y:e,width:i,height:n},this._data.actions.crop.type=bt.MANUAL,this._applyTransforms(this._data.input.image,function(t){var e=o._getInOut(),i="out"===e[0].className?e[0]:e[1],n=i===e[0]?e[1]:e[0];i.className="in",i.style.opacity="1",i.style.zIndex="2",n.className="out",n.style.zIndex="0",i.src="",i.src=X(t,i.offsetWidth/t.width).toDataURL(),i.onload=function(){i.onload=null,"free"===o._options.ratio&&(o._ratio=i.naturalHeight/i.naturalWidth,o._scaleDropArea(o._ratio));var t=o._options.service&&o._options.push;o._save(function(t,e,i){o._stopProgressLoop(),o._removeState("busy"),r.apply(o,[o.data])},t)}})}},{key:"_save",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?function(){}:arguments[0],i=arguments.length<=1||void 0===arguments[1]||arguments[1],n=this.dataBase64;this._options.service||this._isInitialising&&!this._isImageOnly()||this._options.willSave.apply(this,[n,function(e){t._store(e),t._options.didSave.apply(t,[e])}]),this._options.service&&i&&this._options.willSave.apply(this,[n,function(i){t._upload(i,function(n,o){n||t._storeServerResponse(o),t._options.didUpload.apply(t,[n,i,o]),e(n,i,o)})}]),this._options.service&&i||e()}},{key:"_storeServerResponse",value:function(t){this._isRequired&&(this._input.required=!1),this._data.server=t,this._output.value="object"===("undefined"==typeof t?"undefined":p(t))?JSON.stringify(this._data.server):t}},{key:"_store",value:function(t){this._isRequired&&(this._input.required=!1),this._output.value=JSON.stringify(t)}},{key:"_upload",value:function(t,e){var i=this,n=new FormData;n.append(this._output.name,JSON.stringify(t));var o=this._element.querySelector(".slim-upload-status"),r=this._options.willRequest;T(this._options.service,n,r,function(t,e){i._updateProgress(t/e)},function(t){setTimeout(function(){o.innerHTML=i._options.statusUploadSuccess,o.setAttribute("data-state","success"),o.style.opacity=1,setTimeout(function(){o.style.opacity=0},2e3)},250),e(null,t)},function(t){var n="";n="file-too-big"===t?i._options.statusContentLength:i._options.statusUnknownResponse,setTimeout(function(){o.innerHTML=n,o.setAttribute("data-state","error"),o.style.opacity=1},250),e(t)})}},{key:"_showEditor",value:function(){St.show(),this._imageEditor.show()}},{key:"_hideEditor",value:function(){this._imageEditor.hide(),setTimeout(function(){St.hide()},250)}},{key:"_showPreview",value:function(t,e){u(t,{fromPosition:[0,50,0],position:[0,0,0],fromScale:[1.5,1.5],scale:[1,1],fromOpacity:0,opacity:1,easing:"spring",springConstant:.3,springDeceleration:.7,complete:function(){M(t),e&&e()}})}},{key:"_hideResult",value:function(t){var e=this._getIntro();e&&u(e,{fromScale:[1,1],scale:[.5,.5],fromOpacity:1,opacity:0,easing:"spring",springConstant:.3,springDeceleration:.75,complete:function(){M(e),t&&t()}})}},{key:"_showButtons",value:function(t){this._btnGroup.style.display="";var e={fromScale:[.5,.5],scale:[1,1],fromPosition:[0,10,0],position:[0,0,0],fromOpacity:0,opacity:1,complete:function(){M(this)},allDone:function(){t&&t()}};this.isDetached()?e.duration=1:(e.delay=function(t){return 250+50*t},e.easing="spring",e.springConstant=.3,e.springDeceleration=.85),u(this._btnGroup.childNodes,e)}},{key:"_hideButtons",value:function(t){var e=this,i={fromScale:[1,1],scale:[.85,.85],fromOpacity:1,opacity:0,allDone:function(){e._btnGroup.style.display="none",t&&t()}};this.isDetached()?i.duration=1:(i.easing="spring",i.springConstant=.3,i.springDeceleration=.75),u(this._btnGroup.childNodes,i)}},{key:"_hideStatus",value:function(){var t=this._element.querySelector(".slim-upload-status");t.style.opacity=0}},{key:"_doEdit",value:function(){var t=this;this._data.input.image&&(this._addState("editor"),this._imageEditor||this._appendEditor(),St.inner=this._imageEditor.element,this._imageEditor.open(G(this._data.input.image),"free"===this._options.ratio?null:this._ratio,this._data.actions.crop,this._data.actions.rotation,function(){t._showEditor(),t._hideButtons(),t._hideStatus()}))}},{key:"_doRemove",value:function(){var t=this;if(!this._isImageOnly()){this._clearState(),this._addState("empty"),this._hasInitialImage=!1,this._imageHopper.enabled=!0,this._isRequired&&(this._input.required=!0);var e=this._getOutro();e&&(e.style.opacity="0");var i=this.data;return this._resetData(),setTimeout(function(){t._isBeingDestroyed||(t._hideButtons(function(){t._toggleButton("upload",!0)}),t._hideStatus(),t._hideResult(),t._options.didRemove.apply(t,[i]))},this.isDetached()?0:250),i}}},{key:"_doUpload",value:function(t){var e=this;this._data.input.image&&(this._addState("upload"),this._startProgress(),this._hideButtons(function(){e._toggleButton("upload",!1),e._save(function(i,n,o){e._removeState("upload"),e._stopProgress(),t&&t.apply(e,[i,n,o]),i&&e._toggleButton("upload",!0),e._showButtons()})}))}},{key:"_doDownload",value:function(){var t=this._data.output.image;t&&Z(t,this._data.input.name,this._data.input.type)}},{key:"_doDestroy",value:function(){function t(t,e){return 0!==e.filter(function(e){return t.name===e.name&&t.value===e.value}).length}var e=this;this._isBeingDestroyed=!0,this._imageHopper&&(xt.forEach(function(t){e._imageHopper.element.removeEventListener(t,e)}),this._imageHopper.destroy()),this._imageEditor&&(Et.forEach(function(t){e._imageEditor.element.removeEventListener(t,e)}),this._imageEditor.destroy()),ut(this._btnGroup.children).forEach(function(t){t.removeEventListener("click",e)}),this._input.removeEventListener("change",this),this._element!==this._originalElement&&this._element.parentNode&&this._element.parentNode.replaceChild(this._originalElement,this._element),this._originalElement.innerHTML=this._originalElementInner;var i=d(this._originalElement);i.forEach(function(i){t(i,e._originalElementAttributes)||e._originalElement.removeAttribute(i.name)}),this._originalElementAttributes.forEach(function(n){t(n,i)||e._originalElement.setAttribute(n.name,n.value)}),Pt=Math.max(0,Pt-1),St&&0===Pt&&(St.destroy(),St=null)}},{key:"dataBase64",get:function(){return st(this._data,this._options.post,this._options.jpegCompression)}},{key:"data",get:function(){return ot(this._data)}},{key:"element",get:function(){return this._element}},{key:"size",set:function(t){t&&t.width&&t.height&&(this._options.size=nt(t),this._data.actions.size=nt(t))}},{key:"ratio",set:function(t){if(t&&"string"==typeof t&&(this._options.ratio=t,this._isFixedRatio())){var e=yt(this._options.ratio,":");this._ratio=e[1]/e[0],this._scaleDropArea(this._ratio)}}}],[{key:"options",value:function(){var t={edit:!0,instantEdit:!1,ratio:"free",size:null,crop:null,post:["output","actions"],service:null,push:!1,defaultInputName:"slim[]",minSize:{width:100,height:100},maxFileSize:null,jpegCompression:null,download:!1,saveInitialImage:!1,forceType:!1,label:"<p>Drop your image here</p>",statusFileType:"<p>Invalid file type, expects: $0.</p>",statusFileSize:"<p>File is too big, maximum file size: $0 MB.</p>",statusNoSupport:"<p>Your browser does not support image cropping.</p>",statusImageTooSmall:"<p>Image is too small, minimum size is: $0 pixels.</p>",statusContentLength:'<span class="slim-upload-status-icon"></span> The file is probably too big',statusUnknownResponse:'<span class="slim-upload-status-icon"></span> An unknown error occurred',statusUploadSuccess:'<span class="slim-upload-status-icon"></span> Saved',didInit:function(t){},didLoad:function(t,e,i){return!0},didSave:function(t){},didUpload:function(t,e,i){},didRemove:function(t){},didTransform:function(t){},willTransform:function(t,e){e(t)},willSave:function(t,e){e(t)},willRemove:function(t,e){e()},willRequest:function(t){}};return Ct.concat(_t.Buttons).forEach(function(e){var i=S(e);t["button"+i+"ClassName"]=null,t["button"+i+"Label"]=i,t["button"+i+"Title"]=null}),t}}]),e}();return function(){function t(t,e){return t.getAttribute("data-"+e)}function e(t){return t.replace(/([a-z](?=[A-Z]))/g,"$1-").toLowerCase()}function i(t){return t?"<p>"+t+"</p>":null}function n(t){var e=window,i=t.split(".");return i.forEach(function(t,n){e=e[i[n]]}),e}var o=[],r=function(t){for(var e=0,i=o.length;e<i;e++)if(o[e].isAttachedTo(t))return e;return-1},a=function(t,e){return e},s=function(t,e){return"true"===e},h=function(t,e){return!e||"true"===e},u=function(t,e){return i(e)},l=function(t,e){return e?n(e):null},c=function(t,e){if(!e)return null;var i=yt(e,",");return{width:i[0],height:i[1]}},p=function(t,e){return e?parseFloat(e):null},d=function(t,e){return e?parseInt(e,10):null},f=function(t,e){if(!e)return null;var i={};return e.split(",").map(function(t){return parseInt(t,10)}).forEach(function(t,e){i[kt[e]]=t}),i},m={download:s,edit:h,instantEdit:s,minSize:c,size:c,service:function(t,e){return"undefined"==typeof e?null:e},push:s,crop:f,post:function(t,e){return e?e.split(",").map(function(t){return t.trim()}):null},defaultInputName:a,ratio:function(t,e){return e?e:null},maxFileSize:p,jpegCompression:d,forceType:s,saveInitialImage:s,label:u};["FileSize","FileType","NoSupport","ImageTooSmall"].forEach(function(t){m["status"+t]=u}),["ContentLength","UnknownResponse","UploadSuccess"].forEach(function(t){m["status"+t]=a}),["Init","Load","Save","Upload","Remove","Transform"].forEach(function(t){m["did"+t]=l}),["Transform","Save","Remove","Request"].forEach(function(t){m["will"+t]=l});var _=["ClassName","Label","Title"];Ct.concat(_t.Buttons).forEach(function(t){var e=S(t);_.forEach(function(t){m["button"+e+t]=a})}),Tt.supported=function(){return"undefined"!=typeof window.FileReader}(),Tt.parse=function(t){var e,i,n,o=[];for(e=t.querySelectorAll(".slim:not([data-state])"),n=e.length;n--;)i=e[n],o.push(Tt.create(i,Tt.getOptionsFromAttributes(i)));return o},Tt.getOptionsFromAttributes=function(i){var n={};for(var o in m)if(m.hasOwnProperty(o)){var r=m[o](i,t(i,e(o)));n[o]=null===r?nt(Tt.options()[o]):r}return n},Tt.find=function(t){var e=o.filter(function(e){return e.isAttachedTo(t)});return e?e[0]:null},Tt.create=function(t,e){if(!Tt.find(t)){e||(e=Tt.getOptionsFromAttributes(t));var i=new Tt(t,e);return o.push(i),i}},Tt.destroy=function(t){var e=r(t);return!(e<0)&&(o[e].destroy(),o[e]=null,o.splice(e,1),!0)}}(),Tt}();