-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhoodie.min.js
5 lines (5 loc) · 139 KB
/
hoodie.min.js
1
2
3
4
5
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.Hoodie=a()}}(function(){var a,b,c;return function d(a,b,c){function e(g,h){if(!b[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=b[g]={exports:{}};a[g][0].call(j.exports,function(b){var c=a[g][1][b];return e(c?c:b)},j,j.exports,d,a,b,c)}return b[g].exports}for(var f="function"==typeof require&&require,g=0;g<c.length;g++)e(c[g]);return e}({1:[function(b,c,d){"use strict";!function(b,e){function f(){var a={},b=this;b.on=function(b,c,d){a[b]||(a[b]=[]),a[b].push({f:c,c:d})},b.off=function(b,c){for(var d=a[b]||[],e=d.length=c?d.length:0;e-->0;)c===d[e].f&&d.splice(e,1)},b.trigger=function(){var b,c=Array.apply([],arguments),d=a[c.shift()]||[],e=d.length;for(b=0;e>b;b++)d[b].f.apply(d[b].c,c)},b.bind=b.on,b.unbind=b.off,b.emit=b.trigger}var g="undefined"==typeof applicationCache?void 0:applicationCache;"function"==typeof a&&a.amd?a([],function(){return b.appCacheNanny=e(g,f),b.appCacheNanny}):"object"==typeof d?c.exports=e(g,f):b.appCacheNanny=e(g,f)}(this,function(a,b){function c(){var b,c;try{v=!localStorage.getItem(x),localStorage.setItem(x,"1")}catch(e){}return m.isSupported()?a.status!==a.UNCACHED?(d(),q=!1,p=!0,void y.forEach(function(a){a()})):(b=document.createElement("iframe"),b.src=n.loaderPath,b.style.display="none",b.onload=function(){a=b.contentWindow.applicationCache,d(),q=!1,p=!0,y.forEach(function(a){a()})},b.onerror=function(){throw new Error("/appcache-loader.html could not be loaded.")},c=document.getElementsByTagName("script")[0],void c.parentNode.insertBefore(b,c)):void(m.update=w)}function d(){e("updateready",g),e("error",i),e("obsolete",j),e("noupdate",h),e("cached",h),e("updateready",h),e("progress",h),e("downloading",h),addEventListener("online",m.update,!1),addEventListener("offline",m.update,!1)}function e(b,c){a.addEventListener(b,c,!1)}function f(a){s||m.trigger(a)}function g(){try{s||(s=!0,m.trigger("updateready")),a.swapCache()}catch(b){}}function h(a){var b="";v&&(b="init:","cached"===a.type&&(v=!1)),f(b+a.type),u&&(u=!1,m.start(),f("online"))}function i(){f("error"),u||(u=!0,a.status!==a.UNCACHED&&(m.start(),f("offline")))}function j(){f("obsolete"),u&&(u=!1,f("online")),m.stop()}var k="/appcache-loader.html",l=3e4,m=new b,n={loaderPath:k,checkInterval:l,offlineCheckInterval:l};m.isSupported=function(){return!!a},m.update=function(){if(f("update"),!p)return y.push(m.update),q||(c(),q=!0),!0;if(!m.isSupported())return!1;try{return a.update(),!0}catch(b){return m.update=w,!1}};var o,p=!1,q=!1;m.start=function(a){return a&&m.set(a),p?(clearInterval(o),r=m.get(u?"offlineCheckInterval":"checkInterval"),o=setInterval(m.update,r),t=!0,void f("start")):(y.push(m.start),q||(c(),q=!0),!0)},m.stop=function(){clearInterval(o),t=!1,f("stop")},m.isCheckingForUpdates=function(){return t},m.hasUpdate=function(){return s},m.set=function(a,b){var c,d;if("object"!=typeof a)n[a]=b;else{d=a;for(c in d)d.hasOwnProperty(c)&&(n[c]=d[c])}},m.get=function(a){var b,c={};if(a)return n[a];for(b in n)n.hasOwnProperty(b)&&(c[b]=n[b]);return c};var r=l,s=!1,t=!1,u=!1,v=!1,w=function(){},x="_appcache_nanny",y=[];return m})},{}],2:[function(a,b){function c(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function d(a){return"function"==typeof a}function e(a){return"number"==typeof a}function f(a){return"object"==typeof a&&null!==a}function g(a){return void 0===a}b.exports=c,c.EventEmitter=c,c.prototype._events=void 0,c.prototype._maxListeners=void 0,c.defaultMaxListeners=10,c.prototype.setMaxListeners=function(a){if(!e(a)||0>a||isNaN(a))throw TypeError("n must be a positive number");return this._maxListeners=a,this},c.prototype.emit=function(a){var b,c,e,h,i,j;if(this._events||(this._events={}),"error"===a&&(!this._events.error||f(this._events.error)&&!this._events.error.length)){if(b=arguments[1],b instanceof Error)throw b;throw TypeError('Uncaught, unspecified "error" event.')}if(c=this._events[a],g(c))return!1;if(d(c))switch(arguments.length){case 1:c.call(this);break;case 2:c.call(this,arguments[1]);break;case 3:c.call(this,arguments[1],arguments[2]);break;default:for(e=arguments.length,h=new Array(e-1),i=1;e>i;i++)h[i-1]=arguments[i];c.apply(this,h)}else if(f(c)){for(e=arguments.length,h=new Array(e-1),i=1;e>i;i++)h[i-1]=arguments[i];for(j=c.slice(),e=j.length,i=0;e>i;i++)j[i].apply(this,h)}return!0},c.prototype.addListener=function(a,b){var e;if(!d(b))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",a,d(b.listener)?b.listener:b),this._events[a]?f(this._events[a])?this._events[a].push(b):this._events[a]=[this._events[a],b]:this._events[a]=b,f(this._events[a])&&!this._events[a].warned){var e;e=g(this._maxListeners)?c.defaultMaxListeners:this._maxListeners,e&&e>0&&this._events[a].length>e&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),"function"==typeof console.trace&&console.trace())}return this},c.prototype.on=c.prototype.addListener,c.prototype.once=function(a,b){function c(){this.removeListener(a,c),e||(e=!0,b.apply(this,arguments))}if(!d(b))throw TypeError("listener must be a function");var e=!1;return c.listener=b,this.on(a,c),this},c.prototype.removeListener=function(a,b){var c,e,g,h;if(!d(b))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(c=this._events[a],g=c.length,e=-1,c===b||d(c.listener)&&c.listener===b)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,b);else if(f(c)){for(h=g;h-->0;)if(c[h]===b||c[h].listener&&c[h].listener===b){e=h;break}if(0>e)return this;1===c.length?(c.length=0,delete this._events[a]):c.splice(e,1),this._events.removeListener&&this.emit("removeListener",a,b)}return this},c.prototype.removeAllListeners=function(a){var b,c;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[a]&&delete this._events[a],this;if(0===arguments.length){for(b in this._events)"removeListener"!==b&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this._events={},this}if(c=this._events[a],d(c))this.removeListener(a,c);else for(;c.length;)this.removeListener(a,c[c.length-1]);return delete this._events[a],this},c.prototype.listeners=function(a){var b;return b=this._events&&this._events[a]?d(this._events[a])?[this._events[a]]:this._events[a].slice():[]},c.listenerCount=function(a,b){var c;return c=a._events&&a._events[b]?d(a._events[b])?1:a._events[b].length:0}},{}],3:[function(a,b){b.exports="function"==typeof Object.create?function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:function(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},{}],4:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],5:[function(a,b){b.exports=function(a){return a&&"object"==typeof a&&"function"==typeof a.copy&&"function"==typeof a.fill&&"function"==typeof a.readUInt8}},{}],6:[function(a,b,c){(function(b,d){function e(a,b){var d={seen:[],stylize:g};return arguments.length>=3&&(d.depth=arguments[2]),arguments.length>=4&&(d.colors=arguments[3]),p(b)?d.showHidden=b:b&&c._extend(d,b),v(d.showHidden)&&(d.showHidden=!1),v(d.depth)&&(d.depth=2),v(d.colors)&&(d.colors=!1),v(d.customInspect)&&(d.customInspect=!0),d.colors&&(d.stylize=f),i(d,a,d.depth)}function f(a,b){var c=e.styles[b];return c?"["+e.colors[c][0]+"m"+a+"["+e.colors[c][1]+"m":a}function g(a){return a}function h(a){var b={};return a.forEach(function(a){b[a]=!0}),b}function i(a,b,d){if(a.customInspect&&b&&A(b.inspect)&&b.inspect!==c.inspect&&(!b.constructor||b.constructor.prototype!==b)){var e=b.inspect(d,a);return t(e)||(e=i(a,e,d)),e}var f=j(a,b);if(f)return f;var g=Object.keys(b),p=h(g);if(a.showHidden&&(g=Object.getOwnPropertyNames(b)),z(b)&&(g.indexOf("message")>=0||g.indexOf("description")>=0))return k(b);if(0===g.length){if(A(b)){var q=b.name?": "+b.name:"";return a.stylize("[Function"+q+"]","special")}if(w(b))return a.stylize(RegExp.prototype.toString.call(b),"regexp");if(y(b))return a.stylize(Date.prototype.toString.call(b),"date");if(z(b))return k(b)}var r="",s=!1,u=["{","}"];if(o(b)&&(s=!0,u=["[","]"]),A(b)){var v=b.name?": "+b.name:"";r=" [Function"+v+"]"}if(w(b)&&(r=" "+RegExp.prototype.toString.call(b)),y(b)&&(r=" "+Date.prototype.toUTCString.call(b)),z(b)&&(r=" "+k(b)),0===g.length&&(!s||0==b.length))return u[0]+r+u[1];if(0>d)return w(b)?a.stylize(RegExp.prototype.toString.call(b),"regexp"):a.stylize("[Object]","special");a.seen.push(b);var x;return x=s?l(a,b,d,p,g):g.map(function(c){return m(a,b,d,p,c,s)}),a.seen.pop(),n(x,r,u)}function j(a,b){if(v(b))return a.stylize("undefined","undefined");if(t(b)){var c="'"+JSON.stringify(b).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return a.stylize(c,"string")}return s(b)?a.stylize(""+b,"number"):p(b)?a.stylize(""+b,"boolean"):q(b)?a.stylize("null","null"):void 0}function k(a){return"["+Error.prototype.toString.call(a)+"]"}function l(a,b,c,d,e){for(var f=[],g=0,h=b.length;h>g;++g)f.push(F(b,String(g))?m(a,b,c,d,String(g),!0):"");return e.forEach(function(e){e.match(/^\d+$/)||f.push(m(a,b,c,d,e,!0))}),f}function m(a,b,c,d,e,f){var g,h,j;if(j=Object.getOwnPropertyDescriptor(b,e)||{value:b[e]},j.get?h=j.set?a.stylize("[Getter/Setter]","special"):a.stylize("[Getter]","special"):j.set&&(h=a.stylize("[Setter]","special")),F(d,e)||(g="["+e+"]"),h||(a.seen.indexOf(j.value)<0?(h=q(c)?i(a,j.value,null):i(a,j.value,c-1),h.indexOf("\n")>-1&&(h=f?h.split("\n").map(function(a){return" "+a}).join("\n").substr(2):"\n"+h.split("\n").map(function(a){return" "+a}).join("\n"))):h=a.stylize("[Circular]","special")),v(g)){if(f&&e.match(/^\d+$/))return h;g=JSON.stringify(""+e),g.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(g=g.substr(1,g.length-2),g=a.stylize(g,"name")):(g=g.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),g=a.stylize(g,"string"))}return g+": "+h}function n(a,b,c){var d=0,e=a.reduce(function(a,b){return d++,b.indexOf("\n")>=0&&d++,a+b.replace(/\u001b\[\d\d?m/g,"").length+1},0);return e>60?c[0]+(""===b?"":b+"\n ")+" "+a.join(",\n ")+" "+c[1]:c[0]+b+" "+a.join(", ")+" "+c[1]}function o(a){return Array.isArray(a)}function p(a){return"boolean"==typeof a}function q(a){return null===a}function r(a){return null==a}function s(a){return"number"==typeof a}function t(a){return"string"==typeof a}function u(a){return"symbol"==typeof a}function v(a){return void 0===a}function w(a){return x(a)&&"[object RegExp]"===C(a)}function x(a){return"object"==typeof a&&null!==a}function y(a){return x(a)&&"[object Date]"===C(a)}function z(a){return x(a)&&("[object Error]"===C(a)||a instanceof Error)}function A(a){return"function"==typeof a}function B(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function C(a){return Object.prototype.toString.call(a)}function D(a){return 10>a?"0"+a.toString(10):a.toString(10)}function E(){var a=new Date,b=[D(a.getHours()),D(a.getMinutes()),D(a.getSeconds())].join(":");return[a.getDate(),J[a.getMonth()],b].join(" ")}function F(a,b){return Object.prototype.hasOwnProperty.call(a,b)}var G=/%[sdj%]/g;c.format=function(a){if(!t(a)){for(var b=[],c=0;c<arguments.length;c++)b.push(e(arguments[c]));return b.join(" ")}for(var c=1,d=arguments,f=d.length,g=String(a).replace(G,function(a){if("%%"===a)return"%";if(c>=f)return a;switch(a){case"%s":return String(d[c++]);case"%d":return Number(d[c++]);case"%j":try{return JSON.stringify(d[c++])}catch(b){return"[Circular]"}default:return a}}),h=d[c];f>c;h=d[++c])g+=q(h)||!x(h)?" "+h:" "+e(h);return g},c.deprecate=function(a,e){function f(){if(!g){if(b.throwDeprecation)throw new Error(e);b.traceDeprecation?console.trace(e):console.error(e),g=!0}return a.apply(this,arguments)}if(v(d.process))return function(){return c.deprecate(a,e).apply(this,arguments)};if(b.noDeprecation===!0)return a;var g=!1;return f};var H,I={};c.debuglog=function(a){if(v(H)&&(H=b.env.NODE_DEBUG||""),a=a.toUpperCase(),!I[a])if(new RegExp("\\b"+a+"\\b","i").test(H)){var d=b.pid;I[a]=function(){var b=c.format.apply(c,arguments);console.error("%s %d: %s",a,d,b)}}else I[a]=function(){};return I[a]},c.inspect=e,e.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},e.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},c.isArray=o,c.isBoolean=p,c.isNull=q,c.isNullOrUndefined=r,c.isNumber=s,c.isString=t,c.isSymbol=u,c.isUndefined=v,c.isRegExp=w,c.isObject=x,c.isDate=y,c.isError=z,c.isFunction=A,c.isPrimitive=B,c.isBuffer=a("./support/isBuffer");var J=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];c.log=function(){console.log("%s - %s",E(),c.format.apply(c,arguments))},c.inherits=a("inherits"),c._extend=function(a,b){if(!b||!x(b))return a;for(var c=Object.keys(b),d=c.length;d--;)a[c[d]]=b[c[d]];return a}}).call(this,a("cO2pGs"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":5,cO2pGs:4,inherits:3}],7:[function(b,c,d){(function(e,f){!function(b){if("object"==typeof d&&"undefined"!=typeof c)c.exports=b();else if("function"==typeof a&&a.amd)a([],b);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof f?e=f:"undefined"!=typeof self&&(e=self),e.Promise=b()}}(function(){var a,c,d;return function g(a,c,d){function e(h,i){if(!c[h]){if(!a[h]){var j="function"==typeof b&&b;if(!i&&j)return j(h,!0);if(f)return f(h,!0);var k=new Error("Cannot find module '"+h+"'");throw k.code="MODULE_NOT_FOUND",k}var l=c[h]={exports:{}};a[h][0].call(l.exports,function(b){var c=a[h][1][b];return e(c?c:b)},l,l.exports,g,a,c,d)}return c[h].exports}for(var f="function"==typeof b&&b,h=0;h<d.length;h++)e(d[h]);return e}({1:[function(a,b){"use strict";b.exports=function(a){function b(a){var b=new c(a),d=b.promise();return b.setHowMany(1),b.setUnwrap(),b.init(),d}var c=a._SomePromiseArray;a.any=function(a){return b(a)},a.prototype.any=function(){return b(this)}}},{}],2:[function(a,b){"use strict";function c(){this._isTickUsed=!1,this._lateQueue=new h(16),this._normalQueue=new h(16);var a=this;this.drainQueues=function(){a._drainQueues()},this._schedule=g.isStatic?g(this.drainQueues):g}var d;try{throw new Error}catch(f){d=f}var g=a("./schedule.js"),h=a("./queue.js"),i="undefined"!=typeof e?e:void 0;c.prototype.haveItemsQueued=function(){return this._normalQueue.length()>0},c.prototype._withDomain=function(a){return void 0===i||null==i.domain||a.domain||(a=i.domain.bind(a)),a},c.prototype.throwLater=function(a,b){if(1===arguments.length&&(b=a,a=function(){throw b}),a=this._withDomain(a),"undefined"!=typeof setTimeout)setTimeout(function(){a(b)},0);else try{this._schedule(function(){a(b)})}catch(c){throw new Error("No async scheduler available\n\n See http://goo.gl/m3OTXk\n")}},c.prototype.invokeLater=function(a,b,c){a=this._withDomain(a),this._lateQueue.push(a,b,c),this._queueTick()},c.prototype.invokeFirst=function(a,b,c){a=this._withDomain(a),this._normalQueue.unshift(a,b,c),this._queueTick()},c.prototype.invoke=function(a,b,c){a=this._withDomain(a),this._normalQueue.push(a,b,c),this._queueTick()},c.prototype.settlePromises=function(a){this._normalQueue._pushOne(a),this._queueTick()},c.prototype._drainQueue=function(a){for(;a.length()>0;){var b=a.shift();if("function"==typeof b){var c=a.shift(),d=a.shift();b.call(c,d)}else b._settlePromises()}},c.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._drainQueue(this._lateQueue)},c.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},c.prototype._reset=function(){this._isTickUsed=!1},b.exports=new c,b.exports.firstLineError=d},{"./queue.js":28,"./schedule.js":31}],3:[function(a,b){"use strict";b.exports=function(a,b,c){var d=function(a,b){this._reject(b)},e=function(a,b){b.promiseRejectionQueued=!0,b.bindingPromise._then(d,d,null,this,a)},f=function(a,b){this._setBoundTo(a),this._isPending()&&this._resolveCallback(b.target)},g=function(a,b){b.promiseRejectionQueued||this._reject(a)};a.prototype.bind=function(d){var h=c(d),i=new a(b);i._propagateFrom(this,1);var j=this._target();if(h instanceof a){var k={promiseRejectionQueued:!1,promise:i,target:j,bindingPromise:h};j._then(b,e,i._progress,i,k),h._then(f,g,i._progress,i,k)}else i._setBoundTo(d),i._resolveCallback(j);return i},a.prototype._setBoundTo=function(a){void 0!==a?(this._bitField=131072|this._bitField,this._boundTo=a):this._bitField=-131073&this._bitField},a.prototype._isBound=function(){return 131072===(131072&this._bitField)},a.bind=function(d,e){var f=c(d),g=new a(b);return f instanceof a?f._then(function(a){g._setBoundTo(a),g._resolveCallback(e)},g._reject,g._progress,g,null):(g._setBoundTo(d),g._resolveCallback(e)),g}}},{}],4:[function(a,b){"use strict";function c(){try{Promise===e&&(Promise=d)}catch(a){}return e}var d;"undefined"!=typeof Promise&&(d=Promise);var e=a("./promise.js")();e.noConflict=c,b.exports=e},{"./promise.js":23}],5:[function(a,b){"use strict";var c=Object.create;if(c){var d=c(null),e=c(null);d[" size"]=e[" size"]=0}b.exports=function(b){function c(a,c){var d;if(null!=a&&(d=a[c]),"function"!=typeof d){var e="Object "+h.classString(a)+" has no method '"+h.toString(c)+"'";throw new b.TypeError(e)}return d}function d(a){var b=this.pop(),d=c(a,b);return d.apply(a,this)}function e(a){return a[this]}function f(a){var b=+this;return 0>b&&(b=Math.max(0,b+a.length)),a[b]}{var g,h=a("./util.js"),i=h.canEvaluate;h.isIdentifier}b.prototype.call=function(a){for(var b=arguments.length,c=new Array(b-1),e=1;b>e;++e)c[e-1]=arguments[e];return c.push(a),this._then(d,void 0,void 0,c,void 0)},b.prototype.get=function(a){var b,c="number"==typeof a;if(c)b=f;else if(i){var d=g(a);b=null!==d?d:e}else b=e;return this._then(b,void 0,void 0,a,void 0)}}},{"./util.js":38}],6:[function(a,b){"use strict";b.exports=function(b){var c=a("./errors.js"),d=a("./async.js"),e=c.CancellationError;b.prototype._cancel=function(a){if(!this.isCancellable())return this;for(var b,c=this;void 0!==(b=c._cancellationParent)&&b.isCancellable();)c=b;this._unsetCancellable(),c._target()._rejectCallback(a,!1,!0)},b.prototype.cancel=function(a){return this.isCancellable()?(void 0===a&&(a=new e),d.invokeLater(this._cancel,this,a),this):this},b.prototype.cancellable=function(){return this._cancellable()?this:(this._setCancellable(),this._cancellationParent=void 0,this)},b.prototype.uncancellable=function(){var a=this.then();return a._unsetCancellable(),a},b.prototype.fork=function(a,b,c){var d=this._then(a,b,c,void 0,void 0);return d._setCancellable(),d._cancellationParent=void 0,d}}},{"./async.js":2,"./errors.js":13}],7:[function(a,b){"use strict";b.exports=function(){function b(a){this._parent=a;var c=this._length=1+(void 0===a?0:a._length);v(this,b),c>32&&this.uncycle()}function c(a,b){for(var c=0;c<b.length-1;++c)b[c].push("From previous event:"),b[c]=b[c].join("\n");return c<b.length&&(b[c]=b[c].join("\n")),a+"\n"+b.join("\n")}function d(a){for(var b=0;b<a.length;++b)(0===a[b].length||b+1<a.length&&a[b][0]===a[b+1][0])&&(a.splice(b,1),b--)}function f(a){for(var b=a[0],c=1;c<a.length;++c){for(var d=a[c],e=b.length-1,f=b[e],g=-1,h=d.length-1;h>=0;--h)if(d[h]===f){g=h;break}for(var h=g;h>=0;--h){var i=d[h];if(b[e]!==i)break;b.pop(),e--}b=d}}function g(a){for(var b=[],c=0;c<a.length;++c){var d=a[c],e=p.test(d)||" (No stack trace)"===d,f=e&&s(d);e&&!f&&(r&&" "!==d.charAt(0)&&(d=" "+d),b.push(d))}return b}function h(a){for(var b=a.stack.replace(/\s+$/g,"").split("\n"),c=0;c<b.length;++c){var d=b[c];if(" (No stack trace)"===d||p.test(d))break}return c>0&&(b=b.slice(c)),b}function i(a){var b;if("function"==typeof a)b="[function "+(a.name||"anonymous")+"]";else{b=a.toString();var c=/\[object [a-zA-Z0-9$_]+\]/;if(c.test(b))try{var d=JSON.stringify(a);b=d}catch(e){}0===b.length&&(b="(empty array)")}return"(<"+j(b)+">, no stack trace)"}function j(a){var b=41;return a.length<b?a:a.substr(0,b-3)+"..."}function k(a){var b=a.match(t);return b?{fileName:b[1],line:parseInt(b[2],10)}:void 0}var l,m=a("./async.js"),n=a("./util.js"),o=/[\\\/]bluebird[\\\/]js[\\\/](main|debug|zalgo|instrumented)/,p=null,q=null,r=!1;n.inherits(b,Error),b.prototype.uncycle=function(){var a=this._length;if(!(2>a)){for(var b=[],c={},d=0,e=this;void 0!==e;++d)b.push(e),e=e._parent;a=this._length=d;for(var d=a-1;d>=0;--d){var f=b[d].stack;void 0===c[f]&&(c[f]=d)}for(var d=0;a>d;++d){var g=b[d].stack,h=c[g];if(void 0!==h&&h!==d){h>0&&(b[h-1]._parent=void 0,b[h-1]._length=1),b[d]._parent=void 0,b[d]._length=1;var i=d>0?b[d-1]:this;a-1>h?(i._parent=b[h+1],i._parent.uncycle(),i._length=i._parent._length+1):(i._parent=void 0,i._length=1);for(var j=i._length+1,k=d-2;k>=0;--k)b[k]._length=j,j++;return}}}},b.prototype.parent=function(){return this._parent},b.prototype.hasParent=function(){return void 0!==this._parent},b.prototype.attachExtraTrace=function(a){if(!a.__stackCleaned__){this.uncycle();for(var e=b.parseStackAndMessage(a),h=e.message,i=[e.stack],j=this;void 0!==j;)i.push(g(j.stack.split("\n"))),j=j._parent;f(i),d(i),a.stack=c(h,i),n.notEnumerableProp(a,"__stackCleaned__",!0)}},b.parseStackAndMessage=function(a){var b=a.stack,c=a.toString();return b="string"==typeof b&&b.length>0?h(a):[" (No stack trace)"],{message:c,stack:g(b)}},b.formatAndLogError=function(a,b){if("undefined"!=typeof console){var c;if("object"==typeof a||"function"==typeof a){var d=a.stack;c=b+q(d,a)}else c=b+String(a);"function"==typeof l?l(c):("function"==typeof console.log||"object"==typeof console.log)&&console.log(c)}},b.unhandledRejection=function(a){b.formatAndLogError(a,"^--- With additional stack trace: ")},b.isSupported=function(){return"function"==typeof v},b.fireRejectionEvent=function(a,c,d,e){var f=!1;try{"function"==typeof c&&(f=!0,"rejectionHandled"===a?c(e):c(d,e))}catch(g){m.throwLater(g)}var h=!1;try{h=w(a,d,e)}catch(g){h=!0,m.throwLater(g)}var i=!1;if(u)try{i=u(a.toLowerCase(),{reason:d,promise:e})}catch(g){i=!0,m.throwLater(g)}h||f||i||"unhandledRejection"!==a||b.formatAndLogError(d,"Unhandled rejection ")};var s=function(){return!1},t=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;b.setBounds=function(a,c){if(b.isSupported()){for(var d,e,f=a.stack.split("\n"),g=c.stack.split("\n"),h=-1,i=-1,j=0;j<f.length;++j){var l=k(f[j]);if(l){d=l.fileName,h=l.line;break}}for(var j=0;j<g.length;++j){var l=k(g[j]);if(l){e=l.fileName,i=l.line;break}}0>h||0>i||!d||!e||d!==e||h>=i||(s=function(a){if(o.test(a))return!0;var b=k(a);return b&&b.fileName===d&&h<=b.line&&b.line<=i?!0:!1})}};var u,v=function(){var a=/^\s*at\s*/,b=function(a,b){return"string"==typeof a?a:void 0!==b.name&&void 0!==b.message?b.toString():i(b)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit=Error.stackTraceLimit+6,p=a,q=b;var c=Error.captureStackTrace;return s=function(a){return o.test(a)},function(a,b){Error.stackTraceLimit=Error.stackTraceLimit+6,c(a,b),Error.stackTraceLimit=Error.stackTraceLimit-6}}var d=new Error;if("string"==typeof d.stack&&d.stack.split("\n")[0].indexOf("stackDetection@")>=0)return p=/@/,q=b,r=!0,function(a){a.stack=(new Error).stack};var e;try{throw new Error}catch(f){e="stack"in f}return"stack"in d||!e?(q=function(a,b){return"string"==typeof a?a:"object"!=typeof b&&"function"!=typeof b||void 0===b.name||void 0===b.message?i(b):b.toString()},null):(p=a,q=b,function(a){Error.stackTraceLimit=Error.stackTraceLimit+6;try{throw new Error}catch(b){a.stack=b.stack}Error.stackTraceLimit=Error.stackTraceLimit-6})}([]),w=function(){if(n.isNode)return function(a,b,c){return"rejectionHandled"===a?e.emit(a,c):e.emit(a,b,c)};var a=!1,b=!0;try{var c=new self.CustomEvent("test");a=c instanceof CustomEvent}catch(d){}if(!a)try{var f=document.createEvent("CustomEvent");f.initCustomEvent("testingtheevent",!1,!0,{}),self.dispatchEvent(f)}catch(d){b=!1}b&&(u=function(b,c){var d;return a?d=new self.CustomEvent(b,{detail:c,bubbles:!1,cancelable:!0}):self.dispatchEvent&&(d=document.createEvent("CustomEvent"),d.initCustomEvent(b,!1,!0,c)),d?!self.dispatchEvent(d):!1});var g={};return g.unhandledRejection="onunhandledRejection".toLowerCase(),g.rejectionHandled="onrejectionHandled".toLowerCase(),function(a,b,c){var d=g[a],e=self[d];return e?("rejectionHandled"===a?e.call(self,c):e.call(self,b,c),!0):!1}}();return"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(l=function(a){console.warn(a)},n.isNode&&e.stderr.isTTY?l=function(a){e.stderr.write("[31m"+a+"[39m\n")}:n.isNode||"string"!=typeof(new Error).stack||(l=function(a){console.warn("%c"+a,"color: red")})),b}},{"./async.js":2,"./util.js":38}],8:[function(a,b){"use strict";b.exports=function(b){function c(a,b,c){this._instances=a,this._callback=b,this._promise=c}function d(a,b){var c={},d=g(a).call(c,b);if(d===h)return d;var e=i(c);return e.length?(h.e=new j("Catch filter must inherit from Error or be a simple predicate function\n\n See http://goo.gl/o84o68\n"),h):d}var e=a("./util.js"),f=a("./errors.js"),g=e.tryCatch,h=e.errorObj,i=a("./es5.js").keys,j=f.TypeError;return c.prototype.doFilter=function(a){for(var c=this._callback,e=this._promise,f=e._boundTo,i=0,j=this._instances.length;j>i;++i){var k=this._instances[i],l=k===Error||null!=k&&k.prototype instanceof Error;if(l&&a instanceof k){var m=g(c).call(f,a);return m===h?(b.e=m.e,b):m}if("function"==typeof k&&!l){var n=d(k,a);if(n===h){a=h.e;break}if(n){var m=g(c).call(f,a);return m===h?(b.e=m.e,b):m}}}return b.e=a,b},c}},{"./errors.js":13,"./es5.js":14,"./util.js":38}],9:[function(a,b){"use strict";b.exports=function(a,b,c){function d(){this._trace=new b(f())}function e(){return c()?new d:void 0}function f(){var a=g.length-1;return a>=0?g[a]:void 0}var g=[];return d.prototype._pushContext=function(){c()&&void 0!==this._trace&&g.push(this._trace)},d.prototype._popContext=function(){c()&&void 0!==this._trace&&g.pop()},a.prototype._peekContext=f,a.prototype._pushContext=d.prototype._pushContext,a.prototype._popContext=d.prototype._popContext,e}},{}],10:[function(a,b){"use strict";b.exports=function(b,c){var d,f,g=a("./async.js"),h=a("./errors.js").Warning,i=a("./util.js"),j=i.canAttachTrace,k=!1||i.isNode&&(!!e.env.BLUEBIRD_DEBUG||"development"===e.env.NODE_ENV);return b.prototype._ensurePossibleRejectionHandled=function(){this._setRejectionIsUnhandled(),g.invokeLater(this._notifyUnhandledRejection,this,void 0)},b.prototype._notifyUnhandledRejectionIsHandled=function(){c.fireRejectionEvent("rejectionHandled",d,void 0,this)},b.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var a=this._getCarriedStackTrace()||this._settledValue;this._setUnhandledRejectionIsNotified(),c.fireRejectionEvent("unhandledRejection",f,a,this)}},b.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=524288|this._bitField},b.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-524289&this._bitField},b.prototype._isUnhandledRejectionNotified=function(){return(524288&this._bitField)>0},b.prototype._setRejectionIsUnhandled=function(){this._bitField=2097152|this._bitField},b.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-2097153&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},b.prototype._isRejectionUnhandled=function(){return(2097152&this._bitField)>0},b.prototype._setCarriedStackTrace=function(a){this._bitField=1048576|this._bitField,this._fulfillmentHandler0=a},b.prototype._isCarryingStackTrace=function(){return(1048576&this._bitField)>0},b.prototype._getCarriedStackTrace=function(){return this._isCarryingStackTrace()?this._fulfillmentHandler0:void 0},b.prototype._captureStackTrace=function(){return k&&(this._trace=new c(this._peekContext())),this},b.prototype._attachExtraTrace=function(a,b){if(k&&j(a)){var d=this._trace;if(void 0!==d&&b&&(d=d._parent),void 0!==d)d.attachExtraTrace(a);else if(!a.__stackCleaned__){var e=c.parseStackAndMessage(a);a.stack=e.message+"\n"+e.stack.join("\n"),i.notEnumerableProp(a,"__stackCleaned__",!0)}}},b.prototype._warn=function(a){var b=new h(a),d=this._peekContext();if(d)d.attachExtraTrace(b);else{var e=c.parseStackAndMessage(b);b.stack=e.message+"\n"+e.stack.join("\n")}c.formatAndLogError(b,"")},b.onPossiblyUnhandledRejection=function(a){f="function"==typeof a?a:void 0},b.onUnhandledRejectionHandled=function(a){d="function"==typeof a?a:void 0},b.longStackTraces=function(){if(g.haveItemsQueued()&&k===!1)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/DT1qyG\n");k=c.isSupported()},b.hasLongStackTraces=function(){return k&&c.isSupported()},c.isSupported()||(b.longStackTraces=function(){},k=!1),function(){return k}}},{"./async.js":2,"./errors.js":13,"./util.js":38}],11:[function(a,b){"use strict";var c=a("./util.js"),d=c.isPrimitive,e=c.wrapsPrimitiveReceiver;b.exports=function(a){var b=function(){return this},c=function(){throw this},f=function(a,b){return 1===b?function(){throw a}:2===b?function(){return a}:void 0};a.prototype["return"]=a.prototype.thenReturn=function(a){return e&&d(a)?this._then(f(a,2),void 0,void 0,void 0,void 0):this._then(b,void 0,void 0,a,void 0)},a.prototype["throw"]=a.prototype.thenThrow=function(a){return e&&d(a)?this._then(f(a,1),void 0,void 0,void 0,void 0):this._then(c,void 0,void 0,a,void 0)}}},{"./util.js":38}],12:[function(a,b){"use strict";b.exports=function(a,b){var c=a.reduce;a.prototype.each=function(a){return c(this,a,null,b)},a.each=function(a,d){return c(a,d,null,b)}}},{}],13:[function(a,b){"use strict";function c(a,b){function c(d){return this instanceof c?(k(this,"message","string"==typeof d?d:b),k(this,"name",a),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new c(d)}return j(c,Error),c}function d(a){return this instanceof d?(k(this,"name","OperationalError"),k(this,"message",a),this.cause=a,this.isOperational=!0,void(a instanceof Error?(k(this,"message",a.message),k(this,"stack",a.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new d(a)}var e,f,g=a("./es5.js"),h=g.freeze,i=a("./util.js"),j=i.inherits,k=i.notEnumerableProp,l=c("Warning","warning"),m=c("CancellationError","cancellation error"),n=c("TimeoutError","timeout error"),o=c("AggregateError","aggregate error");try{e=TypeError,f=RangeError}catch(p){e=c("TypeError","type error"),f=c("RangeError","range error")
}for(var q="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),r=0;r<q.length;++r)"function"==typeof Array.prototype[q[r]]&&(o.prototype[q[r]]=Array.prototype[q[r]]);g.defineProperty(o.prototype,"length",{value:0,configurable:!1,writable:!0,enumerable:!0}),o.prototype.isOperational=!0;var s=0;o.prototype.toString=function(){var a=Array(4*s+1).join(" "),b="\n"+a+"AggregateError of:\n";s++,a=Array(4*s+1).join(" ");for(var c=0;c<this.length;++c){for(var d=this[c]===this?"[Circular AggregateError]":this[c]+"",e=d.split("\n"),f=0;f<e.length;++f)e[f]=a+e[f];d=e.join("\n"),b+=d+"\n"}return s--,b},j(d,Error);var t=Error.__BluebirdErrorTypes__;t||(t=h({CancellationError:m,TimeoutError:n,OperationalError:d,RejectionError:d,AggregateError:o}),k(Error,"__BluebirdErrorTypes__",t)),b.exports={Error:Error,TypeError:e,RangeError:f,CancellationError:t.CancellationError,OperationalError:t.OperationalError,TimeoutError:t.TimeoutError,AggregateError:t.AggregateError,Warning:l}},{"./es5.js":14,"./util.js":38}],14:[function(a,b){var c=function(){"use strict";return void 0===this}();if(c)b.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:c,propertyIsWritable:function(a,b){var c=Object.getOwnPropertyDescriptor(a,b);return!(c&&!c.writable&&!c.set)}};else{var d={}.hasOwnProperty,e={}.toString,f={}.constructor.prototype,g=function(a){var b=[];for(var c in a)d.call(a,c)&&b.push(c);return b},h=function(a,b){return{value:a[b]}},i=function(a,b,c){return a[b]=c.value,a},j=function(a){return a},k=function(a){try{return Object(a).constructor.prototype}catch(b){return f}},l=function(a){try{return"[object Array]"===e.call(a)}catch(b){return!1}};b.exports={isArray:l,keys:g,names:g,defineProperty:i,getDescriptor:h,freeze:j,getPrototypeOf:k,isES5:c,propertyIsWritable:function(){return!0}}}},{}],15:[function(a,b){"use strict";b.exports=function(a,b){var c=a.map;a.prototype.filter=function(a,d){return c(this,a,d,b)},a.filter=function(a,d,e){return c(a,d,e,b)}}},{}],16:[function(a,b){"use strict";b.exports=function(b,c,d){function e(){return this}function f(){throw this}function g(a){return function(){return a}}function h(a){return function(){throw a}}function i(a,b,c){var d;return d=m&&n(b)?c?g(b):h(b):c?e:f,a._then(d,o,void 0,b,void 0)}function j(a){var e=this.promise,f=this.handler,g=e._isBound()?f.call(e._boundTo):f();if(void 0!==g){var h=d(g,e);if(h instanceof b)return h=h._target(),i(h,a,e.isFulfilled())}return e.isRejected()?(c.e=a,c):a}function k(a){var c=this.promise,e=this.handler,f=c._isBound()?e.call(c._boundTo,a):e(a);if(void 0!==f){var g=d(f,c);if(g instanceof b)return g=g._target(),i(g,a,!0)}return a}var l=a("./util.js"),m=l.wrapsPrimitiveReceiver,n=l.isPrimitive,o=l.thrower;b.prototype._passThroughHandler=function(a,b){if("function"!=typeof a)return this.then();var c={promise:this,handler:a};return this._then(b?j:k,b?j:void 0,void 0,c,void 0)},b.prototype.lastly=b.prototype["finally"]=function(a){return this._passThroughHandler(a,!0)},b.prototype.tap=function(a){return this._passThroughHandler(a,!1)}}},{"./util.js":38}],17:[function(a,b){"use strict";b.exports=function(b,c,d,e){function f(a,c,d){for(var f=0;f<c.length;++f){d._pushContext();var g=l(c[f])(a);if(d._popContext(),g===k){d._pushContext();var h=b.reject(k.e);return d._popContext(),h}var i=e(g,d);if(i instanceof b)return i}return null}function g(a,c,e,f){var g=this._promise=new b(d);g._captureStackTrace(),this._stack=f,this._generatorFunction=a,this._receiver=c,this._generator=void 0,this._yieldHandlers="function"==typeof e?[e].concat(m):m}var h=a("./errors.js"),i=h.TypeError,j=a("./util.js"),k=j.errorObj,l=j.tryCatch,m=[];g.prototype.promise=function(){return this._promise},g.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._next(void 0)},g.prototype._continue=function(a){if(a===k)return this._promise._rejectCallback(a.e,!1,!0);var c=a.value;if(a.done===!0)this._promise._resolveCallback(c);else{var d=e(c,this._promise);if(!(d instanceof b)&&(d=f(d,this._yieldHandlers,this._promise),null===d))return void this._throw(new i("A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/4Y4pDk\n\n".replace("%s",c)+"From coroutine:\n"+this._stack.split("\n").slice(1,-7).join("\n")));d._then(this._next,this._throw,void 0,this,null)}},g.prototype._throw=function(a){this._promise._attachExtraTrace(a),this._promise._pushContext();var b=l(this._generator["throw"]).call(this._generator,a);this._promise._popContext(),this._continue(b)},g.prototype._next=function(a){this._promise._pushContext();var b=l(this._generator.next).call(this._generator,a);this._promise._popContext(),this._continue(b)},b.coroutine=function(a,b){if("function"!=typeof a)throw new i("generatorFunction must be a function\n\n See http://goo.gl/6Vqhm0\n");var c=Object(b).yieldHandler,d=g,e=(new Error).stack;return function(){var b=a.apply(this,arguments),f=new d(void 0,void 0,c,e);return f._generator=b,f._next(void 0),f.promise()}},b.coroutine.addYieldHandler=function(a){if("function"!=typeof a)throw new i("fn must be a function\n\n See http://goo.gl/916lJJ\n");m.push(a)},b.spawn=function(a){if("function"!=typeof a)return c("generatorFunction must be a function\n\n See http://goo.gl/6Vqhm0\n");var d=new g(a,this),e=d.promise();return d._run(b.spawn),e}}},{"./errors.js":13,"./util.js":38}],18:[function(a,b){"use strict";b.exports=function(b,c,d,e){{var f=a("./util.js");f.canEvaluate,f.tryCatch,f.errorObj}b.join=function(){var a,b=arguments.length-1;if(b>0&&"function"==typeof arguments[b]){a=arguments[b];var d}for(var e=arguments.length,f=new Array(e),g=0;e>g;++g)f[g]=arguments[g];a&&f.pop();var d=new c(f).promise();return void 0!==a?d.spread(a):d}}},{"./util.js":38}],19:[function(a,b){"use strict";b.exports=function(b,c,d,e,f){function g(a,b,c,d){this.constructor$(a),this._promise._captureStackTrace(),this._callback=b,this._preservedValues=d===f?new Array(this.length()):null,this._limit=c,this._inFlight=0,this._queue=c>=1?[]:m,this._init$(void 0,-2)}function h(a,b,c,d){var e="object"==typeof c&&null!==c?c.concurrency:0;return e="number"==typeof e&&isFinite(e)&&e>=1?e:0,new g(a,b,e,d)}var i=a("./util.js"),j=i.tryCatch,k=i.errorObj,l={},m=[];i.inherits(g,c),g.prototype._init=function(){},g.prototype._promiseFulfilled=function(a,c){var d=this._values,f=this.length(),g=this._preservedValues,h=this._limit;if(d[c]===l){if(d[c]=a,h>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return}else{if(h>=1&&this._inFlight>=h)return d[c]=a,void this._queue.push(c);null!==g&&(g[c]=a);var i=this._callback,m=this._promise._boundTo;this._promise._pushContext();var n=j(i).call(m,a,c,f);if(this._promise._popContext(),n===k)return this._reject(n.e);var o=e(n,this._promise);if(o instanceof b){if(o=o._target(),o._isPending())return h>=1&&this._inFlight++,d[c]=l,o._proxyPromiseArray(this,c);if(!o._isFulfilled())return this._reject(o._reason());n=o._value()}d[c]=n}var p=++this._totalResolved;p>=f&&(null!==g?this._filter(d,g):this._resolve(d))},g.prototype._drainQueue=function(){for(var a=this._queue,b=this._limit,c=this._values;a.length>0&&this._inFlight<b;){if(this._isResolved())return;var d=a.pop();this._promiseFulfilled(c[d],d)}},g.prototype._filter=function(a,b){for(var c=b.length,d=new Array(c),e=0,f=0;c>f;++f)a[f]&&(d[e++]=b[f]);d.length=e,this._resolve(d)},g.prototype.preservedValues=function(){return this._preservedValues},b.prototype.map=function(a,b){return"function"!=typeof a?d("fn must be a function\n\n See http://goo.gl/916lJJ\n"):h(this,a,b,null).promise()},b.map=function(a,b,c,e){return"function"!=typeof b?d("fn must be a function\n\n See http://goo.gl/916lJJ\n"):h(a,b,c,e).promise()}}},{"./util.js":38}],20:[function(a,b){"use strict";b.exports=function(b,c,d,e){var f=a("./util.js"),g=f.tryCatch;b.method=function(a){if("function"!=typeof a)throw new b.TypeError("fn must be a function\n\n See http://goo.gl/916lJJ\n");return function(){var d=new b(c);d._captureStackTrace(),d._pushContext();var e=g(a).apply(this,arguments);return d._popContext(),d._resolveFromSyncValue(e),d}},b.attempt=b["try"]=function(a,d,h){if("function"!=typeof a)return e("fn must be a function\n\n See http://goo.gl/916lJJ\n");var i=new b(c);i._captureStackTrace(),i._pushContext();var j=f.isArray(d)?g(a).apply(h,d):g(a).call(h,d);return i._popContext(),i._resolveFromSyncValue(j),i},b.prototype._resolveFromSyncValue=function(a){a===f.errorObj?this._rejectCallback(a.e,!1,!0):this._resolveCallback(a,!0)}}},{"./util.js":38}],21:[function(a,b){"use strict";b.exports=function(b){function c(a,b){var c=this;if(!f.isArray(a))return d.call(c,a,b);var e=h(b).apply(c._boundTo,[null].concat(a));e===i&&g.throwLater(e.e)}function d(a,b){var c=this,d=c._boundTo,e=void 0===a?h(b).call(d,null):h(b).call(d,null,a);e===i&&g.throwLater(e.e)}function e(a,b){var c=this;if(!a){var d=c._target(),e=d._getCarriedStackTrace();e.cause=a,a=e}var f=h(b).call(c._boundTo,a);f===i&&g.throwLater(f.e)}var f=a("./util.js"),g=a("./async.js"),h=f.tryCatch,i=f.errorObj;b.prototype.nodeify=function(a,b){if("function"==typeof a){var f=d;void 0!==b&&Object(b).spread&&(f=c),this._then(f,e,void 0,this,a)}return this}}},{"./async.js":2,"./util.js":38}],22:[function(a,b){"use strict";b.exports=function(b,c){var d=a("./util.js"),e=a("./async.js"),f=d.tryCatch,g=d.errorObj;b.prototype.progressed=function(a){return this._then(void 0,void 0,a,void 0,void 0)},b.prototype._progress=function(a){this._isFollowingOrFulfilledOrRejected()||this._target()._progressUnchecked(a)},b.prototype._progressHandlerAt=function(a){return 0===a?this._progressHandler0:this[(a<<2)+a-5+2]},b.prototype._doProgressWith=function(a){var c=a.value,e=a.handler,h=a.promise,i=a.receiver,j=f(e).call(i,c);if(j===g){if(null!=j.e&&"StopProgressPropagation"!==j.e.name){var k=d.canAttachTrace(j.e)?j.e:new Error(d.toString(j.e));h._attachExtraTrace(k),h._progress(j.e)}}else j instanceof b?j._then(h._progress,null,null,h,void 0):h._progress(j)},b.prototype._progressUnchecked=function(a){for(var d=this._length(),f=this._progress,g=0;d>g;g++){var h=this._progressHandlerAt(g),i=this._promiseAt(g);if(i instanceof b)"function"==typeof h?e.invoke(this._doProgressWith,this,{handler:h,promise:i,receiver:this._receiverAt(g),value:a}):e.invoke(f,i,a);else{var j=this._receiverAt(g);"function"==typeof h?h.call(j,a,i):j instanceof c&&!j._isResolved()&&j._promiseProgressed(a,i)}}}}},{"./async.js":2,"./util.js":38}],23:[function(a,b){"use strict";b.exports=function(){function b(a){if("function"!=typeof a)throw new j("the promise constructor requires a resolver function\n\n See http://goo.gl/EC22Yn\n");if(this.constructor!==b)throw new j("the promise constructor cannot be invoked directly\n\n See http://goo.gl/KsIlge\n");this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._progressHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,this._settledValue=void 0,a!==k&&this._resolveFromResolver(a)}function c(a){var c=new b(k);c._fulfillmentHandler0=a,c._rejectionHandler0=a,c._progressHandler0=a,c._promise0=a,c._receiver0=a,c._settledValue=a}var d=function(){return new j("circular promise resolution chain\n\n See http://goo.gl/LhFpo0\n")},e=function(){return new b.PromiseInspection(this._target())},f=function(a){return b.reject(new j(a))},g=a("./util.js"),h=a("./async.js"),i=a("./errors.js"),j=b.TypeError=i.TypeError;b.RangeError=i.RangeError,b.CancellationError=i.CancellationError,b.TimeoutError=i.TimeoutError,b.OperationalError=i.OperationalError,b.RejectionError=i.OperationalError,b.AggregateError=i.AggregateError;var k=function(){},l={},m={e:null},n=a("./thenables.js")(b,k),o=a("./promise_array.js")(b,k,n,f),p=a("./captured_trace.js")(),q=a("./debuggability.js")(b,p),r=a("./context.js")(b,p,q),s=a("./catch_filter.js")(m),t=a("./promise_resolver.js"),u=t._nodebackForPromise,v=g.errorObj,w=g.tryCatch;return b.prototype.toString=function(){return"[object Promise]"},b.prototype.caught=b.prototype["catch"]=function(a){var c=arguments.length;if(c>1){var d,e=new Array(c-1),f=0;for(d=0;c-1>d;++d){var g=arguments[d];if("function"!=typeof g)return b.reject(new j("Catch filter must inherit from Error or be a simple predicate function\n\n See http://goo.gl/o84o68\n"));e[f++]=g}e.length=f,a=arguments[d];var h=new s(e,a,this);return this._then(void 0,h.doFilter,void 0,h,void 0)}return this._then(void 0,a,void 0,void 0,void 0)},b.prototype.reflect=function(){return this._then(e,e,void 0,this,void 0)},b.prototype.then=function(a,b,c){if(q()&&arguments.length>0&&"function"!=typeof a&&"function"!=typeof b){var d=".then() only accepts functions but was passed: "+g.classString(a);arguments.length>1&&(d+=", "+g.classString(b)),this._warn(d)}return this._then(a,b,c,void 0,void 0)},b.prototype.done=function(a,b,c){var d=this._then(a,b,c,void 0,void 0);d._setIsFinal()},b.prototype.spread=function(a,b){return this.all()._then(a,b,void 0,l,void 0)},b.prototype.isCancellable=function(){return!this.isResolved()&&this._cancellable()},b.prototype.toJSON=function(){var a={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(a.fulfillmentValue=this.value(),a.isFulfilled=!0):this.isRejected()&&(a.rejectionReason=this.reason(),a.isRejected=!0),a},b.prototype.all=function(){return new o(this).promise()},b.prototype.error=function(a){return this.caught(g.originatesFromRejection,a)},b.is=function(a){return a instanceof b},b.fromNode=function(a){var c=new b(k),d=w(a)(u(c));return d===v&&c._rejectCallback(d.e,!0,!0),c},b.all=function(a){return new o(a).promise()},b.defer=b.pending=function(){var a=new b(k);return new t(a)},b.cast=function(a){var c=n(a);if(!(c instanceof b)){var d=c;c=new b(k),c._fulfillUnchecked(d)}return c},b.resolve=b.fulfilled=b.cast,b.reject=b.rejected=function(a){var c=new b(k);return c._captureStackTrace(),c._rejectCallback(a,!0),c},b.setScheduler=function(a){if("function"!=typeof a)throw new j("fn must be a function\n\n See http://goo.gl/916lJJ\n");var b=h._schedule;return h._schedule=a,b},b.prototype._then=function(a,c,d,e,f){var g=void 0!==f,i=g?f:new b(k);g||(i._propagateFrom(this,5),i._captureStackTrace());var j=this._target();j!==this&&(void 0===e&&(e=this._boundTo),g||i._setIsMigrated());var l=j._addCallbacks(a,c,d,i,e);return j._isResolved()&&!j._isSettlePromisesQueued()&&h.invoke(j._settlePromiseAtPostResolution,j,l),i},b.prototype._settlePromiseAtPostResolution=function(a){this._isRejectionUnhandled()&&this._unsetRejectionIsUnhandled(),this._settlePromiseAt(a)},b.prototype._length=function(){return 131071&this._bitField},b.prototype._isFollowingOrFulfilledOrRejected=function(){return(939524096&this._bitField)>0},b.prototype._isFollowing=function(){return 536870912===(536870912&this._bitField)},b.prototype._setLength=function(a){this._bitField=-131072&this._bitField|131071&a},b.prototype._setFulfilled=function(){this._bitField=268435456|this._bitField},b.prototype._setRejected=function(){this._bitField=134217728|this._bitField},b.prototype._setFollowing=function(){this._bitField=536870912|this._bitField},b.prototype._setIsFinal=function(){this._bitField=33554432|this._bitField},b.prototype._isFinal=function(){return(33554432&this._bitField)>0},b.prototype._cancellable=function(){return(67108864&this._bitField)>0},b.prototype._setCancellable=function(){this._bitField=67108864|this._bitField},b.prototype._unsetCancellable=function(){this._bitField=-67108865&this._bitField},b.prototype._setIsMigrated=function(){this._bitField=4194304|this._bitField},b.prototype._unsetIsMigrated=function(){this._bitField=-4194305&this._bitField},b.prototype._isMigrated=function(){return(4194304&this._bitField)>0},b.prototype._receiverAt=function(a){var b=0===a?this._receiver0:this[5*a-5+4];return void 0===b&&this._isBound()?this._boundTo:b},b.prototype._promiseAt=function(a){return 0===a?this._promise0:this[5*a-5+3]},b.prototype._fulfillmentHandlerAt=function(a){return 0===a?this._fulfillmentHandler0:this[5*a-5+0]},b.prototype._rejectionHandlerAt=function(a){return 0===a?this._rejectionHandler0:this[5*a-5+1]},b.prototype._migrateCallbacks=function(a,c){var d=a._fulfillmentHandlerAt(c),e=a._rejectionHandlerAt(c),f=a._progressHandlerAt(c),g=a._promiseAt(c),h=a._receiverAt(c);g instanceof b&&g._setIsMigrated(),this._addCallbacks(d,e,f,g,h)},b.prototype._addCallbacks=function(a,b,c,d,e){var f=this._length();if(f>=131066&&(f=0,this._setLength(0)),0===f)this._promise0=d,void 0!==e&&(this._receiver0=e),"function"!=typeof a||this._isCarryingStackTrace()||(this._fulfillmentHandler0=a),"function"==typeof b&&(this._rejectionHandler0=b),"function"==typeof c&&(this._progressHandler0=c);else{var g=5*f-5;this[g+3]=d,this[g+4]=e,"function"==typeof a&&(this[g+0]=a),"function"==typeof b&&(this[g+1]=b),"function"==typeof c&&(this[g+2]=c)}return this._setLength(f+1),f},b.prototype._setProxyHandlers=function(a,b){var c=this._length();if(c>=131066&&(c=0,this._setLength(0)),0===c)this._promise0=b,this._receiver0=a;else{var d=5*c-5;this[d+3]=b,this[d+4]=a}this._setLength(c+1)},b.prototype._proxyPromiseArray=function(a,b){this._setProxyHandlers(a,b)},b.prototype._resolveCallback=function(a,c){if(!this._isFollowingOrFulfilledOrRejected()){if(a===this)return this._rejectCallback(d(),!1,!0);var e=n(a,this);if(!(e instanceof b))return this._fulfill(a);var f=1|(c?4:0);this._propagateFrom(e,f);var g=e._target();if(g._isPending()){for(var h=this._length(),i=0;h>i;++i)g._migrateCallbacks(this,i);this._setFollowing(),this._setLength(0),this._setFollowee(g)}else g._isFulfilled()?this._fulfillUnchecked(g._value()):this._rejectUnchecked(g._reason(),g._getCarriedStackTrace())}},b.prototype._rejectCallback=function(a,b,c){c||g.markAsOriginatingFromRejection(a);var d=g.ensureErrorObject(a),e=d===a;this._attachExtraTrace(d,b?e:!1),this._reject(a,e?void 0:d)},b.prototype._resolveFromResolver=function(a){var b=this;this._captureStackTrace(),this._pushContext();var c=!0,d=w(a)(function(a){null!==b&&(b._resolveCallback(a),b=null)},function(a){null!==b&&(b._rejectCallback(a,c),b=null)});c=!1,this._popContext(),void 0!==d&&d===v&&null!==b&&(b._rejectCallback(d.e,!0,!0),b=null)},b.prototype._settlePromiseFromHandler=function(a,b,c,e){if(!e._isRejected()){e._pushContext();var f;if(f=b!==l||this._isRejected()?w(a).call(b,c):w(a).apply(this._boundTo,c),e._popContext(),f===v||f===e||f===m){var g=f===e?d():f.e;e._rejectCallback(g,!1,!0)}else e._resolveCallback(f)}},b.prototype._target=function(){for(var a=this;a._isFollowing();)a=a._followee();return a},b.prototype._followee=function(){return this._rejectionHandler0},b.prototype._setFollowee=function(a){this._rejectionHandler0=a},b.prototype._cleanValues=function(){this._cancellable()&&(this._cancellationParent=void 0)},b.prototype._propagateFrom=function(a,b){(1&b)>0&&a._cancellable()&&(this._setCancellable(),this._cancellationParent=a),(4&b)>0&&a._isBound()&&this._setBoundTo(a._boundTo)},b.prototype._fulfill=function(a){this._isFollowingOrFulfilledOrRejected()||this._fulfillUnchecked(a)},b.prototype._reject=function(a,b){this._isFollowingOrFulfilledOrRejected()||this._rejectUnchecked(a,b)},b.prototype._settlePromiseAt=function(a){var c=this._promiseAt(a),d=c instanceof b;if(d&&c._isMigrated())return c._unsetIsMigrated(),h.invoke(this._settlePromiseAt,this,a);var e=this._isFulfilled()?this._fulfillmentHandlerAt(a):this._rejectionHandlerAt(a),f=this._isCarryingStackTrace()?this._getCarriedStackTrace():void 0,g=this._settledValue,i=this._receiverAt(a);this._clearCallbackDataAtIndex(a),"function"==typeof e?d?this._settlePromiseFromHandler(e,i,g,c):e.call(i,g,c):i instanceof o?i._isResolved()||(this._isFulfilled()?i._promiseFulfilled(g,c):i._promiseRejected(g,c)):d&&(this._isFulfilled()?c._fulfill(g):c._reject(g,f)),a>=4&&4===(31&a)&&h.invokeLater(this._setLength,this,0)},b.prototype._clearCallbackDataAtIndex=function(a){if(0===a)this._isCarryingStackTrace()||(this._fulfillmentHandler0=void 0),this._rejectionHandler0=this._progressHandler0=this._receiver0=this._promise0=void 0;else{var b=5*a-5;this[b+3]=this[b+4]=this[b+0]=this[b+1]=this[b+2]=void 0}},b.prototype._isSettlePromisesQueued=function(){return-1073741824===(-1073741824&this._bitField)},b.prototype._setSettlePromisesQueued=function(){this._bitField=-1073741824|this._bitField},b.prototype._unsetSettlePromisesQueued=function(){this._bitField=1073741823&this._bitField},b.prototype._queueSettlePromises=function(){h.settlePromises(this),this._setSettlePromisesQueued()},b.prototype._fulfillUnchecked=function(a){if(a===this){var b=d();return this._attachExtraTrace(b),this._rejectUnchecked(b,void 0)}this._setFulfilled(),this._settledValue=a,this._cleanValues(),this._length()>0&&this._queueSettlePromises()},b.prototype._rejectUncheckedCheckError=function(a){var b=g.ensureErrorObject(a);this._rejectUnchecked(a,b===a?void 0:b)},b.prototype._rejectUnchecked=function(a,b){if(a===this){var c=d();return this._attachExtraTrace(c),this._rejectUnchecked(c)}return this._setRejected(),this._settledValue=a,this._cleanValues(),this._isFinal()?void h.throwLater(function(a){throw"stack"in a&&h.invokeFirst(p.unhandledRejection,void 0,a),a},void 0===b?a:b):(void 0!==b&&b!==a&&this._setCarriedStackTrace(b),void(this._length()>0?this._queueSettlePromises():this._ensurePossibleRejectionHandled()))},b.prototype._settlePromises=function(){this._unsetSettlePromisesQueued();for(var a=this._length(),b=0;a>b;b++)this._settlePromiseAt(b)},b._makeSelfResolutionError=d,a("./method.js")(b,k,n,f),a("./bind.js")(b,k,n),a("./finally.js")(b,m,n),a("./direct_resolve.js")(b),a("./synchronous_inspection.js")(b),a("./join.js")(b,o,n,k),b.Promise=b,a("./map.js")(b,o,f,n,k),a("./using.js")(b,f,n,r),a("./generators.js")(b,f,k,n),a("./nodeify.js")(b),a("./cancel.js")(b),a("./promisify.js")(b,k),a("./props.js")(b,o,n,f),a("./race.js")(b,k,n,f),a("./reduce.js")(b,o,f,n,k),a("./settle.js")(b,o),a("./call_get.js")(b),a("./some.js")(b,o,f),a("./progress.js")(b,o),a("./any.js")(b),a("./each.js")(b,k),a("./timers.js")(b,k),a("./filter.js")(b,k),g.toFastProperties(b),g.toFastProperties(b.prototype),c({a:1}),c({b:2}),c({c:3}),c(1),c(function(){}),c(void 0),c(!1),c(new b(k)),p.setBounds(h.firstLineError,g.lastLineError),b}},{"./any.js":1,"./async.js":2,"./bind.js":3,"./call_get.js":5,"./cancel.js":6,"./captured_trace.js":7,"./catch_filter.js":8,"./context.js":9,"./debuggability.js":10,"./direct_resolve.js":11,"./each.js":12,"./errors.js":13,"./filter.js":15,"./finally.js":16,"./generators.js":17,"./join.js":18,"./map.js":19,"./method.js":20,"./nodeify.js":21,"./progress.js":22,"./promise_array.js":24,"./promise_resolver.js":25,"./promisify.js":26,"./props.js":27,"./race.js":29,"./reduce.js":30,"./settle.js":32,"./some.js":33,"./synchronous_inspection.js":34,"./thenables.js":35,"./timers.js":36,"./using.js":37,"./util.js":38}],24:[function(a,b){"use strict";b.exports=function(b,c,d,e){function f(a){switch(a){case-2:return[];case-3:return{}}}function g(a){var d,e=this._promise=new b(c);a instanceof b&&(d=a,e._propagateFrom(d,5)),this._values=a,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var h=a("./util.js"),i=h.isArray;return g.prototype.length=function(){return this._length},g.prototype.promise=function(){return this._promise},g.prototype._init=function j(a,c){var g=d(this._values,this._promise);if(g instanceof b){if(g=g._target(),this._values=g,!g._isFulfilled())return g._isPending()?void g._then(j,this._reject,void 0,this,c):void this._reject(g._reason());if(g=g._value(),!i(g)){var h=new b.TypeError("expecting an array, a promise or a thenable\n\n See http://goo.gl/s8MMhc\n");return void this.__hardReject__(h)}}else if(!i(g))return void this._promise._reject(e("expecting an array, a promise or a thenable\n\n See http://goo.gl/s8MMhc\n")._reason());if(0===g.length)return void(-5===c?this._resolveEmptyArray():this._resolve(f(c)));var k=this.getActualLength(g.length);this._length=k,this._values=this.shouldCopyValues()?new Array(k):this._values;for(var l=this._promise,m=0;k>m;++m){var n=this._isResolved(),o=d(g[m],l);o instanceof b?(o=o._target(),n?o._unsetRejectionIsUnhandled():o._isPending()?o._proxyPromiseArray(this,m):o._isFulfilled()?this._promiseFulfilled(o._value(),m):this._promiseRejected(o._reason(),m)):n||this._promiseFulfilled(o,m)}},g.prototype._isResolved=function(){return null===this._values},g.prototype._resolve=function(a){this._values=null,this._promise._fulfill(a)},g.prototype.__hardReject__=g.prototype._reject=function(a){this._values=null,this._promise._rejectCallback(a,!1,!0)},g.prototype._promiseProgressed=function(a,b){this._promise._progress({index:b,value:a})},g.prototype._promiseFulfilled=function(a,b){this._values[b]=a;var c=++this._totalResolved;c>=this._length&&this._resolve(this._values)},g.prototype._promiseRejected=function(a){this._totalResolved++,this._reject(a)},g.prototype.shouldCopyValues=function(){return!0},g.prototype.getActualLength=function(a){return a},g}},{"./util.js":38}],25:[function(a,b){"use strict";function c(a){return a instanceof Error&&m.getPrototypeOf(a)===Error.prototype}function d(a){var b;if(c(a)){b=new k(a),b.name=a.name,b.message=a.message,b.stack=a.stack;for(var d=m.keys(a),e=0;e<d.length;++e){var f=d[e];n.test(f)||(b[f]=a[f])}return b}return g.markAsOriginatingFromRejection(a),a}function e(a){return function(b,c){if(null!==a){if(b){var e=d(h(b));a._attachExtraTrace(e),a._reject(e)}else if(arguments.length>2){for(var f=arguments.length,g=new Array(f-1),i=1;f>i;++i)g[i-1]=arguments[i];a._fulfill(g)}else a._fulfill(c);a=null}}}var f,g=a("./util.js"),h=g.maybeWrapAsError,i=a("./errors.js"),j=i.TimeoutError,k=i.OperationalError,l=g.haveGetters,m=a("./es5.js"),n=/^(?:name|message|stack|cause)$/;if(f=l?function(a){this.promise=a}:function(a){this.promise=a,this.asCallback=e(a),this.callback=this.asCallback},l){var o={get:function(){return e(this.promise)}};m.defineProperty(f.prototype,"asCallback",o),m.defineProperty(f.prototype,"callback",o)}f._nodebackForPromise=e,f.prototype.toString=function(){return"[object PromiseResolver]"},f.prototype.resolve=f.prototype.fulfill=function(a){if(!(this instanceof f))throw new TypeError("Illegal invocation, resolver resolve/reject must be called within a resolver context. Consider using the promise constructor instead.\n\n See http://goo.gl/sdkXL9\n");this.promise._resolveCallback(a)},f.prototype.reject=function(a){if(!(this instanceof f))throw new TypeError("Illegal invocation, resolver resolve/reject must be called within a resolver context. Consider using the promise constructor instead.\n\n See http://goo.gl/sdkXL9\n");this.promise._rejectCallback(a)},f.prototype.progress=function(a){if(!(this instanceof f))throw new TypeError("Illegal invocation, resolver resolve/reject must be called within a resolver context. Consider using the promise constructor instead.\n\n See http://goo.gl/sdkXL9\n");this.promise._progress(a)},f.prototype.cancel=function(a){this.promise.cancel(a)},f.prototype.timeout=function(){this.reject(new j("timeout"))},f.prototype.isResolved=function(){return this.promise.isResolved()},f.prototype.toJSON=function(){return this.promise.toJSON()},b.exports=f},{"./errors.js":13,"./es5.js":14,"./util.js":38}],26:[function(a,b){"use strict";b.exports=function(b,c){function d(a){return!v.test(a)}function e(a){try{return a.__isPromisified__===!0}catch(b){return!1}}function f(a,b,c){var d=n.getDataPropertyOrDefault(a,b+c,u);return d?e(d):!1}function g(a,b,c){for(var d=0;d<a.length;d+=2){var e=a[d];if(c.test(e))for(var f=e.replace(c,""),g=0;g<a.length;g+=2)if(a[g]===f)throw new s("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/iWrZbw\n".replace("%s",b))}}function h(a,b,c,d){for(var h=n.inheritedDataKeys(a),i=[],j=0;j<h.length;++j){var k=h[j],l=a[k],m=d===w?!0:w(k,l,a);"function"!=typeof l||e(l)||f(a,k,b)||!d(k,l,a,m)||i.push(k,l)}return g(i,b,c),i}function i(a,d,e,f){function g(){var e=d;d===m&&(e=this);var f=new b(c);f._captureStackTrace();var g="string"==typeof i&&this!==h?this[i]:a,j=o(f);try{g.apply(e,p(arguments,j))}catch(k){f._rejectCallback(q(k),!0,!0)}return f}var h=function(){return this}(),i=a;return"string"==typeof i&&(a=f),g.__isPromisified__=!0,g}function j(a,b,c,d){for(var e=new RegExp(x(b)+"$"),f=h(a,b,e,c),g=0,i=f.length;i>g;g+=2){var j=f[g],k=f[g+1],l=j+b;a[l]=d===y?y(j,m,j,k,b):d(k,function(){return y(j,m,j,k,b)})}return n.toFastProperties(a),a}function k(a,b){return y(a,b,void 0,a)}var l,m={},n=a("./util.js"),o=a("./promise_resolver.js")._nodebackForPromise,p=n.withAppended,q=n.maybeWrapAsError,r=n.canEvaluate,s=a("./errors").TypeError,t="Async",u={__isPromisified__:!0},v=/^(?:length|name|arguments|caller|prototype|__isPromisified__)$/,w=function(a,b){return n.isIdentifier(a)&&"_"!==a.charAt(0)&&!n.isClass(b)},x=function(a){return a.replace(/([$])/,"\\$")},y=r?l:i;b.promisify=function(a,b){if("function"!=typeof a)throw new s("fn must be a function\n\n See http://goo.gl/916lJJ\n");if(e(a))return a;var c=k(a,arguments.length<2?m:b);return n.copyDescriptors(a,c,d),c},b.promisifyAll=function(a,b){if("function"!=typeof a&&"object"!=typeof a)throw new s("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/9ITlV0\n");b=Object(b);var c=b.suffix;"string"!=typeof c&&(c=t);var d=b.filter;"function"!=typeof d&&(d=w);var e=b.promisifier;if("function"!=typeof e&&(e=y),!n.isIdentifier(c))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/8FZo5V\n");for(var f=n.inheritedDataKeys(a),g=0;g<f.length;++g){var h=a[f[g]];"constructor"!==f[g]&&n.isClass(h)&&(j(h.prototype,c,d,e),j(h,c,d,e))}return j(a,c,d,e)}}},{"./errors":13,"./promise_resolver.js":25,"./util.js":38}],27:[function(a,b){"use strict";b.exports=function(b,c,d,e){function f(a){for(var b=j.keys(a),c=b.length,d=new Array(2*c),e=0;c>e;++e){var f=b[e];d[e]=a[f],d[e+c]=f}this.constructor$(d)}function g(a){var c,g=d(a);return i(g)?(c=g instanceof b?g._then(b.props,void 0,void 0,void 0,void 0):new f(g).promise(),g instanceof b&&c._propagateFrom(g,4),c):e("cannot await properties of a non-object\n\n See http://goo.gl/OsFKC8\n")}var h=a("./util.js"),i=h.isObject,j=a("./es5.js");h.inherits(f,c),f.prototype._init=function(){this._init$(void 0,-3)},f.prototype._promiseFulfilled=function(a,b){this._values[b]=a;var c=++this._totalResolved;if(c>=this._length){for(var d={},e=this.length(),f=0,g=this.length();g>f;++f)d[this._values[f+e]]=this._values[f];this._resolve(d)}},f.prototype._promiseProgressed=function(a,b){this._promise._progress({key:this._values[b+this.length()],value:a})},f.prototype.shouldCopyValues=function(){return!1},f.prototype.getActualLength=function(a){return a>>1},b.prototype.props=function(){return g(this)},b.props=function(a){return g(a)}}},{"./es5.js":14,"./util.js":38}],28:[function(a,b){"use strict";function c(a,b,c,d,e){for(var f=0;e>f;++f)c[f+d]=a[f+b],a[f+b]=void 0}function d(a){this._capacity=a,this._length=0,this._front=0}d.prototype._willBeOverCapacity=function(a){return this._capacity<a},d.prototype._pushOne=function(a){var b=this.length();this._checkCapacity(b+1);var c=this._front+b&this._capacity-1;this[c]=a,this._length=b+1},d.prototype._unshiftOne=function(a){var b=this._capacity;this._checkCapacity(this.length()+1);var c=this._front,d=(c-1&b-1^b)-b;this[d]=a,this._front=d,this._length=this.length()+1},d.prototype.unshift=function(a,b,c){this._unshiftOne(c),this._unshiftOne(b),this._unshiftOne(a)},d.prototype.push=function(a,b,c){var d=this.length()+3;if(this._willBeOverCapacity(d))return this._pushOne(a),this._pushOne(b),void this._pushOne(c);var e=this._front+d-3;
this._checkCapacity(d);var f=this._capacity-1;this[e+0&f]=a,this[e+1&f]=b,this[e+2&f]=c,this._length=d},d.prototype.shift=function(){var a=this._front,b=this[a];return this[a]=void 0,this._front=a+1&this._capacity-1,this._length--,b},d.prototype.length=function(){return this._length},d.prototype._checkCapacity=function(a){this._capacity<a&&this._resizeTo(this._capacity<<1)},d.prototype._resizeTo=function(a){var b=this._capacity;this._capacity=a;var d=this._front,e=this._length,f=d+e&b-1;c(this,0,this,b,f)},b.exports=d},{}],29:[function(a,b){"use strict";b.exports=function(b,c,d,e){function f(a,f){var i=d(a);if(i instanceof b)return h(i);if(!g(a))return e("expecting an array, a promise or a thenable\n\n See http://goo.gl/s8MMhc\n");var j=new b(c);void 0!==f&&j._propagateFrom(f,5);for(var k=j._fulfill,l=j._reject,m=0,n=a.length;n>m;++m){var o=a[m];(void 0!==o||m in a)&&b.cast(o)._then(k,l,void 0,j,null)}return j}var g=a("./util.js").isArray,h=function(a){return a.then(function(b){return f(b,a)})};b.race=function(a){return f(a,void 0)},b.prototype.race=function(){return f(this,void 0)}}},{"./util.js":38}],30:[function(a,b){"use strict";b.exports=function(b,c,d,e,f){function g(a,c,d,g){this.constructor$(a),this._promise._captureStackTrace(),this._preservedValues=g===f?[]:null,this._zerothIsAccum=void 0===d,this._gotAccum=!1,this._reducingIndex=this._zerothIsAccum?1:0,this._valuesPhase=void 0;var h=e(d,this._promise),i=!1,j=h instanceof b;j&&(h=h._target(),h._isPending()?h._proxyPromiseArray(this,-1):h._isFulfilled()?(d=h._value(),this._gotAccum=!0):(this._reject(h._reason()),i=!0)),j||this._zerothIsAccum||(this._gotAccum=!0),this._callback=c,this._accum=d,i||this._init$(void 0,-5)}function h(a,b,c,e){if("function"!=typeof b)return d("fn must be a function\n\n See http://goo.gl/916lJJ\n");var f=new g(a,b,c,e);return f.promise()}var i=a("./util.js"),j=i.tryCatch,k=i.errorObj;i.inherits(g,c),g.prototype._init=function(){},g.prototype._resolveEmptyArray=function(){(this._gotAccum||this._zerothIsAccum)&&this._resolve(null!==this._preservedValues?[]:this._accum)},g.prototype._promiseFulfilled=function(a,c){var d=this._values;d[c]=a;var f,g=this.length(),h=this._preservedValues,i=null!==h,l=this._gotAccum,m=this._valuesPhase;if(!m)for(m=this._valuesPhase=new Array(g),f=0;g>f;++f)m[f]=0;if(f=m[c],0===c&&this._zerothIsAccum?(this._accum=a,this._gotAccum=l=!0,m[c]=0===f?1:2):-1===c?(this._accum=a,this._gotAccum=l=!0):0===f?m[c]=1:(m[c]=2,this._accum=a),l){for(var n,o=this._callback,p=this._promise._boundTo,q=this._reducingIndex;g>q;++q)if(f=m[q],2!==f){if(1!==f)return;if(a=d[q],this._promise._pushContext(),i?(h.push(a),n=j(o).call(p,a,q,g)):n=j(o).call(p,this._accum,a,q,g),this._promise._popContext(),n===k)return this._reject(n.e);var r=e(n,this._promise);if(r instanceof b){if(r=r._target(),r._isPending())return m[q]=4,r._proxyPromiseArray(this,q);if(!r._isFulfilled())return this._reject(r._reason());n=r._value()}this._reducingIndex=q+1,this._accum=n}else this._reducingIndex=q+1;this._resolve(i?h:this._accum)}},b.prototype.reduce=function(a,b){return h(this,a,b,null)},b.reduce=function(a,b,c,d){return h(a,b,c,d)}}},{"./util.js":38}],31:[function(a,b){"use strict";var c;if(a("./util.js").isNode){var d=e.versions.node.split(".").map(Number);c=0===d[0]&&d[1]>10||d[0]>0?f.setImmediate:e.nextTick}else"undefined"!=typeof MutationObserver?(c=function(a){var b=document.createElement("div"),c=new MutationObserver(a);return c.observe(b,{attributes:!0}),function(){b.classList.toggle("foo")}},c.isStatic=!0):c="undefined"!=typeof setTimeout?function(a){setTimeout(a,0)}:function(){throw new Error("No async scheduler available\n\n See http://goo.gl/m3OTXk\n")};b.exports=c},{"./util.js":38}],32:[function(a,b){"use strict";b.exports=function(b,c){function d(a){this.constructor$(a)}var e=b.PromiseInspection,f=a("./util.js");f.inherits(d,c),d.prototype._promiseResolved=function(a,b){this._values[a]=b;var c=++this._totalResolved;c>=this._length&&this._resolve(this._values)},d.prototype._promiseFulfilled=function(a,b){var c=new e;c._bitField=268435456,c._settledValue=a,this._promiseResolved(b,c)},d.prototype._promiseRejected=function(a,b){var c=new e;c._bitField=134217728,c._settledValue=a,this._promiseResolved(b,c)},b.settle=function(a){return new d(a).promise()},b.prototype.settle=function(){return new d(this).promise()}}},{"./util.js":38}],33:[function(a,b){"use strict";b.exports=function(b,c,d){function e(a){this.constructor$(a),this._howMany=0,this._unwrap=!1,this._initialized=!1}function f(a,b){if((0|b)!==b||0>b)return d("expecting a positive integer\n\n See http://goo.gl/1wAmHx\n");var c=new e(a),f=c.promise();return c.setHowMany(b),c.init(),f}var g=a("./util.js"),h=a("./errors.js").RangeError,i=a("./errors.js").AggregateError,j=g.isArray;g.inherits(e,c),e.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var a=j(this._values);!this._isResolved()&&a&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},e.prototype.init=function(){this._initialized=!0,this._init()},e.prototype.setUnwrap=function(){this._unwrap=!0},e.prototype.howMany=function(){return this._howMany},e.prototype.setHowMany=function(a){this._howMany=a},e.prototype._promiseFulfilled=function(a){this._addFulfilled(a),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),this._resolve(1===this.howMany()&&this._unwrap?this._values[0]:this._values))},e.prototype._promiseRejected=function(a){if(this._addRejected(a),this.howMany()>this._canPossiblyFulfill()){for(var b=new i,c=this.length();c<this._values.length;++c)b.push(this._values[c]);this._reject(b)}},e.prototype._fulfilled=function(){return this._totalResolved},e.prototype._rejected=function(){return this._values.length-this.length()},e.prototype._addRejected=function(a){this._values.push(a)},e.prototype._addFulfilled=function(a){this._values[this._totalResolved++]=a},e.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},e.prototype._getRangeError=function(a){var b="Input array must contain at least "+this._howMany+" items but contains only "+a+" items";return new h(b)},e.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},b.some=function(a,b){return f(a,b)},b.prototype.some=function(a){return f(this,a)},b._SomePromiseArray=e}},{"./errors.js":13,"./util.js":38}],34:[function(a,b){"use strict";b.exports=function(a){function b(a){void 0!==a?(a=a._target(),this._bitField=a._bitField,this._settledValue=a._settledValue):(this._bitField=0,this._settledValue=void 0)}b.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/hc1DLj\n");return this._settledValue},b.prototype.error=b.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/hPuiwB\n");return this._settledValue},b.prototype.isFulfilled=a.prototype._isFulfilled=function(){return(268435456&this._bitField)>0},b.prototype.isRejected=a.prototype._isRejected=function(){return(134217728&this._bitField)>0},b.prototype.isPending=a.prototype._isPending=function(){return 0===(402653184&this._bitField)},b.prototype.isResolved=a.prototype._isResolved=function(){return(402653184&this._bitField)>0},a.prototype.isPending=function(){return this._target()._isPending()},a.prototype.isRejected=function(){return this._target()._isRejected()},a.prototype.isFulfilled=function(){return this._target()._isFulfilled()},a.prototype.isResolved=function(){return this._target()._isResolved()},a.prototype._value=function(){return this._settledValue},a.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue},a.prototype.value=function(){var a=this._target();if(!a.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/hc1DLj\n");return a._settledValue},a.prototype.reason=function(){var a=this._target();if(!a.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/hPuiwB\n");return a._unsetRejectionIsUnhandled(),a._settledValue},a.PromiseInspection=b}},{}],35:[function(a,b){"use strict";b.exports=function(b,c){function d(a,d){if(j(a)){if(a instanceof b)return a;if(f(a)){var k=new b(c);return a._then(k._fulfillUnchecked,k._rejectUncheckedCheckError,k._progressUnchecked,k,null),k}var l=h.tryCatch(e)(a);if(l===i){d&&d._pushContext();var k=b.reject(l.e);return d&&d._popContext(),k}if("function"==typeof l)return g(a,l,d)}return a}function e(a){return a.then}function f(a){return k.call(a,"_promise0")}function g(a,d,e){function f(c){k&&(a===c?k._rejectCallback(b._makeSelfResolutionError(),!1,!0):k._resolveCallback(c),k=null)}function g(a){k&&(k._rejectCallback(a,m,!0),k=null)}function j(a){k&&"function"==typeof k._progress&&k._progress(a)}var k=new b(c),l=k;e&&e._pushContext(),k._captureStackTrace(),e&&e._popContext();var m=!0,n=h.tryCatch(d).call(a,f,g,j);return m=!1,k&&n===i&&(k._rejectCallback(n.e,!0,!0),k=null),l}var h=a("./util.js"),i=h.errorObj,j=h.isObject,k={}.hasOwnProperty;return d}},{"./util.js":38}],36:[function(a,b){"use strict";b.exports=function(b,c){function d(a){var b=this;return b instanceof Number&&(b=+b),clearTimeout(b),a}function e(a){var b=this;throw b instanceof Number&&(b=+b),clearTimeout(b),a}var f=a("./util.js"),g=b.TimeoutError,h=function(a,b){if(a.isPending()){"string"!=typeof b&&(b="operation timed out");var c=new g(b);f.markAsOriginatingFromRejection(c),a._attachExtraTrace(c),a._cancel(c)}},i=function(a){return j(+this).thenReturn(a)},j=b.delay=function(a,d){if(void 0===d){d=a,a=void 0;var e=new b(c);return setTimeout(function(){e._fulfill()},d),e}return d=+d,b.resolve(a)._then(i,null,null,d,void 0)};b.prototype.delay=function(a){return j(this,a)},b.prototype.timeout=function(a,b){a=+a;var c=this.then().cancellable();c._cancellationParent=this;var f=setTimeout(function(){h(c,b)},a);return c._then(d,e,void 0,f,void 0)}}},{"./util.js":38}],37:[function(a,b){"use strict";b.exports=function(b,c,d,e){function f(a){for(var c=a.length,d=0;c>d;++d){var e=a[d];if(e.isRejected())return b.reject(e.error());a[d]=e._settledValue}return a}function g(a){setTimeout(function(){throw a},0)}function h(a){var b=d(a);return b!==a&&"function"==typeof a._isDisposable&&"function"==typeof a._getDisposer&&a._isDisposable()&&b._setDisposable(a._getDisposer()),b}function i(a,c){function e(){if(f>=i)return j.resolve();var k=h(a[f++]);if(k instanceof b&&k._isDisposable()){try{k=d(k._getDisposer().tryDispose(c),a.promise)}catch(l){return g(l)}if(k instanceof b)return k._then(e,g,null,null,null)}e()}var f=0,i=a.length,j=b.defer();return e(),j.promise}function j(a){var b=new q;return b._settledValue=a,b._bitField=268435456,i(this,b).thenReturn(a)}function k(a){var b=new q;return b._settledValue=a,b._bitField=134217728,i(this,b).thenThrow(a)}function l(a,b,c){this._data=a,this._promise=b,this._context=c}function m(a,b,c){this.constructor$(a,b,c)}function n(a){return l.isDisposer(a)?(this.resources[this.index]._setDisposable(a),a.promise()):a}var o=a("./errors.js").TypeError,p=a("./util.js").inherits,q=b.PromiseInspection;l.prototype.data=function(){return this._data},l.prototype.promise=function(){return this._promise},l.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():null},l.prototype.tryDispose=function(a){var b=this.resource(),c=this._context;void 0!==c&&c._pushContext();var d=null!==b?this.doDispose(b,a):null;return void 0!==c&&c._popContext(),this._promise._unsetDisposable(),this._data=null,d},l.isDisposer=function(a){return null!=a&&"function"==typeof a.resource&&"function"==typeof a.tryDispose},p(m,l),m.prototype.doDispose=function(a,b){var c=this.data();return c.call(a,a,b)},b.using=function(){var a=arguments.length;if(2>a)return c("you must pass at least 2 arguments to Promise.using");var e=arguments[a-1];if("function"!=typeof e)return c("fn must be a function\n\n See http://goo.gl/916lJJ\n");a--;for(var g=new Array(a),h=0;a>h;++h){var i=arguments[h];if(l.isDisposer(i)){var m=i;i=i.promise(),i._setDisposable(m)}else{var o=d(i);o instanceof b&&(i=o._then(n,null,null,{resources:g,index:h},void 0))}g[h]=i}var p=b.settle(g).then(f).then(function(a){p._pushContext();var b;try{b=e.apply(void 0,a)}finally{p._popContext()}return b})._then(j,k,void 0,g,void 0);return g.promise=p,p},b.prototype._setDisposable=function(a){this._bitField=262144|this._bitField,this._disposer=a},b.prototype._isDisposable=function(){return(262144&this._bitField)>0},b.prototype._getDisposer=function(){return this._disposer},b.prototype._unsetDisposable=function(){this._bitField=-262145&this._bitField,this._disposer=void 0},b.prototype.disposer=function(a){if("function"==typeof a)return new m(a,this,e());throw new o}}},{"./errors.js":13,"./util.js":38}],38:[function(a,b,c){"use strict";function d(){try{return B.apply(this,arguments)}catch(a){return A.e=a,A}}function f(a){return B=a,d}function g(a){return null==a||a===!0||a===!1||"string"==typeof a||"number"==typeof a}function h(a){return!g(a)}function i(a){return g(a)?new Error(r(a)):a}function j(a,b){var c,d=a.length,e=new Array(d+1);for(c=0;d>c;++c)e[c]=a[c];return e[c]=b,e}function k(a,b,c){if(!x.isES5)return{}.hasOwnProperty.call(a,b)?a[b]:void 0;var d=Object.getOwnPropertyDescriptor(a,b);return null!=d?null==d.get&&null==d.set?d.value:c:void 0}function l(a,b,c){if(g(a))return a;var d={value:c,configurable:!0,enumerable:!1,writable:!0};return x.defineProperty(a,b,d),a}function m(a){throw a}function n(a){try{if("function"==typeof a){var b=x.names(a.prototype);return x.isES5?b.length>1:b.length>0&&!(1===b.length&&"constructor"===b[0])}return!1}catch(c){return!1}}function o(a){function b(){}return b.prototype=a,b}function p(a){return F.test(a)}function q(a,b,c){for(var d=new Array(a),e=0;a>e;++e)d[e]=b+e+c;return d}function r(a){try{return a+""}catch(b){return"[no string representation]"}}function s(a){try{l(a,"isOperational",!0)}catch(b){}}function t(a){return null==a?!1:a instanceof Error.__BluebirdErrorTypes__.OperationalError||a.isOperational===!0}function u(a){return a instanceof Error&&x.propertyIsWritable(a,"stack")}function v(a){return{}.toString.call(a)}function w(a,b,c){for(var d=x.names(a),e=0;e<d.length;++e){var f=d[e];c(f)&&x.defineProperty(b,f,x.getDescriptor(a,f))}}var x=a("./es5.js"),y="undefined"==typeof navigator,z=function(){try{var a={};return x.defineProperty(a,"f",{get:function(){return 3}}),3===a.f}catch(b){return!1}}(),A={e:{}},B,C=function(a,b){function c(){this.constructor=a,this.constructor$=b;for(var c in b.prototype)d.call(b.prototype,c)&&"$"!==c.charAt(c.length-1)&&(this[c+"$"]=b.prototype[c])}var d={}.hasOwnProperty;return c.prototype=b.prototype,a.prototype=new c,a.prototype},D=function(){return"string"!==this}.call("string"),E=function(){if(x.isES5){var a=Object.prototype,b=Object.getOwnPropertyNames;return function(c){for(var d=[],e=Object.create(null);null!=c&&c!==a;){var f;try{f=b(c)}catch(g){return d}for(var h=0;h<f.length;++h){var i=f[h];if(!e[i]){e[i]=!0;var j=Object.getOwnPropertyDescriptor(c,i);null!=j&&null==j.get&&null==j.set&&d.push(i)}}c=x.getPrototypeOf(c)}return d}}return function(a){var b=[];for(var c in a)b.push(c);return b}}(),F=/^[a-z$_][a-z$_0-9]*$/i,G=function(){return"stack"in new Error?function(a){return u(a)?a:new Error(r(a))}:function(a){if(u(a))return a;try{throw new Error(r(a))}catch(b){return b}}}(),H={isClass:n,isIdentifier:p,inheritedDataKeys:E,getDataPropertyOrDefault:k,thrower:m,isArray:x.isArray,haveGetters:z,notEnumerableProp:l,isPrimitive:g,isObject:h,canEvaluate:y,errorObj:A,tryCatch:f,inherits:C,withAppended:j,maybeWrapAsError:i,wrapsPrimitiveReceiver:D,toFastProperties:o,filledRange:q,toString:r,canAttachTrace:u,ensureErrorObject:G,originatesFromRejection:t,markAsOriginatingFromRejection:s,classString:v,copyDescriptors:w,isNode:"undefined"!=typeof e&&"[object process]"===v(e).toLowerCase()};try{throw new Error}catch(I){H.lastLineError=I}b.exports=H},{"./es5.js":14}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise)}).call(this,b("cO2pGs"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{cO2pGs:4}],8:[function(a,b){var c,d=Object.prototype.hasOwnProperty,e=Object.prototype.toString,f=function(a){"use strict";if(!a||"[object Object]"!==e.call(a)||a.nodeType||a.setInterval)return!1;var b=d.call(a,"constructor"),f=a.constructor&&a.constructor.prototype&&d.call(a.constructor.prototype,"isPrototypeOf");if(a.constructor&&!b&&!f)return!1;var g;for(g in a);return g===c||d.call(a,g)};b.exports=function g(){"use strict";var a,b,d,e,h,i,j=arguments[0],k=1,l=arguments.length,m=!1;for("boolean"==typeof j?(m=j,j=arguments[1]||{},k=2):("object"!=typeof j&&"function"!=typeof j||j==c)&&(j={});l>k;++k)if(null!=(a=arguments[k]))for(b in a)d=j[b],e=a[b],j!==e&&(m&&e&&(f(e)||(h=Array.isArray(e)))?(h?(h=!1,i=d&&Array.isArray(d)?d:[]):i=d&&f(d)?d:{},j[b]=g(m,i,e)):e!==c&&(j[b]=e));return j}},{}],9:[function(a,b){(function(c){var d=b.exports={},e=a("localstorage-memory");d.hasLocalStorage=a("has-localstorage"),d.create=function(){var a;return d.hasLocalStorage()?(a=c.localStorage,a={get length(){return c.localStorage.length},getItem:c.localStorage.getItem.bind(c.localStorage),setItem:c.localStorage.setItem.bind(c.localStorage),removeItem:c.localStorage.removeItem.bind(c.localStorage),key:c.localStorage.key.bind(c.localStorage),clear:c.localStorage.clear.bind(c.localStorage)},a.isPersistent=!0):(a=e,a.isPersistent=!1),a.getObject=d.getObject.bind(null,a),a.setObject=d.setObject.bind(null,a),a},d.setObject=function(a,b,c){return"object"!=typeof c?a.setItem(b,c):a.setItem(b,JSON.stringify(c))},d.getObject=function(a,b){var c=a.getItem(b);if(!c)return null;try{return JSON.parse(c)}catch(d){return c}}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"has-localstorage":11,"localstorage-memory":12}],10:[function(a,b){var c=a("./api");b.exports=c.create()},{"./api":9}],11:[function(a,b,c){function d(){try{if("undefined"==typeof localStorage)return!1;if(localStorage.setItem("Storage-Test","1"),"1"!==localStorage.getItem("Storage-Test"))return!1;localStorage.removeItem("Storage-Test")}catch(a){return!1}return!0}"object"==typeof c&&(b.exports=d)},{}],12:[function(a,b,c){!function(a){var d={},e={};d.length=0,d.getItem=function(a){return e[a]||null},d.setItem=function(a,b){"undefined"==typeof b?d.removeItem(a):(e[a]=""+b,d.length++)},d.removeItem=function(a){delete e[a],d.length--},d.key=function(a){return Object.keys(e)[a]||null},d.clear=function(){e={},d.length=0},"object"==typeof c?b.exports=d:a.localStorageMemory=d}(this)},{}],13:[function(a,b){function c(){this.emitting=!1,e.call(this)}function d(a,b){var c=!1;if(Array.isArray(a)&&Array.isArray(b))for(var d=0;d<a.length;d++)if(-1!==b.indexOf(a[d])){c=!0;break}return c}var e=a("events").EventEmitter,f=a("util");f.inherits(c,e),c.prototype.emit=function(a){var b=arguments,c=[],f=this;return a=Array.isArray(a)?a:a.split(" "),a.forEach(function(a){var g,h=[],i=[];if(-1!==a.indexOf(".")&&f._events&&(h=a.split("."),a=h.shift(),g=f._events[a]))if(Array.isArray(g)){if(g.forEach(function(a){d(h,a.__eens)&&i.push(a)}),!i.length)return;f._events[a]=i}else if(0==d(h,g.__eens))return;f.emitting={event:a,namespaces:h},b[0]=a,c.push(e.prototype.emit.apply(f,b)),f.emitting=!1,i.length&&(f._events[a]=g)}),1==c.length?c[0]:c},c.prototype.addListener=function(a,b){var c,d;return-1!==(d=a.indexOf("."))&&"function"==typeof b&&(b=b.bind(),c=a.split("."),a=c.shift(),b.__eens=c),e.prototype.addListener.call(this,a,b)},c.prototype.on=function(a,b){var c,d=Array.isArray(a),f=this;"string"==typeof a||d?(a=d?a:a.split(" "),a.forEach(function(a){f.addListener(a,b)})):"object"==typeof a?(c=Object.keys(a),c.forEach(function(b){f.addListener(b,a[b])})):e.prototype.addListener.call(this,a,b)},c.prototype.removeListener=function(a,b){return-1!==a.indexOf(".")&&(a=a.split(".").shift()),e.prototype.removeListener.call(this,a,b)},c.prototype.removeAllListeners=function(a){var b;return-1!==a.indexOf(".")?(b=a.split("."),a=b.shift(),a?this._offNs(b,a):this._events&&Object.keys(this._events).forEach(this._offNs.bind(this,b))):e.prototype.removeAllListeners.call(this,a),this},c.prototype._offNs=function(a,b){var c=this._events&&this._events[b],e=this;c&&(Array.isArray(c)?c.forEach(function(c){d(a,c.__eens)&&e.removeListener(b,c)}):d(a,c.__eens)&&this.removeListener(b,c))},c.prototype.off=function(a,b){var c,d=Array.isArray(a),e=this,f="function"==typeof b;return"string"==typeof a||d?(a=d?a:a.split(" "),a.forEach(function(a){f?e.removeListener(a,b):e.removeAllListeners(a)})):"object"==typeof a&&(c=Object.keys(a),c.forEach(function(b){"function"==typeof a[b]?e.removeListener(b,a[b]):e.removeAllListeners(b)})),this},b.exports=function(a){return a}.bind(null,new c);var g={};b.exports.create=function(a){var b;return b=a&&g[a]?g[a]:new c},b.exports.EventEmitter=c},{events:2,util:6}],14:[function(a,b){b.exports=function(){function b(f){var g=this;if(!(g instanceof b))throw new Error("usage: new Hoodie(url);");g.baseUrl=f?f.replace(/\/+$/,""):"",g.extend=function(a){a(g,d,e)},e.events(g),g.extend(a("./hoodie/id")),g.extend(a("./hoodie/open")),g.extend(a("./hoodie/request")),g.extend(a("./hoodie/connection")),g.extend(a("./hoodie/store")),g.extend(a("./hoodie/account")),g.extend(a("./hoodie/remote")),g.extend(a("./hoodie/task")),g.account.authenticate().then(function(){return g.remote.connect()})["catch"](function(){}),c(g)}function c(a){for(var b=0;b<f.length;b++)f[b](a,d,e)}var d=a("./lib"),e=a("./utils"),f=[];return b.extend=function(a){f.push(a)},b}()},{"./hoodie/account":17,"./hoodie/connection":18,"./hoodie/id":19,"./hoodie/open":20,"./hoodie/remote":21,"./hoodie/request":22,"./hoodie/store":26,"./hoodie/task":30,"./lib":37,"./utils":52}],15:[function(a,b,c){(function(b){var d=a("./helpers"),e=a("../../utils"),f=e.generateId,g=e.config,h=e.promise,i=h.reject,j=h.resolve,k=h.rejectWith,l=h.resolveWith;c.authenticate=function(a){var b=a.requests;return a.authenticated===!1?i():a.authenticated===!0?l(a.username):b.signOut&&"pending"===b.signOut.state?b.signOut.then(i):b.signIn&&"pending"===b.signIn.state?a.requests.signIn:c.hasAccount(a)?d.withSingleRequest(a,"authenticate",function(){return c.request(a,"GET","/_session").then(d.handleAuthenticateRequestSuccess.bind(null,a))}):d.sendSignOutRequest(a).then(function(){return a.authenticated=!1,i()})},c.hasValidSession=function(a){return c.hasAccount(a)?a.authenticated===!0:!1},c.hasInvalidSession=function(a){return c.hasAccount(a)?a.authenticated===!1:!1},c.signUp=function(a,b,e){return void 0===e&&(e=""),b?c.hasAnonymousAccount(a)?d.upgradeAnonymousAccount(a,b,e)["catch"](function(c){if("HoodieUnauthorizedError"!==c.name)throw c;return d.removeAnonymousPassword(a),d.sendSignUpRequest(a,b,e).done(function(){d.setUsername(a,b),a.events.trigger("signup",b)})}):c.hasAccount(a)?k("Must sign out first."):d.sendSignUpRequest(a,b,e).done(function(){d.setUsername(a,b),a.events.trigger("signup",b)}):k("Username must be set.")},c.anonymousSignUp=function(a){var b,c;return b=f(10),c=a.hoodie.id(),d.sendSignUpRequest(a,c,b).progress(function(){d.setAnonymousPassword(a,b)}).done(function(){a.events.trigger("signup:anonymous")}).then(function(){return j()})},c.hasAccount=function(a){var b=!!a.username;return b||c.hasAnonymousAccount(a)},c.hasAnonymousAccount=function(a){return!!d.getAnonymousPassword(a)},c.signIn=function(a,b,e,f){var g,h,i=b===a.username;return b||(b=""),e||(e=""),b=b.toLowerCase(),f=f||{},g=f.silent,h=!c.hasAccount(a)||i||f.moveData?d.sendSignInRequest(a,b,e,f):d.pushLocalChanges(a,f).then(function(){return d.sendSignInRequest(a,b,e,f)}),i||h.done(d.disconnect.bind(null,a)),h.done(function(b){f.moveData&&a.events.trigger("movedata"),i||f.moveData||(d.cleanup(a),d.setBearerToken(a,a.newBearerToken)),i?g||a.events.trigger("reauthenticated",b):(d.setUsername(a,b),g||a.events.trigger("signin",b,a.newHoodieId,f))}),h},c.signOut=function(a,b){var e,f,g;return b=b||{},e=b.silent?d.cleanup:d.cleanupAndTriggerSignOut,g=a.username,f=c.hasAccount(a)?b.moveData?d.sendSignOutRequest(a):d.pushLocalChanges(a,b).then(d.disconnect.bind(null,a)).then(d.sendSignOutRequest.bind(null,a)).then(e.bind(null,a)):e(a),f.then(function(){return l(g)})},c.request=function(a,b,c,d){return a.hoodie.request.apply(a.hoodie,[b,c,d||{}])},c.db=function(a){return"user/"+a.hoodie.id()},c.fetch=function(a,b){var e=c.hasAnonymousAccount(a)?a.hoodie.id():a.username;return void 0===b&&(b=e),b?d.withSingleRequest(a,"fetch",function(){return c.request(a,"GET",d.userDocUrl(a,b)).done(function(b){return a.userDoc=b,a.userDoc})}):k({name:"HoodieUnauthorizedError",message:"Not signed in"})},c.changePassword=function(a,b,e){return a.username?(d.disconnect(a),c.fetch(a).then(function(){return a.hoodie.request("POST","/_session",{data:{name:a.userDoc.name,password:b}})}).then(d.sendChangeUsernameAndPasswordRequest(a,b,null,e)).then(function(){return j()}).done(function(){a.events.trigger("changepassword")})):k({name:"HoodieUnauthorizedError",message:"Not signed in"})},c.resetPassword=function(a,b){var e,h,i,j;return(j=g.get("_account.resetPasswordId"))?c.checkPasswordReset(a):(j=""+b+"/"+f(),g.set("_account.resetPasswordId",j),h=""+a.userDocPrefix+":$passwordReset/"+j,e={_id:h,name:"$passwordReset/"+j,type:"user",roles:[],password:j,createdAt:d.now(a),updatedAt:d.now(a)},i={data:JSON.stringify(e),contentType:"application/json"},d.withPreviousRequestsAborted(a,"resetPassword",function(){return c.request(a,"PUT","/_users/"+encodeURIComponent(h),i).done(c.checkPasswordReset.bind(null,a)).then(d.awaitPasswordResetResult.bind(null,a)).done(function(){a.events.trigger("resetpassword")})}))},c.checkPasswordReset=function(a){var e,f,h,i,j,l;return(h=g.get("_account.resetPasswordId"))?(j=h.split("/")[0],l="$passwordReset/"+h,i="/_users/"+encodeURIComponent(a.userDocPrefix+":"+l),e=btoa(l+":"+h),f={headers:{Authorization:"Basic "+e}},d.withSingleRequest(a,"passwordResetStatus",function(){return c.request(a,"GET",i,f).then(d.handlePasswordResetStatusRequestSuccess.bind(null,a),d.handlePasswordResetStatusRequestError(a,j)).fail(function(d){return"HoodiePendingError"===d.name?void b.setTimeout(c.checkPasswordReset.bind(null,a),1e3):a.events.trigger("error:passwordreset",d,j)})})):k("No pending password reset.")},c.changeUsername=function(a,b,e){var f=c.hasAnonymousAccount(a)?a.hoodie.id():a.username;return e!==f?(e=e||"",d.changeUsernameAndPassword(a,b,e.toLowerCase()).done(function(){d.setUsername(a,e),a.events.trigger("changeusername",e)})):k({name:"HoodieConflictError",message:"Usernames identical"})},c.destroy=function(a){var b,e=a.username;return b=c.hasAccount(a)?c.fetch(a).then(d.handleFetchBeforeDestroySuccess.bind(null,a),d.handleFetchBeforeDestroyError.bind(null,a)).then(d.cleanupAndTriggerSignOut.bind(null,a)).then(function(){return e}):d.cleanupAndTriggerSignOut(a),b.then(function(){return a.events.trigger("destroy",e),l(e)})}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils":52,"./helpers":16}],16:[function(a,b,c){(function(b){var d=a("extend"),e=a("../../utils"),f=e.config,g=e.promise,h=g.defer,i=g.reject,j=g.rejectWith,k=g.resolveWith,l=g.resolve,m="_account.anonymousPassword";c.setAnonymousPassword=function(a,b){return f.set(m,b)},c.getAnonymousPassword=function(){return f.get(m)},c.removeAnonymousPassword=function(){return f.unset(m)},c.anonymousSignIn=function(a){var b=a.hoodie.id(),d=c.getAnonymousPassword(a);return a.hoodie.account.signIn(b,d).done(function(){a.events.trigger("signin:anonymous",b)})},c.reauthenticate=function(a){return a.authenticated=void 0,a.hoodie.account.authenticate()},c.setUsername=function(a,b){return a.username!==b?(a.username=b,f.set("_account.username",b)):void 0},c.setBearerToken=function(a,b){return a.hoodie.account.bearerToken!==b?(a.hoodie.account.bearerToken=b,f.set("_account.bearerToken",b)):void 0},c.handleAuthenticateRequestSuccess=function(a,b){return b.userCtx.name?(a.authenticated=!0,k(a.username)):a.hoodie.account.hasAnonymousAccount()?c.anonymousSignIn(a):(a.authenticated=!1,a.events.trigger("error:unauthenticated"),i())},c.handleSignUpSuccess=function(a,b,d){return function(e){return a.userDoc._rev=e.rev,c.delayedSignIn(a,b,d)}},c.handleSignUpError=function(a,b){return function(a){return"HoodieConflictError"===a.name&&(a.message="Username "+b+" already exists"),j(a)}},c.delayedSignIn=function(a,d,e,f,g){return g||(g=h()),b.setTimeout(function(){var b=c.sendSignInRequest(a,d,e,f);b.done(g.resolve),b.fail(function(b){"HoodieAccountUnconfirmedError"===b.name?c.delayedSignIn(a,d,e,f,g):g.reject.apply(g,arguments)})},300),g.promise},c.handleSignInSuccess=function(a,b){return b=b||{},function(b){var d,e,f;return d=b.name.replace(/^user(_anonymous)?\//,""),e=b.roles[0],f=b.bearerToken,-1!==b.roles.indexOf("error")?a.hoodie.account.fetch(d).then(function(){return j(a.userDoc.$error)}):-1===b.roles.indexOf("confirmed")?j({name:"HoodieAccountUnconfirmedError",message:"Account has not been confirmed yet"}):(a.authenticated=!0,a.newHoodieId=e,a.newBearerToken=f,c.setBearerToken(a,f),a.hoodie.account.fetch(d),k(d))}},c.handlePasswordResetStatusRequestSuccess=function(a,b){var c;return b.$error?(c=b.$error,c.object=b,delete c.object.$error):c={name:"HoodiePendingError",message:"Password reset is still pending"},j(c)},c.handlePasswordResetStatusRequestError=function(a,b){return function(c){return"HoodieUnauthorizedError"===c.name?(f.unset("_account.resetPasswordId"),a.events.trigger("passwordreset",b),l()):j(c)}},c.awaitPasswordResetResult=function(a){var b=h();return a.events.one("passwordreset",b.resolve),a.events.on("error:passwordreset",c.removePasswordResetObject.bind(null,a)),a.events.on("error:passwordreset",b.reject),b.promise.always(function(){a.events.removeListener("passwordreset",b.resolve),a.events.removeListener("error:passwordreset",c.removePasswordResetObject.bind(null,a)),a.events.removeListener("error:passwordreset",b.reject)}),b.promise},c.removePasswordResetObject=function(a,b){var c=b.object,d=c.name,e=d.substr(15),g="/_users/"+encodeURIComponent(a.userDocPrefix+":"+d),h=btoa(d+":"+e);c._deleted=!0;var i={headers:{Authorization:"Basic "+h},contentType:"application/json",data:JSON.stringify(c)};a.hoodie.account.request("PUT",g,i),f.unset("_account.resetPasswordId")},c.changeUsernameAndPassword=function(a,b,d,e){var f=a.hoodie.account.hasAnonymousAccount()?a.hoodie.id():a.username;return c.sendSignInRequest(a,f,b).then(function(){return a.hoodie.account.fetch().then(c.sendChangeUsernameAndPasswordRequest(a,b,d,e))})},c.upgradeAnonymousAccount=function(a,b,d){var e=c.getAnonymousPassword(a);return c.changeUsernameAndPassword(a,e,b,d).done(function(){a.events.trigger("signup",b),c.removeAnonymousPassword(a)})},c.handleFetchBeforeDestroySuccess=function(a){return c.disconnect(a),a.userDoc._deleted=!0,c.withPreviousRequestsAborted(a,"updateUsersDoc",function(){a.hoodie.account.request("PUT",c.userDocUrl(a),{data:JSON.stringify(a.userDoc),contentType:"application/json"})})},c.handleFetchBeforeDestroyError=function(a,b){return"HoodieNotFoundError"===b.name?l():j(b)},c.cleanup=function(a){return a.events.trigger("cleanup"),a.authenticated=void 0,c.setUsername(a,void 0),c.setBearerToken(a,void 0),l()},c.disconnect=function(a){return a.hoodie.remote.disconnect()},c.cleanupAndTriggerSignOut=function(a){var b=a.username;return c.cleanup(a).then(function(){return a.events.trigger("signout",b)})},c.userTypeAndId=function(a,b){var c;return c=b===a.hoodie.id()?"user_anonymous":"user",""+c+"/"+b},c.userDocKey=function(a,b){var d=a.hoodie.account.hasAnonymousAccount()?a.hoodie.id():a.username;
return b=b||d,""+a.userDocPrefix+":"+c.userTypeAndId(a,b)},c.userDocUrl=function(a,b){return"/_users/"+encodeURIComponent(c.userDocKey(a,b))},c.sendChangeUsernameAndPasswordRequest=function(a,b,e,f){return function(){var g=d({},a.userDoc);e&&(g.$newUsername=e),g.updatedAt=c.now(a),g.signedUpAt=g.signedUpAt||c.now(a),void 0!==f&&(delete g.salt,delete g.password_sha,g.password=f);var h={data:JSON.stringify(g),contentType:"application/json"};return c.withPreviousRequestsAborted(a,"updateUsersDoc",function(){return a.hoodie.account.request("PUT",c.userDocUrl(a),h).then(c.handleChangeUsernameAndPasswordResponse(a,e,f||b))})}},c.handleChangeUsernameAndPasswordResponse=function(a,b,d){var e=a.hoodie.account.hasAnonymousAccount()?a.hoodie.id():a.username;return function(){return c.disconnect(a),b?c.awaitCurrentAccountRemoved(a,e,d).then(function(){return a.hoodie.account.signOut({silent:!0,moveData:!0}).then(function(){return a.hoodie.account.signIn(b,d,{moveData:!0,silent:!0})})}):a.hoodie.account.signIn(e,d,{silent:!0})}},c.awaitCurrentAccountRemoved=function(a,d,e,f){f||(f=h());var g={data:{name:c.userTypeAndId(a,d),password:e}};return c.withPreviousRequestsAborted(a,"signIn",function(){return a.hoodie.account.request("POST","/_session",g)}).done(function(){b.setTimeout(c.awaitCurrentAccountRemoved.bind(null,a),300,d,e,f)}).fail(function(a){return 401===a.status?f.resolve():void f.reject(a)}),f.promise},c.withPreviousRequestsAborted=function(a,b,c){return void 0!==a.requests[b]&&"function"==typeof a.requests[b].abort&&a.requests[b].abort(),a.requests[b]=c(),a.requests[b]},c.withSingleRequest=function(a,b,c){return a.requests[b]&&"pending"===a.requests[b].state?a.requests[b]:(a.requests[b]=c(),a.requests[b].state="pending",a.requests[b].then(function(){a.requests[b].state="fullfiled"},function(){a.requests[b].state="rejected"}),a.requests[b])},c.pushLocalChanges=function(a,b){return a.hoodie.store.hasLocalChanges()&&!b.ignoreLocalChanges?a.hoodie.remote.push():l()},c.sendSignOutRequest=function(a){return c.withSingleRequest(a,"signOut",function(){return a.hoodie.account.request("DELETE","/_session")})},c.sendSignInRequest=function(a,b,d,e){var f={data:{name:c.userTypeAndId(a,b),password:d}};return c.withPreviousRequestsAborted(a,"signIn",function(){var b=a.hoodie.account.request("POST","/_session",f);return b.then(c.handleSignInSuccess(a,e))})},c.sendSignUpRequest=function(a,b,d){var e,f=h();return b=b.toLowerCase(),e={data:JSON.stringify({_id:c.userDocKey(a,b),name:c.userTypeAndId(a,b),type:"user",roles:[],password:d,hoodieId:a.hoodie.id(),database:a.hoodie.account.db(),updatedAt:c.now(a),createdAt:c.now(a),signedUpAt:b!==a.hoodie.id()?c.now(a):void 0}),contentType:"application/json"},a.hoodie.account.request("PUT",c.userDocUrl(a,b),e).done(f.notify).then(c.handleSignUpSuccess(a,b,d),c.handleSignUpError(a,b)).then(f.resolve,f.reject),f.promise},c.now=function(){return new Date}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils":52,extend:8}],17:[function(a,b){var c=a("../../utils"),d=a("./api"),e=a("./helpers");b.exports=function(a){var b={},f=c.config.get("_account.username"),g={authenticated:null,events:c.events(a,b,"account"),hoodie:a,requests:{},userDoc:{},userDocPrefix:"org.couchdb.user",get username(){return f},set username(a){f=a,b.username=a}};Object.keys(d).forEach(function(a){"function"==typeof d[a]&&(b[a]=d[a].bind(null,g))}),a.on("remote:error:unauthenticated",e.reauthenticate.bind(null,g)),b.on("cleanup",c.config.clear),b.checkPasswordReset()["catch"](function(){}),b.username=f,b.bearerToken=c.config.get("_account.bearerToken"),a.account=b}},{"../../utils":52,"./api":15,"./helpers":16}],18:[function(a,b){(function(c){var d=a("../utils/promise"),e=b.exports=function(a){var b={online:!0,checkConnectionRequest:null,checkConnectionTimeout:null,hoodie:a};a.checkConnection=e.checkConnection.bind(null,b),a.isConnected=e.isConnected.bind(null,b),c.addEventListener("online",a.checkConnection,!1),c.addEventListener("offline",a.checkConnection,!1),setTimeout(a.checkConnection)};e.checkConnection=function(a){if(a.checkConnectionRequest)return a.checkConnectionRequest;var b="/?hoodieId="+a.hoodie.id();return c.clearTimeout(a.checkConnectionTimeout),a.checkConnectionRequest=a.hoodie.request("GET",b).then(e.handleConnection.bind(null,a,3e4,"reconnected",!0),e.handleConnection.bind(null,a,3e3,"disconnected",!1)),a.checkConnectionRequest},e.isConnected=function(a){return a&&a.online},e.handleConnection=function(a,b,f,g){return a.checkConnectionRequest=void 0,a.checkConnectionTimeout=c.setTimeout(e.checkConnection.bind(null,a),b),e.isConnected(a)!==g&&(a.hoodie.trigger(f),a.online=g),d[g?"resolve":"reject"]()}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../utils/promise":54}],19:[function(a,b,c){var d=a("../utils"),e=d.generateId,f=d.config,c=b.exports=function(a){var b={id:f.get("_hoodieId")};a.on("account:cleanup",c.unsetId.bind(null,b)),a.on("account:signin",function(a,d){c.setId(b,d)}),a.on("account:signin:anonymous",c.setId.bind(null,b)),a.id=c.id.bind(null,b)};c.id=function(a){return a.id||c.setId(a,e()),a.id},c.setId=function(a,b){a.id=b,f.set("_hoodieId",a.id)},c.unsetId=function(a){delete a.id,f.unset("_hoodieId")}},{"../utils":52}],20:[function(a,b,c){var d=a("../lib/store/remote"),e=a("extend"),c=b.exports=function(a){a.open=c.open.bind(null,a)};c.open=function(a,b,d){return d=d||{},e(d,{name:b}),c.hoodieRemoteStore(a,d)},c.hoodieRemoteStore=d},{"../lib/store/remote":44,extend:8}],21:[function(a,b,c){var d=a("../utils"),e=d.config,f=d.promise.rejectWith,c=b.exports=function(a){function b(){}function d(a){g.push(a)["catch"](b)}function e(a){g.connect(a)["catch"](b)}function f(){g.disconnect()["catch"](b)}var g=a.open(a.account.db(),{connected:!0,prefix:"",since:c.sinceNrCallback,defaultObjectsToPush:a.store.changedObjects,knownObjects:a.store.index().map(function(a){var b=a.split(/\//);return{type:b[0],id:b[1]}})});g.connect=c.connect.bind(null,a,g.connect),g.trigger=c.trigger.bind(null,a),g.on=c.on.bind(null,a),g.unbind=c.unbind.bind(null,a),a.on("remote:connect",function(){a.on("store:idle",d)}),a.on("remote:disconnect",function(){a.unbind("store:idle",d)}),a.on("disconnected",f),a.on("reconnected",e),a.on("account:signup",e),a.on("account:signup:anonymous",e),a.on("account:signin",e),a.on("account:signin:anonymous",e),a.on("account:changeusername",e),a.on("account:reauthenticated",e),a.on("account:signout",f),a.remote=g};c.connect=function(a,b){return a.account.hasAccount()?b(a.account.db()):f("User has no database to connect to")},c.trigger=function(a){var b=Array.prototype.slice.call(arguments,1);return b[0]="remote:"+b[0],a.trigger.apply(a,b)},c.on=function(a,b,c){return b=b.replace(/(^| )([^ ]+)/g,"$1remote:$2"),a.on(b,c)},c.unbind=function(a,b,c){return b=b.replace(/(^| )([^ ]+)/g,"$1remote:$2"),a.unbind(b,c)},c.sinceNrCallback=function(a){return a?e.set("_remote.since",a):e.get("_remote.since")||0}},{"../utils":52}],22:[function(a,b){(function(c){var d=a("extend"),e=a("../utils"),f=e.hoodiefyRequestErrorName,g=e.promise.defer,h=e.promise.rejectWith,i=b.exports=function(a){a.request=i.request.bind(null,a)},j="/_api";i.request=function(a,b,e,f){var h,k={type:b,dataType:"json"},l=g(),m=l.promise;f=f||{},a.account.bearerToken&&(k.headers={Authorization:"Bearer "+a.account.bearerToken}),/^http/.test(e)||(e=(a.baseUrl||"")+j+e),/^http/.test(e)&&(k.xhrFields={withCredentials:!0},k.crossDomain=!0),k.url=e,h=c.jQuery.ajax(d(k,f)).done(l.resolve).fail(l.reject);var n=m["catch"](i.handleRequestError.bind(null,a));return n.abort=h.abort,n},i.handleRequestError=function(a,b){var c;if("abort"===b.statusText)return h({name:"HoodieConnectionAbortError",message:"Request has been aborted"});try{c=i.parseErrorFromResponse(b)}catch(d){c=b&&b.responseText?b.responseText:{name:"HoodieConnectionError",message:"Could not connect to Hoodie server at {{url}}.",url:a.baseUrl||"/"}}return h(c)},i.HTTP_STATUS_ERROR_MAP={400:"HoodieRequestError",401:"HoodieUnauthorizedError",403:"HoodieRequestError",404:"HoodieNotFoundError",409:"HoodieConflictError",412:"HoodieConflictError",500:"HoodieServerError"},i.parseErrorFromResponse=function(a){var b=JSON.parse(a.responseText);return b.name=i.HTTP_STATUS_ERROR_MAP[a.status],b.name||(b.name=f(b.error)),b.status=a.status,b.message=b.reason||"",b.message=b.message.charAt(0).toUpperCase()+b.message.slice(1),delete b.error,delete b.reason,b}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../utils":52,extend:8}],23:[function(a,b){(function(c){var d=a("../../utils"),e=d.promise,f=e.defer,g=d.localStorageWrapper,h=a("./helpers"),i=b.exports;i.index=function(a){var b,c,d,e,f;for(d=[],b=e=0,f=g.length;f>=0?f>e:e>f;b=f>=0?++e:--e)c=g.key(b),h.isSemanticKey(a,c)&&d.push(c);return d},i.changedObjects=function(a){var b,c,d,e,f,g,h;f=a.dirty,h=[];for(c in f)f.hasOwnProperty(c)&&(d=f[c],g=c.split("/"),e=g[0],b=g[1],d.type=e,d.id=b,h.push(d));return h},i.hasLocalChanges=function(a,b,d){if(!b)return!c.$.isEmptyObject(a.dirty);var e=[b,d].join("/");return a.dirty[e]?!0:h.hasLocalChanges(a,h.cache(a,b,d))},i.clear=function(a){var b,c,d,e;b=f();try{d=i.index(a),e=function(){var b,e,f;for(f=[],b=0,e=d.length;e>b;b++)c=d[b],h.isSemanticKey(a,c)&&f.push(g.removeItem(c));return f}.call(this),a.cachedObject={},h.clearChanged(a),b.resolve(),a.hoodie.store.trigger("clear")}catch(j){b.reject(j)}return b.promise},i.isBootstrapping=function(a){return a.bootstrapping},i.isPersistent=function(){return g.isPersistent}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils":52,"./helpers":25}],24:[function(a,b,c){var d=a("./localstore"),c=b.exports;c.start=function(a){a.bootstrapping=!0,a.hoodie.store.trigger("bootstrap:start")},c.end=function(a){var b,c,e,f;for(a.bootstrapping=!1;a.queue.length>0;)b=a.queue.shift(),c=b[0],e=b[1],f=b[2],d[c].bind(d).apply(d,e).then(f.resolve,f.reject);a.hoodie.store.trigger("bootstrap:end")},c.abort=function(a,b){var c,d;for(a.bootstrapping=!1;a.queue.length>0;)c=a.queue.shift(),d=c[2],d.reject(b);a.hoodie.store.trigger("bootstrap:error",b)}},{"./localstore":27}],25:[function(a,b){(function(c){var d=a("extend"),e=a("../../utils"),f=e.promise,g=f.defer,h=e.localStorageWrapper,i=b.exports;i.cache=function(a,b,c,e,f){var g,j;if(void 0===e&&(e=!1),f=f||{},g=""+b+"/"+c,e){if(d(e,{type:b,id:c}),j=d({},e),delete j.type,delete j.id,h.setObject(g,j),f.remote)return i.clearChanged(a,b,c),a.cachedObject[g]=d(!0,{},e),a.cachedObject[g]}else{if(a.cachedObject[g]===!1)return!1;if(a.cachedObject[g])return d(!0,{},a.cachedObject[g]);if(g=""+b+"/"+c,e=h.getObject(g),!e)return i.clearChanged(a,b,c),a.cachedObject[g]=!1,!1;e.type=b,e.id=c}return i.isMarkedAsDeleted(a,e)?(i.markAsChanged(a,b,c,e,f),a.cachedObject[g]=!1,!1):(a.cachedObject[g]=d(!0,{},e),i.hasLocalChanges(a,e)?i.markAsChanged(a,b,c,a.cachedObject[g],f):i.clearChanged(a,b,c),d(!0,{},e))},i.markAsChanged=function(a,b,c,d,e){var f;e=e||{},f=""+b+"/"+c,a.dirty[f]=d,i.saveDirtyIds(a),e.silent||i.triggerDirtyAndIdleEvents(a)},i.clearChanged=function(a,b,d){var e;return b&&d?(e=""+b+"/"+d,delete a.dirty[e]):a.dirty={},i.saveDirtyIds(a),c.clearTimeout(a.dirtyTimeout)},i.markAllAsChanged=function(a){return a.hoodie.store.findAll().done(function(b){var c,d,e,f;for(e=0,f=b.length;f>e;e++)d=b[e],c=""+d.type+"/"+d.id,a.dirty[c]=d;i.saveDirtyIds(a),i.triggerDirtyAndIdleEvents(a)})},i.handleRemoteChange=function(a,b,c){var d;"_design"!==c.type&&(d="remove"===b?a.hoodie.store.remove(c.type,c.id,{remote:!0,update:c}):a.hoodie.store.save(c.type,c.id,c,{remote:!0}),d["catch"](function(){}))},i.handlePushedObject=function(a,b){var c;i.triggerEvents(a,"sync",b),c=b._deleted?a.hoodie.store.remove(b.type,b.id,{remote:!0,silent:!0}):a.hoodie.store.save(b.type,b.id,b,{remote:!0,silent:!0}),c["catch"](function(){})},i.saveDirtyIds=function(a){if(c.$.isEmptyObject(a.dirty))h.removeItem("_dirty");else{var b=Object.keys(a.dirty);h.setItem("_dirty",b.join(","))}},i.now=function(){return JSON.stringify(new Date).replace(/['"]/g,"")},i.SEMANTIC_ID_PATTERN=new RegExp(/^[a-z$][a-z0-9-]+\/[a-z0-9]+$/),i.isSemanticKey=function(a,b){return i.SEMANTIC_ID_PATTERN.test(b)},i.hasLocalChanges=function(a,b){return b.updatedAt?b._syncedAt?b._syncedAt<b.updatedAt:!0:!1},i.isMarkedAsDeleted=function(a,b){return b._deleted===!0},i.triggerEvents=function(a,b,c,e){a.hoodie.store.trigger(b,d(!0,{},c),e),a.hoodie.store.trigger(c.type+":"+b,d(!0,{},c),e),"new"!==b&&a.hoodie.store.trigger(c.type+":"+c.id+":"+b,d(!0,{},c),e),"sync"!==b&&(a.hoodie.store.trigger("change",b,d(!0,{},c),e),a.hoodie.store.trigger(c.type+":change",b,d(!0,{},c),e),"new"!==b&&a.hoodie.store.trigger(c.type+":"+c.id+":change",b,d(!0,{},c),e))},i.triggerDirtyAndIdleEvents=function(a){a.hoodie.store.trigger("dirty"),c.clearTimeout(a.dirtyTimeout),a.dirtyTimeout=c.setTimeout(function(){a.hoodie.store.trigger("idle",a.hoodie.store.changedObjects())},a.idleTimeout)},i.enqueue=function(a,b,c){var d=g();return a.queue.push([b,c,d]),d.promise},i.moveData=function(a){var b,c=[];a.hoodie.store.findAll().done(function(d){c=d,c.length&&(b=a.hoodie.id(),a.hoodie.once("account:signin",function(d,e){c.forEach(function(c){c.createdBy===b&&(c.createdBy=e),c=i.cache(a,c.type,c.id,c),i.markAsChanged(a.object.type,c.id,c,{silent:!0})}),i.triggerDirtyAndIdleEvents(a)}))})}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils":52,extend:8}],26:[function(a,b,c){var d=a("../../lib/store/api"),e=a("../../lib/error/object_type"),f=a("../../lib/error/object_id"),g=a("./api"),h=a("./bootstrap"),i=a("./helpers"),j=a("./localstore"),k=a("../../utils").localStorageWrapper,c=b.exports=function(a){var b={bootstrapping:!1,cachedObject:{},dirtyTimeout:void 0,dirty:{},hoodie:a,queue:[],idleTimeout:2e3},d=c.hoodieStoreApi(a,{validate:c.validate,backend:{save:c.localStore.save.bind(null,b),find:c.localStore.find.bind(null,b),findAll:c.localStore.findAll.bind(null,b),remove:c.localStore.remove.bind(null,b),removeAll:c.localStore.removeAll.bind(null,b)}});Object.keys(g).forEach(function(a){"function"==typeof g[a]&&(d[a]=g[a].bind(null,b))}),a.on("account:signup",i.markAllAsChanged.bind(null,b)),a.on("account:movedata",i.moveData.bind(null,b)),a.on("account:cleanup",g.clear.bind(null,b)),a.on("remote:bootstrap:start",h.start.bind(null,b)),a.on("remote:bootstrap:end",h.end.bind(null,b)),a.on("remote:bootstrap:error",h.abort.bind(null,b)),a.on("remote:change",i.handleRemoteChange.bind(null,b)),a.on("remote:push",i.handlePushedObject.bind(null,b)),a.store=d,c.bootstrapChangedObjects(b)};c.bootstrapChangedObjects=function(a){var b=k.getItem("_dirty");if(b){b=b.split(",");for(var c=0;c<b.length;c++){var d=b[c].split("/");i.cache(a,d[0],d[1])}}},c.validate=function(a){if(e.isInvalid(a.type))return new e({type:a.type});if(a.id)return f.isInvalid(a.id)?new f({id:a.id}):void 0},c.hoodieStoreApi=d,c.localStore=j},{"../../lib/error/object_id":34,"../../lib/error/object_type":35,"../../lib/store/api":40,"../../utils":52,"./api":23,"./bootstrap":24,"./helpers":25,"./localstore":27}],27:[function(a,b,c){var d=a("./helpers"),e=a("../../utils"),f=e.generateId,g=e.localStorageWrapper,h=e.promise,i=h.defer,j=h.rejectWith,k=h.resolveWith,l=h.Promise;c.save=function(a,b,c){var e,g,h,j,k,l;if(c=c||{},a.hoodie.store.isBootstrapping(a)&&!c.remote)return d.enqueue(a,"save",arguments);if(b.id?(e=d.cache(a,b.type,b.id),k="object"!=typeof e):(k=!0,b.id=f()),k?b.createdBy=b.createdBy||a.hoodie.id():e.createdBy&&(b.createdBy=e.createdBy),!k)for(l in e)if(!b.hasOwnProperty(l))switch(l.charAt(0)){case"_":c.remote&&(b[l]=e[l]);break;case"$":c.remote||(b[l]=e[l])}c.remote?b._syncedAt=d.now(a):c.silent||(b.updatedAt=d.now(a),b.createdAt=b.createdAt||b.updatedAt),c.local?b._$local=!0:delete b._$local,g=i();try{b=d.cache(a,b.type,b.id,b,c),g.resolve(b,k),j=k?"add":"update",c.silent||d.triggerEvents(a,j,b,c)}catch(m){h=m,g.reject(h.toString())}return g.promise},c.find=function(a,b,c){var e,f;if(a.hoodie.store.isBootstrapping())return d.enqueue(a,"find",arguments);try{return f=d.cache(a,b,c),f?k(f):j({name:"HoodieNotFoundError",message:'"{{type}}" with id "{{id}}" could not be found',type:b,id:c})}catch(g){return e=g,j(e)}},c.findAll=function(a,b){var c,e,f,g,h,j,k,l,m;if(null==b&&(b=function(){return!0}),a.hoodie.store.isBootstrapping())return d.enqueue(a,"findAll",arguments);j=a.hoodie.store.index(),"string"==typeof b&&(m=b,b=function(a){return a.type===m}),e=i();try{l=function(){var e,f,i,l;for(l=[],e=0,f=j.length;f>e;e++)h=j[e],d.isSemanticKey(a,h)&&(i=h.split("/"),c=i[0],g=i[1],k=d.cache(a,c,g),k&&b(k)&&l.push(k));return l}.call(this),l.sort(function(a,b){return a.createdAt>b.createdAt?-1:a.createdAt<b.createdAt?1:0}),e.resolve(l)}catch(n){f=n,e.reject(f)}return e.promise},c.remove=function(a,b,c,e){var f,h,i;return e=e||{},a.hoodie.store.isBootstrapping()&&!e.remote?d.enqueue(a,"remove",arguments):(f=b+"/"+c,h=d.cache(a,b,c),e.update&&(h=e.update,delete e.update),e.remote&&(g.removeItem(f),i=a.cachedObject[f]&&d.isMarkedAsDeleted(a,a.cachedObject[f]),a.cachedObject[f]=!1,d.clearChanged(a,b,c),h)?(i||d.triggerEvents(a,"remove",h,e),k(h)):h?(h._syncedAt?(h._deleted=!0,d.cache(a,b,c,h)):(f=b+"/"+c,g.removeItem(f),a.cachedObject[f]=!1,d.clearChanged(a,b,c)),d.triggerEvents(a,"remove",h,e),k(h)):j({name:"HoodieNotFoundError",message:'"{{type}}" with id "{{id}}" could not be found',type:b,id:c}))},c.removeAll=function(a,b,c){return a.hoodie.store.findAll(b).then(function(b){var d;return d=b.map(function(b){return a.hoodie.store.remove(b.type,b.id,c)}),l.all(d)})}},{"../../utils":52,"./helpers":25}],28:[function(a,b,c){var d=a("extend"),e=a("./helpers"),f=a("../../utils"),g=f.promise.defer,c=b.exports;c.start=function(a,b,d){var f;return a.hoodie.account.hasAccount()?a.hoodie.store.add("$"+b,d).then(e.handleNewTask.bind(null,a)):(f=g(),a.hoodie.account.anonymousSignUp().then(function(){return c.start(a,b,d).progress(f.notify)}).done(f.resolve).fail(f.reject),f.promise)},c.abort=function(a,b,c){return a.hoodie.store.update("$"+b,c,{abortedAt:e.now(a)}).then(e.handleAbortedTaskObject.bind(null,a))},c.restart=function(a,b,e,f){var g=function(b){return d(b,f),delete b.$error,delete b.$processedAt,delete b.abortedAt,c.start(a,b.type,b)};return c.abort(a,b,e).then(g)},c.abortAll=function(a,b){return e.findAll(a,b).then(e.abortTaskObjects.bind(null,a))},c.restartAll=function(a,b,c){return"object"==typeof b&&(c=b),e.findAll(a,b).then(function(b){e.restartTaskObjects(a,b,c)})}},{"../../utils":52,"./helpers":29,extend:8}],29:[function(a,b,c){var d=a("../../lib"),e=d.error.error,f=a("../../utils"),g=f.promise.defer,h=a("extend"),c=b.exports;c.handleNewTask=function(a,b){var c=g(),d=a.hoodie.store(b.type,b.id);return d.on("sync",function(a){a.type=a.type.substr(1),c.notify(a)}),d.on("remove",function(a){return a.type=a.type.substr(1),a.$processedAt?c.resolve(a):void c.reject(new e({message:"Task has been aborted",task:a}))}),d.on("update",function(b){var d=b.$error;b.$error&&(b.type=b.type.substr(1),delete b.$error,d.object=b,d.message=d.message||"Something went wrong",c.reject(new e(d)),a.hoodie.store.remove("$"+b.type,b.id))}),c.promise},c.handleAbortedTaskObject=function(a,b){var c,d=b.type,e=b.id,f=a.hoodie.store.remove(d,e);return b._rev?(c=g(),a.hoodie.once("store:sync:"+d+":"+e,c.resolve),f.fail(c.reject),c.promise):f},c.handleStoreChange=function(a,b,d,e){"$"===d.type[0]&&(d.type=d.type.substr(1),c.triggerEvents(a,b,d,e))},c.findAll=function(a,b){var c,d="$";return b&&(d+=b),c=function(a){return 0===a.type.indexOf(d)},a.hoodie.store.findAll(c)},c.abortTaskObjects=function(a,b){return b.map(function(b){return a.hoodie.task.abort(b.type.substr(1),b.id)})},c.restartTaskObjects=function(a,b,c){return b.map(function(b){return a.hoodie.task.restart(b.type.substr(1),b.id,c)})},c.triggerEvents=function(a,b,c,d){var e;return"add"===b&&(b="start"),"remove"===b&&c.abortedAt&&(b="abort"),"remove"===b&&c.$processedAt&&!c.$error&&(b="success"),"update"===b&&c.$error?(b="error",e=c.$error,delete c.$error,a.events.trigger("error",e,c,d),a.events.trigger(c.type+":error",e,c,d),a.events.trigger(c.type+":"+c.id+":error",e,c,d),d=h({},d,{error:e}),a.events.trigger("change","error",c,d),a.events.trigger(c.type+":change","error",c,d),void a.events.trigger(c.type+":"+c.id+":change","error",c,d)):void(("start"===b||"abort"===b||"success"===b)&&(a.events.trigger(b,c,d),a.events.trigger(c.type+":"+b,c,d),"start"!==b&&a.events.trigger(c.type+":"+c.id+":"+b,c,d),a.events.trigger("change",b,c,d),a.events.trigger(c.type+":change",b,c,d),"start"!==b&&a.events.trigger(c.type+":"+c.id+":change",b,c,d)))},c.now=function(){return JSON.stringify(new Date).replace(/['"]/g,"")}},{"../../lib":37,"../../utils":52,extend:8}],30:[function(a,b,c){var d=a("../../lib"),e=a("../../utils"),f=a("./api"),g=a("./helpers"),c=b.exports=function(a){var b,d=function(){return b.apply(null,arguments)};b=c.scopedTask.bind(null,a,d);var h={events:e.events(a,d,"task"),hoodie:a};Object.keys(f).forEach(function(a){"function"==typeof f[a]&&(d[a]=f[a].bind(null,h))}),a.task=d,a.on("store:change",g.handleStoreChange.bind(null,h))};c.scopedTask=function(a,b,c,e){return d.task.scoped(a,b,{type:c,id:e})}},{"../../lib":37,"../../utils":52,"./api":28,"./helpers":29}],31:[function(a,b){function c(){return(new Date).toJSON().replace(/[^\d]/g,"").substr(0,14)}function d(a,b){return a[0]>b[0]?1:-1}var e=b.exports=a("./hoodie");e.extend(function(a){a.email={send:a.task("email").start}}),e.extend(function(b,c,d){"use strict";function e(a){return function(){j.trigger(a)}}function f(){l.setItem(k,1)}function g(a,b){function c(){h.reject(),g("off"),h=void 0}function e(){h.resolve(!1),g("off"),h=void 0}function f(){h.resolve(!0),g("off"),h=void 0}function g(a){i[a]("error",c),i[a]("noupdate",e),i[a]("updateready",f),i[a]("downloading",h.notify),i[a]("progress",h.notify),i[a]("obsolete",e),i[a]("cached",e),i[a]("init:downloading",e),i[a]("init:progress",e),i[a]("init:cached",e)}return h?h.promise:(h=d.promise.defer(),i.isSupported()?(g("on"),i[a](b),h.promise):(j.trigger("notsupported"),d.promise.rejectWith("notsupported")))}var h,i=a("appcache-nanny"),j={},k="_hoodie_appcache_updated",l=d.localStorageWrapper,m=l.getItem(k)||!1;i.set("loaderPath","/_api/_plugins/appcache/_api/loader"),i.on("offline",b.checkConnection),i.on("online",b.checkConnection),d.events(b,j,"appcache"),i.on("error",e("error")),i.on("noupdate",e("noupdate")),i.on("downloading",e("downloading")),i.on("progress",e("progress")),i.on("cached",e("cached")),i.on("updateready",e("updateready")),i.on("start",e("start")),i.on("stop",e("stop")),i.on("init:downloading",e("init:downloading")),i.on("init:progress",e("init:progress")),i.on("init:cached",e("init:cached")),i.on("updateready",f),j.start=function(a){return g("start",a).done(function(){i.isCheckingForUpdates()||i.start(a)})},j.update=function(){return j.trigger("update"),g("update")},j.stop=function(){return i.stop(),d.promise.resolve()},j.hasUpdate=function(){return i.hasUpdate()},j.isSupported=function(){return i.isSupported()},j.isCheckingForUpdates=function(){return i.isCheckingForUpdates()},j.set=function(){return i.set.apply(i,arguments)},j.get=function(){return i.get.apply(i,arguments)},m&&(setTimeout(function(){j.trigger("updated")},1e3),l.removeItem(k)),b.appCache=j}),e.extend(function(a,b,c){"use strict";function d(){return j}function e(){return j.length?void h.setObject(g,j):void h.removeItem(g)}function f(a){"string"==typeof a&&(i.add(a,{lastActiveAt:(new Date).toJSON()}),e())}var g="_hoodie_profiles",h=c.localStorageWrapper,i=d,j=h.getObject(g)||[];a.account.on("signin signup signout",f),i.find=function(a){for(var b=0;b<j.length;b++)if(j[b].username===a)return j[b]},i.add=function(a,b){var c=i.find(a);return b||(b={}),c?i.update(a,b):(b.username=a,j.push(b),e(),!0)},i.update=function(a,b){var c=i.find(a);if(!c)return!1;for(var d in b)b.hasOwnProperty(d)&&(c[d]=b[d]);return e(),!0},i.remove=function(a){var b=i.find(a);return b?(j.splice(b,1),e(),!0):!1},i.clear=function(){return j=[],e(),!0},i.lastActive=function(){return j.length?j.sort(function(a,b){return a.lastActiveAt>b.lastActiveAt?-1:1})[0]:void 0},a.localProfiles=i}),e.extend(function(a){"use strict";var b={},c={},d=window._errs&&window._errs.meta||{},e=function(){};return window._errs?(b.set=function(a,b){c[a]=b},b.unset=function(a){delete c[a]},b.get=function(a){return c[a]},b.clear=function(){c={userId:a.id(),persistent:a.store.isPersistent()};for(var b in d)d.hasOwnProperty(b)&&(c[b]=d[b])},b.sendError=function(a){window._errs.push(a)},b.clear(),window._errs.meta=c,void(a.errorception=b)):void(a.errorception={set:e,unset:e,get:e,clear:e,sendError:e})}),e.extend(function(a){"use strict";a.debug=function(b){return b?"function"==typeof b.done?b.done(a.debug):void(b.length&&b[0].createdAt?console.table(b):console.dir(b)):void 0},a.dump=function(b){var c=new Date,d=c.toISOString().replace(/[^\d]/g,""),e=a.id()+"-"+d;if(!b)try{for(var f,g,h=0;h<localStorage.length;h++){f=localStorage.key(h),g=localStorage.getItem(f),b[f]=g;try{b[f]=JSON.parse(g)}catch(i){}}}catch(i){}a.request("POST","/_plugins/debug/_api/",{contentType:"application/json",data:JSON.stringify({id:e,hoodieId:a.id(),username:a.account.username,data:b})})}}),e.extend(function(a){"use strict";a.loadUserScript=function(){var b="/_api/_plugins/user-scripts/_api/?id="+a.id();$.getScript(b)}});var f=[];e.migrations={register:function(a,b){f.push([a,b])}},e.extend(function(a,b,e){var g,h,i="_hoodie_last_migration",j=e.localStorageWrapper,k=j.getItem(i),l={};if(!k)return void j.setItem(i,c());if(h=f.sort(d).filter(function(a){var b=a[0];return b>k}),0!==h.length){for(var m=0;m<j.length;m++)g=j.key(m),l[g]=j.getObject(g);h.forEach(function(a){var b=a[1];b(l)}),j.clear();for(g in l)l.hasOwnProperty(g)&&j.setObject(g,l[g]);j.setItem(i,c())}}),e.extend(function(a){"use strict";function b(b,c,d){var e,f,g,h,i;if(d=d||{},!d.hoodie){switch(f=c.id,e=d.attrs||c.toJSON(),h=c.type,h||(h=c.model.prototype.type),i={backbone:!0},b){case"read":g=f?a.store.find(h,f):a.store.findAll(d.filter?d.filter:h);break;case"create":g=a.store.add(h,e,i);break;case"update":delete e._rev,g=a.store.updateOrAdd(h,f,e,i).done(function(a){c.set(a,{silent:!0})});break;case"delete":g=a.store.remove(h,f,i)}return d.success&&g.done(d.success),d.error?g.fail(d.error):g}}var c=Backbone.Model.extend({type:null,constructor:function(){if(Backbone.Model.apply(this,arguments),!this.type)throw new Error("model.type must be set.")},sync:b}),d=Backbone.Collection.extend({constructor:function(){var b,c,d,e=this;if(Backbone.Collection.apply(this,arguments),c=this.model.prototype.type,d=this.hoodie&&this.hoodie.filter.bind(this),!c)throw new Error("collection.model.prototype.type must be set.");b=a.store(c),b.on("add",function(a,b){b.backbone||d&&d(a)===!1||e.add(a,{remote:b.remote,hoodie:!0})}),b.on("remove",function(a,b){var c;b.backbone||d&&d(a)===!1||(c=e.get(a.id),c&&c.destroy({remote:b.remote,hoodie:!0}))}),b.on("update",function(a,b){var c;b.backbone||d&&d(a)===!1||(c=e.get(a.id),c&&c.set(a,{remote:b.remote,hoodie:!0}))}),a.store.on("clear",function(){e.reset([],{hoodie:!0})})},sync:b});a.backbone={Model:c,Collection:d}})},{"./hoodie":14,"appcache-nanny":1}],32:[function(a,b){var c=a("extend");b.exports=function(){function a(a){"string"==typeof a&&(a={message:a}),a.message||(a.message="Something went wrong"),a.name||(a.name="HoodieError"),a.message=a.message.replace(b,function(b){var c=b.match(d)[0];return a[c]}),c(this,a)}var b=/\{\{\s*\w+\s*\}\}/g,d=/\w+/;return a.prototype=new Error,a.prototype.constructor=a,a}()},{extend:8}],33:[function(a,b){b.exports={error:a("./error"),objectId:a("./object_id"),objectType:a("./object_type")}},{"./error":32,"./object_id":34,"./object_type":35}],34:[function(a,b){var c=a("./error"),d=a("./validation");b.exports=function(){function a(a){return a.name="HoodieObjectIdError",a.message='"{{id}}" is invalid object id. {{rules}}.',new c(a)}var b=/^[a-z0-9\-]+$/;return a.isValid=d.isValid.bind(null,b),a.isInvalid=d.isInvalid.bind(null,b),a.prototype.rules="Lowercase letters, numbers and dashes allowed only. Must start with a letter",a}()},{"./error":32,"./validation":36}],35:[function(a,b){var c=a("./error"),d=a("./validation"),e="lowercase letters, numbers and dashes allowed only. Must start with a letter";b.exports=function(){function a(a){return a.name="HoodieObjectTypeError",a.message='"{{type}}" is invalid object type. {{rules}}.',a.rules=e,new c(a)}var b=/^[a-z$][a-z0-9-]+$/;return a.isValid=d.isValid.bind(null,b),a.isInvalid=d.isInvalid.bind(null,b),a}()},{"./error":32,"./validation":36}],36:[function(a,b,c){c.isValid=function(a,b,c){return(c||a).test(b||"")},c.isInvalid=function(){return!c.isValid.apply(null,arguments)}},{}],37:[function(a,b){b.exports={error:a("./error"),store:a("./store"),task:a("./task")}},{"./error":33,"./store":41,"./task":47}],38:[function(a,b,c){var d=a("extend"),e=a("./helpers"),f=a("../../../utils"),g=f.promise,h=g.rejectWith,i=g.resolveWith,j=g.isPromise,k=g.Promise;c.save=function(a,b,c,f,g){g=g?d(!0,{},g):{};var i=d(!0,{},f,{type:b,id:c}),j=a.validate(i,g||{});return j?h(j):e.decoratePromise(a,a.backend.save(i,g||{}))},c.add=function(a,b,d,e){return void 0===d&&(d={}),e=e||{},d.id?c.find(a,b,d.id).then(function(a){return h({name:"HoodieConflictError",message:'"{{type}}" with id "{{id}}" already exists',type:a.type,id:a.id})})["catch"](function(f){if("HoodieNotFoundError"===f.name)return c.save(a,b,d.id,d,e);throw f}):c.save(a,b,d.id,d,e)},c.find=function(a,b,c){return e.decoratePromise(a,a.backend.find(b,c))},c.findOrAdd=function(a,b,f,g){function h(){var e;return e=d(!0,{id:f},g),c.add(a,b,e)}null===g&&(g={});var i=c.find(a,b,f).then(null,h);return e.decoratePromise(a,i)},c.findAll=function(a,b,c){return e.decoratePromise(a,a.backend.findAll(b,c))},c.update=function(a,b,f,g,h){function j(e){var j,k,l;return k=d(!0,{},e),"function"==typeof g&&(g=g(k)),g?(j=function(){var a=[];for(var b in g)if(g.hasOwnProperty(b)){if(l=g[b],e[b]===l)continue;k[b]=l,a.push(b)}return a}(),j.length||h?c.save(a,b,f,k,h):i(k)):i(e)}var k=c.find(a,b,f).then(j);return e.decoratePromise(a,k)},c.updateOrAdd=function(a,b,f,g,h){function i(){var e=d(!0,{},g,{id:f});return c.add(a,b,e,h)}var j=c.update(a,b,f,g,h).then(null,i);return e.decoratePromise(a,j)},c.updateAll=function(a,b,d,f){var g;switch(f=f||{},!0){case"string"==typeof b:g=c.findAll(a,b);break;case j(b):g=b;break;case $.isArray(b):g=i(b);break;default:g=c.findAll(a),f=d,d=b}return g=g.then(function(b){var e;return $.isArray(b)||(b=[b]),e=b.map(function(b){return c.update(a,b.type,b.id,d,f)}),k.all(e)}),e.decoratePromise(a,g)},c.remove=function(a,b,c,d){return e.decoratePromise(a,a.backend.remove(b,c,d||{}))},c.removeAll=function(a,b,c){return e.decoratePromise(a,a.backend.removeAll(b,c||{}))},c.decoratePromises=function(a,b){return d(a.promiseApi,b)}},{"../../../utils":52,"./helpers":39,extend:8}],39:[function(a,b,c){var d=a("extend"),e=a("../../error"),f=e.error,g=e.objectType,h=e.objectId,c=b.exports;c.decoratePromise=function(a,b){return d(b,a.promiseApi)},c.validIdOrTypePattern=/^[^\/]+$/,c.validIdOrTypeRules="/ not allowed",c.defaultValidate=function(a){if(!a)return new f({name:"InvalidObjectError",message:"No object passed."});if(g.isInvalid(a.type,c.validIdOrTypePattern))return new g({type:a.type,rules:c.validIdOrTypeRules});if(a.id)return h.isInvalid(a.id,c.validIdOrTypePattern)?new h({id:a.id,rules:c.validIdOrTypeRules}):void 0}},{"../../error":33,extend:8}],40:[function(a,b){var c=a("../scoped"),d=a("extend"),e=a("../../../utils"),f=a("./helpers"),g=a("./api");b.exports=function(a,b){var h={backend:{},hoodie:a,storeName:b.name||"store",promiseApi:{hoodie:a}},i=function(e,f){var g=d(!0,{type:e,id:f},b);return c(a,i,g)};if(h.events=e.events(a,i,h.storeName),i.validate=h.validate=f.defaultValidate.bind(null),"function"==typeof b.validate&&(i.validate=h.validate=b.validate),!b.backend)throw new Error("options.backend must be passed");
return["save","find","findAll","remove","removeAll"].forEach(function(a){if(!b.backend[a])throw new Error("options.backend."+a+" must be passed.");h.backend[a]=b.backend[a]}),Object.keys(g).forEach(function(a){"function"==typeof g[a]&&(i[a]=g[a].bind(null,h))}),i}},{"../../../utils":52,"../scoped":46,"./api":38,"./helpers":39,extend:8}],41:[function(a,b){b.exports={api:a("./api"),remote:a("./remote"),scoped:a("./scoped")}},{"./api":40,"./remote":44,"./scoped":46}],42:[function(a,b){(function(c){var d=a("extend"),e=a("../../../utils"),f=e.promise.defer,g=e.promise.resolveWith,h=e.promise.resolve,i=a("./helpers"),j=b.exports;j.request=function(a,b,c,d){return d=d||{},a.remoteName&&(c="/"+encodeURIComponent(a.remoteName)+c),a.baseUrl&&(c=""+a.baseUrl+c),d.contentType=d.contentType||"application/json",("POST"===b||"PUT"===b)&&(d.dataType=d.dataType||"json",d.processData=d.processData||!1,d.data=JSON.stringify(d.data)),a.hoodie.request(b,c,d)},j.isKnownObject=function(a,b){var c=""+b.type+"/"+b.id;return void 0!==a.knownObjects[c]?a.knownObjects[c]:void 0},j.markAsKnownObject=function(a,b){var c=""+b.type+"/"+b.id;return a.knownObjects[c]=1,a.knownObjects[c]};var k;j.connect=function(a,b){return a.connected?k.promise:(k=f(),b&&(a.remoteName=b),a.connected=!0,a.remote.trigger("connect"),a.remote.bootstrap().then(function(){return a.remote.push()}).then(k.resolve,k.reject),k.promise)},j.disconnect=function(a){return a.connected=!1,a.remote.trigger("disconnect"),a.pullRequest&&a.pullRequest.abort(),a.pushRequest&&a.pushRequest.abort(),k=void 0,h()},j.isConnected=function(a){return a.connected},j.getSinceNr=function(a){return"function"==typeof a.since?a.since():a.since},j.bootstrap=function(a){return a.isBootstrapping=!0,a.remote.trigger("bootstrap:start"),a.remote.pull().done(i.handleBootstrapSuccess.bind(null,a)).fail(i.handleBootstrapError.bind(null,a))},j.pull=function(a){return a.pullRequest=a.remote.request("GET",i.pullUrl(a)),a.remote.isConnected()&&(c.clearTimeout(a.pullRequestTimeout),a.pullRequestTimeout=c.setTimeout(a.restartPullRequest,25e3)),a.pullRequest.done(i.handlePullSuccess.bind(null,a)).fail(i.handlePullError.bind(null,a))},j.push=function(a,b){var c,e=[];if($.isArray(b)||(b=i.defaultObjectsToPush(a)),0===b.length)return g([]);b=b.map(function(a){return d(!0,{},a)}),e=[];for(var f=0;f<b.length;f++)c=b[f],i.addRevisionTo(a,c),a.remote.markAsKnownObject(c),c=i.parseForRemote(a,c),e.push(c),a.pushedObjectRevisions[c._rev]=1;return a.pushRequest=a.remote.request("POST","/_bulk_docs",{data:{docs:e,new_edits:!1}}),a.pushRequest.done(function(){for(var c=0;c<b.length;c++)delete b[c]._revisions,a.remote.trigger("push",b[c])}),a.pushRequest},j.sync=function(a,b){return a.remote.push(b).then(a.remote.pull)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../../utils":52,"./helpers":43,extend:8}],43:[function(a,b){(function(c){var d=a("extend"),e=a("../../../utils"),f=e.generateId,g=b.exports;g.VALID_SPECIAL_ATTRIBUTES=["_id","_rev","_deleted","_revisions","_attachments"],g.defaultObjectsToPush=function(a){return a.options&&a.options.defaultObjectsToPush?c.$.isArray(a.options.defaultObjectsToPush)?a.options.defaultObjectsToPush:a.options.defaultObjectsToPush():[]},g.setSinceNr=function(a,b){return"function"==typeof a.since?a.since(b):(a.since=b,a.since)},g.parseForRemote=function(a,b){var c,e;e=d({},b);for(c in e)if(e.hasOwnProperty(c)){if(-1!==g.VALID_SPECIAL_ATTRIBUTES.indexOf(c))continue;if(!/^_/.test(c))continue;delete e[c]}return e._id=""+e.type+"/"+e.id,a.prefix&&(e._id=""+a.prefix+e._id),delete e.id,e},g.parseFromRemote=function(a,b){var c,d;return c=b._id||b.id,delete b._id,a.prefix&&(c=c.replace(a.remotePrefixPattern,"")),d=c.match(/([^\/]+)\/(.*)/),b.type=d[1],b.id=d[2],b},g.parseAllFromRemote=function(a,b){return b.map(g.parseFromRemote.bind(null,a))},g.addRevisionTo=function(a,b){var c,d,e,f;return b._rev&&(f=b._rev.split(/-/),d=f[0],c=f[1]),d=parseInt(d,10)||0,e=g.generateNewRevisionId(a),b._$local&&(e+="-local"),b._rev=""+(d+1)+"-"+e,b._revisions={start:1,ids:[e]},c?(b._revisions.start+=d,b._revisions.ids.push(c)):void 0},g.generateNewRevisionId=function(){return f(9)},g.mapDocsFromFindAll=function(a,b){return b.rows.map(function(a){return a.doc})},g.pullUrl=function(a){var b=a.remote.getSinceNr();return a.remote.isConnected()&&!a.isBootstrapping?"/_changes?include_docs=true&since="+b+"&heartbeat=10000&feed=longpoll":"/_changes?include_docs=true&since="+b},g.restartPullRequest=function(a){a.pullRequest&&a.pullRequest.abort()},g.handlePullSuccess=function(a,b){g.setSinceNr(a,b.last_seq),g.handlePullResults(a,b.results),a.remote.isConnected()&&a.remote.pull()["catch"](function(){})},g.handlePullError=function(a,b,d){if(a.remote.isConnected())switch(b.status){case 401:return a.remote.trigger("error:unauthenticated",d),a.remote.disconnect()["catch"](function(){});case 404:return c.setTimeout(a.remote.pullSilently,3e3);case 500:return a.remote.trigger("error:server",d),c.setTimeout(a.remote.pullSilently,3e3),a.hoodie.checkConnection()["catch"](function(){});default:return"abort"===b.statusText?a.remote.pull()["catch"](function(){}):(c.setTimeout(a.remote.pullSilently,3e3),a.hoodie.checkConnection()["catch"](function(){}))}},g.handleBootstrapSuccess=function(a){a.isBootstrapping=!1,a.remote.trigger("bootstrap:end")},g.handleBootstrapError=function(a,b){a.isBootstrapping=!1,a.remote.trigger("bootstrap:error",b)},g.handlePullResults=function(a,b){for(var c,d,e,f=a.remote,h=0;h<b.length;h++)if(c=b[h].doc,!(a.prefix&&0!==c._id.indexOf(a.prefix)||a.pushedObjectRevisions[c._rev])){if(e=g.parseFromRemote(a,c),e._deleted){if(!a.remote.isKnownObject(e))continue;d="remove",f.isKnownObject(e)}else f.isKnownObject(e)?d="update":(d="add",f.markAsKnownObject(e));f.trigger(d,e),f.trigger(e.type+":"+d,e),f.trigger(e.type+":"+e.id+":"+d,e),f.trigger("change",d,e),f.trigger(e.type+":change",d,e),f.trigger(e.type+":"+e.id+":change",d,e)}a.pushedObjectRevisions={}},g.pullSilently=function(a){a.remote.pull()["catch"](function(){})}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../../utils":52,extend:8}],44:[function(a,b){var c=a("../api"),d=a("./remotestore"),e=a("./api");b.exports=function(a,b){var f={connected:!1,prefix:"",baseUrl:void 0},g={get baseUrl(){return f.baseUrl},set baseUrl(a){f.baseUrl=a,h.baseUrl=a},get connected(){return f.connected},set connected(a){f.connected=a,h.connected=a},get prefix(){return f.prefix},set prefix(a){f.prefix=a,h.prefix=a},remoteName:null,remotePrefixPattern:new RegExp("^"),since:b.since||0,isBootstrapping:!1,pullRequest:void 0,pullRequestTimeout:void 0,pushRequest:void 0,pushedObjectRevisions:{},knownObjects:{},options:b,hoodie:a},h=c(a,{name:b.name,backend:{save:d.save.bind(null,g),find:d.find.bind(null,g),findAll:d.findAll.bind(null,g),remove:d.remove.bind(null,g),removeAll:d.removeAll.bind(null,g)}});if(void 0!==b.name&&(g.remoteName=b.name),void 0!==b.prefix&&(g.prefix=b.prefix,g.remotePrefixPattern=new RegExp("^"+g.prefix)),null!==b.baseUrl&&(g.baseUrl=b.baseUrl),Object.keys(e).forEach(function(a){"function"==typeof e[a]&&(h[a]=e[a].bind(null,g))}),b.knownObjects)for(var i=0;i<b.knownObjects.length;i++)h.markAsKnownObject({type:b.knownObjects[i].type,id:b.knownObjects[i].id});return g.remote=h,h}},{"../api":40,"./api":42,"./remotestore":45}],45:[function(a,b,c){var d=a("../../../utils"),e=d.generateId,f=a("./helpers"),c=b.exports;c.find=function(a,b,c){var d;return d=b+"/"+c,a.prefix&&(d=a.prefix+d),d="/"+encodeURIComponent(d),a.remote.request("GET",d).then(f.parseFromRemote.bind(null,a))},c.findAll=function(a,b){var c,d,e;switch(d="/_all_docs?include_docs=true",!0){case void 0!==b&&""!==a.prefix:e=a.prefix+b+"/";break;case void 0!==b:e=b+"/";break;case""!==a.prefix:e=a.prefix;break;default:e=""}return e&&(c=e.replace(/.$/,function(a){var b;return b=a.charCodeAt(0),String.fromCharCode(b+1)}),d=d+'&startkey="'+encodeURIComponent(e)+'"&endkey="'+encodeURIComponent(c)+'"'),a.remote.request("GET",d).then(f.mapDocsFromFindAll.bind(null,a)).then(f.parseAllFromRemote.bind(null,a))},c.save=function(a,b){var c,d;return b.id||(b.id=e()),b.createdBy=b.createdBy||a.hoodie.id(),b.updatedAt=(new Date).toJSON(),b.createdAt=b.createdAt||b.updatedAt,c=f.parseForRemote(a,b),d="/"+encodeURIComponent(c._id),a.remote.request("PUT",d,{data:c}).then(function(a){return b._rev=a.rev,b})},c.remove=function(a,b,c){return a.remote.update(b,c,{_deleted:!0})},c.removeAll=function(a,b){return a.remote.updateAll(b,{_deleted:!0})}},{"../../../utils":52,"./helpers":43}],46:[function(a,b,c){var d=a("../../utils"),c=b.exports=function(a,b,e){var f={},g=e.id,h=e.name||"store",i=e.type;return d.events(a,f,[h,i,g].join(":").replace(/:$/,"")),f.decoratePromises=b.decoratePromises,f.validate=b.validate,g?(["save","find","update","remove"].forEach(function(a){f[a]=c[a].bind(null,b,i,g)}),f):(["save","add","find","findOrAdd","findAll","update","updateAll","remove","removeAll"].forEach(function(a){f[a]=c[a].bind(null,b,i)}),f)};c.save=function(a,b,c,d,e){return a.save(b,c,d,e)},c.add=function(a,b,c,d){return a.add(b,c,d)},c.find=function(a,b,c){return a.find(b,c)},c.findOrAdd=function(a,b,c,d){return a.findOrAdd(b,c,d)},c.findAll=function(a,b,c){return a.findAll(b,c)},c.update=function(a,b,c,d,e){return a.update(b,c,d,e)},c.updateAll=function(a,b,c,d){return a.updateAll(b,c,d)},c.remove=function(a,b,c,d){return a.remove(b,c,d)},c.removeAll=function(a,b,c){return a.removeAll(b,c)}},{"../../utils":52}],47:[function(a,b){b.exports={scoped:a("./scoped")}},{"./scoped":48}],48:[function(a,b,c){var d=a("../../utils"),c=b.exports=function(a,b,e){var f={},g=e.id,h=e.type;return d.events(a,f,["task",h,g].join(":").replace(/:$/,"")),g?(["abort","restart"].forEach(function(a){f[a]=c[a].bind(null,b,h,g)}),f):(["start","abort","restart","abortAll","restartAll"].forEach(function(a){f[a]=c[a].bind(null,b,h)}),f)};c.start=function(a,b,c){return a.start(b,c)},c.abort=function(a,b,c){return a.abort(b,c)},c.restart=function(a,b,c,d){return a.restart(b,c,d)},c.abortAll=function(a,b){return a.abortAll(b)},c.restartAll=function(a,b,c){return a.restartAll(b,c)}},{"../../utils":52}],49:[function(a,b,c){var d=a("humble-localstorage"),e=a("extend"),c=b.exports=function(a){a=a||"_hoodie_config";var b={get:d.getObject.bind(null,a),set:d.setObject.bind(null,a),remove:d.removeItem.bind(null,a)},e=b.get()||{},f={config:e,store:b};return{set:c.set.bind(null,f),get:c.get.bind(null,f),clear:c.clear.bind(null,f),unset:c.unset.bind(null,f)}};c.set=function(a,b,c){a.config[b]=c,a.store.set(a.config)},c.get=function(a,b){return b?a.config[b]:e({},a.config)},c.clear=function(a){return a.config={},a.store.remove()},c.unset=function(a,b){delete a.config[b],a.store.set(a.config)}},{extend:8,"humble-localstorage":10}],50:[function(a,b,c){var d=a("jqevents"),e=a("extend"),c=b.exports=function(a,b,f){if(b&&f)return c.scopedEventEmitter.apply(null,arguments);var g=d.create();return g.one=g.once,g.bind=g.on,g.unbind=g.off,g.trigger=g.emit=function(a){return function(){try{a.apply(g,arguments)}catch(b){setTimeout(function(){throw b})}}}(g.emit),e(a,g),g};c.METHODS=["on","off","one","trigger","bind","unbind"];var f=/(^|\s)/g;c.scopedEventEmitter=function(a,b,d){var g={};return c.METHODS.forEach(function(b){g[b]=function(){var c=[].slice.call(arguments);c[0]=c[0].replace(f,"$1"+d+":"),a[b].apply(a,c)}}),e(b,g),g}},{extend:8,jqevents:13}],51:[function(a,b,c){var c=b.exports=function(a){return a=a||"0123456789abcdefghijklmnopqrstuvwxyz".split(""),c.generateId.bind(null,a)};c.generateId=function(a,b){var c="",d=a.length;void 0===b&&(b=7);for(var e=0;b>e;e++){var f=Math.random()*d,g=a[Math.floor(f)];c+=String(g).charAt(0)}return c}},{}],52:[function(a,b){b.exports={config:a("./config")(),events:a("./events"),generateId:a("./generate_id")(),localStorageWrapper:a("humble-localstorage"),promise:a("./promise")}},{"./config":49,"./events":50,"./generate_id":51,"./promise":54,"humble-localstorage":10}],53:[function(a,b){function c(){}function d(a){function b(a,b){return b?function(){var c=b.apply(a,arguments);return c&&c._progressCallbacks&&a._progressCallbacks&&(c._progressCallbacks=c._progressCallbacks.concat(a._progressCallbacks)),c}:null}return a._isHoodiePromise?a:(a._isHoodiePromise=!0,a.done=function(a){return this.then(a)["catch"](c),this},a.fail=function(a){return this.then(null,a)["catch"](c),this},a.always=function(a){return this.then(a,a)["catch"](c),this},a.progress=function(a){return this._progressCallbacks&&this._progressCallbacks.push(a),this},a.then=function(c,f){return a=e.prototype.then.call(this,b(this,c),b(this,f)),d(a),a._progressCallbacks=this._progressCallbacks,a},void(a["catch"]=function(b){return a=e.prototype["catch"].call(this,b),d(a),a}))}var e=a("./promise");b.exports=function(){var a={};return a.promise=new e(function(b,c){a.resolve=function(c){a.notify=function(){},b(c)},a.reject=function(b){a.notify=function(){},c(b)}}),d(a.promise),a.promise._progressCallbacks=[],a.notify=function(){var b=Array.prototype.slice.call(arguments);a.promise._progressCallbacks.forEach(function(a){a.apply(null,b)})},a}},{"./promise":56}],54:[function(a,b){b.exports={defer:a("./defer"),isPromise:a("./is_promise"),rejectWith:a("./reject_with"),reject:a("./reject"),resolveWith:a("./resolve_with"),resolve:a("./resolve"),Promise:a("./promise")}},{"./defer":53,"./is_promise":55,"./promise":56,"./reject":57,"./reject_with":58,"./resolve":59,"./resolve_with":60}],55:[function(a,b){b.exports=function(a){return a&&a.then?"function"==typeof a.then:!1}},{}],56:[function(a,b){(function(c){b.exports=function(){return"function"==typeof c.Promise?c.Promise:a("bluebird")}()}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{bluebird:7}],57:[function(a,b){var c=a("./defer");b.exports=function(){var a=c();return a.reject(),a.promise}},{"./defer":53}],58:[function(a,b){var c=a("./defer"),d=a("../../lib/error/error");b.exports=function(a){var b=new d(a),e=c();return e.reject(b),e.promise}},{"../../lib/error/error":32,"./defer":53}],59:[function(a,b){var c=a("./defer");b.exports=function(){var a=c();return a.resolve(),a.promise}},{"./defer":53}],60:[function(a,b){var c=a("./defer");b.exports=function(){var a=c();return a.resolve.apply(a,arguments),a.promise}},{"./defer":53}]},{},[31])(31)});