(function(e){"use strict";if(typeof define==="function"&&define.amd){define(["jquery","./jquery.fileupload-process.min"],e)}else{e(window.jQuery)}})(function(o){"use strict";o.blueimp.fileupload.prototype.options.processQueue.push({action:"validate",always:true,acceptFileTypes:"@",maxFileSize:"@",minFileSize:"@",maxNumberOfFiles:"@",disabled:"@disableValidation"});o.widget("blueimp.fileupload",o.blueimp.fileupload,{options:{getNumberOfFiles:o.noop,messages:{maxNumberOfFiles:"Maximum number of files exceeded",acceptFileTypes:"File type not allowed",maxFileSize:"File is too large",minFileSize:"File is too small"}},processActions:{validate:function(e,i){if(i.disabled){return e}var l=o.Deferred(),s=this.options,r=e.files[e.index],t;if(i.minFileSize||i.maxFileSize){t=r.size}if(o.type(i.maxNumberOfFiles)==="number"&&(s.getNumberOfFiles()||0)+e.files.length>i.maxNumberOfFiles){r.error=s.i18n("maxNumberOfFiles")}else if(i.acceptFileTypes&&!(i.acceptFileTypes.test(r.type)||i.acceptFileTypes.test(r.name))){r.error=s.i18n("acceptFileTypes")}else if(t>i.maxFileSize){r.error=s.i18n("maxFileSize")}else if(o.type(t)==="number"&&t<i.minFileSize){r.error=s.i18n("minFileSize")}else{delete r.error}if(r.error||e.files.error){e.files.error=true;l.rejectWith(this,[e])}else{l.resolveWith(this,[e])}return l.promise()}}})});