if(u||n.status===i.QUEUED){varc=t.find(".file-name").first();t.addClass("file-renaming"),c.attr("contenteditable","true").one("blur",function(){vari=e.trim(c.text()),d=function(){if(i!==r&&null!==i&&""!==i){vare=n.ext;e.length&&!a.renameExtension&&i.lastIndexOf("."+e)!==i.length-e.length-1&&(i+="."+e),n.name=i}l.showFile(n)};if(u){varp=s.call(l,n,i,d);p===!0?doRemoveFile():p===!1&&l.showFile(n)}elsed();t.removeClass("file-renaming"),c.off("keydown."+o).attr("contenteditable",null)}).on("keydown."+o,function(e){13===e.keyCode&&(c.blur(),e.preventDefault())}).focus(),l.showFile(n)}}})),d.toggleClass("file-show-delete-action-on-done",!!a.deleteActionOnDone),a.staticFiles&&e.each(a.staticFiles,function(t,n){n=e.extend({status:i.DONE},n),n["static"]=!0,n.id||(n.id=e.zui.uuid()),l.showFile(n)}),l.callEvent("onInit")};c.DEFAULTS=a,c.prototype.showMessage=function(e,t,i){varn=this,o=n.$message;e?clearTimeout(n.lastDismissMessage):n.hideMessage(),t=t||"danger",i===r&&(i="danger"===t?8:5),i<20&&(i*=1e3);vars=o.find(".content");s.length?s.empty().append(e):o.empty().append(e),o.attr("data-type",t).slideDown("fast"),i&&(n.lastDismissMessage=setTimeout(function(){n.hideMessage()},i))},c.prototype.hideMessage=function(){clearTimeout(this.lastDismissMessage),this.$message.slideUp("fast")},c.prototype.start=function(){returnthis.plupload.start()},c.prototype.stop=function(){returnthis.plupload.stop()},c.prototype.getState=function(){returnthis.plupload.state},c.prototype.isStarted=function(){returnthis.getState()===i.STARTED},c.prototype.isStopped=function(){returnthis.getState()===i.STOPPED},c.prototype.getFiles=function(){returnthis.plupload.files},c.prototype.getTotal=function(){returnthis.plupload.total},c.prototype.disableBrowse=function(e){returnthis.$.find(".uploader-btn-browse").attr("disable",e?"disable":null).toggle("disable",!!e),this.plupload.disableBrowse()},c.prototype.getFile=function(e){returnthis.plupload.getFile(e)},c.prototype.destroy=function(){vart=this,i="."+o;t.$.off(i).data(o,null),t.$list.off(i),t.$dropElement.off(i),e("body").off(i),t.plupload.destroy()},c.prototype.previewImageSrc=function(t,i){if(t&&t.getSource&&/image\//.test(t.type)){varr=e.extend({width:200,height:200},this.options.previewImageSize);if("image/gif"==t.type){varo=newn.file.FileReader;o.onload=function(){i(o.result),o.destroy(),o=null},o.readAsDataURL(t.getSource())}else{vars=newn.image.Image;s.onload=function(){s.downsize(r.width,r.height);vare="image/jpeg"==s.type?s.getAsDataURL("image/jpeg",80):s.getAsDataURL();i(e),s.destroy(),s=null},s.load(t.getSource())}}},c.prototype.createFileIcon=function(e){vart=e.type,i=e.ext,n="file-o",r=t?t.split("/"):null,o=r&&r.length?r[0]:"",s=(r&&r.length)>1?r[1]:"";return"image"==o?n="file-image":"doc"==i||"docx"==i||"pages"==i?n="file-word":"ppt"==i||"pptx"==i||"key"==i?n="file-powerpoint":"xls"==i||"xlsx"==i||"numbers"==i?n="file-excel":"html"==i||"htm"==i?n="globe":"js"==i||"php"==i||"cs"==i||"jsx"==i||"css"==i||"less"==i||"json"==i||"java"==i||"lua"==i||"py"==i||"c"==i||"cpp"==i||"swift"==i||"h"==i||"sh"==i||"rb"==i||"yml"==i||"ini"==i||"sql"==i||"xml"==i?n="file-code":"apk"==i?n="android":"exe"==i?n="windows":"pkg"==i||"msi"==i||"dmg"==i?n="cube":"epub"==i?n="book":"sketch"==i?n="diamond":"zip"==s||"x-rar"==s||"x-7z-compressed"==s?n="file-archive":"pdf"==s?n="file-pdf":"video"==o?n="file-movie":"audio"==o?n="file-audio":"text"==o&&(n="file-text-o"),'<i class="icon icon-'+n+" file-icon-"+i+'" data-type="'+t+'"'+(i?' data-ext="'+i+'"':"")+"></i>"},c.prototype.getFileItem=function(t){vari=this;if("string"==typeoft&&(t=i.plupload.getFile(t)),!t)returnnull;varn=t.name;if(n&&t.ext===r){varo=n.lastIndexOf(".");o=o>-1?n.substr(o+1):"",t.ext=o,t.type&&/image\//.test(t.type)&&(t.isImage=t.ext)}vars=e("#file-"+t.id);returns.length||(e.isFunction(i.template)?s=e(i.template(t,i)):(s=e(i.template).clone(),s.find(".btn-rename-file").attr("title",i.lang.rename),s.find(".btn-delete-file").attr("title",i.lang.remove),s.find(".btn-reset-file").attr("title",i.lang.repeat),s.find(".btn-download-file").attr("title",i.lang.download)),s.data("id",t.id).toggleClass("file-static",!!t["static"]).attr("id","file-"+t.id).appendTo(i.$list),e.fn.tooltip&&s.find('[data-toggle="tooltip"]').tooltip()),s},c.prototype.showFile=function(t,n){varr=this;if(e.isArray(t))returnvoide.each(t,function(e,t){r.showFile(t,n)});if("string"==typeoft&&(t=r.plupload.getFile(t)),t){varo=r.getFileItem(t);if(o&&o.length){vars=r.options,a=l[t.status];if(s.fileFormater)s.fileFormater.call(r,o,t,a);else{varu="done"==a&&t.url?t.url:null;o.find(".file-name").text(t.name),o.find(".file-size").text(("uploading"==a?i.formatSize(Math.floor(t.size*t.percent/100)).toUpperCase()+"/":"")+i.formatSize(t.size).toUpperCase()),o.find(".file-icon").html(s.fileIconCreator?s.fileIconCreator(t.type,t,r):r.createFileIcon(t)).css("color","hsl("+e.zui.strCode(t.type||t.ext)+", 70%, 40%)"),o.find(".file-progress-bar").css("width",t.percent+"%");varc=o.find(".file-status").attr("title",r.lang[a]);c.find(".text").text("uploading"==a?t.percent+"%":"failed"==a?r.lang[a]:""),e.fn.tooltip&&o.find('[data-toggle="tooltip"]').tooltip("fixTitle"),o.find("a.btn-download-file, a.file-name").attr("href",u)}if(s.previewImageIcon&&t.isImage){vard=function(){o.find(".file-icon").html('<div class="file-icon-image" style="background-image: url('+t.previewImage+')"></div>')};t.previewImage?d():r.previewImageSrc(t,function(e){t.previewImage=e,d()})}o.attr("data-status",a).data("file",t)}}},c.prototype.showStatus=function(){vart=this,n=t.plupload,r=t.$status,o=n.state,s=n.total,a="",l=n.files.length;if(t.options.statusCreator)a=t.options.statusCreator(s,o,t);else{varu={uploading:Math.max(0,Math.min(l,s.uploaded+1)),total:t.$list.children(".file-static").length+l,size:i.formatSize(s.size).toUpperCase(),queue:s.queued,failed:s.failed,uploaded:s.uploaded,uploadedSize:i.formatSize(s.loaded).toUpperCase(),percent:s.percent,speed:i.formatSize(s.bytesPerSec).toUpperCase()+"/S"};a=o==i.STARTED?t.lang.startedStatusText.format(u):l<1?t.lang.initStatusText:t.lang.stoppedStatusText.format(u)}r.html(a),s.uploaded<1&&r.find(".uploader-status-uploaded").remove(),s.failed<1&&r.find(".uploader-status-failed").remove(),s.queued<1&&r.find(".uploader-status-queue").remove(),e.fn.tooltip&&r.find('[data-toggle="tooltip"]').tooltip()},c.prototype.delayShowStatus=function(e){vart=this;t.delayStatusTask||(t.delayStatusTask=!0,e===r&&(e=500),t.delayStatusTask=setTimeout(function(){t.showStatus(),t.delayStatusTask=!1},e))},c.prototype.removeFile=function(t,i){varn=this;if("string"==typeoft&&(t=n.plupload.getFile(t)),i||t["static"]){varr=e("#file-"+t.id);e.fn.tooltip&&(r.find('[data-toggle="tooltip"]').tooltip("destroy"),e(".tooltip").remove()),r.fadeOut(function(){e(this).remove()})}elsen.plupload.removeFile(t)},c.prototype.initPlupload=function(){varn=this,o=n.options,s=e.extend({},o,{browse_button:n.$button[0],container:n.$[0],drop_element:n.$dropElement[0],multipart_params:null}),a={FilesAdded:function(e,t){vari=o.limitFilesCount;if(i){i===!0&&(i=1);varr=n.$list.children(".file").length;if(r+t.length>i){n.showMessage(n.lang.limitFilesCountMessage.format({count:i}),"warning");for(vars=[],a=0;a<t.length;++a)r+a+1<=i?s.push(t[a]):e.removeFile(t[a]);if(!s.length)return;t=s}}n.showFile(t),o.autoUpload&&n.start(),n.showStatus(),n.callEvent("onFilesAdded",[t])},UploadProgress:function(e,t){n.showFile(t),n.delayShowStatus(),n.callEvent("onUploadProgress",t)},FileUploaded:function(t,s,a){if(a){varl="object"==typeofa?a.response:a;try{s.remoteData=e.parseJSON(l)}catch(u){}}n.qiniuEnable&&s.remoteData&&(s.url=t.settings.domain+s.remoteData.key);varc=o.responseHandler;if(c){vard=null;if(e.isFunction(c))d=c.call(n,a,s);elseif(a.response){varp=s.remoteData;if(e.isPlainObject(p)){varf=p.status||p.result;f!==r&&"ok"!==f&&"success"!==f&&200!==f&&(d={message:p.message,data:p}),p.id!==r&&(s.remoteId=p.id),p.url!==r&&(s.url=p.url)}}if(d)returnd=e.isPlainObject(d)?d:{message:d},s.status=i.FAILED,d.code===r&&(d.code=i.GENERIC_ERROR),d.file=s,d.responseObject=a,voidt.trigger("Error",d)}if(s.status===i.DONE&&n.lastUploadedCount++,n.showFile(s,a),n.showStatus(),n.callEvent("onFileUploaded",[s,a]),s.status===i.DONE){varm=o.removeUploaded;m&&setTimeout(function(){e("#file-"+s.id).fadeOut(function(){e(this).remove()})},"number"==typeofm?m:2e3)}},UploadComplete:function(t,r){n.showFile(r),n.showStatus();vars=o.uploadedMessage;if(s){vara=n.lastUploadedCount,l=0;e.each(r,function(e,t){t.status===i.FAILED&&l++});varu="",c={uploaded:a,failed:l};u="string"==typeofs?s.format(c):e.isFunction(s)?s(c):n.lang[l>0?"uploadHasFailedMessage":a>0?"uploadSuccessMessage":"uploadEmptyMessage"].format(c),n.showMessage(u,l>0?"danger":a>0?"success":"warning",3)}n.callEvent("onUploadComplete",[r])},FilesRemoved:function(t,i){e.each(i,function(e,t){n.removeFile(t,!0)}),n.showStatus(),n.callEvent("onFilesRemoved",i)},ChunkUploaded:function(e,t,i){n.callEvent("onChunkUploaded",[t,i])},UploadFile:function(e,t){n.showStatus(),n.callEvent("onUploadFile",t)},BeforeUpload:function(t,i){varr=o.multipart_params,s={};o.sendFileName&&(s[o.sendFileName===!0?"name":o.sendFileName]=i.name),o.sendFileId&&(s[o.sendFileId===!0?"uuid":o.sendFileId]=i.id),s=e.extend(s,e.isFunction(r)?r(i):r),t.setOption("multipart_params",s),n.callEvent("onBeforeUpload",i)},Refresh:function(e){n.showStatus(),n.callEvent("onRefresh")},StateChanged:function(e){e.state===i.STARTED&&(n.lastUploadedCount=0),n.$.toggleClass("uploader-started",i.STARTED===e.state),n.hideMessage(),n.showStatus(),n.callEvent("onStateChanged",e.state)},QueueChanged:function(e){n.showStatus(),n.callEvent("onQueueChanged")},Error:function(e,t){varr="danger";t.code!==i.FILE_SIZE_ERROR&&t.code!==i.FILE_SIZE_ERROR&&t.code!==i.FILE_EXTENSION_ERROR&&t.code!==i.FILE_DUPLICATE_ERROR&&t.code!==i.MAGE_FORMAT_ERROR||(r="warning"),n.showMessage(t.message,r),n.callEvent("onError",t)}};if(i.addI18n(n.lang.i18n),n.qiniuEnable=e.isPlainObject(o.qiniu)&&t.Qiniu,n.qiniuEnable){varl=o.qiniu,u=l.key;deletes.qiniu,u?(deletel.key,e.isFunction(u)&&(a.Key=u)):a.Key=function(e,t){returnt.name},l.init=a,s=e.extend(s,l);varc=newQiniuJsSDK,d=c.uploader(s);n.plupload=d}else{vard=newi.Uploader(s);d.init(),n.plOptions=s,n.plupload=d,e.each(a,function(e,t){d.bind(e,t)})}},c.prototype.getOptions=function(t){returnthis.options=e.extend({lang:e.zui.clientLang()},a,this.$.data(),t),this.options},c.prototype.callEvent=function(t,i){varn=this;if(e.isArray(i)||(i=[i]),n.$.trigger(t,i),e.isFunction(n.options[t]))returnn.options[t].apply(n,i)},e.fn.uploader=function(t,i){returnthis.each(function(){varn=e(this),r=n.data(o),s="object"==typeoft&&t;r||n.data(o,r=newc(this,s)),"string"==typeoft&&r[t](i)})},c.NAME=o,c.STATUS=l,c.ERRORS=u,c.NAME=o,c.LANG={zh_cn:{limitFilesCountMessage:"所有文件数目不能超过 {count} 个,如果要上传此文件请先从列表移除文件。",uploadEmptyMessage:"没有文件等待上传。",uploadSuccessMessage:"已上传 <strong>{uploaded}</strong> 个文件。",uploadHasFailedMessage:"已上传 <strong>{uploaded}</strong> 个文件,<strong>{failed}</strong> 个文件上传失败。",startedStatusText:'正在上传第 <strong>{uploading}</strong> 个文件,共 <strong title="总大小:{size}" data-toggle="tooltip" class="text-primary">{total}</strong> 个文件,<span class="uploader-status-uploaded">已上传 <strong title="总大小:{uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> 个文件,</span><span class="uploader-status-failed"><strong>{failed}</strong> 个上传失败,</span>进度 <strong>{percent}%</strong>,平均速度 <strong>{speed}</strong>。',initStatusText:"添加文件或拖放文件来上传。",stoppedStatusText:'共 <strong title="总大小:{size}" data-toggle="tooltip" class="text-primary">{total}</strong> 个文件<span class="uploader-status-queue">,<strong>{queue}</strong> 个文件等待上传</span><span class="uploader-status-uploaded">,已上传 <strong title="总大小:{uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> 个文件</span><span class="uploader-status-failed">,<strong>{failed}</strong> 个上传失败</span><span class="uploader-status-uploaded">,平均速度 <strong>{speed}</strong></span>。',deleteConfirm:"确定移除文件【{name}】?",download:"下载",rename:"重命名",repeat:"重新上传",remove:"移除",dropPlaceholder:"将文件拖放至在此处。",queue:"待上传",uploading:"正在上传",failed:"失败",done:"已上传",i18n:{"Stop Upload":"停止上传","Upload URL might be wrong or doesn't exist.":"上传的URL可能是错误的或不存在。",tb:"tb",Size:"大小",Close:"关闭","You must specify either browse_button or drop_element.":"您必须指定 browse_button 或者 drop_element。","Init error.":"初始化错误。","Add files to the upload queue and click the start button.":"将文件添加到上传队列,然后点击”开始上传“按钮。",List:"列表",Filename:"文件名","%s specified, but cannot be found.":"%s 已指定,但是没有找到。","Image format either wrong or not supported.":"图片格式错误或者不支持。",Status:"状态","HTTP Error.":"HTTP 错误。","Start Upload":"开始上传","Error: File too large:":"错误: 文件太大:",kb:"kb","Duplicate file error.":"无法添加重复文件。","File size error.":"文件大小错误。","N/A":"N/A",gb:"gb","Error: Invalid file extension:":"错误:无效的文件扩展名:","Select files":"选择文件","%s already present in the queue.":"%s 已经在当前队列里。","Resoultion out of boundaries! <b>%s</b> runtime supports images only up to %wx%hpx.":"超限。<b>%s</b> 支持最大 %wx%hpx 的图片。","File: %s":"文件: %s",b:"b","Uploaded %d/%d files":"已上传 %d/%d 个文件","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"每次只接受同时上传 %d 个文件,多余的文件将会被删除。","%d files queued":"%d 个文件加入到队列","File: %s, size: %d, max file size: %d":"文件: %s, 大小: %d, 最大文件大小: %d",Thumbnails:"缩略图","Drag files here.":"把文件拖到这里。","Runtime ran out of available memory.":"运行时已消耗所有可用内存。","File count error.":"文件数量错误。","File extension error.":"文件扩展名错误。",mb:"mb","Add Files":"增加文件"}},zh_tw:{limitFilesCountMessage:"所有文件數目不能超過 {count} 個。",uploadEmptyMessage:"没有文件等待上傳。",uploadSuccessMessage:"已上傳 <strong>{uploaded}</strong> 个文件。",uploadHasFailedMessage:"文件上傳完成,已上傳 <strong>{uploaded}</strong> 個文件,<strong>{failed}</strong> 個文件上傳失败。",startedStatusText:'正在上傳第<strong>{uploading}</strong> 個文件,共<strong title="總大小:{size}" data-toggle="tooltip" class="text -primary">{total}</strong> 個文件,<span class="uploader-status-uploaded">已上傳<strong title="總大小:{uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> 個文件,</span><span class="uploader-status-failed"><strong>{failed}</ strong> 個上傳失敗,</span>進度<strong>{percent}%</strong>,平均速度<strong>{speed}</strong>。',initStatusText:"添加文件或拖放文件來上傳。",stoppedStatusText:'共<strong title="總大小:{size}" data-toggle="tooltip" class="text-primary">{total}</strong> 個文件<span class="uploader-status-queue">,<strong>{queue}</strong> 個文件等待上傳</span><span class="uploader-status-uploaded">,已上傳<strong title="總大小:{uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> 個文件</span><span class=" uploader-status-failed">,<strong>{failed}</strong> 個上傳失敗</span><span class="uploader-status-uploaded">,平均速度<strong>{speed}< /strong></span>。',deleteConfirm:"確定移除文件【{name}】?",download:"下载",rename:"重命名",repeat:"重新上傳",remove:"移除",dropPlaceholder:"將文件拖放至在此處。",queue:"待上傳",uploading:"正在上傳",failed:"失敗",done:"已上傳",i18n:{"Stop Upload":"停止上傳","Upload URL might be wrong or doesn't exist.":"檔案URL可能有誤或者不存在。",tb:"tb",Size:"大小",Close:"關閉","You must specify either browse_button or drop_element.":"您必須指定 browse_button 或 drop_element。","Init error.":"初始化錯誤。","Add files to the upload queue and click the start button.":"將檔案加入上傳序列,然後點選”開始上傳“按鈕。",List:"清單",Filename:"檔案名稱","%s specified, but cannot be found.":"找不到已選擇的 %s。","Image format either wrong or not supported.":"圖片格式錯誤或者不支援。",Status:"狀態","HTTP Error.":"HTTP 錯誤。","Start Upload":"開始上傳","Error: File too large:":"錯誤: 檔案大小太大:",kb:"kb","Duplicate file error.":"錯誤:檔案重複。","File size error.":"錯誤:檔案大小超過限制。","N/A":"N/A",gb:"gb","Error: Invalid file extension:":"錯誤:不接受的檔案格式:","Select files":"選擇檔案","%s already present in the queue.":"%s 已經存在目前的檔案序列。","Resoultion out of boundaries! <b>%s</b> runtime supports images only up to %wx%hpx.":"圖片解析度超出範圍! <b>%s</b> 最高只支援到 %wx%hpx。","File: %s":"檔案: %s",b:"b","Uploaded %d/%d files":"已上傳 %d/%d 個文件","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"每次只能上傳 %d 個檔案,超過限制數量的檔案將被忽略。","%d files queued":"%d 個檔案加入到序列","File: %s, size: %d, max file size: %d":"檔案: %s, 大小: %d, 檔案大小上限: %d",Thumbnails:"縮圖","Drag files here.":"把檔案拖曳到這裡。","Runtime ran out of available memory.":"執行時耗盡了所有可用的記憶體。","File count error.":"檔案數量錯誤。","File extension error.":"檔案副檔名錯誤。",mb:"mb","Add Files":"增加檔案"}},en:{limitFilesCountMessage:"All files count can not over {count}.",uploadEmptyMessage:"No file in queue to upload",uploadSuccessMessage:"Uploaded <strong>{uploaded}</strong> files。",uploadHasFailedMessage:"Uploaded complete, <strong>{uploaded}</strong> success, <strong>{failed}</strong> failed.",startedStatusText:'Uploading NO.<strong>{uploading}</strong> file, total <strong title="Total size: {size}" data-toggle="tooltip" class="text-primary">{total}</strong> files, <span class="uploader-status-uploaded">Uploaded <strong title="Total size: {uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> files, </span><span class="uploader-status-failed"><strong>{failed}</strong> failed, </span>progress <strong>{percent}%</strong>, average spped <strong>{speed}</strong>。',initStatusText:"Append or drag file here.",stoppedStatusText:'Total <strong title="Total size: {size}" data-toggle="tooltip" class="text-primary">{total}</strong> files<span class="uploader-status-queue">, <strong>{queue}</strong> files in queue</span><span class="uploader-status-uploaded">, uploaded <strong title="Total size: {uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> files</span><span class="uploader-status-failed">, <strong>{failed}</strong> failed</span><span class="uploader-status-uploaded">, average spped <strong>{speed}</strong></span>。',deleteConfirm:'Remove file "{name}" form upload queue?',rename:"Rename",download:"Download",repeat:"Repeat",remove:"Remove",dropPlaceholder:"Drop file here.",queue:"Wait",uploading:"Uploading",failed:"Failed",done:"Done",i18n:{"Stop Upload":"Stop Upload","Upload URL might be wrong or doesn't exist.":"Upload URL might be wrong or doesn't exist.",tb:"tb",Size:"Size",Close:"Close","You must specify either browse_button or drop_element.":"You must specify either browse_button or drop_element.","Init error.":"Init error.","Add files to the upload queue and click the start button.":"Add files to the upload queue and click the start button.",List:"List",Filename:"Filename","%s specified, but cannot be found.":"%s specified, but cannot be found.","Image format either wrong or not supported.":"Image format either wrong or not supported.",Status:"Status","HTTP Error.":"HTTP Error.","Start Upload":"Start Upload","Error: File too large:":"Error: File too large:",kb:"kb","Duplicate file error.":"Duplicate file error.","File size error.":"File size error.","N/A":"N/A",gb:"gb","Error: Invalid file extension:":"Error: Invalid file extension:","Select files":"Select files","%s already present in the queue.":"%s already present in the queue.","Resoultion out of boundaries! <b>%s</b> runtime supports images only up to %wx%hpx.":"Resoultion out of boundaries! <b>%s</b> runtime supports images only up to %wx%hpx.","File: %s":"File: %s",b:"b","Uploaded %d/%d files":"Uploaded %d/%d files","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload element accepts only %d file(s) at a time. Extra files were stripped.","%d files queued":"%d files queued","File: %s, size: %d, max file size: %d":"File: %s, size: %d, max file size: %d",Thumbnails:"Thumbnails","Drag files here.":"Drag files here.","Runtime ran out of available memory.":"Runtime ran out of available memory.","File count error.":"File count error.","File extension error.":"File extension error.",mb:"mb","Add Files":"Add Files"}}},e.zui.plupload=i,e.zui.moxie=n,e.zui.Uploader=c,e.fn.uploader.Constructor=c,t.mOxie||(t.mOxie={Env:n.core.utils.Env,XMLHttpRequest:n.xhr.XMLHttpRequest}),e(function(){e('[data-ride="uploader"]').uploader()})}(jQuery,window,plupload,moxie,void0);
\ No newline at end of file
if(u||n.status===i.QUEUED){varc=t.find(".file-name").first();t.addClass("file-renaming"),c.attr("contenteditable","true").one("blur",function(){vari=e.trim(c.text()),d=function(){if(i!==r&&null!==i&&""!==i){vare=n.ext;e.length&&!a.renameExtension&&i.lastIndexOf("."+e)!==i.length-e.length-1&&(i+="."+e),n.name=i}l.showFile(n)};if(u){varp=s.call(l,n,i,d);p===!0?doRemoveFile():p===!1&&l.showFile(n)}elsed();t.removeClass("file-renaming"),c.off("keydown."+o).attr("contenteditable",null)}).on("keydown."+o,function(e){13===e.keyCode&&(c.blur(),e.preventDefault())}).focus(),l.showFile(n)}}})),d.toggleClass("file-show-delete-action-on-done",!!a.deleteActionOnDone),a.staticFiles&&e.each(a.staticFiles,function(t,n){n=e.extend({status:i.DONE},n),n["static"]=!0,n.id||(n.id=e.zui.uuid()),l.showFile(n)}),l.callEvent("onInit")};c.DEFAULTS=a,c.prototype.showMessage=function(e,t,i){varn=this,o=n.$message;e?clearTimeout(n.lastDismissMessage):n.hideMessage(),t=t||"danger",i===r&&(i="danger"===t?8:5),i<20&&(i*=1e3);vars=o.find(".content");s.length?s.empty().append(e):o.empty().append(e),o.attr("data-type",t).slideDown("fast"),i&&(n.lastDismissMessage=setTimeout(function(){n.hideMessage()},i))},c.prototype.hideMessage=function(){clearTimeout(this.lastDismissMessage),this.$message.slideUp("fast")},c.prototype.start=function(){returnthis.plupload.start()},c.prototype.stop=function(){returnthis.plupload.stop()},c.prototype.getState=function(){returnthis.plupload.state},c.prototype.isStarted=function(){returnthis.getState()===i.STARTED},c.prototype.isStopped=function(){returnthis.getState()===i.STOPPED},c.prototype.getFiles=function(){returnthis.plupload.files},c.prototype.getTotal=function(){returnthis.plupload.total},c.prototype.disableBrowse=function(e){returnthis.$.find(".uploader-btn-browse").attr("disable",e?"disable":null).toggle("disable",!!e),this.plupload.disableBrowse()},c.prototype.getFile=function(e){returnthis.plupload.getFile(e)},c.prototype.destroy=function(){vart=this,i="."+o;t.$.off(i).data(o,null),t.$list.off(i),t.$dropElement.off(i),e("body").off(i),t.plupload.destroy()},c.prototype.previewImageSrc=function(t,i){if(t&&t.getSource&&/image\//.test(t.type)){varr=e.extend({width:200,height:200},this.options.previewImageSize);if("image/gif"==t.type){varo=newn.file.FileReader;o.onload=function(){i(o.result),o.destroy(),o=null},o.readAsDataURL(t.getSource())}else{vars=newn.image.Image;s.onload=function(){s.downsize(r.width,r.height);vare="image/jpeg"==s.type?s.getAsDataURL("image/jpeg",80):s.getAsDataURL();i(e),s.destroy(),s=null},s.load(t.getSource())}}},c.prototype.createFileIcon=function(e){vart=e.type,i=e.ext,n="file-o",r=t?t.split("/"):null,o=r&&r.length?r[0]:"",s=(r&&r.length)>1?r[1]:"";return"image"==o?n="file-image":"doc"==i||"docx"==i||"pages"==i?n="file-word":"ppt"==i||"pptx"==i||"key"==i?n="file-powerpoint":"xls"==i||"xlsx"==i||"numbers"==i?n="file-excel":"html"==i||"htm"==i?n="globe":"js"==i||"php"==i||"cs"==i||"jsx"==i||"css"==i||"less"==i||"json"==i||"java"==i||"lua"==i||"py"==i||"c"==i||"cpp"==i||"swift"==i||"h"==i||"sh"==i||"rb"==i||"yml"==i||"ini"==i||"sql"==i||"xml"==i?n="file-code":"apk"==i?n="android":"exe"==i?n="windows":"pkg"==i||"msi"==i||"dmg"==i?n="cube":"epub"==i?n="book":"sketch"==i?n="diamond":"zip"==s||"x-rar"==s||"x-7z-compressed"==s?n="file-archive":"pdf"==s?n="file-pdf":"video"==o?n="file-movie":"audio"==o?n="file-audio":"text"==o&&(n="file-text-o"),'<i class="icon icon-'+n+" file-icon-"+i+'" data-type="'+t+'"'+(i?' data-ext="'+i+'"':"")+"></i>"},c.prototype.getFileItem=function(t){vari=this;if("string"==typeoft&&(t=i.plupload.getFile(t)),!t)returnnull;varn=t.name;if(n&&t.ext===r){varo=n.lastIndexOf(".");o=o>-1?n.substr(o+1):"",t.ext=o,t.type&&/image\//.test(t.type)&&(t.isImage=t.ext)}vars=e("#file-"+t.id);returns.length||(e.isFunction(i.template)?s=e(i.template(t,i)):(s=e(i.template).clone(),s.find(".btn-rename-file").attr("title",i.lang.rename),s.find(".btn-delete-file").attr("title",i.lang.remove),s.find(".btn-reset-file").attr("title",i.lang.repeat),s.find(".btn-download-file").attr("title",i.lang.download)),s.data("id",t.id).toggleClass("file-static",!!t["static"]).attr("id","file-"+t.id).appendTo(i.$list),e.fn.tooltip&&s.find('[data-toggle="tooltip"]').tooltip()),s},c.prototype.showFile=function(t,n){varr=this;if(e.isArray(t))returnvoide.each(t,function(e,t){r.showFile(t,n)});if("string"==typeoft&&(t=r.plupload.getFile(t)),t){varo=r.getFileItem(t);if(o&&o.length){vars=r.options,a=l[t.status];if(s.fileFormater)s.fileFormater.call(r,o,t,a);else{varu="done"==a&&t.url?t.url:null;o.find(".file-name").text(t.name),o.find(".file-size").text(("uploading"==a?i.formatSize(Math.floor(t.size*t.percent/100)).toUpperCase()+"/":"")+i.formatSize(t.size).toUpperCase()),o.find(".file-icon").html(s.fileIconCreator?s.fileIconCreator(t.type,t,r):r.createFileIcon(t)).css("color","hsl("+e.zui.strCode(t.type||t.ext)+", 70%, 40%)"),o.find(".file-progress-bar").css("width",t.percent+"%");varc=o.find(".file-status").attr("title",r.lang[a]);c.find(".text").text("uploading"==a?t.percent+"%":"failed"==a?r.lang[a]:""),e.fn.tooltip&&o.find('[data-toggle="tooltip"]').tooltip("fixTitle"),o.find("a.btn-download-file, a.file-name").attr("href",u)}if(s.previewImageIcon&&t.isImage){vard=function(){o.find(".file-icon").html('<div class="file-icon-image" style="background-image: url('+t.previewImage+')"></div>')};t.previewImage?d():r.previewImageSrc(t,function(e){t.previewImage=e,d()})}o.attr("data-status",a).data("file",t)}}},c.prototype.showStatus=function(){vart=this,n=t.plupload,r=t.$status,o=n.state,s=n.total,a="",l=n.files.length;if(t.options.statusCreator)a=t.options.statusCreator(s,o,t);else{varu={uploading:Math.max(0,Math.min(l,s.uploaded+1)),total:t.$list.children(".file-static").length+l,size:i.formatSize(s.size).toUpperCase(),queue:s.queued,failed:s.failed,uploaded:s.uploaded,uploadedSize:i.formatSize(s.loaded).toUpperCase(),percent:s.percent,speed:i.formatSize(s.bytesPerSec).toUpperCase()+"/S"};a=o==i.STARTED?t.lang.startedStatusText.format(u):l<1?t.lang.initStatusText:t.lang.stoppedStatusText.format(u)}r.html(a),s.uploaded<1&&r.find(".uploader-status-uploaded").remove(),s.failed<1&&r.find(".uploader-status-failed").remove(),s.queued<1&&r.find(".uploader-status-queue").remove(),e.fn.tooltip&&r.find('[data-toggle="tooltip"]').tooltip()},c.prototype.delayShowStatus=function(e){vart=this;t.delayStatusTask||(t.delayStatusTask=!0,e===r&&(e=500),t.delayStatusTask=setTimeout(function(){t.showStatus(),t.delayStatusTask=!1},e))},c.prototype.removeFile=function(t,i){varn=this;if("string"==typeoft&&(t=n.plupload.getFile(t)),i||t["static"]){varr=e("#file-"+t.id);e.fn.tooltip&&(r.find('[data-toggle="tooltip"]').tooltip("destroy"),e(".tooltip").remove()),r.fadeOut(function(){e(this).remove()})}elsen.plupload.removeFile(t)},c.prototype.initPlupload=function(){varn=this,o=n.options,s=e.extend({},o,{browse_button:n.$button[0],container:n.$[0],drop_element:n.$dropElement[0],multipart_params:null}),a={FilesAdded:function(e,t){vari=o.limitFilesCount;if(i){i===!0&&(i=1);varr=n.$list.children(".file").length;if(r+t.length>i){n.showMessage(n.lang.limitFilesCountMessage.format({count:i}),"warning");for(vars=[],a=0;a<t.length;++a)r+a+1<=i?s.push(t[a]):e.removeFile(t[a]);if(!s.length)return;t=s}}n.showFile(t),o.autoUpload&&n.start(),n.showStatus(),n.callEvent("onFilesAdded",[t])},UploadProgress:function(e,t){n.showFile(t),n.delayShowStatus(),n.callEvent("onUploadProgress",t)},FileUploaded:function(t,s,a){if(a){varl="object"==typeofa?a.response:a;try{s.remoteData=e.parseJSON(l)}catch(u){}}n.qiniuEnable&&s.remoteData&&(s.url=t.settings.domain+s.remoteData.key);varc=o.responseHandler;if(c){vard=null;if(e.isFunction(c))d=c.call(n,a,s);elseif(a.response){varp=s.remoteData;if(e.isPlainObject(p)){varf=p.status||p.result;f!==r&&"ok"!==f&&"success"!==f&&200!==f&&(d={message:p.message,data:p}),p.id!==r&&(s.remoteId=p.id),p.url!==r&&(s.url=p.url)}}if(d)returnd=e.isPlainObject(d)?d:{message:d},s.status=i.FAILED,d.code===r&&(d.code=i.GENERIC_ERROR),d.file=s,d.responseObject=a,voidt.trigger("Error",d)}if(s.status===i.DONE&&n.lastUploadedCount++,n.showFile(s,a),n.showStatus(),n.callEvent("onFileUploaded",[s,a]),s.status===i.DONE){varm=o.removeUploaded;m&&setTimeout(function(){e("#file-"+s.id).fadeOut(function(){e(this).remove()})},"number"==typeofm?m:2e3)}},UploadComplete:function(t,r){n.showFile(r),n.showStatus();vars=o.uploadedMessage;if(s){vara=n.lastUploadedCount,l=0;e.each(r,function(e,t){t.status===i.FAILED&&l++});varu="",c={uploaded:a,failed:l};u="string"==typeofs?s.format(c):e.isFunction(s)?s(c):n.lang[l>0?"uploadHasFailedMessage":a>0?"uploadSuccessMessage":"uploadEmptyMessage"].format(c),n.showMessage(u,l>0?"danger":a>0?"success":"warning",3)}n.callEvent("onUploadComplete",[r])},FilesRemoved:function(t,i){e.each(i,function(e,t){n.removeFile(t,!0)}),n.showStatus(),n.callEvent("onFilesRemoved",i)},ChunkUploaded:function(e,t,i){n.callEvent("onChunkUploaded",[t,i])},UploadFile:function(e,t){n.showStatus(),n.callEvent("onUploadFile",t)},BeforeUpload:function(t,i){varr=o.multipart_params,s={};o.sendFileName&&(s[o.sendFileName===!0?"name":o.sendFileName]=i.name),o.sendFileId&&(s[o.sendFileId===!0?"uuid":o.sendFileId]=i.id),s=e.extend(s,e.isFunction(r)?r(i,s):r),t.setOption("multipart_params",s),n.callEvent("onBeforeUpload",i)},Refresh:function(e){n.showStatus(),n.callEvent("onRefresh")},StateChanged:function(e){e.state===i.STARTED&&(n.lastUploadedCount=0),n.$.toggleClass("uploader-started",i.STARTED===e.state),n.hideMessage(),n.showStatus(),n.callEvent("onStateChanged",e.state)},QueueChanged:function(e){n.showStatus(),n.callEvent("onQueueChanged")},Error:function(e,t){varr="danger";t.code!==i.FILE_SIZE_ERROR&&t.code!==i.FILE_SIZE_ERROR&&t.code!==i.FILE_EXTENSION_ERROR&&t.code!==i.FILE_DUPLICATE_ERROR&&t.code!==i.MAGE_FORMAT_ERROR||(r="warning"),n.showMessage(t.message,r),n.callEvent("onError",t)}};if(i.addI18n(n.lang.i18n),n.qiniuEnable=e.isPlainObject(o.qiniu)&&t.Qiniu,n.qiniuEnable){varl=o.qiniu,u=l.key;deletes.qiniu,u?(deletel.key,e.isFunction(u)&&(a.Key=u)):a.Key=function(e,t){returnt.name},l.init=a,s=e.extend(s,l);varc=newQiniuJsSDK,d=c.uploader(s);n.plupload=d}else{vard=newi.Uploader(s);d.init(),n.plOptions=s,n.plupload=d,e.each(a,function(e,t){d.bind(e,t)})}},c.prototype.getOptions=function(t){returnthis.options=e.extend({lang:e.zui.clientLang()},a,this.$.data(),t),this.options},c.prototype.callEvent=function(t,i){varn=this;if(e.isArray(i)||(i=[i]),n.$.trigger(t,i),e.isFunction(n.options[t]))returnn.options[t].apply(n,i)},e.fn.uploader=function(t,i){returnthis.each(function(){varn=e(this),r=n.data(o),s="object"==typeoft&&t;r||n.data(o,r=newc(this,s)),"string"==typeoft&&r[t](i)})},c.NAME=o,c.STATUS=l,c.ERRORS=u,c.NAME=o,c.LANG={zh_cn:{limitFilesCountMessage:"所有文件数目不能超过 {count} 个,如果要上传此文件请先从列表移除文件。",uploadEmptyMessage:"没有文件等待上传。",uploadSuccessMessage:"已上传 <strong>{uploaded}</strong> 个文件。",uploadHasFailedMessage:"已上传 <strong>{uploaded}</strong> 个文件,<strong>{failed}</strong> 个文件上传失败。",startedStatusText:'正在上传第 <strong>{uploading}</strong> 个文件,共 <strong title="总大小:{size}" data-toggle="tooltip" class="text-primary">{total}</strong> 个文件,<span class="uploader-status-uploaded">已上传 <strong title="总大小:{uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> 个文件,</span><span class="uploader-status-failed"><strong>{failed}</strong> 个上传失败,</span>进度 <strong>{percent}%</strong>,平均速度 <strong>{speed}</strong>。',initStatusText:"添加文件或拖放文件来上传。",stoppedStatusText:'共 <strong title="总大小:{size}" data-toggle="tooltip" class="text-primary">{total}</strong> 个文件<span class="uploader-status-queue">,<strong>{queue}</strong> 个文件等待上传</span><span class="uploader-status-uploaded">,已上传 <strong title="总大小:{uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> 个文件</span><span class="uploader-status-failed">,<strong>{failed}</strong> 个上传失败</span><span class="uploader-status-uploaded">,平均速度 <strong>{speed}</strong></span>。',deleteConfirm:"确定移除文件【{name}】?",download:"下载",rename:"重命名",repeat:"重新上传",remove:"移除",dropPlaceholder:"将文件拖放至在此处。",queue:"待上传",uploading:"正在上传",failed:"失败",done:"已上传",i18n:{"Stop Upload":"停止上传","Upload URL might be wrong or doesn't exist.":"上传的URL可能是错误的或不存在。",tb:"tb",Size:"大小",Close:"关闭","You must specify either browse_button or drop_element.":"您必须指定 browse_button 或者 drop_element。","Init error.":"初始化错误。","Add files to the upload queue and click the start button.":"将文件添加到上传队列,然后点击”开始上传“按钮。",List:"列表",Filename:"文件名","%s specified, but cannot be found.":"%s 已指定,但是没有找到。","Image format either wrong or not supported.":"图片格式错误或者不支持。",Status:"状态","HTTP Error.":"HTTP 错误。","Start Upload":"开始上传","Error: File too large:":"错误: 文件太大:",kb:"kb","Duplicate file error.":"无法添加重复文件。","File size error.":"文件大小错误。","N/A":"N/A",gb:"gb","Error: Invalid file extension:":"错误:无效的文件扩展名:","Select files":"选择文件","%s already present in the queue.":"%s 已经在当前队列里。","Resoultion out of boundaries! <b>%s</b> runtime supports images only up to %wx%hpx.":"超限。<b>%s</b> 支持最大 %wx%hpx 的图片。","File: %s":"文件: %s",b:"b","Uploaded %d/%d files":"已上传 %d/%d 个文件","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"每次只接受同时上传 %d 个文件,多余的文件将会被删除。","%d files queued":"%d 个文件加入到队列","File: %s, size: %d, max file size: %d":"文件: %s, 大小: %d, 最大文件大小: %d",Thumbnails:"缩略图","Drag files here.":"把文件拖到这里。","Runtime ran out of available memory.":"运行时已消耗所有可用内存。","File count error.":"文件数量错误。","File extension error.":"文件扩展名错误。",mb:"mb","Add Files":"增加文件"}},zh_tw:{limitFilesCountMessage:"所有文件數目不能超過 {count} 個。",uploadEmptyMessage:"没有文件等待上傳。",uploadSuccessMessage:"已上傳 <strong>{uploaded}</strong> 个文件。",uploadHasFailedMessage:"文件上傳完成,已上傳 <strong>{uploaded}</strong> 個文件,<strong>{failed}</strong> 個文件上傳失败。",startedStatusText:'正在上傳第<strong>{uploading}</strong> 個文件,共<strong title="總大小:{size}" data-toggle="tooltip" class="text -primary">{total}</strong> 個文件,<span class="uploader-status-uploaded">已上傳<strong title="總大小:{uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> 個文件,</span><span class="uploader-status-failed"><strong>{failed}</ strong> 個上傳失敗,</span>進度<strong>{percent}%</strong>,平均速度<strong>{speed}</strong>。',initStatusText:"添加文件或拖放文件來上傳。",stoppedStatusText:'共<strong title="總大小:{size}" data-toggle="tooltip" class="text-primary">{total}</strong> 個文件<span class="uploader-status-queue">,<strong>{queue}</strong> 個文件等待上傳</span><span class="uploader-status-uploaded">,已上傳<strong title="總大小:{uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> 個文件</span><span class=" uploader-status-failed">,<strong>{failed}</strong> 個上傳失敗</span><span class="uploader-status-uploaded">,平均速度<strong>{speed}< /strong></span>。',deleteConfirm:"確定移除文件【{name}】?",download:"下载",rename:"重命名",repeat:"重新上傳",remove:"移除",dropPlaceholder:"將文件拖放至在此處。",queue:"待上傳",uploading:"正在上傳",failed:"失敗",done:"已上傳",i18n:{"Stop Upload":"停止上傳","Upload URL might be wrong or doesn't exist.":"檔案URL可能有誤或者不存在。",tb:"tb",Size:"大小",Close:"關閉","You must specify either browse_button or drop_element.":"您必須指定 browse_button 或 drop_element。","Init error.":"初始化錯誤。","Add files to the upload queue and click the start button.":"將檔案加入上傳序列,然後點選”開始上傳“按鈕。",List:"清單",Filename:"檔案名稱","%s specified, but cannot be found.":"找不到已選擇的 %s。","Image format either wrong or not supported.":"圖片格式錯誤或者不支援。",Status:"狀態","HTTP Error.":"HTTP 錯誤。","Start Upload":"開始上傳","Error: File too large:":"錯誤: 檔案大小太大:",kb:"kb","Duplicate file error.":"錯誤:檔案重複。","File size error.":"錯誤:檔案大小超過限制。","N/A":"N/A",gb:"gb","Error: Invalid file extension:":"錯誤:不接受的檔案格式:","Select files":"選擇檔案","%s already present in the queue.":"%s 已經存在目前的檔案序列。","Resoultion out of boundaries! <b>%s</b> runtime supports images only up to %wx%hpx.":"圖片解析度超出範圍! <b>%s</b> 最高只支援到 %wx%hpx。","File: %s":"檔案: %s",b:"b","Uploaded %d/%d files":"已上傳 %d/%d 個文件","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"每次只能上傳 %d 個檔案,超過限制數量的檔案將被忽略。","%d files queued":"%d 個檔案加入到序列","File: %s, size: %d, max file size: %d":"檔案: %s, 大小: %d, 檔案大小上限: %d",Thumbnails:"縮圖","Drag files here.":"把檔案拖曳到這裡。","Runtime ran out of available memory.":"執行時耗盡了所有可用的記憶體。","File count error.":"檔案數量錯誤。","File extension error.":"檔案副檔名錯誤。",mb:"mb","Add Files":"增加檔案"}},en:{limitFilesCountMessage:"All files count can not over {count}.",uploadEmptyMessage:"No file in queue to upload",uploadSuccessMessage:"Uploaded <strong>{uploaded}</strong> files。",uploadHasFailedMessage:"Uploaded complete, <strong>{uploaded}</strong> success, <strong>{failed}</strong> failed.",startedStatusText:'Uploading NO.<strong>{uploading}</strong> file, total <strong title="Total size: {size}" data-toggle="tooltip" class="text-primary">{total}</strong> files, <span class="uploader-status-uploaded">Uploaded <strong title="Total size: {uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> files, </span><span class="uploader-status-failed"><strong>{failed}</strong> failed, </span>progress <strong>{percent}%</strong>, average spped <strong>{speed}</strong>。',initStatusText:"Append or drag file here.",stoppedStatusText:'Total <strong title="Total size: {size}" data-toggle="tooltip" class="text-primary">{total}</strong> files<span class="uploader-status-queue">, <strong>{queue}</strong> files in queue</span><span class="uploader-status-uploaded">, uploaded <strong title="Total size: {uploadedSize}" data-toggle="tooltip" class="text-primary">{uploaded}</strong> files</span><span class="uploader-status-failed">, <strong>{failed}</strong> failed</span><span class="uploader-status-uploaded">, average spped <strong>{speed}</strong></span>。',deleteConfirm:'Remove file "{name}" form upload queue?',rename:"Rename",download:"Download",repeat:"Repeat",remove:"Remove",dropPlaceholder:"Drop file here.",queue:"Wait",uploading:"Uploading",failed:"Failed",done:"Done",i18n:{"Stop Upload":"Stop Upload","Upload URL might be wrong or doesn't exist.":"Upload URL might be wrong or doesn't exist.",tb:"tb",Size:"Size",Close:"Close","You must specify either browse_button or drop_element.":"You must specify either browse_button or drop_element.","Init error.":"Init error.","Add files to the upload queue and click the start button.":"Add files to the upload queue and click the start button.",List:"List",Filename:"Filename","%s specified, but cannot be found.":"%s specified, but cannot be found.","Image format either wrong or not supported.":"Image format either wrong or not supported.",Status:"Status","HTTP Error.":"HTTP Error.","Start Upload":"Start Upload","Error: File too large:":"Error: File too large:",kb:"kb","Duplicate file error.":"Duplicate file error.","File size error.":"File size error.","N/A":"N/A",gb:"gb","Error: Invalid file extension:":"Error: Invalid file extension:","Select files":"Select files","%s already present in the queue.":"%s already present in the queue.","Resoultion out of boundaries! <b>%s</b> runtime supports images only up to %wx%hpx.":"Resoultion out of boundaries! <b>%s</b> runtime supports images only up to %wx%hpx.","File: %s":"File: %s",b:"b","Uploaded %d/%d files":"Uploaded %d/%d files","Upload element accepts only %d file(s) at a time. Extra files were stripped.":"Upload element accepts only %d file(s) at a time. Extra files were stripped.","%d files queued":"%d files queued","File: %s, size: %d, max file size: %d":"File: %s, size: %d, max file size: %d",Thumbnails:"Thumbnails","Drag files here.":"Drag files here.","Runtime ran out of available memory.":"Runtime ran out of available memory.","File count error.":"File count error.","File extension error.":"File extension error.",mb:"mb","Add Files":"Add Files"}}},e.zui.plupload=i,e.zui.moxie=n,e.zui.Uploader=c,e.fn.uploader.Constructor=c,t.mOxie||(t.mOxie={Env:n.core.utils.Env,XMLHttpRequest:n.xhr.XMLHttpRequest}),e(function(){e('[data-ride="uploader"]').uploader()})}(jQuery,window,plupload,moxie,void0);