mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-12 08:47:31 +00:00
Few notes: - Lots of deprecated SIMD intrinsic warnings & errors in JPEG-XL -> Highway; had to suppress erorrs to make project build. - Moved couple of common link flags to cpp.Dockerfile (note: can't move `EXPORT_ES6` otherwise `configure` will fail). - MODULARIZE=1 is no longer necessary and implied by EXPORT_ES6. - EXPORT_NAME=... is no longer necessary in EXPORT_ES6. - Changed visdif to also use EXPORT_ES6 and ENVIRONMENT=node instead of generic JS.
55 lines
17 KiB
JavaScript
Generated
55 lines
17 KiB
JavaScript
Generated
|
|
var Module = (function() {
|
|
var _scriptDir = import.meta.url;
|
|
|
|
return (
|
|
function(Module) {
|
|
Module = Module || {};
|
|
|
|
|
|
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,r;e.ready=new Promise(function(a,b){aa=a;r=b});var t={},u;for(u in e)e.hasOwnProperty(u)&&(t[u]=e[u]);var ba,v,w,ca;ba=function(a){w||(w=require("fs"));ca||(ca=require("path"));a=ca.normalize(a);return w.readFileSync(a,null)};v=function(a){a=ba(a);a.buffer||(a=new Uint8Array(a));a.buffer||y("Assertion failed: undefined");return a};1<process.argv.length&&process.argv[1].replace(/\\/g,"/");process.argv.slice(2);
|
|
process.on("uncaughtException",function(a){throw a;});process.on("unhandledRejection",y);e.inspect=function(){return"[Emscripten Module object]"};var da=e.print||console.log.bind(console),z=e.printErr||console.warn.bind(console);for(u in t)t.hasOwnProperty(u)&&(e[u]=t[u]);t=null;var A;e.wasmBinary&&(A=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!==typeof WebAssembly&&y("no native wasm support detected");var ea,fa=!1,ha=new TextDecoder("utf8");
|
|
function ia(a,b,c){var d=C;if(0<c){c=b+c-1;for(var g=0;g<a.length;++g){var f=a.charCodeAt(g);if(55296<=f&&57343>=f){var l=a.charCodeAt(++g);f=65536+((f&1023)<<10)|l&1023}if(127>=f){if(b>=c)break;d[b++]=f}else{if(2047>=f){if(b+1>=c)break;d[b++]=192|f>>6}else{if(65535>=f){if(b+2>=c)break;d[b++]=224|f>>12}else{if(b+3>=c)break;d[b++]=240|f>>18;d[b++]=128|f>>12&63}d[b++]=128|f>>6&63}d[b++]=128|f&63}}d[b]=0}}var ja=new TextDecoder("utf-16le");
|
|
function ka(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&D[c];)++c;return ja.decode(C.subarray(a,c<<1))}function la(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var g=0;g<c;++g)E[b>>1]=a.charCodeAt(g),b+=2;E[b>>1]=0;return b-d}function ma(a){return 2*a.length}function na(a,b){for(var c=0,d="";!(c>=b/4);){var g=G[a+4*c>>2];if(0==g)break;++c;65536<=g?(g-=65536,d+=String.fromCharCode(55296|g>>10,56320|g&1023)):d+=String.fromCharCode(g)}return d}
|
|
function oa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var g=0;g<a.length;++g){var f=a.charCodeAt(g);if(55296<=f&&57343>=f){var l=a.charCodeAt(++g);f=65536+((f&1023)<<10)|l&1023}G[b>>2]=f;b+=4;if(b+4>c)break}G[b>>2]=0;return b-d}function pa(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var qa,H,C,E,D,G,I,ra,sa;
|
|
function ta(){var a=ea.buffer;qa=a;e.HEAP8=H=new Int8Array(a);e.HEAP16=E=new Int16Array(a);e.HEAP32=G=new Int32Array(a);e.HEAPU8=C=new Uint8Array(a);e.HEAPU16=D=new Uint16Array(a);e.HEAPU32=I=new Uint32Array(a);e.HEAPF32=ra=new Float32Array(a);e.HEAPF64=sa=new Float64Array(a)}var K,ua=[],va=[],wa=[];function xa(){var a=e.preRun.shift();ua.unshift(a)}var L=0,ya=null,M=null;e.preloadedImages={};e.preloadedAudios={};
|
|
function y(a){if(e.onAbort)e.onAbort(a);z(a);fa=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");r(a);throw a;}var N=(new URL("wp2_node_dec.wasm",import.meta.url)).toString();function za(){return Promise.resolve().then(function(){a:{try{if(N==N&&A){var a=new Uint8Array(A);break a}if(v){a=v(N);break a}throw"both async and sync fetching of the wasm failed";}catch(b){y(b)}a=void 0}return a})}
|
|
function Aa(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(e);else{var c=b.T;"number"===typeof c?void 0===b.I?K.get(c)():K.get(c)(b.I):c(void 0===b.I?null:b.I)}}}function Ba(a){this.H=a-16;this.S=function(b){G[this.H+8>>2]=b};this.O=function(b){G[this.H+0>>2]=b};this.P=function(){G[this.H+4>>2]=0};this.N=function(){H[this.H+12>>0]=0};this.R=function(){H[this.H+13>>0]=0};this.M=function(b,c){this.S(b);this.O(c);this.P();this.N();this.R()}}var Ca=0;
|
|
function Da(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Ea=void 0;function O(a){for(var b="";C[a];)b+=Ea[C[a++]];return b}var P={},Q={},R={};function Fa(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}
|
|
function Ga(a,b){a=Fa(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function Ha(a){var b=Error,c=Ga(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
|
|
var Ka=void 0;function S(a){throw new Ka(a);}var La=void 0;function Ma(a,b){function c(h){h=b(h);if(h.length!==d.length)throw new La("Mismatched type converter count");for(var k=0;k<d.length;++k)T(d[k],h[k])}var d=[];d.forEach(function(h){R[h]=a});var g=Array(a.length),f=[],l=0;a.forEach(function(h,k){Q.hasOwnProperty(h)?g[k]=Q[h]:(f.push(h),P.hasOwnProperty(h)||(P[h]=[]),P[h].push(function(){g[k]=Q[h];++l;l===f.length&&c(g)}))});0===f.length&&c(g)}
|
|
function T(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||S('type "'+d+'" must have a positive integer typeid pointer');if(Q.hasOwnProperty(a)){if(c.L)return;S("Cannot register type '"+d+"' twice")}Q[a]=b;delete R[a];P.hasOwnProperty(a)&&(b=P[a],delete P[a],b.forEach(function(g){g()}))}var Na=[],U=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
|
|
function Oa(a){4<a&&0===--U[a].J&&(U[a]=void 0,Na.push(a))}function V(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Na.length?Na.pop():U.length;U[b]={J:1,value:a};return b}}function Pa(a){return this.fromWireType(I[a>>2])}function Qa(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
|
|
function Ra(a,b){switch(b){case 2:return function(c){return this.fromWireType(ra[c>>2])};case 3:return function(c){return this.fromWireType(sa[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Sa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ga(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
|
|
function Ta(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Ua(a,b){var c=e;if(void 0===c[a].F){var d=c[a];c[a]=function(){c[a].F.hasOwnProperty(arguments.length)||S("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].F+")!");return c[a].F[arguments.length].apply(this,arguments)};c[a].F=[];c[a].F[d.K]=d}}
|
|
function Va(a,b,c){e.hasOwnProperty(a)?((void 0===c||void 0!==e[a].F&&void 0!==e[a].F[c])&&S("Cannot register public name '"+a+"' twice"),Ua(a,a),e.hasOwnProperty(c)&&S("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),e[a].F[c]=b):(e[a]=b,void 0!==c&&(e[a].V=c))}function Wa(a,b){for(var c=[],d=0;d<a;d++)c.push(G[(b>>2)+d]);return c}
|
|
function Xa(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=e["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=K.get(b).apply(null,c);return d}}function Ya(a,b){a=O(a);var c=a.includes("j")?Xa(a,b):K.get(b);"function"!==typeof c&&S("unknown function pointer with signature "+a+": "+b);return c}var Za=void 0;function $a(a){a=ab(a);var b=O(a);W(a);return b}
|
|
function bb(a,b){function c(f){g[f]||Q[f]||(R[f]?R[f].forEach(c):(d.push(f),g[f]=!0))}var d=[],g={};b.forEach(c);throw new Za(a+": "+d.map($a).join([", "]));}function cb(a,b,c){switch(b){case 0:return c?function(d){return H[d]}:function(d){return C[d]};case 1:return c?function(d){return E[d>>1]}:function(d){return D[d>>1]};case 2:return c?function(d){return G[d>>2]}:function(d){return I[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var db={};
|
|
function eb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function fb(a,b){var c=Q[a];void 0===c&&S(b+" has unknown type "+$a(a));return c}for(var gb={},hb=[null,[],[]],ib=Array(256),X=0;256>X;++X)ib[X]=String.fromCharCode(X);Ea=ib;Ka=e.BindingError=Ha("BindingError");La=e.InternalError=Ha("InternalError");e.count_emval_handles=function(){for(var a=0,b=5;b<U.length;++b)void 0!==U[b]&&++a;return a};
|
|
e.get_first_emval=function(){for(var a=5;a<U.length;++a)if(void 0!==U[a])return U[a];return null};Za=e.UnboundTypeError=Ha("UnboundTypeError");
|
|
var jb={p:function(a){return Y(a+16)+16},e:function(){},o:function(a,b,c){(new Ba(a)).M(b,c);Ca++;throw a;},r:function(){},m:function(a,b,c,d,g){var f=Da(c);b=O(b);T(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,h){return h?d:g},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var h=H;else if(2===c)h=E;else if(4===c)h=G;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[l>>f])},G:null})},v:function(a,b){b=O(b);T(a,{name:b,fromWireType:function(c){var d=
|
|
U[c].value;Oa(c);return d},toWireType:function(c,d){return V(d)},argPackAdvance:8,readValueFromPointer:Pa,G:null})},k:function(a,b,c){c=Da(c);b=O(b);T(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,g){if("number"!==typeof g&&"boolean"!==typeof g)throw new TypeError('Cannot convert "'+Qa(g)+'" to '+this.name);return g},argPackAdvance:8,readValueFromPointer:Ra(b,c),G:null})},q:function(a,b,c,d,g,f){var l=Wa(b,c);a=O(a);g=Ya(d,g);Va(a,function(){bb("Cannot call "+a+" due to unbound types",
|
|
l)},b-1);Ma(l,function(h){var k=[h[0],null].concat(h.slice(1)),m=h=a,n=g,p=k.length;2>p&&S("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==k[1]&&!1,B=!1,q=1;q<k.length;++q)if(null!==k[q]&&void 0===k[q].G){B=!0;break}var Ia="void"!==k[0].name,F="",J="";for(q=0;q<p-2;++q)F+=(0!==q?", ":"")+"arg"+q,J+=(0!==q?", ":"")+"arg"+q+"Wired";m="return function "+Fa(m)+"("+F+") {\nif (arguments.length !== "+(p-2)+") {\nthrowBindingError('function "+m+" called with ' + arguments.length + ' arguments, expected "+
|
|
(p-2)+" args!');\n}\n";B&&(m+="var destructors = [];\n");var Ja=B?"destructors":"null";F="throwBindingError invoker fn runDestructors retType classParam".split(" ");n=[S,n,f,Ta,k[0],k[1]];x&&(m+="var thisWired = classParam.toWireType("+Ja+", this);\n");for(q=0;q<p-2;++q)m+="var arg"+q+"Wired = argType"+q+".toWireType("+Ja+", arg"+q+"); // "+k[q+2].name+"\n",F.push("argType"+q),n.push(k[q+2]);x&&(J="thisWired"+(0<J.length?", ":"")+J);m+=(Ia?"var rv = ":"")+"invoker(fn"+(0<J.length?", ":"")+J+");\n";
|
|
if(B)m+="runDestructors(destructors);\n";else for(q=x?1:2;q<k.length;++q)p=1===q?"thisWired":"arg"+(q-2)+"Wired",null!==k[q].G&&(m+=p+"_dtor("+p+"); // "+k[q].name+"\n",F.push(p+"_dtor"),n.push(k[q].G));Ia&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n");F.push(m+"}\n");k=Sa(F).apply(null,n);q=b-1;if(!e.hasOwnProperty(h))throw new La("Replacing nonexistant public symbol");void 0!==e[h].F&&void 0!==q?e[h].F[q]=k:(e[h]=k,e[h].K=q);return[]})},b:function(a,b,c,d,g){function f(m){return m}b=
|
|
O(b);-1===g&&(g=4294967295);var l=Da(c);if(0===d){var h=32-8*c;f=function(m){return m<<h>>>h}}var k=b.includes("unsigned");T(a,{name:b,fromWireType:f,toWireType:function(m,n){if("number"!==typeof n&&"boolean"!==typeof n)throw new TypeError('Cannot convert "'+Qa(n)+'" to '+this.name);if(n<d||n>g)throw new TypeError('Passing a number "'+Qa(n)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+g+"]!");return k?n>>>0:n|0},argPackAdvance:8,readValueFromPointer:cb(b,
|
|
l,0!==d),G:null})},a:function(a,b,c){function d(f){f>>=2;var l=I;return new g(qa,l[f+1],l[f])}var g=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=O(c);T(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{L:!0})},l:function(a,b){b=O(b);var c="std::string"===b;T(a,{name:b,fromWireType:function(d){var g=I[d>>2];if(c)for(var f=d+4,l=0;l<=g;++l){var h=d+4+l;if(l==g||0==C[h]){if(f){for(var k=f+(h-f),m=f;!(m>=k)&&C[m];)++m;f=ha.decode(C.subarray(f,
|
|
m))}else f="";if(void 0===n)var n=f;else n+=String.fromCharCode(0),n+=f;f=h+1}}else{n=Array(g);for(l=0;l<g;++l)n[l]=String.fromCharCode(C[d+4+l]);n=n.join("")}W(d);return n},toWireType:function(d,g){g instanceof ArrayBuffer&&(g=new Uint8Array(g));var f="string"===typeof g;f||g instanceof Uint8Array||g instanceof Uint8ClampedArray||g instanceof Int8Array||S("Cannot pass non-string to std::string");var l=(c&&f?function(){for(var m=0,n=0;n<g.length;++n){var p=g.charCodeAt(n);55296<=p&&57343>=p&&(p=65536+
|
|
((p&1023)<<10)|g.charCodeAt(++n)&1023);127>=p?++m:m=2047>=p?m+2:65535>=p?m+3:m+4}return m}:function(){return g.length})(),h=Y(4+l+1);I[h>>2]=l;if(c&&f)ia(g,h+4,l+1);else if(f)for(f=0;f<l;++f){var k=g.charCodeAt(f);255<k&&(W(h),S("String has UTF-16 code units that do not fit in 8 bits"));C[h+4+f]=k}else for(f=0;f<l;++f)C[h+4+f]=g[f];null!==d&&d.push(W,h);return h},argPackAdvance:8,readValueFromPointer:Pa,G:function(d){W(d)}})},g:function(a,b,c){c=O(c);if(2===b){var d=ka;var g=la;var f=ma;var l=function(){return D};
|
|
var h=1}else 4===b&&(d=na,g=oa,f=pa,l=function(){return I},h=2);T(a,{name:c,fromWireType:function(k){for(var m=I[k>>2],n=l(),p,x=k+4,B=0;B<=m;++B){var q=k+4+B*b;if(B==m||0==n[q>>h])x=d(x,q-x),void 0===p?p=x:(p+=String.fromCharCode(0),p+=x),x=q+b}W(k);return p},toWireType:function(k,m){"string"!==typeof m&&S("Cannot pass non-string to C++ string type "+c);var n=f(m),p=Y(4+n+b);I[p>>2]=n>>h;g(m,p+4,n+b);null!==k&&k.push(W,p);return p},argPackAdvance:8,readValueFromPointer:Pa,G:function(k){W(k)}})},
|
|
n:function(a,b){b=O(b);T(a,{U:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},c:Oa,d:function(a){if(0===a)return V(eb());var b=db[a];a=void 0===b?O(a):b;return V(eb()[a])},h:function(a){4<a&&(U[a].J+=1)},i:function(a,b,c,d){a||S("Cannot use deleted val. handle = "+a);a=U[a].value;var g=gb[b];if(!g){g="";for(var f=0;f<b;++f)g+=(0!==f?", ":"")+"arg"+f;var l="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(f=0;f<b;++f)l+="var argType"+f+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+
|
|
f+'], "parameter '+f+'");\nvar arg'+f+" = argType"+f+".readValueFromPointer(args);\nargs += argType"+f+"['argPackAdvance'];\n";g=(new Function("requireRegisteredType","Module","__emval_register",l+("var obj = new constructor("+g+");\nreturn __emval_register(obj);\n}\n")))(fb,e,V);gb[b]=g}return g(a,c,d)},j:function(){y()},t:function(a,b,c){C.copyWithin(a,b,b+c)},f:function(a){var b=C.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,
|
|
d);0<d%65536&&(d+=65536-d%65536);a:{try{ea.grow(Math.min(2147483648,d)-qa.byteLength+65535>>>16);ta();var g=1;break a}catch(f){}g=void 0}if(g)return!0}return!1},u:function(a,b,c,d){for(var g=0,f=0;f<c;f++){for(var l=G[b+8*f>>2],h=G[b+(8*f+4)>>2],k=0;k<h;k++){var m=C[l+k],n=hb[a];if(0===m||10===m){m=1===a?da:z;var p;for(p=0;n[p]&&!(NaN<=p);)++p;p=ha.decode(n.subarray?n.subarray(0,p):new Uint8Array(n.slice(0,p)));m(p);n.length=0}else n.push(m)}g+=h}G[d>>2]=g;return 0},s:function(){}};
|
|
(function(){function a(g){e.asm=g.exports;ea=e.asm.w;ta();K=e.asm.C;va.unshift(e.asm.x);L--;e.monitorRunDependencies&&e.monitorRunDependencies(L);0==L&&(null!==ya&&(clearInterval(ya),ya=null),M&&(g=M,M=null,g()))}function b(g){a(g.instance)}function c(g){return za().then(function(f){return WebAssembly.instantiate(f,d)}).then(g,function(f){z("failed to asynchronously prepare wasm: "+f);y(f)})}var d={a:jb};L++;e.monitorRunDependencies&&e.monitorRunDependencies(L);if(e.instantiateWasm)try{return e.instantiateWasm(d,
|
|
a)}catch(g){return z("Module.instantiateWasm callback failed with error: "+g),!1}(function(){return A||"function"!==typeof WebAssembly.instantiateStreaming||N.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(N,{credentials:"same-origin"}).then(function(g){return WebAssembly.instantiateStreaming(g,d).then(b,function(f){z("wasm streaming compile failed: "+f);z("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(r);return{}})();
|
|
e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.x).apply(null,arguments)};var W=e._free=function(){return(W=e._free=e.asm.y).apply(null,arguments)},Y=e._malloc=function(){return(Y=e._malloc=e.asm.z).apply(null,arguments)},ab=e.___getTypeName=function(){return(ab=e.___getTypeName=e.asm.A).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.B).apply(null,arguments)};
|
|
e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.D).apply(null,arguments)};var Z;M=function kb(){Z||lb();Z||(M=kb)};
|
|
function lb(){function a(){if(!Z&&(Z=!0,e.calledRun=!0,!fa)){Aa(va);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();wa.unshift(b)}Aa(wa)}}if(!(0<L)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)xa();Aa(ua);0<L||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}e.run=lb;
|
|
if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();lb();
|
|
|
|
|
|
return Module.ready
|
|
}
|
|
);
|
|
})();
|
|
export default Module; |