diff --git a/bower.json b/bower.json index f4d32a3..6835ded 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "qoopido.demand", - "version": "4.0.9", + "version": "4.1.0", "homepage": "https://github.com/dlueth/qoopido.demand", "authors": [ "Dirk Lueth " diff --git a/dist/demand.js b/dist/demand.js index 06584bf..586aa92 100644 --- a/dist/demand.js +++ b/dist/demand.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.0.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ -!function(e,t,n,r,i){"use strict";function o(e,t,n,r){return{__proto__:V,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function u(e,t){return typeof e===t}function a(e){return e&&u(e,re)}function c(e){return u(e,oe)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function s(e,t){return e instanceof t}function f(e,t,n){for(var r,i=Object.keys(e),o=0;(r=i[o])!==W&&t.call(n,r,e[r])!==Y;o++);}function l(){return+new Date}function d(e){return H.href=e,H.href}function h(e,t){var n=e.replace(Be,"");return Ue.test(n)||Le.test(n)||(n="/"+d((t&&d(t+"/../")||"/")+n).replace(Fe,"")),n}function p(e,t){var n=e.match(Be);return(n&&n[1]?"mock:":"")+(n&&n[3]||E.handler)+"!"+h(e,t)}function v(){return u(this.uuid,ee)&&T(this,"uuid",new o($e())),this}function m(){this.parent.constructor.call(this),O[this.uuid]={},e.storage=O[this.uuid]}function g(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=C.call(n))}function y(e){function t(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.deferred.reject(new g(Me+" (content-type)",e.id)):(e.source=t,_e.emit(Re,e.type,e))}function n(t){e.deferred.reject(new g(Me+(t?" (status)":""),e.id))}function r(e,t,n){var r;return H.href=e,H.search=(r=(H.search||"").replace(u,""))+(r?"&":"?")+t+"="+n,H.href}function i(u){u=u||0,e.url=o?d(o.process(e.path,u)):e.path,_e.emit(qe,e.type,e),new Ve(r(e.url,L,+new Date)).then(t,o?function(){u++,o.location[u]?i(u):n()}:n)}var o,u=/^\?/;Le.test(e.path)||f(E.pattern,function(t,n){n.matches(e.path)&&(!o||o.weight>>0}function b(){this.parent.constructor.call(this),O[this.uuid]=[]}function j(e){var t=this.parent.constructor.call(this),n=O[t.uuid]={queue:e,current:V};demand.on(Pe+":"+e.uuid,function(){!n.current&&t.process()})}function q(e,t){for(var n,r;n=Xe.exec(t);)H.href=e,Le.test(n[2])?r=H.protocol+"//"+H.host+n[2]:(H.pathname+="/../"+n[2],r=H.protocol+"//"+H.host+H.pathname),t=t.replace(n[0],n[1]+" sourceMappingURL="+r+".map"+(n[3]?" "+n[3]:""));return t}function g(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=C.call(n))}function R(e,t){provide(e,function(){return t})}var S,k,E={cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},O={},P=Array.prototype,C=P.slice,M=P.concat,I=Object.prototype,A=I.toString,D=Object.create,T=Object.defineProperty,$=Object.getOwnPropertyNames,N=Object.getOwnPropertyDescriptor,_=Function.prototype,H=t.createElement("a"),L="demand",U="provide",X="path",F="/"+L+"/",J=F+"abstract/",B=F+"handler/",G=F+"plugin/",Q=F+"function/",z=F+"validator/",K="mock:",V=null,W=void 0,Y=!1,Z=!0,ee="undefined",te="string",ne="boolean",re="object",ie="function",oe="number",ue=function(){},ae="pre",ce="post",se="Configure",fe=ae+se,le=ce+se,de="cache",he=de+"Miss",pe=de+"Hit",ve=de+"Clear",me=de+"Exceed",ge=ae+"Cache",ye=ce+"Cache",xe="Resolve",we=ae+xe,be=ce+xe,je="Request",qe=ae+je,Re=ce+je,Se="Process",ke=ae+Se,Ee=ce+Se,Oe="queue",Pe=Oe+"Enqueue",Ce=Oe+"Dequeue",Me="error loading",Ie="error providing",Ae="error resolving",De="unspecified anonymous provide";!function(){function e(e){var t,n=this,r=n.prototype,i={},u=$(r),a=0;for(e=e.prototype||e;t=u[a];a++)i[t]=N(r,t);return i.constructor=new o(n),i.parent=new o(e),n.prototype=D(e,i),n}T(_,"extends",new o(e))}();var Te=function(){function e(e,t){var n,r=this[e];t!==W&&(a(t)?(n=a(r),r=t.length!==W?n&&r.length!==W?r:[]:n&&r.length===W?r:{},this[e]=Te(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==W;r++)f(t,e,n);return n}}(),$e=function(){function e(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}var t=new RegExp("[xy]","g"),n={};return function(){var r;do r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e);while(n[r]);return n[r]=1,r}}(),Ne=function(){var n,i,o="setImmediate"in e;return"MutationObserver"in e?function(e){n=t.createElement("div"),new MutationObserver(function(){e()}).observe(n,{attributes:Z}),n.setAttribute("i","1")}:!o&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?function(){function t(t){t.source===e&&t.data&&O[t.data]&&(O[t.data](),delete O[t.data])}return e.addEventListener("message",t,Y),function(t){var n=$e();O[n]=t,e.postMessage(n,"*")}}():!o&&"onreadystatechange"in(n=t.createElement("script"))?function(e){n.onreadystatechange=function(){n.onreadystatechange=V,n.parentNode.removeChild(n),e()},t.body.appendChild(n)}:(i=o?setImmediate:r,function(e){i(e)})}(),_e=function(){function e(e,t,r){var a,c;if(u(t,te)&&u(r,ie))for(t=t.split(" ");a=t.shift();)a=a.split(":"),i.test(a[0])&&((o[a[0]]||(o[a[0]]={on:[],after:[]}))[e].push({callback:r,filter:a[1]}),e===n&&a[0]===le&&(c=E.modules[a[1]])&&r(c))}function t(){}var n="on",r="after",i=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,o={};return t.prototype={emit:function(e,t){var i,u,a,c=o[e];if(c){for(i=C.call(arguments,2),u=0;a=c[n][u];u++)a.filter&&a.filter!==t||a.callback.apply(V,i);for(u=0;a=c[r][u];u++)a.filter&&a.filter!==t||a.callback.apply(V,i)}return this},on:function(t,r){return e(n,t,r),this},after:function(t,n){return e(r,t,n),this}},new t}(),He=function(){var e=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;return function(t){return t.replace(e,"\\$&")}}(),Le=/^(http(s?):)?\/\//i,Ue=/^\//,Xe=/((?:\/\/|\/\*)#)\s*sourceMappingURL\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,Fe=new RegExp("^"+He(d("/"))),Je=new RegExp("^"+L+"|"+U+"|"+X+"$"),Be=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(\d+\.\d+.\d+))?(?:#(\d+))?!/,Ge=function(t){function n(e){var t;return e.cache!==V?e.cache:(f(E.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:Y)}function r(e,t,n){_e.emit(e,t.id,t,n)}function i(){Ne(this.clear.expired.bind(this.clear))}var o,u="["+L+"]",a="[state]",c="[value]",s=new RegExp("^"+He(u)+"\\[(.+?)\\]"+He(a)+"$"),d=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return Y}}(),h=d&&"remainingSpace"in localStorage,v={};return _e.on(he,function(e){Ne(function(){o.clear.path(e.id)})}).on(Re,function(e){e.source&&n(e)&&(v[e.id]=Z)}).after(Ee,function(e){v[e.id]&&Ne(function(){o.set(e)})}),i.prototype={get:function(){return d?function(e){var r,i;if(n(e)&&(r=u+"["+e.id+"]",i=t.parse(localStorage.getItem(r+a)),i&&i.version===e.version&&(!i.expires&&!e.lifetime||i.expires>l())))return e.source=localStorage.getItem(r+c),Z}:ue}(),resolve:function(){return d?function(e){var t=this;t.get(e)?r(pe,e):r(he,e)}:function(e){r(he,e)}}(),set:function(){return d?function(e){var i,o,s;if(n(e)){i={version:e.version,expires:e.lifetime?l()+e.lifetime:e.lifetime},o=u+"["+e.id+"]",r(ge,e,i);try{if(s=h?localStorage.remainingSpace:V,localStorage.setItem(o+c,e.source),localStorage.setItem(o+a,t.stringify(i)),s!==V&&localStorage.remainingSpace===s)throw new Error("QUOTA_EXCEEDED_ERR");r(ye,e,i)}catch(t){r(me,e)}}}:ue}(),clear:{path:function(){return d?function e(e){var t=p(e),n=u+"["+t+"]";localStorage[n+a]&&(localStorage.removeItem(n+a),localStorage.removeItem(n+c),r(ve,ze.get(t)||new ze(t,V,Y)))}:ue}(),all:function(){return d?function(){var e;f(localStorage,function(t){e=t.match(s),e&&this.path(e[1])},this)}:ue}(),expired:function(){return d?function(){var e,n,r=this;f(localStorage,function(i){e=i.match(s),e&&(n=t.parse(localStorage.getItem(u+"["+e[1]+"]"+a)),n&&n.expires>0&&n.expires<=l()&&r.path(e[1]))},this)}:ue}()}},o=new i}(JSON),Qe=function(){function e(){s[this.uuid].handle(a,arguments)}function t(){s[this.uuid].handle(c,arguments)}function n(e,t){var n,r,i=s[this.uuid];for(i.state===u&&(i.state=e,i.value=t);n=i[i.state].shift();)r=n.handler.apply(V,i.value),r&&"function"==typeof r.then?r.then(n.deferred.resolve,n.deferred.reject):n.deferred[i.state===a?"resolve":"reject"].apply(V,i.value);i[a].length=0,i[c].length=0}function r(e,t,n){e.then(function(){n.resolved[t]=C.call(arguments),n.count++,i(n)},function(){n.rejected.push(C.call(arguments)),i(n)})}function i(e){e.count===e.total?e.deferred.resolve.apply(V,M.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.deferred.reject.apply(V,M.apply([],e.rejected))}function o(r){var i=this.parent.constructor.call(this);s[i.uuid]={state:u,handle:n.bind(i),value:V,resolved:[],rejected:[],count:0},r(e.bind(i),t.bind(i))}var u="pending",a="resolved",c="rejected",s={};return o.prototype={catch:function(e){return this.then(ue,e)},always:function(e){return this.then(e,e)},then:function(e,t){var n=s[this.uuid],r=o.defer();return e&&n[a].push({handler:e,deferred:r}),t&&n[c].push({handler:t,deferred:r}),n.state!==u&&Ne(n.handle),r.pledge},isPending:function(){return s[this.uuid].state===u},isResolved:function(){return s[this.uuid].state===a},isRejected:function(){return s[this.uuid].state===c}},o.defer=function(){var e={};return e.pledge=new o(function(t,n){e.resolve=t,e.reject=n}),e},o.all=function(e){var t,n,i=o.defer(),u=0;if(e.length)for(t=s[$e()]={deferred:i,resolved:[],rejected:[],total:e.length,count:0};n=e[u];u++)r(n,u,t);else i.resolve();return i.pledge},o.race=function(e){for(var t,n=o.defer(),r=0;t=e[r];r++)t.then(n.resolve,n.reject);return e.length||n.resolve(),n.pledge},o.extends(v)}();m.prototype={get:function(e){return e?O[this.uuid][e]:O[this.uuid]},set:function(e,t){O[this.uuid][e]=t},remove:function(e){delete O[this.uuid][e]}},m.extends(v),g.prototype={toString:function(){var e=this,t=L+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=g.traverse(e.stack,t,1)),t}},g.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=g.traverse(r.stack,t,n+1));return t};var ze=function(){function e(e,t,n){var o=this,u=e.match(Be)||i;return o.path=h(e,t),o.mock=u[1]?Z:Y,o.cache=u[2]?"+"===u[1]:V,o.type=u[3]||E.handler,o.version=u[4]||E.version,o.lifetime=u[5]&&1e3*u[5]||E.lifetime,o.id=(o.mock?K:"")+o.type+"!"+o.path,o.uri=(o.mock?K:"")+o.type+"@"+o.version+(c(o.lifetime)&&o.lifetime>0?"#"+o.lifetime:"")+"!"+o.path,o.deferred=Qe.defer(),o.pledge=o.deferred.pledge,n!==Y&&r.set(o.id,o),o}var n="internal!",r=new m,i=[];return e.prototype={enqueue:!0},e.get=function(e,t){return r.get(p(e,t))},e.resolve=function(t,r){var i=r&&Je.test(t),o=i?this.get(n+r+"/"+t):this.get(t,r);if(!o)if(i)switch(o=new e(n+r+"/"+t),t){case L:o.deferred.resolve(function(){var e=demand.bind(r);return f(demand,function(t,n){e[t]=n}),e}());break;case U:o.deferred.resolve(provide.bind(r));break;case X:o.deferred.resolve(r)}else o=new e(t,r),demand(B+o.type).then(function(e){o.handler=e,o.mock?o.deferred.resolve(e):Ge.resolve(o)},function(){o.deferred.reject(new g(Me+" (handler)",self.id))});return o},e.remove=function(e,n,i){var o=p(e,n),u=t.querySelector("["+L+'-id="'+o+'"]');r.remove(o),r.remove(K+o),u&&u.parentNode.removeChild(u),i!==Y&&Ge.clear.path(o)},e.list={all:function(){return Object.keys(r.get())},pending:function(){var e=[];return f(r.get(),function(t,n){n.pledge.isPending()&&e.push(t)}),e},resolved:function(){var e=[];return f(r.get(),function(t,n){n.pledge.isResolved()&&e.push(t)}),e},rejected:function(){var e=[];return f(r.get(),function(t,n){n.pledge.isRejected()&&e.push(t)}),e}},e}(),Ke=function(){function e(e,n){var r=this;r.weight=e.length,r.match=new RegExp("^"+He(e)),r.location=[].concat(n),f(r.location,function(e,n){r.location[e]={url:d(n).replace(t,"$1"),match:new RegExp("^"+He(n))}})}var t=/(.+)\/$/;return e.prototype={matches:function(e){return this.match.test(e)},process:function(e,t){var n=this.location[t];if(n)return e.replace(this.match,n.url)}},e}(),Ve=function(t){function n(){this.readyState<4&&this.abort()}var o="XDomainRequest"in e&&e.XDomainRequest||t;return function(e){var u,a=Qe.defer(),c=Fe.test(e)?new t:new o,s=n.bind(c),f=E.timeout;return c.ontimeout=c.onerror=c.onabort=function(){a.reject(c.status)},c.onprogress=c.onreadystatechange=function(){i(u),u=r(s,f)},c.onload=function(){u=i(u),"status"in c&&200!==c.status?a.reject(c.status):a.resolve(c.responseText,c.getResponseHeader&&c.getResponseHeader("content-type"))},c.open("GET",e,Z),c.send(),u=r(s,f),a.pledge}}(XMLHttpRequest);e.demand=function(){function t(){var t,n,r=C.call(arguments),i=this!==e?this:V,o=0;for(_e.emit(we,V,r,i);t=r[o];o++)r[o]=ze.resolve(t,i).pledge;return n=r.length>1?Qe.all(r):r[0],n.always(function(){_e.emit(be,V,r,i)})}return t.configure=function(e){var n,r=e.cache,i=e.version,o=e.timeout,s=e.lifetime,l=e.base,d=e.pattern,h=e.modules,p=E.modules;return u(r,ne)?E.cache[""]={weight:0,state:r}:a(r)&&f(r,function(e,t){E.cache[e]={weight:e.length,state:t}}),u(i,te)&&(E.version=i),c(o)&&(E.timeout=1e3*Math.min(Math.max(o,2),12)),c(s)&&s>0&&(E.lifetime=1e3*s),u(l,te)&&""!==l&&(E.pattern.base=new Ke("",l)),a(d)&&f(d,function(e,t){"base"!==e&&(E.pattern[e]=new Ke(e,t))}),a(h)&&f(h,function(e,t){n=p[e]=p[e]||{},_e.emit(fe,e,n),Te(n,t),_e.emit(le,e,n)}),t},t.version="4.0.9",t.on=_e.on.bind(t),t.remove=ze.remove,t.list=ze.list,t.clear=Ge.clear,_e.after(he,function(e){new y(e)}).after(pe+" "+Re,function(e){_e.emit(ke,e.id,e)}).after(qe,function(e){var t=e.handler.onPreRequest;t&&t(e)}).after(Re,function(e){var t=e.handler.onPostRequest;t&&t(e)}).after(ke,function(e){var t=e.handler.onPreProcess;t&&t(e),e.pledge.then(function(){_e.emit(Ee,e.id,e)}),e.enqueue===!0?S.enqueue(e):s(e.enqueue,Qe)&&e.enqueue.then(function(){S.enqueue(e)})}),t}(),e.provide=function(){var t,n,r=u(arguments[0],te)?arguments[0]:V,i=this!==e?this:V,o=x(arguments[r?1:0])?arguments[r?1:0]:V,a=o?arguments[r?2:1]:arguments[r?1:0];!r&&k.current&&(t=k.current,r=t.uri,k.process()),r?(t=t||new ze(r,i),n=u(a,ie),o?demand.apply(t.path,o).then(function(){t.deferred.resolve(n?a.apply(V,arguments):a)},function(){t.deferred.reject(new g(Ie,t.id,arguments))}):t.deferred.resolve(n?a():a)):!u(console,ee)&&console.error(new g(De))},demand.configure({cache:Z,base:"/",pattern:{"/demand":d((n&&n.url||location.href)+"/../").slice(0,-1)}}),n&&n.settings&&demand.configure(n.settings),b.prototype={enqueue:function(){O[this.uuid]=O[this.uuid].concat(C.call(arguments)),_e.emit(Pe,this.uuid)},dequeue:function(){return _e.emit(Ce,this.uuid),O[this.uuid].shift()},get current(){return O[this.uuid][0]},get length(){return O[this.uuid].length}},b.extends(v),j.prototype={process:function(){var e,t=O[this.uuid];t.queue.length?(e=t.current=t.queue.dequeue(),e.handler.process&&e.handler.process(e)):t.current=V},get current(){return O[this.uuid].current}},j.extends(v);var We=function(){function e(){}return e.prototype={validate:V,onPreRequest:V,onPostRequest:V,onPreProcess:V,process:V},new e}(),Ye=function(){function e(){}var n=t.getElementsByTagName("head")[0],r=/^(application|text)\/(x-)?javascript/;return e.prototype={validate:function(e){return r.test(e)},onPreRequest:function(e){var t=e.url;e.url=".js"!==t.slice(-3)?t+".js":t},onPostRequest:function(e){e.source=q(e.url,e.source)},process:function(e){var r;e.source&&(r=t.createElement("script"),r.async=Z,r.text=e.source,r.setAttribute(L+"-id",e.id),n.appendChild(r))}},new(e.extends(We))}();g.prototype={toString:function(){var e=this,t=L+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=g.traverse(e.stack,t,1)),t}},g.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=g.traverse(r.stack,t,n+1));return t};var Ze=function(){function e(e){for(var t,n,i=0;n=e[i];i++)if(n=n.match(Be),n=n&&n[3]||r.handler,t){if(n!==t)return Y}else t=n;return t}function t(){}var n=B+"bundle",r={};return demand.on(le+":"+n,function(e){var t,n;a(e)&&(r=e,f(r,function(e,r){for(t=0;n=r[t];t++)u(n,te)&&(r[t]=p(n))}))}),t.prototype={validate:Ye.validate,onPreProcess:function(t){function n(){f.reject(new g(Ae,t.id,arguments))}var i,o,u,a,c,s=t.source,f=t.deferred,l=r[t.path];if(t.enqueue=!1,l&&(i=e(l))){for(;o=Xe.exec(s);)s=s.replace(o[0],"");for(t.source=s,u=[],c=0;a=l[c];c++)u.push(ze.resolve(K+a).pledge);Qe.all(u).then(function(){for(u.length=0,c=0;a=l[c];c++)a=l[c]=ze.get(a)||new ze(a),a.handler=arguments[c],u.push(a.pledge);"module"===i?(S.enqueue.apply(S,l),Ye.process(t)):(Ye.process(t),S.enqueue.apply(S,l)),Qe.all(u).then(f.resolve,n)},n)}else n()}},new(t.extends(We))}(),et=function(){function e(e){for(var t,n,r=0;t=o[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e){var t,n,r=e.matches,i={pattern:{},modules:{"/demand/handler/bundle":{}}},o=0;for(i.pattern[e.id]=e.fn(r),i.modules[B+"bundle"][e.id]=t=[];n=r[o];o++)t.push(n.path);return i}function n(){for(var e,t=0;e=this[t];t++)e.deferred.resolve(arguments[t])}function r(){for(var e,t=0;e=this[t];t++)e.deferred.reject(new g(Ae,e.id))}var i=G+"genie",o=[];return demand.on(le+":"+i,function(e){a(e)&&(o.length=0,f(e,function(e,t){o.push({prefix:e,weight:e.length,fn:t})}))}).on(we,function(o,a){var c,s,l,d,h={};for(c=0;s=o[c];c++)!u(s,te)||Je.test(s)||ze.get(s,a)||(s=new ze(s,a,Y),"module"===s.type&&(l=e(s.path))&&!Ge.get(s)&&(h[l.prefix]||(h[l.prefix]={fn:l.fn,matches:[]})).matches.push(s));f(h,function(e,o){if(d=o.matches,d.length>1){for(o.id=i+"/"+w(JSON.stringify(o.matches)),c=0;s=d[c];c++)d[c]=new ze(s.uri);demand.configure(t(o)),demand("bundle!"+o.id).then(n.bind(d),r.bind(d))}})}),Z}();if(S=new b,k=new j(S),R(J+"uuid",v),R(J+"handler",We),R(B+"module",Ye),R(B+"bundle",Ze),R(G+"genie",et),R(z+"isTypeOf",u),R(z+"isArray",x),R(z+"isObject",a),R(z+"isInstanceOf",s),R(Q+"resolveUrl",d),R(Q+"resolveSourcemaps",q),R(Q+"merge",Te),R(Q+"iterate",f),R(Q+"hash",w),R(Q+"defer",Ne),R(F+"descriptor",o),R(F+"pledge",Qe),R(F+"queue",b),R(F+"xhr",Ve),R(F+"failure",g),n&&n.main)switch(typeof n.main){case te:demand(n.main);break;case ie:provide("main",n.main())}}(this,document,"demand"in this&&demand,setTimeout,clearTimeout); +/**! Qoopido.demand 4.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +!function(e,t,n,r,i){"use strict";function o(e,t,n,r){return{__proto__:V,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function u(e,t){return typeof e===t}function a(e){return e&&u(e,re)}function c(e){return u(e,oe)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function s(e,t){return e instanceof t}function f(e,t,n){for(var r,i=Object.keys(e),o=0;(r=i[o])!==W&&t.call(n,r,e[r])!==Y;o++);}function l(){return+new Date}function d(e){return H.href=e,H.href}function h(e,t){var n=e.replace(Be,"");return Ue.test(n)||Le.test(n)||(n="/"+d((t&&d(t+"/../")||"/")+n).replace(Fe,"")),n}function p(e,t){var n=e.match(Be);return(n&&n[1]?"mock:":"")+(n&&n[3]||E.handler)+"!"+h(e,t)}function v(){return u(this.uuid,ee)&&T(this,"uuid",new o($e())),this}function m(){this.parent.constructor.call(this),O[this.uuid]={},e.storage=O[this.uuid]}function g(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=C.call(n))}function y(e){function t(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.deferred.reject(new g(Me+" (content-type)",e.id)):(e.source=t,_e.emit(Re,e.type,e))}function n(t){e.deferred.reject(new g(Me+(t?" (status)":""),e.id))}function r(e,t,n){var r;return H.href=e,H.search=(r=(H.search||"").replace(u,""))+(r?"&":"?")+t+"="+n,H.href}function i(u){u=u||0,e.url=o?d(o.process(e.path,u)):e.path,_e.emit(qe,e.type,e),new Ve(r(e.url,L,+new Date)).then(t,o?function(){u++,o.location[u]?i(u):n()}:n)}var o,u=/^\?/;Le.test(e.path)||f(E.pattern,function(t,n){n.matches(e.path)&&(!o||o.weight>>0}function b(){this.parent.constructor.call(this),O[this.uuid]=[]}function j(e){var t=this.parent.constructor.call(this),n=O[t.uuid]={queue:e,current:V};demand.on(Pe+":"+e.uuid,function(){!n.current&&t.process()})}function q(e,t){for(var n,r;n=Xe.exec(t);)H.href=e,Le.test(n[2])?r=H.protocol+"//"+H.host+n[2]:(H.pathname+="/../"+n[2],r=H.protocol+"//"+H.host+H.pathname),t=t.replace(n[0],n[1]+" sourceMappingURL="+r+".map"+(n[3]?" "+n[3]:""));return t}function g(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=C.call(n))}function R(e,t){provide(e,function(){return t})}var S,k,E={cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},O={},P=Array.prototype,C=P.slice,M=P.concat,I=Object.prototype,A=I.toString,D=Object.create,T=Object.defineProperty,$=Object.getOwnPropertyNames,N=Object.getOwnPropertyDescriptor,_=Function.prototype,H=t.createElement("a"),L="demand",U="provide",X="path",F="/"+L+"/",J=F+"abstract/",B=F+"handler/",G=F+"plugin/",Q=F+"function/",z=F+"validator/",K="mock:",V=null,W=void 0,Y=!1,Z=!0,ee="undefined",te="string",ne="boolean",re="object",ie="function",oe="number",ue=function(){},ae="pre",ce="post",se="Configure",fe=ae+se,le=ce+se,de="cache",he=de+"Miss",pe=de+"Hit",ve=de+"Clear",me=de+"Exceed",ge=ae+"Cache",ye=ce+"Cache",xe="Resolve",we=ae+xe,be=ce+xe,je="Request",qe=ae+je,Re=ce+je,Se="Process",ke=ae+Se,Ee=ce+Se,Oe="queue",Pe=Oe+"Enqueue",Ce=Oe+"Dequeue",Me="error loading",Ie="error providing",Ae="error resolving",De="unspecified anonymous provide";!function(){function e(e){var t,n=this,r=n.prototype,i={},u=$(r),a=0;for(e=e.prototype||e;t=u[a];a++)i[t]=N(r,t);return i.constructor=new o(n),i.parent=new o(e),n.prototype=D(e,i),n}T(_,"extends",new o(e))}();var Te=function(){function e(e,t){var n,r=this[e];t!==W&&(a(t)?(n=a(r),r=t.length!==W?n&&r.length!==W?r:[]:n&&r.length===W?r:{},this[e]=Te(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==W;r++)f(t,e,n);return n}}(),$e=function(){function e(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}var t=new RegExp("[xy]","g"),n={};return function(){var r;do r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e);while(n[r]);return n[r]=1,r}}(),Ne=function(){var n,i,o="setImmediate"in e;return"MutationObserver"in e?function(e){n=t.createElement("div"),new MutationObserver(function(){e()}).observe(n,{attributes:Z}),n.setAttribute("i","1")}:!o&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?function(){function t(t){t.source===e&&t.data&&O[t.data]&&(O[t.data](),delete O[t.data])}return e.addEventListener("message",t,Y),function(t){var n=$e();O[n]=t,e.postMessage(n,"*")}}():!o&&"onreadystatechange"in(n=t.createElement("script"))?function(e){n.onreadystatechange=function(){n.onreadystatechange=V,n.parentNode.removeChild(n),e()},t.body.appendChild(n)}:(i=o?setImmediate:r,function(e){i(e)})}(),_e=function(){function e(e,t,r){var a,c;if(u(t,te)&&u(r,ie))for(t=t.split(" ");a=t.shift();)a=a.split(":"),i.test(a[0])&&((o[a[0]]||(o[a[0]]={on:[],after:[]}))[e].push({callback:r,filter:a[1]}),e===n&&a[0]===le&&(c=E.modules[a[1]])&&r(c))}function t(){}var n="on",r="after",i=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,o={};return t.prototype={emit:function(e,t){var i,u,a,c=o[e];if(c){for(i=C.call(arguments,2),u=0;a=c[n][u];u++)a.filter&&a.filter!==t||a.callback.apply(V,i);for(u=0;a=c[r][u];u++)a.filter&&a.filter!==t||a.callback.apply(V,i)}return this},on:function(t,r){return e(n,t,r),this},after:function(t,n){return e(r,t,n),this}},new t}(),He=function(){var e=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;return function(t){return t.replace(e,"\\$&")}}(),Le=/^(http(s?):)?\/\//i,Ue=/^\//,Xe=/((?:\/\/|\/\*)#)\s*sourceMappingURL\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,Fe=new RegExp("^"+He(d("/"))),Je=new RegExp("^"+L+"|"+U+"|"+X+"$"),Be=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(\d+\.\d+.\d+))?(?:#(\d+))?!/,Ge=function(t){function n(e){var t;return e.cache!==V?e.cache:(f(E.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:Y)}function r(e,t,n){_e.emit(e,t.id,t,n)}function i(){Ne(this.clear.expired.bind(this.clear))}var o,u="["+L+"]",a="[state]",c="[value]",s=new RegExp("^"+He(u)+"\\[(.+?)\\]"+He(a)+"$"),d=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return Y}}(),h=d&&"remainingSpace"in localStorage,v={};return _e.on(he,function(e){Ne(function(){o.clear.path(e.id)})}).on(Re,function(e){e.source&&n(e)&&(v[e.id]=Z)}).after(Ee,function(e){v[e.id]&&Ne(function(){o.set(e)})}),i.prototype={get:function(){return d?function(e){var r,i;if(n(e)&&(r=u+"["+e.id+"]",i=t.parse(localStorage.getItem(r+a)),i&&i.version===e.version&&(!i.expires&&!e.lifetime||i.expires>l())))return e.source=localStorage.getItem(r+c),Z}:ue}(),resolve:function(){return d?function(e){var t=this;t.get(e)?r(pe,e):r(he,e)}:function(e){r(he,e)}}(),set:function(){return d?function(e){var i,o,s;if(n(e)){i={version:e.version,expires:e.lifetime?l()+e.lifetime:e.lifetime},o=u+"["+e.id+"]",r(ge,e,i);try{if(s=h?localStorage.remainingSpace:V,localStorage.setItem(o+c,e.source),localStorage.setItem(o+a,t.stringify(i)),s!==V&&localStorage.remainingSpace===s)throw new Error("QUOTA_EXCEEDED_ERR");r(ye,e,i)}catch(t){r(me,e)}}}:ue}(),clear:{path:function(){return d?function e(e){var t=p(e),n=u+"["+t+"]";localStorage[n+a]&&(localStorage.removeItem(n+a),localStorage.removeItem(n+c),r(ve,ze.get(t)||new ze(t,V,Y)))}:ue}(),all:function(){return d?function(){var e;f(localStorage,function(t){e=t.match(s),e&&this.path(e[1])},this)}:ue}(),expired:function(){return d?function(){var e,n,r=this;f(localStorage,function(i){e=i.match(s),e&&(n=t.parse(localStorage.getItem(u+"["+e[1]+"]"+a)),n&&n.expires>0&&n.expires<=l()&&r.path(e[1]))},this)}:ue}()}},o=new i}(JSON),Qe=function(){function e(){s[this.uuid].handle(a,arguments)}function t(){s[this.uuid].handle(c,arguments)}function n(e,t){var n,r,i=s[this.uuid];for(i.state===u&&(i.state=e,i.value=t);n=i[i.state].shift();)r=n.handler.apply(V,i.value),r&&"function"==typeof r.then?r.then(n.deferred.resolve,n.deferred.reject):n.deferred[i.state===a?"resolve":"reject"].apply(V,i.value);i[a].length=0,i[c].length=0}function r(e,t,n){e.then(function(){n.resolved[t]=C.call(arguments),n.count++,i(n)},function(){n.rejected.push(C.call(arguments)),i(n)})}function i(e){e.count===e.total?e.deferred.resolve.apply(V,M.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.deferred.reject.apply(V,M.apply([],e.rejected))}function o(r){var i=this.parent.constructor.call(this);s[i.uuid]={state:u,handle:n.bind(i),value:V,resolved:[],rejected:[],count:0},r(e.bind(i),t.bind(i))}var u="pending",a="resolved",c="rejected",s={};return o.prototype={catch:function(e){return this.then(ue,e)},always:function(e){return this.then(e,e)},then:function(e,t){var n=s[this.uuid],r=o.defer();return e&&n[a].push({handler:e,deferred:r}),t&&n[c].push({handler:t,deferred:r}),n.state!==u&&Ne(n.handle),r.pledge},isPending:function(){return s[this.uuid].state===u},isResolved:function(){return s[this.uuid].state===a},isRejected:function(){return s[this.uuid].state===c}},o.defer=function(){var e={};return e.pledge=new o(function(t,n){e.resolve=t,e.reject=n}),e},o.all=function(e){var t,n,i=o.defer(),u=0;if(e.length)for(t=s[$e()]={deferred:i,resolved:[],rejected:[],total:e.length,count:0};n=e[u];u++)r(n,u,t);else i.resolve();return i.pledge},o.race=function(e){for(var t,n=o.defer(),r=0;t=e[r];r++)t.then(n.resolve,n.reject);return e.length||n.resolve(),n.pledge},o.extends(v)}();m.prototype={get:function(e){return e?O[this.uuid][e]:O[this.uuid]},set:function(e,t){O[this.uuid][e]=t},remove:function(e){delete O[this.uuid][e]}},m.extends(v),g.prototype={toString:function(){var e=this,t=L+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=g.traverse(e.stack,t,1)),t}},g.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=g.traverse(r.stack,t,n+1));return t};var ze=function(){function e(e,t,n){var o=this,u=e.match(Be)||i;return o.path=h(e,t),o.mock=u[1]?Z:Y,o.cache=u[2]?"+"===u[1]:V,o.type=u[3]||E.handler,o.version=u[4]||E.version,o.lifetime=u[5]&&1e3*u[5]||E.lifetime,o.id=(o.mock?K:"")+o.type+"!"+o.path,o.uri=(o.mock?K:"")+o.type+"@"+o.version+(c(o.lifetime)&&o.lifetime>0?"#"+o.lifetime:"")+"!"+o.path,o.deferred=Qe.defer(),o.pledge=o.deferred.pledge,n!==Y&&r.set(o.id,o),o}var n="internal!",r=new m,i=[];return e.prototype={enqueue:!0},e.get=function(e,t){return r.get(p(e,t))},e.resolve=function(t,r){var i=r&&Je.test(t),o=i?this.get(n+r+"/"+t):this.get(t,r);if(!o)if(i)switch(o=new e(n+r+"/"+t),t){case L:o.deferred.resolve(function(){var e=demand.bind(r);return f(demand,function(t,n){e[t]=n}),e}());break;case U:o.deferred.resolve(provide.bind(r));break;case X:o.deferred.resolve(r)}else o=new e(t,r),demand(B+o.type).then(function(e){o.handler=e,o.mock?o.deferred.resolve(e):Ge.resolve(o)},function(){o.deferred.reject(new g(Me+" (handler)",self.id))});return o},e.remove=function(e,n,i){var o=p(e,n),u=t.querySelector("["+L+'-id="'+o+'"]');r.remove(o),r.remove(K+o),u&&u.parentNode.removeChild(u),i!==Y&&Ge.clear.path(o)},e.list={all:function(){return Object.keys(r.get())},pending:function(){var e=[];return f(r.get(),function(t,n){n.pledge.isPending()&&e.push(t)}),e},resolved:function(){var e=[];return f(r.get(),function(t,n){n.pledge.isResolved()&&e.push(t)}),e},rejected:function(){var e=[];return f(r.get(),function(t,n){n.pledge.isRejected()&&e.push(t)}),e}},e}(),Ke=function(){function e(e,n){var r=this;r.weight=e.length,r.match=new RegExp("^"+He(e)),r.location=[].concat(n),f(r.location,function(e,n){r.location[e]={url:d(n).replace(t,"$1"),match:new RegExp("^"+He(n))}})}var t=/(.+)\/$/;return e.prototype={matches:function(e){return this.match.test(e)},process:function(e,t){var n=this.location[t];if(n)return e.replace(this.match,n.url)}},e}(),Ve=function(t){function n(){this.readyState<4&&this.abort()}var o="XDomainRequest"in e&&e.XDomainRequest||t;return function(e){var u,a=Qe.defer(),c=Fe.test(e)?new t:new o,s=n.bind(c),f=E.timeout;return c.ontimeout=c.onerror=c.onabort=function(){a.reject(c.status)},c.onprogress=c.onreadystatechange=function(){i(u),u=r(s,f)},c.onload=function(){u=i(u),"status"in c&&200!==c.status?a.reject(c.status):a.resolve(c.responseText,c.getResponseHeader&&c.getResponseHeader("content-type"))},c.open("GET",e,Z),c.send(),u=r(s,f),a.pledge}}(XMLHttpRequest);e.demand=function(){function t(){var t,n,r,i=C.call(arguments),o=this!==e?this:V,u=0;for(_e.emit(we,V,i,o);t=i[u];u++)"string"==typeof t?i[u]=ze.resolve(t,o).pledge:(i[u]=(n=Qe.defer()).pledge,n.resolve(t));return r=i.length>1?Qe.all(i):i[0],r.always(function(){_e.emit(be,V,i,o)})}return t.configure=function(e){var n,r=e.cache,i=e.version,o=e.timeout,s=e.lifetime,l=e.base,d=e.pattern,h=e.modules,p=E.modules;return u(r,ne)?E.cache[""]={weight:0,state:r}:a(r)&&f(r,function(e,t){E.cache[e]={weight:e.length,state:t}}),u(i,te)&&(E.version=i),c(o)&&(E.timeout=1e3*Math.min(Math.max(o,2),12)),c(s)&&s>0&&(E.lifetime=1e3*s),u(l,te)&&""!==l&&(E.pattern.base=new Ke("",l)),a(d)&&f(d,function(e,t){"base"!==e&&(E.pattern[e]=new Ke(e,t))}),a(h)&&f(h,function(e,t){n=p[e]=p[e]||{},_e.emit(fe,e,n),Te(n,t),_e.emit(le,e,n)}),t},t.version="4.1.0",t.on=_e.on.bind(t),t.remove=ze.remove,t.list=ze.list,t.clear=Ge.clear,_e.after(he,function(e){new y(e)}).after(pe+" "+Re,function(e){_e.emit(ke,e.id,e)}).after(qe,function(e){var t=e.handler.onPreRequest;t&&t(e)}).after(Re,function(e){var t=e.handler.onPostRequest;t&&t(e)}).after(ke,function(e){var t=e.handler.onPreProcess;t&&t(e),e.pledge.then(function(){_e.emit(Ee,e.id,e)}),e.enqueue===!0?S.enqueue(e):s(e.enqueue,Qe)&&e.enqueue.then(function(){S.enqueue(e)})}),t}(),e.provide=function(){var t,n,r=u(arguments[0],te)?arguments[0]:V,i=this!==e?this:V,o=x(arguments[r?1:0])?arguments[r?1:0]:V,a=o?arguments[r?2:1]:arguments[r?1:0];!r&&k.current&&(t=k.current,r=t.uri,k.process()),r?(t=t||new ze(r,i),n=u(a,ie),o?demand.apply(t.path,o).then(function(){t.deferred.resolve(n?a.apply(V,arguments):a)},function(){t.deferred.reject(new g(Ie,t.id,arguments))}):t.deferred.resolve(n?a():a)):!u(console,ee)&&console.error(new g(De))},demand.configure({cache:Z,base:"/",pattern:{"/demand":d((n&&n.url||location.href)+"/../").slice(0,-1)}}),n&&n.settings&&demand.configure(n.settings),b.prototype={enqueue:function(){O[this.uuid]=O[this.uuid].concat(C.call(arguments)),_e.emit(Pe,this.uuid)},dequeue:function(){return _e.emit(Ce,this.uuid),O[this.uuid].shift()},get current(){return O[this.uuid][0]},get length(){return O[this.uuid].length}},b.extends(v),j.prototype={process:function(){var e,t=O[this.uuid];t.queue.length?(e=t.current=t.queue.dequeue(),e.handler.process&&e.handler.process(e)):t.current=V},get current(){return O[this.uuid].current}},j.extends(v);var We=function(){function e(){}return e.prototype={validate:V,onPreRequest:V,onPostRequest:V,onPreProcess:V,process:V},new e}(),Ye=function(){function e(){}var n=t.getElementsByTagName("head")[0],r=/^(application|text)\/(x-)?javascript/;return e.prototype={validate:function(e){return r.test(e)},onPreRequest:function(e){var t=e.url;e.url=".js"!==t.slice(-3)?t+".js":t},onPostRequest:function(e){e.source=q(e.url,e.source)},process:function(e){var r;e.source&&(r=t.createElement("script"),r.async=Z,r.text=e.source,r.setAttribute(L+"-id",e.id),n.appendChild(r))}},new(e.extends(We))}();g.prototype={toString:function(){var e=this,t=L+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=g.traverse(e.stack,t,1)),t}},g.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=g.traverse(r.stack,t,n+1));return t};var Ze=function(){function e(e){for(var t,n,i=0;n=e[i];i++)if(n=n.match(Be),n=n&&n[3]||r.handler,t){if(n!==t)return Y}else t=n;return t}function t(){}var n=B+"bundle",r={};return demand.on(le+":"+n,function(e){var t,n;a(e)&&(r=e,f(r,function(e,r){for(t=0;n=r[t];t++)u(n,te)&&(r[t]=p(n))}))}),t.prototype={validate:Ye.validate,onPreProcess:function(t){function n(){f.reject(new g(Ae,t.id,arguments))}var i,o,u,a,c,s=t.source,f=t.deferred,l=r[t.path];if(t.enqueue=!1,l&&(i=e(l))){for(;o=Xe.exec(s);)s=s.replace(o[0],"");for(t.source=s,u=[],c=0;a=l[c];c++)u.push(ze.resolve(K+a).pledge);Qe.all(u).then(function(){for(u.length=0,c=0;a=l[c];c++)a=l[c]=ze.get(a)||new ze(a),a.handler=arguments[c],u.push(a.pledge);"module"===i?(S.enqueue.apply(S,l),Ye.process(t)):(Ye.process(t),S.enqueue.apply(S,l)),Qe.all(u).then(f.resolve,n)},n)}else n()}},new(t.extends(We))}(),et=function(){function e(e){for(var t,n,r=0;t=o[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e){var t,n,r=e.matches,i={pattern:{},modules:{"/demand/handler/bundle":{}}},o=0;for(i.pattern[e.id]=e.fn(r),i.modules[B+"bundle"][e.id]=t=[];n=r[o];o++)t.push(n.path);return i}function n(){for(var e,t=0;e=this[t];t++)e.deferred.resolve(arguments[t])}function r(){for(var e,t=0;e=this[t];t++)e.deferred.reject(new g(Ae,e.id))}var i=G+"genie",o=[];return demand.on(le+":"+i,function(e){a(e)&&(o.length=0,f(e,function(e,t){o.push({prefix:e,weight:e.length,fn:t})}))}).on(we,function(o,a){var c,s,l,d,h={};for(c=0;s=o[c];c++)!u(s,te)||Je.test(s)||ze.get(s,a)||(s=new ze(s,a,Y),"module"===s.type&&(l=e(s.path))&&!Ge.get(s)&&(h[l.prefix]||(h[l.prefix]={fn:l.fn,matches:[]})).matches.push(s));f(h,function(e,o){if(d=o.matches,d.length>1){for(o.id=i+"/"+w(JSON.stringify(o.matches)),c=0;s=d[c];c++)d[c]=new ze(s.uri);demand.configure(t(o)),demand("bundle!"+o.id).then(n.bind(d),r.bind(d))}})}),Z}();if(S=new b,k=new j(S),R(J+"uuid",v),R(J+"handler",We),R(B+"module",Ye),R(B+"bundle",Ze),R(G+"genie",et),R(z+"isTypeOf",u),R(z+"isArray",x),R(z+"isObject",a),R(z+"isInstanceOf",s),R(Q+"resolveUrl",d),R(Q+"resolveSourcemaps",q),R(Q+"merge",Te),R(Q+"iterate",f),R(Q+"hash",w),R(Q+"defer",Ne),R(F+"descriptor",o),R(F+"pledge",Qe),R(F+"queue",b),R(F+"xhr",Ve),R(F+"failure",g),n&&n.main)switch(typeof n.main){case te:demand(n.main);break;case ie:provide("main",n.main())}}(this,document,"demand"in this&&demand,setTimeout,clearTimeout); //# sourceMappingURL=demand.js.map diff --git a/dist/demand.js.map b/dist/demand.js.map index 8e5f45f..55e6724 100644 --- a/dist/demand.js.map +++ b/dist/demand.js.map @@ -1 +1 @@ -{"version":3,"sources":["demand.js","class/descriptor.js","validator/isTypeOf.js","validator/isObject.js","validator/isPositive.js","validator/isInstanceOf.js","function/iterate.js","function/getTimestamp.js","function/resolveUrl.js","function/resolvePath.js","function/resolveId.js","abstract/uuid.js","class/registry.js","class/failure.js","class/loader.js","validator/isArray.js","function/hash.js","class/queue.js","class/processor.js","function/resolveSourcemaps.js","class/Failure.js","shortcuts.js","constants.js","inheritance.js","function/merge.js","function/uuid.js","function/defer.js","singleton/event.js","function/escapeRegex.js","variables.js","singleton/cache.js","class/pledge.js","class/dependency.js","class/pattern.js","class/xhr.js","function/demand.js","function/provide.js","abstract/handler.js","handler/module.js","handler/bundle.js","plugin/genie.js"],"names":["global","document","options","setTimeout","clearTimeout","ClassDescriptor","value","writable","configurable","enumerable","__proto__","NULL","validatorIsTypeOf","object","type","validatorIsObject","STRING_OBJECT","validatorIsPositive","STRING_NUMBER","isFinite","Math","floor","validatorIsInstanceOf","module","functionIterate","callback","context","property","properties","Object","keys","i","UNDEFINED","call","FALSE","functionGetTimestamp","Date","functionResolveUrl","url","linkElement","href","functionResolvePath","uri","path","replace","regexMatchParameter","regexIsAbsolutePath","test","regexIsAbsoluteUri","regexMatchBaseUrl","functionResolveId","parameter","match","settings","handler","AbstractUuid","this","uuid","STRING_UNDEFINED","objectDefineProperty","functionUuid","ClassRegistry","parent","constructor","storage","ClassFailure","message","stack","arrayPrototypeSlice","ClassLoader","dependency","resolve","response","validate","deferred","reject","ERROR_LOAD","id","source","singletonEvent","emit","EVENT_POST_REQUEST","status","addUrlParam","param","query","search","regexCleanupSearch","load","location","pattern","process","EVENT_PRE_REQUEST","ClassXhr","DEMAND_ID","then","matches","weight","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","ClassQueue","ClassProcessor","queue","self","pointer","current","demand","on","EVENT_QUEUE_ENQUEUE","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","assignModule","factory","provide","processor","cache","timeout","modules","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","objectPrototype","toString","objectCreate","create","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","functionPrototype","Function","createElement","PROVIDE_ID","PATH_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","undefined","TRUE","STRING_STRING","STRING_BOOLEAN","STRING_FUNCTION","FUNCTION_EMPTY","EVENT_PREFIX","EVENT_POSTFIX","EVENT_CONFIGURE","EVENT_PRE_CONFIGURE","EVENT_POST_CONFIGURE","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_HIT","EVENT_CACHE_CLEAR","EVENT_CACHE_EXCEED","EVENT_PRE_CACHE","EVENT_POST_CACHE","EVENT_RESOLVE","EVENT_PRE_RESOLVE","EVENT_POST_RESOLVE","EVENT_REQUEST","EVENT_PROCESS","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE","EVENT_QUEUE_DEQUEUE","ERROR_PROVIDE","ERROR_RESOLVE","ERROR_PROVIDE_ANONYMOUS","extend","names","functionMerge","mergeProperties","targetPropertyIsObject","targetProperty","target","arguments","randomize","character","r","random","regex","RegExp","functionDefer","element","fallback","hasSetImmediate","fn","MutationObserver","observe","attributes","setAttribute","onMessage","event","data","addEventListener","postMessage","onreadystatechange","parentNode","removeChild","body","appendChild","setImmediate","addListener","events","split","shift","regexMatchEvent","listener","after","push","filter","TYPE_ON","Event","TYPE_AFTER","item","apply","functionEscapeRegex","regexMatchRegex","regexMatchInternal","singletonCache","JSON","enabled","indexOf","state","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","localStorage","exception","supportsRemainingSpace","set","get","parse","getItem","version","expires","lifetime","spaceBefore","remainingSpace","setItem","stringify","Error","error","key","removeItem","ClassDependency","all","ClassPledge","handle","PLEDGE_RESOLVED","PLEDGE_REJECTED","result","PLEDGE_PENDING","pledge","index","resolved","count","check","rejected","total","executor","catch","always","alwaysListener","resolveListener","rejectListener","defer","isPending","isResolved","isRejected","pledges","race","extends","remove","traverse","depth","indention","join","register","placeholder","mock","registry","PREFIX_INTERNAL","enqueue","isInternal","scopedDemand","node","querySelector","list","pending","ClassPattern","regexMatchTrailingSlash","XMLHttpRequest","checkState","readyState","abort","XDomainRequest","xhr","boundCheckState","ontimeout","onerror","onabort","onprogress","onload","responseText","getResponseHeader","open","send","dependencies","configure","temp","base","min","max","onPreRequest","onPostRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","abstractHandler","AbstractHandler","handlerModule","HandlerModule","getElementsByTagName","regexMatchType","script","async","text","handlerBundle","getType","HandlerBundle","pluginGenie","matchPattern","prefix","generateConfiguration","bundle","configuration","/demand/handler/bundle","resolveDependencies","rejectDependencies","bundles","main"],"mappings":"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","file":"demand.js","sourcesContent":["/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX, MODULE_PREFIX_HANDLER, MODULE_PREFIX_VALIDATOR, MODULE_PREFIX_PLUGIN, MODULE_PREFIX_FUNCTION, MODULE_PREFIX_ABSTRACT, STRING_STRING, STRING_FUNCTION, TRUE,\n\tvalidatorIsTypeOf, validatorIsArray, validatorIsObject, validatorIsInstanceOf,\n\tfunctionResolveUrl, functionResolveSourcemaps, functionMerge, functionIterate, functionDefer, functionHash, functionUuid,\n\tAbstractUuid, abstractHandler,\n \tClassQueue, ClassProcessor, ClassPledge, ClassXhr, ClassFailure, ClassDescriptor\n\thandlerModule, handlerBundle,\n \tpluginGenie\n*/\n\n/*eslint no-unused-vars: [2, { \"vars\": \"local\", \"args\": \"none\" }]*/\n(function(global, document, options, setTimeout, clearTimeout) {\n\t'use strict';\n\n\t/* eslint-disable no-unused-vars */\n\tvar settings = { cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' },\n\t\tstorage = {},\n\t\tqueue, processor;\n\t/* eslint-enable no-unused-vars */\n\n\t// include inheritance\n\t\t//=require inheritance.js\n\n\t// include main components\n\t\t//=require function/demand.js\n\t\t//=require function/provide.js\n\n\t// process initial configuration\n\t\tdemand.configure({ cache: TRUE, base: '/', pattern: { '/demand': functionResolveUrl(((options && options.url) || location.href) + '/../').slice(0, -1)} });\n\t\toptions && options.settings && demand.configure(options.settings);\n\n\t// include additional components\n\t\t//=require function/hash.js\n\t\t//=require class/queue.js\n\t\t//=require class/processor.js\n\t\t//=require handler/module.js\n\t\t//=require handler/bundle.js\n\t\t//=require plugin/genie.js\n\n\t// initialize\n\t\tqueue = new ClassQueue();\n\t\tprocessor = new ClassProcessor(queue);\n\n\t\tfunction assignModule(id, factory) {\n\t\t\tprovide(id, function() { return factory; });\n\t\t}\n\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'uuid', AbstractUuid);\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'handler', abstractHandler);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'module', handlerModule);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'bundle', handlerBundle);\n\t\tassignModule(MODULE_PREFIX_PLUGIN + 'genie', pluginGenie);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isTypeOf', validatorIsTypeOf);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isArray', validatorIsArray);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isObject', validatorIsObject);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isInstanceOf', validatorIsInstanceOf);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveUrl', functionResolveUrl);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveSourcemaps', functionResolveSourcemaps);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'merge', functionMerge);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'iterate', functionIterate);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'hash', functionHash);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'defer', functionDefer);\n\t\tassignModule(MODULE_PREFIX + 'descriptor', ClassDescriptor);\n\t\tassignModule(MODULE_PREFIX + 'pledge', ClassPledge);\n\t\tassignModule(MODULE_PREFIX + 'queue', ClassQueue);\n\t\tassignModule(MODULE_PREFIX + 'xhr', ClassXhr);\n\t\tassignModule(MODULE_PREFIX + 'failure', ClassFailure);\n\n\t\tif(options && options.main) {\n\t\t\tswitch(typeof options.main) {\n\t\t\t\tcase STRING_STRING:\n\t\t\t\t\tdemand(options.main);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase STRING_FUNCTION:\n\t\t\t\t\tprovide('main', options.main());\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n}(this, document, 'demand' in this && demand, setTimeout, clearTimeout));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nfunction ClassDescriptor(value, writable, configurable, enumerable) {\n\treturn {\n\t\t__proto__: NULL,\n\t\tvalue: value,\n\t\tenumerable: !!enumerable,\n\t\tconfigurable: !!configurable,\n\t\twritable: !!writable\n\t};\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * isTypeOf\n *\n * Check whether a given object is of specified type\n *\n * @param object\n * @param {string} type\n *\n * @return {boolean}\n */\n\nfunction validatorIsTypeOf(object, type) {\n\treturn typeof object === type;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_OBJECT,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isObject\n *\n * Check whether a given object is of type object\n *\n * @param object\n *\n * @return {boolean}\n */\n\nfunction validatorIsObject(object) {\n\treturn object && validatorIsTypeOf(object, STRING_OBJECT);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_NUMBER,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isPositive\n *\n * Check whether a given value is a positive integer\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsPositive(value) {\n\treturn validatorIsTypeOf(value, STRING_NUMBER) && isFinite(value) && Math.floor(value) === value && value >= 0;\n}","/**\n * isInstanceOf\n *\n * Check whether a given object is an instance of specified type\n *\n * @param object\n * @param module\n *\n * @return {boolean}\n */\nfunction validatorIsInstanceOf(object, module) {\n\treturn object instanceof module;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED, FALSE\n*/\n\n//=require constants.js\n\n/**\n * iterate\n *\n * Iterate over enumerable & own properties of a given\n * object and pass current property as well as its value\n * to a callback function\n *\n * @param {object} object\n * @param {function} callback\n * @param context\n *\n * @return {object}\n */\n\nfunction functionIterate(object, callback, context) {\n\tvar properties = Object.keys(object),\n\t\ti = 0, property;\n\n\tfor(; (property = properties[i]) !== UNDEFINED; i++) {\n\t\tif(callback.call(context, property, object[property]) === FALSE) {\n\t\t\tbreak;\n\t\t}\n\t}\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nfunction functionGetTimestamp() {\n\treturn +new Date();\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tlinkElement\n*/\n\n//=require shortcuts.js\n\nfunction functionResolveUrl(url) {\n\tlinkElement.href = url;\n\n\treturn linkElement.href;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter, regexMatchBaseUrl, regexIsAbsolutePath, regexIsAbsoluteUri,\n\tfunctionResolveUrl\n*/\n\n//=require variables.js\n//=require function/resolveUrl.js\n\nfunction functionResolvePath(uri, context) {\n\tvar path = uri.replace(regexMatchParameter, '');\n\n\tif(!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) {\n\t\tpath = '/' + functionResolveUrl(((context && functionResolveUrl(context + '/../')) || '/') + path).replace(regexMatchBaseUrl, '');\n\t}\n\n\treturn path;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter,\n\tfunctionResolvePath\n*/\n\n//=require variables.js\n//=require function/resolvePath.js\n\nfunction functionResolveId(uri, context) {\n\tvar parameter = uri.match(regexMatchParameter);\n\n\treturn ((parameter && parameter[1]) ? 'mock:' : '') + ((parameter && parameter[3]) || settings.handler) + '!' + functionResolvePath(uri, context);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_UNDEFINED,\n\tobjectDefineProperty,\n\tvalidatorIsTypeOf,\n\tfunctionUuid,\n\tClassDescriptor\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n//=require function/uuid.js\n//=require class/descriptor.js\n\nfunction AbstractUuid() {\n\tif(validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) {\n\t\tobjectDefineProperty(this, 'uuid', new ClassDescriptor(functionUuid()));\n\t}\n\n\treturn this;\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tAbstractUuid\n*/\n\n//=require abstract/uuid.js\n\nfunction ClassRegistry() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = {};\n\n\tglobal.storage = storage[this.uuid];\n}\n\nClassRegistry.prototype = {\n\tget: function(key) {\n\t\treturn key ? storage[this.uuid][key] : storage[this.uuid];\n\t},\n\tset: function(key, value) {\n\t\tstorage[this.uuid][key] = value;\n\t},\n\tremove: function(key) {\n\t\tdelete storage[this.uuid][key];\n\t}\n};\n\nClassRegistry.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tarrayPrototypeSlice\n*/\n\n//=require constants.js\n//=require shortcuts.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = arrayPrototypeSlice.call(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, ERROR_LOAD,\n\tregexIsAbsoluteUri,\n\tlinkElement,\n\tfunctionIterate, functionResolveUrl,\n\tClassXhr, ClassFailure,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require variables.js\n//=require shortcuts.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require singleton/event.js\n//=require class/xhr.js\n//=require class/failure.js\n\nfunction ClassLoader(dependency) {\n\tvar regexCleanupSearch = /^\\?/,\n\t\tpattern;\n\n\tfunction resolve(response, type) {\n\t\tif(!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n\t\t\tdependency.source = response;\n\n\t\t\tsingletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency);\n\t\t} else {\n\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + ' (content-type)', dependency.id));\n\t\t}\n\t}\n\n\tfunction reject(status) {\n\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + (status ? ' (status)' : ''), dependency.id));\n\t}\n\t\n\tfunction addUrlParam(url, param, value) {\n\t\tvar query;\n\t\t\n\t\tlinkElement.href = url;\n\t\tlinkElement.search = (query = (linkElement.search || '').replace(regexCleanupSearch, '')) + (query ? '&' : '?') + param + '=' + value;\n\t\t\n\t\treturn linkElement.href;\n\t}\n\n\tfunction load(location) {\n\t\tlocation = location || 0;\n\t\tdependency.url = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n\n\t\tsingletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n\n\t\tnew ClassXhr(addUrlParam(dependency.url, DEMAND_ID, +new Date())).then(\n\t\t\tresolve,\n\t\t\t(\n\t\t\t\tpattern ?\n\t\t\t\tfunction() {\n\t\t\t\t\tlocation++;\n\n\t\t\t\t\tif(pattern.location[location]) {\n\t\t\t\t\t\tload(location);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t:\n\t\t\t\treject\n\t\t\t)\n\t\t);\n\t}\n\n\tif(!regexIsAbsoluteUri.test(dependency.path)) {\n\t\tfunctionIterate(settings.pattern, function(property, value) {\n\t\t\tvalue.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value);\n\t\t});\n\t}\n\n\tload();\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectPrototypeToString\n*/\n\n//=require shortcuts.js\n\n/**\n * isArray\n *\n * Check whether a given value is of type array\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsArray(value) {\n\treturn objectPrototypeToString.call(value) === '[object Array]';\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * hash\n *\n * Generate a hash for a given string\n *\n * @param {string} input\n *\n * @return {number}\n */\nfunction functionHash(input){\n\tvar value = 5381,\n\t\ti = input.length;\n\n\twhile(i) {\n\t\tvalue = (value * 33) ^ input.charCodeAt(--i);\n\t}\n\n\treturn value >>> 0;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, EVENT_QUEUE_DEQUEUE,\n\tarrayPrototypeSlice,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require singleton/event.js\n//=require abstract/uuid.js\n\nfunction ClassQueue() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = [];\n}\n\t\nClassQueue.prototype = {\n\tenqueue: function() {\n\t\tstorage[this.uuid] = storage[this.uuid].concat(arrayPrototypeSlice.call(arguments));\n\n\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid);\n\t},\n\tdequeue: function() {\n\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid);\n\n\t\treturn storage[this.uuid].shift();\n\t},\n\tget current() {\n\t\treturn storage[this.uuid][0];\n\t},\n\tget length() {\n\t\treturn storage[this.uuid].length;\n\t}\n};\n\t\nClassQueue.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, NULL,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require abstract/uuid.js\n\nfunction ClassProcessor(queue) {\n\tvar self = this.parent.constructor.call(this),\n\t\tpointer = storage[self.uuid] = { queue: queue, current: NULL };\n\n\tdemand\n\t\t.on(EVENT_QUEUE_ENQUEUE + ':' + queue.uuid, function() {\n\t\t\t!pointer.current && self.process();\n\t\t});\n}\n\nClassProcessor.prototype = {\n\tprocess: function() {\n\t\tvar pointer = storage[this.uuid],\n\t\t\t\tcurrent;\n\n\t\tif(pointer.queue.length) {\n\t\t\tcurrent = pointer.current = pointer.queue.dequeue();\n\n\t\t\tcurrent.handler.process && current.handler.process(current);\n\t\t} else {\n\t\t\tpointer.current = NULL;\n\t\t}\n\t},\n\tget current() {\n\t\treturn storage[this.uuid].current;\n\t}\n};\n\t\nClassProcessor.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchSourcemap, regexIsAbsoluteUri\n\tlinkElement\n*/\n\n//=require variables.js\n//=require shortcuts.js\n\nfunction functionResolveSourcemaps(url, source) {\n\tvar match, replacement;\n\t\n\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\tlinkElement.href = url;\n\t\t\n\t\tif(regexIsAbsoluteUri.test(match[2])) {\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + match[2];\n\t\t} else {\n\t\t\tlinkElement.pathname += '/../' + match[2];\n\t\t\t\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + linkElement.pathname;\n\t\t}\n\t\t\n\t\tsource = source.replace(match[0], match[1] + ' sourceMappingURL=' + replacement + '.map' + (match[3] ? ' ' + match[3] : ''));\n\t}\n\t\n\treturn source;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tarrayPrototypeSlice\n*/\n\n//=require constants.js\n//=require shortcuts.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = arrayPrototypeSlice.call(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar arrayPrototype = Array.prototype,\n\tarrayPrototypeSlice = arrayPrototype.slice,\n\tarrayPrototypeConcat = arrayPrototype.concat,\n\tobjectPrototype = Object.prototype,\n\tobjectPrototypeToString = objectPrototype.toString,\n\tobjectCreate = Object.create,\n\tobjectDefineProperty = Object.defineProperty,\n\tobjectGetOwnPropertyNames = Object.getOwnPropertyNames,\n\tobjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor,\n\tfunctionPrototype = Function.prototype,\n\tlinkElement = document.createElement('a');","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar DEMAND_ID = 'demand',\n\tPROVIDE_ID = 'provide',\n\tPATH_ID = 'path',\n\tMODULE_PREFIX = '/' + DEMAND_ID + '/',\n\tMODULE_PREFIX_ABSTRACT = MODULE_PREFIX + 'abstract/',\n\tMODULE_PREFIX_HANDLER = MODULE_PREFIX + 'handler/',\n\tMODULE_PREFIX_PLUGIN = MODULE_PREFIX + 'plugin/',\n\tMODULE_PREFIX_FUNCTION = MODULE_PREFIX + 'function/',\n\tMODULE_PREFIX_VALIDATOR = MODULE_PREFIX + 'validator/',\n\tMOCK_PREFIX = 'mock:',\n\tNULL = null,\n\tUNDEFINED = undefined,\n\tFALSE = false,\n\tTRUE = true,\n\tSTRING_UNDEFINED = 'undefined',\n\tSTRING_STRING = 'string',\n\tSTRING_BOOLEAN = 'boolean',\n\tSTRING_OBJECT = 'object',\n\tSTRING_FUNCTION = 'function',\n\tSTRING_NUMBER = 'number',\n\tFUNCTION_EMPTY = function() {},\n\tEVENT_PREFIX = 'pre',\n\tEVENT_POSTFIX = 'post',\n\tEVENT_CONFIGURE = 'Configure',\n\tEVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n\tEVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n\tEVENT_CACHE = 'cache',\n\tEVENT_CACHE_MISS = EVENT_CACHE + 'Miss',\n\tEVENT_CACHE_HIT = EVENT_CACHE + 'Hit',\n\tEVENT_CACHE_CLEAR = EVENT_CACHE + 'Clear',\n\tEVENT_CACHE_EXCEED = EVENT_CACHE + 'Exceed',\n\tEVENT_PRE_CACHE = EVENT_PREFIX + 'Cache',\n\tEVENT_POST_CACHE = EVENT_POSTFIX + 'Cache',\n\tEVENT_RESOLVE = 'Resolve',\n\tEVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n\tEVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n\tEVENT_REQUEST = 'Request',\n\tEVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n\tEVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n\tEVENT_PROCESS = 'Process',\n\tEVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n\tEVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n\tEVENT_QUEUE = 'queue',\n\tEVENT_QUEUE_ENQUEUE = EVENT_QUEUE + 'Enqueue',\n\tEVENT_QUEUE_DEQUEUE = EVENT_QUEUE + 'Dequeue',\n\tERROR_LOAD = 'error loading',\n\tERROR_PROVIDE = 'error providing',\n\tERROR_RESOLVE = 'error resolving',\n\tERROR_PROVIDE_ANONYMOUS = 'unspecified anonymous provide';","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectCreate, objectDefineProperty, objectGetOwnPropertyNames, objectGetOwnPropertyDescriptor, functionPrototype,\n\tClassDescriptor\n*/\n\n//=require shortcuts.js\n//=require class/descriptor.js\n\n(function() {\n\tfunction extend(parent) {\n\t\tvar self = this,\n\t\t\tprototype = self.prototype,\n\t\t\tproperties = {},\n\t\t\tnames = objectGetOwnPropertyNames(prototype),\n\t\t\ti = 0, property;\n\n\t\tparent = parent.prototype || parent;\n\n\t\tfor(; (property = names[i]); i++) {\n\t\t\tproperties[property] = objectGetOwnPropertyDescriptor(prototype, property);\n\t\t}\n\n\t\tproperties.constructor = new ClassDescriptor(self);\n\t\tproperties.parent = new ClassDescriptor(parent);\n\n\t\tself.prototype = objectCreate(parent, properties);\n\n\t\treturn self;\n\t}\n\n\tobjectDefineProperty(functionPrototype, 'extends', new ClassDescriptor(extend));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED,\n\tvalidatorIsObject,\n\tfunctionIterate\n*/\n\n//=require constants.js\n//=require validator/isObject.js\n//=require function/iterate.js\n\n/**\n * merge\n *\n * Merge two or more objects into the first one passed in\n *\n * @param {...object} object\n *\n * @return {object}\n */\nvar functionMerge = (function() {\n\tfunction mergeProperties(property, value) {\n\t\tvar targetProperty = this[property],\n\t\t\ttargetPropertyIsObject;\n\n\t\tif(value !== UNDEFINED) {\n\t\t\tif(validatorIsObject(value)) {\n\t\t\t\ttargetPropertyIsObject = validatorIsObject(targetProperty);\n\n\t\t\t\tif(value.length !== UNDEFINED) {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length !== UNDEFINED) ? targetProperty : [];\n\t\t\t\t} else {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length === UNDEFINED) ? targetProperty : {};\n\t\t\t\t}\n\n\t\t\t\tthis[property] = functionMerge(targetProperty, value);\n\t\t\t} else {\n\t\t\t\tthis[property] = value;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn function functionMerge() {\n\t\tvar target = arguments[0],\n\t\t\ti = 1, properties;\n\n\t\tfor(; (properties = arguments[i]) !== UNDEFINED; i++) {\n\t\t\tfunctionIterate(properties, mergeProperties, target);\n\t\t}\n\n\t\treturn target;\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionUuid = (function() {\n\tvar regex = new RegExp('[xy]', 'g'),\n\t\tstorage = {};\n\n\tfunction randomize(character) {\n\t\tvar r = Math.random() * 16 | 0;\n\n\t\treturn ((character === 'x') ? r : (r & 0x3 | 0x8)).toString(16);\n\t}\n\n\treturn function functionUuid() {\n\t\tvar uuid;\n\n\t\tdo {\n\t\t\tuuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(regex, randomize);\n\t\t} while(storage[uuid]);\n\n\t\tstorage[uuid] = 1;\n\n\t\treturn uuid;\n\t};\n}());","/**\n * Based on setAsap:\n * Repo: https://github.com/taylorhakes/setAsap\n * License: https://github.com/taylorhakes/setAsap/blob/master/LICENSE\n */\n\n/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, TRUE, FALSE,\n\tfunctionUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/uuid.js\n\n/**\n * defer\n *\n * delay function execution like setImmediate does\n *\n * @param {function} function\n */\nvar functionDefer = (function() {\n\tvar hasSetImmediate = 'setImmediate' in global,\n\t\telement, fallback;\n\n\tif('MutationObserver' in global) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement = document.createElement('div');\n\n\t\t\tnew MutationObserver(function() { fn(); })\n\t\t\t\t.observe(element, { attributes: TRUE });\n\n\t\t\telement.setAttribute('i', '1');\n\t\t};\n\t}\n\n\tif(!hasSetImmediate && 'postMessage' in global && !('importScripts' in global) && 'addEventListener' in global) {\n\t\treturn (function() {\n\t\t\tfunction onMessage(event) {\n\t\t\t\tif(event.source === global && event.data && storage[event.data]) {\n\t\t\t\t\tstorage[event.data]();\n\n\t\t\t\t\tdelete storage[event.data];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tglobal.addEventListener('message', onMessage, FALSE);\n\n\t\t\treturn function functionDefer(fn) {\n\t\t\t\tvar uuid = functionUuid();\n\n\t\t\t\tstorage[uuid] = fn;\n\n\t\t\t\tglobal.postMessage(uuid, '*');\n\t\t\t};\n\t\t}());\n\t}\n\n\tif(!hasSetImmediate && 'onreadystatechange' in (element = document.createElement('script'))) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement.onreadystatechange = function onreadystatechange() {\n\t\t\t\telement.onreadystatechange = NULL;\n\t\t\t\telement.parentNode.removeChild(element);\n\n\t\t\t\tfn();\n\t\t\t};\n\n\t\t\tdocument.body.appendChild(element);\n\t\t};\n\t}\n\n\t/* eslint-disable no-undef */\n\tfallback = hasSetImmediate ? setImmediate : setTimeout;\n\t/* eslint-enable no-undef */\n\n\treturn function functionDefer(fn) {\n\t\tfallback(fn);\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, STRING_STRING, STRING_FUNCTION, EVENT_POST_CONFIGURE,\n\tarrayPrototypeSlice,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n\nvar singletonEvent = (function() {\n\tvar TYPE_ON = 'on',\n\t\tTYPE_AFTER = 'after',\n\t\tregexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n\t\tlistener = {};\n\n\tfunction addListener(type, events, callback) {\n\t\tvar event, pointer;\n\n\t\tif(validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n\t\t\tevents = events.split(' ');\n\n\t\t\twhile(event = events.shift()) {\n\t\t\t\tevent = event.split(':');\n\n\t\t\t\tif(regexMatchEvent.test(event[0])) {\n\t\t\t\t\t(listener[event[0]] || (listener[event[0]] = { on: [], after: [] }))[type].push({ callback: callback, filter: event[1] });\n\n\t\t\t\t\tif(type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) {\n\t\t\t\t\t\tcallback(pointer);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction Event() {}\n\n\tEvent.prototype = {\n\t\temit: function (event, filter) {\n\t\t\tvar pointer = listener[event],\n\t\t\t\tparameter, i, item;\n\n\t\t\tif(pointer) {\n\t\t\t\tparameter = arrayPrototypeSlice.call(arguments, 2);\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_ON][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_AFTER][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this;\n\t\t},\n\t\ton: function(events, callback) {\n\t\t\taddListener(TYPE_ON, events,callback);\n\n\t\t\treturn this;\n\t\t},\n\t\tafter: function(events, callback) {\n\t\t\taddListener(TYPE_AFTER, events,callback);\n\n\t\t\treturn this;\n\t\t}\n\t};\n\n\treturn new Event();\n}());\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionEscapeRegex = (function() {\n\tvar regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n\n\treturn function functionEscapeRegex(value) {\n\t\treturn value.replace(regexMatchRegex, '\\\\$&');\n\t};\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, PROVIDE_ID, PATH_ID,\n\tfunctionEscapeRegex, functionResolveUrl\n*/\n\n//=require constants.js\n//=require function/escapeRegex.js\n//=require function/resolveUrl.js\n\nvar regexIsAbsoluteUri = /^(http(s?):)?\\/\\//i,\n\tregexIsAbsolutePath = /^\\//,\n\tregexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*sourceMappingURL\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g,\n\tregexMatchBaseUrl = new RegExp('^' + functionEscapeRegex(functionResolveUrl('/'))),\n\tregexMatchInternal = new RegExp('^' + DEMAND_ID + '|' + PROVIDE_ID + '|' + PATH_ID + '$'),\n\tregexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(\\d+\\.\\d+.\\d+))?(?:#(\\d+))?!/;","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, FUNCTION_EMPTY, EVENT_POST_REQUEST, EVENT_POST_PROCESS, EVENT_CACHE_HIT, EVENT_CACHE_MISS, EVENT_CACHE_EXCEED, EVENT_CACHE_CLEAR, EVENT_PRE_CACHE, EVENT_PRE_CACHE, EVENT_POST_CACHE, STRING_STRING, NULL, FALSE, TRUE,\n\tvalidatorIsTypeOf,\n\tfunctionGetTimestamp, functionEscapeRegex, functionIterate, functionDefer, functionResolveId,\n\tClassDependency,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require function/getTimestamp.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n//=require function/defer.js\n//=require function/resolveId.js\n//=require singleton/event.js\n\nvar singletonCache = (function(JSON) {\n\tvar STORAGE_PREFIX = '[' + DEMAND_ID + ']',\n\t\tSTORAGE_SUFFIX_STATE = '[state]',\n\t\tSTORAGE_SUFFIX_VALUE = '[value]',\n\t\tregexMatchState = new RegExp('^' + functionEscapeRegex(STORAGE_PREFIX) + '\\\\[(.+?)\\\\]' + functionEscapeRegex(STORAGE_SUFFIX_STATE) + '$'),\n\t\tsupportsLocalStorage = (function() { try { return 'localStorage' in global && global.localStorage; } catch(exception) { return FALSE; } }()),\n\t\tsupportsRemainingSpace = supportsLocalStorage && 'remainingSpace' in localStorage,\n\t\tstorage = {},\n\t\tcache;\n\n\tsingletonEvent\n\t\t.on(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tfunctionDefer(function() {\n\t\t\t\tcache.clear.path(dependency.id);\n\t\t\t});\n\t\t})\n\t\t.on(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tif(dependency.source && enabled(dependency)) {\n\t\t\t\tstorage[dependency.id] = TRUE;\n\t\t\t}\n\t\t})\n\t\t.after(EVENT_POST_PROCESS, function(dependency) {\n\t\t\tif(storage[dependency.id]) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\tfunction enabled(dependency) {\n\t\tvar match;\n\n\t\tif(dependency.cache !== NULL) {\n\t\t\treturn dependency.cache;\n\t\t}\n\n\t\tfunctionIterate(settings.cache, function(property, value) {\n\t\t\tif(dependency.path.indexOf(property) === 0 && (!match || value.weight > match.weight)) {\n\t\t\t\tmatch = value;\n\t\t\t}\n\t\t});\n\n\t\treturn match ? match.state : FALSE;\n\n\t}\n\n\tfunction emit(event, dependency, state) {\n\t\tsingletonEvent.emit(event, dependency.id, dependency, state);\n\t}\n\n\tfunction Cache() {\n\t\tfunctionDefer(this.clear.expired.bind(this.clear));\n\t}\n\n\tCache.prototype = {\n\t\tget: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function get(dependency) {\n\t\t\t\t\tvar id, state;\n\n\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\t\t\t\t\t\tstate = JSON.parse(localStorage.getItem(id + STORAGE_SUFFIX_STATE));\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(state && state.version === dependency.version && ((!state.expires && !dependency.lifetime) || state.expires > functionGetTimestamp())) {\n\t\t\t\t\t\t\tdependency.source = localStorage.getItem(id + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t}\n\t\t}()),\n\t\tresolve: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function resolve(dependency) {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\t\n\t\t\t\t\tif(self.get(dependency)) {\n\t\t\t\t\t\temit(EVENT_CACHE_HIT, dependency);\n\t\t\t\t\t} else {\n\t\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn function resolve(dependency) {\n\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t};\n\t\t\t}\n\t\t}()),\n\t\tset: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function set(dependency) {\n\t\t\t\t\tvar state, id, spaceBefore;\n\n\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\tstate = { version: dependency.version, expires: dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : dependency.lifetime };\n\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\n\t\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\t\t\t\t\t\t\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\n\t\t\t\t\t\t\tlocalStorage.setItem(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\t\tlocalStorage.setItem(id + STORAGE_SUFFIX_STATE, JSON.stringify(state));\n\n\t\t\t\t\t\t\t// strict equality check with \"===\" is required due to spaceBefore might be \"0\"\n\t\t\t\t\t\t\tif(spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) {\n\t\t\t\t\t\t\t\tthrow new Error('QUOTA_EXCEEDED_ERR');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state);\n\t\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t}\n\t\t}()),\n\t\tclear: {\n\t\t\tpath: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function path(path) {\n\t\t\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\t\t\tkey = STORAGE_PREFIX + '[' + id + ']';\n\n\t\t\t\t\t\tif(localStorage[key + STORAGE_SUFFIX_STATE]) {\n\t\t\t\t\t\t\tlocalStorage.removeItem(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\t\t\tlocalStorage.removeItem(key + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\temit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}()),\n\t\t\tall: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function all() {\n\t\t\t\t\t\tvar match;\n\n\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\tmatch && this.path(match[1]);\n\t\t\t\t\t\t}, this);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}()),\n\t\t\texpired: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function expired() {\n\t\t\t\t\t\tvar self = this,\n\t\t\t\t\t\t\tmatch, state;\n\n\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\tif(match) {\n\t\t\t\t\t\t\t\tstate = JSON.parse(localStorage.getItem(STORAGE_PREFIX + '[' + match[1] + ']' + STORAGE_SUFFIX_STATE));\n\n\t\t\t\t\t\t\t\tif(state && state.expires > 0 && state.expires <= functionGetTimestamp()) {\n\t\t\t\t\t\t\t\t\tself.path(match[1]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, this);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}())\n\t\t}\n\t};\n\n\treturn (cache = new Cache());\n}(JSON));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n \tFUNCTION_EMPTY, NULL,\n\tarrayPrototypeSlice, arrayPrototypeConcat,\n\tfunctionDefer, functionUuid,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/defer.js\n//=require function/uuid.js\n//=require abstract/uuid.js\n\nvar ClassPledge = (function() {\n\tvar PLEDGE_PENDING = 'pending',\n\t\tPLEDGE_RESOLVED = 'resolved',\n\t\tPLEDGE_REJECTED = 'rejected',\n\t\tstorage = {};\n\n\tfunction resolve() {\n\t\tstorage[this.uuid].handle(PLEDGE_RESOLVED, arguments);\n\t}\n\n\tfunction reject() {\n\t\tstorage[this.uuid].handle(PLEDGE_REJECTED, arguments);\n\t}\n\n\tfunction handle(state, parameter) {\n\t\tvar properties = storage[this.uuid],\n\t\t\tpointer, result;\n\n\t\tif(properties.state === PLEDGE_PENDING) {\n\t\t\tproperties.state = state;\n\t\t\tproperties.value = parameter;\n\t\t}\n\n\t\twhile(pointer = properties[properties.state].shift()) {\n\t\t\tresult = pointer.handler.apply(NULL, properties.value);\n\n\t\t\tif(result && typeof result.then === 'function') {\n\t\t\t\tresult.then(pointer.deferred.resolve, pointer.deferred.reject);\n\t\t\t} else {\n\t\t\t\tpointer.deferred[properties.state === PLEDGE_RESOLVED ? 'resolve' : 'reject'].apply(NULL, properties.value);\n\t\t\t}\n\t\t}\n\n\t\tproperties[PLEDGE_RESOLVED].length = 0;\n\t\tproperties[PLEDGE_REJECTED].length = 0;\n\t}\n\n\tfunction observe(pledge, index, properties) {\n\t\tpledge.then(\n\t\t\tfunction() {\n\t\t\t\tproperties.resolved[index] = arrayPrototypeSlice.call(arguments);\n\n\t\t\t\tproperties.count++;\n\n\t\t\t\tcheck(properties);\n\t\t\t},\n\t\t\tfunction() {\n\t\t\t\tproperties.rejected.push(arrayPrototypeSlice.call(arguments));\n\n\t\t\t\tcheck(properties);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction check(properties) {\n\t\tif(properties.count === properties.total) {\n\t\t\tproperties.deferred.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t} else if(properties.rejected.length + properties.count === properties.total) {\n\t\t\tproperties.deferred.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected));\n\t\t}\n\t}\n\n\tfunction ClassPledge(executor) {\n\t\tvar self = this.parent.constructor.call(this);\n\n\t\tstorage[self.uuid] = { state: PLEDGE_PENDING, handle: handle.bind(self), value: NULL, resolved: [], rejected: [], count: 0 };\n\n\t\texecutor(resolve.bind(self), reject.bind(self));\n\t}\n\n\tClassPledge.prototype = {\n\t\t'catch': function(listener) {\n\t\t\treturn this.then(FUNCTION_EMPTY, listener);\n\t\t},\n\t\talways: function(alwaysListener) {\n\t\t\treturn this.then(alwaysListener, alwaysListener);\n\t\t},\n\t\tthen: function(resolveListener, rejectListener) {\n\t\t\tvar properties = storage[this.uuid],\n\t\t\t\tdeferred = ClassPledge.defer();\n\n\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({ handler: resolveListener, deferred: deferred });\n\t\t\trejectListener && properties[PLEDGE_REJECTED].push({ handler: rejectListener, deferred: deferred });\n\n\t\t\tif(properties.state !== PLEDGE_PENDING) {\n\t\t\t\tfunctionDefer(properties.handle);\n\t\t\t}\n\n\t\t\treturn deferred.pledge;\n\t\t},\n\t\tisPending: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_PENDING;\n\t\t},\n\t\tisResolved: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_RESOLVED;\n\t\t},\n\t\tisRejected: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_REJECTED;\n\t\t}\n\t};\n\n\tClassPledge.defer = function() {\n\t\tvar self = {};\n\n\t\tself.pledge = new ClassPledge(function(resolveListener, rejectListener) {\n\t\t\tself.resolve = resolveListener;\n\t\t\tself.reject = rejectListener;\n\t\t});\n\n\t\treturn self;\n\t};\n\n\tClassPledge.all = function(pledges) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\tproperties, i = 0, pledge;\n\t\t\n\t\tif(pledges.length) {\n\t\t\tproperties = (storage[functionUuid()] = { deferred: deferred, resolved: [], rejected: [], total: pledges.length, count: 0 })\n\t\t\t\n\t\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\t\tobserve(pledge, i, properties)\n\t\t\t}\n\t\t} else {\n\t\t\tdeferred.resolve();\n\t\t}\n\n\t\treturn deferred.pledge;\n\t};\n\n\tClassPledge.race = function(pledges) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\ti = 0, pledge;\n\n\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\tpledge.then(deferred.resolve, deferred.reject);\n\t\t}\n\t\t\n\t\tif(!pledges.length) {\n\t\t\tdeferred.resolve();\n\t\t}\n\n\t\treturn deferred.pledge;\n\t};\n\n\treturn ClassPledge.extends(AbstractUuid);\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, MODULE_PREFIX_HANDLER, ERROR_LOAD, DEMAND_ID, PROVIDE_ID, PATH_ID, MOCK_PREFIX, NULL, TRUE, FALSE,\n\tregexMatchInternal, regexMatchParameter,\n\tvalidatorIsPositive,\n\tfunctionResolvePath, functionResolveId, functionResolveUrl, functionIterate,\n\tClassRegistry, ClassPledge, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isPositive.js\n//=require function/resolvePath.js\n//=require function/resolveId.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require class/registry.js\n//=require class/pledge.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar ClassDependency = (function() {\n\tvar PREFIX_INTERNAL = 'internal!',\n\t\tregistry = new ClassRegistry(),\n\t\tplaceholder = [];\n\n\tfunction ClassDependency(uri, context, register) {\n\t\tvar self = this,\n\t\t\tparameter = uri.match(regexMatchParameter) || placeholder;\n\n\t\tself.path = functionResolvePath(uri, context);\n\t\tself.mock = parameter[1] ? TRUE : FALSE;\n\t\tself.cache = parameter[2] ? parameter[1] === '+' : NULL;\n\t\tself.type = parameter[3] || settings.handler;\n\t\tself.version = parameter[4] || settings.version;\n\t\tself.lifetime = (parameter[5] && parameter[5] * 1000) || settings.lifetime;\n\t\tself.id = (self.mock ? MOCK_PREFIX : '' ) + self.type + '!' + self.path;\n\t\tself.uri = (self.mock ? MOCK_PREFIX : '' ) + self.type + '@' + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? '#' + self.lifetime : '' ) + '!' + self.path;\n\t\tself.deferred = ClassPledge.defer();\n\t\tself.pledge = self.deferred.pledge;\n\n\t\t(register !== FALSE) && registry.set(self.id, self);\n\n\t\treturn self;\n\t}\n\n\tClassDependency.prototype = {\n\t\tenqueue: true // handled by handler\n\t\t/* only for reference\n\t \tpath: NULL,\n\t \tmock: NULL,\n\t\tcache: NULL,\n\t\ttype: NULL,\n\t\tversion: NULL,\n\t\tlifetime: NULL,\n\t \tid: NULL,\n\t \turi: NULL,\n\t\tdeferred: NULL,\n\t\tpledge: NULL,\n\t\thandler: NULL, // set by Dependency.resolve\n\t \tsource: NULL, // set by Cache or Loader\n\t \turl: NULL // optional, set by Loader\n\t\t*/\n\t};\n\n\tClassDependency.get = function(uri, context) {\n\t\treturn registry.get(functionResolveId(uri, context));\n\t};\n\n\tClassDependency.resolve = function(uri, context) {\n\t\tvar isInternal = context && regexMatchInternal.test(uri),\n\t\t\tdependency = isInternal ? this.get(PREFIX_INTERNAL + context + '/' + uri) : this.get(uri, context);\n\n\t\tif(!dependency) {\n\t\t\tif(isInternal) {\n\t\t\t\tdependency = new ClassDependency(PREFIX_INTERNAL + context + '/' + uri);\n\n\t\t\t\tswitch(uri) {\n\t\t\t\t\tcase DEMAND_ID:\n\t\t\t\t\t\tdependency.deferred.resolve((function() {\n\t\t\t\t\t\t\tvar scopedDemand = demand.bind(context);\n\n\t\t\t\t\t\t\tfunctionIterate(demand, function(property, value) {\n\t\t\t\t\t\t\t\tscopedDemand[property] = value;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\treturn scopedDemand;\n\t\t\t\t\t\t}()));\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PROVIDE_ID:\n\t\t\t\t\t\tdependency.deferred.resolve(provide.bind(context));\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PATH_ID:\n\t\t\t\t\t\tdependency.deferred.resolve(context);\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdependency = new ClassDependency(uri, context);\n\n\t\t\t\tdemand(MODULE_PREFIX_HANDLER + dependency.type)\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfunction(handler) {\n\t\t\t\t\t\t\tdependency.handler = handler;\n\n\t\t\t\t\t\t\tif(dependency.mock) {\n\t\t\t\t\t\t\t\tdependency.deferred.resolve(handler);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsingletonCache.resolve(dependency);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + ' (handler)', self.id));\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn dependency;\n\t};\n\n\tClassDependency.remove = function(uri, context, cache) {\n\t\tvar id = functionResolveId(uri, context),\n\t\t\tnode = document.querySelector('[' + DEMAND_ID + '-id=\"' + id + '\"]');\n\n\t\tregistry.remove(id);\n\t\tregistry.remove(MOCK_PREFIX + id);\n\n\t\tnode && node.parentNode.removeChild(node);\n\n\t\t(cache !== FALSE) && singletonCache.clear.path(id);\n\t};\n\n\tClassDependency.list = {\n\t\tall: function() {\n\t\t\treturn Object.keys(registry.get());\n\t\t},\n\t\tpending: function() {\n\t\t\tvar modules = [];\n\n\t\t\tfunctionIterate(registry.get(), function(property, value) {\n\t\t\t\tif(value.pledge.isPending()) {\n\t\t\t\t\tmodules.push(property);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn modules;\n\t\t},\n\t\tresolved: function() {\n\t\t\tvar modules = [];\n\n\t\t\tfunctionIterate(registry.get(), function(property, value) {\n\t\t\t\tif(value.pledge.isResolved()) {\n\t\t\t\t\tmodules.push(property);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn modules;\n\t\t},\n\t\trejected: function() {\n\t\t\tvar modules = [];\n\n\t\t\tfunctionIterate(registry.get(), function(property, value) {\n\t\t\t\tif(value.pledge.isRejected()) {\n\t\t\t\t\tmodules.push(property);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn modules;\n\t\t}\n\t};\n\n\treturn ClassDependency;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tfunctionResolveUrl, functionEscapeRegex, functionIterate\n*/\n\n//=require function/resolveUrl.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n\nvar ClassPattern = (function() {\n\tvar regexMatchTrailingSlash = /(.+)\\/$/;\n\n\tfunction ClassPattern(pattern, url) {\n\t\tvar self = this;\n\n\t\tself.weight = pattern.length;\n\t\tself.match = new RegExp('^' + functionEscapeRegex(pattern));\n\t\tself.location = [].concat(url);\n\n\t\tfunctionIterate(self.location, function(property, value) {\n\t\t\tself.location[property] = {\n\t\t\t\turl: functionResolveUrl(value).replace(regexMatchTrailingSlash, '$1'),\n\t\t\t\tmatch: new RegExp('^' + functionEscapeRegex(value))\n\t\t\t};\n\t\t});\n\t}\n\n\tClassPattern.prototype = {\n\t\t/* only for reference\n\t\t weight: 0,\n\t\t match: NULL,\n\t\t location: NULL,\n\t\t */\n\t\tmatches: function(path) {\n\t\t\treturn this.match.test(path);\n\t\t},\n\t\tprocess: function(path, index) {\n\t\t\tvar current = this.location[index];\n\n\t\t\tif(current) {\n\t\t\t\treturn path.replace(this.match, current.url);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn ClassPattern;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tTRUE,\n\tregexMatchBaseUrl,\n\tClassPledge\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require variables.js\n//=require class/pledge.js\n\nvar ClassXhr = (function(XMLHttpRequest) {\n\tvar XDomainRequest = 'XDomainRequest' in global && global.XDomainRequest || XMLHttpRequest;\n\t\n\tfunction checkState() {\n\t\tif(this.readyState < 4) {\n\t\t\tthis.abort();\n\t\t}\n\t}\n\t\n\treturn function ClassXhr(url) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\txhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest() : new XDomainRequest(),\n\t\t\tboundCheckState = checkState.bind(xhr),\n\t\t\ttimeout = settings.timeout,\n\t\t\tpointer;\n\n\t\txhr.ontimeout = xhr.onerror = xhr.onabort = function() {\n\t\t\tdeferred.reject(xhr.status);\n\t\t};\n\t\txhr.onprogress = xhr.onreadystatechange = function() {\n\t\t\tclearTimeout(pointer);\n\n\t\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t};\n\t\txhr.onload = function() {\n\t\t\tpointer = clearTimeout(pointer);\n\n\t\t\tif(!('status' in xhr) || xhr.status === 200) {\n\t\t\t\tdeferred.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader('content-type'));\n\t\t\t} else {\n\t\t\t\tdeferred.reject(xhr.status);\n\t\t\t}\n\t\t};\n\n\t\txhr.open('GET', url, TRUE);\n\t\txhr.send();\n\t\t\n\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t\n\t\treturn deferred.pledge;\n\t};\n}(XMLHttpRequest));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_BOOLEAN, STRING_STRING, EVENT_PRE_RESOLVE, EVENT_POST_RESOLVE, EVENT_PRE_CONFIGURE, EVENT_POST_CONFIGURE, EVENT_CACHE_MISS, EVENT_CACHE_HIT, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, EVENT_PRE_PROCESS, EVENT_POST_PROCESS, NULL, FALSE,\n\tarrayPrototypeSlice,\n\tvalidatorIsTypeOf, validatorIsObject, validatorIsPositive, validatorIsInstanceOf,\n\tfunctionIterate, functionMerge, functionDefer,\n\tClassPledge, ClassDependency, ClassPattern, ClassLoader, \n\tsingletonEvent, singletonCache\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require validator/isPositive.js\n//=require validator/isInstanceOf.js\n//=require function/iterate.js\n//=require function/merge.js\n//=require function/defer.js\n//=require singleton/event.js\n//=require singleton/cache.js\n//=require class/pledge.js\n//=require class/dependency.js\n//=require class/pattern.js\n//=require class/loader.js\n\nglobal.demand = (function() {\n\tfunction demand() {\n\t\tvar dependencies = arrayPrototypeSlice.call(arguments),\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\ti = 0, uri, result;\n\n\t\tsingletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n\n\t\tfor(; (uri = dependencies[i]); i++) {\n\t\t\tdependencies[i] = ClassDependency.resolve(uri, context).pledge;\n\t\t}\n\t\t\n\t\tif(dependencies.length > 1) {\n\t\t\tresult = ClassPledge.all(dependencies);\n\t\t} else {\n\t\t\tresult = dependencies[0];\n\t\t}\n\t\t\n\t\treturn result.always(function() {\n\t\t\tsingletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context);\n\t\t});\n\t}\n\n\tdemand.configure = function(options) {\n\t\tvar cache = options.cache,\n\t\t\tversion = options.version,\n\t\t\ttimeout = options.timeout,\n\t\t\tlifetime = options.lifetime,\n\t\t\tbase = options.base,\n\t\t\tpattern = options.pattern,\n\t\t\tmodules = options.modules,\n\t\t\tpointer = settings.modules,\n\t\t\ttemp;\n\n\t\tif(validatorIsTypeOf(cache, STRING_BOOLEAN)) {\n\t\t\tsettings.cache[''] = { weight: 0, state: cache };\n\t\t} else if(validatorIsObject(cache)) {\n\t\t\tfunctionIterate(cache, function(property, value) {\n\t\t\t\tsettings.cache[property] = { weight: property.length, state: value };\n\t\t\t});\n\t\t}\n\n\t\tif(validatorIsTypeOf(version, STRING_STRING)) {\n\t\t\tsettings.version = version;\n\t\t}\n\n\t\tif(validatorIsPositive(timeout)) {\n\t\t\tsettings.timeout = Math.min(Math.max(timeout, 2), 12) * 1000;\n\t\t}\n\n\t\tif(validatorIsPositive(lifetime) && lifetime > 0) {\n\t\t\tsettings.lifetime = lifetime * 1000;\n\t\t}\n\n\t\tif(validatorIsTypeOf(base, STRING_STRING) && base !== '') {\n\t\t\tsettings.pattern.base = new ClassPattern('', base);\n\t\t}\n\n\t\tif(validatorIsObject(pattern)) {\n\t\t\tfunctionIterate(pattern, function(property, value) {\n\t\t\t\tproperty !== 'base' && (settings.pattern[property] = new ClassPattern(property, value));\n\t\t\t});\n\t\t}\n\n\t\tif(validatorIsObject(modules)) {\n\t\t\tfunctionIterate(modules, function(property, value) {\n\t\t\t\ttemp = pointer[property] = pointer[property] || {};\n\n\t\t\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\n\t\t\t\tfunctionMerge(temp, value);\n\n\t\t\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp);\n\t\t\t});\n\t\t}\n\n\t\treturn demand;\n\t};\n\n\tdemand.version = '{{gulp:package.version}}';\n\tdemand.on = singletonEvent.on.bind(demand);\n\tdemand.remove = ClassDependency.remove;\n\tdemand.list = ClassDependency.list;\n\tdemand.clear = singletonCache.clear;\n\n\tsingletonEvent\n\t\t.after(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tnew ClassLoader(dependency);\n\t\t})\n\t\t.after(EVENT_CACHE_HIT + ' ' + EVENT_POST_REQUEST, function(dependency) {\n\t\t\tsingletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency);\n\t\t})\n\t\t.after(EVENT_PRE_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPostRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_PRE_PROCESS, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreProcess;\n\t\t\t\n\t\t\tpointer && pointer(dependency);\n\t\t\t\n\t\t\tdependency.pledge.then(function() {\n\t\t\t\tsingletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency);\n\t\t\t});\n\n\t\t\tif(dependency.enqueue === true) {\n\t\t\t\tqueue.enqueue(dependency);\n\t\t\t} else if(validatorIsInstanceOf(dependency.enqueue, ClassPledge)) {\n\t\t\t\tdependency.enqueue.then(function() { queue.enqueue(dependency); });\n\t\t\t}\n\t\t});\n\n\treturn demand;\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_STRING, STRING_UNDEFINED, STRING_FUNCTION, ERROR_PROVIDE, ERROR_PROVIDE_ANONYMOUS, NULL,\n\tvalidatorIsTypeOf, validatorIsArray,\n\tClassDependency, ClassFailure\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require validator/isArray.js\n//=require class/dependency.js\n//=require class/failure.js\n\nglobal.provide = function provide() {\n\tvar uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n\t\tcontext = this !== global ? this : NULL,\n\t\tdependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n\t\tdefinition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0],\n\t\tmodule, isFunction;\n\n\tif(!uri && processor.current) {\n\t\tmodule = processor.current;\n\t\turi = module.uri;\n\n\t\tprocessor.process();\n\t}\n\t\n\tif(uri) {\n\t\tmodule = module || new ClassDependency(uri, context);\n\t\tisFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n\n\t\tif(dependencies) {\n\t\t\tdemand\n\t\t\t\t.apply(module.path, dependencies)\n\t\t\t\t.then(\n\t\t\t\t\tfunction() { module.deferred.resolve(isFunction ? definition.apply(NULL, arguments) : definition); },\n\t\t\t\t\tfunction() { module.deferred.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments)); }\n\t\t\t\t);\n\t\t} else {\n\t\t\tmodule.deferred.resolve(isFunction ? definition() : definition);\n\t\t}\n\t} else {\n\t\t/* eslint-disable no-console */\n\t\t!validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS));\n\t\t/* eslint-enable no-console */\n\t}\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nvar abstractHandler = (function() {\n\tfunction AbstractHandler() {\n\n\t}\n\n\tAbstractHandler.prototype = {\n\t\tvalidate: NULL,\n\t\tonPreRequest: NULL,\n\t\tonPostRequest: NULL,\n\t\tonPreProcess: NULL,\n\t\tprocess: NULL\n\t};\n\n\treturn new AbstractHandler();\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, TRUE,\n\tfunctionResolveSourcemaps,\n\tabstractHandler\n*/\n\n//=require constants.js\n//=require function/resolveSourcemaps.js\n//=require abstract/handler.js\n\nvar handlerModule = (function() {\n\tvar target = document.getElementsByTagName('head')[0],\n\t\tregexMatchType = /^(application|text)\\/(x-)?javascript/;\n\n\tfunction HandlerModule() {}\n\n\tHandlerModule.prototype = {\n\t\tvalidate: function(type) {\n\t\t\treturn regexMatchType.test(type);\n\t\t},\n\t\tonPreRequest: function(dependency) {\n\t\t\tvar url = dependency.url;\n\n\t\t\tdependency.url = url.slice(-3) !== '.js' ? url + '.js' : url;\n\t\t},\n\t\tonPostRequest: function(dependency) {\n\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source);\n\t\t},\n\t\tprocess: function(dependency) {\n\t\t\tvar script;\n\n\t\t\tif(dependency.source) {\n\t\t\t\tscript = document.createElement('script');\n\t\t\t\tscript.async = TRUE;\n\t\t\t\tscript.text = dependency.source;\n\n\t\t\t\tscript.setAttribute(DEMAND_ID + '-id', dependency.id);\n\n\t\t\t\ttarget.appendChild(script);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerModule.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, ERROR_RESOLVE, MOCK_PREFIX, STRING_STRING, FALSE, TRUE,\n\tregexMatchParameter, regexMatchSourcemap,\n\tvalidatorIsTypeOf, validatorIsObject,\n\tfunctionIterate, functionResolveId,\n\tabstractHandler,\n\tClassDependency, ClassPledge, ClassFailure,\n\thandlerModule\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/resolveId.js\n//=require abstract/handler.js\n//=require class/dependency.js\n//=require class/pledge.js\n//=require class/Failure.js\n//=require handler/module.js\n\nvar handlerBundle = (function() {\n\tvar path = MODULE_PREFIX_HANDLER + 'bundle',\n\t\tsettings = {};\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tvar i, dependency;\n\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tsettings = options;\n\n\t\t\t\tfunctionIterate(settings, function(uri, dependencies) {\n\t\t\t\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\t\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING)) {\n\t\t\t\t\t\t\tdependencies[i] = functionResolveId(dependency);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\tfunction getType(dependencies) {\n\t\tvar type, i = 0, temp;\n\n\t\tfor(; (temp = dependencies[i]); i++) {\n\t\t\ttemp = temp.match(regexMatchParameter);\n\t\t\ttemp = (temp && temp[3]) || settings.handler;\n\n\t\t\tif(type) {\n\t\t\t\tif(temp !== type) {\n\t\t\t\t\treturn FALSE;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttype = temp;\n\t\t\t}\n\t\t}\n\n\t\treturn type;\n\t}\n\n\tfunction HandlerBundle() {}\n\n\tHandlerBundle.prototype = {\n\t\tvalidate: handlerModule.validate,\n\t\tonPreProcess: function(dependency) {\n\t\t\tvar source = dependency.source,\n\t\t\t\tdeferred = dependency.deferred,\n\t\t\t\tdependencies = settings[dependency.path],\n\t\t\t\ttype, match, pledges, temp, i;\n\n\t\t\tdependency.enqueue = false;\n\n\t\t\tfunction reject() {\n\t\t\t\tdeferred.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments));\n\t\t\t}\n\n\t\t\tif(dependencies && (type = getType(dependencies))) {\n\t\t\t\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\t\t\t\tsource = source.replace(match[0], '');\n\t\t\t\t}\n\n\t\t\t\tdependency.source = source;\n\t\t\t\tpledges = [];\n\n\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\tpledges.push(ClassDependency.resolve(MOCK_PREFIX + temp).pledge);\n\t\t\t\t}\n\n\t\t\t\tClassPledge.all(pledges).then(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tpledges.length = 0;\n\n\t\t\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\t\t\ttemp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp);\n\t\t\t\t\t\t\ttemp.handler = arguments[i];\n\n\t\t\t\t\t\t\tpledges.push(temp.pledge);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(type === 'module') {\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tClassPledge.all(pledges).then(deferred.resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\treject\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treject();\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerBundle.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_PLUGIN, MODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, EVENT_PRE_RESOLVE, STRING_STRING, ERROR_RESOLVE, FALSE, TRUE,\n\tregexMatchInternal,\n\tvalidatorIsObject, validatorIsTypeOf,\n\tfunctionIterate, functionHash,\n\tClassDependency, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/hash.js\n//=require class/dependency.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar pluginGenie = (function() {\n\tvar path = MODULE_PREFIX_PLUGIN + 'genie',\n\t\tpattern = [];\n\n\tfunction matchPattern(path) {\n\t\tvar i = 0, pointer, match;\n\n\t\tfor(; (pointer = pattern[i]); i++) {\n\t\t\tif(path.indexOf(pointer.prefix) === 0 && (!match || pointer.weight > match.weight)) {\n\t\t\t\tmatch = pointer;\n\t\t\t}\n\t\t}\n\n\t\treturn match;\n\t}\n\n\tfunction generateConfiguration(bundle) {\n\t\tvar matches = bundle.matches,\n\t\t\tconfiguration = { pattern: {}, modules: { '/demand/handler/bundle': {} } },\n\t\t\ti = 0, pointer, dependency;\n\n\t\tconfiguration.pattern[bundle.id] = bundle.fn(matches);\n\t\tconfiguration.modules[MODULE_PREFIX_HANDLER + 'bundle'][bundle.id] = pointer = [];\n\n\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\tpointer.push(dependency.path);\n\t\t}\n\n\t\treturn configuration;\n\t}\n\n\tfunction resolveDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.deferred.resolve(arguments[i]);\n\t\t}\n\t}\n\n\tfunction rejectDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_RESOLVE, dependency.id));\n\t\t}\n\t}\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tpattern.length = 0;\n\n\t\t\t\tfunctionIterate(options, function(property, value) {\n\t\t\t\t\tpattern.push({ prefix: property, weight: property.length, fn: value });\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.on(EVENT_PRE_RESOLVE, function(dependencies, context) {\n\t\t\tvar bundles = {},\n\t\t\t\ti, dependency, pattern, matches;\n\n\t\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context)) {\n\t\t\t\t\tdependency = new ClassDependency(dependency, context, FALSE);\n\n\t\t\t\t\tif(dependency.type === 'module' && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency)) {\n\t\t\t\t\t\t(bundles[pattern.prefix] || (bundles[pattern.prefix] = { fn: pattern.fn, matches: [] })).matches.push(dependency);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunctionIterate(bundles, function(property, value) {\n\t\t\t\tmatches = value.matches;\n\n\t\t\t\tif(matches.length > 1) {\n\t\t\t\t\tvalue.id = path + '/' + functionHash(JSON.stringify(value.matches));\n\n\t\t\t\t\tfor(i = 0; (dependency = matches[i]); i++) {\n\t\t\t\t\t\tmatches[i] = new ClassDependency(dependency.uri);\n\t\t\t\t\t}\n\n\t\t\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\t\t\tdemand('bundle!' + value.id)\n\t\t\t\t\t\t.then(\n\t\t\t\t\t\t\tresolveDependencies.bind(matches),\n\t\t\t\t\t\t\trejectDependencies.bind(matches)\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\treturn TRUE;\n}());"]} \ No newline at end of file +{"version":3,"sources":["demand.js","class/descriptor.js","validator/isTypeOf.js","validator/isObject.js","validator/isPositive.js","validator/isInstanceOf.js","function/iterate.js","function/getTimestamp.js","function/resolveUrl.js","function/resolvePath.js","function/resolveId.js","abstract/uuid.js","class/registry.js","class/failure.js","class/loader.js","validator/isArray.js","function/hash.js","class/queue.js","class/processor.js","function/resolveSourcemaps.js","class/Failure.js","shortcuts.js","constants.js","inheritance.js","function/merge.js","function/uuid.js","function/defer.js","singleton/event.js","function/escapeRegex.js","variables.js","singleton/cache.js","class/pledge.js","class/dependency.js","class/pattern.js","class/xhr.js","function/demand.js","function/provide.js","abstract/handler.js","handler/module.js","handler/bundle.js","plugin/genie.js"],"names":["global","document","options","setTimeout","clearTimeout","ClassDescriptor","value","writable","configurable","enumerable","__proto__","NULL","validatorIsTypeOf","object","type","validatorIsObject","STRING_OBJECT","validatorIsPositive","STRING_NUMBER","isFinite","Math","floor","validatorIsInstanceOf","module","functionIterate","callback","context","property","properties","Object","keys","i","UNDEFINED","call","FALSE","functionGetTimestamp","Date","functionResolveUrl","url","linkElement","href","functionResolvePath","uri","path","replace","regexMatchParameter","regexIsAbsolutePath","test","regexIsAbsoluteUri","regexMatchBaseUrl","functionResolveId","parameter","match","settings","handler","AbstractUuid","this","uuid","STRING_UNDEFINED","objectDefineProperty","functionUuid","ClassRegistry","parent","constructor","storage","ClassFailure","message","stack","arrayPrototypeSlice","ClassLoader","dependency","resolve","response","validate","deferred","reject","ERROR_LOAD","id","source","singletonEvent","emit","EVENT_POST_REQUEST","status","addUrlParam","param","query","search","regexCleanupSearch","load","location","pattern","process","EVENT_PRE_REQUEST","ClassXhr","DEMAND_ID","then","matches","weight","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","ClassQueue","ClassProcessor","queue","self","pointer","current","demand","on","EVENT_QUEUE_ENQUEUE","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","assignModule","factory","provide","processor","cache","timeout","modules","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","objectPrototype","toString","objectCreate","create","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","functionPrototype","Function","createElement","PROVIDE_ID","PATH_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","undefined","TRUE","STRING_STRING","STRING_BOOLEAN","STRING_FUNCTION","FUNCTION_EMPTY","EVENT_PREFIX","EVENT_POSTFIX","EVENT_CONFIGURE","EVENT_PRE_CONFIGURE","EVENT_POST_CONFIGURE","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_HIT","EVENT_CACHE_CLEAR","EVENT_CACHE_EXCEED","EVENT_PRE_CACHE","EVENT_POST_CACHE","EVENT_RESOLVE","EVENT_PRE_RESOLVE","EVENT_POST_RESOLVE","EVENT_REQUEST","EVENT_PROCESS","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE","EVENT_QUEUE_DEQUEUE","ERROR_PROVIDE","ERROR_RESOLVE","ERROR_PROVIDE_ANONYMOUS","extend","names","functionMerge","mergeProperties","targetPropertyIsObject","targetProperty","target","arguments","randomize","character","r","random","regex","RegExp","functionDefer","element","fallback","hasSetImmediate","fn","MutationObserver","observe","attributes","setAttribute","onMessage","event","data","addEventListener","postMessage","onreadystatechange","parentNode","removeChild","body","appendChild","setImmediate","addListener","events","split","shift","regexMatchEvent","listener","after","push","filter","TYPE_ON","Event","TYPE_AFTER","item","apply","functionEscapeRegex","regexMatchRegex","regexMatchInternal","singletonCache","JSON","enabled","indexOf","state","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","localStorage","exception","supportsRemainingSpace","set","get","parse","getItem","version","expires","lifetime","spaceBefore","remainingSpace","setItem","stringify","Error","error","key","removeItem","ClassDependency","all","ClassPledge","handle","PLEDGE_RESOLVED","PLEDGE_REJECTED","result","PLEDGE_PENDING","pledge","index","resolved","count","check","rejected","total","executor","catch","always","alwaysListener","resolveListener","rejectListener","defer","isPending","isResolved","isRejected","pledges","race","extends","remove","traverse","depth","indention","join","register","placeholder","mock","registry","PREFIX_INTERNAL","enqueue","isInternal","scopedDemand","node","querySelector","list","pending","ClassPattern","regexMatchTrailingSlash","XMLHttpRequest","checkState","readyState","abort","XDomainRequest","xhr","boundCheckState","ontimeout","onerror","onabort","onprogress","onload","responseText","getResponseHeader","open","send","dependencies","configure","temp","base","min","max","onPreRequest","onPostRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","abstractHandler","AbstractHandler","handlerModule","HandlerModule","getElementsByTagName","regexMatchType","script","async","text","handlerBundle","getType","HandlerBundle","pluginGenie","matchPattern","prefix","generateConfiguration","bundle","configuration","/demand/handler/bundle","resolveDependencies","rejectDependencies","bundles","main"],"mappings":"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","file":"demand.js","sourcesContent":["/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX, MODULE_PREFIX_HANDLER, MODULE_PREFIX_VALIDATOR, MODULE_PREFIX_PLUGIN, MODULE_PREFIX_FUNCTION, MODULE_PREFIX_ABSTRACT, STRING_STRING, STRING_FUNCTION, TRUE,\n\tvalidatorIsTypeOf, validatorIsArray, validatorIsObject, validatorIsInstanceOf,\n\tfunctionResolveUrl, functionResolveSourcemaps, functionMerge, functionIterate, functionDefer, functionHash, functionUuid,\n\tAbstractUuid, abstractHandler,\n \tClassQueue, ClassProcessor, ClassPledge, ClassXhr, ClassFailure, ClassDescriptor\n\thandlerModule, handlerBundle,\n \tpluginGenie\n*/\n\n/*eslint no-unused-vars: [2, { \"vars\": \"local\", \"args\": \"none\" }]*/\n(function(global, document, options, setTimeout, clearTimeout) {\n\t'use strict';\n\n\t/* eslint-disable no-unused-vars */\n\tvar settings = { cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' },\n\t\tstorage = {},\n\t\tqueue, processor;\n\t/* eslint-enable no-unused-vars */\n\n\t// include inheritance\n\t\t//=require inheritance.js\n\n\t// include main components\n\t\t//=require function/demand.js\n\t\t//=require function/provide.js\n\n\t// process initial configuration\n\t\tdemand.configure({ cache: TRUE, base: '/', pattern: { '/demand': functionResolveUrl(((options && options.url) || location.href) + '/../').slice(0, -1)} });\n\t\toptions && options.settings && demand.configure(options.settings);\n\n\t// include additional components\n\t\t//=require function/hash.js\n\t\t//=require class/queue.js\n\t\t//=require class/processor.js\n\t\t//=require handler/module.js\n\t\t//=require handler/bundle.js\n\t\t//=require plugin/genie.js\n\n\t// initialize\n\t\tqueue = new ClassQueue();\n\t\tprocessor = new ClassProcessor(queue);\n\n\t\tfunction assignModule(id, factory) {\n\t\t\tprovide(id, function() { return factory; });\n\t\t}\n\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'uuid', AbstractUuid);\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'handler', abstractHandler);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'module', handlerModule);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'bundle', handlerBundle);\n\t\tassignModule(MODULE_PREFIX_PLUGIN + 'genie', pluginGenie);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isTypeOf', validatorIsTypeOf);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isArray', validatorIsArray);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isObject', validatorIsObject);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isInstanceOf', validatorIsInstanceOf);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveUrl', functionResolveUrl);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveSourcemaps', functionResolveSourcemaps);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'merge', functionMerge);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'iterate', functionIterate);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'hash', functionHash);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'defer', functionDefer);\n\t\tassignModule(MODULE_PREFIX + 'descriptor', ClassDescriptor);\n\t\tassignModule(MODULE_PREFIX + 'pledge', ClassPledge);\n\t\tassignModule(MODULE_PREFIX + 'queue', ClassQueue);\n\t\tassignModule(MODULE_PREFIX + 'xhr', ClassXhr);\n\t\tassignModule(MODULE_PREFIX + 'failure', ClassFailure);\n\n\t\tif(options && options.main) {\n\t\t\tswitch(typeof options.main) {\n\t\t\t\tcase STRING_STRING:\n\t\t\t\t\tdemand(options.main);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase STRING_FUNCTION:\n\t\t\t\t\tprovide('main', options.main());\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n}(this, document, 'demand' in this && demand, setTimeout, clearTimeout));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nfunction ClassDescriptor(value, writable, configurable, enumerable) {\n\treturn {\n\t\t__proto__: NULL,\n\t\tvalue: value,\n\t\tenumerable: !!enumerable,\n\t\tconfigurable: !!configurable,\n\t\twritable: !!writable\n\t};\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * isTypeOf\n *\n * Check whether a given object is of specified type\n *\n * @param object\n * @param {string} type\n *\n * @return {boolean}\n */\n\nfunction validatorIsTypeOf(object, type) {\n\treturn typeof object === type;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_OBJECT,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isObject\n *\n * Check whether a given object is of type object\n *\n * @param object\n *\n * @return {boolean}\n */\n\nfunction validatorIsObject(object) {\n\treturn object && validatorIsTypeOf(object, STRING_OBJECT);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_NUMBER,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isPositive\n *\n * Check whether a given value is a positive integer\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsPositive(value) {\n\treturn validatorIsTypeOf(value, STRING_NUMBER) && isFinite(value) && Math.floor(value) === value && value >= 0;\n}","/**\n * isInstanceOf\n *\n * Check whether a given object is an instance of specified type\n *\n * @param object\n * @param module\n *\n * @return {boolean}\n */\nfunction validatorIsInstanceOf(object, module) {\n\treturn object instanceof module;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED, FALSE\n*/\n\n//=require constants.js\n\n/**\n * iterate\n *\n * Iterate over enumerable & own properties of a given\n * object and pass current property as well as its value\n * to a callback function\n *\n * @param {object} object\n * @param {function} callback\n * @param context\n *\n * @return {object}\n */\n\nfunction functionIterate(object, callback, context) {\n\tvar properties = Object.keys(object),\n\t\ti = 0, property;\n\n\tfor(; (property = properties[i]) !== UNDEFINED; i++) {\n\t\tif(callback.call(context, property, object[property]) === FALSE) {\n\t\t\tbreak;\n\t\t}\n\t}\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nfunction functionGetTimestamp() {\n\treturn +new Date();\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tlinkElement\n*/\n\n//=require shortcuts.js\n\nfunction functionResolveUrl(url) {\n\tlinkElement.href = url;\n\n\treturn linkElement.href;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter, regexMatchBaseUrl, regexIsAbsolutePath, regexIsAbsoluteUri,\n\tfunctionResolveUrl\n*/\n\n//=require variables.js\n//=require function/resolveUrl.js\n\nfunction functionResolvePath(uri, context) {\n\tvar path = uri.replace(regexMatchParameter, '');\n\n\tif(!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) {\n\t\tpath = '/' + functionResolveUrl(((context && functionResolveUrl(context + '/../')) || '/') + path).replace(regexMatchBaseUrl, '');\n\t}\n\n\treturn path;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter,\n\tfunctionResolvePath\n*/\n\n//=require variables.js\n//=require function/resolvePath.js\n\nfunction functionResolveId(uri, context) {\n\tvar parameter = uri.match(regexMatchParameter);\n\n\treturn ((parameter && parameter[1]) ? 'mock:' : '') + ((parameter && parameter[3]) || settings.handler) + '!' + functionResolvePath(uri, context);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_UNDEFINED,\n\tobjectDefineProperty,\n\tvalidatorIsTypeOf,\n\tfunctionUuid,\n\tClassDescriptor\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n//=require function/uuid.js\n//=require class/descriptor.js\n\nfunction AbstractUuid() {\n\tif(validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) {\n\t\tobjectDefineProperty(this, 'uuid', new ClassDescriptor(functionUuid()));\n\t}\n\n\treturn this;\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tAbstractUuid\n*/\n\n//=require abstract/uuid.js\n\nfunction ClassRegistry() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = {};\n\n\tglobal.storage = storage[this.uuid];\n}\n\nClassRegistry.prototype = {\n\tget: function(key) {\n\t\treturn key ? storage[this.uuid][key] : storage[this.uuid];\n\t},\n\tset: function(key, value) {\n\t\tstorage[this.uuid][key] = value;\n\t},\n\tremove: function(key) {\n\t\tdelete storage[this.uuid][key];\n\t}\n};\n\nClassRegistry.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tarrayPrototypeSlice\n*/\n\n//=require constants.js\n//=require shortcuts.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = arrayPrototypeSlice.call(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, ERROR_LOAD,\n\tregexIsAbsoluteUri,\n\tlinkElement,\n\tfunctionIterate, functionResolveUrl,\n\tClassXhr, ClassFailure,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require variables.js\n//=require shortcuts.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require singleton/event.js\n//=require class/xhr.js\n//=require class/failure.js\n\nfunction ClassLoader(dependency) {\n\tvar regexCleanupSearch = /^\\?/,\n\t\tpattern;\n\n\tfunction resolve(response, type) {\n\t\tif(!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n\t\t\tdependency.source = response;\n\n\t\t\tsingletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency);\n\t\t} else {\n\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + ' (content-type)', dependency.id));\n\t\t}\n\t}\n\n\tfunction reject(status) {\n\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + (status ? ' (status)' : ''), dependency.id));\n\t}\n\t\n\tfunction addUrlParam(url, param, value) {\n\t\tvar query;\n\t\t\n\t\tlinkElement.href = url;\n\t\tlinkElement.search = (query = (linkElement.search || '').replace(regexCleanupSearch, '')) + (query ? '&' : '?') + param + '=' + value;\n\t\t\n\t\treturn linkElement.href;\n\t}\n\n\tfunction load(location) {\n\t\tlocation = location || 0;\n\t\tdependency.url = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n\n\t\tsingletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n\n\t\tnew ClassXhr(addUrlParam(dependency.url, DEMAND_ID, +new Date())).then(\n\t\t\tresolve,\n\t\t\t(\n\t\t\t\tpattern ?\n\t\t\t\tfunction() {\n\t\t\t\t\tlocation++;\n\n\t\t\t\t\tif(pattern.location[location]) {\n\t\t\t\t\t\tload(location);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t:\n\t\t\t\treject\n\t\t\t)\n\t\t);\n\t}\n\n\tif(!regexIsAbsoluteUri.test(dependency.path)) {\n\t\tfunctionIterate(settings.pattern, function(property, value) {\n\t\t\tvalue.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value);\n\t\t});\n\t}\n\n\tload();\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectPrototypeToString\n*/\n\n//=require shortcuts.js\n\n/**\n * isArray\n *\n * Check whether a given value is of type array\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsArray(value) {\n\treturn objectPrototypeToString.call(value) === '[object Array]';\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * hash\n *\n * Generate a hash for a given string\n *\n * @param {string} input\n *\n * @return {number}\n */\nfunction functionHash(input){\n\tvar value = 5381,\n\t\ti = input.length;\n\n\twhile(i) {\n\t\tvalue = (value * 33) ^ input.charCodeAt(--i);\n\t}\n\n\treturn value >>> 0;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, EVENT_QUEUE_DEQUEUE,\n\tarrayPrototypeSlice,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require singleton/event.js\n//=require abstract/uuid.js\n\nfunction ClassQueue() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = [];\n}\n\t\nClassQueue.prototype = {\n\tenqueue: function() {\n\t\tstorage[this.uuid] = storage[this.uuid].concat(arrayPrototypeSlice.call(arguments));\n\n\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid);\n\t},\n\tdequeue: function() {\n\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid);\n\n\t\treturn storage[this.uuid].shift();\n\t},\n\tget current() {\n\t\treturn storage[this.uuid][0];\n\t},\n\tget length() {\n\t\treturn storage[this.uuid].length;\n\t}\n};\n\t\nClassQueue.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, NULL,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require abstract/uuid.js\n\nfunction ClassProcessor(queue) {\n\tvar self = this.parent.constructor.call(this),\n\t\tpointer = storage[self.uuid] = { queue: queue, current: NULL };\n\n\tdemand\n\t\t.on(EVENT_QUEUE_ENQUEUE + ':' + queue.uuid, function() {\n\t\t\t!pointer.current && self.process();\n\t\t});\n}\n\nClassProcessor.prototype = {\n\tprocess: function() {\n\t\tvar pointer = storage[this.uuid],\n\t\t\t\tcurrent;\n\n\t\tif(pointer.queue.length) {\n\t\t\tcurrent = pointer.current = pointer.queue.dequeue();\n\n\t\t\tcurrent.handler.process && current.handler.process(current);\n\t\t} else {\n\t\t\tpointer.current = NULL;\n\t\t}\n\t},\n\tget current() {\n\t\treturn storage[this.uuid].current;\n\t}\n};\n\t\nClassProcessor.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchSourcemap, regexIsAbsoluteUri\n\tlinkElement\n*/\n\n//=require variables.js\n//=require shortcuts.js\n\nfunction functionResolveSourcemaps(url, source) {\n\tvar match, replacement;\n\t\n\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\tlinkElement.href = url;\n\t\t\n\t\tif(regexIsAbsoluteUri.test(match[2])) {\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + match[2];\n\t\t} else {\n\t\t\tlinkElement.pathname += '/../' + match[2];\n\t\t\t\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + linkElement.pathname;\n\t\t}\n\t\t\n\t\tsource = source.replace(match[0], match[1] + ' sourceMappingURL=' + replacement + '.map' + (match[3] ? ' ' + match[3] : ''));\n\t}\n\t\n\treturn source;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tarrayPrototypeSlice\n*/\n\n//=require constants.js\n//=require shortcuts.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = arrayPrototypeSlice.call(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar arrayPrototype = Array.prototype,\n\tarrayPrototypeSlice = arrayPrototype.slice,\n\tarrayPrototypeConcat = arrayPrototype.concat,\n\tobjectPrototype = Object.prototype,\n\tobjectPrototypeToString = objectPrototype.toString,\n\tobjectCreate = Object.create,\n\tobjectDefineProperty = Object.defineProperty,\n\tobjectGetOwnPropertyNames = Object.getOwnPropertyNames,\n\tobjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor,\n\tfunctionPrototype = Function.prototype,\n\tlinkElement = document.createElement('a');","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar DEMAND_ID = 'demand',\n\tPROVIDE_ID = 'provide',\n\tPATH_ID = 'path',\n\tMODULE_PREFIX = '/' + DEMAND_ID + '/',\n\tMODULE_PREFIX_ABSTRACT = MODULE_PREFIX + 'abstract/',\n\tMODULE_PREFIX_HANDLER = MODULE_PREFIX + 'handler/',\n\tMODULE_PREFIX_PLUGIN = MODULE_PREFIX + 'plugin/',\n\tMODULE_PREFIX_FUNCTION = MODULE_PREFIX + 'function/',\n\tMODULE_PREFIX_VALIDATOR = MODULE_PREFIX + 'validator/',\n\tMOCK_PREFIX = 'mock:',\n\tNULL = null,\n\tUNDEFINED = undefined,\n\tFALSE = false,\n\tTRUE = true,\n\tSTRING_UNDEFINED = 'undefined',\n\tSTRING_STRING = 'string',\n\tSTRING_BOOLEAN = 'boolean',\n\tSTRING_OBJECT = 'object',\n\tSTRING_FUNCTION = 'function',\n\tSTRING_NUMBER = 'number',\n\tFUNCTION_EMPTY = function() {},\n\tEVENT_PREFIX = 'pre',\n\tEVENT_POSTFIX = 'post',\n\tEVENT_CONFIGURE = 'Configure',\n\tEVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n\tEVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n\tEVENT_CACHE = 'cache',\n\tEVENT_CACHE_MISS = EVENT_CACHE + 'Miss',\n\tEVENT_CACHE_HIT = EVENT_CACHE + 'Hit',\n\tEVENT_CACHE_CLEAR = EVENT_CACHE + 'Clear',\n\tEVENT_CACHE_EXCEED = EVENT_CACHE + 'Exceed',\n\tEVENT_PRE_CACHE = EVENT_PREFIX + 'Cache',\n\tEVENT_POST_CACHE = EVENT_POSTFIX + 'Cache',\n\tEVENT_RESOLVE = 'Resolve',\n\tEVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n\tEVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n\tEVENT_REQUEST = 'Request',\n\tEVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n\tEVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n\tEVENT_PROCESS = 'Process',\n\tEVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n\tEVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n\tEVENT_QUEUE = 'queue',\n\tEVENT_QUEUE_ENQUEUE = EVENT_QUEUE + 'Enqueue',\n\tEVENT_QUEUE_DEQUEUE = EVENT_QUEUE + 'Dequeue',\n\tERROR_LOAD = 'error loading',\n\tERROR_PROVIDE = 'error providing',\n\tERROR_RESOLVE = 'error resolving',\n\tERROR_PROVIDE_ANONYMOUS = 'unspecified anonymous provide';","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectCreate, objectDefineProperty, objectGetOwnPropertyNames, objectGetOwnPropertyDescriptor, functionPrototype,\n\tClassDescriptor\n*/\n\n//=require shortcuts.js\n//=require class/descriptor.js\n\n(function() {\n\tfunction extend(parent) {\n\t\tvar self = this,\n\t\t\tprototype = self.prototype,\n\t\t\tproperties = {},\n\t\t\tnames = objectGetOwnPropertyNames(prototype),\n\t\t\ti = 0, property;\n\n\t\tparent = parent.prototype || parent;\n\n\t\tfor(; (property = names[i]); i++) {\n\t\t\tproperties[property] = objectGetOwnPropertyDescriptor(prototype, property);\n\t\t}\n\n\t\tproperties.constructor = new ClassDescriptor(self);\n\t\tproperties.parent = new ClassDescriptor(parent);\n\n\t\tself.prototype = objectCreate(parent, properties);\n\n\t\treturn self;\n\t}\n\n\tobjectDefineProperty(functionPrototype, 'extends', new ClassDescriptor(extend));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED,\n\tvalidatorIsObject,\n\tfunctionIterate\n*/\n\n//=require constants.js\n//=require validator/isObject.js\n//=require function/iterate.js\n\n/**\n * merge\n *\n * Merge two or more objects into the first one passed in\n *\n * @param {...object} object\n *\n * @return {object}\n */\nvar functionMerge = (function() {\n\tfunction mergeProperties(property, value) {\n\t\tvar targetProperty = this[property],\n\t\t\ttargetPropertyIsObject;\n\n\t\tif(value !== UNDEFINED) {\n\t\t\tif(validatorIsObject(value)) {\n\t\t\t\ttargetPropertyIsObject = validatorIsObject(targetProperty);\n\n\t\t\t\tif(value.length !== UNDEFINED) {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length !== UNDEFINED) ? targetProperty : [];\n\t\t\t\t} else {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length === UNDEFINED) ? targetProperty : {};\n\t\t\t\t}\n\n\t\t\t\tthis[property] = functionMerge(targetProperty, value);\n\t\t\t} else {\n\t\t\t\tthis[property] = value;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn function functionMerge() {\n\t\tvar target = arguments[0],\n\t\t\ti = 1, properties;\n\n\t\tfor(; (properties = arguments[i]) !== UNDEFINED; i++) {\n\t\t\tfunctionIterate(properties, mergeProperties, target);\n\t\t}\n\n\t\treturn target;\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionUuid = (function() {\n\tvar regex = new RegExp('[xy]', 'g'),\n\t\tstorage = {};\n\n\tfunction randomize(character) {\n\t\tvar r = Math.random() * 16 | 0;\n\n\t\treturn ((character === 'x') ? r : (r & 0x3 | 0x8)).toString(16);\n\t}\n\n\treturn function functionUuid() {\n\t\tvar uuid;\n\n\t\tdo {\n\t\t\tuuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(regex, randomize);\n\t\t} while(storage[uuid]);\n\n\t\tstorage[uuid] = 1;\n\n\t\treturn uuid;\n\t};\n}());","/**\n * Based on setAsap:\n * Repo: https://github.com/taylorhakes/setAsap\n * License: https://github.com/taylorhakes/setAsap/blob/master/LICENSE\n */\n\n/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, TRUE, FALSE,\n\tfunctionUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/uuid.js\n\n/**\n * defer\n *\n * delay function execution like setImmediate does\n *\n * @param {function} function\n */\nvar functionDefer = (function() {\n\tvar hasSetImmediate = 'setImmediate' in global,\n\t\telement, fallback;\n\n\tif('MutationObserver' in global) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement = document.createElement('div');\n\n\t\t\tnew MutationObserver(function() { fn(); })\n\t\t\t\t.observe(element, { attributes: TRUE });\n\n\t\t\telement.setAttribute('i', '1');\n\t\t};\n\t}\n\n\tif(!hasSetImmediate && 'postMessage' in global && !('importScripts' in global) && 'addEventListener' in global) {\n\t\treturn (function() {\n\t\t\tfunction onMessage(event) {\n\t\t\t\tif(event.source === global && event.data && storage[event.data]) {\n\t\t\t\t\tstorage[event.data]();\n\n\t\t\t\t\tdelete storage[event.data];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tglobal.addEventListener('message', onMessage, FALSE);\n\n\t\t\treturn function functionDefer(fn) {\n\t\t\t\tvar uuid = functionUuid();\n\n\t\t\t\tstorage[uuid] = fn;\n\n\t\t\t\tglobal.postMessage(uuid, '*');\n\t\t\t};\n\t\t}());\n\t}\n\n\tif(!hasSetImmediate && 'onreadystatechange' in (element = document.createElement('script'))) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement.onreadystatechange = function onreadystatechange() {\n\t\t\t\telement.onreadystatechange = NULL;\n\t\t\t\telement.parentNode.removeChild(element);\n\n\t\t\t\tfn();\n\t\t\t};\n\n\t\t\tdocument.body.appendChild(element);\n\t\t};\n\t}\n\n\t/* eslint-disable no-undef */\n\tfallback = hasSetImmediate ? setImmediate : setTimeout;\n\t/* eslint-enable no-undef */\n\n\treturn function functionDefer(fn) {\n\t\tfallback(fn);\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, STRING_STRING, STRING_FUNCTION, EVENT_POST_CONFIGURE,\n\tarrayPrototypeSlice,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n\nvar singletonEvent = (function() {\n\tvar TYPE_ON = 'on',\n\t\tTYPE_AFTER = 'after',\n\t\tregexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n\t\tlistener = {};\n\n\tfunction addListener(type, events, callback) {\n\t\tvar event, pointer;\n\n\t\tif(validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n\t\t\tevents = events.split(' ');\n\n\t\t\twhile(event = events.shift()) {\n\t\t\t\tevent = event.split(':');\n\n\t\t\t\tif(regexMatchEvent.test(event[0])) {\n\t\t\t\t\t(listener[event[0]] || (listener[event[0]] = { on: [], after: [] }))[type].push({ callback: callback, filter: event[1] });\n\n\t\t\t\t\tif(type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) {\n\t\t\t\t\t\tcallback(pointer);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction Event() {}\n\n\tEvent.prototype = {\n\t\temit: function (event, filter) {\n\t\t\tvar pointer = listener[event],\n\t\t\t\tparameter, i, item;\n\n\t\t\tif(pointer) {\n\t\t\t\tparameter = arrayPrototypeSlice.call(arguments, 2);\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_ON][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_AFTER][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this;\n\t\t},\n\t\ton: function(events, callback) {\n\t\t\taddListener(TYPE_ON, events,callback);\n\n\t\t\treturn this;\n\t\t},\n\t\tafter: function(events, callback) {\n\t\t\taddListener(TYPE_AFTER, events,callback);\n\n\t\t\treturn this;\n\t\t}\n\t};\n\n\treturn new Event();\n}());\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionEscapeRegex = (function() {\n\tvar regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n\n\treturn function functionEscapeRegex(value) {\n\t\treturn value.replace(regexMatchRegex, '\\\\$&');\n\t};\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, PROVIDE_ID, PATH_ID,\n\tfunctionEscapeRegex, functionResolveUrl\n*/\n\n//=require constants.js\n//=require function/escapeRegex.js\n//=require function/resolveUrl.js\n\nvar regexIsAbsoluteUri = /^(http(s?):)?\\/\\//i,\n\tregexIsAbsolutePath = /^\\//,\n\tregexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*sourceMappingURL\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g,\n\tregexMatchBaseUrl = new RegExp('^' + functionEscapeRegex(functionResolveUrl('/'))),\n\tregexMatchInternal = new RegExp('^' + DEMAND_ID + '|' + PROVIDE_ID + '|' + PATH_ID + '$'),\n\tregexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(\\d+\\.\\d+.\\d+))?(?:#(\\d+))?!/;","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, FUNCTION_EMPTY, EVENT_POST_REQUEST, EVENT_POST_PROCESS, EVENT_CACHE_HIT, EVENT_CACHE_MISS, EVENT_CACHE_EXCEED, EVENT_CACHE_CLEAR, EVENT_PRE_CACHE, EVENT_PRE_CACHE, EVENT_POST_CACHE, STRING_STRING, NULL, FALSE, TRUE,\n\tvalidatorIsTypeOf,\n\tfunctionGetTimestamp, functionEscapeRegex, functionIterate, functionDefer, functionResolveId,\n\tClassDependency,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require function/getTimestamp.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n//=require function/defer.js\n//=require function/resolveId.js\n//=require singleton/event.js\n\nvar singletonCache = (function(JSON) {\n\tvar STORAGE_PREFIX = '[' + DEMAND_ID + ']',\n\t\tSTORAGE_SUFFIX_STATE = '[state]',\n\t\tSTORAGE_SUFFIX_VALUE = '[value]',\n\t\tregexMatchState = new RegExp('^' + functionEscapeRegex(STORAGE_PREFIX) + '\\\\[(.+?)\\\\]' + functionEscapeRegex(STORAGE_SUFFIX_STATE) + '$'),\n\t\tsupportsLocalStorage = (function() { try { return 'localStorage' in global && global.localStorage; } catch(exception) { return FALSE; } }()),\n\t\tsupportsRemainingSpace = supportsLocalStorage && 'remainingSpace' in localStorage,\n\t\tstorage = {},\n\t\tcache;\n\n\tsingletonEvent\n\t\t.on(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tfunctionDefer(function() {\n\t\t\t\tcache.clear.path(dependency.id);\n\t\t\t});\n\t\t})\n\t\t.on(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tif(dependency.source && enabled(dependency)) {\n\t\t\t\tstorage[dependency.id] = TRUE;\n\t\t\t}\n\t\t})\n\t\t.after(EVENT_POST_PROCESS, function(dependency) {\n\t\t\tif(storage[dependency.id]) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\tfunction enabled(dependency) {\n\t\tvar match;\n\n\t\tif(dependency.cache !== NULL) {\n\t\t\treturn dependency.cache;\n\t\t}\n\n\t\tfunctionIterate(settings.cache, function(property, value) {\n\t\t\tif(dependency.path.indexOf(property) === 0 && (!match || value.weight > match.weight)) {\n\t\t\t\tmatch = value;\n\t\t\t}\n\t\t});\n\n\t\treturn match ? match.state : FALSE;\n\n\t}\n\n\tfunction emit(event, dependency, state) {\n\t\tsingletonEvent.emit(event, dependency.id, dependency, state);\n\t}\n\n\tfunction Cache() {\n\t\tfunctionDefer(this.clear.expired.bind(this.clear));\n\t}\n\n\tCache.prototype = {\n\t\tget: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function get(dependency) {\n\t\t\t\t\tvar id, state;\n\n\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\t\t\t\t\t\tstate = JSON.parse(localStorage.getItem(id + STORAGE_SUFFIX_STATE));\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(state && state.version === dependency.version && ((!state.expires && !dependency.lifetime) || state.expires > functionGetTimestamp())) {\n\t\t\t\t\t\t\tdependency.source = localStorage.getItem(id + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t}\n\t\t}()),\n\t\tresolve: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function resolve(dependency) {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\t\n\t\t\t\t\tif(self.get(dependency)) {\n\t\t\t\t\t\temit(EVENT_CACHE_HIT, dependency);\n\t\t\t\t\t} else {\n\t\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn function resolve(dependency) {\n\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t};\n\t\t\t}\n\t\t}()),\n\t\tset: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function set(dependency) {\n\t\t\t\t\tvar state, id, spaceBefore;\n\n\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\tstate = { version: dependency.version, expires: dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : dependency.lifetime };\n\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\n\t\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\t\t\t\t\t\t\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\n\t\t\t\t\t\t\tlocalStorage.setItem(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\t\tlocalStorage.setItem(id + STORAGE_SUFFIX_STATE, JSON.stringify(state));\n\n\t\t\t\t\t\t\t// strict equality check with \"===\" is required due to spaceBefore might be \"0\"\n\t\t\t\t\t\t\tif(spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) {\n\t\t\t\t\t\t\t\tthrow new Error('QUOTA_EXCEEDED_ERR');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state);\n\t\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t}\n\t\t}()),\n\t\tclear: {\n\t\t\tpath: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function path(path) {\n\t\t\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\t\t\tkey = STORAGE_PREFIX + '[' + id + ']';\n\n\t\t\t\t\t\tif(localStorage[key + STORAGE_SUFFIX_STATE]) {\n\t\t\t\t\t\t\tlocalStorage.removeItem(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\t\t\tlocalStorage.removeItem(key + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\temit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}()),\n\t\t\tall: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function all() {\n\t\t\t\t\t\tvar match;\n\n\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\tmatch && this.path(match[1]);\n\t\t\t\t\t\t}, this);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}()),\n\t\t\texpired: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function expired() {\n\t\t\t\t\t\tvar self = this,\n\t\t\t\t\t\t\tmatch, state;\n\n\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\tif(match) {\n\t\t\t\t\t\t\t\tstate = JSON.parse(localStorage.getItem(STORAGE_PREFIX + '[' + match[1] + ']' + STORAGE_SUFFIX_STATE));\n\n\t\t\t\t\t\t\t\tif(state && state.expires > 0 && state.expires <= functionGetTimestamp()) {\n\t\t\t\t\t\t\t\t\tself.path(match[1]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, this);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}())\n\t\t}\n\t};\n\n\treturn (cache = new Cache());\n}(JSON));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n \tFUNCTION_EMPTY, NULL,\n\tarrayPrototypeSlice, arrayPrototypeConcat,\n\tfunctionDefer, functionUuid,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/defer.js\n//=require function/uuid.js\n//=require abstract/uuid.js\n\nvar ClassPledge = (function() {\n\tvar PLEDGE_PENDING = 'pending',\n\t\tPLEDGE_RESOLVED = 'resolved',\n\t\tPLEDGE_REJECTED = 'rejected',\n\t\tstorage = {};\n\n\tfunction resolve() {\n\t\tstorage[this.uuid].handle(PLEDGE_RESOLVED, arguments);\n\t}\n\n\tfunction reject() {\n\t\tstorage[this.uuid].handle(PLEDGE_REJECTED, arguments);\n\t}\n\n\tfunction handle(state, parameter) {\n\t\tvar properties = storage[this.uuid],\n\t\t\tpointer, result;\n\n\t\tif(properties.state === PLEDGE_PENDING) {\n\t\t\tproperties.state = state;\n\t\t\tproperties.value = parameter;\n\t\t}\n\n\t\twhile(pointer = properties[properties.state].shift()) {\n\t\t\tresult = pointer.handler.apply(NULL, properties.value);\n\n\t\t\tif(result && typeof result.then === 'function') {\n\t\t\t\tresult.then(pointer.deferred.resolve, pointer.deferred.reject);\n\t\t\t} else {\n\t\t\t\tpointer.deferred[properties.state === PLEDGE_RESOLVED ? 'resolve' : 'reject'].apply(NULL, properties.value);\n\t\t\t}\n\t\t}\n\n\t\tproperties[PLEDGE_RESOLVED].length = 0;\n\t\tproperties[PLEDGE_REJECTED].length = 0;\n\t}\n\n\tfunction observe(pledge, index, properties) {\n\t\tpledge.then(\n\t\t\tfunction() {\n\t\t\t\tproperties.resolved[index] = arrayPrototypeSlice.call(arguments);\n\n\t\t\t\tproperties.count++;\n\n\t\t\t\tcheck(properties);\n\t\t\t},\n\t\t\tfunction() {\n\t\t\t\tproperties.rejected.push(arrayPrototypeSlice.call(arguments));\n\n\t\t\t\tcheck(properties);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction check(properties) {\n\t\tif(properties.count === properties.total) {\n\t\t\tproperties.deferred.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t} else if(properties.rejected.length + properties.count === properties.total) {\n\t\t\tproperties.deferred.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected));\n\t\t}\n\t}\n\n\tfunction ClassPledge(executor) {\n\t\tvar self = this.parent.constructor.call(this);\n\n\t\tstorage[self.uuid] = { state: PLEDGE_PENDING, handle: handle.bind(self), value: NULL, resolved: [], rejected: [], count: 0 };\n\n\t\texecutor(resolve.bind(self), reject.bind(self));\n\t}\n\n\tClassPledge.prototype = {\n\t\t'catch': function(listener) {\n\t\t\treturn this.then(FUNCTION_EMPTY, listener);\n\t\t},\n\t\talways: function(alwaysListener) {\n\t\t\treturn this.then(alwaysListener, alwaysListener);\n\t\t},\n\t\tthen: function(resolveListener, rejectListener) {\n\t\t\tvar properties = storage[this.uuid],\n\t\t\t\tdeferred = ClassPledge.defer();\n\n\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({ handler: resolveListener, deferred: deferred });\n\t\t\trejectListener && properties[PLEDGE_REJECTED].push({ handler: rejectListener, deferred: deferred });\n\n\t\t\tif(properties.state !== PLEDGE_PENDING) {\n\t\t\t\tfunctionDefer(properties.handle);\n\t\t\t}\n\n\t\t\treturn deferred.pledge;\n\t\t},\n\t\tisPending: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_PENDING;\n\t\t},\n\t\tisResolved: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_RESOLVED;\n\t\t},\n\t\tisRejected: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_REJECTED;\n\t\t}\n\t};\n\n\tClassPledge.defer = function() {\n\t\tvar self = {};\n\n\t\tself.pledge = new ClassPledge(function(resolveListener, rejectListener) {\n\t\t\tself.resolve = resolveListener;\n\t\t\tself.reject = rejectListener;\n\t\t});\n\n\t\treturn self;\n\t};\n\n\tClassPledge.all = function(pledges) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\tproperties, i = 0, pledge;\n\t\t\n\t\tif(pledges.length) {\n\t\t\tproperties = (storage[functionUuid()] = { deferred: deferred, resolved: [], rejected: [], total: pledges.length, count: 0 })\n\t\t\t\n\t\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\t\tobserve(pledge, i, properties)\n\t\t\t}\n\t\t} else {\n\t\t\tdeferred.resolve();\n\t\t}\n\n\t\treturn deferred.pledge;\n\t};\n\n\tClassPledge.race = function(pledges) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\ti = 0, pledge;\n\n\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\tpledge.then(deferred.resolve, deferred.reject);\n\t\t}\n\t\t\n\t\tif(!pledges.length) {\n\t\t\tdeferred.resolve();\n\t\t}\n\n\t\treturn deferred.pledge;\n\t};\n\n\treturn ClassPledge.extends(AbstractUuid);\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, MODULE_PREFIX_HANDLER, ERROR_LOAD, DEMAND_ID, PROVIDE_ID, PATH_ID, MOCK_PREFIX, NULL, TRUE, FALSE,\n\tregexMatchInternal, regexMatchParameter,\n\tvalidatorIsPositive,\n\tfunctionResolvePath, functionResolveId, functionResolveUrl, functionIterate,\n\tClassRegistry, ClassPledge, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isPositive.js\n//=require function/resolvePath.js\n//=require function/resolveId.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require class/registry.js\n//=require class/pledge.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar ClassDependency = (function() {\n\tvar PREFIX_INTERNAL = 'internal!',\n\t\tregistry = new ClassRegistry(),\n\t\tplaceholder = [];\n\n\tfunction ClassDependency(uri, context, register) {\n\t\tvar self = this,\n\t\t\tparameter = uri.match(regexMatchParameter) || placeholder;\n\n\t\tself.path = functionResolvePath(uri, context);\n\t\tself.mock = parameter[1] ? TRUE : FALSE;\n\t\tself.cache = parameter[2] ? parameter[1] === '+' : NULL;\n\t\tself.type = parameter[3] || settings.handler;\n\t\tself.version = parameter[4] || settings.version;\n\t\tself.lifetime = (parameter[5] && parameter[5] * 1000) || settings.lifetime;\n\t\tself.id = (self.mock ? MOCK_PREFIX : '' ) + self.type + '!' + self.path;\n\t\tself.uri = (self.mock ? MOCK_PREFIX : '' ) + self.type + '@' + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? '#' + self.lifetime : '' ) + '!' + self.path;\n\t\tself.deferred = ClassPledge.defer();\n\t\tself.pledge = self.deferred.pledge;\n\n\t\t(register !== FALSE) && registry.set(self.id, self);\n\n\t\treturn self;\n\t}\n\n\tClassDependency.prototype = {\n\t\tenqueue: true // handled by handler\n\t\t/* only for reference\n\t \tpath: NULL,\n\t \tmock: NULL,\n\t\tcache: NULL,\n\t\ttype: NULL,\n\t\tversion: NULL,\n\t\tlifetime: NULL,\n\t \tid: NULL,\n\t \turi: NULL,\n\t\tdeferred: NULL,\n\t\tpledge: NULL,\n\t\thandler: NULL, // set by Dependency.resolve\n\t \tsource: NULL, // set by Cache or Loader\n\t \turl: NULL // optional, set by Loader\n\t\t*/\n\t};\n\n\tClassDependency.get = function(uri, context) {\n\t\treturn registry.get(functionResolveId(uri, context));\n\t};\n\n\tClassDependency.resolve = function(uri, context) {\n\t\tvar isInternal = context && regexMatchInternal.test(uri),\n\t\t\tdependency = isInternal ? this.get(PREFIX_INTERNAL + context + '/' + uri) : this.get(uri, context);\n\n\t\tif(!dependency) {\n\t\t\tif(isInternal) {\n\t\t\t\tdependency = new ClassDependency(PREFIX_INTERNAL + context + '/' + uri);\n\n\t\t\t\tswitch(uri) {\n\t\t\t\t\tcase DEMAND_ID:\n\t\t\t\t\t\tdependency.deferred.resolve((function() {\n\t\t\t\t\t\t\tvar scopedDemand = demand.bind(context);\n\n\t\t\t\t\t\t\tfunctionIterate(demand, function(property, value) {\n\t\t\t\t\t\t\t\tscopedDemand[property] = value;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\treturn scopedDemand;\n\t\t\t\t\t\t}()));\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PROVIDE_ID:\n\t\t\t\t\t\tdependency.deferred.resolve(provide.bind(context));\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PATH_ID:\n\t\t\t\t\t\tdependency.deferred.resolve(context);\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdependency = new ClassDependency(uri, context);\n\n\t\t\t\tdemand(MODULE_PREFIX_HANDLER + dependency.type)\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfunction(handler) {\n\t\t\t\t\t\t\tdependency.handler = handler;\n\n\t\t\t\t\t\t\tif(dependency.mock) {\n\t\t\t\t\t\t\t\tdependency.deferred.resolve(handler);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsingletonCache.resolve(dependency);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + ' (handler)', self.id));\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn dependency;\n\t};\n\n\tClassDependency.remove = function(uri, context, cache) {\n\t\tvar id = functionResolveId(uri, context),\n\t\t\tnode = document.querySelector('[' + DEMAND_ID + '-id=\"' + id + '\"]');\n\n\t\tregistry.remove(id);\n\t\tregistry.remove(MOCK_PREFIX + id);\n\n\t\tnode && node.parentNode.removeChild(node);\n\n\t\t(cache !== FALSE) && singletonCache.clear.path(id);\n\t};\n\n\tClassDependency.list = {\n\t\tall: function() {\n\t\t\treturn Object.keys(registry.get());\n\t\t},\n\t\tpending: function() {\n\t\t\tvar modules = [];\n\n\t\t\tfunctionIterate(registry.get(), function(property, value) {\n\t\t\t\tif(value.pledge.isPending()) {\n\t\t\t\t\tmodules.push(property);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn modules;\n\t\t},\n\t\tresolved: function() {\n\t\t\tvar modules = [];\n\n\t\t\tfunctionIterate(registry.get(), function(property, value) {\n\t\t\t\tif(value.pledge.isResolved()) {\n\t\t\t\t\tmodules.push(property);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn modules;\n\t\t},\n\t\trejected: function() {\n\t\t\tvar modules = [];\n\n\t\t\tfunctionIterate(registry.get(), function(property, value) {\n\t\t\t\tif(value.pledge.isRejected()) {\n\t\t\t\t\tmodules.push(property);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn modules;\n\t\t}\n\t};\n\n\treturn ClassDependency;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tfunctionResolveUrl, functionEscapeRegex, functionIterate\n*/\n\n//=require function/resolveUrl.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n\nvar ClassPattern = (function() {\n\tvar regexMatchTrailingSlash = /(.+)\\/$/;\n\n\tfunction ClassPattern(pattern, url) {\n\t\tvar self = this;\n\n\t\tself.weight = pattern.length;\n\t\tself.match = new RegExp('^' + functionEscapeRegex(pattern));\n\t\tself.location = [].concat(url);\n\n\t\tfunctionIterate(self.location, function(property, value) {\n\t\t\tself.location[property] = {\n\t\t\t\turl: functionResolveUrl(value).replace(regexMatchTrailingSlash, '$1'),\n\t\t\t\tmatch: new RegExp('^' + functionEscapeRegex(value))\n\t\t\t};\n\t\t});\n\t}\n\n\tClassPattern.prototype = {\n\t\t/* only for reference\n\t\t weight: 0,\n\t\t match: NULL,\n\t\t location: NULL,\n\t\t */\n\t\tmatches: function(path) {\n\t\t\treturn this.match.test(path);\n\t\t},\n\t\tprocess: function(path, index) {\n\t\t\tvar current = this.location[index];\n\n\t\t\tif(current) {\n\t\t\t\treturn path.replace(this.match, current.url);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn ClassPattern;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tTRUE,\n\tregexMatchBaseUrl,\n\tClassPledge\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require variables.js\n//=require class/pledge.js\n\nvar ClassXhr = (function(XMLHttpRequest) {\n\tvar XDomainRequest = 'XDomainRequest' in global && global.XDomainRequest || XMLHttpRequest;\n\t\n\tfunction checkState() {\n\t\tif(this.readyState < 4) {\n\t\t\tthis.abort();\n\t\t}\n\t}\n\t\n\treturn function ClassXhr(url) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\txhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest() : new XDomainRequest(),\n\t\t\tboundCheckState = checkState.bind(xhr),\n\t\t\ttimeout = settings.timeout,\n\t\t\tpointer;\n\n\t\txhr.ontimeout = xhr.onerror = xhr.onabort = function() {\n\t\t\tdeferred.reject(xhr.status);\n\t\t};\n\t\txhr.onprogress = xhr.onreadystatechange = function() {\n\t\t\tclearTimeout(pointer);\n\n\t\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t};\n\t\txhr.onload = function() {\n\t\t\tpointer = clearTimeout(pointer);\n\n\t\t\tif(!('status' in xhr) || xhr.status === 200) {\n\t\t\t\tdeferred.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader('content-type'));\n\t\t\t} else {\n\t\t\t\tdeferred.reject(xhr.status);\n\t\t\t}\n\t\t};\n\n\t\txhr.open('GET', url, TRUE);\n\t\txhr.send();\n\t\t\n\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t\n\t\treturn deferred.pledge;\n\t};\n}(XMLHttpRequest));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_BOOLEAN, STRING_STRING, EVENT_PRE_RESOLVE, EVENT_POST_RESOLVE, EVENT_PRE_CONFIGURE, EVENT_POST_CONFIGURE, EVENT_CACHE_MISS, EVENT_CACHE_HIT, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, EVENT_PRE_PROCESS, EVENT_POST_PROCESS, NULL, FALSE,\n\tarrayPrototypeSlice,\n\tvalidatorIsTypeOf, validatorIsObject, validatorIsPositive, validatorIsInstanceOf,\n\tfunctionIterate, functionMerge, functionDefer,\n\tClassPledge, ClassDependency, ClassPattern, ClassLoader, \n\tsingletonEvent, singletonCache\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require validator/isPositive.js\n//=require validator/isInstanceOf.js\n//=require function/iterate.js\n//=require function/merge.js\n//=require function/defer.js\n//=require singleton/event.js\n//=require singleton/cache.js\n//=require class/pledge.js\n//=require class/dependency.js\n//=require class/pattern.js\n//=require class/loader.js\n\nglobal.demand = (function() {\n\tfunction demand() {\n\t\tvar dependencies = arrayPrototypeSlice.call(arguments),\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\ti = 0, uri, deferred, result;\n\t\t\n\t\tsingletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n\t\t\n\t\tfor(; (uri = dependencies[i]); i++) {\n\t\t\tif(typeof uri === 'string') {\n\t\t\t\tdependencies[i] = ClassDependency.resolve(uri, context).pledge;\n\t\t\t} else {\n\t\t\t\tdependencies[i] = (deferred = ClassPledge.defer()).pledge;\n\t\t\t\t\n\t\t\t\tdeferred.resolve(uri);\n\t\t\t}\n\t\t}\n\t\t\n\t\tif(dependencies.length > 1) {\n\t\t\tresult = ClassPledge.all(dependencies);\n\t\t} else {\n\t\t\tresult = dependencies[0];\n\t\t}\n\t\t\n\t\treturn result.always(function() {\n\t\t\tsingletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context);\n\t\t});\n\t}\n\n\tdemand.configure = function(options) {\n\t\tvar cache = options.cache,\n\t\t\tversion = options.version,\n\t\t\ttimeout = options.timeout,\n\t\t\tlifetime = options.lifetime,\n\t\t\tbase = options.base,\n\t\t\tpattern = options.pattern,\n\t\t\tmodules = options.modules,\n\t\t\tpointer = settings.modules,\n\t\t\ttemp;\n\n\t\tif(validatorIsTypeOf(cache, STRING_BOOLEAN)) {\n\t\t\tsettings.cache[''] = { weight: 0, state: cache };\n\t\t} else if(validatorIsObject(cache)) {\n\t\t\tfunctionIterate(cache, function(property, value) {\n\t\t\t\tsettings.cache[property] = { weight: property.length, state: value };\n\t\t\t});\n\t\t}\n\n\t\tif(validatorIsTypeOf(version, STRING_STRING)) {\n\t\t\tsettings.version = version;\n\t\t}\n\n\t\tif(validatorIsPositive(timeout)) {\n\t\t\tsettings.timeout = Math.min(Math.max(timeout, 2), 12) * 1000;\n\t\t}\n\n\t\tif(validatorIsPositive(lifetime) && lifetime > 0) {\n\t\t\tsettings.lifetime = lifetime * 1000;\n\t\t}\n\n\t\tif(validatorIsTypeOf(base, STRING_STRING) && base !== '') {\n\t\t\tsettings.pattern.base = new ClassPattern('', base);\n\t\t}\n\n\t\tif(validatorIsObject(pattern)) {\n\t\t\tfunctionIterate(pattern, function(property, value) {\n\t\t\t\tproperty !== 'base' && (settings.pattern[property] = new ClassPattern(property, value));\n\t\t\t});\n\t\t}\n\n\t\tif(validatorIsObject(modules)) {\n\t\t\tfunctionIterate(modules, function(property, value) {\n\t\t\t\ttemp = pointer[property] = pointer[property] || {};\n\n\t\t\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\n\t\t\t\tfunctionMerge(temp, value);\n\n\t\t\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp);\n\t\t\t});\n\t\t}\n\n\t\treturn demand;\n\t};\n\n\tdemand.version = '{{gulp:package.version}}';\n\tdemand.on = singletonEvent.on.bind(demand);\n\tdemand.remove = ClassDependency.remove;\n\tdemand.list = ClassDependency.list;\n\tdemand.clear = singletonCache.clear;\n\n\tsingletonEvent\n\t\t.after(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tnew ClassLoader(dependency);\n\t\t})\n\t\t.after(EVENT_CACHE_HIT + ' ' + EVENT_POST_REQUEST, function(dependency) {\n\t\t\tsingletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency);\n\t\t})\n\t\t.after(EVENT_PRE_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPostRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_PRE_PROCESS, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreProcess;\n\t\t\t\n\t\t\tpointer && pointer(dependency);\n\t\t\t\n\t\t\tdependency.pledge.then(function() {\n\t\t\t\tsingletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency);\n\t\t\t});\n\n\t\t\tif(dependency.enqueue === true) {\n\t\t\t\tqueue.enqueue(dependency);\n\t\t\t} else if(validatorIsInstanceOf(dependency.enqueue, ClassPledge)) {\n\t\t\t\tdependency.enqueue.then(function() { queue.enqueue(dependency); });\n\t\t\t}\n\t\t});\n\n\treturn demand;\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_STRING, STRING_UNDEFINED, STRING_FUNCTION, ERROR_PROVIDE, ERROR_PROVIDE_ANONYMOUS, NULL,\n\tvalidatorIsTypeOf, validatorIsArray,\n\tClassDependency, ClassFailure\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require validator/isArray.js\n//=require class/dependency.js\n//=require class/failure.js\n\nglobal.provide = function provide() {\n\tvar uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n\t\tcontext = this !== global ? this : NULL,\n\t\tdependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n\t\tdefinition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0],\n\t\tmodule, isFunction;\n\n\tif(!uri && processor.current) {\n\t\tmodule = processor.current;\n\t\turi = module.uri;\n\n\t\tprocessor.process();\n\t}\n\t\n\tif(uri) {\n\t\tmodule = module || new ClassDependency(uri, context);\n\t\tisFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n\n\t\tif(dependencies) {\n\t\t\tdemand\n\t\t\t\t.apply(module.path, dependencies)\n\t\t\t\t.then(\n\t\t\t\t\tfunction() { module.deferred.resolve(isFunction ? definition.apply(NULL, arguments) : definition); },\n\t\t\t\t\tfunction() { module.deferred.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments)); }\n\t\t\t\t);\n\t\t} else {\n\t\t\tmodule.deferred.resolve(isFunction ? definition() : definition);\n\t\t}\n\t} else {\n\t\t/* eslint-disable no-console */\n\t\t!validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS));\n\t\t/* eslint-enable no-console */\n\t}\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nvar abstractHandler = (function() {\n\tfunction AbstractHandler() {\n\n\t}\n\n\tAbstractHandler.prototype = {\n\t\tvalidate: NULL,\n\t\tonPreRequest: NULL,\n\t\tonPostRequest: NULL,\n\t\tonPreProcess: NULL,\n\t\tprocess: NULL\n\t};\n\n\treturn new AbstractHandler();\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, TRUE,\n\tfunctionResolveSourcemaps,\n\tabstractHandler\n*/\n\n//=require constants.js\n//=require function/resolveSourcemaps.js\n//=require abstract/handler.js\n\nvar handlerModule = (function() {\n\tvar target = document.getElementsByTagName('head')[0],\n\t\tregexMatchType = /^(application|text)\\/(x-)?javascript/;\n\n\tfunction HandlerModule() {}\n\n\tHandlerModule.prototype = {\n\t\tvalidate: function(type) {\n\t\t\treturn regexMatchType.test(type);\n\t\t},\n\t\tonPreRequest: function(dependency) {\n\t\t\tvar url = dependency.url;\n\n\t\t\tdependency.url = url.slice(-3) !== '.js' ? url + '.js' : url;\n\t\t},\n\t\tonPostRequest: function(dependency) {\n\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source);\n\t\t},\n\t\tprocess: function(dependency) {\n\t\t\tvar script;\n\n\t\t\tif(dependency.source) {\n\t\t\t\tscript = document.createElement('script');\n\t\t\t\tscript.async = TRUE;\n\t\t\t\tscript.text = dependency.source;\n\n\t\t\t\tscript.setAttribute(DEMAND_ID + '-id', dependency.id);\n\n\t\t\t\ttarget.appendChild(script);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerModule.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, ERROR_RESOLVE, MOCK_PREFIX, STRING_STRING, FALSE, TRUE,\n\tregexMatchParameter, regexMatchSourcemap,\n\tvalidatorIsTypeOf, validatorIsObject,\n\tfunctionIterate, functionResolveId,\n\tabstractHandler,\n\tClassDependency, ClassPledge, ClassFailure,\n\thandlerModule\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/resolveId.js\n//=require abstract/handler.js\n//=require class/dependency.js\n//=require class/pledge.js\n//=require class/Failure.js\n//=require handler/module.js\n\nvar handlerBundle = (function() {\n\tvar path = MODULE_PREFIX_HANDLER + 'bundle',\n\t\tsettings = {};\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tvar i, dependency;\n\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tsettings = options;\n\n\t\t\t\tfunctionIterate(settings, function(uri, dependencies) {\n\t\t\t\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\t\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING)) {\n\t\t\t\t\t\t\tdependencies[i] = functionResolveId(dependency);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\tfunction getType(dependencies) {\n\t\tvar type, i = 0, temp;\n\n\t\tfor(; (temp = dependencies[i]); i++) {\n\t\t\ttemp = temp.match(regexMatchParameter);\n\t\t\ttemp = (temp && temp[3]) || settings.handler;\n\n\t\t\tif(type) {\n\t\t\t\tif(temp !== type) {\n\t\t\t\t\treturn FALSE;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttype = temp;\n\t\t\t}\n\t\t}\n\n\t\treturn type;\n\t}\n\n\tfunction HandlerBundle() {}\n\n\tHandlerBundle.prototype = {\n\t\tvalidate: handlerModule.validate,\n\t\tonPreProcess: function(dependency) {\n\t\t\tvar source = dependency.source,\n\t\t\t\tdeferred = dependency.deferred,\n\t\t\t\tdependencies = settings[dependency.path],\n\t\t\t\ttype, match, pledges, temp, i;\n\n\t\t\tdependency.enqueue = false;\n\n\t\t\tfunction reject() {\n\t\t\t\tdeferred.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments));\n\t\t\t}\n\n\t\t\tif(dependencies && (type = getType(dependencies))) {\n\t\t\t\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\t\t\t\tsource = source.replace(match[0], '');\n\t\t\t\t}\n\n\t\t\t\tdependency.source = source;\n\t\t\t\tpledges = [];\n\n\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\tpledges.push(ClassDependency.resolve(MOCK_PREFIX + temp).pledge);\n\t\t\t\t}\n\n\t\t\t\tClassPledge.all(pledges).then(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tpledges.length = 0;\n\n\t\t\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\t\t\ttemp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp);\n\t\t\t\t\t\t\ttemp.handler = arguments[i];\n\n\t\t\t\t\t\t\tpledges.push(temp.pledge);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(type === 'module') {\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tClassPledge.all(pledges).then(deferred.resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\treject\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treject();\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerBundle.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_PLUGIN, MODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, EVENT_PRE_RESOLVE, STRING_STRING, ERROR_RESOLVE, FALSE, TRUE,\n\tregexMatchInternal,\n\tvalidatorIsObject, validatorIsTypeOf,\n\tfunctionIterate, functionHash,\n\tClassDependency, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/hash.js\n//=require class/dependency.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar pluginGenie = (function() {\n\tvar path = MODULE_PREFIX_PLUGIN + 'genie',\n\t\tpattern = [];\n\n\tfunction matchPattern(path) {\n\t\tvar i = 0, pointer, match;\n\n\t\tfor(; (pointer = pattern[i]); i++) {\n\t\t\tif(path.indexOf(pointer.prefix) === 0 && (!match || pointer.weight > match.weight)) {\n\t\t\t\tmatch = pointer;\n\t\t\t}\n\t\t}\n\n\t\treturn match;\n\t}\n\n\tfunction generateConfiguration(bundle) {\n\t\tvar matches = bundle.matches,\n\t\t\tconfiguration = { pattern: {}, modules: { '/demand/handler/bundle': {} } },\n\t\t\ti = 0, pointer, dependency;\n\n\t\tconfiguration.pattern[bundle.id] = bundle.fn(matches);\n\t\tconfiguration.modules[MODULE_PREFIX_HANDLER + 'bundle'][bundle.id] = pointer = [];\n\n\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\tpointer.push(dependency.path);\n\t\t}\n\n\t\treturn configuration;\n\t}\n\n\tfunction resolveDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.deferred.resolve(arguments[i]);\n\t\t}\n\t}\n\n\tfunction rejectDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_RESOLVE, dependency.id));\n\t\t}\n\t}\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tpattern.length = 0;\n\n\t\t\t\tfunctionIterate(options, function(property, value) {\n\t\t\t\t\tpattern.push({ prefix: property, weight: property.length, fn: value });\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.on(EVENT_PRE_RESOLVE, function(dependencies, context) {\n\t\t\tvar bundles = {},\n\t\t\t\ti, dependency, pattern, matches;\n\n\t\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context)) {\n\t\t\t\t\tdependency = new ClassDependency(dependency, context, FALSE);\n\n\t\t\t\t\tif(dependency.type === 'module' && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency)) {\n\t\t\t\t\t\t(bundles[pattern.prefix] || (bundles[pattern.prefix] = { fn: pattern.fn, matches: [] })).matches.push(dependency);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunctionIterate(bundles, function(property, value) {\n\t\t\t\tmatches = value.matches;\n\n\t\t\t\tif(matches.length > 1) {\n\t\t\t\t\tvalue.id = path + '/' + functionHash(JSON.stringify(value.matches));\n\n\t\t\t\t\tfor(i = 0; (dependency = matches[i]); i++) {\n\t\t\t\t\t\tmatches[i] = new ClassDependency(dependency.uri);\n\t\t\t\t\t}\n\n\t\t\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\t\t\tdemand('bundle!' + value.id)\n\t\t\t\t\t\t.then(\n\t\t\t\t\t\t\tresolveDependencies.bind(matches),\n\t\t\t\t\t\t\trejectDependencies.bind(matches)\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\treturn TRUE;\n}());"]} \ No newline at end of file diff --git a/dist/handler/css.js b/dist/handler/css.js index 40963ed..56870da 100644 --- a/dist/handler/css.js +++ b/dist/handler/css.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.0.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(e){"use strict";function t(t,r){function n(e){return c.href=e,c}function s(e,t,r){return l.test(t[1])||(e=e.replace(t[0],r)),e}function o(){}var u=e.getElementsByTagName("head")[0],c=e.createElement("a"),i=/url\s*\(\s*["']?(.+?)["']?\s*\)/gi,a=/@import\s+["'](.+?)["']/gi,d=/^\//i,l=/^data:|http(s?):|\/\//i,f=/^text\/css/;return o.prototype={validate:function(e){return f.test(e)},onPreRequest:function(e){var t=e.url;e.url=".css"!==t.slice(-4)?t+".css":t},onPostRequest:function(e){for(var t,o=n(e.url+"/.."),u=o.href,c="//"+o.host,l=e.source;t=i.exec(l);)l=s(l,t,'url("'+n(d.test(t[1])?c+t[1]:u+t[1]).href+'")');for(;t=a.exec(l);)l=s(l,t,'@import "'+n(d.test(t[1])?c+t[1]:u+t[1]).href+'"');e.source=r(e.url,l)},process:function(t){var r=e.querySelector('[demand-id="'+t.id+'"]');r||(r=e.createElement("style"),r.type="text/css",r.setAttribute("demand-id",t.id),u.appendChild(r)),"STYLE"===r.tagName&&(r.styleSheet?r.styleSheet.cssText=t.source:r.textContent=t.source),provide(function(){return r})}},new(o.extends(t))}provide(["/demand/abstract/handler","/demand/function/resolveSourcemaps"],t)}(document); //# sourceMappingURL=css.js.map diff --git a/dist/handler/json.js b/dist/handler/json.js index 27bb10a..e887cbb 100644 --- a/dist/handler/json.js +++ b/dist/handler/json.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.0.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function n(n){function t(){}var e=/^application\/json/;return t.prototype={validate:function(n){return e.test(n)},onPreRequest:function(n){var t=n.url;n.url=".json"!==t.slice(-5)?t+".json":t},process:function(n){var t=JSON.parse(n.source);provide(function(){return t})}},new(t.extends(n))}provide(["/demand/abstract/handler"],n)}(); //# sourceMappingURL=json.js.map diff --git a/dist/handler/legacy.js b/dist/handler/legacy.js index fbe49c9..aa68acc 100644 --- a/dist/handler/legacy.js +++ b/dist/handler/legacy.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.0.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function e(e,n,r,t){function o(){var e,t=this,o=t.deferred,d=u[t.path]&&u[t.path].probe;r.process(t),d&&(e=d())?provide(function(){return e}):o.reject(new n("error probing",t.path))}function d(){}var u={};return demand.on("postConfigure:"+e,function(e){u=t(e)?e:{}}),d.prototype={onPreProcess:function(e){var n=u[e.path]&&u[e.path].dependencies;n&&(e.enqueue=demand.apply(null,n))},process:function(e){var r=o.bind(e);e.enqueue===!0?r():e.enqueue.then(r,function(){e.deferred.reject(new n("error resolving",e.path,arguments))})}},new(d.extends(r))}provide(["path","/demand/failure","/demand/handler/module","/demand/validator/isObject"],e)}(); //# sourceMappingURL=legacy.js.map diff --git a/dist/handler/text.js b/dist/handler/text.js index 6cd4711..6a2e76a 100644 --- a/dist/handler/text.js +++ b/dist/handler/text.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.0.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function t(t){function n(){}var e=/^text\/.+/;return n.prototype={validate:function(t){return e.test(t)},process:function(t){provide(function(){return t.source})}},new(n.extends(t))}provide(["/demand/abstract/handler"],t)}(); //# sourceMappingURL=text.js.map diff --git a/dist/plugin/cookie.js b/dist/plugin/cookie.js index 1bfd74f..6f4a3ad 100644 --- a/dist/plugin/cookie.js +++ b/dist/plugin/cookie.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.0.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(n){"use strict";function t(t,e,o,i){function a(t,e,o){(r||c(t.path))&&(n.cookie="demand["+t.type+"]["+t.path+"]="+encodeURIComponent(e)+"; expires="+o+"; path=/")}function c(n){for(var t,e,o=0;t=f[o];o++)0===n.indexOf(t.pattern)&&(!e||t.weight>e.weight)&&(e=t);return!!e&&e.state}var r,u="Thu, 01 Jan 1970 00:00:00 GMT",d="Fri, 31 Dec 9999 23:59:59 GMT",f=[];return demand.on("postConfigure:"+t,function(n){o(n)?(f.length=0,e(n,function(n,t){f.push({pattern:n,weight:n.length,state:t})})):i(n,"boolean")&&(r=n)}).on("cacheMiss",function(n){a(n,"",u)}).on("cacheClear",function(n){a(n,"",u)}).on("postCache",function(n,t){a(n,JSON.stringify(t),d)}),!0}provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],t)}(document); //# sourceMappingURL=cookie.js.map diff --git a/dist/plugin/lzstring.js b/dist/plugin/lzstring.js index 13e7734..c67b13d 100644 --- a/dist/plugin/lzstring.js +++ b/dist/plugin/lzstring.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.0.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function t(t,e,n,o){function r(t,e){function n(){b===e?(g.push(i(v)),b=0,v=0):b++}function o(){if(p.call(s,h)){if(h.charCodeAt(0)<256){for(r=0;r>=1}else{for(a=1,r=0;r>=1}d--,0===d&&(d=Math.pow(2,w),w++),delete s[h]}else for(a=c[h],r=0;r>=1;d--}var r,a,c={},s={},u="",f="",h="",d=2,l=3,w=2,g=[],v=0,b=0,C=0;for(e-=1;t[C];C++)u=t.charAt(C),p.call(c,u)||(c[u]=l++,s[u]=!0),f=h+u,p.call(c,f)?h=f:(o(),0===d&&(d=Math.pow(2,w),w++),c[f]=l++,h=String(u));for(""!==h&&(o(),0===d&&w++),a=2,r=0;r>=1;for(;;){if(v<<=1,b===e){g.push(i(v));break}b++}return g.join("")}function a(t,e,n){function o(e){for(m=0,k=1;k!==e;)s=M.val&M.position,M.position>>=1,0===M.position&&(M.position=n,M.val=c(t,M.index++)),m|=(s>0?1:0)*k,k<<=1}var r,a,i,s,u,f=[],p=4,g=4,v=3,b="",C=[],M={val:c(t,0),position:n,index:1},m=0,A=d,k=1;for(a=0;a<3;a++)f[a]=a;switch(o(A),r=m){case 0:o(l),u=h(m);break;case 1:o(w),u=h(m);break;case 2:return""}for(f[3]=u,i=u,C.push(u);;){if(M.index>e)return"";switch(o(Math.pow(2,v)),u=m){case 0:o(l),f[g++]=h(m),u=g-1,p--;break;case 1:o(w),f[g++]=h(m),u=g-1,p--;break;case 2:return C.join("")}if(0===p&&(p=Math.pow(2,v),v++),f[u])b=f[u];else{if(u!==g)return null;b=i+i.charAt(0)}C.push(b),f[g++]=i+b.charAt(0),p--,i=b,0===p&&(p=Math.pow(2,v),v++)}}function i(t){return h(t+32)}function c(t,e){return t.charCodeAt(e)-32}function s(t){return t?r(t,15)+" ":""}function u(t){return t?a(t,t.length,16384):""}function f(t){for(var e,n,o=0;e=g[o];o++)0===t.indexOf(e.pattern)&&(!n||e.weight>n.weight)&&(n=e);return!!n&&n.state}var h=String.fromCharCode,p=Object.prototype.hasOwnProperty,d=Math.pow(2,2),l=Math.pow(2,8),w=Math.pow(2,16),g=[{pattern:t,weight:t.length,state:!1}],v={};return demand.on("postConfigure:"+t,function(t){n(t)?(g.length=0,e(t,function(t,e){g.push({pattern:t,weight:t.length,state:e})})):o(t,"boolean")&&g.push({pattern:"",weight:0,state:t})}).on("cacheHit",function(t){f(t.path)&&(v[t.id]=!0)}).on("preCache",function(t){f(t.path)&&(t.source=s(t.source))}).on("preProcess",function(t){v[t.id]&&(t.source=u(t.source))}),{compress:s,decompress:u}}provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],t)}(); //# sourceMappingURL=lzstring.js.map diff --git a/dist/plugin/sri.js b/dist/plugin/sri.js index 689b4a6..fed99c9 100644 --- a/dist/plugin/sri.js +++ b/dist/plugin/sri.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.0.9 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.0 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function n(n,e){this.h=n,this.l=e}function e(n,e){var r=(n&H)+(e&H),w=(n>>>16)+(e>>>16)+(r>>>16);return(w&H)<<16|r&H}function r(n,e,r,w){var h=(n&H)+(e&H)+(r&H)+(w&H),t=(n>>>16)+(e>>>16)+(r>>>16)+(w>>>16)+(h>>>16);return(t&H)<<16|h&H}function w(n,e,r,w,h){var t=(n&H)+(e&H)+(r&H)+(w&H)+(h&H),l=(n>>>16)+(e>>>16)+(r>>>16)+(w>>>16)+(h>>>16)+(t>>>16);return(l&H)<<16|t&H}function h(e,r){var w,h,t,l;return w=(e.l&H)+(r.l&H),h=(e.l>>>16)+(r.l>>>16)+(w>>>16),t=(h&H)<<16|w&H,w=(e.h&H)+(r.h&H)+(h>>>16),h=(e.h>>>16)+(r.h>>>16)+(w>>>16),l=(h&H)<<16|w&H,new n(l,t)}function t(e,r,w,h){var t,l,u,a;return t=(e.l&H)+(r.l&H)+(w.l&H)+(h.l&H),l=(e.l>>>16)+(r.l>>>16)+(w.l>>>16)+(h.l>>>16)+(t>>>16),u=(l&H)<<16|t&H,t=(e.h&H)+(r.h&H)+(w.h&H)+(h.h&H)+(l>>>16),l=(e.h>>>16)+(r.h>>>16)+(w.h>>>16)+(h.h>>>16)+(t>>>16),a=(l&H)<<16|t&H,new n(a,u)}function l(e,r,w,h,t){var l,u,a,c;return l=(e.l&H)+(r.l&H)+(w.l&H)+(h.l&H)+(t.l&H),u=(e.l>>>16)+(r.l>>>16)+(w.l>>>16)+(h.l>>>16)+(t.l>>>16)+(l>>>16),a=(u&H)<<16|l&H,l=(e.h&H)+(r.h&H)+(w.h&H)+(h.h&H)+(t.h&H)+(u>>>16),u=(e.h>>>16)+(r.h>>>16)+(w.h>>>16)+(h.h>>>16)+(t.h>>>16)+(l>>>16),c=(u&H)<<16|l&H,new n(c,a)}function u(n){return k(n,7)^k(n,18)^m(n,3)}function a(n){return k(n,17)^k(n,19)^m(n,10)}function c(e){var r=A(e,1),w=A(e,8),h=R(e,7);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function o(e){var r=A(e,19),w=A(e,61),h=R(e,6);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function i(n){return k(n,2)^k(n,13)^k(n,22)}function s(n){return k(n,6)^k(n,11)^k(n,25)}function f(e){var r=A(e,28),w=A(e,34),h=A(e,39);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function v(e){var r=A(e,14),w=A(e,18),h=A(e,41);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function d(n,e,r){return n&e^n&r^e&r}function p(e,r,w){return new n(e.h&r.h^e.h&w.h^r.h&w.h,e.l&r.l^e.l&w.l^r.l&w.l)}function b(n,e,r){return n&e^~n&r}function g(e,r,w){return new n(e.h&r.h^~e.h&w.h,e.l&r.l^~e.l&w.l)}function k(n,e){return n>>>e|n<<32-e}function A(e,r){var w=null,h=new n(e.h,e.l);return w=32>=r?new n(h.h>>>r|h.l<<32-r&I,h.l>>>r|h.h<<32-r&I):new n(h.l>>>r-32|h.h<<64-r&I,h.h>>>r-32|h.l<<64-r&I)}function m(n,e){return n>>>e}function R(e,r){var w=null;return w=32>=r?new n(e.h>>>r,e.l>>>r|e.h<<32-r&I):new n(0,e.h>>>r-32)}function C(n,e,r){var w,h,t,l,u,a,c,o,i,s=0,f=n.length,v=0;for(h=e||[0],r=r||0,u=r>>>3;sa?w.push(a):2048>a?(w.push(192|a>>>6),w.push(128|63&a)):55296>a||57344<=a?w.push(224|a>>>12,128|a>>>6&63,128|63&a):(s++,a=65536+((1023&a)<<10|1023&n.charCodeAt(s)),w.push(240|a>>>18,128|a>>>12&63,128|a>>>6&63,128|63&a)),t=h.length,l=w.length,c=0;c>>2;t<=o;)h.push(0),t++;h[o]|=w[c]<<8*(3-i%4),v++}return{value:h,length:8*v+r}}function j(n){for(var e,r,w,h,t,l,u="",a=4*n.length,c=0;c>>2,h=e<=w?0:n[w],w=c+2>>>2,t=e<=w?0:n[w],r=(n[c>>>2]>>>8*(3-c%4)&255)<<16|(h>>>8*(3-(c+1)%4)&255)<<8|t>>>8*(3-(c+2)%4)&255,l=0;l<4;l++)u+=8*c+6*l<=32*e?S.charAt(r>>>6*(3-l)&63):"=";return u}function N(e){var r,w=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428];switch(e){case"sha256":r=w;break;case"sha384":r=[new n(3418070365,h[0]),new n(1654270250,h[1]),new n(2438529370,h[2]),new n(355462360,h[3]),new n(1731405415,h[4]),new n(41048885895,h[5]),new n(3675008525,h[6]),new n(1203062813,h[7])];break;case"sha512":r=[new n(w[0],4089235720),new n(w[1],2227873595),new n(w[2],4271175723),new n(w[3],1595750129),new n(w[4],2917565137),new n(w[5],725511199),new n(w[6],4215389547),new n(w[7],327033209)]}return r}function O(k,A,m){var R,C,j,N,O,q,y,E,H,I,S,_,x,z,B,D,F,G,J,K,L,M,P,Q,U,W,X=k.length,Y=0,Z=[];switch(m){case"sha256":S=64,_=1,M=Number,x=e,z=r,B=w,D=u,F=a,G=i,J=s,L=d,K=b,W=T;break;case"sha384":case"sha512":S=80,_=2,M=n,x=h,z=t,B=l,D=c,F=o,G=f,J=v,L=p,K=g,W=V}for(R=A[0],C=A[1],j=A[2],N=A[3],O=A[4],q=A[5],y=A[6],E=A[7];Y>>9<<4)+15,a=16;break;case"sha384":case"sha512":l=(e+129>>>10<<5)+31,a=32}for(;c<=l;)n.push(0),c++;for(n[e>>>5]|=128<<24-e%32,n[l]=e+r,t=c;o>>5,a=r>>>5;i>>5),o=t%r,w=q(c,o,f,w,n),j(w)}function E(n,e,r,w){function h(n){var e;return r(t,function(r,w){if(r===n)return e=w,!1}),e||!1}var t;return demand.on("postConfigure:"+n,function(n){w(n)&&(t=n)}).on("postRequest",function(n){var r;(r=h(n.path))&&y(r.type,n.source)!==r.hash&&n.deferred.reject(new e("error resolving (sri)",n.id))}),!0}var H=65535,I=4294967295,S="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",T=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],V=[new n(T[0],3609767458),new n(T[1],602891725),new n(T[2],3964484399),new n(T[3],2173295548),new n(T[4],4081628472),new n(T[5],3053834265),new n(T[6],2937671579),new n(T[7],3664609560),new n(T[8],2734883394),new n(T[9],1164996542),new n(T[10],1323610764),new n(T[11],3590304994),new n(T[12],4068182383),new n(T[13],991336113),new n(T[14],633803317),new n(T[15],3479774868),new n(T[16],2666613458),new n(T[17],944711139),new n(T[18],2341262773),new n(T[19],2007800933),new n(T[20],1495990901),new n(T[21],1856431235),new n(T[22],3175218132),new n(T[23],2198950837),new n(T[24],3999719339),new n(T[25],766784016),new n(T[26],2566594879),new n(T[27],3203337956),new n(T[28],1034457026),new n(T[29],2466948901),new n(T[30],3758326383),new n(T[31],168717936),new n(T[32],1188179964),new n(T[33],1546045734),new n(T[34],1522805485),new n(T[35],2643833823),new n(T[36],2343527390),new n(T[37],1014477480),new n(T[38],1206759142),new n(T[39],344077627),new n(T[40],1290863460),new n(T[41],3158454273),new n(T[42],3505952657),new n(T[43],106217008),new n(T[44],3606008344),new n(T[45],1432725776),new n(T[46],1467031594),new n(T[47],851169720),new n(T[48],3100823752),new n(T[49],1363258195),new n(T[50],3750685593),new n(T[51],3785050280),new n(T[52],3318307427),new n(T[53],3812723403),new n(T[54],2003034995),new n(T[55],3602036899),new n(T[56],1575990012),new n(T[57],1125592928),new n(T[58],2716904306),new n(T[59],442776044),new n(T[60],593698344),new n(T[61],3733110249),new n(T[62],2999351573),new n(T[63],3815920427),new n(3391569614,3928383900),new n(3515267271,566280711),new n(3940187606,3454069534),new n(4118630271,4000239992),new n(116418474,1914138554),new n(174292421,2731055270),new n(289380356,3203993006),new n(460393269,320620315),new n(685471733,587496836),new n(852142971,1086792851),new n(1017036298,365543100),new n(1126000580,2618297676),new n(1288033470,3409855158),new n(1501505948,4234509866),new n(1607167915,987167468),new n(1816402316,1246189591)];provide(["path","/demand/failure","/demand/function/iterate","/demand/validator/isObject"],E)}(); //# sourceMappingURL=sri.js.map diff --git a/package.json b/package.json index 1442c5e..cab6767 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "qoopido.demand", "title": "Qoopido.demand", "description": "Promise like module loader using XHR requests and localStorage caching to dynamically load JavaScript and CSS + dynamic dependency resolution + support for custom handlers", - "version": "4.0.9", + "version": "4.1.0", "homepage": "https://github.com/dlueth/qoopido.demand", "author": { "name": "Dirk Lueth",