Comparing version 2.1.0 to 2.1.1
@@ -1,2 +0,2 @@ | ||
!function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(require("canvas"),require("fs"),require("https")):"function"==typeof define&&define.amd?define(["canvas","fs","https"],i):"object"==typeof exports?exports.main=i(require("canvas"),require("fs"),require("https")):t.main=i(t.canvas,t.fs,t.https)}(this,function(t,i,e){return function(t){function i(r){if(e[r])return e[r].exports;var a=e[r]={i:r,l:!1,exports:{}};return t[r].call(a.exports,a,a.exports,i),a.l=!0,a.exports}var e={};return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,i,e){Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:e})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=30)}([function(t,i){"use strict";function e(t){return r(t)/t.length}function r(t){for(var i=0,e=0;e<t.length;e++)i+=t[e];return i}function a(t){for(var i=[],e=0;e<t.length;e++)i[e]=Math.floor(t[e]);return i}function h(t){for(var i=t.data,e=0,r=0;r<i.length;r++)e+=i[r];return e}function n(t,i){for(var e=t.data,r=t.width,a=t.height,h=i.data,n=[],o=0;o<a;o++)for(var s=o*r,d=0;d<r;d++)n[s+d]=e[s+d]+h[s+d];return{data:n,width:r,height:a}}function o(t,i){for(var e=t.data,r=t.width,a=t.height,h=[],n=0;n<e.length;n++)h[n]=e[n]+i;return{data:h,width:r,height:a}}function s(t,i){return"number"==typeof i?o(t,i):n(t,i)}function d(t,i){for(var e=t.data,r=t.width,a=t.height,h=[],n=0;n<e.length;n++)h[n]=e[n]/i;return{data:h,width:r,height:a}}function f(t,i){for(var e=t.data,r=t.width,a=t.height,h=i.data,n=[],o=0;o<e.length;o++)n[o]=e[o]/h[o];return{data:n,width:r,height:a}}function u(t,i){return"number"==typeof i?d(t,i):f(t,i)}function p(t,i){for(var e=t.data,r=t.width,a=t.height,h=[],n=0;n<e.length;n++)h[n]=e[n]*i;return{data:h,width:r,height:a}}function c(t,i){for(var e=t.data,r=t.width,a=t.height,h=i.data,n=[],o=0;o<e.length;o++)n[o]=e[o]*h[o];return{data:n,width:r,height:a}}function m(t,i){return"number"==typeof i?p(t,i):c(t,i)}function l(t){return m(t,t)}function v(t){return h(t)/t.data.length}t.exports={add2d:s,average:e,divide2d:u,floor:a,mean2d:v,multiply2d:m,square2d:l,sum:r,sum2d:h}},function(t,i,e){"use strict";var r=e(2),a=r.conv2,h=e(4),n=h.filter2,o=e(19),s=o.fspecial,d=e(20),f=d.imfilter,u=d.dimfilter,p=e(21),c=p.normpdf,m=e(22),l=m.ones,v=e(7),w=v.padarray,g=e(23),x=g.rgb2gray,b=e(24),y=b.skip2d,I=e(26),M=I.transpose,U=e(3),E=U.zeros;t.exports={conv2:a,dimfilter:u,filter2:n,fspecial:s,imfilter:f,normpdf:c,ones:l,padarray:w,rgb2gray:x,skip2d:y,transpose:M,zeros:E}},function(t,i,e){"use strict";function r(t,i){for(var e=t.data,r=t.width,a=t.height,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"full",o=r+i.width-1,s=a+i.height-1,d=f(s,o),u=d.data,p=0;p<i.height;p++)for(var c=0;c<i.width;c++){var m=i.data[p*i.width+c];if(m)for(var l=0;l<a;l++)for(var v=0;v<r;v++)u[(l+p)*o+v+c]+=e[l*r+v]*m}var w={data:u,width:o,height:s};return h(w,n,a,i.height,r,i.width)}function a(t,i,e){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"full",n=Math.max(i.height,i.width),o=Math.max(e.height,e.width),s=r(t,i,"full"),d=r(s,e,"full");return h(d,a,t.height,n,t.width,o)}function h(t,i,e,r,a,h){if("full"===i)return t;if("same"===i){var n=Math.ceil((t.height-e)/2),o=Math.ceil((t.width-a)/2);return s(t,n,e,o,a)}return s(t,r-1,e-r+1,h-1,a-h+1)}function n(){for(var t=arguments.length,i=Array(t),e=0;e<t;e++)i[e]=arguments[e];return i[2]&&i[2].data?a.apply(void 0,i):r.apply(void 0,i)}var o=e(25),s=o.sub,d=e(3),f=d.zeros;t.exports={conv2:n}},function(t,i,e){"use strict";function r(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return h(t,i,0)}var a=e(5),h=a.numbers;t.exports={zeros:r}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=[],h=0;h<r;h++)for(var n=0;n<e;n++)a[h*e+n]=i[(r-1-h)*e+e-1-n];return{data:a,width:e,height:r}}function a(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"same";return n(i,r(t),e)}var h=e(2),n=h.conv2;t.exports={filter2:a}},function(t,i){"use strict";function e(t,i,e){for(var r=[],a=0;a<i*t;a++)r[a]=e;return{data:r,width:i,height:t}}t.exports={numbers:e}},function(t,i){"use strict";function e(t,i){return t-i*Math.floor(t/i)}t.exports={mod:e}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=[],h=0;h<r;h++)for(var n=0;n<e;n++)a[h*e+n]=i[h*e+e-1-n];return{data:a,width:e,height:r}}function a(t){for(var i=t.data,e=t.width,r=t.height,a=[],h=0;h<r;h++)for(var n=0;n<e;n++)a[h*e+n]=i[(r-1-h)*e+n];return{data:a,width:e,height:r}}function h(t,i){for(var e=[],r=t.width+i.width,a=0;a<t.height;a++){for(var h=0;h<t.width;h++)e[a*r+h]=t.data[a*t.width+h];for(var n=0;n<i.width;n++)e[a*r+n+t.width]=i.data[a*i.width+n]}return{data:e,width:r,height:t.height}}function n(t,i){return{data:t.data.concat(i.data),height:t.height+i.height,width:t.width}}function o(t,i){for(var e=[],a=t.width+2*i,n=h(t,r(t)),o=0;o<t.height;o++)for(var s=-i;s<t.width+i;s++)e[o*a+s+i]=n.data[o*n.width+c(s,n.width)];return{data:e,width:a,height:t.height}}function s(t,i){for(var e=[],r=n(t,a(t)),h=-i;h<t.height+i;h++)for(var o=0;o<t.width;o++)e[(h+i)*t.width+o]=r.data[c(h,r.height)*t.width+o];return{data:e,width:t.width,height:t.height+2*i}}function d(t,i){for(var e=u(i,2),r=e[0],a=e[1],h=[],n=t.width+2*a,o=t.height+2*r,s=-r;s<0;s++){for(var d=-a;d<0;d++)h[(s+r)*n+d+a]=t.data[(Math.abs(s)-1)*t.width+Math.abs(d)-1];for(var f=0;f<t.width;f++)h[(s+r)*n+f+a]=t.data[(Math.abs(s)-1)*t.width+f];for(var p=t.width;p<t.width+a;p++)h[(s+r)*n+p+a]=t.data[(Math.abs(s)-1)*t.width+2*t.width-p-1]}for(var c=0;c<t.height;c++){for(var m=-a;m<0;m++)h[(c+r)*n+m+a]=t.data[c*t.width+Math.abs(m)-1];for(var l=0;l<t.width;l++)h[(c+r)*n+l+a]=t.data[c*t.width+l];for(var v=t.width;v<t.width+a;v++)h[(c+r)*n+v+a]=t.data[c*t.width+2*t.width-v-1]}for(var w=t.height;w<t.height+r;w++){for(var g=-a;g<0;g++)h[(w+r)*n+g+a]=t.data[(2*t.height-w-1)*t.width+Math.abs(g)-1];for(var x=0;x<t.width;x++)h[(w+r)*n+x+a]=t.data[(2*t.height-w-1)*t.width+x];for(var b=t.width;b<t.width+a;b++)h[(w+r)*n+b+a]=t.data[(2*t.height-w-1)*t.width+2*t.width-b-1]}return{data:h,width:n,height:o}}function f(t,i){var e=u(i,2),r=e[0],a=e[1];return t.height>=r&&t.width>=a?d(t,[r,a]):s(o(t,a),r)}var u=function(){function t(t,i){var e=[],r=!0,a=!1,h=void 0;try{for(var n,o=t[Symbol.iterator]();!(r=(n=o.next()).done)&&(e.push(n.value),!i||e.length!==i);r=!0);}catch(t){a=!0,h=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw h}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),p=e(6),c=p.mod;t.exports={padarray:f}},function(t,i,e){"use strict";function r(t,i,e){var r=p("gaussian",e.windowSize,1.5),a=Math.pow(2,e.bitDepth)-1,f=Math.pow(e.k1*a,2),v=Math.pow(e.k2*a,2);if(r=n(r,d(r)),"original"===e.downsample){var w=Math.min(t.width,t.height)/e.maxSize,g=Math.round(w),x=Math.max(1,g);if(x>1){var b=m(x);b=n(b,d(b)),t=c(t,b,"symmetric","same"),i=c(i,b,"symmetric","same"),t=l(t,[0,x,t.height],[0,x,t.width]),i=l(i,[0,x,i.height],[0,x,i.width])}}var y=u(r,t,"valid"),I=u(r,i,"valid"),M=s(y),U=s(I),E=o(y,I),z=s(t),S=s(i),L=o(M,-1),k=o(U,-1),P=o(E,-1),j=h(u(r,z,"valid"),L),q=h(u(r,S,"valid"),k),B=h(u(r,o(t,i),"valid"),P);if(f>0&&v>0){var O=h(o(E,2),f),A=h(o(B,2),v),D=h(h(M,U),f),T=h(h(j,q),v);return n(o(O,A),o(D,T))}var _=o(E,2),C=o(B,2),F=h(M,U),G=h(j,q);return n(o(_,C),o(F,G))}var a=e(0),h=a.add2d,n=a.divide2d,o=a.multiply2d,s=a.square2d,d=a.sum2d,f=e(1),u=f.filter2,p=f.fspecial,c=f.imfilter,m=f.ones,l=f.skip2d;t.exports={originalSsim:r}},function(t,i,e){"use strict";function r(t,i,e){if(e&&t>=e&&i>=e){var r=t/i;return r>1?{height:e,width:Math.round(e/r)}:{height:Math.round(e*r),width:e}}return{width:t,height:i}}function a(t,i){var e=u(t),a=e.ext,h=void 0;if("bmp"===a)h=p.decode(t);else{var n=new f.Image;n.src=t;var o=r(n.width,n.height,i),s=o.width,d=o.height,c=new f(s,d),m=c.getContext("2d");m.drawImage(n,0,0,n.width,n.height,0,0,s,d),h=m.getImageData(0,0,s,d)}return new Promise(function(t){t(h)})}function h(t){return new Promise(function(i,e){d.get(t).on("response",function(t){var e=[];t.on("data",function(t){return e.push(t)}),t.on("end",function(){return i(Buffer.concat(e))})}).on("error",e)})}function n(t){return new Promise(function(i,e){s.readFile(t,function(t,r){return t?void e(t):void i(r)})})}function o(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,e=void 0;return e=Buffer.isBuffer(t)?Promise.resolve(t):0===t.indexOf("http://")||0===t.indexOf("https://")?h(t):n(t),e.then(function(t){return a(t,i)})}var s=e(28),d=e(29),f=e(27),u=e(18),p=e(14);t.exports={readpixels:o}},function(t,i,e){"use strict";function r(t,i,e){var r=b(a(e.windowSize),0,1.5),s=Math.pow(2,e.bitDepth)-1,d=Math.pow(e.k1*s,2),u=Math.pow(e.k2*s,2);r=c(r,v(r));var w=I(r);if("original"===e.downsample){var x=o(t,i,e.maxSize),y=f(x,2);t=y[0],i=y[1]}var M=g(t,r,w,"valid"),U=g(i,r,w,"valid"),E=l(M),z=l(U),S=m(M,U),L=l(t),k=l(i),P=m(E,-1),j=m(z,-1),q=m(S,-1),B=p(g(L,r,w,"valid"),P),O=p(g(k,r,w,"valid"),j),A=p(g(m(t,i),r,w,"valid"),q);return d>0&&u>0?h(S,A,E,z,B,O,d,u):n(S,A,E,z,B,O)}function a(t){for(var i=Math.floor(t/2),e=[],r=-i;r<=i;r++)e[r+i]=Math.abs(r);return{data:e,width:e.length,height:1}}function h(t,i,e,r,a,h,n,o){var s=p(m(t,2),n),d=p(m(i,2),o),f=p(p(e,r),n),u=p(p(a,h),o);return c(m(s,d),m(f,u))}function n(t,i,e,r,a,h){var n=m(t,2),o=m(i,2),s=p(e,r),d=p(a,h);return c(m(n,o),m(s,d))}function o(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:256,r=Math.min(t.width,i.height)/e,a=Math.round(r);if(a>1){var h=d(a),n=h.filter,o=h.filtert;t=s(t,n,o,a),i=s(i,n,o,a)}return[t,i]}function s(t,i,e,r){var a=x(t,i,e,"symmetric","same");return y(a,[0,r,a.height],[0,r,a.width])}function d(t){for(var i=Math.sqrt(1/(t*t)),e=[],r=0;r<t;r++)e[r]=i;return{filter:{data:e,width:t,height:1},filtert:{data:e,width:1,height:t}}}var f=function(){function t(t,i){var e=[],r=!0,a=!1,h=void 0;try{for(var n,o=t[Symbol.iterator]();!(r=(n=o.next()).done)&&(e.push(n.value),!i||e.length!==i);r=!0);}catch(t){a=!0,h=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw h}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),u=e(0),p=u.add2d,c=u.divide2d,m=u.multiply2d,l=u.square2d,v=u.sum2d,w=e(1),g=w.conv2,x=w.dimfilter,b=w.normpdf,y=w.skip2d,I=w.transpose;t.exports={ssim:r}},function(t,i){"use strict";function e(t){throw new Error("Missing "+t+" parameter")}t.exports={force:e}},function(t,i){"use strict";t.exports={type:"deploy",version:"2.1.0"}},function(t,i){t.exports={windowSize:11,k1:.01,k2:.03,bitDepth:8,downsample:"original",ssim:"fast",maxSize:256}},function(t,i,e){"use strict";var r=e(16),a=e(15);t.exports={encode:r,decode:a}},function(t,i){"use strict";function e(t,i){if(this.pos=0,this.buffer=t,this.is_with_alpha=!!i,this.flag=this.buffer.toString("utf-8",0,this.pos+=2),"BM"!=this.flag)throw new Error("Invalid BMP File");this.parseHeader(),this.parseBGR()}e.prototype.parseHeader=function(){if(this.fileSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.reserved=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.offset=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.headerSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.width=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.height=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.planes=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.bitPP=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.compress=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.rawSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.hr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.vr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.colors=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.importantColors=this.buffer.readUInt32LE(this.pos),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var i=0;i<t;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),h=this.buffer.readUInt8(this.pos++);this.palette[i]={red:a,green:r,blue:e,quad:h}}}},e.prototype.parseBGR=function(){this.pos=this.offset;try{var t="bit"+this.bitPP,i=this.width*this.height*4;this.data=new Buffer(i),this[t]()}catch(t){console.log("bit decode error:"+t)}},e.prototype.bit1=function(){for(var t=Math.ceil(this.width/8),i=t%4,e=this.height-1;e>=0;e--){for(var r=0;r<t;r++)for(var a=this.buffer.readUInt8(this.pos++),h=e*this.width*4+8*r*4,n=0;n<8&&8*r+n<this.width;n++){var o=this.palette[a>>7-n&1];this.data[h+4*n]=o.blue,this.data[h+4*n+1]=o.green,this.data[h+4*n+2]=o.red,this.data[h+4*n+3]=255}0!=i&&(this.pos+=4-i)}},e.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),i=t%4,e=this.height-1;e>=0;e--){for(var r=0;r<t;r++){var a=this.buffer.readUInt8(this.pos++),h=e*this.width*4+2*r*4,n=a>>4,o=15&a,s=this.palette[n];if(this.data[h]=s.blue,this.data[h+1]=s.green,this.data[h+2]=s.red,this.data[h+3]=255,2*r+1>=this.width)break;s=this.palette[o],this.data[h+4]=s.blue,this.data[h+4+1]=s.green,this.data[h+4+2]=s.red,this.data[h+4+3]=255}0!=i&&(this.pos+=4-i)}},e.prototype.bit8=function(){for(var t=this.width%4,i=this.height-1;i>=0;i--){for(var e=0;e<this.width;e++){var r=this.buffer.readUInt8(this.pos++),a=i*this.width*4+4*e;if(r<this.palette.length){var h=this.palette[r];this.data[a]=h.blue,this.data[a+1]=h.green,this.data[a+2]=h.red,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!=t&&(this.pos+=4-t)}},e.prototype.bit15=function(){for(var t=this.width%3,i=parseInt("11111",2),e=i,r=this.height-1;r>=0;r--){for(var a=0;a<this.width;a++){var h=this.buffer.readUInt16LE(this.pos);this.pos+=2;var n=(h&e)/e*255|0,o=(h>>5&e)/e*255|0,s=(h>>10&e)/e*255|0,d=h>>15?255:0,f=r*this.width*4+4*a;this.data[f]=s,this.data[f+1]=o,this.data[f+2]=n,this.data[f+3]=d}this.pos+=t}},e.prototype.bit16=function(){for(var t=this.width%3,i=parseInt("11111",2),e=i,r=parseInt("111111",2),a=r,h=this.height-1;h>=0;h--){for(var n=0;n<this.width;n++){var o=this.buffer.readUInt16LE(this.pos);this.pos+=2;var s=255,d=(o&e)/e*255|0,f=(o>>5&a)/a*255|0,u=(o>>11)/e*255|0,p=h*this.width*4+4*n;this.data[p]=u,this.data[p+1]=f,this.data[p+2]=d,this.data[p+3]=s}this.pos+=t}},e.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var i=0;i<this.width;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),h=t*this.width*4+4*i;this.data[h]=a,this.data[h+1]=r,this.data[h+2]=e,this.data[h+3]=255}this.pos+=this.width%4}},e.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--){for(var i=0;i<this.width;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),h=this.buffer.readUInt8(this.pos++),n=t*this.width*4+4*i;this.data[n]=a,this.data[n+1]=r,this.data[n+2]=e,this.data[n+3]=h}this.pos+=this.width%4}},e.prototype.getData=function(){return this.data},t.exports=function(t){var i=new e(t);return{data:i.getData(),width:i.width,height:i.height}}},function(t,i){"use strict";function e(t){this.buffer=t.data,this.width=t.width,this.height=t.height,this.extraBytes=this.width%4,this.rgbSize=this.height*(3*this.width+this.extraBytes),this.headerInfoSize=40,this.data=[],this.flag="BM",this.reserved=0,this.offset=54,this.fileSize=this.rgbSize+this.offset,this.planes=1,this.bitPP=24,this.compress=0,this.hr=0,this.vr=0,this.colors=0,this.importantColors=0}e.prototype.encode=function(){var t=new Buffer(this.offset+this.rgbSize);this.pos=0,t.write(this.flag,this.pos,2),this.pos+=2,t.writeUInt32LE(this.fileSize,this.pos),this.pos+=4,t.writeUInt32LE(this.reserved,this.pos),this.pos+=4,t.writeUInt32LE(this.offset,this.pos),this.pos+=4,t.writeUInt32LE(this.headerInfoSize,this.pos),this.pos+=4,t.writeUInt32LE(this.width,this.pos),this.pos+=4,t.writeUInt32LE(this.height,this.pos),this.pos+=4,t.writeUInt16LE(this.planes,this.pos),this.pos+=2,t.writeUInt16LE(this.bitPP,this.pos),this.pos+=2,t.writeUInt32LE(this.compress,this.pos),this.pos+=4,t.writeUInt32LE(this.rgbSize,this.pos),this.pos+=4,t.writeUInt32LE(this.hr,this.pos),this.pos+=4,t.writeUInt32LE(this.vr,this.pos),this.pos+=4,t.writeUInt32LE(this.colors,this.pos),this.pos+=4,t.writeUInt32LE(this.importantColors,this.pos),this.pos+=4;for(var i=0,e=3*this.width+this.extraBytes,r=this.height-1;r>=0;r--){for(var a=0;a<this.width;a++){var h=this.pos+r*e+3*a;t[h+2]=this.buffer[i++],t[h+1]=this.buffer[i++],t[h]=this.buffer[i++],i++}if(this.extraBytes>0){var n=this.pos+r*e+3*this.width;t.fill(0,n,n+this.extraBytes)}}return t},t.exports=function(t,i){"undefined"==typeof i&&(i=100);var r=new e(t),a=r.encode();return{data:a,width:t.width,height:t.height}}},function(t,i){"use strict";t.exports=function(t){return t&&t.length>1?255===t[0]&&216===t[1]&&255===t[2]?{ext:"jpg",mime:"image/jpeg"}:137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]?{ext:"png",mime:"image/png"}:71===t[0]&&73===t[1]&&70===t[2]?{ext:"gif",mime:"image/gif"}:87===t[8]&&69===t[9]&&66===t[10]&&80===t[11]?{ext:"webp",mime:"image/webp"}:70===t[0]&&76===t[1]&&73===t[2]&&70===t[3]?{ext:"flif",mime:"image/flif"}:(73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3])&&67===t[8]&&82===t[9]?{ext:"cr2",mime:"image/x-canon-cr2"}:73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3]?{ext:"tif",mime:"image/tiff"}:66===t[0]&&77===t[1]?{ext:"bmp",mime:"image/bmp"}:73===t[0]&&73===t[1]&&188===t[2]?{ext:"jxr",mime:"image/vnd.ms-photo"}:56===t[0]&&66===t[1]&&80===t[2]&&83===t[3]?{ext:"psd",mime:"image/vnd.adobe.photoshop"}:80===t[0]&&75===t[1]&&3===t[2]&&4===t[3]&&109===t[30]&&105===t[31]&&109===t[32]&&101===t[33]&&116===t[34]&&121===t[35]&&112===t[36]&&101===t[37]&&97===t[38]&&112===t[39]&&112===t[40]&&108===t[41]&&105===t[42]&&99===t[43]&&97===t[44]&&116===t[45]&&105===t[46]&&111===t[47]&&110===t[48]&&47===t[49]&&101===t[50]&&112===t[51]&&117===t[52]&&98===t[53]&&43===t[54]&&122===t[55]&&105===t[56]&&112===t[57]?{ext:"epub",mime:"application/epub+zip"}:80===t[0]&&75===t[1]&&3===t[2]&&4===t[3]&&77===t[30]&&69===t[31]&&84===t[32]&&65===t[33]&&45===t[34]&&73===t[35]&&78===t[36]&&70===t[37]&&47===t[38]&&109===t[39]&&111===t[40]&&122===t[41]&&105===t[42]&&108===t[43]&&108===t[44]&&97===t[45]&&46===t[46]&&114===t[47]&&115===t[48]&&97===t[49]?{ext:"xpi",mime:"application/x-xpinstall"}:80!==t[0]||75!==t[1]||3!==t[2]&&5!==t[2]&&7!==t[2]||4!==t[3]&&6!==t[3]&&8!==t[3]?117===t[257]&&115===t[258]&&116===t[259]&&97===t[260]&&114===t[261]?{ext:"tar",mime:"application/x-tar"}:82!==t[0]||97!==t[1]||114!==t[2]||33!==t[3]||26!==t[4]||7!==t[5]||0!==t[6]&&1!==t[6]?31===t[0]&&139===t[1]&&8===t[2]?{ext:"gz",mime:"application/gzip"}:66===t[0]&&90===t[1]&&104===t[2]?{ext:"bz2",mime:"application/x-bzip2"}:55===t[0]&&122===t[1]&&188===t[2]&&175===t[3]&&39===t[4]&&28===t[5]?{ext:"7z",mime:"application/x-7z-compressed"}:120===t[0]&&1===t[1]?{ext:"dmg",mime:"application/x-apple-diskimage"}:0===t[0]&&0===t[1]&&0===t[2]&&(24===t[3]||32===t[3])&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]||51===t[0]&&103===t[1]&&112===t[2]&&53===t[3]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&109===t[8]&&112===t[9]&&52===t[10]&&50===t[11]&&109===t[16]&&112===t[17]&&52===t[18]&&49===t[19]&&109===t[20]&&112===t[21]&&52===t[22]&&50===t[23]&&105===t[24]&&115===t[25]&&111===t[26]&&109===t[27]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&105===t[8]&&115===t[9]&&111===t[10]&&109===t[11]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&109===t[8]&&112===t[9]&&52===t[10]&&50===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&0===t[15]?{ext:"mp4",mime:"video/mp4"}:0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&77===t[8]&&52===t[9]&&86===t[10]?{ext:"m4v",mime:"video/x-m4v"}:77===t[0]&&84===t[1]&&104===t[2]&&100===t[3]?{ext:"mid",mime:"audio/midi"}:109===t[31]&&97===t[32]&&116===t[33]&&114===t[34]&&111===t[35]&&115===t[36]&&107===t[37]&&97===t[38]?{ext:"mkv",mime:"video/x-matroska"}:26===t[0]&&69===t[1]&&223===t[2]&&163===t[3]?{ext:"webm",mime:"video/webm"}:0===t[0]&&0===t[1]&&0===t[2]&&20===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]?{ext:"mov",mime:"video/quicktime"}:82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&65===t[8]&&86===t[9]&&73===t[10]?{ext:"avi",mime:"video/x-msvideo"}:48===t[0]&&38===t[1]&&178===t[2]&&117===t[3]&&142===t[4]&&102===t[5]&&207===t[6]&&17===t[7]&&166===t[8]&&217===t[9]?{ext:"wmv",mime:"video/x-ms-wmv"}:0===t[0]&&0===t[1]&&1===t[2]&&"b"===t[3].toString(16)[0]?{ext:"mpg",mime:"video/mpeg"}:73===t[0]&&68===t[1]&&51===t[2]||255===t[0]&&251===t[1]?{ext:"mp3",mime:"audio/mpeg"}:102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&77===t[8]&&52===t[9]&&65===t[10]||77===t[0]&&52===t[1]&&65===t[2]&&32===t[3]?{ext:"m4a",mime:"audio/m4a"}:79===t[28]&&112===t[29]&&117===t[30]&&115===t[31]&&72===t[32]&&101===t[33]&&97===t[34]&&100===t[35]?{ext:"opus",mime:"audio/opus"}:79===t[0]&&103===t[1]&&103===t[2]&&83===t[3]?{ext:"ogg",mime:"audio/ogg"}:102===t[0]&&76===t[1]&&97===t[2]&&67===t[3]?{ext:"flac",mime:"audio/x-flac"}:82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&87===t[8]&&65===t[9]&&86===t[10]&&69===t[11]?{ext:"wav",mime:"audio/x-wav"}:35===t[0]&&33===t[1]&&65===t[2]&&77===t[3]&&82===t[4]&&10===t[5]?{ext:"amr",mime:"audio/amr"}:37===t[0]&&80===t[1]&&68===t[2]&&70===t[3]?{ext:"pdf",mime:"application/pdf"}:77===t[0]&&90===t[1]?{ext:"exe",mime:"application/x-msdownload"}:67!==t[0]&&70!==t[0]||87!==t[1]||83!==t[2]?123===t[0]&&92===t[1]&&114===t[2]&&116===t[3]&&102===t[4]?{ext:"rtf",mime:"application/rtf"}:119===t[0]&&79===t[1]&&70===t[2]&&70===t[3]&&(0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]||79===t[4]&&84===t[5]&&84===t[6]&&79===t[7])?{ext:"woff",mime:"application/font-woff"}:119===t[0]&&79===t[1]&&70===t[2]&&50===t[3]&&(0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]||79===t[4]&&84===t[5]&&84===t[6]&&79===t[7])?{ext:"woff2",mime:"application/font-woff"}:76===t[34]&&80===t[35]&&(0===t[8]&&0===t[9]&&1===t[10]||1===t[8]&&0===t[9]&&2===t[10]||2===t[8]&&0===t[9]&&2===t[10])?{ext:"eot",mime:"application/octet-stream"}:0===t[0]&&1===t[1]&&0===t[2]&&0===t[3]&&0===t[4]?{ext:"ttf",mime:"application/font-sfnt"}:79===t[0]&&84===t[1]&&84===t[2]&&79===t[3]&&0===t[4]?{ext:"otf",mime:"application/font-sfnt"}:0===t[0]&&0===t[1]&&1===t[2]&&0===t[3]?{ext:"ico",mime:"image/x-icon"}:70===t[0]&&76===t[1]&&86===t[2]&&1===t[3]?{ext:"flv",mime:"video/x-flv"}:37===t[0]&&33===t[1]?{ext:"ps",mime:"application/postscript"}:253===t[0]&&55===t[1]&&122===t[2]&&88===t[3]&&90===t[4]&&0===t[5]?{ext:"xz",mime:"application/x-xz"}:83===t[0]&&81===t[1]&&76===t[2]&&105===t[3]?{ext:"sqlite",mime:"application/x-sqlite3"}:78===t[0]&&69===t[1]&&83===t[2]&&26===t[3]?{ext:"nes",mime:"application/x-nintendo-nes-rom"}:67===t[0]&&114===t[1]&&50===t[2]&&52===t[3]?{ext:"crx",mime:"application/x-google-chrome-extension"}:77===t[0]&&83===t[1]&&67===t[2]&&70===t[3]||73===t[0]&&83===t[1]&&99===t[2]&&40===t[3]?{ext:"cab",mime:"application/vnd.ms-cab-compressed"}:33===t[0]&&60===t[1]&&97===t[2]&&114===t[3]&&99===t[4]&&104===t[5]&&62===t[6]&&10===t[7]&&100===t[8]&&101===t[9]&&98===t[10]&&105===t[11]&&97===t[12]&&110===t[13]&&45===t[14]&&98===t[15]&&105===t[16]&&110===t[17]&&97===t[18]&&114===t[19]&&121===t[20]?{ext:"deb",mime:"application/x-deb"}:33===t[0]&&60===t[1]&&97===t[2]&&114===t[3]&&99===t[4]&&104===t[5]&&62===t[6]?{ext:"ar",mime:"application/x-unix-archive"}:237===t[0]&&171===t[1]&&238===t[2]&&219===t[3]?{ext:"rpm",mime:"application/x-rpm"}:31===t[0]&&160===t[1]||31===t[0]&&157===t[1]?{ext:"Z",mime:"application/x-compress"}:76===t[0]&&90===t[1]&&73===t[2]&&80===t[3]?{ext:"lz",mime:"application/x-lzip"}:208===t[0]&&207===t[1]&&17===t[2]&&224===t[3]&&161===t[4]&&177===t[5]&&26===t[6]&&225===t[7]?{ext:"msi",mime:"application/x-msi"}:null:{ext:"swf",mime:"application/x-shockwave-flash"}:{ext:"rar",mime:"application/x-rar-compressed"}:{ext:"zip",mime:"application/zip"}:null}},function(t,i,e){"use strict";var r=e(17);t.exports=function(t){var i=["jpg","png","gif","webp","tif","bmp","jxr","psd"],e=r(t);return i.indexOf(e&&e.ext)!==-1?e:null}},function(t,i,e){"use strict";function r(t){for(var i=[],e=2*t+1,r=0;r<e;r++)for(var a=0;a<e;a++)i[r*e+a]=Math.pow(r-t,2)+Math.pow(a-t,2);return{data:i,width:e,height:e}}function a(t,i){for(var e=t.data,r=t.width,a=t.height,h=[],n=0;n<e.length;n++)h[n]=Math.exp(-e[n]/(2*Math.pow(i,2)));return{data:h,width:r,height:a}}function h(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"gaussian",arguments.length>1&&void 0!==arguments[1]?arguments[1]:3),i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.5;t=(t-1)/2;var e=r(t),h=a(e,i),n=o(h);return s(h,n)}var n=e(0),o=n.sum2d,s=n.divide2d;t.exports={fspecial:h}},function(t,i,e){"use strict";function r(t,i,e){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"symmetric",n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"same",o=Math.max(i.height,i.width),s=Math.max(e.height,e.width);return t=a(t,s,o,r),n=h(n),v(t,i,e,n)}function a(t,i,e,r){if(t=f(t,p([i/2,e/2]),r),0===s(i,2)&&(t.data=t.data.slice(0,-t.width),t.height--),0===s(e,2)){for(var a=[],h=0;h<t.data.length;h++)(h+1)%t.width!==0&&a.push(t.data[h]);t.data=a,t.width--}return t}function h(t){return"same"===t&&(t="valid"),t}function n(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"symmetric",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"same";return t=a(t,i.width,i.height,e),r=h(r),m(i,t,r)}var o=e(6),s=o.mod,d=e(7),f=d.padarray,u=e(0),p=u.floor,c=e(4),m=c.filter2,l=e(2),v=l.conv2;t.exports={imfilter:n,dimfilter:r}},function(t,i){"use strict";function e(t){for(var i=t.data,e=t.width,r=t.height,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,h=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=2.5066282746310007,o=[],s=0;s<i.length;s++){var d=(i[s]-a)/h;o[s]=Math.exp(-Math.pow(d,2)/2)/(h*n)}return{data:o,width:e,height:r}}t.exports={normpdf:e}},function(t,i,e){"use strict";function r(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return h(t,i,1)}var a=e(5),h=a.numbers;t.exports={ones:r}},function(t,i){"use strict";function e(t){var i=a(t,3),e=i[0],r=i[1],h=i[2];return Math.round(.29894*e+.58704*r+.11402*h)}function r(t){for(var i=t.data,r=t.width,a=t.height,h=[],n=0;n<r;n++)for(var o=0;o<a;o++){var s=n+o*r,d=4*s;h[s]=e([i[d],i[d+1],i[d+2],i[d+3]])}return{data:h,width:r,height:a}}var a=function(){function t(t,i){var e=[],r=!0,a=!1,h=void 0;try{for(var n,o=t[Symbol.iterator]();!(r=(n=o.next()).done)&&(e.push(n.value),!i||e.length!==i);r=!0);}catch(t){a=!0,h=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw h}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.exports={rgb2gray:r}},function(t,i){"use strict";function e(t,i,e){for(var a=r(i,3),h=a[0],n=a[1],o=a[2],s=r(e,3),d=s[0],f=s[1],u=s[2],p=[],c=Math.ceil((u-d)/f),m=Math.ceil((o-h)/n),l=0;l<m;l++)for(var v=0;v<c;v++){var w=h+l*n,g=d+v*f;p[l*c+v]=t.data[w*t.width+g]}return{data:p,width:c,height:m}}var r=function(){function t(t,i){var e=[],r=!0,a=!1,h=void 0;try{for(var n,o=t[Symbol.iterator]();!(r=(n=o.next()).done)&&(e.push(n.value),!i||e.length!==i);r=!0);}catch(t){a=!0,h=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw h}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.exports={skip2d:e}},function(t,i){"use strict";function e(t,i,e,r,a){for(var h=t.data,n=t.width,o=[],s=0;s<e;s++)for(var d=0;d<a;d++)o[s*a+d]=h[(r+s)*n+i+d];return{data:o,width:a,height:e}}t.exports={sub:e}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=h(e,r),n=a.data,o=0;o<r;o++)for(var s=0;s<e;s++)n[s*r+o]=i[o*e+s];return{data:n,height:e,width:r}}var a=e(3),h=a.zeros;t.exports={transpose:r}},function(i,e){i.exports=t},function(t,i){t.exports=require("fs")},function(t,i){t.exports=require("https")},function(t,i,e){"use strict";function r(t){if(Object.keys(t).forEach(function(t){if(!(t in I))throw new Error('"'+t+'" is not a valid option')}),"k1"in t&&("number"!=typeof t.k1||t.k1<0))throw new Error("Invalid k1 value. Default is "+I.k1);if("k2"in t&&("number"!=typeof t.k2||t.k2<0))throw new Error("Invalid k2 value. Default is "+I.k2)}function a(t){return r(t),Object.assign({},I,t)}function h(t){var i=d(t,2),e=i[0],r=i[1];if(e.width!==r.width||e.height!==r.height)throw new Error("Image dimensions do not match");return[e,r]}function n(t){var i=d(t,2),e=i[0],r=i[1];return e=c(e),r=c(r),[e,r]}function o(t,i){return"fast"===i.downsample?u(t,i.maxSize):u(t)}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y("image1"),i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:y("image2"),e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(new Date).getTime();e=a(e);var s="fast"===e.ssim?w:x;return Promise.all([o(t,e),o(i,e)]).then(h).then(n).then(function(t){var i=d(t,2),r=i[0],a=i[1];return s(r,a,e)}).then(function(t){return{ssim_map:t,mssim:l(t),performance:(new Date).getTime()-r}})}var d=function(){function t(t,i){var e=[],r=!0,a=!1,h=void 0;try{for(var n,o=t[Symbol.iterator]();!(r=(n=o.next()).done)&&(e.push(n.value),!i||e.length!==i);r=!0);}catch(t){a=!0,h=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw h}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),f=e(9),u=f.readpixels,p=e(1),c=p.rgb2gray,m=e(0),l=m.mean2d,v=e(10),w=v.ssim,g=e(8),x=g.originalSsim,b=e(11),y=b.force,I=e(13),M=e(12),U=M.version;s.ssim=w,s.version=U,t.exports=s}])}); | ||
!function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(require("canvas"),require("fs"),require("https")):"function"==typeof define&&define.amd?define(["canvas","fs","https"],i):"object"==typeof exports?exports.main=i(require("canvas"),require("fs"),require("https")):t.main=i(t.canvas,t.fs,t.https)}(this,function(t,i,e){return function(t){function i(r){if(e[r])return e[r].exports;var a=e[r]={i:r,l:!1,exports:{}};return t[r].call(a.exports,a,a.exports,i),a.l=!0,a.exports}var e={};return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,i,e){Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:e})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=30)}([function(t,i){"use strict";function e(t){return r(t)/t.length}function r(t){for(var i=0,e=0;e<t.length;e++)i+=t[e];return i}function a(t){for(var i=new Array(t.length),e=0;e<t.length;e++)i[e]=Math.floor(t[e]);return i}function n(t){for(var i=t.data,e=0,r=0;r<i.length;r++)e+=i[r];return e}function h(t,i){for(var e=t.data,r=t.width,a=t.height,n=i.data,h=new Array(e.length),o=0;o<a;o++)for(var s=o*r,d=0;d<r;d++)h[s+d]=e[s+d]+n[s+d];return{data:h,width:r,height:a}}function o(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=e[h]+i;return{data:n,width:r,height:a}}function s(t,i){return"number"==typeof i?o(t,i):h(t,i)}function d(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=e[h]/i;return{data:n,width:r,height:a}}function f(t,i){for(var e=t.data,r=t.width,a=t.height,n=i.data,h=new Array(e.length),o=0;o<e.length;o++)h[o]=e[o]/n[o];return{data:h,width:r,height:a}}function u(t,i){return"number"==typeof i?d(t,i):f(t,i)}function p(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=e[h]*i;return{data:n,width:r,height:a}}function c(t,i){for(var e=t.data,r=t.width,a=t.height,n=i.data,h=new Array(e.length),o=0;o<e.length;o++)h[o]=e[o]*n[o];return{data:h,width:r,height:a}}function m(t,i){return"number"==typeof i?p(t,i):c(t,i)}function l(t){return m(t,t)}function v(t){return n(t)/t.data.length}t.exports={add2d:s,average:e,divide2d:u,floor:a,mean2d:v,multiply2d:m,square2d:l,sum:r,sum2d:n}},function(t,i,e){"use strict";var r=e(2),a=r.conv2,n=e(4),h=n.filter2,o=e(19),s=o.fspecial,d=e(20),f=d.imfilter,u=d.dimfilter,p=e(21),c=p.normpdf,m=e(22),l=m.ones,v=e(7),w=v.padarray,g=e(23),x=g.rgb2gray,b=e(24),y=b.skip2d,I=e(26),M=I.transpose,U=e(3),E=U.zeros;t.exports={conv2:a,dimfilter:u,filter2:h,fspecial:s,imfilter:f,normpdf:c,ones:l,padarray:w,rgb2gray:x,skip2d:y,transpose:M,zeros:E}},function(t,i,e){"use strict";function r(t,i){for(var e=t.data,r=t.width,a=t.height,h=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"full",o=r+i.width-1,s=a+i.height-1,d=f(s,o),u=d.data,p=0;p<i.height;p++)for(var c=0;c<i.width;c++){var m=i.data[p*i.width+c];if(m)for(var l=0;l<a;l++)for(var v=0;v<r;v++)u[(l+p)*o+v+c]+=e[l*r+v]*m}var w={data:u,width:o,height:s};return n(w,h,a,i.height,r,i.width)}function a(t,i,e){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"full",h=Math.max(i.height,i.width),o=Math.max(e.height,e.width),s=r(t,i,"full"),d=r(s,e,"full");return n(d,a,t.height,h,t.width,o)}function n(t,i,e,r,a,n){if("full"===i)return t;if("same"===i){var h=Math.ceil((t.height-e)/2),o=Math.ceil((t.width-a)/2);return s(t,h,e,o,a)}return s(t,r-1,e-r+1,n-1,a-n+1)}function h(){for(var t=arguments.length,i=Array(t),e=0;e<t;e++)i[e]=arguments[e];return i[2]&&i[2].data?a.apply(void 0,i):r.apply(void 0,i)}var o=e(25),s=o.sub,d=e(3),f=d.zeros;t.exports={conv2:h}},function(t,i,e){"use strict";function r(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return n(t,i,0)}var a=e(5),n=a.numbers;t.exports={zeros:r}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=new Array(i.length),n=0;n<r;n++)for(var h=0;h<e;h++)a[n*e+h]=i[(r-1-n)*e+e-1-h];return{data:a,width:e,height:r}}function a(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"same";return h(i,r(t),e)}var n=e(2),h=n.conv2;t.exports={filter2:a}},function(t,i){"use strict";function e(t,i,e){for(var r=i*t,a=new Array(r),n=0;n<r;n++)a[n]=e;return{data:a,width:i,height:t}}t.exports={numbers:e}},function(t,i){"use strict";function e(t,i){return t-i*Math.floor(t/i)}t.exports={mod:e}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=new Array(i.length),n=0;n<r;n++)for(var h=0;h<e;h++)a[n*e+h]=i[n*e+e-1-h];return{data:a,width:e,height:r}}function a(t){for(var i=t.data,e=t.width,r=t.height,a=new Array(i.length),n=0;n<r;n++)for(var h=0;h<e;h++)a[n*e+h]=i[(r-1-n)*e+h];return{data:a,width:e,height:r}}function n(t,i){for(var e=t.width+i.width,r=new Array(t.height*e),a=0;a<t.height;a++){for(var n=0;n<t.width;n++)r[a*e+n]=t.data[a*t.width+n];for(var h=0;h<i.width;h++)r[a*e+h+t.width]=i.data[a*i.width+h]}return{data:r,width:e,height:t.height}}function h(t,i){return{data:t.data.concat(i.data),height:t.height+i.height,width:t.width}}function o(t,i){for(var e=t.width+2*i,a=new Array(e*t.height),h=n(t,r(t)),o=0;o<t.height;o++)for(var s=-i;s<t.width+i;s++)a[o*e+s+i]=h.data[o*h.width+c(s,h.width)];return{data:a,width:e,height:t.height}}function s(t,i){for(var e=h(t,a(t)),r=t.height+2*i,n=new Array(t.width*r),o=-i;o<t.height+i;o++)for(var s=0;s<t.width;s++)n[(o+i)*t.width+s]=e.data[c(o,e.height)*t.width+s];return{data:n,width:t.width,height:r}}function d(t,i){for(var e=u(i,2),r=e[0],a=e[1],n=t.width+2*a,h=t.height+2*r,o=new Array(n*h),s=-r;s<0;s++){for(var d=-a;d<0;d++)o[(s+r)*n+d+a]=t.data[(Math.abs(s)-1)*t.width+Math.abs(d)-1];for(var f=0;f<t.width;f++)o[(s+r)*n+f+a]=t.data[(Math.abs(s)-1)*t.width+f];for(var p=t.width;p<t.width+a;p++)o[(s+r)*n+p+a]=t.data[(Math.abs(s)-1)*t.width+2*t.width-p-1]}for(var c=0;c<t.height;c++){for(var m=-a;m<0;m++)o[(c+r)*n+m+a]=t.data[c*t.width+Math.abs(m)-1];for(var l=0;l<t.width;l++)o[(c+r)*n+l+a]=t.data[c*t.width+l];for(var v=t.width;v<t.width+a;v++)o[(c+r)*n+v+a]=t.data[c*t.width+2*t.width-v-1]}for(var w=t.height;w<t.height+r;w++){for(var g=-a;g<0;g++)o[(w+r)*n+g+a]=t.data[(2*t.height-w-1)*t.width+Math.abs(g)-1];for(var x=0;x<t.width;x++)o[(w+r)*n+x+a]=t.data[(2*t.height-w-1)*t.width+x];for(var b=t.width;b<t.width+a;b++)o[(w+r)*n+b+a]=t.data[(2*t.height-w-1)*t.width+2*t.width-b-1]}return{data:o,width:n,height:h}}function f(t,i){var e=u(i,2),r=e[0],a=e[1];return t.height>=r&&t.width>=a?d(t,[r,a]):s(o(t,a),r)}var u=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),p=e(6),c=p.mod;t.exports={padarray:f}},function(t,i,e){"use strict";function r(t,i,e){var r=p("gaussian",e.windowSize,1.5),a=Math.pow(2,e.bitDepth)-1,f=Math.pow(e.k1*a,2),v=Math.pow(e.k2*a,2);if(r=h(r,d(r)),"original"===e.downsample){var w=Math.min(t.width,t.height)/e.maxSize,g=Math.round(w),x=Math.max(1,g);if(x>1){var b=m(x);b=h(b,d(b)),t=c(t,b,"symmetric","same"),i=c(i,b,"symmetric","same"),t=l(t,[0,x,t.height],[0,x,t.width]),i=l(i,[0,x,i.height],[0,x,i.width])}}var y=u(r,t,"valid"),I=u(r,i,"valid"),M=s(y),U=s(I),E=o(y,I),z=s(t),A=s(i),S=o(M,-1),L=o(U,-1),k=o(E,-1),P=n(u(r,z,"valid"),S),j=n(u(r,A,"valid"),L),q=n(u(r,o(t,i),"valid"),k);if(f>0&&v>0){var B=n(o(E,2),f),O=n(o(q,2),v),D=n(n(M,U),f),T=n(n(P,j),v);return h(o(B,O),o(D,T))}var _=o(E,2),C=o(q,2),F=n(M,U),G=n(P,j);return h(o(_,C),o(F,G))}var a=e(0),n=a.add2d,h=a.divide2d,o=a.multiply2d,s=a.square2d,d=a.sum2d,f=e(1),u=f.filter2,p=f.fspecial,c=f.imfilter,m=f.ones,l=f.skip2d;t.exports={originalSsim:r}},function(t,i,e){"use strict";function r(t,i,e){if(e&&t>=e&&i>=e){var r=t/i;return r>1?{height:e,width:Math.round(e/r)}:{height:Math.round(e*r),width:e}}return{width:t,height:i}}function a(t,i){var e=u(t),a=e.ext,n=void 0;if("bmp"===a)n=p.decode(t);else{var h=new f.Image;h.src=t;var o=r(h.width,h.height,i),s=o.width,d=o.height,c=new f(s,d),m=c.getContext("2d");m.drawImage(h,0,0,h.width,h.height,0,0,s,d),n=m.getImageData(0,0,s,d)}return new Promise(function(t){t(n)})}function n(t){return new Promise(function(i,e){d.get(t).on("response",function(t){var e=[];t.on("data",function(t){return e.push(t)}),t.on("end",function(){return i(Buffer.concat(e))})}).on("error",e)})}function h(t){return new Promise(function(i,e){s.readFile(t,function(t,r){return t?void e(t):void i(r)})})}function o(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,e=void 0;return e=Buffer.isBuffer(t)?Promise.resolve(t):0===t.indexOf("http://")||0===t.indexOf("https://")?n(t):h(t),e.then(function(t){return a(t,i)})}var s=e(28),d=e(29),f=e(27),u=e(18),p=e(14);t.exports={readpixels:o}},function(t,i,e){"use strict";function r(t,i,e){var r=b(a(e.windowSize),0,1.5),s=Math.pow(2,e.bitDepth)-1,d=Math.pow(e.k1*s,2),u=Math.pow(e.k2*s,2);r=c(r,v(r));var w=I(r);if("original"===e.downsample){var x=o(t,i,e.maxSize),y=f(x,2);t=y[0],i=y[1]}var M=g(t,r,w,"valid"),U=g(i,r,w,"valid"),E=l(M),z=l(U),A=m(M,U),S=l(t),L=l(i),k=m(E,-1),P=m(z,-1),j=m(A,-1),q=p(g(S,r,w,"valid"),k),B=p(g(L,r,w,"valid"),P),O=p(g(m(t,i),r,w,"valid"),j);return d>0&&u>0?n(A,O,E,z,q,B,d,u):h(A,O,E,z,q,B)}function a(t){for(var i=Math.floor(t/2),e=new Array(2*i+1),r=-i;r<=i;r++)e[r+i]=Math.abs(r);return{data:e,width:e.length,height:1}}function n(t,i,e,r,a,n,h,o){var s=p(m(t,2),h),d=p(m(i,2),o),f=p(p(e,r),h),u=p(p(a,n),o);return c(m(s,d),m(f,u))}function h(t,i,e,r,a,n){var h=m(t,2),o=m(i,2),s=p(e,r),d=p(a,n);return c(m(h,o),m(s,d))}function o(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:256,r=Math.min(t.width,i.height)/e,a=Math.round(r);if(a>1){var n=d(a),h=n.filter,o=n.filtert;t=s(t,h,o,a),i=s(i,h,o,a)}return[t,i]}function s(t,i,e,r){var a=x(t,i,e,"symmetric","same");return y(a,[0,r,a.height],[0,r,a.width])}function d(t){for(var i=Math.sqrt(1/(t*t)),e=new Array(t),r=0;r<t;r++)e[r]=i;return{filter:{data:e,width:t,height:1},filtert:{data:e,width:1,height:t}}}var f=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),u=e(0),p=u.add2d,c=u.divide2d,m=u.multiply2d,l=u.square2d,v=u.sum2d,w=e(1),g=w.conv2,x=w.dimfilter,b=w.normpdf,y=w.skip2d,I=w.transpose;t.exports={ssim:r}},function(t,i){"use strict";function e(t){throw new Error("Missing "+t+" parameter")}t.exports={force:e}},function(t,i){"use strict";t.exports={type:"deploy",version:"2.1.1"}},function(t,i){t.exports={windowSize:11,k1:.01,k2:.03,bitDepth:8,downsample:"original",ssim:"fast",maxSize:256}},function(t,i,e){"use strict";var r=e(16),a=e(15);t.exports={encode:r,decode:a}},function(t,i){"use strict";function e(t,i){if(this.pos=0,this.buffer=t,this.is_with_alpha=!!i,this.flag=this.buffer.toString("utf-8",0,this.pos+=2),"BM"!=this.flag)throw new Error("Invalid BMP File");this.parseHeader(),this.parseBGR()}e.prototype.parseHeader=function(){if(this.fileSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.reserved=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.offset=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.headerSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.width=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.height=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.planes=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.bitPP=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.compress=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.rawSize=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.hr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.vr=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.colors=this.buffer.readUInt32LE(this.pos),this.pos+=4,this.importantColors=this.buffer.readUInt32LE(this.pos),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var i=0;i<t;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),n=this.buffer.readUInt8(this.pos++);this.palette[i]={red:a,green:r,blue:e,quad:n}}}},e.prototype.parseBGR=function(){this.pos=this.offset;try{var t="bit"+this.bitPP,i=this.width*this.height*4;this.data=new Buffer(i),this[t]()}catch(t){console.log("bit decode error:"+t)}},e.prototype.bit1=function(){for(var t=Math.ceil(this.width/8),i=t%4,e=this.height-1;e>=0;e--){for(var r=0;r<t;r++)for(var a=this.buffer.readUInt8(this.pos++),n=e*this.width*4+8*r*4,h=0;h<8&&8*r+h<this.width;h++){var o=this.palette[a>>7-h&1];this.data[n+4*h]=o.blue,this.data[n+4*h+1]=o.green,this.data[n+4*h+2]=o.red,this.data[n+4*h+3]=255}0!=i&&(this.pos+=4-i)}},e.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),i=t%4,e=this.height-1;e>=0;e--){for(var r=0;r<t;r++){var a=this.buffer.readUInt8(this.pos++),n=e*this.width*4+2*r*4,h=a>>4,o=15&a,s=this.palette[h];if(this.data[n]=s.blue,this.data[n+1]=s.green,this.data[n+2]=s.red,this.data[n+3]=255,2*r+1>=this.width)break;s=this.palette[o],this.data[n+4]=s.blue,this.data[n+4+1]=s.green,this.data[n+4+2]=s.red,this.data[n+4+3]=255}0!=i&&(this.pos+=4-i)}},e.prototype.bit8=function(){for(var t=this.width%4,i=this.height-1;i>=0;i--){for(var e=0;e<this.width;e++){var r=this.buffer.readUInt8(this.pos++),a=i*this.width*4+4*e;if(r<this.palette.length){var n=this.palette[r];this.data[a]=n.blue,this.data[a+1]=n.green,this.data[a+2]=n.red,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!=t&&(this.pos+=4-t)}},e.prototype.bit15=function(){for(var t=this.width%3,i=parseInt("11111",2),e=i,r=this.height-1;r>=0;r--){for(var a=0;a<this.width;a++){var n=this.buffer.readUInt16LE(this.pos);this.pos+=2;var h=(n&e)/e*255|0,o=(n>>5&e)/e*255|0,s=(n>>10&e)/e*255|0,d=n>>15?255:0,f=r*this.width*4+4*a;this.data[f]=s,this.data[f+1]=o,this.data[f+2]=h,this.data[f+3]=d}this.pos+=t}},e.prototype.bit16=function(){for(var t=this.width%3,i=parseInt("11111",2),e=i,r=parseInt("111111",2),a=r,n=this.height-1;n>=0;n--){for(var h=0;h<this.width;h++){var o=this.buffer.readUInt16LE(this.pos);this.pos+=2;var s=255,d=(o&e)/e*255|0,f=(o>>5&a)/a*255|0,u=(o>>11)/e*255|0,p=n*this.width*4+4*h;this.data[p]=u,this.data[p+1]=f,this.data[p+2]=d,this.data[p+3]=s}this.pos+=t}},e.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var i=0;i<this.width;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),n=t*this.width*4+4*i;this.data[n]=a,this.data[n+1]=r,this.data[n+2]=e,this.data[n+3]=255}this.pos+=this.width%4}},e.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--){for(var i=0;i<this.width;i++){var e=this.buffer.readUInt8(this.pos++),r=this.buffer.readUInt8(this.pos++),a=this.buffer.readUInt8(this.pos++),n=this.buffer.readUInt8(this.pos++),h=t*this.width*4+4*i;this.data[h]=a,this.data[h+1]=r,this.data[h+2]=e,this.data[h+3]=n}this.pos+=this.width%4}},e.prototype.getData=function(){return this.data},t.exports=function(t){var i=new e(t);return{data:i.getData(),width:i.width,height:i.height}}},function(t,i){"use strict";function e(t){this.buffer=t.data,this.width=t.width,this.height=t.height,this.extraBytes=this.width%4,this.rgbSize=this.height*(3*this.width+this.extraBytes),this.headerInfoSize=40,this.data=[],this.flag="BM",this.reserved=0,this.offset=54,this.fileSize=this.rgbSize+this.offset,this.planes=1,this.bitPP=24,this.compress=0,this.hr=0,this.vr=0,this.colors=0,this.importantColors=0}e.prototype.encode=function(){var t=new Buffer(this.offset+this.rgbSize);this.pos=0,t.write(this.flag,this.pos,2),this.pos+=2,t.writeUInt32LE(this.fileSize,this.pos),this.pos+=4,t.writeUInt32LE(this.reserved,this.pos),this.pos+=4,t.writeUInt32LE(this.offset,this.pos),this.pos+=4,t.writeUInt32LE(this.headerInfoSize,this.pos),this.pos+=4,t.writeUInt32LE(this.width,this.pos),this.pos+=4,t.writeUInt32LE(this.height,this.pos),this.pos+=4,t.writeUInt16LE(this.planes,this.pos),this.pos+=2,t.writeUInt16LE(this.bitPP,this.pos),this.pos+=2,t.writeUInt32LE(this.compress,this.pos),this.pos+=4,t.writeUInt32LE(this.rgbSize,this.pos),this.pos+=4,t.writeUInt32LE(this.hr,this.pos),this.pos+=4,t.writeUInt32LE(this.vr,this.pos),this.pos+=4,t.writeUInt32LE(this.colors,this.pos),this.pos+=4,t.writeUInt32LE(this.importantColors,this.pos),this.pos+=4;for(var i=0,e=3*this.width+this.extraBytes,r=this.height-1;r>=0;r--){for(var a=0;a<this.width;a++){var n=this.pos+r*e+3*a;t[n+2]=this.buffer[i++],t[n+1]=this.buffer[i++],t[n]=this.buffer[i++],i++}if(this.extraBytes>0){var h=this.pos+r*e+3*this.width;t.fill(0,h,h+this.extraBytes)}}return t},t.exports=function(t,i){"undefined"==typeof i&&(i=100);var r=new e(t),a=r.encode();return{data:a,width:t.width,height:t.height}}},function(t,i){"use strict";t.exports=function(t){return t&&t.length>1?255===t[0]&&216===t[1]&&255===t[2]?{ext:"jpg",mime:"image/jpeg"}:137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]?{ext:"png",mime:"image/png"}:71===t[0]&&73===t[1]&&70===t[2]?{ext:"gif",mime:"image/gif"}:87===t[8]&&69===t[9]&&66===t[10]&&80===t[11]?{ext:"webp",mime:"image/webp"}:70===t[0]&&76===t[1]&&73===t[2]&&70===t[3]?{ext:"flif",mime:"image/flif"}:(73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3])&&67===t[8]&&82===t[9]?{ext:"cr2",mime:"image/x-canon-cr2"}:73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3]?{ext:"tif",mime:"image/tiff"}:66===t[0]&&77===t[1]?{ext:"bmp",mime:"image/bmp"}:73===t[0]&&73===t[1]&&188===t[2]?{ext:"jxr",mime:"image/vnd.ms-photo"}:56===t[0]&&66===t[1]&&80===t[2]&&83===t[3]?{ext:"psd",mime:"image/vnd.adobe.photoshop"}:80===t[0]&&75===t[1]&&3===t[2]&&4===t[3]&&109===t[30]&&105===t[31]&&109===t[32]&&101===t[33]&&116===t[34]&&121===t[35]&&112===t[36]&&101===t[37]&&97===t[38]&&112===t[39]&&112===t[40]&&108===t[41]&&105===t[42]&&99===t[43]&&97===t[44]&&116===t[45]&&105===t[46]&&111===t[47]&&110===t[48]&&47===t[49]&&101===t[50]&&112===t[51]&&117===t[52]&&98===t[53]&&43===t[54]&&122===t[55]&&105===t[56]&&112===t[57]?{ext:"epub",mime:"application/epub+zip"}:80===t[0]&&75===t[1]&&3===t[2]&&4===t[3]&&77===t[30]&&69===t[31]&&84===t[32]&&65===t[33]&&45===t[34]&&73===t[35]&&78===t[36]&&70===t[37]&&47===t[38]&&109===t[39]&&111===t[40]&&122===t[41]&&105===t[42]&&108===t[43]&&108===t[44]&&97===t[45]&&46===t[46]&&114===t[47]&&115===t[48]&&97===t[49]?{ext:"xpi",mime:"application/x-xpinstall"}:80!==t[0]||75!==t[1]||3!==t[2]&&5!==t[2]&&7!==t[2]||4!==t[3]&&6!==t[3]&&8!==t[3]?117===t[257]&&115===t[258]&&116===t[259]&&97===t[260]&&114===t[261]?{ext:"tar",mime:"application/x-tar"}:82!==t[0]||97!==t[1]||114!==t[2]||33!==t[3]||26!==t[4]||7!==t[5]||0!==t[6]&&1!==t[6]?31===t[0]&&139===t[1]&&8===t[2]?{ext:"gz",mime:"application/gzip"}:66===t[0]&&90===t[1]&&104===t[2]?{ext:"bz2",mime:"application/x-bzip2"}:55===t[0]&&122===t[1]&&188===t[2]&&175===t[3]&&39===t[4]&&28===t[5]?{ext:"7z",mime:"application/x-7z-compressed"}:120===t[0]&&1===t[1]?{ext:"dmg",mime:"application/x-apple-diskimage"}:0===t[0]&&0===t[1]&&0===t[2]&&(24===t[3]||32===t[3])&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]||51===t[0]&&103===t[1]&&112===t[2]&&53===t[3]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&109===t[8]&&112===t[9]&&52===t[10]&&50===t[11]&&109===t[16]&&112===t[17]&&52===t[18]&&49===t[19]&&109===t[20]&&112===t[21]&&52===t[22]&&50===t[23]&&105===t[24]&&115===t[25]&&111===t[26]&&109===t[27]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&105===t[8]&&115===t[9]&&111===t[10]&&109===t[11]||0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&109===t[8]&&112===t[9]&&52===t[10]&&50===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&0===t[15]?{ext:"mp4",mime:"video/mp4"}:0===t[0]&&0===t[1]&&0===t[2]&&28===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&77===t[8]&&52===t[9]&&86===t[10]?{ext:"m4v",mime:"video/x-m4v"}:77===t[0]&&84===t[1]&&104===t[2]&&100===t[3]?{ext:"mid",mime:"audio/midi"}:109===t[31]&&97===t[32]&&116===t[33]&&114===t[34]&&111===t[35]&&115===t[36]&&107===t[37]&&97===t[38]?{ext:"mkv",mime:"video/x-matroska"}:26===t[0]&&69===t[1]&&223===t[2]&&163===t[3]?{ext:"webm",mime:"video/webm"}:0===t[0]&&0===t[1]&&0===t[2]&&20===t[3]&&102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]?{ext:"mov",mime:"video/quicktime"}:82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&65===t[8]&&86===t[9]&&73===t[10]?{ext:"avi",mime:"video/x-msvideo"}:48===t[0]&&38===t[1]&&178===t[2]&&117===t[3]&&142===t[4]&&102===t[5]&&207===t[6]&&17===t[7]&&166===t[8]&&217===t[9]?{ext:"wmv",mime:"video/x-ms-wmv"}:0===t[0]&&0===t[1]&&1===t[2]&&"b"===t[3].toString(16)[0]?{ext:"mpg",mime:"video/mpeg"}:73===t[0]&&68===t[1]&&51===t[2]||255===t[0]&&251===t[1]?{ext:"mp3",mime:"audio/mpeg"}:102===t[4]&&116===t[5]&&121===t[6]&&112===t[7]&&77===t[8]&&52===t[9]&&65===t[10]||77===t[0]&&52===t[1]&&65===t[2]&&32===t[3]?{ext:"m4a",mime:"audio/m4a"}:79===t[28]&&112===t[29]&&117===t[30]&&115===t[31]&&72===t[32]&&101===t[33]&&97===t[34]&&100===t[35]?{ext:"opus",mime:"audio/opus"}:79===t[0]&&103===t[1]&&103===t[2]&&83===t[3]?{ext:"ogg",mime:"audio/ogg"}:102===t[0]&&76===t[1]&&97===t[2]&&67===t[3]?{ext:"flac",mime:"audio/x-flac"}:82===t[0]&&73===t[1]&&70===t[2]&&70===t[3]&&87===t[8]&&65===t[9]&&86===t[10]&&69===t[11]?{ext:"wav",mime:"audio/x-wav"}:35===t[0]&&33===t[1]&&65===t[2]&&77===t[3]&&82===t[4]&&10===t[5]?{ext:"amr",mime:"audio/amr"}:37===t[0]&&80===t[1]&&68===t[2]&&70===t[3]?{ext:"pdf",mime:"application/pdf"}:77===t[0]&&90===t[1]?{ext:"exe",mime:"application/x-msdownload"}:67!==t[0]&&70!==t[0]||87!==t[1]||83!==t[2]?123===t[0]&&92===t[1]&&114===t[2]&&116===t[3]&&102===t[4]?{ext:"rtf",mime:"application/rtf"}:119===t[0]&&79===t[1]&&70===t[2]&&70===t[3]&&(0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]||79===t[4]&&84===t[5]&&84===t[6]&&79===t[7])?{ext:"woff",mime:"application/font-woff"}:119===t[0]&&79===t[1]&&70===t[2]&&50===t[3]&&(0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]||79===t[4]&&84===t[5]&&84===t[6]&&79===t[7])?{ext:"woff2",mime:"application/font-woff"}:76===t[34]&&80===t[35]&&(0===t[8]&&0===t[9]&&1===t[10]||1===t[8]&&0===t[9]&&2===t[10]||2===t[8]&&0===t[9]&&2===t[10])?{ext:"eot",mime:"application/octet-stream"}:0===t[0]&&1===t[1]&&0===t[2]&&0===t[3]&&0===t[4]?{ext:"ttf",mime:"application/font-sfnt"}:79===t[0]&&84===t[1]&&84===t[2]&&79===t[3]&&0===t[4]?{ext:"otf",mime:"application/font-sfnt"}:0===t[0]&&0===t[1]&&1===t[2]&&0===t[3]?{ext:"ico",mime:"image/x-icon"}:70===t[0]&&76===t[1]&&86===t[2]&&1===t[3]?{ext:"flv",mime:"video/x-flv"}:37===t[0]&&33===t[1]?{ext:"ps",mime:"application/postscript"}:253===t[0]&&55===t[1]&&122===t[2]&&88===t[3]&&90===t[4]&&0===t[5]?{ext:"xz",mime:"application/x-xz"}:83===t[0]&&81===t[1]&&76===t[2]&&105===t[3]?{ext:"sqlite",mime:"application/x-sqlite3"}:78===t[0]&&69===t[1]&&83===t[2]&&26===t[3]?{ext:"nes",mime:"application/x-nintendo-nes-rom"}:67===t[0]&&114===t[1]&&50===t[2]&&52===t[3]?{ext:"crx",mime:"application/x-google-chrome-extension"}:77===t[0]&&83===t[1]&&67===t[2]&&70===t[3]||73===t[0]&&83===t[1]&&99===t[2]&&40===t[3]?{ext:"cab",mime:"application/vnd.ms-cab-compressed"}:33===t[0]&&60===t[1]&&97===t[2]&&114===t[3]&&99===t[4]&&104===t[5]&&62===t[6]&&10===t[7]&&100===t[8]&&101===t[9]&&98===t[10]&&105===t[11]&&97===t[12]&&110===t[13]&&45===t[14]&&98===t[15]&&105===t[16]&&110===t[17]&&97===t[18]&&114===t[19]&&121===t[20]?{ext:"deb",mime:"application/x-deb"}:33===t[0]&&60===t[1]&&97===t[2]&&114===t[3]&&99===t[4]&&104===t[5]&&62===t[6]?{ext:"ar",mime:"application/x-unix-archive"}:237===t[0]&&171===t[1]&&238===t[2]&&219===t[3]?{ext:"rpm",mime:"application/x-rpm"}:31===t[0]&&160===t[1]||31===t[0]&&157===t[1]?{ext:"Z",mime:"application/x-compress"}:76===t[0]&&90===t[1]&&73===t[2]&&80===t[3]?{ext:"lz",mime:"application/x-lzip"}:208===t[0]&&207===t[1]&&17===t[2]&&224===t[3]&&161===t[4]&&177===t[5]&&26===t[6]&&225===t[7]?{ext:"msi",mime:"application/x-msi"}:null:{ext:"swf",mime:"application/x-shockwave-flash"}:{ext:"rar",mime:"application/x-rar-compressed"}:{ext:"zip",mime:"application/zip"}:null}},function(t,i,e){"use strict";var r=e(17);t.exports=function(t){var i=["jpg","png","gif","webp","tif","bmp","jxr","psd"],e=r(t);return i.indexOf(e&&e.ext)!==-1?e:null}},function(t,i,e){"use strict";function r(t){for(var i=2*t+1,e=new Array(Math.pow(i,2)),r=0;r<i;r++)for(var a=0;a<i;a++)e[r*i+a]=Math.pow(r-t,2)+Math.pow(a-t,2);return{data:e,width:i,height:i}}function a(t,i){for(var e=t.data,r=t.width,a=t.height,n=new Array(e.length),h=0;h<e.length;h++)n[h]=Math.exp(-e[h]/(2*Math.pow(i,2)));return{data:n,width:r,height:a}}function n(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"gaussian",arguments.length>1&&void 0!==arguments[1]?arguments[1]:3),i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.5;t=(t-1)/2;var e=r(t),n=a(e,i),h=o(n);return s(n,h)}var h=e(0),o=h.sum2d,s=h.divide2d;t.exports={fspecial:n}},function(t,i,e){"use strict";function r(t,i,e){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"symmetric",h=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"same",o=Math.max(i.height,i.width),s=Math.max(e.height,e.width);return t=a(t,s,o,r),h=n(h),v(t,i,e,h)}function a(t,i,e,r){if(t=f(t,p([i/2,e/2]),r),0===s(i,2)&&(t.data=t.data.slice(0,-t.width),t.height--),0===s(e,2)){for(var a=[],n=0;n<t.data.length;n++)(n+1)%t.width!==0&&a.push(t.data[n]);t.data=a,t.width--}return t}function n(t){return"same"===t&&(t="valid"),t}function h(t,i){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"symmetric",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"same";return t=a(t,i.width,i.height,e),r=n(r),m(i,t,r)}var o=e(6),s=o.mod,d=e(7),f=d.padarray,u=e(0),p=u.floor,c=e(4),m=c.filter2,l=e(2),v=l.conv2;t.exports={imfilter:h,dimfilter:r}},function(t,i){"use strict";function e(t){for(var i=t.data,e=t.width,r=t.height,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,h=2.5066282746310007,o=new Array(i.length),s=0;s<i.length;s++){var d=(i[s]-a)/n;o[s]=Math.exp(-Math.pow(d,2)/2)/(n*h)}return{data:o,width:e,height:r}}t.exports={normpdf:e}},function(t,i,e){"use strict";function r(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return n(t,i,1)}var a=e(5),n=a.numbers;t.exports={ones:r}},function(t,i){"use strict";function e(t){var i=a(t,3),e=i[0],r=i[1],n=i[2];return Math.round(.29894*e+.58704*r+.11402*n)}function r(t){for(var i=t.data,r=t.width,a=t.height,n=new Array(r*a),h=0;h<r;h++)for(var o=0;o<a;o++){var s=h+o*r,d=4*s;n[s]=e([i[d],i[d+1],i[d+2],i[d+3]])}return{data:n,width:r,height:a}}var a=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.exports={rgb2gray:r}},function(t,i){"use strict";function e(t,i,e){for(var a=r(i,3),n=a[0],h=a[1],o=a[2],s=r(e,3),d=s[0],f=s[1],u=s[2],p=Math.ceil((u-d)/f),c=Math.ceil((o-n)/h),m=new Array(p*c),l=0;l<c;l++)for(var v=0;v<p;v++){var w=n+l*h,g=d+v*f;m[l*p+v]=t.data[w*t.width+g]}return{data:m,width:p,height:c}}var r=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.exports={skip2d:e}},function(t,i){"use strict";function e(t,i,e,r,a){for(var n=t.data,h=t.width,o=new Array(a*e),s=0;s<e;s++)for(var d=0;d<a;d++)o[s*a+d]=n[(r+s)*h+i+d];return{data:o,width:a,height:e}}t.exports={sub:e}},function(t,i,e){"use strict";function r(t){for(var i=t.data,e=t.width,r=t.height,a=n(e,r),h=a.data,o=0;o<r;o++)for(var s=0;s<e;s++)h[s*r+o]=i[o*e+s];return{data:h,height:e,width:r}}var a=e(3),n=a.zeros;t.exports={transpose:r}},function(i,e){i.exports=t},function(t,i){t.exports=require("fs")},function(t,i){t.exports=require("https")},function(t,i,e){"use strict";function r(t){if(Object.keys(t).forEach(function(t){if(!(t in I))throw new Error('"'+t+'" is not a valid option')}),"k1"in t&&("number"!=typeof t.k1||t.k1<0))throw new Error("Invalid k1 value. Default is "+I.k1);if("k2"in t&&("number"!=typeof t.k2||t.k2<0))throw new Error("Invalid k2 value. Default is "+I.k2)}function a(t){return r(t),Object.assign({},I,t)}function n(t){var i=d(t,2),e=i[0],r=i[1];if(e.width!==r.width||e.height!==r.height)throw new Error("Image dimensions do not match");return[e,r]}function h(t){var i=d(t,2),e=i[0],r=i[1];return e=c(e),r=c(r),[e,r]}function o(t,i){return"fast"===i.downsample?u(t,i.maxSize):u(t)}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y("image1"),i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:y("image2"),e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(new Date).getTime();e=a(e);var s="fast"===e.ssim?w:x;return Promise.all([o(t,e),o(i,e)]).then(n).then(h).then(function(t){var i=d(t,2),r=i[0],a=i[1];return s(r,a,e)}).then(function(t){return{ssim_map:t,mssim:l(t),performance:(new Date).getTime()-r}})}var d=function(){function t(t,i){var e=[],r=!0,a=!1,n=void 0;try{for(var h,o=t[Symbol.iterator]();!(r=(h=o.next()).done)&&(e.push(h.value),!i||e.length!==i);r=!0);}catch(t){a=!0,n=t}finally{try{!r&&o.return&&o.return()}finally{if(a)throw n}}return e}return function(i,e){if(Array.isArray(i))return i;if(Symbol.iterator in Object(i))return t(i,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),f=e(9),u=f.readpixels,p=e(1),c=p.rgb2gray,m=e(0),l=m.mean2d,v=e(10),w=v.ssim,g=e(8),x=g.originalSsim,b=e(11),y=b.force,I=e(13),M=e(12),U=M.version;s.ssim=w,s.version=U,t.exports=s}])}); | ||
//# sourceMappingURL=ssim.js.map |
@@ -5,3 +5,3 @@ { | ||
"main": "dist/ssim.js", | ||
"version": "2.1.0", | ||
"version": "2.1.1", | ||
"scripts": { | ||
@@ -64,2 +64,3 @@ "commit": "git-cz", | ||
"devDependencies": { | ||
"@bubltechnology/customizable-commit-analyzer": "^1.0.0", | ||
"babel-cli": "^6.18.0", | ||
@@ -96,3 +97,4 @@ "babel-core": "^6.18.2", | ||
"release": { | ||
"verifyConditions": "condition-circle" | ||
"verifyConditions": "condition-circle", | ||
"analyzeCommits": "@bubltechnology/customizable-commit-analyzer" | ||
}, | ||
@@ -99,0 +101,0 @@ "config": { |
@@ -48,3 +48,3 @@ /** | ||
function floor(xn) { | ||
const out = []; | ||
const out = new Array(xn.length); | ||
@@ -90,3 +90,3 @@ for (let x = 0; x < xn.length; x++) { | ||
function add2dMx({ data: ref1, width, height }, { data: ref2 }) { | ||
const data = []; | ||
const data = new Array(ref1.length); | ||
@@ -120,3 +120,3 @@ for (let x = 0; x < height; x++) { | ||
function add2dScalar({ data: ref, width, height }, increase) { | ||
const data = []; | ||
const data = new Array(ref.length); | ||
@@ -164,3 +164,3 @@ for (let x = 0; x < ref.length; x++) { | ||
function divide2dScalar({ data: ref, width, height }, divisor) { | ||
const data = []; | ||
const data = new Array(ref.length); | ||
@@ -190,3 +190,3 @@ for (let x = 0; x < ref.length; x++) { | ||
function divide2dMx({ data: ref1, width, height }, { data: ref2 }) { | ||
const data = []; | ||
const data = new Array(ref1.length); | ||
@@ -234,3 +234,3 @@ for (let x = 0; x < ref1.length; x++) { | ||
function multiply2dScalar({ data: ref, width, height }, multiplier) { | ||
const data = []; | ||
const data = new Array(ref.length); | ||
@@ -260,3 +260,3 @@ for (let x = 0; x < ref.length; x++) { | ||
function multiply2dMx({ data: ref1, width, height }, { data: ref2 }) { | ||
const data = []; | ||
const data = new Array(ref1.length); | ||
@@ -263,0 +263,0 @@ for (let x = 0; x < ref1.length; x++) { |
@@ -18,3 +18,3 @@ const { conv2 } = require('./conv2'); | ||
function rotate1802d({ data: ref, width, height }) { | ||
const data = []; | ||
const data = new Array(ref.length); | ||
@@ -21,0 +21,0 @@ for (let i = 0; i < height; i++) { |
@@ -18,4 +18,4 @@ const { sum2d, divide2d } = require('../math'); | ||
function rangeSquare2d(length) { | ||
const data = []; | ||
const size = length * 2 + 1; | ||
const data = new Array(size ** 2); | ||
@@ -47,3 +47,3 @@ for (let x = 0; x < size; x++) { | ||
function gaussianFilter2d({ data: ref, width, height }, σ) { | ||
const data = []; | ||
const data = new Array(ref.length); | ||
@@ -50,0 +50,0 @@ for (let x = 0; x < ref.length; x++) { |
@@ -14,7 +14,9 @@ /** | ||
function numbers(height, width, num) { | ||
const data = []; | ||
const size = width * height; | ||
const data = new Array(size); | ||
for (let x = 0; x < width * height; x++) { | ||
for (let x = 0; x < size; x++) { | ||
data[x] = num; | ||
} | ||
return { | ||
@@ -21,0 +23,0 @@ data, |
@@ -38,3 +38,3 @@ /** | ||
const SQ2PI = 2.5066282746310005024157652848110; | ||
const data = []; | ||
const data = new Array(ref.length); | ||
@@ -41,0 +41,0 @@ for (let i = 0; i < ref.length; i++) { |
@@ -18,3 +18,3 @@ const { mod } = require('./mod'); | ||
function mirrorHorizonal({ data: ref, width, height }) { | ||
const data = []; | ||
const data = new Array(ref.length); | ||
@@ -50,3 +50,3 @@ for (let x = 0; x < height; x++) { | ||
function mirrorVertical({ data: ref, width, height }) { | ||
const data = []; | ||
const data = new Array(ref.length); | ||
@@ -82,4 +82,4 @@ for (let x = 0; x < height; x++) { | ||
function concatHorizontal(A, B) { | ||
const data = []; | ||
const width = A.width + B.width; | ||
const data = new Array(A.height * width); | ||
@@ -149,4 +149,4 @@ for (let x = 0; x < A.height; x++) { | ||
function padHorizontal(A, pad) { | ||
const data = []; | ||
const width = A.width + 2 * pad; | ||
const data = new Array(width * A.height); | ||
const mirrored = concatHorizontal(A, mirrorHorizonal(A)); | ||
@@ -194,4 +194,5 @@ | ||
function padVertical(A, pad) { | ||
const data = []; | ||
const mirrored = concatVertical(A, mirrorVertical(A)); | ||
const height = A.height + pad * 2; | ||
const data = new Array(A.width * height); | ||
@@ -207,3 +208,3 @@ for (let x = -pad; x < A.height + pad; x++) { | ||
width: A.width, | ||
height: A.height + pad * 2 | ||
height | ||
}; | ||
@@ -261,5 +262,5 @@ } | ||
function fastPadding(A, [padHeight, padWidth]) { | ||
const data = []; | ||
const width = A.width + padWidth * 2; | ||
const height = A.height + padHeight * 2; | ||
const data = new Array(width * height); | ||
@@ -266,0 +267,0 @@ for (let x = -padHeight; x < 0; x++) { |
@@ -37,3 +37,3 @@ /** | ||
function rgb2gray({ data: d, width, height }) { | ||
const data = []; | ||
const data = new Array(width * height); | ||
@@ -40,0 +40,0 @@ for (let i = 0; i < width; i++) { |
@@ -32,5 +32,5 @@ /** | ||
function skip2d(A, [startRow, everyRow, endRow], [startCol, everyCol, endCol]) { | ||
const data = []; | ||
const width = Math.ceil((endCol - startCol) / everyCol); | ||
const height = Math.ceil((endRow - startRow) / everyRow); | ||
const data = new Array(width * height); | ||
@@ -37,0 +37,0 @@ for (let i = 0; i < height; i++) { |
@@ -17,3 +17,3 @@ /** | ||
function sub({ data: ref, width: refWidth }, x, height, y, width) { | ||
const data = []; | ||
const data = new Array(width * height); | ||
@@ -20,0 +20,0 @@ for (let i = 0; i < height; i++) { |
@@ -79,3 +79,3 @@ const { | ||
const offset = Math.floor(size / 2); | ||
const data = []; | ||
const data = new Array(offset * 2 + 1); | ||
@@ -213,3 +213,3 @@ for (let x = -offset; x <= offset; x++) { | ||
const filterCell = Math.sqrt(1 / (length * length)); | ||
const data = []; | ||
const data = new Array(length); | ||
@@ -216,0 +216,0 @@ for (let i = 0; i < length; i++) { |
@@ -1,1 +0,1 @@ | ||
module.exports = { type: 'deploy', "version": "2.1.0"}; | ||
module.exports = { type: 'deploy', "version": "2.1.1"}; |
Sorry, the diff of this file is not supported yet
351793
2094
30