webuploader.html5only.min.js 47 KB

12
  1. /*! WebUploader 0.1.2 */
  2. (function(f,d){var b={},a=function(n,o){var l,k,m;if(typeof n==="string"){return e(n)}else{l=[];for(k=n.length,m=0;m<k;m++){l.push(e(n[m]))}return o.apply(null,l)}},j=function(m,l,k){if(arguments.length===2){k=l;l=null}a(l||[],function(){i(m,k,arguments)})},i=function(o,k,l){var m={exports:k},n;if(typeof k==="function"){l.length||(l=[a,m.exports,m]);n=k.apply(null,l);n!==undefined&&(m.exports=n)}b[o]=m.exports},e=function(l){var k=b[l]||f[l];if(!k){throw new Error("`"+l+"` is undefined")}return k},h=function(q){var l,o,p,k,n,m;m=function(r){return r&&(r.charAt(0).toUpperCase()+r.substr(1))};for(l in b){o=q;if(!b.hasOwnProperty(l)){continue}p=l.split("/");n=m(p.pop());while((k=m(p.shift()))){o[k]=o[k]||{};o=o[k]}o[n]=b[l]}},c=d(f,j,a),g;h(c);if(typeof module==="object"&&typeof module.exports==="object"){module.exports=c}else{if(typeof define==="function"&&define.amd){define([],c)}else{g=f.WebUploader;f.WebUploader=c;f.WebUploader.noConflict=function(){f.WebUploader=g}}}})(this,function(b,c,a){c("dollar-third",[],function(){return b.jQuery||b.Zepto});c("dollar",["dollar-third"],function(d){return d});c("promise-third",["dollar"],function(d){return{Deferred:d.Deferred,when:d.when,isPromise:function(e){return e&&typeof e.then==="function"}}});c("promise",["promise-third"],function(d){return d});c("base",["dollar","promise"],function(h,j){var g=function(){},f=Function.call;function e(k){return function(){return f.apply(k,arguments)}}function i(l,k){return function(){return l.apply(k,arguments)}}function d(k){var l;if(Object.create){return Object.create(k)}else{l=function(){};l.prototype=k;return new l()}}return{version:"0.1.2",$:h,Deferred:j.Deferred,isPromise:j.isPromise,when:j.when,browser:(function(o){var n={},m=o.match(/WebKit\/([\d.]+)/),k=o.match(/Chrome\/([\d.]+)/)||o.match(/CriOS\/([\d.]+)/),r=o.match(/MSIE\s([\d\.]+)/)||o.match(/(?:trident)(?:.*rv:([\w.]+))?/i),p=o.match(/Firefox\/([\d.]+)/),q=o.match(/Safari\/([\d.]+)/),l=o.match(/OPR\/([\d.]+)/);m&&(n.webkit=parseFloat(m[1]));k&&(n.chrome=parseFloat(k[1]));r&&(n.ie=parseFloat(r[1]));p&&(n.firefox=parseFloat(p[1]));q&&(n.safari=parseFloat(q[1]));l&&(n.opera=parseFloat(l[1]));return n})(navigator.userAgent),os:(function(m){var l={},k=m.match(/(?:Android);?[\s\/]+([\d.]+)?/),n=m.match(/(?:iPad|iPod|iPhone).*OS\s([\d_]+)/);k&&(l.android=parseFloat(k[1]));n&&(l.ios=parseFloat(n[1].replace(/_/g,".")));return l})(navigator.userAgent),inherits:function(m,l,k){var n;if(typeof l==="function"){n=l;l=null}else{if(l&&l.hasOwnProperty("constructor")){n=l.constructor}else{n=function(){return m.apply(this,arguments)}}}h.extend(true,n,m,k||{});n.__super__=m.prototype;n.prototype=d(m.prototype);l&&h.extend(true,n.prototype,l);return n},noop:g,bindFn:i,log:(function(){if(b.console){return i(console.log,console)}return g})(),nextTick:(function(){return function(k){setTimeout(k,1)}})(),slice:e([].slice),guid:(function(){var k=0;return function(n){var l=(+new Date()).toString(32),m=0;for(;m<5;m++){l+=Math.floor(Math.random()*65535).toString(32)}return(n||"wu_")+l+(k++).toString(32)}})(),formatSize:function(m,k,l){var n;l=l||["B","K","M","G","TB"];while((n=l.shift())&&m>1024){m=m/1024}return(n==="B"?m:m.toFixed(k||2))+n}}});c("mediator",["base"],function(f){var g=f.$,k=[].slice,j=/\s+/,e;function d(l,m,o,n){return g.grep(l,function(p){return p&&(!m||p.e===m)&&(!o||p.cb===o||p.cb._cb===o)&&(!n||p.ctx===n)})}function i(l,n,m){g.each((l||"").split(j),function(o,p){m(p,n)})}function h(p,n){var m=false,o=-1,l=p.length,q;while(++o<l){q=p[o];if(q.cb.apply(q.ctx2,n)===false){m=true;break}}return !m}e={on:function(l,p,m){var n=this,o;if(!p){return this}o=this._events||(this._events=[]);i(l,p,function(q,s){var r={e:q};r.cb=s;r.ctx=m;r.ctx2=m||n;r.id=o.length;o.push(r)});return this},once:function(l,o,m){var n=this;if(!o){return n}i(l,o,function(p,r){var q=function(){n.off(p,q);return r.apply(m||n,arguments)};q._cb=r;n.on(p,q,m)});return n},off:function(n,l,m){var o=this._events;if(!o){return this}if(!n&&!l&&!m){this._events=[];return this}i(n,l,function(q,p){g.each(d(o,q,p,m),function(){delete o[this.id]})});return this},trigger:function(o){var m,n,l;if(!this._events||!o){return this}m=k.call(arguments,1);n=d(this._events,o);l=d(this._events,"all");return h(n,m)&&h(l,arguments)}};return g.extend({installTo:function(l){return g.extend(l,e)}},e)});c("uploader",["base","mediator"],function(d,f){var e=d.$;function g(h){this.options=e.extend(true,{},g.options,h);this._init(this.options)}g.options={};f.installTo(g.prototype);e.each({upload:"start-upload",stop:"stop-upload",getFile:"get-file",getFiles:"get-files",addFile:"add-file",addFiles:"add-file",sort:"sort-files",removeFile:"remove-file",skipFile:"skip-file",retry:"retry",isInProgress:"is-in-progress",makeThumb:"make-thumb",getDimension:"get-dimension",addButton:"add-btn",getRuntimeType:"get-runtime-type",refresh:"refresh",disable:"disable",enable:"enable",reset:"reset"},function(h,i){g.prototype[h]=function(){return this.request(i,arguments)}});e.extend(g.prototype,{state:"pending",_init:function(i){var h=this;h.request("init",i,function(){h.state="ready";h.trigger("ready")})},option:function(h,j){var i=this.options;if(arguments.length>1){if(e.isPlainObject(j)&&e.isPlainObject(i[h])){e.extend(i[h],j)}else{i[h]=j}}else{return h?i[h]:i}},getStats:function(){var h=this.request("get-stats");return{successNum:h.numOfSuccess,cancelNum:h.numOfCancel,invalidNum:h.numOfInvalid,uploadFailNum:h.numOfUploadFailed,queueNum:h.numOfQueue}},trigger:function(j){var i=[].slice.call(arguments,1),k=this.options,h="on"+j.substring(0,1).toUpperCase()+j.substring(1);if(f.trigger.apply(this,arguments)===false||e.isFunction(k[h])&&k[h].apply(this,i)===false||e.isFunction(this[h])&&this[h].apply(this,i)===false||f.trigger.apply(f,[this,j].concat(i))===false){return false}return true},request:d.noop});d.create=g.create=function(h){return new g(h)};d.Uploader=g;return g});c("runtime/runtime",["base","mediator"],function(e,h){var g=e.$,f={},i=function(k){for(var j in k){if(k.hasOwnProperty(j)){return j}}return null};function d(j){this.options=g.extend({container:document.body},j);this.uid=e.guid("rt_")}g.extend(d.prototype,{getContainer:function(){var l=this.options,k,j;if(this._container){return this._container}k=g(l.container||document.body);j=g(document.createElement("div"));j.attr("id","rt_"+this.uid);j.css({position:"absolute",top:"0px",left:"0px",width:"1px",height:"1px",overflow:"hidden"});k.append(j);k.addClass("webuploader-container");this._container=j;return j},init:e.noop,exec:e.noop,destroy:function(){if(this._container){this._container.parentNode.removeChild(this.__container)}this.off()}});d.orders="html5,flash";d.addRuntime=function(k,j){f[k]=j};d.hasRuntime=function(j){return !!(j?f[j]:i(f))};d.create=function(m,k){var j,l;k=k||d.orders;g.each(k.split(/\s*,\s*/g),function(){if(f[this]){j=this;return false}});j=j||i(f);if(!j){throw new Error("Runtime Error")}l=new f[j](m);return l};h.installTo(d.prototype);return d});c("runtime/client",["base","mediator","runtime/runtime"],function(g,h,f){var d;d=(function(){var i={};return{add:function(j){i[j.uid]=j},get:function(k,j){var l;if(k){return i[k]}for(l in i){if(j&&i[l].__standalone){continue}return i[l]}return null},remove:function(j){delete i[j.uid]}}})();function e(k,j){var i=g.Deferred(),l;this.uid=g.guid("client_");this.runtimeReady=function(m){return i.done(m)};this.connectRuntime=function(n,m){if(l){throw new Error("already connected!")}i.done(m);if(typeof n==="string"&&d.get(n)){l=d.get(n)}l=l||d.get(null,j);if(!l){l=f.create(n,n.runtimeOrder);l.__promise=i.promise();l.once("ready",i.resolve);l.init();d.add(l);l.__client=1}else{g.$.extend(l.options,n);l.__promise.then(i.resolve);l.__client++}j&&(l.__standalone=j);return l};this.getRuntime=function(){return l};this.disconnectRuntime=function(){if(!l){return}l.__client--;if(l.__client<=0){d.remove(l);delete l.__promise;l.destroy()}l=null};this.exec=function(){if(!l){return}var m=g.slice(arguments);k&&m.unshift(k);return l.exec.apply(this,m)};this.getRuid=function(){return l&&l.uid};this.destroy=(function(m){return function(){m&&m.apply(this,arguments);this.trigger("destroy");this.off();this.exec("destroy");this.disconnectRuntime()}})(this.destroy)}h.installTo(e.prototype);return e});c("lib/dnd",["base","mediator","runtime/client"],function(e,h,d){var f=e.$;function g(i){i=this.options=f.extend({},g.options,i);i.container=f(i.container);if(!i.container.length){return}d.call(this,"DragAndDrop")}g.options={accept:null,disableGlobalDnd:false};e.inherits(d,{constructor:g,init:function(){var i=this;i.connectRuntime(i.options,function(){i.exec("init");i.trigger("ready")})},destroy:function(){this.disconnectRuntime()}});h.installTo(g.prototype);return g});c("widgets/widget",["base","uploader"],function(e,k){var h=e.$,g=k.prototype._init,j={},i=[];function d(n){if(!n){return false}var m=n.length,l=h.type(n);if(n.nodeType===1&&m){return true}return l==="array"||l!=="function"&&l!=="string"&&(m===0||typeof m==="number"&&m>0&&(m-1) in n)}function f(l){this.owner=l;this.options=l.options}h.extend(f.prototype,{init:e.noop,invoke:function(l,m){var n=this.responseMap;if(!n||!(l in n)||!(n[l] in this)||!h.isFunction(this[n[l]])){return j}return this[n[l]].apply(this,m)},request:function(){return this.owner.request.apply(this.owner,arguments)}});h.extend(k.prototype,{_init:function(){var m=this,l=m._widgets=[];h.each(i,function(o,n){l.push(new n(m))});return g.apply(m,arguments)},request:function(m,s,v){var p=0,t=this._widgets,r=t.length,o=[],n=[],q,l,w,u;s=d(s)?s:[s];for(;p<r;p++){q=t[p];l=q.invoke(m,s);if(l!==j){if(e.isPromise(l)){n.push(l)}else{o.push(l)}}}if(v||n.length){w=e.when.apply(e,n);u=w.pipe?"pipe":"then";return w[u](function(){var x=e.Deferred(),y=arguments;setTimeout(function(){x.resolve.apply(x,y)},1);return x.promise()})[u](v||e.noop)}else{return o[0]}}});k.register=f.register=function(m,o){var n={init:"init"},l;if(arguments.length===1){o=m;o.responseMap=n}else{o.responseMap=h.extend(n,m)}l=e.inherits(f,o);i.push(l);return l};return f});c("widgets/filednd",["base","uploader","lib/dnd","widgets/widget"],function(e,g,d){var f=e.$;g.options.dnd="";return g.register({init:function(l){if(!l.dnd||this.request("predict-runtime-type")!=="html5"){return}var k=this,h=e.Deferred(),i=f.extend({},{disableGlobalDnd:l.disableGlobalDnd,container:l.dnd,accept:l.accept}),j;j=new d(i);j.once("ready",h.resolve);j.on("drop",function(m){k.request("add-file",[m])});j.on("accept",function(m){return k.owner.trigger("dndAccept",m)});j.init();return h.promise()}})});c("lib/filepaste",["base","mediator","runtime/client"],function(f,h,e){var g=f.$;function d(i){i=this.options=g.extend({},i);i.container=g(i.container||document.body);e.call(this,"FilePaste")}f.inherits(e,{constructor:d,init:function(){var i=this;i.connectRuntime(i.options,function(){i.exec("init");i.trigger("ready")})},destroy:function(){this.exec("destroy");this.disconnectRuntime();this.off()}});h.installTo(d.prototype);return d});c("widgets/filepaste",["base","uploader","lib/filepaste","widgets/widget"],function(e,g,d){var f=e.$;return g.register({init:function(k){if(!k.paste||this.request("predict-runtime-type")!=="html5"){return}var j=this,h=e.Deferred(),i=f.extend({},{container:k.paste,accept:k.accept}),l;l=new d(i);l.once("ready",h.resolve);l.on("paste",function(m){j.owner.request("add-file",[m])});l.init();return h.promise()}})});c("lib/blob",["base","runtime/client"],function(e,d){function f(g,i){var h=this;h.source=i;h.ruid=g;d.call(h,"Blob");this.uid=i.uid||this.uid;this.type=i.type||"";this.size=i.size||0;if(g){h.connectRuntime(g)}}e.inherits(d,{constructor:f,slice:function(h,g){return this.exec("slice",h,g)},getSource:function(){return this.source}});return f});c("lib/file",["base","lib/blob"],function(g,h){var f=1,d=/\.([^.]+)$/;function e(i,j){var k;h.apply(this,arguments);this.name=j.name||("untitled"+f++);k=d.exec(j.name)?RegExp.$1.toLowerCase():"";if(!k&&this.type){k=/\/(jpg|jpeg|png|gif|bmp)$/i.exec(this.type)?RegExp.$1.toLowerCase():"";this.name+="."+k}if(!this.type&&~"jpg,jpeg,png,gif,bmp".indexOf(k)){this.type="image/"+(k==="jpg"?"jpeg":k)}this.ext=k;this.lastModifiedDate=j.lastModifiedDate||(new Date()).toLocaleString()}return g.inherits(h,e)});c("lib/filepicker",["base","runtime/client","lib/file"],function(g,f,e){var h=g.$;function d(i){i=this.options=h.extend({},d.options,i);i.container=h(i.id);if(!i.container.length){throw new Error("按钮指定错误")}i.innerHTML=i.innerHTML||i.label||i.container.html()||"";i.button=h(i.button||document.createElement("div"));i.button.html(i.innerHTML);i.container.html(i.button);f.call(this,"FilePicker",true)}d.options={button:null,container:null,label:null,innerHTML:null,multiple:true,accept:null,name:"file"};g.inherits(f,{constructor:d,init:function(){var k=this,j=k.options,i=j.button;i.addClass("webuploader-pick");k.on("all",function(l){var m;switch(l){case"mouseenter":i.addClass("webuploader-pick-hover");break;case"mouseleave":i.removeClass("webuploader-pick-hover");break;case"change":m=k.exec("getFiles");k.trigger("select",h.map(m,function(n){n=new e(k.getRuid(),n);n._refer=j.container;return n}),j.container);break}});k.connectRuntime(j,function(){k.refresh();k.exec("init",j);k.trigger("ready")});h(b).on("resize",function(){k.refresh()})},refresh:function(){var j=this.getRuntime().getContainer(),k=this.options.button,l=k.outerWidth?k.outerWidth():k.width(),i=k.outerHeight?k.outerHeight():k.height(),m=k.offset();l&&i&&j.css({bottom:"auto",right:"auto",width:l+"px",height:i+"px"}).offset(m)},enable:function(){var i=this.options.button;i.removeClass("webuploader-pick-disable");this.refresh()},disable:function(){var i=this.options.button;this.getRuntime().getContainer().css({top:"-99999px"});i.addClass("webuploader-pick-disable")},destroy:function(){if(this.runtime){this.exec("destroy");this.disconnectRuntime()}}});return d});c("widgets/filepicker",["base","uploader","lib/filepicker","widgets/widget"],function(e,g,d){var f=e.$;f.extend(g.options,{pick:null,accept:null});return g.register({"add-btn":"addButton",refresh:"refresh",disable:"disable",enable:"enable"},{init:function(h){this.pickers=[];return h.pick&&this.addButton(h.pick)},refresh:function(){f.each(this.pickers,function(){this.refresh()})},addButton:function(l){var n=this,m=n.options,k=m.accept,j,i,h;if(!l){return}h=e.Deferred();f.isPlainObject(l)||(l={id:l});j=f.extend({},l,{accept:f.isPlainObject(k)?[k]:k,swf:m.swf,runtimeOrder:m.runtimeOrder});i=new d(j);i.once("ready",h.resolve);i.on("select",function(o){n.owner.request("add-file",[o])});i.init();this.pickers.push(i);return h.promise()},disable:function(){f.each(this.pickers,function(){this.disable()})},enable:function(){f.each(this.pickers,function(){this.enable()})}})});c("lib/image",["base","runtime/client","lib/blob"],function(f,e,h){var g=f.$;function d(i){this.options=g.extend({},d.options,i);e.call(this,"Image");this.on("load",function(){this._info=this.exec("info");this._meta=this.exec("meta")})}d.options={quality:90,crop:false,preserveHeaders:true,allowMagnify:true};f.inherits(e,{constructor:d,info:function(i){if(i){this._info=i;return this}return this._info},meta:function(i){if(i){this._meta=i;return this}return this._meta},loadFromBlob:function(i){var k=this,j=i.getRuid();this.connectRuntime(j,function(){k.exec("init",k.options);k.exec("loadFromBlob",i)})},resize:function(){var i=f.slice(arguments);return this.exec.apply(this,["resize"].concat(i))},getAsDataUrl:function(i){return this.exec("getAsDataUrl",i)},getAsBlob:function(j){var i=this.exec("getAsBlob",j);return new h(this.getRuid(),i)}});return d});c("widgets/image",["base","uploader","lib/image","widgets/widget"],function(e,h,d){var g=e.$,f;f=(function(i){var j=0,l=[],k=function(){var m;while(l.length&&j<i){m=l.shift();j+=m[0];m[1]()}};return function(o,n,m){l.push([n,m]);o.once("destroy",function(){j-=n;setTimeout(k,1)});setTimeout(k,1)}})(5*1024*1024);g.extend(h.options,{thumb:{width:110,height:110,quality:70,allowMagnify:true,crop:true,preserveHeaders:false,type:"image/jpeg"},compress:{width:1600,height:1600,quality:90,allowMagnify:false,crop:false,preserveHeaders:true}});return h.register({"make-thumb":"makeThumb","before-send-file":"compressImage"},{makeThumb:function(k,j,l,i){var m,n;k=this.request("get-file",k);if(!k.type.match(/^image/)){j(true);return}m=g.extend({},this.options.thumb);if(g.isPlainObject(l)){m=g.extend(m,l);l=null}l=l||m.width;i=i||m.height;n=new d(m);n.once("load",function(){k._info=k._info||n.info();k._meta=k._meta||n.meta();n.resize(l,i)});n.once("complete",function(){j(false,n.getAsDataUrl(m.type));n.destroy()});n.once("error",function(){j(true);n.destroy()});f(n,k.source.size,function(){k._info&&n.info(k._info);k._meta&&n.meta(k._meta);n.loadFromBlob(k.source)})},compressImage:function(k){var l=this.options.compress||this.options.resize,j=l&&l.compressSize||300*1024,m,i;k=this.request("get-file",k);if(!l||!~"image/jpeg,image/jpg".indexOf(k.type)||k.size<j||k._compressed){return}l=g.extend({},l);i=e.Deferred();m=new d(l);i.always(function(){m.destroy();m=null});m.once("error",i.reject);m.once("load",function(){k._info=k._info||m.info();k._meta=k._meta||m.meta();m.resize(l.width,l.height)});m.once("complete",function(){var n,o;try{n=m.getAsBlob(l.type);o=k.size;if(n.size<o){k.source=n;k.size=n.size;k.trigger("resize",n.size,o)}k._compressed=true;i.resolve()}catch(p){i.resolve()}});k._info&&m.info(k._info);k._meta&&m.meta(k._meta);m.loadFromBlob(k.source);return i.promise()}})});c("file",["base","mediator"],function(h,k){var f=h.$,d="WU_FILE_",g=0,i=/\.([^.]+)$/,e={};function j(){return d+g++}function l(m){this.name=m.name||"Untitled";this.size=m.size||0;this.type=m.type||"application";this.lastModifiedDate=m.lastModifiedDate||(new Date()*1);this.id=j();this.ext=i.exec(this.name)?RegExp.$1:"";this.statusText="";e[this.id]=l.Status.INITED;this.source=m;this.loaded=0;this.on("error",function(n){this.setStatus(l.Status.ERROR,n)})}f.extend(l.prototype,{setStatus:function(n,o){var m=e[this.id];typeof o!=="undefined"&&(this.statusText=o);if(n!==m){e[this.id]=n;this.trigger("statuschange",n,m)}},getStatus:function(){return e[this.id]},getSource:function(){return this.source},destory:function(){delete e[this.id]}});k.installTo(l.prototype);l.Status={INITED:"inited",QUEUED:"queued",PROGRESS:"progress",ERROR:"error",COMPLETE:"complete",CANCELLED:"cancelled",INTERRUPT:"interrupt",INVALID:"invalid"};return l});c("queue",["base","mediator","file"],function(e,i,h){var g=e.$,d=h.Status;function f(){this.stats={numOfQueue:0,numOfSuccess:0,numOfCancel:0,numOfProgress:0,numOfUploadFailed:0,numOfInvalid:0};this._queue=[];this._map={}}g.extend(f.prototype,{append:function(j){this._queue.push(j);this._fileAdded(j);return this},prepend:function(j){this._queue.unshift(j);this._fileAdded(j);return this},getFile:function(j){if(typeof j!=="string"){return j}return this._map[j]},fetch:function(k){var j=this._queue.length,m,l;k=k||d.QUEUED;for(m=0;m<j;m++){l=this._queue[m];if(k===l.getStatus()){return l}}return null},sort:function(j){if(typeof j==="function"){this._queue.sort(j)}},getFiles:function(){var n=[].slice.call(arguments,0),k=[],m=0,j=this._queue.length,l;for(;m<j;m++){l=this._queue[m];if(n.length&&!~g.inArray(l.getStatus(),n)){continue}k.push(l)}return k},_fileAdded:function(j){var l=this,k=this._map[j.id];if(!k){this._map[j.id]=j;j.on("statuschange",function(n,m){l._onFileStatusChange(n,m)})}j.setStatus(d.QUEUED)},_onFileStatusChange:function(j,k){var l=this.stats;switch(k){case d.PROGRESS:l.numOfProgress--;break;case d.QUEUED:l.numOfQueue--;break;case d.ERROR:l.numOfUploadFailed--;break;case d.INVALID:l.numOfInvalid--;break}switch(j){case d.QUEUED:l.numOfQueue++;break;case d.PROGRESS:l.numOfProgress++;break;case d.ERROR:l.numOfUploadFailed++;break;case d.COMPLETE:l.numOfSuccess++;break;case d.CANCELLED:l.numOfCancel++;break;case d.INVALID:l.numOfInvalid++;break}}});i.installTo(f.prototype);return f});c("widgets/queue",["base","uploader","queue","file","lib/file","runtime/client","widgets/widget"],function(g,d,e,l,i,k){var f=g.$,h=/\.\w+$/,j=l.Status;return d.register({"sort-files":"sortFiles","add-file":"addFiles","get-file":"getFile","fetch-file":"fetchFile","get-stats":"getStats","get-files":"getFiles","remove-file":"removeFile",retry:"retry",reset:"reset","accept-file":"acceptFile"},{init:function(m){var s=this,u,r,p,t,q,n,o;if(f.isPlainObject(m.accept)){m.accept=[m.accept]}if(m.accept){q=[];for(p=0,r=m.accept.length;p<r;p++){t=m.accept[p].extensions;t&&q.push(t)}if(q.length){n="\\."+q.join(",").replace(/,/g,"$|\\.").replace(/\*/g,".*")+"$"}s.accept=new RegExp(n,"i")}s.queue=new e();s.stats=s.queue.stats;if(this.request("predict-runtime-type")!=="html5"){return}u=g.Deferred();o=new k("Placeholder");o.connectRuntime({runtimeOrder:"html5"},function(){s._ruid=o.getRuid();u.resolve()});return u.promise()},_wrapFile:function(m){if(!(m instanceof l)){if(!(m instanceof i)){if(!this._ruid){throw new Error("Can't add external files.")}m=new i(this._ruid,m)}m=new l(m)}return m},acceptFile:function(m){var n=!m||m.size<6||this.accept&&h.exec(m.name)&&!this.accept.test(m.name);return !n},_addFile:function(m){var n=this;m=n._wrapFile(m);if(!n.owner.trigger("beforeFileQueued",m)){return}if(!n.acceptFile(m)){n.owner.trigger("error","Q_TYPE_DENIED",m);return}n.queue.append(m);n.owner.trigger("fileQueued",m);return m},getFile:function(m){return this.queue.getFile(m)},addFiles:function(n){var m=this;if(!n.length){n=[n]}n=f.map(n,function(o){return m._addFile(o)});m.owner.trigger("filesQueued",n);if(m.options.auto){m.request("start-upload")}},getStats:function(){return this.stats},removeFile:function(m){var n=this;m=m.id?m:n.queue.getFile(m);m.setStatus(j.CANCELLED);n.owner.trigger("fileDequeued",m)},getFiles:function(){return this.queue.getFiles.apply(this.queue,arguments)},fetchFile:function(){return this.queue.fetch.apply(this.queue,arguments)},retry:function(p,n){var r=this,q,o,m;if(p){p=p.id?p:r.queue.getFile(p);p.setStatus(j.QUEUED);n||r.request("start-upload");return}q=r.queue.getFiles(j.ERROR);o=0;m=q.length;for(;o<m;o++){p=q[o];p.setStatus(j.QUEUED)}r.request("start-upload")},sortFiles:function(){return this.queue.sort.apply(this.queue,arguments)},reset:function(){this.queue=new e();this.stats=this.queue.stats}})});c("widgets/runtime",["uploader","runtime/runtime","widgets/widget"],function(e,d){e.support=function(){return d.hasRuntime.apply(d,arguments)};return e.register({"predict-runtime-type":"predictRuntmeType"},{init:function(){if(!this.predictRuntmeType()){throw Error("Runtime Error")}},predictRuntmeType:function(){var j=this.options.runtimeOrder||d.orders,h=this.type,g,f;if(!h){j=j.split(/\s*,\s*/g);for(g=0,f=j.length;g<f;g++){if(d.hasRuntime(j[g])){this.type=h=j[g];break}}}return h}})});c("lib/transport",["base","runtime/client","mediator"],function(e,d,g){var f=e.$;function h(j){var i=this;j=i.options=f.extend(true,{},h.options,j||{});d.call(this,"Transport");this._blob=null;this._formData=j.formData||{};this._headers=j.headers||{};this.on("progress",this._timeout);this.on("load error",function(){i.trigger("progress",1);clearTimeout(i._timer)})}h.options={server:"",method:"POST",withCredentials:false,fileVal:"file",timeout:2*60*1000,formData:{},headers:{},sendAsBinary:false};f.extend(h.prototype,{appendBlob:function(k,j,i){var m=this,l=m.options;if(m.getRuid()){m.disconnectRuntime()}m.connectRuntime(j.ruid,function(){m.exec("init")});m._blob=j;l.fileVal=k||l.fileVal;l.filename=i||l.filename},append:function(i,j){if(typeof i==="object"){f.extend(this._formData,i)}else{this._formData[i]=j}},setRequestHeader:function(i,j){if(typeof i==="object"){f.extend(this._headers,i)}else{this._headers[i]=j}},send:function(i){this.exec("send",i);this._timeout()},abort:function(){clearTimeout(this._timer);return this.exec("abort")},destroy:function(){this.trigger("destroy");this.off();this.exec("destroy");this.disconnectRuntime()},getResponse:function(){return this.exec("getResponse")},getResponseAsJson:function(){return this.exec("getResponseAsJson")},getStatus:function(){return this.exec("getStatus")},_timeout:function(){var i=this,j=i.options.timeout;if(!j){return}clearTimeout(i._timer);i._timer=setTimeout(function(){i.abort();i.trigger("error","timeout")},j)}});g.installTo(h.prototype);return h});c("widgets/upload",["base","uploader","file","lib/transport","widgets/widget"],function(f,j,i,k){var h=f.$,e=f.isPromise,d=i.Status;h.extend(j.options,{prepareNextFile:false,chunked:false,chunkSize:5*1024*1024,chunkRetry:2,threads:3,formData:null});function g(o,p){var n=[],l=o.source,t=l.size,q=p?Math.ceil(t/p):1,m=0,s=0,r;while(s<q){r=Math.min(p,t-m);n.push({file:o,start:m,end:p?(m+r):t,total:t,chunks:q,chunk:s++});m+=r}o.blocks=n.concat();o.remaning=n.length;return{file:o,has:function(){return !!n.length},fetch:function(){return n.shift()}}}j.register({"start-upload":"start","stop-upload":"stop","skip-file":"skipFile","is-in-progress":"isInProgress"},{init:function(){var l=this.owner;this.runing=false;this.pool=[];this.pending=[];this.remaning=0;this.__tick=f.bindFn(this._tick,this);l.on("uploadComplete",function(m){m.blocks&&h.each(m.blocks,function(o,n){n.transport&&(n.transport.abort(),n.transport.destroy());delete n.transport});delete m.blocks;delete m.remaning})},start:function(){var l=this;h.each(l.request("get-files",d.INVALID),function(){l.request("remove-file",this)});if(l.runing){return}l.runing=true;h.each(l.pool,function(n,m){var o=m.file;if(o.getStatus()===d.INTERRUPT){o.setStatus(d.PROGRESS);l._trigged=false;m.transport&&m.transport.send()}});l._trigged=false;l.owner.trigger("startUpload");f.nextTick(l.__tick)},stop:function(m){var l=this;if(l.runing===false){return}l.runing=false;m&&h.each(l.pool,function(o,n){n.transport&&n.transport.abort();n.file.setStatus(d.INTERRUPT)});l.owner.trigger("stopUpload")},isInProgress:function(){return !!this.runing},getStats:function(){return this.request("get-stats")},skipFile:function(m,l){m=this.request("get-file",m);m.setStatus(l||d.COMPLETE);m.skipped=true;m.blocks&&h.each(m.blocks,function(p,o){var n=o.transport;if(n){n.abort();n.destroy();delete o.transport}});this.owner.trigger("uploadSkip",m)},_tick:function(){var n=this,m=n.options,l,o;if(n._promise){return n._promise.always(n.__tick)}if(n.pool.length<m.threads&&(o=n._nextBlock())){n._trigged=false;l=function(p){n._promise=null;p&&p.file&&n._startSend(p);f.nextTick(n.__tick)};n._promise=e(o)?o.always(l):l(o)}else{if(!n.remaning&&!n.getStats().numOfQueue){n.runing=false;n._trigged||f.nextTick(function(){n.owner.trigger("uploadFinished")});n._trigged=true}}},_nextBlock:function(){var p=this,m=p._act,o=p.options,n,l;if(m&&m.has()&&m.file.getStatus()===d.PROGRESS){if(o.prepareNextFile&&!p.pending.length){p._prepareNextFile()}return m.fetch()}else{if(p.runing){if(!p.pending.length&&p.getStats().numOfQueue){p._prepareNextFile()}n=p.pending.shift();l=function(q){if(!q){return null}m=g(q,o.chunked?o.chunkSize:0);p._act=m;return m.fetch()};return e(n)?n[n.pipe?"pipe":"then"](l):l(n)}}},_prepareNextFile:function(){var m=this,l=m.request("fetch-file"),o=m.pending,n;if(l){n=m.request("before-send-file",l,function(){if(l.getStatus()===d.QUEUED){m.owner.trigger("uploadStart",l);l.setStatus(d.PROGRESS);return l}return m._finishFile(l)});n.done(function(){var p=h.inArray(n,o);~p&&o.splice(p,1,l)});n.fail(function(p){l.setStatus(d.ERROR,p);m.owner.trigger("uploadError",l,p);m.owner.trigger("uploadComplete",l)});o.push(n)}},_popBlock:function(m){var l=h.inArray(m,this.pool);this.pool.splice(l,1);m.file.remaning--;this.remaning--},_startSend:function(o){var m=this,l=o.file,n;m.pool.push(o);m.remaning++;o.blob=o.chunks===1?l.source:l.source.slice(o.start,o.end);n=m.request("before-send",o,function(){if(l.getStatus()===d.PROGRESS){m._doSend(o)}else{m._popBlock(o);f.nextTick(m.__tick)}});n.fail(function(){if(l.remaning===1){m._finishFile(l).always(function(){o.percentage=1;m._popBlock(o);m.owner.trigger("uploadComplete",l);f.nextTick(m.__tick)})}else{o.percentage=1;m._popBlock(o);f.nextTick(m.__tick)}})},_doSend:function(p){var t=this,m=t.owner,l=t.options,o=p.file,s=new k(l),q=h.extend({},l.formData),n=h.extend({},l.headers),u,r;p.transport=s;s.on("destroy",function(){delete p.transport;t._popBlock(p);f.nextTick(t.__tick)});s.on("progress",function(w){var x=0,v=0;x=p.percentage=w;if(p.chunks>1){h.each(o.blocks,function(z,y){v+=(y.percentage||0)*(y.end-y.start)});x=v/o.size}m.trigger("uploadProgress",o,x||0)});u=function(w){var v;r=s.getResponseAsJson()||{};r._raw=s.getResponse();v=function(x){w=x};if(!m.trigger("uploadAccept",p,r,v)){w=w||"server"}return w};s.on("error",function(w,v){p.retried=p.retried||0;if(p.chunks>1&&~"http,abort".indexOf(w)&&p.retried<l.chunkRetry){p.retried++;s.send()}else{if(!v&&w==="server"){w=u(w)}o.setStatus(d.ERROR,w);m.trigger("uploadError",o,w);m.trigger("uploadComplete",o)}});s.on("load",function(){var v;if((v=u())){s.trigger("error",v,true);return}if(o.remaning===1){t._finishFile(o,r)}else{s.destroy()}});q=h.extend(q,{id:o.id,name:o.name,type:o.type,lastModifiedDate:o.lastModifiedDate,size:o.size});p.chunks>1&&h.extend(q,{chunks:p.chunks,chunk:p.chunk});m.trigger("uploadBeforeSend",p,q,n);s.appendBlob(l.fileVal,p.blob,o.name);s.append(q);s.setRequestHeader(n);s.send()},_finishFile:function(n,m,o){var l=this.owner;return l.request("after-send-file",arguments,function(){n.setStatus(d.COMPLETE);l.trigger("uploadSuccess",n,m,o)}).fail(function(p){if(n.getStatus()===d.PROGRESS){n.setStatus(d.ERROR,p)}l.trigger("uploadError",n,p)}).always(function(){l.trigger("uploadComplete",n)})}})});c("widgets/validator",["base","uploader","file","widgets/widget"],function(e,i,h){var g=e.$,d={},f;f={addValidator:function(k,j){d[k]=j},removeValidator:function(j){delete d[j]}};i.register({init:function(){var j=this;g.each(d,function(){this.call(j.owner)})}});f.addValidator("fileNumLimit",function(){var n=this,m=n.options,l=0,j=m.fileNumLimit>>0,k=true;if(!j){return}n.on("beforeFileQueued",function(o){if(l>=j&&k){k=false;this.trigger("error","Q_EXCEED_NUM_LIMIT",j,o);setTimeout(function(){k=true},1)}return l>=j?false:true});n.on("fileQueued",function(){l++});n.on("fileDequeued",function(){l--});n.on("uploadFinished",function(){l=0})});f.addValidator("fileSizeLimit",function(){var n=this,m=n.options,l=0,j=m.fileSizeLimit>>0,k=true;if(!j){return}n.on("beforeFileQueued",function(o){var p=l+o.size>j;if(p&&k){k=false;this.trigger("error","Q_EXCEED_SIZE_LIMIT",j,o);setTimeout(function(){k=true},1)}return p?false:true});n.on("fileQueued",function(o){l+=o.size});n.on("fileDequeued",function(o){l-=o.size});n.on("uploadFinished",function(){l=0})});f.addValidator("fileSingleSizeLimit",function(){var l=this,k=l.options,j=k.fileSingleSizeLimit;if(!j){return}l.on("beforeFileQueued",function(m){if(m.size>j){m.setStatus(h.Status.INVALID,"exceed_size");this.trigger("error","F_EXCEED_SIZE",m);return false}})});f.addValidator("duplicate",function(){var m=this,k=m.options,j={};if(k.duplicate){return}function l(r){var q=0,p=0,n=r.length,o;for(;p<n;p++){o=r.charCodeAt(p);q=o+(q<<6)+(q<<16)-q}return q}m.on("beforeFileQueued",function(n){var o=n.__hash||(n.__hash=l(n.name+n.size+n.lastModifiedDate));if(j[o]){this.trigger("error","F_DUPLICATE",n);return false}});m.on("fileQueued",function(n){var o=n.__hash;o&&(j[o]=true)});m.on("fileDequeued",function(n){var o=n.__hash;o&&(delete j[o])})});return f});c("runtime/compbase",[],function(){function d(e,f){this.owner=e;this.options=e.options;this.getRuntime=function(){return f};this.getRuid=function(){return f.uid};this.trigger=function(){return e.trigger.apply(e,arguments)}}return d});c("runtime/html5/runtime",["base","runtime/runtime","runtime/compbase"],function(e,d,i){var f="html5",g={};function h(){var k={},l=this,j=this.destory;d.apply(l,arguments);l.type=f;l.exec=function(o,r){var n=this,q=n.uid,p=e.slice(arguments,2),m;if(g[o]){m=k[q]=k[q]||new g[o](n,l);if(m[r]){return m[r].apply(m,p)}}};l.destory=function(){return j&&j.apply(this,arguments)}}e.inherits(d,{constructor:h,init:function(){var j=this;setTimeout(function(){j.trigger("ready")},1)}});h.register=function(l,k){var j=g[l]=e.inherits(i,k);return j};if(b.Blob&&b.FileReader&&b.DataView){d.addRuntime(f,h)}return h});c("runtime/html5/blob",["runtime/html5/runtime","lib/blob"],function(e,d){return e.register("Blob",{slice:function(i,f){var g=this.owner.source,h=g.slice||g.webkitSlice||g.mozSlice;g=h.call(g,i,f);return new d(this.getRuid(),g)}})});c("runtime/html5/dnd",["base","runtime/html5/runtime","lib/file"],function(e,h,d){var g=e.$,f="webuploader-dnd-";return h.register("DragAndDrop",{init:function(){var i=this.elem=this.options.container;this.dragEnterHandler=e.bindFn(this._dragEnterHandler,this);this.dragOverHandler=e.bindFn(this._dragOverHandler,this);this.dragLeaveHandler=e.bindFn(this._dragLeaveHandler,this);this.dropHandler=e.bindFn(this._dropHandler,this);this.dndOver=false;i.on("dragenter",this.dragEnterHandler);i.on("dragover",this.dragOverHandler);i.on("dragleave",this.dragLeaveHandler);i.on("drop",this.dropHandler);if(this.options.disableGlobalDnd){g(document).on("dragover",this.dragOverHandler);g(document).on("drop",this.dropHandler)}},_dragEnterHandler:function(l){var k=this,j=k._denied||false,i;l=l.originalEvent||l;if(!k.dndOver){k.dndOver=true;i=l.dataTransfer.items;if(i&&i.length){k._denied=j=!k.trigger("accept",i)}k.elem.addClass(f+"over");k.elem[j?"addClass":"removeClass"](f+"denied")}l.dataTransfer.dropEffect=j?"none":"copy";return false},_dragOverHandler:function(j){var i=this.elem.parent().get(0);if(i&&!g.contains(i,j.currentTarget)){return false}clearTimeout(this._leaveTimer);this._dragEnterHandler.call(this,j);return false},_dragLeaveHandler:function(){var j=this,i;i=function(){j.dndOver=false;j.elem.removeClass(f+"over "+f+"denied")};clearTimeout(j._leaveTimer);j._leaveTimer=setTimeout(i,100);return false},_dropHandler:function(l){var k=this,j=k.getRuid(),i=k.elem.parent().get(0);if(i&&!g.contains(i,l.currentTarget)){return false}k._getTansferFiles(l,function(m){k.trigger("drop",g.map(m,function(n){return new d(j,n)}))});k.dndOver=false;k.elem.removeClass(f+"over");return false},_getTansferFiles:function(o,s){var m=[],q=[],p,j,r,k,t,l,n,u;o=o.originalEvent||o;r=o.dataTransfer;p=r.items;j=r.files;u=!!(p&&p[0].webkitGetAsEntry);for(l=0,n=j.length;l<n;l++){k=j[l];t=p&&p[l];if(u&&t.webkitGetAsEntry().isDirectory){q.push(this._traverseDirectoryTree(t.webkitGetAsEntry(),m))}else{m.push(k)}}e.when.apply(e,q).done(function(){if(!m.length){return}s(m)})},_traverseDirectoryTree:function(l,j){var i=e.Deferred(),k=this;if(l.isFile){l.file(function(m){j.push(m);i.resolve()})}else{if(l.isDirectory){l.createReader().readEntries(function(o){var n=o.length,q=[],m=[],p;for(p=0;p<n;p++){q.push(k._traverseDirectoryTree(o[p],m))}e.when.apply(e,q).then(function(){j.push.apply(j,m);i.resolve()},i.reject)})}}return i.promise()},destroy:function(){var i=this.elem;i.off("dragenter",this.dragEnterHandler);i.off("dragover",this.dragEnterHandler);i.off("dragleave",this.dragLeaveHandler);i.off("drop",this.dropHandler);if(this.options.disableGlobalDnd){g(document).off("dragover",this.dragOverHandler);g(document).off("drop",this.dropHandler)}}})});c("runtime/html5/filepaste",["base","runtime/html5/runtime","lib/file"],function(e,f,d){return f.register("FilePaste",{init:function(){var n=this.options,m=this.elem=n.container,k=".*",h,j,g,l;if(n.accept){h=[];for(j=0,g=n.accept.length;j<g;j++){l=n.accept[j].mimeTypes;l&&h.push(l)}if(h.length){k=h.join(",");k=k.replace(/,/g,"|").replace(/\*/g,".*")}}this.accept=k=new RegExp(k,"i");this.hander=e.bindFn(this._pasteHander,this);m.on("paste",this.hander)},_pasteHander:function(n){var o=[],k=this.getRuid(),j,m,h,l,g;n=n.originalEvent||n;j=n.clipboardData.items;for(l=0,g=j.length;l<g;l++){m=j[l];if(m.kind!=="file"||!(h=m.getAsFile())){continue}o.push(new d(k,h))}if(o.length){n.preventDefault();n.stopPropagation();this.trigger("paste",o)}},destroy:function(){this.elem.off("paste",this.hander)}})});c("runtime/html5/filepicker",["base","runtime/html5/runtime"],function(d,f){var e=d.$;return f.register("FilePicker",{init:function(){var h=this.getRuntime().getContainer(),o=this,j=o.owner,g=o.options,n=e(document.createElement("label")),q=e(document.createElement("input")),l,k,m,p;q.attr("type","file");q.attr("name",g.name);q.addClass("webuploader-element-invisible");n.on("click",function(){q.trigger("click")});n.css({opacity:0,width:"100%",height:"100%",display:"block",cursor:"pointer",background:"#ffffff"});if(g.multiple){q.attr("multiple","multiple")}if(g.accept&&g.accept.length>0){l=[];for(k=0,m=g.accept.length;k<m;k++){l.push(g.accept[k].mimeTypes)}q.attr("accept",l.join(","))}h.append(q);h.append(n);p=function(i){j.trigger(i.type)};q.on("change",function(r){var i=arguments.callee,s;o.files=r.target.files;s=this.cloneNode(true);this.parentNode.replaceChild(s,this);q.off();q=e(s).on("change",i).on("mouseenter mouseleave",p);j.trigger("change")});n.on("mouseenter mouseleave",p)},getFiles:function(){return this.files},destroy:function(){}})});c("runtime/html5/util",["base"],function(e){var f=b.createObjectURL&&b||b.URL&&URL.revokeObjectURL&&URL||b.webkitURL,g=e.noop,d=g;if(f){g=function(){return f.createObjectURL.apply(f,arguments)};d=function(){return f.revokeObjectURL.apply(f,arguments)}}return{createObjectURL:g,revokeObjectURL:d,dataURL2Blob:function(j){var m,o,l,k,h,n;n=j.split(",");if(~n[0].indexOf("base64")){m=atob(n[1])}else{m=decodeURIComponent(n[1])}l=new ArrayBuffer(m.length);o=new Uint8Array(l);for(k=0;k<m.length;k++){o[k]=m.charCodeAt(k)}h=n[0].split(":")[1].split(";")[0];return this.arrayBufferToBlob(l,h)},dataURL2ArrayBuffer:function(h){var k,m,j,l;l=h.split(",");if(~l[0].indexOf("base64")){k=atob(l[1])}else{k=decodeURIComponent(l[1])}m=new Uint8Array(k.length);for(j=0;j<k.length;j++){m[j]=k.charCodeAt(j)}return m.buffer},arrayBufferToBlob:function(h,j){var i=b.BlobBuilder||b.WebKitBlobBuilder,k;if(i){k=new i();k.append(h);return k.getBlob(j)}return new Blob([h],j?{type:j}:{})},canvasToDataUrl:function(h,i,j){return h.toDataURL(i,j/100)},parseMeta:function(h,i){i(false,{})},updateImageHead:function(h){return h}}});c("runtime/html5/imagemeta",["runtime/html5/util"],function(e){var d;d={parsers:{65505:[]},maxMetaDataSize:262144,parse:function(h,f){var i=this,g=new FileReader();g.onload=function(){f(false,i._parse(this.result));g=g.onload=g.onerror=null};g.onerror=function(j){f(j.message);g=g.onload=g.onerror=null};h=h.slice(0,i.maxMetaDataSize);g.readAsArrayBuffer(h.getSource())},_parse:function(k,p){if(k.byteLength<6){return}var m=new DataView(k),j=2,g=m.byteLength-4,n=j,o={},f,h,q,l;if(m.getUint16(0)===65496){while(j<g){f=m.getUint16(j);if(f>=65504&&f<=65519||f===65534){h=m.getUint16(j+2)+2;if(j+h>m.byteLength){break}q=d.parsers[f];if(!p&&q){for(l=0;l<q.length;l+=1){q[l].call(d,m,j,h,o)}}j+=h;n=j}else{break}}if(n>6){if(k.slice){o.imageHead=k.slice(2,n)}else{o.imageHead=new Uint8Array(k).subarray(2,n)}}}return o},updateImageHead:function(f,g){var i=this._parse(f,true),j,h,k;k=2;if(i.imageHead){k=2+i.imageHead.byteLength}if(f.slice){h=f.slice(k)}else{h=new Uint8Array(f).subarray(k)}j=new Uint8Array(g.byteLength+2+h.byteLength);j[0]=255;j[1]=216;j.set(new Uint8Array(g),2);j.set(new Uint8Array(h),g.byteLength+2);return j.buffer}};e.parseMeta=function(){return d.parse.apply(d,arguments)};e.updateImageHead=function(){return d.updateImageHead.apply(d,arguments)};return d});c("runtime/html5/imagemeta/exif",["base","runtime/html5/imagemeta"],function(f,e){var d={};d.ExifMap=function(){return this};d.ExifMap.prototype.map={Orientation:274};d.ExifMap.prototype.get=function(g){return this[g]||this[this.map[g]]};d.exifTagTypes={1:{getValue:function(h,g){return h.getUint8(g)},size:1},2:{getValue:function(h,g){return String.fromCharCode(h.getUint8(g))},size:1,ascii:true},3:{getValue:function(i,g,h){return i.getUint16(g,h)},size:2},4:{getValue:function(i,g,h){return i.getUint32(g,h)},size:4},5:{getValue:function(i,g,h){return i.getUint32(g,h)/i.getUint32(g+4,h)},size:8},9:{getValue:function(i,g,h){return i.getInt32(g,h)},size:4},10:{getValue:function(i,g,h){return i.getInt32(g,h)/i.getInt32(g+4,h)},size:8}};d.exifTagTypes[7]=d.exifTagTypes[1];d.getExifValue=function(r,q,l,p,j,g){var s=d.exifTagTypes[p],h,k,t,m,o,n;if(!s){f.log("Invalid Exif data: Invalid tag type.");return}h=s.size*j;k=h>4?q+r.getUint32(l+8,g):(l+8);if(k+h>r.byteLength){f.log("Invalid Exif data: Invalid data offset.");return}if(j===1){return s.getValue(r,k,g)}t=[];for(m=0;m<j;m+=1){t[m]=s.getValue(r,k+m*s.size,g)}if(s.ascii){o="";for(m=0;m<t.length;m+=1){n=t[m];if(n==="\u0000"){break}o+=n}return o}return t};d.parseExifTag=function(l,h,k,j,i){var g=l.getUint16(k,j);i.exif[g]=d.getExifValue(l,h,k,l.getUint16(k+2,j),l.getUint32(k+4,j),j)};d.parseExifTags=function(n,k,h,m,l){var o,g,j;if(h+6>n.byteLength){f.log("Invalid Exif data: Invalid directory offset.");return}o=n.getUint16(h,m);g=h+2+12*o;if(g+4>n.byteLength){f.log("Invalid Exif data: Invalid directory size.");return}for(j=0;j<o;j+=1){this.parseExifTag(n,k,h+2+12*j,m,l)}return n.getUint32(g,m)};d.parseExifData=function(m,l,i,j){var h=l+10,k,g;if(m.getUint32(l+4)!==1165519206){return}if(h+8>m.byteLength){f.log("Invalid Exif data: Invalid segment size.");return}if(m.getUint16(l+8)!==0){f.log("Invalid Exif data: Missing byte alignment offset.");return}switch(m.getUint16(h)){case 18761:k=true;break;case 19789:k=false;break;default:f.log("Invalid Exif data: Invalid byte alignment marker.");return}if(m.getUint16(h+2,k)!==42){f.log("Invalid Exif data: Missing TIFF marker.");return}g=m.getUint32(h+4,k);j.exif=new d.ExifMap();g=d.parseExifTags(m,h,h+g,k,j)};e.parsers[65505].push(d.parseExifData);return d});c("runtime/html5/image",["base","runtime/html5/runtime","runtime/html5/util"],function(d,g,e){var f="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D";return g.register("Image",{modified:false,init:function(){var i=this,h=new Image();h.onload=function(){i._info={type:i.type,width:this.width,height:this.height};if(!i._metas&&"image/jpeg"===i.type){e.parseMeta(i._blob,function(k,j){i._metas=j;i.owner.trigger("load")})}else{i.owner.trigger("load")}};h.onerror=function(){i.owner.trigger("error")};i._img=h},loadFromBlob:function(i){var j=this,h=j._img;j._blob=i;j.type=i.type;h.src=e.createObjectURL(i.getSource());j.owner.once("load",function(){e.revokeObjectURL(h.src)})},resize:function(j,h){var i=this._canvas||(this._canvas=document.createElement("canvas"));this._resize(this._img,i,j,h);this._blob=null;this.modified=true;this.owner.trigger("complete")},getAsBlob:function(j){var h=this._blob,k=this.options,i;j=j||this.type;if(this.modified||this.type!==j){i=this._canvas;if(j==="image/jpeg"){h=e.canvasToDataUrl(i,"image/jpeg",k.quality);if(k.preserveHeaders&&this._metas&&this._metas.imageHead){h=e.dataURL2ArrayBuffer(h);h=e.updateImageHead(h,this._metas.imageHead);h=e.arrayBufferToBlob(h,j);return h}}else{h=e.canvasToDataUrl(i,j)}h=e.dataURL2Blob(h)}return h},getAsDataUrl:function(h){var i=this.options;h=h||this.type;if(h==="image/jpeg"){return e.canvasToDataUrl(this._canvas,h,i.quality)}else{return this._canvas.toDataURL(h)}},getOrientation:function(){return this._metas&&this._metas.exif&&this._metas.exif.get("Orientation")||1},info:function(h){if(h){this._info=h;return this}return this._info},meta:function(h){if(h){this._meta=h;return this}return this._meta},destroy:function(){var h=this._canvas;this._img.onload=null;if(h){h.getContext("2d").clearRect(0,0,h.width,h.height);h.width=h.height=0;this._canvas=null}this._img.src=f;this._img=this._blob=null},_resize:function(m,o,j,u){var i=this.options,p=m.width,t=m.height,k=this.getOrientation(),l,s,n,r,q;if(~[5,6,7,8].indexOf(k)){j^=u;u^=j;j^=u}l=Math[i.crop?"max":"min"](j/p,u/t);i.allowMagnify||(l=Math.min(1,l));s=p*l;n=t*l;if(i.crop){o.width=j;o.height=u}else{o.width=s;o.height=n}r=(o.width-s)/2;q=(o.height-n)/2;i.preserveHeaders||this._rotate2Orientaion(o,k);this._renderImageToCanvas(o,m,r,q,s,n)},_rotate2Orientaion:function(k,j){var l=k.width,h=k.height,i=k.getContext("2d");switch(j){case 5:case 6:case 7:case 8:k.width=h;k.height=l;break}switch(j){case 2:i.translate(l,0);i.scale(-1,1);break;case 3:i.translate(l,h);i.rotate(Math.PI);break;case 4:i.translate(0,h);i.scale(1,-1);break;case 5:i.rotate(0.5*Math.PI);i.scale(1,-1);break;case 6:i.rotate(0.5*Math.PI);i.translate(0,-h);break;case 7:i.rotate(0.5*Math.PI);i.translate(l,-h);i.scale(-1,1);break;case 8:i.rotate(-0.5*Math.PI);i.translate(-l,0);break}},_renderImageToCanvas:(function(){if(!d.os.ios){return function(m,l,j,o,k,n){m.getContext("2d").drawImage(l,j,o,k,n)}}function i(n,k,s){var j=document.createElement("canvas"),t=j.getContext("2d"),q=0,o=s,r=s,m,l,p;j.width=1;j.height=s;t.drawImage(n,0,0);m=t.getImageData(0,0,1,s).data;while(r>q){l=m[(r-1)*4+3];if(l===0){o=r}else{q=r}r=(o+q)>>1}p=(r/s);return(p===0)?1:p}if(d.os.ios>=7){return function(j,l,p,o,q,m){var k=l.naturalWidth,r=l.naturalHeight,n=i(l,k,r);return j.getContext("2d").drawImage(l,0,0,k*n,r*n,p,o,q,m)}}function h(l){var k=l.naturalWidth,n=l.naturalHeight,m,j;if(k*n>1024*1024){m=document.createElement("canvas");m.width=m.height=1;j=m.getContext("2d");j.drawImage(l,-k+1,0);return j.getImageData(0,0,1,1).data[3]===0}else{return false}}return function(m,F,q,p,A,z){var o=F.naturalWidth,u=F.naturalHeight,B=m.getContext("2d"),l=h(F),j=this.type==="image/jpeg",E=1024,v=0,r=0,k,n,C,t,D,w,s;if(l){o/=2;u/=2}B.save();k=document.createElement("canvas");k.width=k.height=E;n=k.getContext("2d");C=j?i(F,o,u):1;t=Math.ceil(E*A/o);D=Math.ceil(E*z/u/C);while(v<u){w=0;s=0;while(w<o){n.clearRect(0,0,E,E);n.drawImage(F,-w,-v);B.drawImage(k,0,0,E,E,q+s,p+r,t,D);w+=E;s+=t}v+=E;r+=D}B.restore();k=n=null}})()})});c("runtime/html5/transport",["base","runtime/html5/runtime"],function(d,g){var e=d.noop,f=d.$;return g.register("Transport",{init:function(){this._status=0;this._response=null},send:function(){var h=this.owner,k=this.options,n=this._initAjax(),j=h._blob,m=k.server,l,o,i;if(k.sendAsBinary){m+=(/\?/.test(m)?"&":"?")+f.param(h._formData);o=j.getSource()}else{l=new FormData();f.each(h._formData,function(q,p){l.append(q,p)});l.append(k.fileVal,j.getSource(),k.filename||h._formData.name||"")}if(k.withCredentials&&"withCredentials" in n){n.open(k.method,m,true);n.withCredentials=true}else{n.open(k.method,m)}this._setRequestHeader(n,k.headers);if(o){n.overrideMimeType("application/octet-stream");if(d.os.android){i=new FileReader();i.onload=function(){n.send(this.result);i=i.onload=null};i.readAsArrayBuffer(o)}else{n.send(o)}}else{n.send(l)}},getResponse:function(){return this._response},getResponseAsJson:function(){return this._parseJson(this._response)},getStatus:function(){return this._status},abort:function(){var h=this._xhr;if(h){h.upload.onprogress=e;h.onreadystatechange=e;h.abort();this._xhr=h=null}},destroy:function(){this.abort()},_initAjax:function(){var i=this,j=new XMLHttpRequest(),h=this.options;if(h.withCredentials&&!("withCredentials" in j)&&typeof XDomainRequest!=="undefined"){j=new XDomainRequest()}j.upload.onprogress=function(l){var k=0;if(l.lengthComputable){k=l.loaded/l.total}return i.trigger("progress",k)};j.onreadystatechange=function(){if(j.readyState!==4){return}j.upload.onprogress=e;j.onreadystatechange=e;i._xhr=null;i._status=j.status;if(j.status>=200&&j.status<300){i._response=j.responseText;return i.trigger("load")}else{if(j.status>=500&&j.status<600){i._response=j.responseText;return i.trigger("error","server")}}return i.trigger("error",i._status?"http":"abort")};i._xhr=j;return j},_setRequestHeader:function(i,h){f.each(h,function(j,k){i.setRequestHeader(j,k)})},_parseJson:function(j){var i;try{i=JSON.parse(j)}catch(h){i={}}return i}})});c("preset/html5only",["base","widgets/filednd","widgets/filepaste","widgets/filepicker","widgets/image","widgets/queue","widgets/runtime","widgets/upload","widgets/validator","runtime/html5/blob","runtime/html5/dnd","runtime/html5/filepaste","runtime/html5/filepicker","runtime/html5/imagemeta/exif","runtime/html5/image","runtime/html5/transport"],function(d){return d});c("webuploader",["preset/html5only"],function(d){return d});return a("webuploader")});