diff --git a/bower.json b/bower.json index cd0eb59..822766c 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "qoopido.demand", - "version": "4.1.6", + "version": "4.1.7", "homepage": "https://github.com/dlueth/qoopido.demand", "authors": [ "Dirk Lueth " diff --git a/demo/index.html b/demo/index.html index b37e192..e455acd 100644 --- a/demo/index.html +++ b/demo/index.html @@ -33,7 +33,7 @@ target.parentNode.insertBefore(script, target); }(window, document, 'script')) - }('../dist/demand.js', 'app/js/main', { base: './', version: '4.1.6', cache: false })); + }('../dist/demand.js', 'app/js/main', { base: './', version: '4.1.7', cache: false })); \ No newline at end of file diff --git a/dist/cache/dispose.js b/dist/cache/dispose.js index c66e8ab..aa6fb01 100644 --- a/dist/cache/dispose.js +++ b/dist/cache/dispose.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.6 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.7 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(t){"use strict";function n(n){function r(n){var r,e=t.getItem(n);if(e&&(r=e.match(d)))return Array.prototype.slice.call(r,1)}function e(t){return"["+i+"]["+t+"]["+o+"]"}function a(t){var n,a=t.match(u);a&&(n=r(e(a[1])),n[5]=a[1],this.push(n))}function c(t,n){return t[4]n[4]?1:0}var i="demand",o="state",u=new RegExp("^\\["+i+"\\]\\[(.+?)\\]\\["+o+"\\]$"),d=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/;return n(t,function(t){var n,a=t.match(u);a&&(n=r(e(a[1])),n[4]||demand.clear.path(a[1]))}),function(r){var e,i=[];for(n(t,a,i),i.sort(c);r>0&&i.length;)e=i.shift(),r-=e[1],demand.clear.path(e[5])}}provide(["/demand/function/iterate"],n)}(localStorage); //# sourceMappingURL=dispose.js.map diff --git a/dist/demand.js b/dist/demand.js index 5d9076b..af87464 100644 --- a/dist/demand.js +++ b/dist/demand.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.6 | 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__:Y,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function u(e,t){return typeof e===t}function a(e){return e&&u(e,oe)}function c(e){return u(e,ae)&&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=$.keys(e),o=0;(r=i[o])!==Z&&t.call(n,r,e[r])!==ee;o++);return n}function d(e,t,n){return M.call(e,t,n)}function l(){return+new Date}function h(e){return X.href=e,X.href}function p(e,t){var n=e.replace(ze,"");return Ue.test(n)||Fe.test(n)||(n="/"+h((t&&h(t+"/../")||"/")+n).replace(Ge,"")),n}function v(e,t){var n=e.match(ze);return(n&&n[1]?"mock:":"")+(n&&n[3]||C.handler)+"!"+p(e,t)}function m(){return u(this.uuid,ne)&&I(this,"uuid",new o(Ne())),this}function g(){this.parent.constructor.call(this),S[this.uuid]={},e.storage=S[this.uuid]}function y(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=d(n))}function w(e){function t(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.dfd.reject(new y($e+" (content-type)",e.id)):(e.source=t,_e.emit(Pe,e.type,e))}function n(t){e.dfd.reject(new y($e+(t?" (status)":""),e.id))}function r(e,t,n){var r;return X.href=e,X.search=(r=(X.search||"").replace(u,""))+(r?"&":"?")+t+"="+n,X.href}function i(u){u=u||0,e.url=o?h(o.process(e.path,u)):e.path,_e.emit(Re,e.type,e),new Ye(r(e.url,F,+new Date)).then(t,o?function(){u++,o.location[u]?i(u):n()}:n)}var o,u=/^\?/;Fe.test(e.path)||f(C.pattern,function(t,n){n.matches(e.path)&&(!o||o.weight>>0}function j(){this.parent.constructor.call(this),S[this.uuid]=[]}function q(e){var t=this.parent.constructor.call(this),n=S[t.uuid]={queue:e,current:Y};demand.on(Me+":"+e.uuid,function(){!n.current&&t.process()})}function k(e,t){for(var n,r;n=Be.exec(t);)X.href=e,Fe.test(n[2])?r=X.protocol+"//"+X.host+n[3]:(X.pathname+="/../"+n[3],r=X.protocol+"//"+X.host+X.pathname),t=t.replace(n[0],n[1]+" "+n[2]+"="+r+".map"+(n[4]?" "+n[4]:""));return t}function y(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=d(n))}function R(e,t){provide(e,function(){return t})}var P,E,C={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},S={},O=Array.prototype,M=O.slice,A=O.concat,$=Object,D=$.prototype,T=D.toString,H=$.create,I=$.defineProperty,N=$.getOwnPropertyNames,L=$.getOwnPropertyDescriptor,_=Function.prototype,X=t.createElement("a"),F="demand",U="provide",B="path",G="/"+F+"/",J=G+"abstract/",z=G+"handler/",K=G+"plugin/",Q=G+"function/",V=G+"validator/",W="mock:",Y=null,Z=void 0,ee=!1,te=!0,ne="undefined",re="string",ie="boolean",oe="object",ue="function",ae="number",ce=function(){},se="pre",fe="post",de="Configure",le=se+de,he=fe+de,pe="cache",ve=pe+"Miss",me=pe+"Hit",ge=pe+"Clear",ye=pe+"Exceed",we=se+"Cache",xe=fe+"Cache",be="Resolve",je=se+be,qe=fe+be,ke="Request",Re=se+ke,Pe=fe+ke,Ee="Process",Ce=se+Ee,Se=fe+Ee,Oe="queue",Me=Oe+"Enqueue",Ae=Oe+"Dequeue",$e="error loading",De="error providing",Te="error resolving",He="unspecified anonymous provide";!function(){function e(e){var t,n=this,r=n.prototype,i={},u=N(r),a=0;for(e=e.prototype||e;t=u[a];a++)i[t]=L(r,t);return i.constructor=new o(n),i.parent=new o(e),n.prototype=H(e,i),n}I(_,"extends",new o(e))}();var Ie=function(){function e(e,t){var n,r=this[e];t!==Z&&(a(t)?(n=a(r),r=t.length!==Z?n&&r.length!==Z?r:[]:n&&r.length===Z?r:{},this[e]=Ie(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==Z;r++)f(t,e,n);return n}}(),Ne=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}}(),Le=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:te}),n.setAttribute("i","1")}:!o&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?function(){function t(t){t.source===e&&t.data&&S[t.data]&&(S[t.data](),delete S[t.data])}return e.addEventListener("message",t,ee),function(t){var n=Ne();S[n]=t,e.postMessage(n,"*")}}():!o&&"onreadystatechange"in(n=t.createElement("script"))?function(e){n.onreadystatechange=function(){n.onreadystatechange=Y,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,re)&&u(r,ue))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]===he&&(c=C.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=d(arguments,2),u=0;a=c[n][u];u++)a.filter&&a.filter!==t||a.callback.apply(Y,i);for(u=0;a=c[r][u];u++)a.filter&&a.filter!==t||a.callback.apply(Y,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}(),Xe=function(){var e=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;return function(t){return t.replace(e,"\\$&")}}(),Fe=/^(http(s?):)?\/\//i,Ue=/^\//,Be=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,Ge=new RegExp("^"+Xe(h("/"))),Je=new RegExp("^"+F+"|"+U+"|"+B+"$"),ze=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/,Ke=function(){function t(e){var t;return e.cache!==Y?e.cache:(f(C.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:ee)}function n(e){return w.getItem(e)}function r(e,t){w[t?"setItem":"removeItem"](e,t)}function i(e){var t,r=n(e);if(r&&(t=r.match(g)))return d(t,1)}function o(e,t){t[4]=l(),r(e,t.join(","))}function u(e,t,n){_e.emit(e,t.id,t,n)}function a(){Le(this.clear.expired.bind(this.clear))}var c,s="["+F+"]",h="[state]",p="[value]",m=new RegExp("^"+Xe(s)+"\\[(.+?)\\]"+Xe(h)+"$"),g=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,y=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return ee}}(),w=y?e.localStorage:Y,x=y&&"remainingSpace"in w,b={};return _e.on(ve,function(e){Le(function(){c.clear.path(e.id)})}).on(ye,function(e){demand("-!/"+F+"/cache/dispose").then(function(t){Le(function(){t(e.source.length),c.set(e)})})}).on(Pe,function(e){e.source&&t(e)&&(b[e.id]=te)}).after(Se,function(e){b[e.id]&&Le(function(){c.set(e)})}),a.prototype={get:y?function(e){var r,u;if(t(e)&&(r=s+"["+e.id+"]",u=i(r+h),u&&u[0]===e.version&&(!u[2]&&!e.lifetime||u[2]>l())))return e.source=n(r+p),Le(function(){o(r+h,u)}),te}:ce,resolve:y?function(e){var t=this;t.get(e)?u(me,e):u(ve,e)}:function(e){u(ve,e)},set:y?function(e){var n,i,a;if(t(e)){n=[e.version,e.source.length,e.lifetime?l()+e.lifetime:Y,demand.version],i=s+"["+e.id+"]",u(we,e,n);try{if(a=x?w.remainingSpace:Y,r(i+p,e.source),o(i+h,n),a!==Y&&w.remainingSpace===a)throw new Error;u(xe,e,n)}catch(t){u(ye,e)}}}:ce,clear:{path:y?function(e){var t=v(e),i=s+"["+t+"]";n(i+h)&&(r(i+h),r(i+p),u(ge,Ve.get(t)||new Ve(t,Y,ee)))}:ce,all:y?function(){var e;f(w,function(t){e=t.match(m),e&&this.path(e[1])},this)}:ce,expired:y?function(){var e,t,n=this;f(w,function(r){e=r.match(m),e&&(t=i(s+"["+e[1]+"]"+h),t&&t[2]>0&&t[2]<=l()&&n.path(e[1]))},this)}:ce}},c=new a}(),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(Y,i.value),r&&"function"==typeof r.then?r.then(n.dfd.resolve,n.dfd.reject):n.dfd[i.state===a?"resolve":"reject"].apply(Y,i.value);i[a].length=0,i[c].length=0}function r(e,t,n){e.then(function(){n.resolved[t]=d(arguments),n.count++,i(n)},function(){n.rejected.push(d(arguments)),i(n)})}function i(e){e.count===e.total?e.dfd.resolve.apply(Y,A.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.dfd.reject.apply(Y,A.apply([],e.rejected))}function o(r){var i=this.parent.constructor.call(this);s[i.uuid]={state:u,handle:n.bind(i),value:Y,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(ce,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,dfd:r}),t&&n[c].push({handler:t,dfd:r}),n.state!==u&&Le(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[Ne()]={dfd: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(m)}();g.prototype={get:function(e){return e?S[this.uuid][e]:S[this.uuid]},set:function(e,t){S[this.uuid][e]=t},remove:function(e){delete S[this.uuid][e]}},g.extends(m),y.prototype={toString:function(){var e=this,t=F+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=y.traverse(e.stack,t,1)),t}},y.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=y.traverse(r.stack,t,n+1));return t};var Ve=function(){function e(e,t){this[e]=t}function n(e,t){t.pledge.isPending()&&this.push(e)}function r(e,t){t.pledge.isResolved()&&this.push(e)}function i(e,t){t.pledge.isRejected()&&this.push(e)}function o(e,t,n){var r=this,i=e.match(ze)||s;return r.path=p(e,t),r.mock=i[1]?te:ee,r.cache=i[2]?"+"===i[1]:Y,r.type=i[3]||C.handler,r.version=i[4]||C.version,r.lifetime=i[5]&&1e3*i[5]||C.lifetime,r.id=(r.mock?W:"")+r.type+"!"+r.path,r.uri=(r.mock?W:"")+r.type+"@"+r.version+(c(r.lifetime)&&r.lifetime>0?"#"+r.lifetime:"")+"!"+r.path,r.dfd=Qe.defer(),r.pledge=r.dfd.pledge,n!==ee&&a.set(r.id,r),r}var u="internal!",a=new g,s=[];return o.prototype={enqueue:!0},o.get=function(e,t){return a.get(v(e,t))},o.resolve=function(t,n){var r,i=n&&Je.test(t),a=i?this.get(u+n+"/"+t):this.get(t,n);if(!a)if(i){switch(a=new o(u+n+"/"+t),t){case F:r=function(){return f(demand,e,demand.bind(n))}();break;case U:r=provide.bind(n);break;case B:r=n}a.dfd.resolve(r)}else a=new o(t,n),demand(z+a.type).then(function(e){a.handler=e,a.mock?a.dfd.resolve(e):Ke.resolve(a)},function(){a.dfd.reject(new y($e+" (handler)",self.id))});return a},o.remove=function(e,n,r){var i=v(e,n),o=t.querySelector("["+F+'-id="'+i+'"]');a.remove(i),a.remove(W+i),o&&o.parentNode.removeChild(o),r!==ee&&Ke.clear.path(i)},o.list={all:function(){return $.keys(a.get())},pending:function(){return f(a.get(),n,[])},resolved:function(){return f(a.get(),r,[])},rejected:function(){return f(a.get(),i,[])}},o}(),We=function(){function e(e,t){this[e]={url:h(t).replace(n,"$1"),match:new RegExp("^"+Xe(t))}}function t(t,n){var r=this;r.weight=t.length,r.match=new RegExp("^"+Xe(t)),r.location=[].concat(n),f(r.location,e,r.location)}var n=/(.+)\/$/;return t.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)}},t}(),Ye=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=Ge.test(e)?new t:new o,s=n.bind(c),f=C.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,te),c.send(),u=r(s,f),a.pledge}}(XMLHttpRequest);e.demand=function(){function t(e,t){this[e]={weight:e.length,state:t}}function n(e,t){"base"!==e&&(this[e]=new We(e,t))}function r(e,t){var n=this[e]=this[e]||{};_e.emit(le,e,n),Ie(n,t),_e.emit(he,e,n)}function i(){var t,n,r,i=d(arguments),o=this!==e?this:Y,a=0;for(_e.emit(je,Y,i,o);t=i[a];a++)u(t,re)?i[a]=Ve.resolve(t,o).pledge:(i[a]=(n=Qe.defer()).pledge,n.resolve(t));return r=i.length>1?Qe.all(i):i[0],r.always(function(){_e.emit(qe,Y,i,o)})}return i.configure=function(e){var o=e.cache,s=e.version,d=e.timeout,l=e.lifetime,h=e.base,p=e.pattern,v=e.modules,m=C.modules;return u(o,ie)?C.cache[""]={weight:0,state:o}:a(o)&&f(o,t,C.cache),u(s,re)&&(C.version=s),c(d)&&(C.timeout=1e3*Math.min(Math.max(d,2),12)),c(l)&&l>0&&(C.lifetime=1e3*l),u(h,re)&&""!==h&&(C.pattern.base=new We("",h)),a(p)&&f(p,n,C.pattern),a(v)&&f(v,r,m),i},i.version="4.1.6",i.on=_e.on.bind(i),i.get=function(e,t){var n=Ve.get(e,t);return n&&n.value},i.remove=Ve.remove,i.list=Ve.list,i.clear=Ke.clear,_e.after(ve,function(e){new w(e)}).after(me+" "+Pe,function(e){_e.emit(Ce,e.id,e)}).after(Re,function(e){var t=e.handler.onPreRequest;t&&t(e)}).after(Pe,function(e){var t=e.handler.onPostRequest;t&&t(e)}).after(Ce,function(e){var t=e.handler.onPreProcess;t&&t(e),e.pledge.then(function(){_e.emit(Se,e.id,e)}),e.enqueue===!0?P.enqueue(e):s(e.enqueue,Qe)&&e.enqueue.then(function(){P.enqueue(e)})}),i}(),e.provide=function(){var t,n,r=u(arguments[0],re)?arguments[0]:Y,i=this!==e?this:Y,o=x(arguments[r?1:0])?arguments[r?1:0]:Y,a=o?arguments[r?2:1]:arguments[r?1:0];!r&&E.current&&(t=E.current,r=t.uri,E.process()),r?(t=t||new Ve(r,i),n=u(a,ue),o?demand.apply(t.path,o).then(function(){t.dfd.resolve(n?a.apply(Y,arguments):a)},function(){t.dfd.reject(new y(De,t.id,arguments))}):t.dfd.resolve(n?a():a),t.pledge.then(function(e){t.value=e})):!u(console,ne)&&console.error(new y(He))},demand.configure({cache:te,base:"/",pattern:{"/demand":h((n&&n.url||location.href)+"/../").slice(0,-1)}}),n&&n.settings&&demand.configure(n.settings),j.prototype={enqueue:function(){S[this.uuid]=S[this.uuid].concat(d(arguments)),_e.emit(Me,this.uuid)},dequeue:function(){return _e.emit(Ae,this.uuid),S[this.uuid].shift()},get current(){return S[this.uuid][0]},get length(){return S[this.uuid].length}},j.extends(m),q.prototype={process:function(){var e,t=S[this.uuid];t.queue.length?(e=t.current=t.queue.dequeue(),e.handler.process&&e.handler.process(e)):t.current=Y},get current(){return S[this.uuid].current}},q.extends(m);var Ze=function(){function e(){}return e.prototype={validate:Y,onPreRequest:Y,onPostRequest:Y,onPreProcess:Y,process:Y},new e}(),et=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=k(e.url,e.source)},process:function(e){var r;e.source&&(r=t.createElement("script"),r.async=te,r.text=e.source,r.setAttribute(F+"-id",e.id),n.appendChild(r))}},new(e.extends(Ze))}();y.prototype={toString:function(){var e=this,t=F+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=y.traverse(e.stack,t,1)),t}},y.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=y.traverse(r.stack,t,n+1));return t};var tt=function(){function e(e,t){var n,r;for(n=0;r=t[n];n++)u(r,re)&&(t[n]=v(r))}function t(e){for(var t,n,r=0;n=e[r];r++)if(n=n.match(ze),n=n&&n[3]||i.handler,t){if(n!==t)return ee}else t=n;return t}function n(){}var r=z+"bundle",i={};return demand.on(he+":"+r,function(t){a(t)&&(i=t,f(i,e))}),n.prototype={validate:et.validate,onPreProcess:function(e){function n(){f.reject(new y(Te,e.id,arguments))}var r,o,u,a,c,s=e.source,f=e.dfd,d=i[e.path];if(e.enqueue=ee,d&&(r=t(d))){for(;o=Be.exec(s);)s=s.replace(o[0],"");for(e.source=s,u=[],c=0;a=d[c];c++)u.push(Ve.resolve(W+a).pledge);Qe.all(u).then(function(){for(u.length=0,c=0;a=d[c];c++)a=d[c]=Ve.get(a)||new Ve(a),a.handler=arguments[c],u.push(a.pledge);"module"===r?(P.enqueue.apply(P,d),et.process(e)):(et.process(e),P.enqueue.apply(P,d)),Qe.all(u).then(f.resolve,n)},n)}else n()}},new(n.extends(Ze))}(),nt=function(){function e(){}var n=/^text\/.+$/;return e.prototype={validate:function(e){return n.test(e)},onPreRequest:function(e){var t=e.url;e.url=".html"!==t.slice(-5)?t+".html":t},onPreProcess:function(e){function n(){c.reject(new y(Te,e.id,arguments))}var r,i,o,u,a=e.path,c=e.dfd,s=t.createElement("body"),f=[],d=[];for(e.enqueue=ee,s.innerHTML=e.source;r=s.firstElementChild;)(i=r.getAttribute("type"))&&(o=r.getAttribute("path"),u=i+"!"+a+(o?"/"+o:""),r.parentNode.removeChild(r),f.push({source:r.textContent,uri:u}),d.push(Ve.resolve("mock:"+u).pledge));Qe.all(d).then(function(){var e,t,r=0;for(d.length=0;e=f[r];r++)t=Ve.get(e.uri)||new Ve(e.uri),t.source=e.source,t.handler=arguments[r],d.push(t.pledge),P.enqueue(t);Qe.all(d).then(c.resolve,n)},n)}},new(e.extends(Ze))}(),rt=function(){function e(e){for(var t,n,r=0;t=s[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[z+"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.dfd.resolve(arguments[t])}function r(){for(var e,t=0;e=this[t];t++)e.dfd.reject(new y(Te,e.id))}function i(e,t){s.push({prefix:e,weight:e.length,fn:t})}function o(e,i){var o,u=i.matches,a=0;if(u.length>1){for(i.id=c+"/"+b(JSON.stringify(i.matches));o=u[a];a++)u[a]=new Ve(o.uri);demand.configure(t(i)),demand("bundle!"+i.id).then(n.bind(u),r.bind(u))}}var c=K+"genie",s=[];return demand.on(he+":"+c,function(e){a(e)&&(s.length=0,f(e,i))}).on(je,function(t,n){for(var r,i,a={},c=0;r=t[c];c++)!u(r,re)||Je.test(r)||Ve.get(r,n)||(r=new Ve(r,n,ee),"module"===r.type&&(i=e(r.path))&&!Ke.get(r)&&(a[i.prefix]||(a[i.prefix]={fn:i.fn,matches:[]})).matches.push(r));f(a,o)}),te}();if(P=new j,E=new q(P),R(J+"uuid",m),R(J+"handler",Ze),R(z+"module",et),R(z+"bundle",tt),R(z+"component",nt),R(K+"genie",rt),R(V+"isTypeOf",u),R(V+"isArray",x),R(V+"isObject",a),R(V+"isInstanceOf",s),R(Q+"resolveUrl",h),R(Q+"resolveSourcemaps",k),R(Q+"merge",Ie),R(Q+"iterate",f),R(Q+"hash",b),R(Q+"defer",Le),R(G+"descriptor",o),R(G+"pledge",Qe),R(G+"queue",j),R(G+"xhr",Ye),R(G+"failure",y),n&&n.main)switch(typeof n.main){case re:demand(n.main);break;case ue:provide("main",n.main())}}(this,document,"demand"in this&&demand,setTimeout,clearTimeout); +/**! Qoopido.demand 4.1.7 | 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__:Y,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function u(e,t){return typeof e===t}function a(e){return e&&u(e,oe)}function c(e){return u(e,ae)&&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=$.keys(e),o=0;(r=i[o])!==Z&&t.call(n,r,e[r])!==ee;o++);return n}function d(e,t,n){return M.call(e,t,n)}function l(){return+new Date}function h(e){return X.href=e,X.href}function p(e,t){var n=e.replace(ze,"");return Ue.test(n)||Fe.test(n)||(n="/"+h((t&&h(t+"/../")||"/")+n).replace(Ge,"")),n}function v(e,t){var n=e.match(ze);return(n&&n[1]?"mock:":"")+(n&&n[3]||C.handler)+"!"+p(e,t)}function m(){return u(this.uuid,ne)&&I(this,"uuid",new o(Ne())),this}function g(){this.parent.constructor.call(this),S[this.uuid]={}}function y(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=d(n))}function w(e){function n(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.dfd.reject(new y($e+" (content-type)",e.id)):(e.source=t,_e.emit(Ee,e.type,e))}function r(t){e.dfd.reject(new y($e+(t?" (status)":""),e.id))}function i(u){u=u||0,e.url=t.createElement("a"),e.url.href=o?h(o.process(e.path,u)):e.path,_e.emit(Re,e.type,e),new Ye(e.url).then(n,o?function(){u++,o.location[u]?i(u):r()}:r)}var o;Fe.test(e.path)||f(C.pattern,function(t,n){n.matches(e.path)&&(!o||o.weight>>0}function j(){this.parent.constructor.call(this),S[this.uuid]=[]}function q(e){var t=this.parent.constructor.call(this),n=S[t.uuid]={queue:e,current:Y};demand.on(Me+":"+e.uuid,function(){!n.current&&t.process()})}function k(e,t){for(var n,r;n=Be.exec(t);)X.href=e,Fe.test(n[2])?r=X.protocol+"//"+X.host+n[3]:(X.pathname+="/../"+n[3],r=X.protocol+"//"+X.host+X.pathname),t=t.replace(n[0],n[1]+" "+n[2]+"="+r+".map"+(n[4]?" "+n[4]:""));return t}function y(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=d(n))}function R(e,t){provide(e,function(){return t})}var E,P,C={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},S={},O=Array.prototype,M=O.slice,A=O.concat,$=Object,T=$.prototype,D=T.toString,H=$.create,I=$.defineProperty,N=$.getOwnPropertyNames,L=$.getOwnPropertyDescriptor,_=Function.prototype,X=t.createElement("a"),F="demand",U="provide",B="path",G="/"+F+"/",J=G+"abstract/",z=G+"handler/",K=G+"plugin/",Q=G+"function/",V=G+"validator/",W="mock:",Y=null,Z=void 0,ee=!1,te=!0,ne="undefined",re="string",ie="boolean",oe="object",ue="function",ae="number",ce=function(){},se="pre",fe="post",de="Configure",le=se+de,he=fe+de,pe="cache",ve=pe+"Miss",me=pe+"Hit",ge=pe+"Clear",ye=pe+"Exceed",we=se+"Cache",xe=fe+"Cache",be="Resolve",je=se+be,qe=fe+be,ke="Request",Re=se+ke,Ee=fe+ke,Pe="Process",Ce=se+Pe,Se=fe+Pe,Oe="queue",Me=Oe+"Enqueue",Ae=Oe+"Dequeue",$e="error loading",Te="error providing",De="error resolving",He="unspecified anonymous provide";!function(){function e(e){var t,n=this,r=n.prototype,i={},u=N(r),a=0;for(e=e.prototype||e;t=u[a];a++)i[t]=L(r,t);return i.constructor=new o(n),i.parent=new o(e),n.prototype=H(e,i),n}I(_,"extends",new o(e))}();var Ie=function(){function e(e,t){var n,r=this[e];t!==Z&&(a(t)?(n=a(r),r=t.length!==Z?n&&r.length!==Z?r:[]:n&&r.length===Z?r:{},this[e]=Ie(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==Z;r++)f(t,e,n);return n}}(),Ne=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}}(),Le=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:te}),n.setAttribute("i","1")}:!o&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?function(){function t(t){t.source===e&&t.data&&S[t.data]&&(S[t.data](),delete S[t.data])}return e.addEventListener("message",t,ee),function(t){var n=Ne();S[n]=t,e.postMessage(n,"*")}}():!o&&"onreadystatechange"in(n=t.createElement("script"))?function(e){n.onreadystatechange=function(){n.onreadystatechange=Y,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,re)&&u(r,ue))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]===he&&(c=C.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=d(arguments,2),u=0;a=c[n][u];u++)a.filter&&a.filter!==t||a.callback.apply(Y,i);for(u=0;a=c[r][u];u++)a.filter&&a.filter!==t||a.callback.apply(Y,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}(),Xe=function(){var e=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;return function(t){return t.replace(e,"\\$&")}}(),Fe=/^(http(s?):)?\/\//i,Ue=/^\//,Be=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,Ge=new RegExp("^"+Xe(h("/"))),Je=new RegExp("^"+F+"|"+U+"|"+B+"$"),ze=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/,Ke=function(){function t(e){var t;return e.cache!==Y?e.cache:(f(C.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:ee)}function n(e){return w.getItem(e)}function r(e,t){w[t?"setItem":"removeItem"](e,t)}function i(e){var t,r=n(e);if(r&&(t=r.match(g)))return d(t,1)}function o(e,t){t[4]=l(),r(e,t.join(","))}function u(e,t,n){_e.emit(e,t.id,t,n)}function a(){Le(this.clear.expired.bind(this.clear))}var c,s="["+F+"]",h="[state]",p="[value]",m=new RegExp("^"+Xe(s)+"\\[(.+?)\\]"+Xe(h)+"$"),g=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,y=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return ee}}(),w=y?e.localStorage:Y,x=y&&"remainingSpace"in w,b={};return _e.on(ve,function(e){Le(function(){c.clear.path(e.id)})}).on(ye,function(e){demand("-!/"+F+"/cache/dispose").then(function(t){Le(function(){t(e.source.length),c.set(e)})})}).on(Ee,function(e){e.source&&t(e)&&(b[e.id]=te)}).after(Se,function(e){b[e.id]&&Le(function(){c.set(e)})}),a.prototype={get:y?function(e){var r,u;if(t(e)&&(r=s+"["+e.id+"]",u=i(r+h),u&&u[0]===e.version&&(!u[2]&&!e.lifetime||u[2]>l())))return e.source=n(r+p),Le(function(){o(r+h,u)}),te}:ce,resolve:y?function(e){var t=this;t.get(e)?u(me,e):u(ve,e)}:function(e){u(ve,e)},set:y?function(e){var n,i,a;if(t(e)){n=[e.version,e.source.length,e.lifetime?l()+e.lifetime:Y,demand.version],i=s+"["+e.id+"]",u(we,e,n);try{if(a=x?w.remainingSpace:Y,r(i+p,e.source),o(i+h,n),a!==Y&&w.remainingSpace===a)throw new Error;u(xe,e,n)}catch(t){u(ye,e)}}}:ce,clear:{path:y?function(e){var t=v(e),i=s+"["+t+"]";n(i+h)&&(r(i+h),r(i+p),u(ge,Ve.get(t)||new Ve(t,Y,ee)))}:ce,all:y?function(){var e;f(w,function(t){e=t.match(m),e&&this.path(e[1])},this)}:ce,expired:y?function(){var e,t,n=this;f(w,function(r){e=r.match(m),e&&(t=i(s+"["+e[1]+"]"+h),t&&t[2]>0&&t[2]<=l()&&n.path(e[1]))},this)}:ce}},c=new a}(),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(Y,i.value),r&&"function"==typeof r.then?r.then(n.dfd.resolve,n.dfd.reject):n.dfd[i.state===a?"resolve":"reject"].apply(Y,i.value);i[a].length=0,i[c].length=0}function r(e,t,n){e.then(function(){n.resolved[t]=d(arguments),n.count++,i(n)},function(){n.rejected.push(d(arguments)),i(n)})}function i(e){e.count===e.total?e.dfd.resolve.apply(Y,A.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.dfd.reject.apply(Y,A.apply([],e.rejected))}function o(r){var i=this.parent.constructor.call(this);s[i.uuid]={state:u,handle:n.bind(i),value:Y,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(ce,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,dfd:r}),t&&n[c].push({handler:t,dfd:r}),n.state!==u&&Le(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[Ne()]={dfd: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(m)}();g.prototype={get:function(e){return e?S[this.uuid][e]:S[this.uuid]},set:function(e,t){S[this.uuid][e]=t},remove:function(e){delete S[this.uuid][e]}},g.extends(m),y.prototype={toString:function(){var e=this,t=F+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=y.traverse(e.stack,t,1)),t}},y.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=y.traverse(r.stack,t,n+1));return t};var Ve=function(){function e(e,t){this[e]=t}function n(e,t){t.pledge.isPending()&&this.push(e)}function r(e,t){t.pledge.isResolved()&&this.push(e)}function i(e,t){t.pledge.isRejected()&&this.push(e)}function o(e,t,n){var r=this,i=e.match(ze)||s;return r.path=p(e,t),r.mock=i[1]?te:ee,r.cache=i[2]?"+"===i[1]:Y,r.type=i[3]||C.handler,r.version=i[4]||C.version,r.lifetime=i[5]&&1e3*i[5]||C.lifetime,r.id=(r.mock?W:"")+r.type+"!"+r.path,r.uri=(r.mock?W:"")+r.type+"@"+r.version+(c(r.lifetime)&&r.lifetime>0?"#"+r.lifetime:"")+"!"+r.path,r.dfd=Qe.defer(),r.pledge=r.dfd.pledge,r.pledge.then(function(){r.value=d(arguments)}),n!==ee&&a.set(r.id,r),r}var u="internal!",a=new g,s=[];return o.prototype={enqueue:!0},o.get=function(e,t){return a.get(v(e,t))},o.resolve=function(t,n){var r,i=n&&Je.test(t),a=i?this.get(u+n+"/"+t):this.get(t,n);if(!a)if(i){switch(a=new o(u+n+"/"+t),t){case F:r=function(){return f(demand,e,demand.bind(n))}();break;case U:r=provide.bind(n);break;case B:r=n}a.dfd.resolve(r)}else a=new o(t,n),demand(z+a.type).then(function(e){a.handler=e,a.mock?a.dfd.resolve(e):Ke.resolve(a)},function(){a.dfd.reject(new y($e+" (handler)",self.id))});return a},o.remove=function(e,n,r){var i=v(e,n),o=t.querySelector("["+F+'-id="'+i+'"]');a.remove(i),a.remove(W+i),o&&o.parentNode.removeChild(o),r!==ee&&Ke.clear.path(i)},o.list={all:function(){return $.keys(a.get())},pending:function(){return f(a.get(),n,[])},resolved:function(){return f(a.get(),r,[])},rejected:function(){return f(a.get(),i,[])}},o}(),We=function(){function e(e,t){this[e]={url:h(t).replace(n,"$1"),match:new RegExp("^"+Xe(t))}}function t(t,n){var r=this;r.weight=t.length,r.match=new RegExp("^"+Xe(t)),r.location=[].concat(n),f(r.location,e,r.location)}var n=/(.+)\/$/;return t.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)}},t}(),Ye=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=Ge.test(e)?new t:new o,s=n.bind(c),f=C.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,te),c.send(),u=r(s,f),a.pledge}}(XMLHttpRequest);e.demand=function(){function t(e,t){this[e]={weight:e.length,state:t}}function n(e,t){"base"!==e&&(this[e]=new We(e,t))}function r(e,t){var n=this[e]=this[e]||{};_e.emit(le,e,n),Ie(n,t),_e.emit(he,e,n)}function i(){var t,n,r,i=d(arguments),o=this!==e?this:Y,a=0;for(_e.emit(je,Y,i,o);t=i[a];a++)u(t,re)?i[a]=Ve.resolve(t,o).pledge:(i[a]=(n=Qe.defer()).pledge,n.resolve(t));return r=i.length>1?Qe.all(i):i[0],r.always(function(){_e.emit(qe,Y,i,o)})}return i.configure=function(e){var o=e.cache,s=e.version,d=e.timeout,l=e.lifetime,h=e.base,p=e.pattern,v=e.modules,m=C.modules;return u(o,ie)?C.cache[""]={weight:0,state:o}:a(o)&&f(o,t,C.cache),u(s,re)&&(C.version=s),c(d)&&(C.timeout=1e3*Math.min(Math.max(d,2),12)),c(l)&&l>0&&(C.lifetime=1e3*l),u(h,re)&&""!==h&&(C.pattern.base=new We("",h)),a(p)&&f(p,n,C.pattern),a(v)&&f(v,r,m),i},i.version="4.1.7",i.on=_e.on.bind(i),i.get=function(e,t){var n=Ve.get(e,t);return n&&n.value},i.remove=Ve.remove,i.list=Ve.list,i.clear=Ke.clear,_e.after(ve,function(e){new w(e)}).after(me+" "+Ee,function(e){_e.emit(Ce,e.id,e)}).after(Re,function(e){var t=e.handler.onPreRequest;t&&t(e)}).after(Ee,function(e){var t=e.handler.onPostRequest;t&&t(e)}).after(Ce,function(e){var t=e.handler.onPreProcess;t&&t(e),e.pledge.then(function(){_e.emit(Se,e.id,e)}),e.enqueue===!0?E.enqueue(e):s(e.enqueue,Qe)&&e.enqueue.then(function(){E.enqueue(e)})}),i}(),e.provide=function(){var t,n,r=u(arguments[0],re)?arguments[0]:Y,i=this!==e?this:Y,o=x(arguments[r?1:0])?arguments[r?1:0]:Y,a=o?arguments[r?2:1]:arguments[r?1:0];!r&&P.current&&(t=P.current,r=t.uri,P.process()),r?(t=t||new Ve(r,i),n=u(a,ue),o?demand.apply(t.path,o).then(function(){t.dfd.resolve(n?a.apply(Y,arguments):a)},function(){t.dfd.reject(new y(Te,t.id,arguments))}):t.dfd.resolve(n?a():a)):!u(console,ne)&&console.error(new y(He))},demand.configure({cache:te,base:"/",pattern:{"/demand":h((n&&n.url||location.href)+"/../").slice(0,-1)}}),n&&n.settings&&demand.configure(n.settings),j.prototype={enqueue:function(){S[this.uuid]=S[this.uuid].concat(d(arguments)),_e.emit(Me,this.uuid)},dequeue:function(){return _e.emit(Ae,this.uuid),S[this.uuid].shift()},get current(){return S[this.uuid][0]},get length(){return S[this.uuid].length}},j.extends(m),q.prototype={process:function(){var e,t=S[this.uuid];t.queue.length?(e=t.current=t.queue.dequeue(),e.handler.process&&e.handler.process(e)):t.current=Y},get current(){return S[this.uuid].current}},q.extends(m);var Ze=function(){function e(){}return e.prototype={validate:Y,onPreRequest:Y,onPostRequest:Y,onPreProcess:Y,process:Y},new e}(),et=function(){function e(){}var n=".js",r=t.getElementsByTagName("head")[0],i=/^(application|text)\/(x-)?javascript/;return e.prototype={validate:function(e){return i.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-n.length)!==n?t+n:t},onPostRequest:function(e){e.source=k(e.url,e.source)},process:function(e){var n;e.source&&(n=t.createElement("script"),n.async=te,n.text=e.source,n.setAttribute(F+"-id",e.id),r.appendChild(n))}},new(e.extends(Ze))}();y.prototype={toString:function(){var e=this,t=F+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=y.traverse(e.stack,t,1)),t}},y.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=y.traverse(r.stack,t,n+1));return t};var tt=function(){function e(e,t){var n,r;for(n=0;r=t[n];n++)u(r,re)&&(t[n]=v(r))}function t(e){for(var t,n,r=0;n=e[r];r++)if(n=n.match(ze),n=n&&n[3]||i.handler,t){if(n!==t)return ee}else t=n;return t}function n(){}var r=z+"bundle",i={};return demand.on(he+":"+r,function(t){a(t)&&(i=t,f(i,e))}),n.prototype={validate:et.validate,onPreProcess:function(e){function n(){f.reject(new y(De,e.id,arguments))}var r,o,u,a,c,s=e.source,f=e.dfd,d=i[e.path];if(e.enqueue=ee,d&&(r=t(d))){for(;o=Be.exec(s);)s=s.replace(o[0],"");for(e.source=s,u=[],c=0;a=d[c];c++)u.push(Ve.resolve(W+a).pledge);Qe.all(u).then(function(){for(u.length=0,c=0;a=d[c];c++)a=d[c]=Ve.get(a)||new Ve(a),a.handler=arguments[c],u.push(a.pledge);"module"===r?(E.enqueue.apply(E,d),et.process(e)):(et.process(e),E.enqueue.apply(E,d)),Qe.all(u).then(f.resolve,n)},n)}else n()}},new(n.extends(Ze))}(),nt=function(){function e(){}var n=".html",r=/^text\/.+$/;return e.prototype={validate:function(e){return r.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-n.length)!==n?t+n:t},onPreProcess:function(e){function n(){c.reject(new y(De,e.id,arguments))}var r,i,o,u,a=e.path,c=e.dfd,s=t.createElement("body"),f=[],d=[];for(e.enqueue=ee,s.innerHTML=e.source;r=s.firstElementChild;)(i=r.getAttribute("type"))&&(o=r.getAttribute("path"),u=i+"!"+a+(o?"/"+o:""),r.parentNode.removeChild(r),f.push({source:r.textContent,uri:u}),d.push(Ve.resolve("mock:"+u).pledge));Qe.all(d).then(function(){var e,t,r=0;for(d.length=0;e=f[r];r++)t=Ve.get(e.uri)||new Ve(e.uri),t.source=e.source,t.handler=arguments[r],d.push(t.pledge),E.enqueue(t);Qe.all(d).then(c.resolve,n)},n)}},new(e.extends(Ze))}(),rt=function(){function e(e){for(var t,n,r=0;t=s[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[z+"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.dfd.resolve(arguments[t])}function r(){for(var e,t=0;e=this[t];t++)e.dfd.reject(new y(De,e.id))}function i(e,t){s.push({prefix:e,weight:e.length,fn:t})}function o(e,i){var o,u=i.matches,a=0;if(u.length>1){for(i.id=c+"/"+b(JSON.stringify(i.matches));o=u[a];a++)u[a]=new Ve(o.uri);demand.configure(t(i)),demand("bundle!"+i.id).then(n.bind(u),r.bind(u))}}var c=K+"genie",s=[];return demand.on(he+":"+c,function(e){a(e)&&(s.length=0,f(e,i))}).on(je,function(t,n){for(var r,i,a={},c=0;r=t[c];c++)!u(r,re)||Je.test(r)||Ve.get(r,n)||(r=new Ve(r,n,ee),"module"===r.type&&(i=e(r.path))&&!Ke.get(r)&&(a[i.prefix]||(a[i.prefix]={fn:i.fn,matches:[]})).matches.push(r));f(a,o)}),te}();if(E=new j,P=new q(E),R(J+"uuid",m),R(J+"handler",Ze),R(z+"module",et),R(z+"bundle",tt),R(z+"component",nt),R(K+"genie",rt),R(V+"isTypeOf",u),R(V+"isArray",x),R(V+"isObject",a),R(V+"isInstanceOf",s),R(Q+"resolveUrl",h),R(Q+"resolveSourcemaps",k),R(Q+"merge",Ie),R(Q+"iterate",f),R(Q+"hash",b),R(Q+"defer",Le),R(G+"descriptor",o),R(G+"pledge",Qe),R(G+"queue",j),R(G+"xhr",Ye),R(G+"failure",y),n&&n.main)switch(typeof n.main){case re:demand(n.main);break;case ue: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 efaaa94..7d9ceb2 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/toArray.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","handler/component.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","source","callback","context","property","properties","keys","i","UNDEFINED","call","FALSE","functionToArray","arrayLikeObject","start","end","arrayPrototypeSlice","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","ClassLoader","dependency","resolve","response","validate","dfd","reject","ERROR_LOAD","id","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","provide","processor","version","cache","timeout","modules","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","Object","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","enabled","indexOf","state","getKey","key","localStorage","getItem","setKey","getState","regexMatchProperties","setState","join","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","exception","supportsRemainingSpace","cacheDispose","set","get","lifetime","spaceBefore","remainingSpace","Error","error","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","setProperty","addPending","addResolved","addRejected","register","placeholder","mock","registry","PREFIX_INTERNAL","enqueue","isInternal","node","querySelector","list","pending","ClassPattern","regexMatchTrailingSlash","XMLHttpRequest","checkState","readyState","abort","XDomainRequest","xhr","boundCheckState","ontimeout","onerror","onabort","onprogress","onload","responseText","getResponseHeader","open","send","updateCacheSettings","updatePatternSettings","updateModuleSettings","temp","dependencies","configure","base","min","max","onPreRequest","onPostRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","abstractHandler","AbstractHandler","handlerModule","HandlerModule","getElementsByTagName","regexMatchType","script","async","text","handlerBundle","updateDependencies","getType","HandlerBundle","handlerComponent","HandlerComponent","container","innerHTML","firstElementChild","getAttribute","textContent","pluginGenie","matchPattern","prefix","generateConfiguration","bundle","configuration","/demand/handler/bundle","resolveDependencies","rejectDependencies","addPattern","resolveBundles","JSON","stringify","bundles","main"],"mappings":";CAYA,SAAAA,EAAAC,EAAAC,EAAAC,EAAAC,GACA,YCNA,SAAAC,GAAAC,EAAAC,EAAAC,EAAAC,GACA,OACAC,UAAAC,EACAL,MAAAA,EACAG,aAAAA,EACAD,eAAAA,EACAD,WAAAA,GCEA,QAAAK,GAAAC,EAAAC,GACA,aAAAD,KAAAC,ECGA,QAAAC,GAAAF,GACA,MAAAA,IAAAD,EAAAC,EAAAG,ICDA,QAAAC,GAAAX,GACA,MAAAM,GAAAN,EAAAY,KAAAC,SAAAb,IAAAc,KAAAC,MAAAf,KAAAA,GAAAA,GAAA,ECVA,QAAAgB,GAAAT,EAAAU,GACA,MAAAV,aAAAU,GCYA,QAAAC,GAAAC,EAAAC,EAAAC,GAIA,IAHA,GACAC,GADAC,EAAAhB,EAAAiB,KAAAL,GACAM,EAAA,GAEAH,EAAAC,EAAAE,MAAAC,GACAN,EAAAO,KAAAN,EAAAC,EAAAH,EAAAG,MAAAM,GADAH,KAMA,MAAAJ,GC1BA,QAAAQ,GAAAC,EAAAC,EAAAC,GACA,MAAAC,GAAAN,KAAAG,EAAAC,EAAAC,GCJA,QAAAE,KACA,OAAA,GAAAC,MCEA,QAAAC,GAAAC,GAGA,MAFAC,GAAAC,KAAAF,EAEAC,EAAAC,KCDA,QAAAC,GAAAC,EAAApB,GACA,GAAAqB,GAAAD,EAAAE,QAAAC,GAAA,GAMA,OAJAC,IAAAC,KAAAJ,IAAAK,GAAAD,KAAAJ,KACAA,EAAA,IAAAN,GAAAf,GAAAe,EAAAf,EAAA,SAAA,KAAAqB,GAAAC,QAAAK,GAAA,KAGAN,ECPA,QAAAO,GAAAR,EAAApB,GACA,GAAA6B,GAAAT,EAAAU,MAAAP,GAEA,QAAAM,GAAAA,EAAA,GAAA,QAAA,KAAAA,GAAAA,EAAA,IAAAE,EAAAC,SAAA,IAAAb,EAAAC,EAAApB,GCGA,QAAAiC,KAKA,MAJAhD,GAAAiD,KAAAC,KAAAC,KACAC,EAAAH,KAAA,OAAA,GAAAxD,GAAA4D,OAGAJ,KCbA,QAAAK,KACAL,KAAAM,OAAAC,YAAAnC,KAAA4B,MAEAQ,EAAAR,KAAAC,SAEA9D,EAAAqE,QAAAA,EAAAR,KAAAC,MCHA,QAAAQ,GAAAC,EAAAhD,EAAAiD,GACAX,KAAAU,QAAAA,EAEAhD,IAAAsC,KAAAtC,OAAAA,GACAiD,IAAAX,KAAAW,MAAArC,EAAAqC,ICMA,QAAAC,GAAAC,GAIA,QAAAC,GAAAC,EAAA9D,GACAA,GAAA4D,EAAAf,QAAAkB,WAAAH,EAAAf,QAAAkB,SAAA/D,GAKA4D,EAAAI,IAAAC,OAAA,GAAAT,GAAAU,GAAA,kBAAAN,EAAAO,MAJAP,EAAAjD,OAAAmD,EAEAM,GAAAC,KAAAC,GAAAV,EAAA5D,KAAA4D,IAMA,QAAAK,GAAAM,GACAX,EAAAI,IAAAC,OAAA,GAAAT,GAAAU,IAAAK,EAAA,YAAA,IAAAX,EAAAO,KAGA,QAAAK,GAAA3C,EAAA4C,EAAAjF,GACA,GAAAkF,EAKA,OAHA5C,GAAAC,KAAAF,EACAC,EAAA6C,QAAAD,GAAA5C,EAAA6C,QAAA,IAAAxC,QAAAyC,EAAA,MAAAF,EAAA,IAAA,KAAAD,EAAA,IAAAjF,EAEAsC,EAAAC,KAGA,QAAA8C,GAAAC,GACAA,EAAAA,GAAA,EACAlB,EAAA/B,IAAAkD,EAAAnD,EAAAmD,EAAAC,QAAApB,EAAA1B,KAAA4C,IAAAlB,EAAA1B,KAEAkC,GAAAC,KAAAY,GAAArB,EAAA5D,KAAA4D,GAEA,GAAAsB,IAAAV,EAAAZ,EAAA/B,IAAAsD,GAAA,GAAAxD,QAAAyD,KACAvB,EAEAkB,EACA,WACAD,IAEAC,EAAAD,SAAAA,GACAD,EAAAC,GAEAb,KAIAA,GA9CA,GACAc,GADAH,EAAA,KAmDArC,IAAAD,KAAAsB,EAAA1B,OACAxB,EAAAkC,EAAAmC,QAAA,SAAAjE,EAAAtB,GACAA,EAAA6F,QAAAzB,EAAA1B,SAAA6C,GAAAA,EAAAO,OAAA9F,EAAA8F,UAAAP,EAAAvF,KAIAqF,IC5DA,QAAAU,GAAA/F,GACA,MAAA,mBAAAgG,EAAArE,KAAA3B,GCLA,QAAAiG,GAAAC,GAIA,IAHA,GAAAlG,GAAA,KACAyB,EAAAyE,EAAAC,OAEA1E,GACAzB,EAAA,GAAAA,EAAAkG,EAAAE,aAAA3E,EAGA,OAAAzB,KAAA,ECRA,QAAAqG,KACA9C,KAAAM,OAAAC,YAAAnC,KAAA4B,MAEAQ,EAAAR,KAAAC,SCNA,QAAA8C,GAAAC,GACA,GAAAC,GAAAjD,KAAAM,OAAAC,YAAAnC,KAAA4B,MACAkD,EAAA1C,EAAAyC,EAAAhD,OAAA+C,MAAAA,EAAAG,QAAArG,EAEAsG,QACAC,GAAAC,GAAA,IAAAN,EAAA/C,KAAA,YACAiD,EAAAC,SAAAF,EAAAhB,YCPA,QAAAsB,GAAAzE,EAAAlB,GAGA,IAFA,GAAAgC,GAAA4D,EAEA5D,EAAA6D,GAAAC,KAAA9F,IACAmB,EAAAC,KAAAF,EAEAU,GAAAD,KAAAK,EAAA,IACA4D,EAAAzE,EAAA4E,SAAA,KAAA5E,EAAA6E,KAAAhE,EAAA,IAEAb,EAAA8E,UAAA,OAAAjE,EAAA,GAEA4D,EAAAzE,EAAA4E,SAAA,KAAA5E,EAAA6E,KAAA7E,EAAA8E,UAGAjG,EAAAA,EAAAwB,QAAAQ,EAAA,GAAAA,EAAA,GAAA,IAAAA,EAAA,GAAA,IAAA4D,EAAA,QAAA5D,EAAA,GAAA,IAAAA,EAAA,GAAA,IAGA,OAAAhC,GCjBA,QAAA6C,GAAAC,EAAAhD,EAAAiD,GACAX,KAAAU,QAAAA,EAEAhD,IAAAsC,KAAAtC,OAAAA,GACAiD,IAAAX,KAAAW,MAAArC,EAAAqC,IrBgCA,QAAAmD,GAAA1C,EAAA1D,GACAqG,QAAA3C,EAAA,WAAA,MAAA1D,KA9BA,GAEAsF,GAAAgB,EAFAnE,GAAAoE,QAAA,QAAAC,SAAAC,QAAA,IAAAnC,WAAAoC,WAAAtE,QAAA,UACAU,KsBbA6D,EAAAC,MAAAC,UACA7F,EAAA2F,EAAAG,MACAC,EAAAJ,EAAAK,OACA1H,EAAA2H,OACAC,EAAA5H,EAAAuH,UACA9B,EAAAmC,EAAAC,SACAC,EAAA9H,EAAA+H,OACA5E,EAAAnD,EAAAgI,eACAC,EAAAjI,EAAAkI,oBACAC,EAAAnI,EAAAoI,yBACAC,EAAAC,SAAAf,UACAxF,EAAA3C,EAAAmJ,cAAA,KCXAnD,EAAA,SACAoD,EAAA,UACAC,EAAA,OACAC,EAAA,IAAAtD,EAAA,IACAuD,EAAAD,EAAA,YACAE,EAAAF,EAAA,WACAG,EAAAH,EAAA,UACAI,EAAAJ,EAAA,YACAK,EAAAL,EAAA,aACAM,EAAA,QACAlJ,EAAA,KACAqB,EAAA8H,OACA5H,IAAA,EACA6H,IAAA,EACAhG,GAAA,YACAiG,GAAA,SACAC,GAAA,UACAjJ,GAAA,SACAkJ,GAAA,WACAhJ,GAAA,SACAiJ,GAAA,aACAC,GAAA,MACAC,GAAA,OACAC,GAAA,YACAC,GAAAH,GAAAE,GACAE,GAAAH,GAAAC,GACAG,GAAA,QACAC,GAAAD,GAAA,OACAE,GAAAF,GAAA,MACAG,GAAAH,GAAA,QACAI,GAAAJ,GAAA,SACAK,GAAAV,GAAA,QACAW,GAAAV,GAAA,QACAW,GAAA,UACAC,GAAAb,GAAAY,GACAE,GAAAb,GAAAW,GACAG,GAAA,UACApF,GAAAqE,GAAAe,GACA/F,GAAAiF,GAAAc,GACAC,GAAA,UACAC,GAAAjB,GAAAgB,GACAE,GAAAjB,GAAAe,GACAG,GAAA,QACApE,GAAAoE,GAAA,UACAC,GAAAD,GAAA,UACAvG,GAAA,gBACAyG,GAAA,kBACAC,GAAA,kBACAC,GAAA,iCC3CA,WACA,QAAAC,GAAAzH,GACA,GAIAvC,GAJAkF,EAAAjD,KACAuE,EAAAtB,EAAAsB,UACAvG,KACAgK,EAAA/C,EAAAV,GACArG,EAAA,CAIA,KAFAoC,EAAAA,EAAAiE,WAAAjE,EAEAvC,EAAAiK,EAAA9J,GAAAA,IACAF,EAAAD,GAAAoH,EAAAZ,EAAAxG,EAQA,OALAC,GAAAuC,YAAA,GAAA/D,GAAAyG,GACAjF,EAAAsC,OAAA,GAAA9D,GAAA8D,GAEA2C,EAAAsB,UAAAO,EAAAxE,EAAAtC,GAEAiF,EAGA9C,EAAAkF,EAAA,UAAA,GAAA7I,GAAAuL,MCXA,IAAAE,IAAA,WACA,QAAAC,GAAAnK,EAAAtB,GACA,GACA0L,GADAC,EAAApI,KAAAjC,EAGAtB,KAAA0B,IACAjB,EAAAT,IACA0L,EAAAjL,EAAAkL,GAGAA,EADA3L,EAAAmG,SAAAzE,EACAgK,GAAAC,EAAAxF,SAAAzE,EAAAiK,KAEAD,GAAAC,EAAAxF,SAAAzE,EAAAiK,KAGApI,KAAAjC,GAAAkK,GAAAG,EAAA3L,IAEAuD,KAAAjC,GAAAtB,GAKA,MAAA,YAIA,IAHA,GACAuB,GADAqK,EAAAC,UAAA,GACApK,EAAA,GAEAF,EAAAsK,UAAApK,MAAAC,EAAAD,IACAP,EAAAK,EAAAkK,EAAAG,EAGA,OAAAA,OC9CAjI,GAAA,WAIA,QAAAmI,GAAAC,GACA,GAAAC,GAAA,GAAAlL,KAAAmL,SAAA,CAEA,QAAA,MAAAF,EAAAC,EAAA,EAAAA,EAAA,GAAA5D,SAAA,IANA,GAAA8D,GAAA,GAAAC,QAAA,OAAA,KACApI,IAQA,OAAA,YACA,GAAAP,EAEA,GACAA,GAAA,uCAAAb,QAAAuJ,EAAAJ,SACA/H,EAAAP,GAIA,OAFAO,GAAAP,GAAA,EAEAA,MCAA4I,GAAA,WACA,GACAC,GAAAC,EADAC,EAAA,gBAAA7M,EAGA,OAAA,oBAAAA,GACA,SAAA8M,GACAH,EAAA1M,EAAAmJ,cAAA,OAEA,GAAA2D,kBAAA,WAAAD,MACAE,QAAAL,GAAAM,WAAAlD,KAEA4C,EAAAO,aAAA,IAAA,OAIAL,GAAA,eAAA7M,MAAA,iBAAAA,KAAA,oBAAAA,GACA,WACA,QAAAmN,GAAAC,GACAA,EAAA3L,SAAAzB,GAAAoN,EAAAC,MAAAhJ,EAAA+I,EAAAC,QACAhJ,EAAA+I,EAAAC,cAEAhJ,GAAA+I,EAAAC,OAMA,MAFArN,GAAAsN,iBAAA,UAAAH,EAAAjL,IAEA,SAAA4K,GACA,GAAAhJ,GAAAG,IAEAI,GAAAP,GAAAgJ,EAEA9M,EAAAuN,YAAAzJ,EAAA,UAKA+I,GAAA,uBAAAF,EAAA1M,EAAAmJ,cAAA,WACA,SAAA0D,GACAH,EAAAa,mBAAA,WACAb,EAAAa,mBAAA7M,EACAgM,EAAAc,WAAAC,YAAAf,GAEAG,KAGA7M,EAAA0N,KAAAC,YAAAjB,KAKAC,EAAAC,EAAAgB,aAAA1N,EAGA,SAAA2M,GACAF,EAAAE,QCnEA5H,GAAA,WAMA,QAAA4I,GAAAhN,EAAAiN,EAAArM,GACA,GAAA0L,GAAArG,CAEA,IAAAnG,EAAAmN,EAAA/D,KAAApJ,EAAAc,EAAAwI,IAGA,IAFA6D,EAAAA,EAAAC,MAAA,KAEAZ,EAAAW,EAAAE,SACAb,EAAAA,EAAAY,MAAA,KAEAE,EAAA9K,KAAAgK,EAAA,OACAe,EAAAf,EAAA,MAAAe,EAAAf,EAAA,KAAAlG,MAAAkH,YAAAtN,GAAAuN,MAAA3M,SAAAA,EAAA4M,OAAAlB,EAAA,KAEAtM,IAAAyN,GAAAnB,EAAA,KAAA5C,KAAAzD,EAAArD,EAAAuE,QAAAmF,EAAA,MACA1L,EAAAqF,IAOA,QAAAyH,MAzBA,GAAAD,GAAA,KACAE,EAAA,QACAP,EAAA,uGACAC,IA2DA,OAnCAK,GAAApG,WACAjD,KAAA,SAAAiI,EAAAkB,GACA,GACA9K,GAAAzB,EAAA2M,EADA3H,EAAAoH,EAAAf,EAGA,IAAArG,EAAA,CAGA,IAFAvD,EAAArB,EAAAgK,UAAA,GAEApK,EAAA,EAAA2M,EAAA3H,EAAAwH,GAAAxM,GAAAA,IACA2M,EAAAJ,QAAAI,EAAAJ,SAAAA,GACAI,EAAAhN,SAAAiN,MAAAhO,EAAA6C,EAIA,KAAAzB,EAAA,EAAA2M,EAAA3H,EAAA0H,GAAA1M,GAAAA,IACA2M,EAAAJ,QAAAI,EAAAJ,SAAAA,GACAI,EAAAhN,SAAAiN,MAAAhO,EAAA6C,GAKA,MAAAK,OAEAqD,GAAA,SAAA6G,EAAArM,GAGA,MAFAoM,GAAAS,EAAAR,EAAArM,GAEAmC,MAEAuK,MAAA,SAAAL,EAAArM,GAGA,MAFAoM,GAAAW,EAAAV,EAAArM,GAEAmC,OAIA,GAAA2K,MCtEAI,GAAA,WACA,GAAAC,GAAA,qCAEA,OAAA,UAAAvO,GACA,MAAAA,GAAA2C,QAAA4L,EAAA,YCEAxL,GAAA,qBACAF,GAAA,MACAmE,GAAA,+FACAhE,GAAA,GAAAmJ,QAAA,IAAAmC,GAAAlM,EAAA,OACAoM,GAAA,GAAArC,QAAA,IAAAxG,EAAA,IAAAoD,EAAA,IAAAC,EAAA,KACApG,GAAA,2DCIA6L,GAAA,WAwCA,QAAAC,GAAAtK,GACA,GAAAjB,EAEA,OAAAiB,GAAAqD,QAAApH,EACA+D,EAAAqD,OAGAvG,EAAAkC,EAAAqE,MAAA,SAAAnG,EAAAtB,GACA,IAAAoE,EAAA1B,KAAAiM,QAAArN,MAAA6B,GAAAnD,EAAA8F,OAAA3C,EAAA2C,UACA3C,EAAAnD,KAIAmD,EAAAA,EAAAyL,MAAAhN,IAGA,QAAAiN,GAAAC,GACA,MAAAC,GAAAC,QAAAF,GAGA,QAAAG,GAAAH,EAAA9O,GACA+O,EAAA/O,EAAA,UAAA,cAAA8O,EAAA9O,GAGA,QAAAkP,GAAAJ,GACA,GACAjJ,GADA+I,EAAAC,EAAAC,EAGA,IAAAF,IAAA/I,EAAA+I,EAAAzL,MAAAgM,IACA,MAAAtN,GAAAgE,EAAA,GAIA,QAAAuJ,GAAAN,EAAAF,GACAA,EAAA,GAAA1M,IAEA+M,EAAAH,EAAAF,EAAAS,KAAA,MAGA,QAAAxK,GAAAiI,EAAA1I,EAAAwK,GACAhK,GAAAC,KAAAiI,EAAA1I,EAAAO,GAAAP,EAAAwK,GAGA,QAAAU,KACAlD,GAAA7I,KAAAgM,MAAAC,QAAAC,KAAAlM,KAAAgM,QAnFA,GASA9H,GATAiI,EAAA,IAAA/J,EAAA,IACAgK,EAAA,UACAC,EAAA,UACAC,EAAA,GAAA1D,QAAA,IAAAmC,GAAAoB,GAAA,cAAApB,GAAAqB,GAAA,KACAR,EAAA,kCACAW,EAAA,WAAA,IAAA,MAAA,gBAAApQ,IAAAA,EAAAqP,aAAA,MAAAgB,GAAA,MAAAnO,QACAmN,EAAAe,EAAApQ,EAAAqP,aAAA1O,EACA2P,EAAAF,GAAA,kBAAAf,GACAhL,IA4KA,OAzKAa,IACAgC,GAAAwD,GAAA,SAAAhG,GACAgI,GAAA,WACA3E,EAAA8H,MAAA7M,KAAA0B,EAAAO,QAGAiC,GAAA2D,GAAA,SAAAnG,GACAuC,OAAA,MAAAhB,EAAA,kBAAAC,KAAA,SAAAqK,GACA7D,GAAA,WACA6D,EAAA7L,EAAAjD,OAAAgF,QAEAsB,EAAAyI,IAAA9L,SAIAwC,GAAA9B,GAAA,SAAAV,GACAA,EAAAjD,QAAAuN,EAAAtK,KACAL,EAAAK,EAAAO,IAAA8E,MAGAqE,MAAA9C,GAAA,SAAA5G,GACAL,EAAAK,EAAAO,KACAyH,GAAA,WACA3E,EAAAyI,IAAA9L,OAoDAkL,EAAAxH,WACAqI,IAAAL,EAAA,SAAA1L,GACA,GAAAO,GAAAiK,CAEA,IAAAF,EAAAtK,KACAO,EAAA+K,EAAA,IAAAtL,EAAAO,GAAA,IACAiK,EAAAM,EAAAvK,EAAAgL,GAEAf,GAAAA,EAAA,KAAAxK,EAAAoD,WAAAoH,EAAA,KAAAxK,EAAAgM,UAAAxB,EAAA,GAAA1M,MAOA,MANAkC,GAAAjD,OAAA0N,EAAAlK,EAAAiL,GAEAxD,GAAA,WACAgD,EAAAzK,EAAAgL,EAAAf,KAGAnF,IAGAI,GACAxF,QAAAyL,EAAA,SAAA1L,GACA,GAAAoC,GAAAjD,IAEAiD,GAAA2J,IAAA/L,GACAS,EAAAwF,GAAAjG,GAEAS,EAAAuF,GAAAhG,IAEA,SAAAA,GAAAS,EAAAuF,GAAAhG,IACA8L,IAAAJ,EAAA,SAAA1L,GACA,GAAAwK,GAAAjK,EAAA0L,CAEA,IAAA3B,EAAAtK,GAAA,CACAwK,GAAAxK,EAAAoD,QAAApD,EAAAjD,OAAAgF,OAAA/B,EAAAgM,SAAAlO,IAAAkC,EAAAgM,SAAA/P,EAAAsG,OAAAa,SACA7C,EAAA+K,EAAA,IAAAtL,EAAAO,GAAA,IAEAE,EAAA2F,GAAApG,EAAAwK,EAEA,KAOA,GANAyB,EAAAL,EAAAjB,EAAAuB,eAAAjQ,EAEA4O,EAAAtK,EAAAiL,EAAAxL,EAAAjD,QACAiO,EAAAzK,EAAAgL,EAAAf,GAGAyB,IAAAhQ,GAAA0O,EAAAuB,iBAAAD,EACA,KAAA,IAAAE,MAGA1L,GAAA4F,GAAArG,EAAAwK,GACA,MAAA4B,GACA3L,EAAA0F,GAAAnG,MAGAyF,GACA0F,OACA7M,KAAAoN,EAAA,SAAApN,GACA,GAAAiC,GAAA1B,EAAAP,GACAoM,EAAAY,EAAA,IAAA/K,EAAA,GAEAkK,GAAAC,EAAAa,KACAV,EAAAH,EAAAa,GACAV,EAAAH,EAAAc,GAEA/K,EAAAyF,GAAAmG,GAAAN,IAAAxL,IAAA,GAAA8L,IAAA9L,EAAAtE,EAAAuB,OAEAiI,GACA6G,IAAAZ,EAAA,WACA,GAAA3M,EAEAjC,GAAA6N,EAAA,SAAAzN,GACA6B,EAAA7B,EAAA6B,MAAA0M,GAEA1M,GAAAI,KAAAb,KAAAS,EAAA,KACAI,OACAsG,GACA2F,QAAAM,EAAA,WACA,GACA3M,GAAAyL,EADApI,EAAAjD,IAGArC,GAAA6N,EAAA,SAAAzN,GACA6B,EAAA7B,EAAA6B,MAAA0M,GAEA1M,IACAyL,EAAAM,EAAAQ,EAAA,IAAAvM,EAAA,GAAA,IAAAwM,GAEAf,GAAAA,EAAA,GAAA,GAAAA,EAAA,IAAA1M,KACAsE,EAAA9D,KAAAS,EAAA,MAGAI,OACAsG,KAIApC,EAAA,GAAA6H,MCzLAqB,GAAA,WAMA,QAAAtM,KACAN,EAAAR,KAAAC,MAAAoN,OAAAC,EAAAhF,WAGA,QAAApH,KACAV,EAAAR,KAAAC,MAAAoN,OAAAE,EAAAjF,WAGA,QAAA+E,GAAAhC,EAAA1L,GACA,GACAuD,GAAAsK,EADAxP,EAAAwC,EAAAR,KAAAC,KAQA,KALAjC,EAAAqN,QAAAoC,IACAzP,EAAAqN,MAAAA,EACArN,EAAAvB,MAAAkD,GAGAuD,EAAAlF,EAAAA,EAAAqN,OAAAjB,SACAoD,EAAAtK,EAAApD,QAAAgL,MAAAhO,EAAAkB,EAAAvB,OAEA+Q,GAAA,kBAAAA,GAAAnL,KACAmL,EAAAnL,KAAAa,EAAAjC,IAAAH,QAAAoC,EAAAjC,IAAAC,QAEAgC,EAAAjC,IAAAjD,EAAAqN,QAAAiC,EAAA,UAAA,UAAAxC,MAAAhO,EAAAkB,EAAAvB,MAIAuB,GAAAsP,GAAA1K,OAAA,EACA5E,EAAAuP,GAAA3K,OAAA,EAGA,QAAAuG,GAAAuE,EAAAC,EAAA3P,GACA0P,EAAArL,KACA,WACArE,EAAA4P,SAAAD,GAAArP,EAAAgK,WAEAtK,EAAA6P,QAEAC,EAAA9P,IAEA,WACAA,EAAA+P,SAAAvD,KAAAlM,EAAAgK,YAEAwF,EAAA9P,KAKA,QAAA8P,GAAA9P,GACAA,EAAA6P,QAAA7P,EAAAgQ,MACAhQ,EAAAiD,IAAAH,QAAAgK,MAAAhO,EAAA2H,EAAAqG,SAAA9M,EAAA4P,WACA5P,EAAA+P,SAAAnL,OAAA5E,EAAA6P,QAAA7P,EAAAgQ,OACAhQ,EAAAiD,IAAAC,OAAA4J,MAAAhO,EAAA2H,EAAAqG,SAAA9M,EAAA+P,WAIA,QAAAX,GAAAa,GACA,GAAAhL,GAAAjD,KAAAM,OAAAC,YAAAnC,KAAA4B,KAEAQ,GAAAyC,EAAAhD,OAAAoL,MAAAoC,EAAAJ,OAAAA,EAAAnB,KAAAjJ,GAAAxG,MAAAK,EAAA8Q,YAAAG,YAAAF,MAAA,GAEAI,EAAAnN,EAAAoL,KAAAjJ,GAAA/B,EAAAgL,KAAAjJ,IAlEA,GAAAwK,GAAA,UACAH,EAAA,WACAC,EAAA,WACA/M,IA4IA,OA1EA4M,GAAA7I,WACA2J,MAAA,SAAA5D,GACA,MAAAtK,MAAAqC,KAAAiE,GAAAgE,IAEA6D,OAAA,SAAAC,GACA,MAAApO,MAAAqC,KAAA+L,EAAAA,IAEA/L,KAAA,SAAAgM,EAAAC,GACA,GAAAtQ,GAAAwC,EAAAR,KAAAC,MACAgB,EAAAmM,EAAAmB,OASA,OAPAF,IAAArQ,EAAAsP,GAAA9C,MAAA1K,QAAAuO,EAAApN,IAAAA,IACAqN,GAAAtQ,EAAAuP,GAAA/C,MAAA1K,QAAAwO,EAAArN,IAAAA,IAEAjD,EAAAqN,QAAAoC,GACA5E,GAAA7K,EAAAqP,QAGApM,EAAAyM,QAEAc,UAAA,WACA,MAAAhO,GAAAR,KAAAC,MAAAoL,QAAAoC,GAEAgB,WAAA,WACA,MAAAjO,GAAAR,KAAAC,MAAAoL,QAAAiC,GAEAoB,WAAA,WACA,MAAAlO,GAAAR,KAAAC,MAAAoL,QAAAkC,IAIAH,EAAAmB,MAAA,WACA,GAAAtL,KAOA,OALAA,GAAAyK,OAAA,GAAAN,GAAA,SAAAiB,EAAAC,GACArL,EAAAnC,QAAAuN,EACApL,EAAA/B,OAAAoN,IAGArL,GAGAmK,EAAAD,IAAA,SAAAwB,GACA,GACA3Q,GAAA0P,EADAzM,EAAAmM,EAAAmB,QACArQ,EAAA,CAEA,IAAAyQ,EAAA/L,OAGA,IAFA5E,EAAAwC,EAAAJ,OAAAa,IAAAA,EAAA2M,YAAAG,YAAAC,MAAAW,EAAA/L,OAAAiL,MAAA,GAEAH,EAAAiB,EAAAzQ,GAAAA,IACAiL,EAAAuE,EAAAxP,EAAAF,OAGAiD,GAAAH,SAGA,OAAAG,GAAAyM,QAGAN,EAAAwB,KAAA,SAAAD,GAIA,IAHA,GACAjB,GADAzM,EAAAmM,EAAAmB,QACArQ,EAAA,EAEAwP,EAAAiB,EAAAzQ,GAAAA,IACAwP,EAAArL,KAAApB,EAAAH,QAAAG,EAAAC,OAOA,OAJAyN,GAAA/L,QACA3B,EAAAH,UAGAG,EAAAyM,QAGAN,EAAAyB,QAAA9O,KnBhJAM,GAAAkE,WACAqI,IAAA,SAAArB,GACA,MAAAA,GAAA/K,EAAAR,KAAAC,MAAAsL,GAAA/K,EAAAR,KAAAC,OAEA0M,IAAA,SAAApB,EAAA9O,GACA+D,EAAAR,KAAAC,MAAAsL,GAAA9O,GAEAqS,OAAA,SAAAvD,SACA/K,GAAAR,KAAAC,MAAAsL,KAIAlL,EAAAwO,QAAA9O,GCXAU,EAAA8D,WAMAM,SAAA,WACA,GAAA5B,GAAAjD,KACAwN,EAAApL,EAAA,KAAAa,EAAAvC,QAAA,KAAAuC,EAAAvF,OAAA,IAAAuF,EAAAvF,OAAA,IAAA,GAMA,OAJAuF,GAAAtC,QACA6M,EAAA/M,EAAAsO,SAAA9L,EAAAtC,MAAA6M,EAAA,IAGAA,IAIA/M,EAAAsO,SAAA,SAAApO,EAAAlE,EAAAuS,GAIA,IAHA,GACAnE,GADAoE,EAAA,GAAA3K,OAAA0K,EAAA,GAAAlD,KAAA,KACA5N,EAAA,EAEA2M,EAAAlK,EAAAzC,GAAAA,IACAzB,GAAA,KAAAwS,EAAA,KAAApE,EAAAnK,QAAA,KAAAmK,EAAAnN,OAAA,IAAAmN,EAAAnN,OAAA,IAAA,IAEAmN,EAAAlK,QACAlE,EAAAgE,EAAAsO,SAAAlE,EAAAlK,MAAAlE,EAAAuS,EAAA,GAIA,OAAAvS,GmBtBA,IAAAyQ,IAAA,WAKA,QAAAgC,GAAAnR,EAAAtB,GACAuD,KAAAjC,GAAAtB,EAGA,QAAA0S,GAAA/N,EAAAP,GACAA,EAAA6M,OAAAc,aACAxO,KAAAwK,KAAApJ,GAIA,QAAAgO,GAAAhO,EAAAP,GACAA,EAAA6M,OAAAe,cACAzO,KAAAwK,KAAApJ,GAIA,QAAAiO,GAAAjO,EAAAP,GACAA,EAAA6M,OAAAgB,cACA1O,KAAAwK,KAAApJ,GAIA,QAAA8L,GAAAhO,EAAApB,EAAAwR,GACA,GAAArM,GAAAjD,KACAL,EAAAT,EAAAU,MAAAP,KAAAkQ,CAeA,OAbAtM,GAAA9D,KAAAF,EAAAC,EAAApB,GACAmF,EAAAuM,KAAA7P,EAAA,GAAAuG,GAAA7H,GACA4E,EAAAiB,MAAAvE,EAAA,GAAA,MAAAA,EAAA,GAAA7C,EACAmG,EAAAhG,KAAA0C,EAAA,IAAAE,EAAAC,QACAmD,EAAAgB,QAAAtE,EAAA,IAAAE,EAAAoE,QACAhB,EAAA4J,SAAAlN,EAAA,IAAA,IAAAA,EAAA,IAAAE,EAAAgN,SACA5J,EAAA7B,IAAA6B,EAAAuM,KAAAxJ,EAAA,IAAA/C,EAAAhG,KAAA,IAAAgG,EAAA9D,KACA8D,EAAA/D,KAAA+D,EAAAuM,KAAAxJ,EAAA,IAAA/C,EAAAhG,KAAA,IAAAgG,EAAAgB,SAAA7G,EAAA6F,EAAA4J,WAAA5J,EAAA4J,SAAA,EAAA,IAAA5J,EAAA4J,SAAA,IAAA,IAAA5J,EAAA9D,KACA8D,EAAAhC,IAAAmM,GAAAmB,QACAtL,EAAAyK,OAAAzK,EAAAhC,IAAAyM,OAEA4B,IAAAjR,IAAAoR,EAAA9C,IAAA1J,EAAA7B,GAAA6B,GAEAA,EA3CA,GAAAyM,GAAA,YACAD,EAAA,GAAApP,GACAkP,IAkJA,OAtGArC,GAAA3I,WACAoL,SAAA,GAmBAzC,EAAAN,IAAA,SAAA1N,EAAApB,GACA,MAAA2R,GAAA7C,IAAAlN,EAAAR,EAAApB,KAGAoP,EAAApM,QAAA,SAAA5B,EAAApB,GACA,GAEArB,GAFAmT,EAAA9R,GAAAmN,GAAA1L,KAAAL,GACA2B,EAAA+O,EAAA5P,KAAA4M,IAAA8C,EAAA5R,EAAA,IAAAoB,GAAAc,KAAA4M,IAAA1N,EAAApB,EAGA,KAAA+C,EACA,GAAA+O,EAAA,CAGA,OAFA/O,EAAA,GAAAqM,GAAAwC,EAAA5R,EAAA,IAAAoB,GAEAA,GACA,IAAAkD,GACA3F,EAAA,WACA,MAAAkB,GAAAyF,OAAA8L,EAAA9L,OAAA8I,KAAApO,MAGA,MACA,KAAA0H,GACA/I,EAAAsH,QAAAmI,KAAApO,EAEA,MACA,KAAA2H,GACAhJ,EAAAqB,EAKA+C,EAAAI,IAAAH,QAAArE,OAEAoE,GAAA,GAAAqM,GAAAhO,EAAApB,GAEAsF,OAAAwC,EAAA/E,EAAA5D,MACAoF,KACA,SAAAvC,GACAe,EAAAf,QAAAA,EAEAe,EAAA2O,KACA3O,EAAAI,IAAAH,QAAAhB,GAEAoL,GAAApK,QAAAD,IAGA,WACAA,EAAAI,IAAAC,OAAA,GAAAT,GAAAU,GAAA,aAAA8B,KAAA7B,MAMA,OAAAP,IAGAqM,EAAA4B,OAAA,SAAA5P,EAAApB,EAAAoG,GACA,GAAA9C,GAAA1B,EAAAR,EAAApB,GACA+R,EAAAzT,EAAA0T,cAAA,IAAA1N,EAAA,QAAAhB,EAAA,KAEAqO,GAAAX,OAAA1N,GACAqO,EAAAX,OAAA9I,EAAA5E,GAEAyO,GAAAA,EAAAjG,WAAAC,YAAAgG,GAEA3L,IAAA7F,IAAA6M,GAAAc,MAAA7M,KAAAiC,IAGA8L,EAAA6C,MACA5C,IAAA,WACA,MAAAnQ,GAAAiB,KAAAwR,EAAA7C,QAEAoD,QAAA,WACA,MAAArS,GAAA8R,EAAA7C,MAAAuC,OAEAvB,SAAA,WACA,MAAAjQ,GAAA8R,EAAA7C,MAAAwC,OAEArB,SAAA,WACA,MAAApQ,GAAA8R,EAAA7C,MAAAyC,QAIAnC,KCpKA+C,GAAA,WAGA,QAAAf,GAAAnR,EAAAtB,GACAuD,KAAAjC,IACAe,IAAAD,EAAApC,GAAA2C,QAAA8Q,EAAA,MACAtQ,MAAA,GAAAgJ,QAAA,IAAAmC,GAAAtO,KAIA,QAAAwT,GAAAjO,EAAAlD,GACA,GAAAmE,GAAAjD,IAEAiD,GAAAV,OAAAP,EAAAY,OACAK,EAAArD,MAAA,GAAAgJ,QAAA,IAAAmC,GAAA/I,IACAiB,EAAAlB,YAAA2C,OAAA5F,GAEAnB,EAAAsF,EAAAlB,SAAAmN,EAAAjM,EAAAlB,UAhBA,GAAAmO,GAAA,SAqCA,OAlBAD,GAAA1L,WAMAjC,QAAA,SAAAnD,GACA,MAAAa,MAAAJ,MAAAL,KAAAJ,IAEA8C,QAAA,SAAA9C,EAAAwO,GACA,GAAAxK,GAAAnD,KAAA+B,SAAA4L,EAEA,IAAAxK,EACA,MAAAhE,GAAAC,QAAAY,KAAAJ,MAAAuD,EAAArE,OAKAmR,KCnCA9N,GAAA,SAAAgO,GAGA,QAAAC,KACApQ,KAAAqQ,WAAA,GACArQ,KAAAsQ,QAJA,GAAAC,GAAA,kBAAApU,IAAAA,EAAAoU,gBAAAJ,CAQA,OAAA,UAAArR,GACA,GAIAoE,GAJAjC,EAAAmM,GAAAmB,QACAiC,EAAA/Q,GAAAF,KAAAT,GAAA,GAAAqR,GAAA,GAAAI,GACAE,EAAAL,EAAAlE,KAAAsE,GACArM,EAAAtE,EAAAsE,OA0BA,OAvBAqM,GAAAE,UAAAF,EAAAG,QAAAH,EAAAI,QAAA,WACA3P,EAAAC,OAAAsP,EAAAhP,SAEAgP,EAAAK,WAAAL,EAAA7G,mBAAA,WACApN,EAAA2G,GAEAA,EAAA5G,EAAAmU,EAAAtM,IAEAqM,EAAAM,OAAA,WACA5N,EAAA3G,EAAA2G,GAEA,UAAAsN,IAAA,MAAAA,EAAAhP,OAGAP,EAAAC,OAAAsP,EAAAhP,QAFAP,EAAAH,QAAA0P,EAAAO,aAAAP,EAAAQ,mBAAAR,EAAAQ,kBAAA,kBAMAR,EAAAS,KAAA,MAAAnS,EAAAoH,IACAsK,EAAAU,OAEAhO,EAAA5G,EAAAmU,EAAAtM,GAEAlD,EAAAyM,SAEAyC,eC5BAhU,GAAAiH,OAAA,WACA,QAAA+N,GAAApT,EAAAtB,GACAuD,KAAAjC,IAAAwE,OAAAxE,EAAA6E,OAAAyI,MAAA5O,GAGA,QAAA2U,GAAArT,EAAAtB,GACA,SAAAsB,IAAAiC,KAAAjC,GAAA,GAAAkS,IAAAlS,EAAAtB,IAGA,QAAA4U,GAAAtT,EAAAtB,GACA,GAAA6U,GAAAtR,KAAAjC,GAAAiC,KAAAjC,MAEAsD,IAAAC,KAAAoF,GAAA3I,EAAAuT,GAEArJ,GAAAqJ,EAAA7U,GAEA4E,GAAAC,KAAAqF,GAAA5I,EAAAuT,GAGA,QAAAlO,KACA,GAEAlE,GAAA+B,EAAAuM,EAFA+D,EAAAjT,EAAAgK,WACAxK,EAAAkC,OAAA7D,EAAA6D,KAAAlD,EACAoB,EAAA,CAIA,KAFAmD,GAAAC,KAAA8F,GAAAtK,EAAAyU,EAAAzT,GAEAoB,EAAAqS,EAAArT,GAAAA,IACAnB,EAAAmC,EAAAiH,IACAoL,EAAArT,GAAAgP,GAAApM,QAAA5B,EAAApB,GAAA4P,QAEA6D,EAAArT,IAAA+C,EAAAmM,GAAAmB,SAAAb,OAEAzM,EAAAH,QAAA5B,GAUA,OALAsO,GADA+D,EAAA3O,OAAA,EACAwK,GAAAD,IAAAoE,GAEAA,EAAA,GAGA/D,EAAAW,OAAA,WACA9M,GAAAC,KAAA+F,GAAAvK,EAAAyU,EAAAzT,KAuFA,MAnFAsF,GAAAoO,UAAA,SAAAnV,GACA,GAAA6H,GAAA7H,EAAA6H,MACAD,EAAA5H,EAAA4H,QACAE,EAAA9H,EAAA8H,QACA0I,EAAAxQ,EAAAwQ,SACA4E,EAAApV,EAAAoV,KACAzP,EAAA3F,EAAA2F,QACAoC,EAAA/H,EAAA+H,QACAlB,EAAArD,EAAAuE,OAgCA,OA9BArH,GAAAmH,EAAAkC,IACAvG,EAAAqE,MAAA,KAAA3B,OAAA,EAAA8I,MAAAnH,GACAhH,EAAAgH,IACAvG,EAAAuG,EAAAiN,EAAAtR,EAAAqE,OAGAnH,EAAAkH,EAAAkC,MACAtG,EAAAoE,QAAAA,GAGA7G,EAAA+G,KACAtE,EAAAsE,QAAA,IAAA5G,KAAAmU,IAAAnU,KAAAoU,IAAAxN,EAAA,GAAA,KAGA/G,EAAAyP,IAAAA,EAAA,IACAhN,EAAAgN,SAAA,IAAAA,GAGA9P,EAAA0U,EAAAtL,KAAA,KAAAsL,IACA5R,EAAAmC,QAAAyP,KAAA,GAAAxB,IAAA,GAAAwB,IAGAvU,EAAA8E,IACArE,EAAAqE,EAAAoP,EAAAvR,EAAAmC,SAGA9E,EAAAkH,IACAzG,EAAAyG,EAAAiN,EAAAnO,GAGAE,GAGAA,EAAAa,QAAA,2BACAb,EAAAC,GAAAhC,GAAAgC,GAAA6I,KAAA9I,GACAA,EAAAwJ,IAAA,SAAA1N,EAAApB,GAAA,GAAA+C,GAAAqM,GAAAN,IAAA1N,EAAApB,EAAA,OAAA+C,IAAAA,EAAApE,OACA2G,EAAA0L,OAAA5B,GAAA4B,OACA1L,EAAA2M,KAAA7C,GAAA6C,KACA3M,EAAA4I,MAAAd,GAAAc,MAEA3K,GACAkJ,MAAA1D,GAAA,SAAAhG,GACA,GAAAD,GAAAC,KAEA0J,MAAAzD,GAAA,IAAAvF,GAAA,SAAAV,GACAQ,GAAAC,KAAAkG,GAAA3G,EAAAO,GAAAP,KAEA0J,MAAArI,GAAA,SAAArB,GACA,GAAAqC,GAAArC,EAAAf,QAAA8R,YAEA1O,IAAAA,EAAArC,KAEA0J,MAAAhJ,GAAA,SAAAV,GACA,GAAAqC,GAAArC,EAAAf,QAAA+R,aAEA3O,IAAAA,EAAArC,KAEA0J,MAAA/C,GAAA,SAAA3G,GACA,GAAAqC,GAAArC,EAAAf,QAAAgS,YAEA5O,IAAAA,EAAArC,GAEAA,EAAA6M,OAAArL,KAAA,WACAhB,GAAAC,KAAAmG,GAAA5G,EAAAO,GAAAP,KAGAA,EAAA8O,WAAA,EACA3M,EAAA2M,QAAA9O,GACApD,EAAAoD,EAAA8O,QAAAvC,KACAvM,EAAA8O,QAAAtN,KAAA,WAAAW,EAAA2M,QAAA9O,OAIAuC,KC9IAjH,EAAA4H,QAAA,WACA,GAIArG,GAAAqU,EAJA7S,EAAAnC,EAAAuL,UAAA,GAAAnC,IAAAmC,UAAA,GAAAxL,EACAgB,EAAAkC,OAAA7D,EAAA6D,KAAAlD,EACAyU,EAAA/O,EAAA8F,UAAApJ,EAAA,EAAA,IAAAoJ,UAAApJ,EAAA,EAAA,GAAApC,EACAkV,EAAAT,EAAAjJ,UAAApJ,EAAA,EAAA,GAAAoJ,UAAApJ,EAAA,EAAA,IAGAA,GAAA8E,EAAAb,UACAzF,EAAAsG,EAAAb,QACAjE,EAAAxB,EAAAwB,IAEA8E,EAAA/B,WAGA/C,GACAxB,EAAAA,GAAA,GAAAwP,IAAAhO,EAAApB,GACAiU,EAAAhV,EAAAiV,EAAA3L,IAEAkL,EACAnO,OACA0H,MAAApN,EAAAyB,KAAAoS,GACAlP,KACA,WAAA3E,EAAAuD,IAAAH,QAAAiR,EAAAC,EAAAlH,MAAAhO,EAAAwL,WAAA0J,IACA,WAAAtU,EAAAuD,IAAAC,OAAA,GAAAT,GAAAmH,GAAAlK,EAAA0D,GAAAkH,cAGA5K,EAAAuD,IAAAH,QAAAiR,EAAAC,IAAAA,GAGAtU,EAAAgQ,OAAArL,KAAA,SAAA5F,GACAiB,EAAAjB,MAAAA,MAIAM,EAAAkV,QAAA/R,KAAA+R,QAAAhF,MAAA,GAAAxM,GAAAqH,MrClBA1E,OAAAoO,WAAAtN,MAAAgC,GAAAuL,KAAA,IAAAzP,SAAAkQ,UAAArT,GAAAxC,GAAAA,EAAAyC,KAAAiD,SAAA/C,MAAA,QAAAwF,MAAA,GAAA,MACAnI,GAAAA,EAAAwD,UAAAuD,OAAAoO,UAAAnV,EAAAwD,UkBXAiD,EAAAyB,WACAoL,QAAA,WACAnP,EAAAR,KAAAC,MAAAO,EAAAR,KAAAC,MAAAyE,OAAApG,EAAAgK,YAEAjH,GAAAC,KAAAgC,GAAAtD,KAAAC,OAEAkS,QAAA,WAGA,MAFA9Q,IAAAC,KAAAqG,GAAA3H,KAAAC,MAEAO,EAAAR,KAAAC,MAAAmK,SAEAjH,GAAAA,WACA,MAAA3C,GAAAR,KAAAC,MAAA,IAEA2C,GAAAA,UACA,MAAApC,GAAAR,KAAAC,MAAA2C,SAIAE,EAAA+L,QAAA9O,GClBAgD,EAAAwB,WACAtC,QAAA,WACA,GACAkB,GADAD,EAAA1C,EAAAR,KAAAC,KAGAiD,GAAAF,MAAAJ,QACAO,EAAAD,EAAAC,QAAAD,EAAAF,MAAAmP,UAEAhP,EAAArD,QAAAmC,SAAAkB,EAAArD,QAAAmC,QAAAkB,IAEAD,EAAAC,QAAArG,GAGAqG,GAAAA,WACA,MAAA3C,GAAAR,KAAAC,MAAAkD,UAIAJ,EAAA8L,QAAA9O,EmB/BA,IAAAqS,IAAA,WACA,QAAAC,MAYA,MARAA,GAAA9N,WACAvD,SAAAlE,EACA8U,aAAA9U,EACA+U,cAAA/U,EACAgV,aAAAhV,EACAmF,QAAAnF,GAGA,GAAAuV,MCTAC,GAAA,WAIA,QAAAC,MAHA,GAAAlK,GAAAjM,EAAAoW,qBAAA,QAAA,GACAC,EAAA,sCA+BA,OA3BAF,GAAAhO,WACAvD,SAAA,SAAA/D,GACA,MAAAwV,GAAAlT,KAAAtC,IAEA2U,aAAA,SAAA/Q,GACA,GAAA/B,GAAA+B,EAAA/B,GAEA+B,GAAA/B,IAAA,QAAAA,EAAA0F,OAAA,GAAA1F,EAAA,MAAAA,GAEA+S,cAAA,SAAAhR,GACAA,EAAAjD,OAAA2F,EAAA1C,EAAA/B,IAAA+B,EAAAjD,SAEAqE,QAAA,SAAApB,GACA,GAAA6R,EAEA7R,GAAAjD,SACA8U,EAAAtW,EAAAmJ,cAAA,UACAmN,EAAAC,MAAAzM,GACAwM,EAAAE,KAAA/R,EAAAjD,OAEA8U,EAAArJ,aAAAjH,EAAA,MAAAvB,EAAAO,IAEAiH,EAAA0B,YAAA2I,MAKA,IAAAH,EAAA1D,QAAAuD,OlB5BA3R,GAAA8D,WAMAM,SAAA,WACA,GAAA5B,GAAAjD,KACAwN,EAAApL,EAAA,KAAAa,EAAAvC,QAAA,KAAAuC,EAAAvF,OAAA,IAAAuF,EAAAvF,OAAA,IAAA,GAMA,OAJAuF,GAAAtC,QACA6M,EAAA/M,EAAAsO,SAAA9L,EAAAtC,MAAA6M,EAAA,IAGAA,IAIA/M,EAAAsO,SAAA,SAAApO,EAAAlE,EAAAuS,GAIA,IAHA,GACAnE,GADAoE,EAAA,GAAA3K,OAAA0K,EAAA,GAAAlD,KAAA,KACA5N,EAAA,EAEA2M,EAAAlK,EAAAzC,GAAAA,IACAzB,GAAA,KAAAwS,EAAA,KAAApE,EAAAnK,QAAA,KAAAmK,EAAAnN,OAAA,IAAAmN,EAAAnN,OAAA,IAAA,IAEAmN,EAAAlK,QACAlE,EAAAgE,EAAAsO,SAAAlE,EAAAlK,MAAAlE,EAAAuS,EAAA,GAIA,OAAAvS,GmBvBA,IAAAoW,IAAA,WAaA,QAAAC,GAAA5T,EAAAqS,GACA,GAAArT,GAAA2C,CAEA,KAAA3C,EAAA,EAAA2C,EAAA0Q,EAAArT,GAAAA,IACAnB,EAAA8D,EAAAsF,MACAoL,EAAArT,GAAAwB,EAAAmB,IAKA,QAAAkS,GAAAxB,GAGA,IAFA,GAAAtU,GAAAqU,EAAApT,EAAA,EAEAoT,EAAAC,EAAArT,GAAAA,IAIA,GAHAoT,EAAAA,EAAA1R,MAAAP,IACAiS,EAAAA,GAAAA,EAAA,IAAAzR,EAAAC,QAEA7C,GACA,GAAAqU,IAAArU,EACA,MAAAoB,QAGApB,GAAAqU,CAIA,OAAArU,GAGA,QAAA+V,MAzCA,GAAA7T,GAAAyG,EAAA,SACA/F,IAiGA,OA/FAuD,QACAC,GAAAsD,GAAA,IAAAxH,EAAA,SAAA9C,GACAa,EAAAb,KACAwD,EAAAxD,EAEAsB,EAAAkC,EAAAiT,MAmCAE,EAAAzO,WACAvD,SAAAsR,GAAAtR,SACA8Q,aAAA,SAAAjR,GAQA,QAAAK,KACAD,EAAAC,OAAA,GAAAT,GAAAoH,GAAAhH,EAAAO,GAAAkH,YARA,GAGArL,GAAA2C,EAAA+O,EAAA2C,EAAApT,EAHAN,EAAAiD,EAAAjD,OACAqD,EAAAJ,EAAAI,IACAsQ,EAAA1R,EAAAgB,EAAA1B,KASA,IANA0B,EAAA8O,QAAAtR,GAMAkT,IAAAtU,EAAA8V,EAAAxB,IAAA,CACA,KAAA3R,EAAA6D,GAAAC,KAAA9F,IACAA,EAAAA,EAAAwB,QAAAQ,EAAA,GAAA,GAMA,KAHAiB,EAAAjD,OAAAA,EACA+Q,KAEAzQ,EAAA,EAAAoT,EAAAC,EAAArT,GAAAA,IACAyQ,EAAAnE,KAAA0C,GAAApM,QAAAkF,EAAAsL,GAAA5D,OAGAN,IAAAD,IAAAwB,GAAAtM,KACA,WAGA,IAFAsM,EAAA/L,OAAA,EAEA1E,EAAA,EAAAoT,EAAAC,EAAArT,GAAAA,IACAoT,EAAAC,EAAArT,GAAAgP,GAAAN,IAAA0E,IAAA,GAAApE,IAAAoE,GACAA,EAAAxR,QAAAwI,UAAApK,GAEAyQ,EAAAnE,KAAA8G,EAAA5D,OAGA,YAAAzQ,GACA+F,EAAA2M,QAAA7E,MAAA9H,EAAAuO,GACAe,GAAArQ,QAAApB,KAEAyR,GAAArQ,QAAApB,GACAmC,EAAA2M,QAAA7E,MAAA9H,EAAAuO,IAGAnE,GAAAD,IAAAwB,GAAAtM,KAAApB,EAAAH,QAAAI,IAEAA,OAGAA,OAKA,IAAA8R,EAAAnE,QAAAuD,QC7GAa,GAAA,WAGA,QAAAC,MAFA,GAAAT,GAAA,YA8DA,OA1DAS,GAAA3O,WACAvD,SAAA,SAAA/D,GACA,MAAAwV,GAAAlT,KAAAtC,IAEA2U,aAAA,SAAA/Q,GACA,GAAA/B,GAAA+B,EAAA/B,GAEA+B,GAAA/B,IAAA,UAAAA,EAAA0F,OAAA,GAAA1F,EAAA,QAAAA,GAEAgT,aAAA,SAAAjR,GAWA,QAAAK,KACAD,EAAAC,OAAA,GAAAT,GAAAoH,GAAAhH,EAAAO,GAAAkH,YAXA,GAKAuH,GAAA/P,EAAAX,EAAAD,EALApB,EAAA+C,EAAA1B,KACA8B,EAAAJ,EAAAI,IACAkS,EAAA/W,EAAAmJ,cAAA,QACAnB,KACAuK,IAUA,KAPA9N,EAAA8O,QAAAtR,GACA8U,EAAAC,UAAAvS,EAAAjD,OAMAiS,EAAAsD,EAAAE,oBACAvT,EAAA+P,EAAAyD,aAAA,WACAnU,EAAA0Q,EAAAyD,aAAA,QACApU,EAAAY,EAAA,IAAAhC,GAAAqB,EAAA,IAAAA,EAAA,IAEA0Q,EAAAjG,WAAAC,YAAAgG,GACAzL,EAAAoG,MAAA5M,OAAAiS,EAAA0D,YAAArU,IAAAA,IACAyP,EAAAnE,KAAA0C,GAAApM,QAAA,QAAA5B,GAAAwO,QAIAN,IAAAD,IAAAwB,GAAAtM,KACA,WACA,GAAA3E,GAAAmD,EAAA3C,EAAA,CAIA,KAFAyQ,EAAA/L,OAAA,EAEAlF,EAAA0G,EAAAlG,GAAAA,IACA2C,EAAAqM,GAAAN,IAAAlP,EAAAwB,MAAA,GAAAgO,IAAAxP,EAAAwB,KACA2B,EAAAjD,OAAAF,EAAAE,OACAiD,EAAAf,QAAAwI,UAAApK,GAEAyQ,EAAAnE,KAAA3J,EAAA6M,QAEA1K,EAAA2M,QAAA9O,EAGAuM,IAAAD,IAAAwB,GAAAtM,KAAApB,EAAAH,QAAAI,IAEAA,KAKA,IAAAgS,EAAArE,QAAAuD,QCxDAoB,GAAA,WAIA,QAAAC,GAAAtU,GAGA,IAFA,GAAA+D,GAAAtD,EAAA1B,EAAA,EAEAgF,EAAAlB,EAAA9D,GAAAA,IACA,IAAAiB,EAAAiM,QAAAlI,EAAAwQ,WAAA9T,GAAAsD,EAAAX,OAAA3C,EAAA2C,UACA3C,EAAAsD,EAIA,OAAAtD,GAGA,QAAA+T,GAAAC,GACA,GAEA1Q,GAAArC,EAFAyB,EAAAsR,EAAAtR,QACAuR,GAAA7R,WAAAoC,SAAA0P,8BACA5V,EAAA,CAKA,KAHA2V,EAAA7R,QAAA4R,EAAAxS,IAAAwS,EAAA3K,GAAA3G,GACAuR,EAAAzP,QAAAwB,EAAA,UAAAgO,EAAAxS,IAAA8B,KAEArC,EAAAyB,EAAApE,GAAAA,IACAgF,EAAAsH,KAAA3J,EAAA1B,KAGA,OAAA0U,GAGA,QAAAE,KAGA,IAFA,GAAAlT,GAAA3C,EAAA,EAEA2C,EAAAb,KAAA9B,GAAAA,IACA2C,EAAAI,IAAAH,QAAAwH,UAAApK,IAIA,QAAA8V,KAGA,IAFA,GAAAnT,GAAA3C,EAAA,EAEA2C,EAAAb,KAAA9B,GAAAA,IACA2C,EAAAI,IAAAC,OAAA,GAAAT,GAAAoH,GAAAhH,EAAAO,KAIA,QAAA6S,GAAAlW,EAAAtB,GACAuF,EAAAwI,MAAAkJ,OAAA3V,EAAAwE,OAAAxE,EAAA6E,OAAAqG,GAAAxM,IAGA,QAAAyX,GAAAnW,EAAAtB,GACA,GACAoE,GADAyB,EAAA7F,EAAA6F,QACApE,EAAA,CAEA,IAAAoE,EAAAM,OAAA,EAAA,CAGA,IAFAnG,EAAA2E,GAAAjC,EAAA,IAAAuD,EAAAyR,KAAAC,UAAA3X,EAAA6F,UAEAzB,EAAAyB,EAAApE,GAAAA,IACAoE,EAAApE,GAAA,GAAAgP,IAAArM,EAAA3B,IAGAkE,QAAAoO,UAAAmC,EAAAlX,IACA2G,OAAA,UAAA3G,EAAA2E,IACAiB,KACA0R,EAAA7H,KAAA5J,GACA0R,EAAA9H,KAAA5J,KAjEA,GAAAnD,GAAA0G,EAAA,QACA7D,IA8FA,OAzBAoB,QACAC,GAAAsD,GAAA,IAAAxH,EAAA,SAAA9C,GACAa,EAAAb,KACA2F,EAAAY,OAAA,EAEAjF,EAAAtB,EAAA4X,MAGA5Q,GAAA+D,GAAA,SAAAmK,EAAAzT,GAIA,IAHA,GACA+C,GAAAmB,EADAqS,KACAnW,EAAA,EAEA2C,EAAA0Q,EAAArT,GAAAA,KACAnB,EAAA8D,EAAAsF,KAAA8E,GAAA1L,KAAAsB,IAAAqM,GAAAN,IAAA/L,EAAA/C,KACA+C,EAAA,GAAAqM,IAAArM,EAAA/C,EAAAO,IAEA,WAAAwC,EAAA5D,OAAA+E,EAAAyR,EAAA5S,EAAA1B,SAAA+L,GAAA0B,IAAA/L,KACAwT,EAAArS,EAAA0R,UAAAW,EAAArS,EAAA0R,SAAAzK,GAAAjH,EAAAiH,GAAA3G,cAAAA,QAAAkI,KAAA3J,GAKAlD,GAAA0W,EAAAH,KAGAhO,K1C7CA,IA7BAlD,EAAA,GAAAF,GACAkB,EAAA,GAAAjB,GAAAC,GAMAc,EAAA6B,EAAA,OAAA5F,GACA+D,EAAA6B,EAAA,UAAAyM,IACAtO,EAAA8B,EAAA,SAAA0M,IACAxO,EAAA8B,EAAA,SAAAiN,IACA/O,EAAA8B,EAAA,YAAAqN,IACAnP,EAAA+B,EAAA,QAAA2N,IACA1P,EAAAiC,EAAA,WAAAhJ,GACA+G,EAAAiC,EAAA,UAAAvD,GACAsB,EAAAiC,EAAA,WAAA7I,GACA4G,EAAAiC,EAAA,eAAAtI,GACAqG,EAAAgC,EAAA,aAAAjH,GACAiF,EAAAgC,EAAA,oBAAAvC,GACAO,EAAAgC,EAAA,QAAAmC,IACAnE,EAAAgC,EAAA,UAAAnI,GACAmG,EAAAgC,EAAA,OAAApD,GACAoB,EAAAgC,EAAA,QAAA+C,IACA/E,EAAA4B,EAAA,aAAAlJ,GACAsH,EAAA4B,EAAA,SAAA0H,IACAtJ,EAAA4B,EAAA,QAAA5C,GACAgB,EAAA4B,EAAA,MAAAvD,IACA2B,EAAA4B,EAAA,UAAAjF,GAEApE,GAAAA,EAAAiY,KACA,aAAAjY,GAAAiY,MACA,IAAAnO,IACA/C,OAAA/G,EAAAiY,KAEA,MACA,KAAAjO,IACAtC,QAAA,OAAA1H,EAAAiY,UAKAtU,KAAA5D,SAAA,UAAA4D,OAAAoD,OAAA9G,WAAAC","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\tClassDependency, ClassQueue, ClassProcessor, ClassPledge, ClassXhr, ClassFailure, ClassDescriptor,\n\thandlerModule, handlerBundle, handlerComponent,\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 = { version: '1.0.0', 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 handler/component.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, module) {\n\t\t\tprovide(id, function() { return module; });\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_HANDLER + 'component', handlerComponent);\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\tobject\n*/\n\n//=require constants.js\n//=require shortcuts.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 mixed\n */\n\nfunction functionIterate(source, callback, context) {\n\tvar properties = object.keys(source),\n\t\ti = 0, property;\n\n\tfor(; (property = properties[i]) !== UNDEFINED; i++) {\n\t\tif(callback.call(context, property, source[property]) === FALSE) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn context;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tarrayPrototypeSlice\n*/\n\n//=require shortcuts.js\n\nfunction functionToArray(arrayLikeObject, start, end) {\n\treturn arrayPrototypeSlice.call(arrayLikeObject, start, end);\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\tfunctionToArray\n*/\n\n//=require constants.js\n//=require function/toArray.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = functionToArray(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.dfd.reject(new ClassFailure(ERROR_LOAD + ' (content-type)', dependency.id));\n\t\t}\n\t}\n\n\tfunction reject(status) {\n\t\tdependency.dfd.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\tfunctionToArray,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require function/toArray.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(functionToArray(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\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[3];\n\t\t} else {\n\t\t\tlinkElement.pathname += '/../' + match[3];\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] + ' ' + match[2] + '=' + replacement + '.map' + (match[4] ? ' ' + match[4] : ''));\n\t}\n\t\n\treturn source;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tfunctionToArray\n*/\n\n//=require constants.js\n//=require function/toArray.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = functionToArray(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\tobject = Object,\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\tvalidatorIsTypeOf,\n\tfunctionToArray\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require function/toArray.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 = functionToArray(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+))?!/;","/* 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, functionToArray,\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 function/toArray.js\n//=require singleton/event.js\n\nvar singletonCache = (function() {\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\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/,\n\t\tsupportsLocalStorage = (function() { try { return 'localStorage' in global && global.localStorage; } catch(exception) { return FALSE; } }()),\n\t\tlocalStorage = supportsLocalStorage ? global.localStorage : NULL,\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_CACHE_EXCEED, function(dependency) {\n\t\t\tdemand('-!/' + DEMAND_ID + '/cache/dispose').then(function(cacheDispose) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcacheDispose(dependency.source.length);\n\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\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\t}\n\t\n\tfunction getKey(key) {\n\t\treturn localStorage.getItem(key);\n\t}\n\t\n\tfunction setKey(key, value) {\n\t\tlocalStorage[value ? 'setItem' : 'removeItem'](key, value);\n\t}\n\t\n\tfunction getState(key) {\n\t\tvar state = getKey(key),\n\t\t\tmatches;\n\n\t\tif(state && (matches = state.match(regexMatchProperties))) {\n\t\t\treturn functionToArray(matches, 1);\n\t\t}\n\t}\n\t\n\tfunction setState(key, state) {\n\t\tstate[4] = functionGetTimestamp();\n\n\t\tsetKey(key, state.join(','));\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: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar id, state;\n\n\t\t\t\t\t\t\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\t\t\t\t\t\t\t\t\t\t\t\tstate = getState(id + STORAGE_SUFFIX_STATE);\n\n\t\t\t\t\t\t\t\t\t\t\t\tif(state && state[0] === dependency.version && ((!state[2] && !dependency.lifetime) || state[2] > functionGetTimestamp())) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\tresolve: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar self = this;\n\n\t\t\t\t\t\t\t\t\t\t\tif(self.get(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_HIT, dependency);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : function(dependency) { emit(EVENT_CACHE_MISS, dependency); },\n\t\tset: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar state, id, spaceBefore;\n\n\t\t\t\t\t\t\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\tstate = [ dependency.version, dependency.source.length, dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : NULL, demand.version ];\n\t\t\t\t\t\t\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\n\t\t\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\n\t\t\t\t\t\t\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\t\t\t\t\t\t\tif(spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthrow new Error();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state);\n\t\t\t\t\t\t\t\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\tclear: {\n\t\t\tpath: supportsLocalStorage ? function(path) {\n\t\t\t\t\t\t\t\t\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey = STORAGE_PREFIX + '[' + id + ']';\n\n\t\t\t\t\t\t\t\t\t\t\t\tif(getKey(key + STORAGE_SUFFIX_STATE)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\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\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\t\tall: supportsLocalStorage ? function() {\n\t\t\t\t\t\t\t\t\t\t\t\tvar match;\n\n\t\t\t\t\t\t\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch && this.path(match[1]);\n\t\t\t\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\t\texpired: supportsLocalStorage ? function() {\n\t\t\t\t\t\t\t\t\t\t\t\tvar self = this,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch, state;\n\n\t\t\t\t\t\t\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tif(match) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate = getState(STORAGE_PREFIX + '[' + match[1] + ']' + STORAGE_SUFFIX_STATE);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(state && state[2] > 0 && state[2] <= functionGetTimestamp()) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tself.path(match[1]);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY\n\t\t}\n\t};\n\n\treturn (cache = new Cache());\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n \tFUNCTION_EMPTY, NULL,\n\tarrayPrototypeConcat,\n\tfunctionDefer, functionUuid, functionToArray,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/defer.js\n//=require function/uuid.js\n//=require function/toArray.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.dfd.resolve, pointer.dfd.reject);\n\t\t\t} else {\n\t\t\t\tpointer.dfd[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] = functionToArray(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(functionToArray(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.dfd.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t} else if(properties.rejected.length + properties.count === properties.total) {\n\t\t\tproperties.dfd.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\tdfd = ClassPledge.defer();\n\n\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({ handler: resolveListener, dfd: dfd });\n\t\t\trejectListener && properties[PLEDGE_REJECTED].push({ handler: rejectListener, dfd: dfd });\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 dfd.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 dfd = ClassPledge.defer(),\n\t\t\tproperties, i = 0, pledge;\n\t\t\n\t\tif(pledges.length) {\n\t\t\tproperties = (storage[functionUuid()] = { dfd: dfd, 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\tdfd.resolve();\n\t\t}\n\n\t\treturn dfd.pledge;\n\t};\n\n\tClassPledge.race = function(pledges) {\n\t\tvar dfd = ClassPledge.defer(),\n\t\t\ti = 0, pledge;\n\n\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\tpledge.then(dfd.resolve, dfd.reject);\n\t\t}\n\t\t\n\t\tif(!pledges.length) {\n\t\t\tdfd.resolve();\n\t\t}\n\n\t\treturn dfd.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\tobject,\n\tregexMatchInternal, regexMatchParameter,\n\tvalidatorIsPositive,\n\tfunctionResolvePath, functionResolveId, functionResolveUrl, functionIterate,\n\tClassRegistry, ClassPledge, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require shortcuts.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 setProperty(property, value) {\n\t\tthis[property] = value;\n\t}\n\n\tfunction addPending(id, dependency) {\n\t\tif(dependency.pledge.isPending()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction addResolved(id, dependency) {\n\t\tif(dependency.pledge.isResolved()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction addRejected(id, dependency) {\n\t\tif(dependency.pledge.isRejected()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\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.dfd = ClassPledge.defer();\n\t\tself.pledge = self.dfd.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\tdfd: NULL,\n\t\tpledge: NULL,\n\t\tvalue: NULL, // set by provide\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\t\t\tvalue;\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\tvalue = (function() {\n\t\t\t\t\t\t\treturn functionIterate(demand, setProperty, demand.bind(context));\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\tvalue = 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\tvalue = context;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdependency.dfd.resolve(value);\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.dfd.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.dfd.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\treturn functionIterate(registry.get(), addPending, []);\n\t\t},\n\t\tresolved: function() {\n\t\t\treturn functionIterate(registry.get(), addResolved, []);\n\t\t},\n\t\trejected: function() {\n\t\t\treturn functionIterate(registry.get(), addRejected, []);\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 setProperty(property, value) {\n\t\tthis[property] = {\n\t\t\turl: functionResolveUrl(value).replace(regexMatchTrailingSlash, '$1'),\n\t\t\tmatch: new RegExp('^' + functionEscapeRegex(value))\n\t\t};\n\t}\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, setProperty, self.location);\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 dfd = 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\tdfd.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\tdfd.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader('content-type'));\n\t\t\t} else {\n\t\t\t\tdfd.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 dfd.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\tvalidatorIsTypeOf, validatorIsObject, validatorIsPositive, validatorIsInstanceOf,\n\tfunctionIterate, functionMerge, functionDefer, functionToArray,\n\tClassPledge, ClassDependency, ClassPattern, ClassLoader, \n\tsingletonEvent, singletonCache\n*/\n\n//=require constants.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 function/toArray.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 updateCacheSettings(property, value) {\n\t\tthis[property] = { weight: property.length, state: value };\n\t}\n\n\tfunction updatePatternSettings(property, value) {\n\t\tproperty !== 'base' && (this[property] = new ClassPattern(property, value));\n\t}\n\n\tfunction updateModuleSettings(property, value) {\n\t\tvar temp = this[property] = this[property] || {};\n\n\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\n\t\tfunctionMerge(temp, value);\n\n\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp);\n\t}\n\n\tfunction demand() {\n\t\tvar dependencies = functionToArray(arguments),\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\ti = 0, uri, dfd, 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(validatorIsTypeOf(uri, STRING_STRING)) {\n\t\t\t\tdependencies[i] = ClassDependency.resolve(uri, context).pledge;\n\t\t\t} else {\n\t\t\t\tdependencies[i] = (dfd = ClassPledge.defer()).pledge;\n\n\t\t\t\tdfd.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\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, updateCacheSettings, settings.cache);\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, updatePatternSettings, settings.pattern);\n\t\t}\n\n\t\tif(validatorIsObject(modules)) {\n\t\t\tfunctionIterate(modules, updateModuleSettings, pointer);\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.get = function(uri, context) { var dependency = ClassDependency.get(uri, context); return dependency && dependency.value; };\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.dfd.resolve(isFunction ? definition.apply(NULL, arguments) : definition); },\n\t\t\t\t\tfunction() { module.dfd.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments)); }\n\t\t\t\t);\n\t\t} else {\n\t\t\tmodule.dfd.resolve(isFunction ? definition() : definition);\n\t\t}\n\n\t\tmodule.pledge.then(function(value) {\n\t\t\tmodule.value = value;\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\tif(validatorIsObject(options)) {\n\t\t\t\tsettings = options;\n\n\t\t\t\tfunctionIterate(settings, updateDependencies);\n\t\t\t}\n\t\t});\n\n\tfunction updateDependencies(uri, dependencies) {\n\t\tvar i, dependency;\n\n\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING)) {\n\t\t\t\tdependencies[i] = functionResolveId(dependency);\n\t\t\t}\n\t\t}\n\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\tdfd = dependency.dfd,\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\tdfd.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(dfd.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\tFALSE, EVENT_POST_REQUEST, ERROR_RESOLVE,\n\tabstractHandler,\n\tClassDependency, ClassPledge, ClassFailure\n*/\n\n//=require constants.js\n//=require abstract/handler.js\n//=require class/dependency.js\n//=require class/pledge.js\n//=require class/Failure.js\n\nvar handlerComponent = (function() {\n\tvar regexMatchType = /^text\\/.+$/;\n\n\tfunction HandlerComponent() {}\n\n\tHandlerComponent.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(-5) !== '.html' ? url + '.html' : url;\n\t\t},\n\t\tonPreProcess: function(dependency) {\n\t\t\tvar context = dependency.path,\n\t\t\t\tdfd = dependency.dfd,\n\t\t\t\tcontainer = document.createElement('body'),\n\t\t\t\tmodules = [],\n\t\t\t\tpledges = [],\n\t\t\t\tnode, handler, path, uri;\n\n\t\t\tdependency.enqueue = FALSE;\n\t\t\tcontainer.innerHTML = dependency.source;\n\n\t\t\tfunction reject() {\n\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments));\n\t\t\t}\n\n\t\t\twhile(node = container.firstElementChild) {\n\t\t\t\tif(handler = node.getAttribute('type')) {\n\t\t\t\t\tpath = node.getAttribute('path');\n\t\t\t\t\turi = handler + '!' + context + (path ? '/' + path : '');\n\n\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t\tmodules.push({ source: node.textContent, uri: uri });\n\t\t\t\t\tpledges.push(ClassDependency.resolve('mock:' + uri).pledge);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tClassPledge.all(pledges).then(\n\t\t\t\tfunction() {\n\t\t\t\t\tvar i = 0, module, dependency;\n\n\t\t\t\t\tpledges.length = 0;\n\n\t\t\t\t\tfor(; (module = modules[i]); i++) {\n\t\t\t\t\t\tdependency = ClassDependency.get(module.uri) || new ClassDependency(module.uri);\n\t\t\t\t\t\tdependency.source = module.source;\n\t\t\t\t\t\tdependency.handler = arguments[i];\n\n\t\t\t\t\t\tpledges.push(dependency.pledge);\n\n\t\t\t\t\t\tqueue.enqueue(dependency);\n\t\t\t\t\t}\n\n\t\t\t\t\tClassPledge.all(pledges).then(dfd.resolve, reject);\n\t\t\t\t},\n\t\t\t\treject\n\t\t\t);\n\t\t}\n\t};\n\n\treturn new (HandlerComponent.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.dfd.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.dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id));\n\t\t}\n\t}\n\n\tfunction addPattern(property, value) {\n\t\tpattern.push({ prefix: property, weight: property.length, fn: value });\n\t}\n\n\tfunction resolveBundles(property, value) {\n\t\tvar matches = value.matches,\n\t\t\ti = 0, dependency;\n\n\t\tif(matches.length > 1) {\n\t\t\tvalue.id = path + '/' + functionHash(JSON.stringify(value.matches));\n\n\t\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\t\tmatches[i] = new ClassDependency(dependency.uri);\n\t\t\t}\n\n\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\tdemand('bundle!' + value.id)\n\t\t\t\t.then(\n\t\t\t\t\tresolveDependencies.bind(matches),\n\t\t\t\t\trejectDependencies.bind(matches)\n\t\t\t\t);\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, addPattern);\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 = 0, dependency, pattern;\n\n\t\t\tfor(; (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, resolveBundles);\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/toArray.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","handler/component.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","source","callback","context","property","properties","keys","i","UNDEFINED","call","FALSE","functionToArray","arrayLikeObject","start","end","arrayPrototypeSlice","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","ClassLoader","dependency","resolve","response","validate","dfd","reject","ERROR_LOAD","id","singletonEvent","emit","EVENT_POST_REQUEST","status","load","location","createElement","pattern","process","EVENT_PRE_REQUEST","ClassXhr","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","provide","processor","version","cache","timeout","modules","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","Object","objectPrototype","toString","objectCreate","create","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","functionPrototype","Function","DEMAND_ID","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","enabled","indexOf","state","getKey","key","localStorage","getItem","setKey","getState","regexMatchProperties","setState","join","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","exception","supportsRemainingSpace","cacheDispose","set","get","lifetime","spaceBefore","remainingSpace","Error","error","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","setProperty","addPending","addResolved","addRejected","register","placeholder","mock","registry","PREFIX_INTERNAL","enqueue","isInternal","node","querySelector","list","pending","ClassPattern","regexMatchTrailingSlash","XMLHttpRequest","checkState","readyState","abort","XDomainRequest","xhr","boundCheckState","ontimeout","onerror","onabort","onprogress","onload","responseText","getResponseHeader","open","send","updateCacheSettings","updatePatternSettings","updateModuleSettings","temp","dependencies","configure","base","min","max","onPreRequest","onPostRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","abstractHandler","AbstractHandler","handlerModule","HandlerModule","suffix","getElementsByTagName","regexMatchType","script","async","text","handlerBundle","updateDependencies","getType","HandlerBundle","handlerComponent","HandlerComponent","container","innerHTML","firstElementChild","getAttribute","textContent","pluginGenie","matchPattern","prefix","generateConfiguration","bundle","configuration","/demand/handler/bundle","resolveDependencies","rejectDependencies","addPattern","resolveBundles","JSON","stringify","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\tClassDependency, ClassQueue, ClassProcessor, ClassPledge, ClassXhr, ClassFailure, ClassDescriptor,\n\thandlerModule, handlerBundle, handlerComponent,\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 = { version: '1.0.0', 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 handler/component.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, module) {\n\t\t\tprovide(id, function() { return module; });\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_HANDLER + 'component', handlerComponent);\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\tobject\n*/\n\n//=require constants.js\n//=require shortcuts.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 mixed\n */\n\nfunction functionIterate(source, callback, context) {\n\tvar properties = object.keys(source),\n\t\ti = 0, property;\n\n\tfor(; (property = properties[i]) !== UNDEFINED; i++) {\n\t\tif(callback.call(context, property, source[property]) === FALSE) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn context;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tarrayPrototypeSlice\n*/\n\n//=require shortcuts.js\n\nfunction functionToArray(arrayLikeObject, start, end) {\n\treturn arrayPrototypeSlice.call(arrayLikeObject, start, end);\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\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\tfunctionToArray\n*/\n\n//=require constants.js\n//=require function/toArray.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = functionToArray(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 pattern;\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.dfd.reject(new ClassFailure(ERROR_LOAD + ' (content-type)', dependency.id));\n\t\t}\n\t}\n\n\tfunction reject(status) {\n\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + (status ? ' (status)' : ''), dependency.id));\n\t}\n\n\tfunction load(location) {\n\t\tlocation = location || 0;\n\t\tdependency.url = document.createElement('a');\n\t\t\n\t\tdependency.url.href = 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(dependency.url).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\tfunctionToArray,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require function/toArray.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(functionToArray(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\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[3];\n\t\t} else {\n\t\t\tlinkElement.pathname += '/../' + match[3];\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] + ' ' + match[2] + '=' + replacement + '.map' + (match[4] ? ' ' + match[4] : ''));\n\t}\n\t\n\treturn source;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tfunctionToArray\n*/\n\n//=require constants.js\n//=require function/toArray.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = functionToArray(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\tobject = Object,\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\tvalidatorIsTypeOf,\n\tfunctionToArray\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require function/toArray.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 = functionToArray(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+))?!/;","/* 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, functionToArray,\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 function/toArray.js\n//=require singleton/event.js\n\nvar singletonCache = (function() {\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\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/,\n\t\tsupportsLocalStorage = (function() { try { return 'localStorage' in global && global.localStorage; } catch(exception) { return FALSE; } }()),\n\t\tlocalStorage = supportsLocalStorage ? global.localStorage : NULL,\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_CACHE_EXCEED, function(dependency) {\n\t\t\tdemand('-!/' + DEMAND_ID + '/cache/dispose').then(function(cacheDispose) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcacheDispose(dependency.source.length);\n\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\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\t}\n\t\n\tfunction getKey(key) {\n\t\treturn localStorage.getItem(key);\n\t}\n\t\n\tfunction setKey(key, value) {\n\t\tlocalStorage[value ? 'setItem' : 'removeItem'](key, value);\n\t}\n\t\n\tfunction getState(key) {\n\t\tvar state = getKey(key),\n\t\t\tmatches;\n\n\t\tif(state && (matches = state.match(regexMatchProperties))) {\n\t\t\treturn functionToArray(matches, 1);\n\t\t}\n\t}\n\t\n\tfunction setState(key, state) {\n\t\tstate[4] = functionGetTimestamp();\n\n\t\tsetKey(key, state.join(','));\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: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar id, state;\n\n\t\t\t\t\t\t\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\t\t\t\t\t\t\t\t\t\t\t\tstate = getState(id + STORAGE_SUFFIX_STATE);\n\n\t\t\t\t\t\t\t\t\t\t\t\tif(state && state[0] === dependency.version && ((!state[2] && !dependency.lifetime) || state[2] > functionGetTimestamp())) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\tresolve: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar self = this;\n\n\t\t\t\t\t\t\t\t\t\t\tif(self.get(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_HIT, dependency);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : function(dependency) { emit(EVENT_CACHE_MISS, dependency); },\n\t\tset: supportsLocalStorage ? function(dependency) {\n\t\t\t\t\t\t\t\t\t\t\tvar state, id, spaceBefore;\n\n\t\t\t\t\t\t\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\t\t\t\t\t\t\tstate = [ dependency.version, dependency.source.length, dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : NULL, demand.version ];\n\t\t\t\t\t\t\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\n\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\n\t\t\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\n\t\t\t\t\t\t\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\t\t\t\t\t\t\tif(spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthrow new Error();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state);\n\t\t\t\t\t\t\t\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\t\t\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\tclear: {\n\t\t\tpath: supportsLocalStorage ? function(path) {\n\t\t\t\t\t\t\t\t\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey = STORAGE_PREFIX + '[' + id + ']';\n\n\t\t\t\t\t\t\t\t\t\t\t\tif(getKey(key + STORAGE_SUFFIX_STATE)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\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\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\t\tall: supportsLocalStorage ? function() {\n\t\t\t\t\t\t\t\t\t\t\t\tvar match;\n\n\t\t\t\t\t\t\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch && this.path(match[1]);\n\t\t\t\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY,\n\t\t\texpired: supportsLocalStorage ? function() {\n\t\t\t\t\t\t\t\t\t\t\t\tvar self = this,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch, state;\n\n\t\t\t\t\t\t\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\tif(match) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate = getState(STORAGE_PREFIX + '[' + match[1] + ']' + STORAGE_SUFFIX_STATE);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(state && state[2] > 0 && state[2] <= functionGetTimestamp()) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tself.path(match[1]);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t\t\t\t\t\t} : FUNCTION_EMPTY\n\t\t}\n\t};\n\n\treturn (cache = new Cache());\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n \tFUNCTION_EMPTY, NULL,\n\tarrayPrototypeConcat,\n\tfunctionDefer, functionUuid, functionToArray,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/defer.js\n//=require function/uuid.js\n//=require function/toArray.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.dfd.resolve, pointer.dfd.reject);\n\t\t\t} else {\n\t\t\t\tpointer.dfd[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] = functionToArray(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(functionToArray(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.dfd.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t} else if(properties.rejected.length + properties.count === properties.total) {\n\t\t\tproperties.dfd.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\tdfd = ClassPledge.defer();\n\n\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({ handler: resolveListener, dfd: dfd });\n\t\t\trejectListener && properties[PLEDGE_REJECTED].push({ handler: rejectListener, dfd: dfd });\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 dfd.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 dfd = ClassPledge.defer(),\n\t\t\tproperties, i = 0, pledge;\n\t\t\n\t\tif(pledges.length) {\n\t\t\tproperties = (storage[functionUuid()] = { dfd: dfd, 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\tdfd.resolve();\n\t\t}\n\n\t\treturn dfd.pledge;\n\t};\n\n\tClassPledge.race = function(pledges) {\n\t\tvar dfd = ClassPledge.defer(),\n\t\t\ti = 0, pledge;\n\n\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\tpledge.then(dfd.resolve, dfd.reject);\n\t\t}\n\t\t\n\t\tif(!pledges.length) {\n\t\t\tdfd.resolve();\n\t\t}\n\n\t\treturn dfd.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\tobject,\n\tregexMatchInternal, regexMatchParameter,\n\tvalidatorIsPositive,\n\tfunctionResolvePath, functionResolveId, functionResolveUrl, functionIterate, functionToArray,\n\tClassRegistry, ClassPledge, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require shortcuts.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 function/toArray.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 setProperty(property, value) {\n\t\tthis[property] = value;\n\t}\n\n\tfunction addPending(id, dependency) {\n\t\tif(dependency.pledge.isPending()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction addResolved(id, dependency) {\n\t\tif(dependency.pledge.isResolved()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction addRejected(id, dependency) {\n\t\tif(dependency.pledge.isRejected()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\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.dfd = ClassPledge.defer();\n\t\tself.pledge = self.dfd.pledge;\n\t\t\n\t\tself.pledge.then(function() {\n\t\t\tself.value = functionToArray(arguments);\n\t\t});\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\tdfd: NULL,\n\t\tpledge: NULL,\n\t\tvalue: 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\t\t\tvalue;\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\tvalue = (function() {\n\t\t\t\t\t\t\treturn functionIterate(demand, setProperty, demand.bind(context));\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\tvalue = 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\tvalue = context;\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdependency.dfd.resolve(value);\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.dfd.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.dfd.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\treturn functionIterate(registry.get(), addPending, []);\n\t\t},\n\t\tresolved: function() {\n\t\t\treturn functionIterate(registry.get(), addResolved, []);\n\t\t},\n\t\trejected: function() {\n\t\t\treturn functionIterate(registry.get(), addRejected, []);\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 setProperty(property, value) {\n\t\tthis[property] = {\n\t\t\turl: functionResolveUrl(value).replace(regexMatchTrailingSlash, '$1'),\n\t\t\tmatch: new RegExp('^' + functionEscapeRegex(value))\n\t\t};\n\t}\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, setProperty, self.location);\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 dfd = 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\tdfd.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\tdfd.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader('content-type'));\n\t\t\t} else {\n\t\t\t\tdfd.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 dfd.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\tvalidatorIsTypeOf, validatorIsObject, validatorIsPositive, validatorIsInstanceOf,\n\tfunctionIterate, functionMerge, functionDefer, functionToArray,\n\tClassPledge, ClassDependency, ClassPattern, ClassLoader, \n\tsingletonEvent, singletonCache\n*/\n\n//=require constants.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 function/toArray.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 updateCacheSettings(property, value) {\n\t\tthis[property] = { weight: property.length, state: value };\n\t}\n\n\tfunction updatePatternSettings(property, value) {\n\t\tproperty !== 'base' && (this[property] = new ClassPattern(property, value));\n\t}\n\n\tfunction updateModuleSettings(property, value) {\n\t\tvar temp = this[property] = this[property] || {};\n\n\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\n\t\tfunctionMerge(temp, value);\n\n\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp);\n\t}\n\n\tfunction demand() {\n\t\tvar dependencies = functionToArray(arguments),\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\ti = 0, uri, dfd, 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(validatorIsTypeOf(uri, STRING_STRING)) {\n\t\t\t\tdependencies[i] = ClassDependency.resolve(uri, context).pledge;\n\t\t\t} else {\n\t\t\t\tdependencies[i] = (dfd = ClassPledge.defer()).pledge;\n\n\t\t\t\tdfd.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\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, updateCacheSettings, settings.cache);\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, updatePatternSettings, settings.pattern);\n\t\t}\n\n\t\tif(validatorIsObject(modules)) {\n\t\t\tfunctionIterate(modules, updateModuleSettings, pointer);\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.get = function(uri, context) { var dependency = ClassDependency.get(uri, context); return dependency && dependency.value; };\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.dfd.resolve(isFunction ? definition.apply(NULL, arguments) : definition); },\n\t\t\t\t\tfunction() { module.dfd.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments)); }\n\t\t\t\t);\n\t\t} else {\n\t\t\tmodule.dfd.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 suffix = '.js',\n\t\ttarget = 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 pathname = dependency.url.pathname;\n\t\t\t\n\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname;\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\tif(validatorIsObject(options)) {\n\t\t\t\tsettings = options;\n\n\t\t\t\tfunctionIterate(settings, updateDependencies);\n\t\t\t}\n\t\t});\n\n\tfunction updateDependencies(uri, dependencies) {\n\t\tvar i, dependency;\n\n\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING)) {\n\t\t\t\tdependencies[i] = functionResolveId(dependency);\n\t\t\t}\n\t\t}\n\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\tdfd = dependency.dfd,\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\tdfd.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(dfd.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\tFALSE, EVENT_POST_REQUEST, ERROR_RESOLVE,\n\tabstractHandler,\n\tClassDependency, ClassPledge, ClassFailure\n*/\n\n//=require constants.js\n//=require abstract/handler.js\n//=require class/dependency.js\n//=require class/pledge.js\n//=require class/Failure.js\n\nvar handlerComponent = (function() {\n\tvar suffix = '.html',\n\t\tregexMatchType = /^text\\/.+$/;\n\n\tfunction HandlerComponent() {}\n\n\tHandlerComponent.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 pathname = dependency.url.pathname;\n\t\t\t\n\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname;\n\t\t},\n\t\tonPreProcess: function(dependency) {\n\t\t\tvar context = dependency.path,\n\t\t\t\tdfd = dependency.dfd,\n\t\t\t\tcontainer = document.createElement('body'),\n\t\t\t\tmodules = [],\n\t\t\t\tpledges = [],\n\t\t\t\tnode, handler, path, uri;\n\n\t\t\tdependency.enqueue = FALSE;\n\t\t\tcontainer.innerHTML = dependency.source;\n\n\t\t\tfunction reject() {\n\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments));\n\t\t\t}\n\n\t\t\twhile(node = container.firstElementChild) {\n\t\t\t\tif(handler = node.getAttribute('type')) {\n\t\t\t\t\tpath = node.getAttribute('path');\n\t\t\t\t\turi = handler + '!' + context + (path ? '/' + path : '');\n\n\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t\tmodules.push({ source: node.textContent, uri: uri });\n\t\t\t\t\tpledges.push(ClassDependency.resolve('mock:' + uri).pledge);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tClassPledge.all(pledges).then(\n\t\t\t\tfunction() {\n\t\t\t\t\tvar i = 0, module, dependency;\n\n\t\t\t\t\tpledges.length = 0;\n\n\t\t\t\t\tfor(; (module = modules[i]); i++) {\n\t\t\t\t\t\tdependency = ClassDependency.get(module.uri) || new ClassDependency(module.uri);\n\t\t\t\t\t\tdependency.source = module.source;\n\t\t\t\t\t\tdependency.handler = arguments[i];\n\n\t\t\t\t\t\tpledges.push(dependency.pledge);\n\n\t\t\t\t\t\tqueue.enqueue(dependency);\n\t\t\t\t\t}\n\n\t\t\t\t\tClassPledge.all(pledges).then(dfd.resolve, reject);\n\t\t\t\t},\n\t\t\t\treject\n\t\t\t);\n\t\t}\n\t};\n\n\treturn new (HandlerComponent.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.dfd.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.dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id));\n\t\t}\n\t}\n\n\tfunction addPattern(property, value) {\n\t\tpattern.push({ prefix: property, weight: property.length, fn: value });\n\t}\n\n\tfunction resolveBundles(property, value) {\n\t\tvar matches = value.matches,\n\t\t\ti = 0, dependency;\n\n\t\tif(matches.length > 1) {\n\t\t\tvalue.id = path + '/' + functionHash(JSON.stringify(value.matches));\n\n\t\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\t\tmatches[i] = new ClassDependency(dependency.uri);\n\t\t\t}\n\n\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\tdemand('bundle!' + value.id)\n\t\t\t\t.then(\n\t\t\t\t\tresolveDependencies.bind(matches),\n\t\t\t\t\trejectDependencies.bind(matches)\n\t\t\t\t);\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, addPattern);\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 = 0, dependency, pattern;\n\n\t\t\tfor(; (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, resolveBundles);\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 435e0d2..2be398d 100644 --- a/dist/handler/css.js +++ b/dist/handler/css.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.6 | 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); +/**! Qoopido.demand 4.1.7 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +!function(e){"use strict";function t(t,r){function n(e){return a.href=e,a}function s(e,t,r){return f.test(t[1])||(e=e.replace(t[0],r)),e}function o(){}var u=".css",c=e.getElementsByTagName("head")[0],a=e.createElement("a"),i=/url\s*\(\s*["']?(.+?)["']?\s*\)/gi,d=/@import\s+["'](.+?)["']/gi,l=/^\//i,f=/^data:|http(s?):|\/\//i,m=/^text\/css/;return o.prototype={validate:function(e){return m.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-u.length)!==u?t+u:t},onPostRequest:function(e){for(var t,o=n(e.url+"/.."),u=o.href,c="//"+o.host,a=e.source;t=i.exec(a);)a=s(a,t,'url("'+n(l.test(t[1])?c+t[1]:u+t[1]).href+'")');for(;t=d.exec(a);)a=s(a,t,'@import "'+n(l.test(t[1])?c+t[1]:u+t[1]).href+'"');e.source=r(e.url,a)},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),c.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/css.js.map b/dist/handler/css.js.map index 0b5bb16..558f039 100644 --- a/dist/handler/css.js.map +++ b/dist/handler/css.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/css.js"],"names":["document","definition","abstractHandler","functionResolveSourcemaps","resolveUrl","url","resolver","href","replaceUri","source","match","replacement","regexIsAbsoluteUri","test","replace","HandlerCss","target","getElementsByTagName","createElement","regexMatchUrl","regexMatchImport","regexIsAbsolutePath","regexMatchType","prototype","validate","type","onPreRequest","dependency","slice","onPostRequest","base","host","exec","process","element","querySelector","id","setAttribute","appendChild","tagName","styleSheet","cssText","textContent","provide","extends"],"mappings":";CAAC,SAASA,GACT,YAEA,SAASC,GAAWC,EAAiBC,GASpC,QAASC,GAAWC,GAGnB,MAFAC,GAASC,KAAOF,EAETC,EAGR,QAASE,GAAWC,EAAQC,EAAOC,GAKlC,MAJIC,GAAmBC,KAAKH,EAAM,MACjCD,EAASA,EAAOK,QAAQJ,EAAM,GAAIC,IAG5BF,EAGR,QAASM,MAtBT,GAAIC,GAAsBhB,EAASiB,qBAAqB,QAAQ,GAC/DX,EAAsBN,EAASkB,cAAc,KAC7CC,EAAsB,oCACtBC,EAAsB,4BACtBC,EAAsB,OACtBT,EAAsB,yBACtBU,EAAsB,YAmEvB,OAjDAP,GAAWQ,WACVC,SAAU,SAASC,GAClB,MAAOH,GAAeT,KAAKY,IAE5BC,aAAc,SAASC,GACtB,GAAItB,GAAOsB,EAAWtB,GAEtBsB,GAAWtB,IAAwB,SAAlBA,EAAIuB,OAAM,GAAiBvB,EAAM,OAASA,GAE5DwB,cAAe,SAASF,GAOvB,IANA,GAICjB,GAJGL,EAAUD,EAAWuB,EAAWtB,IAAM,OACzCyB,EAAUzB,EAAIE,KACdwB,EAAU,KAAO1B,EAAI0B,KACrBtB,EAAUkB,EAAWlB,OAGfC,EAAQS,EAAca,KAAKvB,IACjCA,EAASD,EAAWC,EAAQC,EAAO,QAAUN,EAAWiB,EAAoBR,KAAKH,EAAM,IAAMqB,EAAOrB,EAAM,GAAKoB,EAAOpB,EAAM,IAAIH,KAAO,KAGxI,MAAOG,EAAQU,EAAiBY,KAAKvB,IACpCA,EAASD,EAAWC,EAAQC,EAAO,YAAcN,EAAWiB,EAAoBR,KAAKH,EAAM,IAAMqB,EAAOrB,EAAM,GAAKoB,EAAOpB,EAAM,IAAIH,KAAO,IAG5IoB,GAAWlB,OAASN,EAA0BwB,EAAWtB,IAAKI,IAE/DwB,QAAS,SAASN,GACjB,GAAIO,GAAUlC,EAASmC,cAAc,eAAiBR,EAAWS,GAAK,KAElEF,KACHA,EAAelC,EAASkB,cAAc,SACtCgB,EAAQT,KAAO,WAEfS,EAAQG,aAAa,YAAaV,EAAWS,IAC7CpB,EAAOsB,YAAYJ,IAGG,UAApBA,EAAQK,UACPL,EAAQM,WACVN,EAAQM,WAAWC,QAAUd,EAAWlB,OAExCyB,EAAQQ,YAAcf,EAAWlB,QAInCkC,QAAQ,WAAa,MAAOT,OAIvB,IAAKnB,EAAW6B,QAAQ1C,IAGhCyC,SAAU,2BAA4B,sCAAwC1C,IAC7ED","file":"css.js","sourcesContent":["(function(document) {\n\t'use strict';\n\n\tfunction definition(abstractHandler, functionResolveSourcemaps) {\n\t\tvar target = document.getElementsByTagName('head')[0],\n\t\t\tresolver = document.createElement('a'),\n\t\t\tregexMatchUrl = /url\\s*\\(\\s*[\"']?(.+?)[\"']?\\s*\\)/gi,\n\t\t\tregexMatchImport = /@import\\s+[\"'](.+?)[\"']/gi,\n\t\t\tregexIsAbsolutePath = /^\\//i,\n\t\t\tregexIsAbsoluteUri = /^data:|http(s?):|\\/\\//i,\n\t\t\tregexMatchType = /^text\\/css/;\n\n\t\tfunction resolveUrl(url) {\n\t\t\tresolver.href = url;\n\n\t\t\treturn resolver;\n\t\t}\n\n\t\tfunction replaceUri(source, match, replacement) {\n\t\t\tif(!regexIsAbsoluteUri.test(match[1])) {\n\t\t\t\tsource = source.replace(match[0], replacement);\n\t\t\t}\n\n\t\t\treturn source;\n\t\t}\n\n\t\tfunction HandlerCss() {}\n\n\t\tHandlerCss.prototype = {\n\t\t\tvalidate: function(type) {\n\t\t\t\treturn regexMatchType.test(type);\n\t\t\t},\n\t\t\tonPreRequest: function(dependency) {\n\t\t\t\tvar url = dependency.url;\n\n\t\t\t\tdependency.url = url.slice(-4) !== '.css' ? url + '.css' : url;\n\t\t\t},\n\t\t\tonPostRequest: function(dependency) {\n\t\t\t\tvar url = resolveUrl(dependency.url + '/..'),\n\t\t\t\t\tbase = url.href,\n\t\t\t\t\thost = '//' + url.host,\n\t\t\t\t\tsource = dependency.source,\n\t\t\t\t\tmatch;\n\n\t\t\t\twhile((match = regexMatchUrl.exec(source))) {\n\t\t\t\t\tsource = replaceUri(source, match, 'url(\"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1]).href + '\")');\n\t\t\t\t}\n\n\t\t\t\twhile((match = regexMatchImport.exec(source))) {\n\t\t\t\t\tsource = replaceUri(source, match, '@import \"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1]).href + '\"');\n\t\t\t\t}\n\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, source);\n\t\t\t},\n\t\t\tprocess: function(dependency) {\n\t\t\t\tvar element = document.querySelector('[demand-id=\"' + dependency.id + '\"]');\n\n\t\t\t\tif(!element) {\n\t\t\t\t\telement = document.createElement('style');\n\t\t\t\t\telement.type = 'text/css';\n\n\t\t\t\t\telement.setAttribute('demand-id', dependency.id);\n\t\t\t\t\ttarget.appendChild(element);\n\t\t\t\t}\n\n\t\t\t\tif(element.tagName === 'STYLE') {\n\t\t\t\t\tif(element.styleSheet) {\n\t\t\t\t\t\telement.styleSheet.cssText = dependency.source;\n\t\t\t\t\t} else {\n\t\t\t\t\t\telement.textContent = dependency.source;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tprovide(function() { return element; });\n\t\t\t}\n\t\t};\n\n\t\treturn new (HandlerCss.extends(abstractHandler));\n\t}\n\n\tprovide([ '/demand/abstract/handler', '/demand/function/resolveSourcemaps' ], definition);\n}(document));"]} \ No newline at end of file +{"version":3,"sources":["handler/css.js"],"names":["document","definition","abstractHandler","functionResolveSourcemaps","resolveUrl","url","resolver","href","replaceUri","source","match","replacement","regexIsAbsoluteUri","test","replace","HandlerCss","suffix","target","getElementsByTagName","createElement","regexMatchUrl","regexMatchImport","regexIsAbsolutePath","regexMatchType","prototype","validate","type","onPreRequest","dependency","pathname","slice","length","onPostRequest","base","host","exec","process","element","querySelector","id","setAttribute","appendChild","tagName","styleSheet","cssText","textContent","provide","extends"],"mappings":";CAAC,SAASA,GACT,YAEA,SAASC,GAAWC,EAAiBC,GAUpC,QAASC,GAAWC,GAGnB,MAFAC,GAASC,KAAOF,EAETC,EAGR,QAASE,GAAWC,EAAQC,EAAOC,GAKlC,MAJIC,GAAmBC,KAAKH,EAAM,MACjCD,EAASA,EAAOK,QAAQJ,EAAM,GAAIC,IAG5BF,EAGR,QAASM,MAvBT,GAAIC,GAAsB,OACzBC,EAAsBjB,EAASkB,qBAAqB,QAAQ,GAC5DZ,EAAsBN,EAASmB,cAAc,KAC7CC,EAAsB,oCACtBC,EAAsB,4BACtBC,EAAsB,OACtBV,EAAsB,yBACtBW,EAAsB,YAmEvB,OAjDAR,GAAWS,WACVC,SAAU,SAASC,GAClB,MAAOH,GAAeV,KAAKa,IAE5BC,aAAc,SAASC,GACtB,GAAIC,GAAWD,EAAWvB,IAAIwB,QAE9BD,GAAWvB,IAAIwB,SAAWA,EAASC,OAAOd,EAAOe,UAAYf,EAASa,EAAWb,EAASa,GAE3FG,cAAe,SAASJ,GAOvB,IANA,GAIClB,GAJGL,EAAUD,EAAWwB,EAAWvB,IAAM,OACzC4B,EAAU5B,EAAIE,KACd2B,EAAU,KAAO7B,EAAI6B,KACrBzB,EAAUmB,EAAWnB,OAGfC,EAAQU,EAAce,KAAK1B,IACjCA,EAASD,EAAWC,EAAQC,EAAO,QAAUN,EAAWkB,EAAoBT,KAAKH,EAAM,IAAMwB,EAAOxB,EAAM,GAAKuB,EAAOvB,EAAM,IAAIH,KAAO,KAGxI,MAAOG,EAAQW,EAAiBc,KAAK1B,IACpCA,EAASD,EAAWC,EAAQC,EAAO,YAAcN,EAAWkB,EAAoBT,KAAKH,EAAM,IAAMwB,EAAOxB,EAAM,GAAKuB,EAAOvB,EAAM,IAAIH,KAAO,IAG5IqB,GAAWnB,OAASN,EAA0ByB,EAAWvB,IAAKI,IAE/D2B,QAAS,SAASR,GACjB,GAAIS,GAAUrC,EAASsC,cAAc,eAAiBV,EAAWW,GAAK,KAElEF,KACHA,EAAerC,EAASmB,cAAc,SACtCkB,EAAQX,KAAO,WAEfW,EAAQG,aAAa,YAAaZ,EAAWW,IAC7CtB,EAAOwB,YAAYJ,IAGG,UAApBA,EAAQK,UACPL,EAAQM,WACVN,EAAQM,WAAWC,QAAUhB,EAAWnB,OAExC4B,EAAQQ,YAAcjB,EAAWnB,QAInCqC,QAAQ,WAAa,MAAOT,OAIvB,IAAKtB,EAAWgC,QAAQ7C,IAGhC4C,SAAU,2BAA4B,sCAAwC7C,IAC7ED","file":"css.js","sourcesContent":["(function(document) {\n\t'use strict';\n\n\tfunction definition(abstractHandler, functionResolveSourcemaps) {\n\t\tvar suffix = '.css',\n\t\t\ttarget = document.getElementsByTagName('head')[0],\n\t\t\tresolver = document.createElement('a'),\n\t\t\tregexMatchUrl = /url\\s*\\(\\s*[\"']?(.+?)[\"']?\\s*\\)/gi,\n\t\t\tregexMatchImport = /@import\\s+[\"'](.+?)[\"']/gi,\n\t\t\tregexIsAbsolutePath = /^\\//i,\n\t\t\tregexIsAbsoluteUri = /^data:|http(s?):|\\/\\//i,\n\t\t\tregexMatchType = /^text\\/css/;\n\n\t\tfunction resolveUrl(url) {\n\t\t\tresolver.href = url;\n\n\t\t\treturn resolver;\n\t\t}\n\n\t\tfunction replaceUri(source, match, replacement) {\n\t\t\tif(!regexIsAbsoluteUri.test(match[1])) {\n\t\t\t\tsource = source.replace(match[0], replacement);\n\t\t\t}\n\n\t\t\treturn source;\n\t\t}\n\n\t\tfunction HandlerCss() {}\n\n\t\tHandlerCss.prototype = {\n\t\t\tvalidate: function(type) {\n\t\t\t\treturn regexMatchType.test(type);\n\t\t\t},\n\t\t\tonPreRequest: function(dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\t\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname;\n\t\t\t},\n\t\t\tonPostRequest: function(dependency) {\n\t\t\t\tvar url = resolveUrl(dependency.url + '/..'),\n\t\t\t\t\tbase = url.href,\n\t\t\t\t\thost = '//' + url.host,\n\t\t\t\t\tsource = dependency.source,\n\t\t\t\t\tmatch;\n\n\t\t\t\twhile((match = regexMatchUrl.exec(source))) {\n\t\t\t\t\tsource = replaceUri(source, match, 'url(\"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1]).href + '\")');\n\t\t\t\t}\n\n\t\t\t\twhile((match = regexMatchImport.exec(source))) {\n\t\t\t\t\tsource = replaceUri(source, match, '@import \"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1]).href + '\"');\n\t\t\t\t}\n\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, source);\n\t\t\t},\n\t\t\tprocess: function(dependency) {\n\t\t\t\tvar element = document.querySelector('[demand-id=\"' + dependency.id + '\"]');\n\n\t\t\t\tif(!element) {\n\t\t\t\t\telement = document.createElement('style');\n\t\t\t\t\telement.type = 'text/css';\n\n\t\t\t\t\telement.setAttribute('demand-id', dependency.id);\n\t\t\t\t\ttarget.appendChild(element);\n\t\t\t\t}\n\n\t\t\t\tif(element.tagName === 'STYLE') {\n\t\t\t\t\tif(element.styleSheet) {\n\t\t\t\t\t\telement.styleSheet.cssText = dependency.source;\n\t\t\t\t\t} else {\n\t\t\t\t\t\telement.textContent = dependency.source;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tprovide(function() { return element; });\n\t\t\t}\n\t\t};\n\n\t\treturn new (HandlerCss.extends(abstractHandler));\n\t}\n\n\tprovide([ '/demand/abstract/handler', '/demand/function/resolveSourcemaps' ], definition);\n}(document));"]} \ No newline at end of file diff --git a/dist/handler/html.js b/dist/handler/html.js index b42324c..29d2ed1 100644 --- a/dist/handler/html.js +++ b/dist/handler/html.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.6 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ -!function(){"use strict";function t(t){function e(t){var e,n=document.createDocumentFragment();for(o.innerHTML=t;e=o.firstElementChild;)n.appendChild(e);return n}function n(){}var r=/^text\/html/,o=document.createElement("body");return n.prototype={validate:function(t){return r.test(t)},onPreRequest:function(t){var e=t.url;t.url=".html"!==e.slice(-5)?e+".html":e},process:function(t){provide(function(){return e(t.source)})}},new(n.extends(t))}provide(["/demand/abstract/handler"],t)}(); +/**! Qoopido.demand 4.1.7 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +!function(){"use strict";function e(e){function t(e){var t,n=document.createDocumentFragment();for(u.innerHTML=e;t=u.firstElementChild;)n.appendChild(t);return n}function n(){}var r=".html",o=/^text\/html/,u=document.createElement("body");return n.prototype={validate:function(e){return o.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-r.length)!==r?t+r:t},process:function(e){provide(function(){return t(e.source)})}},new(n.extends(e))}provide(["/demand/abstract/handler"],e)}(); //# sourceMappingURL=html.js.map diff --git a/dist/handler/html.js.map b/dist/handler/html.js.map index fead61b..6dca236 100644 --- a/dist/handler/html.js.map +++ b/dist/handler/html.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/html.js"],"names":["definition","abstractHandler","parseHtml","source","node","fragment","document","createDocumentFragment","container","innerHTML","firstElementChild","appendChild","HandlerHtml","regexMatchType","createElement","prototype","validate","type","test","onPreRequest","dependency","url","slice","process","provide","extends"],"mappings":";CAAC,WACA,YAEA,SAASA,GAAWC,GAInB,QAASC,GAAUC,GAClB,GACCC,GADGC,EAAWC,SAASC,wBAKxB,KAFAC,EAAUC,UAAYN,EAEhBC,EAAOI,EAAUE,mBACtBL,EAASM,YAAYP,EAGtB,OAAOC,GAGR,QAASO,MAhBT,GAAIC,GAAiB,cACpBL,EAAiBF,SAASQ,cAAc,OA+BzC,OAdAF,GAAYG,WACXC,SAAU,SAASC,GAClB,MAAOJ,GAAeK,KAAKD,IAE5BE,aAAc,SAASC,GACtB,GAAIC,GAAOD,EAAWC,GAEtBD,GAAWC,IAAwB,UAAlBA,EAAIC,OAAM,GAAkBD,EAAM,QAAUA,GAE9DE,QAAS,SAASH,GACjBI,QAAQ,WAAa,MAAOtB,GAAUkB,EAAWjB,YAI5C,IAAKS,EAAYa,QAAQxB,IAGjCuB,SAAU,4BAA8BxB","file":"html.js","sourcesContent":["(function() {\n\t'use strict';\n\n\tfunction definition(abstractHandler) {\n\t\tvar regexMatchType = /^text\\/html/,\n\t\t\tcontainer = document.createElement('body');\n\n\t\tfunction parseHtml(source) {\n\t\t\tvar fragment = document.createDocumentFragment(),\n\t\t\t\tnode;\n\n\t\t\tcontainer.innerHTML = source;\n\n\t\t\twhile(node = container.firstElementChild) {\n\t\t\t\tfragment.appendChild(node);\n\t\t\t}\n\n\t\t\treturn fragment;\n\t\t}\n\n\t\tfunction HandlerHtml() {}\n\n\t\tHandlerHtml.prototype = {\n\t\t\tvalidate: function(type) {\n\t\t\t\treturn regexMatchType.test(type);\n\t\t\t},\n\t\t\tonPreRequest: function(dependency) {\n\t\t\t\tvar url = dependency.url;\n\n\t\t\t\tdependency.url = url.slice(-5) !== '.html' ? url + '.html' : url;\n\t\t\t},\n\t\t\tprocess: function(dependency) {\n\t\t\t\tprovide(function() { return parseHtml(dependency.source); });\n\t\t\t}\n\t\t};\n\n\t\treturn new (HandlerHtml.extends(abstractHandler));\n\t}\n\n\tprovide([ '/demand/abstract/handler' ], definition);\n}());"]} \ No newline at end of file +{"version":3,"sources":["handler/html.js"],"names":["definition","abstractHandler","parseHtml","source","node","fragment","document","createDocumentFragment","container","innerHTML","firstElementChild","appendChild","HandlerHtml","suffix","regexMatchType","createElement","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","provide","extends"],"mappings":";CAAC,WACA,YAEA,SAASA,GAAWC,GAKnB,QAASC,GAAUC,GAClB,GACCC,GADGC,EAAWC,SAASC,wBAKxB,KAFAC,EAAUC,UAAYN,EAEhBC,EAAOI,EAAUE,mBACtBL,EAASM,YAAYP,EAGtB,OAAOC,GAGR,QAASO,MAjBT,GAAIC,GAAiB,QACpBC,EAAiB,cACjBN,EAAiBF,SAASS,cAAc,OA+BzC,OAdAH,GAAYI,WACXC,SAAU,SAASC,GAClB,MAAOJ,GAAeK,KAAKD,IAE5BE,aAAc,SAASC,GACtB,GAAIC,GAAWD,EAAWE,IAAID,QAE9BD,GAAWE,IAAID,SAAWA,EAASE,OAAOX,EAAOY,UAAYZ,EAASS,EAAWT,EAASS,GAE3FI,QAAS,SAASL,GACjBM,QAAQ,WAAa,MAAOzB,GAAUmB,EAAWlB,YAI5C,IAAKS,EAAYgB,QAAQ3B,IAGjC0B,SAAU,4BAA8B3B","file":"html.js","sourcesContent":["(function() {\n\t'use strict';\n\n\tfunction definition(abstractHandler) {\n\t\tvar suffix = '.html',\n\t\t\tregexMatchType = /^text\\/html/,\n\t\t\tcontainer = document.createElement('body');\n\n\t\tfunction parseHtml(source) {\n\t\t\tvar fragment = document.createDocumentFragment(),\n\t\t\t\tnode;\n\n\t\t\tcontainer.innerHTML = source;\n\n\t\t\twhile(node = container.firstElementChild) {\n\t\t\t\tfragment.appendChild(node);\n\t\t\t}\n\n\t\t\treturn fragment;\n\t\t}\n\n\t\tfunction HandlerHtml() {}\n\n\t\tHandlerHtml.prototype = {\n\t\t\tvalidate: function(type) {\n\t\t\t\treturn regexMatchType.test(type);\n\t\t\t},\n\t\t\tonPreRequest: function(dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\t\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname;\n\t\t\t},\n\t\t\tprocess: function(dependency) {\n\t\t\t\tprovide(function() { return parseHtml(dependency.source); });\n\t\t\t}\n\t\t};\n\n\t\treturn new (HandlerHtml.extends(abstractHandler));\n\t}\n\n\tprovide([ '/demand/abstract/handler' ], definition);\n}());"]} \ No newline at end of file diff --git a/dist/handler/json.js b/dist/handler/json.js index 1b602c9..da0afcf 100644 --- a/dist/handler/json.js +++ b/dist/handler/json.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.6 | 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)}(); +/**! Qoopido.demand 4.1.7 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +!function(){"use strict";function n(n){function t(){}var e=".json",r=/^application\/json/;return t.prototype={validate:function(n){return r.test(n)},onPreRequest:function(n){var t=n.url.pathname;n.url.pathname=t.slice(-e.length)!==e?t+e: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/json.js.map b/dist/handler/json.js.map index 0361c56..6c96b97 100644 --- a/dist/handler/json.js.map +++ b/dist/handler/json.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/json.js"],"names":["definition","abstractHandler","HandlerJson","regexMatchType","prototype","validate","type","test","onPreRequest","dependency","url","slice","process","data","JSON","parse","source","provide","extends"],"mappings":";CAAC,WACA,YAEA,SAASA,GAAWC,GAGnB,QAASC,MAFT,GAAIC,GAAiB,oBAoBrB,OAhBAD,GAAYE,WACXC,SAAU,SAASC,GAClB,MAAOH,GAAeI,KAAKD,IAE5BE,aAAc,SAASC,GACtB,GAAIC,GAAMD,EAAWC,GAErBD,GAAWC,IAAwB,UAAlBA,EAAIC,OAAM,GAAkBD,EAAM,QAAUA,GAE9DE,QAAS,SAASH,GACjB,GAAII,GAAOC,KAAKC,MAAMN,EAAWO,OAEjCC,SAAQ,WAAa,MAAOJ,OAIvB,IAAKX,EAAYgB,QAAQjB,IAGjCgB,SAAU,4BAA8BjB","file":"json.js","sourcesContent":["(function() {\n\t'use strict';\n\n\tfunction definition(abstractHandler) {\n\t\tvar regexMatchType = /^application\\/json/;\n\n\t\tfunction HandlerJson() {}\n\n\t\tHandlerJson.prototype = {\n\t\t\tvalidate: function(type) {\n\t\t\t\treturn regexMatchType.test(type);\n\t\t\t},\n\t\t\tonPreRequest: function(dependency) {\n\t\t\t\tvar url = dependency.url;\n\n\t\t\t\tdependency.url = url.slice(-5) !== '.json' ? url + '.json' : url;\n\t\t\t},\n\t\t\tprocess: function(dependency) {\n\t\t\t\tvar data = JSON.parse(dependency.source);\n\n\t\t\t\tprovide(function() { return data; });\n\t\t\t}\n\t\t};\n\n\t\treturn new (HandlerJson.extends(abstractHandler));\n\t}\n\n\tprovide([ '/demand/abstract/handler' ], definition);\n}());"]} \ No newline at end of file +{"version":3,"sources":["handler/json.js"],"names":["definition","abstractHandler","HandlerJson","suffix","regexMatchType","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","data","JSON","parse","source","provide","extends"],"mappings":";CAAC,WACA,YAEA,SAASA,GAAWC,GAInB,QAASC,MAHT,GAAIC,GAAiB,QACpBC,EAAiB,oBAoBlB,OAhBAF,GAAYG,WACXC,SAAU,SAASC,GAClB,MAAOH,GAAeI,KAAKD,IAE5BE,aAAc,SAASC,GACtB,GAAIC,GAAWD,EAAWE,IAAID,QAE9BD,GAAWE,IAAID,SAAWA,EAASE,OAAOV,EAAOW,UAAYX,EAASQ,EAAWR,EAASQ,GAE3FI,QAAS,SAASL,GACjB,GAAIM,GAAOC,KAAKC,MAAMR,EAAWS,OAEjCC,SAAQ,WAAa,MAAOJ,OAIvB,IAAKd,EAAYmB,QAAQpB,IAGjCmB,SAAU,4BAA8BpB","file":"json.js","sourcesContent":["(function() {\n\t'use strict';\n\n\tfunction definition(abstractHandler) {\n\t\tvar suffix = '.json',\n\t\t\tregexMatchType = /^application\\/json/;\n\n\t\tfunction HandlerJson() {}\n\n\t\tHandlerJson.prototype = {\n\t\t\tvalidate: function(type) {\n\t\t\t\treturn regexMatchType.test(type);\n\t\t\t},\n\t\t\tonPreRequest: function(dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\t\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname;\n\t\t\t},\n\t\t\tprocess: function(dependency) {\n\t\t\t\tvar data = JSON.parse(dependency.source);\n\n\t\t\t\tprovide(function() { return data; });\n\t\t\t}\n\t\t};\n\n\t\treturn new (HandlerJson.extends(abstractHandler));\n\t}\n\n\tprovide([ '/demand/abstract/handler' ], definition);\n}());"]} \ No newline at end of file diff --git a/dist/handler/legacy.js b/dist/handler/legacy.js index 0cacab7..c3789d9 100644 --- a/dist/handler/legacy.js +++ b/dist/handler/legacy.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.6 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.7 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function e(e,n,t,r){function o(){var e,r=this,o=r.dfd,u=a[r.path]&&a[r.path].probe;t.process(r),u&&(e=u())?provide(function(){return e}):o.reject(new n("error probing",r.path))}function u(){}var a={};return demand.on("postConfigure:"+e,function(e){a=r(e)?e:{}}),u.prototype={onPreRequest:function(e){var n=a[e.path]&&a[e.path].dependencies;t.onPreRequest(e),n&&(e.enqueue=demand.apply(null,n))},onPreProcess:function(e){var n=a[e.path]&&a[e.path].dependencies;n&&"boolean"==typeof e.enqueue&&(e.enqueue=demand.apply(null,n))},process:function(e){var t=o.bind(e);e.enqueue===!0?t():e.enqueue.then(t,function(){e.dfd.reject(new n("error resolving",e.path,arguments))})}},new(u.extends(t))}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 79a95d1..3096529 100644 --- a/dist/handler/text.js +++ b/dist/handler/text.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.6 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.7 | 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 4c21618..dc8eb3b 100644 --- a/dist/plugin/cookie.js +++ b/dist/plugin/cookie.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.6 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.7 | 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 3c9b9e3..39453b4 100644 --- a/dist/plugin/lzstring.js +++ b/dist/plugin/lzstring.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.6 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.7 | 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 13ad6e7..fe33ec5 100644 --- a/dist/plugin/sri.js +++ b/dist/plugin/sri.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.6 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.7 | 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.dfd.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 4b6b9ad..a7d9b7e 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.1.6", + "version": "4.1.7", "homepage": "https://github.com/dlueth/qoopido.demand", "author": { "name": "Dirk Lueth",