diff --git a/CHANGELOG.md b/CHANGELOG.md index 403be9b..260d5a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,17 @@ All notable changes to this project will be documented in this file. - `0.2.x` Releases - [0.2.0] [0.2.1] - `0.3.x` Releases - [0.3.0] - `0.4.x` Releases - [0.4.0] [0.4.1] [0.4.3] [0.4.4] +- `0.5.x` Releases - [0.5.0] --- +## [0.5.0](https://github.com/space-bunny/node-sdk/releases/tag/v0.5.0) + +#### Changed + +- Improve support for endpoint configs +- Emit events for connections (connect, disconnect, close, error) + ## [0.4.4](https://github.com/space-bunny/node-sdk/releases/tag/v0.4.4) #### Changed diff --git a/config/constants.js b/config/constants.js index e952753..bd7e69c 100644 --- a/config/constants.js +++ b/config/constants.js @@ -3,17 +3,11 @@ exports.CONFIG = { endpoint: { protocol: 'http', - secureProtocol: 'https' - }, - deviceEndpoint: { - url: 'https://api.spacebunny.io', - api_version: '/v1', - path: '/device_configurations' - }, - accessKeyEndpoint: { - url: 'https://api.spacebunny.io', - api_version: '/v1', - path: '/live_stream_key_configurations' + secureProtocol: 'https', + host: 'api.spacebunny.io', + port: 3000, + deviceConfigurationsPath: 'device_configurations', + liveStreamKeyConfigurationsPath: 'live_stream_key_configurations' }, tls: { secureProtocol: 'TLSv1_2_method' diff --git a/dist/spacebunny.js b/dist/spacebunny.js index d3142f5..d5ba8f0 100644 --- a/dist/spacebunny.js +++ b/dist/spacebunny.js @@ -1,53 +1,76 @@ -!function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="/",t(0)}(function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(typeof e[t]){case"function":break;case"object":e[t]=function(t){var n=t.slice(1),r=e[t[0]];return function(e,t,i){r.apply(this,[e,t,i].concat(n))}}(e[t]);break;default:e[t]=e[e[t]]}return e}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.StompStreamClient=t.MqttStreamClient=t.AmqpStreamClient=t.StreamClient=t.StompClient=t.MqttClient=t.AmqpClient=t.Client=void 0;var i=n(2),o=r(i),s=n(312),a=r(s),u=n(376),c=r(u),l=n(384),f=r(l),h=n(385),p=r(h),d=n(386),v=r(d);"undefined"!=typeof window&&(window.StompClient=c.default,window.StompStreamClient=v.default),t.Client=o.default,t.AmqpClient=o.default,t.MqttClient=a.default,t.StompClient=c.default,t.StreamClient=f.default,t.AmqpStreamClient=f.default,t.MqttStreamClient=p.default,t.StompStreamClient=v.default},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=n(7),u=r(a),c=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{};return i=(0,f.default)(this._publishArgs,i),new p.default(function(o,s){r._createChannel("output",i).then(function(o){var s=new e(r._encapsulateContent(n)),a=[o.checkExchange(r.deviceId()),o.publish(r.deviceId(),r._routingKeyFor(t),s,i)];return i.withConfirm===!0&&a.push(o.waitForConfirms()),v.default.all(a)}).then(function(e){o(e)}).catch(function(e){s(e)})})}},{key:"disconnect",value:function(){var e=this;return new p.default(function(t,n){void 0===e._amqpConnection?n("Not Connected"):e._amqpConnection.close().then(function(){e._amqpConnection=void 0,e._amqpChannels={},t(!0)}).catch(function(e){n(e)})})}},{key:"connect",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,f.default)(this._connectionOpts,t);return new p.default(function(t,r){e.getEndpointConfigs().then(function(i){var o=i.connection;if(void 0!==e._amqpConnection)t(e._amqpConnection);else{var s="";e._tls?(s=e._tlsProtocol+"://"+(o.deviceId||o.client)+":"+(o.secret+"@"+o.host+":")+(o.protocols.amqp.tlsPort+"/"+o.vhost.replace("/","%2f")),n=(0,f.default)(n,e._tlsOpts)):s=e._protocol+"://"+(o.deviceId||o.client)+":"+(o.secret+"@"+o.host+":")+(o.protocols.amqp.port+"/"+o.vhost.replace("/","%2f")),y.default.connect(s,n).then(function(n){n.on("error",function(e){r(e)}),n.on("blocked",function(e){console.warn(e)}),n.on("unblocked",function(e){console.warn(e)}),e._amqpConnection=n,t(e._amqpConnection)}).catch(function(e){r(e)})}}).catch(function(e){r(e)})})}},{key:"_createChannel",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e=""+e+(n.withConfirm===!0?"WithConfirm":""),new p.default(function(r,i){t._amqpChannels[e]?r(t._amqpChannels[e]):t.connect().then(function(e){return n.withConfirm===!0?e.createConfirmChannel():e.createChannel()}).then(function(n){t._amqpChannels[e]=n,r(n)}).catch(function(e){i(e)})})}},{key:"_closeChannel",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e=""+e+(n.withConfirm===!0?"WithConfirm":""),new p.default(function(n,r){var i=t._amqpChannels[e];void 0===i?r("Invalid Channel Object"):i.close().then(function(){t._amqpChannels[e]=void 0,n(!0)}).catch(function(e){r(e)})})}},{key:"_routingKeyFor",value:function(e){return this.deviceId()+"."+e}},{key:"_autoAck",value:function(e){if(e)switch((0,u.default)(E[this._protocol].ackTypes,e)||console.error("Wrong acknowledge type"),e){case"auto":return!0;default:return!1}return!0}}]),n}(b.default);t.default=x}).call(t,n(3).Buffer)},function(e,t,n){(function(e){/*! +!function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="/",t(0)}(function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(typeof e[t]){case"function":break;case"object":e[t]=function(t){var n=t.slice(1),r=e[t[0]];return function(e,t,i){r.apply(this,[e,t,i].concat(n))}}(e[t]);break;default:e[t]=e[e[t]]}return e}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.StompStreamClient=t.MqttStreamClient=t.AmqpStreamClient=t.StreamClient=t.StompClient=t.MqttClient=t.AmqpClient=t.Client=void 0;var i=n(2),o=r(i),s=n(246),a=r(s),u=n(298),c=r(u),l=n(306),f=r(l),h=n(307),p=r(h),d=n(308),v=r(d);"undefined"!=typeof window&&(window.StompClient=c["default"],window.StompStreamClient=v["default"]),t.Client=o["default"],t.AmqpClient=o["default"],t.MqttClient=a["default"],t.StompClient=c["default"],t.StreamClient=f["default"],t.AmqpStreamClient=f["default"],t.MqttStreamClient=p["default"],t.StompStreamClient=v["default"]},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=n(7),u=r(a),c=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{};return i=(0,f["default"])(this._publishArgs,i),new p["default"](function(o,s){r._createChannel("output",i).then(function(o){var s=new e(r._encapsulateContent(n)),a=[o.checkExchange(r.deviceId()),o.publish(r.deviceId(),r._routingKeyFor(t),s,i)];return i.withConfirm===!0&&a.push(o.waitForConfirms()),v["default"].all(a)}).then(function(e){o(e)})["catch"](function(e){s(e)})})}},{key:"disconnect",value:function(){var e=this;return new p["default"](function(t,n){void 0===e._amqpConnection?n("Not Connected"):e._amqpConnection.close().then(function(){e._amqpConnection=void 0,e._amqpChannels={},e.emit("disconnect"),t(!0)})["catch"](function(e){n(e)})})}},{key:"connect",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,f["default"])(this._connectionOpts,t);return new p["default"](function(t,r){e.getEndpointConfigs().then(function(i){var o=i.connection;if(void 0!==e._amqpConnection)t(e._amqpConnection);else{var s="";e._tls?(s=e._tlsProtocol+"://"+(o.deviceId||o.client)+":"+(o.secret+"@"+o.host+":")+(o.protocols.amqp.tlsPort+"/"+o.vhost.replace("/","%2f")),n=(0,f["default"])(n,e._tlsOpts)):s=e._protocol+"://"+(o.deviceId||o.client)+":"+(o.secret+"@"+o.host+":")+(o.protocols.amqp.port+"/"+o.vhost.replace("/","%2f")),y["default"].connect(s,n).then(function(n){n.on("error",function(t){e.emit("error",t),r(t)}),n.on("close",function(t){e.emit("close",t),e._amqpConnection=void 0}),n.on("blocked",function(t){e.emit("blocked",t),console.warn(t)}),n.on("unblocked",function(t){e.emit("unblocked",t),console.warn(t)}),e._amqpConnection=n,e.emit("connect"),t(e._amqpConnection)})["catch"](function(e){r(e)})}})["catch"](function(e){r(e)})})}},{key:"isConnected",value:function(){return void 0!==this._amqpConnection}},{key:"_createChannel",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e=""+e+(n.withConfirm===!0?"WithConfirm":""),new p["default"](function(r,i){t._amqpChannels[e]?r(t._amqpChannels[e]):t.connect().then(function(e){return n.withConfirm===!0?e.createConfirmChannel():e.createChannel()}).then(function(n){t._amqpChannels[e]=n,r(n)})["catch"](function(e){i(e)})})}},{key:"_closeChannel",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e=""+e+(n.withConfirm===!0?"WithConfirm":""),new p["default"](function(n,r){var i=t._amqpChannels[e];void 0===i?r("Invalid Channel Object"):i.close().then(function(){t._amqpChannels[e]=void 0,n(!0)})["catch"](function(e){r(e)})})}},{key:"_routingKeyFor",value:function(e){return this.deviceId()+"."+e}},{key:"_autoAck",value:function(e){if(e)switch((0,u["default"])(E[this._protocol].ackTypes,e)||console.error("Wrong acknowledge type"),e){case"auto":return!0;default:return!1}return!0}}]),n}(b["default"]);t["default"]=x}).call(t,n(3).Buffer)},function(e,t,n){(function(e,r){/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ -"use strict";function r(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}function i(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(i()=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function g(e){return+e!=e&&(e=0),s.alloc(+e)}function y(e,t){if(s.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return W(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return W(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return j(this,t,n);case"ascii":return U(this,t,n);case"latin1":case"binary":return O(this,t,n);case"base64":return T(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function b(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function _(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=s.from(t,r)),s.isBuffer(t))return 0===t.length?-1:w(e,t,n,r,i);if("number"==typeof t)return t&=255,s.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):w(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function w(e,t,n,r,i){function o(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}var s=1,a=e.length,u=t.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,n/=2}var c;if(i){var l=-1;for(c=n;ca&&(n=a-u),c=n;c>=0;c--){for(var f=!0,h=0;hi&&(r=i)):r=i;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s239?4:o>223?3:o>191?2:1;if(i+a<=n){var u,c,l,f;switch(a){case 1:o<128&&(s=o);break;case 2:u=e[i+1],128===(192&u)&&(f=(31&o)<<6|63&u,f>127&&(s=f));break;case 3:u=e[i+1],c=e[i+2],128===(192&u)&&128===(192&c)&&(f=(15&o)<<12|(63&u)<<6|63&c,f>2047&&(f<55296||f>57343)&&(s=f));break;case 4:u=e[i+1],c=e[i+2],l=e[i+3],128===(192&u)&&128===(192&c)&&128===(192&l)&&(f=(15&o)<<18|(63&u)<<12|(63&c)<<6|63&l,f>65535&&f<1114112&&(s=f))}}null===s?(s=65533,a=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|1023&s),r.push(s),i+=a}return B(r)}function B(e){var t=e.length;if(t<=ee)return String.fromCharCode.apply(String,e);for(var n="",r=0;rr)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,r,i,o){if(!s.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function L(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function P(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function N(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function q(e,t,n,r,i){return i||N(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),J.write(e,t,n,r,23,4),n+4}function D(e,t,n,r,i){return i||N(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),J.write(e,t,n,r,52,8),n+8}function z(e){if(e=H(e).replace(te,""),e.length<2)return"";for(;e.length%4!==0;)e+="=";return e}function H(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Q(e){return e<16?"0"+e.toString(16):e.toString(16)}function W(e,t){t=t||1/0;for(var n,r=e.length,i=null,o=[],s=0;s55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function K(e){for(var t=[],n=0;n>8,i=n%256,o.push(i),o.push(r);return o}function G(e){return X.toByteArray(z(e))}function Y(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function $(e){return e!==e}var X=n(4),J=n(5),Z=n(6);t.Buffer=s,t.SlowBuffer=g,t.INSPECT_MAX_BYTES=50,s.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:r(),t.kMaxLength=i(),s.poolSize=8192,s._augment=function(e){return e.__proto__=s.prototype,e},s.from=function(e,t,n){return a(null,e,t,n)},s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0})),s.alloc=function(e,t,n){return c(null,e,t,n)},s.allocUnsafe=function(e){return l(null,e)},s.allocUnsafeSlow=function(e){return l(null,e)},s.isBuffer=function(e){return!(null==e||!e._isBuffer)},s.compare=function(e,t){if(!s.isBuffer(e)||!s.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},s.prototype.compare=function(e,t,n,r,i){if(!s.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var o=i-r,a=n-t,u=Math.min(o,a),c=this.slice(r,i),l=e.slice(t,n),f=0;fi)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return E(this,e,t,n);case"utf8":case"utf-8":return x(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return I(this,e,t,n);case"base64":return C(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ee=4096;s.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t0&&(i*=256);)r+=this[e+--t]*i;return r},s.prototype.readUInt8=function(e,t){return t||M(e,1,this.length),this[e]},s.prototype.readUInt16LE=function(e,t){return t||M(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUInt16BE=function(e,t){return t||M(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUInt32LE=function(e,t){return t||M(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},s.prototype.readUInt32BE=function(e,t){return t||M(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||M(e,t,this.length);for(var r=this[e],i=1,o=0;++o=i&&(r-=Math.pow(2,8*t)),r},s.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||M(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},s.prototype.readInt8=function(e,t){return t||M(e,1,this.length),128&this[e]?(255-this[e]+1)*-1:this[e]},s.prototype.readInt16LE=function(e,t){t||M(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt16BE=function(e,t){t||M(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},s.prototype.readInt32LE=function(e,t){return t||M(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return t||M(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return t||M(e,4,this.length),J.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return t||M(e,4,this.length),J.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return t||M(e,8,this.length),J.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return t||M(e,8,this.length),J.read(this,e,!1,52,8)},s.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){var i=Math.pow(2,8*n)-1;F(this,e,t,n,i,0)}var o=1,s=0;for(this[t]=255&e;++s=0&&(s*=256);)this[t+o]=e/s&255;return t+n},s.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,1,255,0),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},s.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},s.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},s.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):P(this,e,t,!0),t+4},s.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},s.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+n},s.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},s.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,1,127,-128),s.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},s.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},s.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},s.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):P(this,e,t,!0),t+4},s.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),s.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):P(this,e,t,!1),t+4},s.prototype.writeFloatLE=function(e,t,n){return q(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return q(this,e,t,!1,n)},s.prototype.writeDoubleLE=function(e,t,n){return D(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return D(this,e,t,!1,n)},s.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(o<1e3||!s.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var o;if("number"==typeof e)for(o=t;o0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function r(e){return 3*e.length/4-n(e)}function i(e){var t,r,i,o,s,a=e.length;o=n(e),s=new l(3*a/4-o),r=o>0?a-4:a;var u=0;for(t=0;t>16&255,s[u++]=i>>8&255,s[u++]=255&i;return 2===o?(i=c[e.charCodeAt(t)]<<2|c[e.charCodeAt(t+1)]>>4,s[u++]=255&i):1===o&&(i=c[e.charCodeAt(t)]<<10|c[e.charCodeAt(t+1)]<<4|c[e.charCodeAt(t+2)]>>2,s[u++]=i>>8&255,s[u++]=255&i),s}function o(e){return u[e>>18&63]+u[e>>12&63]+u[e>>6&63]+u[63&e]}function s(e,t,n){for(var r,i=[],s=t;sl?l:c+a));return 1===r?(t=e[n-1],i+=u[t>>2],i+=u[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=u[t>>10],i+=u[t>>4&63],i+=u[t<<2&63],i+="="),o.push(i),o.join("")}t.byteLength=r,t.toByteArray=i,t.fromByteArray=a;for(var u=[],c=[],l="undefined"!=typeof Uint8Array?Uint8Array:Array,f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=0,p=f.length;h>1,l=-7,f=n?i-1:0,h=n?-1:1,p=e[t+f];for(f+=h,o=p&(1<<-l)-1,p>>=-l,l+=a;l>0;o=256*o+e[t+f],f+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=r;l>0;s=256*s+e[t+f],f+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:(p?-1:1)*(1/0);s+=Math.pow(2,r),o-=c}return(p?-1:1)*s*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var s,a,u,c=8*o-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),t+=s+f>=1?h/u:h*Math.pow(2,1-f),t*u>=2&&(s++,u/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(t*u-1)*Math.pow(2,i),s+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;e[n+p]=255&a,p+=d,a/=256,i-=8);for(s=s<0;e[n+p]=255&s,p+=d,s/=256,c-=8);e[n+p-d]|=128*v}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){function r(e,t,n,r){e=o(e)?e:u(e),n=n&&!r?a(n):0;var l=e.length;return n<0&&(n=c(l+n,0)),s(e)?n<=l&&e.indexOf(t,n)>-1:!!l&&i(e,t,n)>-1}var i=n(8),o=n(12),s=n(22),a=n(25),u=n(29),c=Math.max;e.exports=r},function(e,t,n){function r(e,t,n){return t===t?s(e,t,n):i(e,o,n)}var i=n(9),o=n(10),s=n(11);e.exports=r},function(e,t){function n(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},function(e,t,n){function r(e){return"string"==typeof e||!o(e)&&s(e)&&i(e)==a}var i=n(14),o=n(23),s=n(24),a="[object String]";e.exports=r},function(e,t){var n=Array.isArray;e.exports=n},function(e,t){function n(e){return null!=e&&"object"==typeof e}e.exports=n},function(e,t,n){function r(e){var t=i(e),n=t%1;return t===t?n?t-n:t:0}var i=n(26);e.exports=r},function(e,t,n){function r(e){if(!e)return 0===e?e:0;if(e=i(e),e===o||e===-o){var t=e<0?-1:1;return t*s}return e===e?e:0}var i=n(27),o=1/0,s=1.7976931348623157e308;e.exports=r},function(e,t,n){function r(e){if("number"==typeof e)return e;if(o(e))return s;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(a,"");var n=c.test(e);return n||l.test(e)?f(e.slice(2),n?2:8):u.test(e)?s:+e}var i=n(20),o=n(28),s=NaN,a=/^\s+|\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,l=/^0o[0-7]+$/i,f=parseInt;e.exports=r},function(e,t,n){function r(e){return"symbol"==typeof e||o(e)&&i(e)==s}var i=n(14),o=n(24),s="[object Symbol]";e.exports=r},function(e,t,n){function r(e){return null==e?[]:i(e,o(e))}var i=n(30),o=n(32);e.exports=r},function(e,t,n){function r(e,t){return i(t,function(t){return e[t]})}var i=n(31);e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n-1&&e%1==0&&e1){var n,r=new Array(t-1),i=0;for(n=0;n0&&"function"!=typeof e&&"function"!=typeof t){ -var n=".then() only accepts functions but was passed: "+d.classString(e);arguments.length>1&&(n+=", "+d.classString(t)),this._warn(n)}return this._then(e,t,void 0,void 0,void 0)},o.prototype.done=function(e,t){var n=this._then(e,t,void 0,void 0,void 0);n._setIsFinal()},o.prototype.spread=function(e){return"function"!=typeof e?h("expecting a function but got "+d.classString(e)):this.all()._then(e,void 0,void 0,E,void 0)},o.prototype.toJSON=function(){var e={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(e.fulfillmentValue=this.value(),e.isFulfilled=!0):this.isRejected()&&(e.rejectionReason=this.reason(),e.isRejected=!0),e},o.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new I(this).promise()},o.prototype.error=function(e){return this.caught(d.originatesFromRejection,e)},o.getNewLibraryCopy=e.exports,o.is=function(e){return e instanceof o},o.fromNode=o.fromCallback=function(e){var t=new o(w);t._captureStackTrace();var n=arguments.length>1&&!!Object(arguments[1]).multiArgs,r=A(e)(U(t,n));return r===O&&t._rejectCallback(r.e,!0),t._isFateSealed()||t._setAsyncGuaranteed(),t},o.all=function(e){return new I(e).promise()},o.cast=function(e){var t=k(e);return t instanceof o||(t=new o(w),t._captureStackTrace(),t._setFulfilled(),t._rejectionHandler0=e),t},o.resolve=o.fulfilled=o.cast,o.reject=o.rejected=function(e){var t=new o(w);return t._captureStackTrace(),t._rejectCallback(e,!0),t},o.setScheduler=function(e){if("function"!=typeof e)throw new b("expecting a function but got "+d.classString(e));return y.setScheduler(e)},o.prototype._then=function(e,t,n,r,i){var s=void 0!==i,a=s?i:new o(w),u=this._target(),l=u._bitField;s||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!==(2097152&this._bitField)&&(r=0!==(50397184&l)?this._boundValue():u===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var f=c();if(0!==(50397184&l)){var h,p,v=u._settlePromiseCtx;0!==(33554432&l)?(p=u._rejectionHandler0,h=e):0!==(16777216&l)?(p=u._fulfillmentHandler0,h=t,u._unsetRejectionIsUnhandled()):(v=u._settlePromiseLateCancellationObserver,p=new _("late cancellation observer"),u._attachExtraTrace(p),h=t),y.invoke(v,u,{handler:null===f?h:"function"==typeof h&&d.domainBind(f,h),promise:a,receiver:r,value:p})}else u._addCallbacks(e,t,a,r,f);return a},o.prototype._length=function(){return 65535&this._bitField},o.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},o.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},o.prototype._setLength=function(e){this._bitField=this._bitField&-65536|65535&e},o.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},o.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},o.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},o.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},o.prototype._isFinal=function(){return(4194304&this._bitField)>0},o.prototype._unsetCancelled=function(){this._bitField=this._bitField&-65537},o.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},o.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},o.prototype._setAsyncGuaranteed=function(){y.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},o.prototype._receiverAt=function(e){var t=0===e?this._receiver0:this[4*e-4+3];if(t!==p)return void 0===t&&this._isBound()?this._boundValue():t},o.prototype._promiseAt=function(e){return this[4*e-4+2]},o.prototype._fulfillmentHandlerAt=function(e){return this[4*e-4+0]},o.prototype._rejectionHandlerAt=function(e){return this[4*e-4+1]},o.prototype._boundValue=function(){},o.prototype._migrateCallback0=function(e){var t=(e._bitField,e._fulfillmentHandler0),n=e._rejectionHandler0,r=e._promise0,i=e._receiverAt(0);void 0===i&&(i=p),this._addCallbacks(t,n,r,i,null)},o.prototype._migrateCallbackAt=function(e,t){var n=e._fulfillmentHandlerAt(t),r=e._rejectionHandlerAt(t),i=e._promiseAt(t),o=e._receiverAt(t);void 0===o&&(o=p),this._addCallbacks(n,r,i,o,null)},o.prototype._addCallbacks=function(e,t,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof e&&(this._fulfillmentHandler0=null===i?e:d.domainBind(i,e)),"function"==typeof t&&(this._rejectionHandler0=null===i?t:d.domainBind(i,t));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof e&&(this[s+0]=null===i?e:d.domainBind(i,e)),"function"==typeof t&&(this[s+1]=null===i?t:d.domainBind(i,t))}return this._setLength(o+1),o},o.prototype._proxy=function(e,t){this._addCallbacks(void 0,void 0,t,e,null)},o.prototype._resolveCallback=function(e,t){if(0===(117506048&this._bitField)){if(e===this)return this._rejectCallback(l(),!1);var n=k(e,this);if(!(n instanceof o))return this._fulfill(e);t&&this._propagateFrom(n,2);var r=n._target();if(r===this)return void this._reject(l());var i=r._bitField;if(0===(50397184&i)){var s=this._length();s>0&&r._migrateCallback0(this);for(var a=1;a>>16)){if(e===this){var n=l();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=e,(65535&t)>0&&(0!==(134217728&t)?this._settlePromises():y.settlePromises(this))}},o.prototype._reject=function(e){var t=this._bitField;if(!((117506048&t)>>>16))return this._setRejected(),this._fulfillmentHandler0=e,this._isFinal()?y.fatalError(e,d.isNode):void((65535&t)>0?y.settlePromises(this):this._ensurePossibleRejectionHandled())},o.prototype._fulfillPromises=function(e,t){for(var n=1;n0){if(0!==(16842752&e)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,e),this._rejectPromises(t,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,e),this._fulfillPromises(t,r)}this._setLength(0)}this._clearCancellationData()},o.prototype._settledValue=function(){var e=this._bitField;return 0!==(33554432&e)?this._rejectionHandler0:0!==(16777216&e)?this._fulfillmentHandler0:void 0},o.defer=o.pending=function(){T.deprecated("Promise.defer","new Promise");var e=new o(w);return{promise:e,resolve:s,reject:a}},d.notEnumerableProp(o,"_makeSelfResolutionError",l),n(68)(o,w,k,h,T),n(69)(o,w,k,T),n(70)(o,I,h,T),n(71)(o),n(72)(o),n(73)(o,I,k,w,y,c),o.Promise=o,o.version="3.5.1",n(74)(o,I,h,k,w,T),n(75)(o),n(76)(o,h,k,S,w,T),n(77)(o,w,T),n(78)(o,h,w,k,r,T),n(79)(o),n(80)(o,w),n(81)(o,I,k,h),n(82)(o,w,k,h),n(83)(o,I,h,k,w,T),n(84)(o,I,T),n(85)(o,I,h),n(86)(o,w),n(87)(o,w),n(88)(o),d.toFastProperties(o),d.toFastProperties(o.prototype),u({a:1}),u({b:2}),u({c:3}),u(1),u(function(){}),u(void 0),u(!1),u(new o(w)),T.setBounds(g.firstLineError,d.lastLineError),o}}).call(t,n(52))},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(e){if(l===setTimeout)return setTimeout(e,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function o(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function s(){v&&p&&(v=!1,p.length?d=p.concat(d):g=-1,d.length&&a())}function a(){if(!v){var e=i(s);v=!0;for(var t=d.length;t;){for(p=d,d=[];++g1)for(var n=1;n1,r=t.length>0&&!(1===t.length&&"constructor"===t[0]),i=R.test(e+"")&&S.names(e).length>0;if(n||r||i)return!0}return!1}catch(e){return!1}}function d(e){function t(){}t.prototype=e;for(var n=8;n--;)new t;return e}function v(e){return M.test(e)}function g(e,t,n){for(var r=new Array(e),i=0;i10||e[0]>0}(),D.isNode&&D.toFastProperties(r);try{throw new Error}catch(e){D.lastLineError=e}e.exports=D}).call(t,function(){return this}(),n(52))},function(e,t){var n=function(){"use strict";return void 0===this}();if(n)e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:n,propertyIsWritable:function(e,t){var n=Object.getOwnPropertyDescriptor(e,t);return!(n&&!n.writable&&!n.set)}};else{var r={}.hasOwnProperty,i={}.toString,o={}.constructor.prototype,s=function(e){var t=[];for(var n in e)r.call(e,n)&&t.push(n);return t},a=function(e,t){return{value:e[t]}},u=function(e,t,n){return e[t]=n.value,e},c=function(e){return e},l=function(e){try{return Object(e).constructor.prototype}catch(e){return o}},f=function(e){try{return"[object Array]"===i.call(e)}catch(e){return!1}};e.exports={isArray:f,keys:s,names:s,defineProperty:u,getDescriptor:a,freeze:c,getPrototypeOf:l,isES5:n,propertyIsWritable:function(){return!0}}}},function(e,t,n){(function(t){"use strict";function r(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new c(16),this._normalQueue=new c(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var e=this;this.drainQueues=function(){e._drainQueues()},this._schedule=u}function i(e,t,n){this._lateQueue.push(e,t,n),this._queueTick()}function o(e,t,n){this._normalQueue.push(e,t,n),this._queueTick()}function s(e){this._normalQueue._pushOne(e),this._queueTick()}var a;try{throw new Error}catch(e){a=e}var u=n(56),c=n(59),l=n(53);r.prototype.setScheduler=function(e){var t=this._schedule;return this._schedule=e,this._customScheduler=!0,t},r.prototype.hasCustomScheduler=function(){return this._customScheduler},r.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},r.prototype.disableTrampolineIfNecessary=function(){l.hasDevTools&&(this._trampolineEnabled=!1)},r.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},r.prototype.fatalError=function(e,n){n?(t.stderr.write("Fatal "+(e instanceof Error?e.stack:e)+"\n"),t.exit(2)):this.throwLater(e)},r.prototype.throwLater=function(e,t){if(1===arguments.length&&(t=e,e=function(){throw t}),"undefined"!=typeof setTimeout)setTimeout(function(){e(t)},0);else try{this._schedule(function(){e(t)})}catch(e){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},l.hasDevTools?(r.prototype.invokeLater=function(e,t,n){this._trampolineEnabled?i.call(this,e,t,n):this._schedule(function(){setTimeout(function(){e.call(t,n)},100)})},r.prototype.invoke=function(e,t,n){this._trampolineEnabled?o.call(this,e,t,n):this._schedule(function(){e.call(t,n)})},r.prototype.settlePromises=function(e){this._trampolineEnabled?s.call(this,e):this._schedule(function(){e._settlePromises()})}):(r.prototype.invokeLater=i,r.prototype.invoke=o,r.prototype.settlePromises=s),r.prototype._drainQueue=function(e){for(;e.length()>0;){var t=e.shift();if("function"==typeof t){var n=e.shift(),r=e.shift();t.call(n,r)}else t._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=a}).call(t,n(52))},function(e,t,n){(function(t,r,i){"use strict";var o,s=n(53),a=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")},u=s.getNativePromise();if(s.isNode&&"undefined"==typeof MutationObserver){var c=t.setImmediate,l=r.nextTick;o=s.isRecentNode?function(e){c.call(t,e)}:function(e){l.call(r,e)}}else if("function"==typeof u&&"function"==typeof u.resolve){var f=u.resolve();o=function(e){f.then(e)}}else o="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)?"undefined"!=typeof i?function(e){i(e)}:"undefined"!=typeof setTimeout?function(e){setTimeout(e,0)}:a:function(){var e=document.createElement("div"),t={attributes:!0},n=!1,r=document.createElement("div"),i=new MutationObserver(function(){e.classList.toggle("foo"),n=!1});i.observe(r,t);var o=function(){n||(n=!0,r.classList.toggle("foo"))};return function(n){var r=new MutationObserver(function(){r.disconnect(),n()});r.observe(e,t),o()}}();e.exports=o}).call(t,function(){return this}(),n(52),n(57).setImmediate)},function(e,t,n){(function(e){function r(e,t){this._id=e,this._clearFn=t}var i=Function.prototype.apply;t.setTimeout=function(){return new r(i.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new r(i.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(58),t.setImmediate="undefined"!=typeof self&&self.setImmediate||"undefined"!=typeof e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||"undefined"!=typeof e&&e.clearImmediate||this&&this.clearImmediate}).call(t,function(){return this}())},function(e,t,n){(function(e,t){!function(e,n){"use strict";function r(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=this._length&&(this._resolve(this._values),!0)},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(e){return this._totalResolved++,this._reject(e),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;n=0)return o[e]}var i=!1,o=[];return e.prototype._promiseCreated=function(){},e.prototype._pushContext=function(){},e.prototype._popContext=function(){return null},e._peekContext=e.prototype._peekContext=function(){},t.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},t.prototype._popContext=function(){if(void 0!==this._trace){var e=o.pop(),t=e._promiseCreated;return e._promiseCreated=null,t}return null},t.CapturedTrace=null,t.create=n,t.deactivateLongStackTraces=function(){},t.activateLongStackTraces=function(){var n=e.prototype._pushContext,o=e.prototype._popContext,s=e._peekContext,a=e.prototype._peekContext,u=e.prototype._promiseCreated;t.deactivateLongStackTraces=function(){e.prototype._pushContext=n,e.prototype._popContext=o,e._peekContext=s,e.prototype._peekContext=a,e.prototype._promiseCreated=u,i=!1},i=!0,e.prototype._pushContext=t.prototype._pushContext,e.prototype._popContext=t.prototype._popContext,e._peekContext=e.prototype._peekContext=r,e.prototype._promiseCreated=function(){var e=this._peekContext();e&&null==e._promiseCreated&&(e._promiseCreated=this)}},t}},function(e,t,n){(function(t){"use strict";e.exports=function(e,r){function i(e,t){return{promise:t}}function o(){return!1}function s(e,t,n){var r=this;try{e(t,n,function(e){if("function"!=typeof e)throw new TypeError("onCancel must be a function, got: "+N.toString(e));r._attachCancellationCallback(e)})}catch(e){return e}}function a(e){if(!this._isCancellable())return this;var t=this._onCancel();void 0!==t?N.isArray(t)?t.push(e):this._setOnCancel([t,e]):this._setOnCancel(e); -}function u(){return this._onCancelField}function c(e){this._onCancelField=e}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function f(e,t){if(0!==(1&t)){this._cancellationParent=e;var n=e._branchesRemainingToCancel;void 0===n&&(n=0),e._branchesRemainingToCancel=n+1}0!==(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)}function h(e,t){0!==(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)}function p(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function d(){this._trace=new O(this._peekContext())}function v(e,t){if(q(e)){var n=this._trace;if(void 0!==n&&t&&(n=n._parent),void 0!==n)n.attachExtraTrace(e);else if(!e.__stackCleaned__){var r=k(e);N.notEnumerableProp(e,"stack",r.message+"\n"+r.stack.join("\n")),N.notEnumerableProp(e,"__stackCleaned__",!0)}}}function g(e,t,n,r,i){if(void 0===e&&null!==t&&$){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&r._bitField))return;n&&(n+=" ");var o="",s="";if(t._trace){for(var a=t._trace.stack.split("\n"),u=E(a),c=u.length-1;c>=0;--c){var l=u[c];if(!z.test(l)){var f=l.match(H);f&&(o="at "+f[1]+":"+f[2]+":"+f[3]+" ");break}}if(u.length>0)for(var h=u[0],c=0;c0&&(s="\n"+a[c-1]);break}}var p="a promise was created in a "+n+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+s;r._warn(p,!0,t)}}function y(e,t){var n=e+" is deprecated and will be removed in a future version.";return t&&(n+=" Use "+t+" instead."),m(n)}function m(t,n,r){if(se.warnings){var i,o=new P(t);if(n)r._attachExtraTrace(o);else if(se.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var s=k(o);o.stack=s.message+"\n"+s.stack.join("\n")}te("warning",o)||I(o,"",!0)}}function b(e,t){for(var n=0;n=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var u=r[a];if(t[i]!==u)break;t.pop(),i--}t=r}}function E(e){for(var t=[],n=0;n0&&"SyntaxError"!=e.name&&(t=t.slice(n)),t}function k(e){var t=e.stack,n=e.toString();return t="string"==typeof t&&t.length>0?x(e):[" (No stack trace)"],{message:n,stack:"SyntaxError"==e.name?t:E(t)}}function I(e,t,n){if("undefined"!=typeof console){var r;if(N.isObject(e)){var i=e.stack;r=t+W(i,e)}else r=t+String(e);"function"==typeof M?M(r,n):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(r)}}function C(e,t,n,r){var i=!1;try{"function"==typeof t&&(i=!0,"rejectionHandled"===e?t(r):t(n,r))}catch(e){L.throwLater(e)}"unhandledRejection"===e?te(e,n,r)||i||I(n,"Unhandled rejection "):te(e,r)}function S(e){var t;if("function"==typeof e)t="[function "+(e.name||"anonymous")+"]";else{t=e&&"function"==typeof e.toString?e.toString():N.toString(e);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(t))try{var r=JSON.stringify(e);t=r}catch(e){}0===t.length&&(t="(empty array)")}return"(<"+T(t)+">, no stack trace)"}function T(e){var t=41;return e.length=a||(re=function(e){if(D.test(e))return!0;var t=B(e);return!!(t&&t.fileName===n&&s<=t.line&&t.line<=a)})}}function O(e){this._parent=e,this._promisesCreated=0;var t=this._length=1+(void 0===e?0:e._length);oe(this,O),t>32&&this.uncycle()}var A,R,M,F=e._getDomain,L=e._async,P=n(60).Warning,N=n(53),q=N.canAttachTrace,D=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,z=/\((?:timers\.js):\d+:\d+\)/,H=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,Q=null,W=null,K=!1,V=!(0==N.env("BLUEBIRD_DEBUG")||!N.env("BLUEBIRD_DEBUG")&&"development"!==N.env("NODE_ENV")),G=!(0==N.env("BLUEBIRD_WARNINGS")||!V&&!N.env("BLUEBIRD_WARNINGS")),Y=!(0==N.env("BLUEBIRD_LONG_STACK_TRACES")||!V&&!N.env("BLUEBIRD_LONG_STACK_TRACES")),$=0!=N.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(G||!!N.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var e=this._target();e._bitField=e._bitField&-1048577|524288},e.prototype._ensurePossibleRejectionHandled=function(){if(0===(524288&this._bitField)){this._setRejectionIsUnhandled();var e=this;setTimeout(function(){e._notifyUnhandledRejection()},1)}},e.prototype._notifyUnhandledRejectionIsHandled=function(){C("rejectionHandled",A,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var e=this._settledValue();this._setUnhandledRejectionIsNotified(),C("unhandledRejection",R,e,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=this._bitField&-262145},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=this._bitField&-1048577,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(e,t,n){return m(e,t,n||this)},e.onPossiblyUnhandledRejection=function(e){var t=F();R="function"==typeof e?null===t?e:N.domainBind(t,e):void 0},e.onUnhandledRejectionHandled=function(e){var t=F();A="function"==typeof e?null===t?e:N.domainBind(t,e):void 0};var X=function(){};e.longStackTraces=function(){if(L.haveItemsQueued()&&!se.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!se.longStackTraces&&j()){var t=e.prototype._captureStackTrace,n=e.prototype._attachExtraTrace;se.longStackTraces=!0,X=function(){if(L.haveItemsQueued()&&!se.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=n,r.deactivateLongStackTraces(),L.enableTrampoline(),se.longStackTraces=!1},e.prototype._captureStackTrace=d,e.prototype._attachExtraTrace=v,r.activateLongStackTraces(),L.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return se.longStackTraces&&j()};var J=function(){try{if("function"==typeof CustomEvent){var e=new CustomEvent("CustomEvent");return N.global.dispatchEvent(e),function(e,t){var n=new CustomEvent(e.toLowerCase(),{detail:t,cancelable:!0});return!N.global.dispatchEvent(n)}}if("function"==typeof Event){var e=new Event("CustomEvent");return N.global.dispatchEvent(e),function(e,t){var n=new Event(e.toLowerCase(),{cancelable:!0});return n.detail=t,!N.global.dispatchEvent(n)}}var e=document.createEvent("CustomEvent");return e.initCustomEvent("testingtheevent",!1,!0,{}),N.global.dispatchEvent(e),function(e,t){var n=document.createEvent("CustomEvent");return n.initCustomEvent(e.toLowerCase(),!1,!0,t),!N.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),Z=function(){return N.isNode?function(){return t.emit.apply(t,arguments)}:N.global?function(e){var t="on"+e.toLowerCase(),n=N.global[t];return!!n&&(n.apply(N.global,[].slice.call(arguments,1)),!0)}:function(){return!1}}(),ee={promiseCreated:i,promiseFulfilled:i,promiseRejected:i,promiseResolved:i,promiseCancelled:i,promiseChained:function(e,t,n){return{promise:t,child:n}},warning:function(e,t){return{warning:t}},unhandledRejection:function(e,t,n){return{reason:t,promise:n}},rejectionHandled:i},te=function(e){var t=!1;try{t=Z.apply(null,arguments)}catch(e){L.throwLater(e),t=!0}var n=!1;try{n=J(e,ee[e].apply(null,arguments))}catch(e){L.throwLater(e),n=!0}return n||t};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&X()),"warnings"in t){var n=t.warnings;se.warnings=!!n,$=se.warnings,N.isObject(n)&&"wForgottenReturn"in n&&($=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!se.cancellation){if(L.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=f,e.prototype._onCancel=u,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=a,e.prototype._execute=s,ne=f,se.cancellation=!0}return"monitoring"in t&&(t.monitoring&&!se.monitoring?(se.monitoring=!0,e.prototype._fireEvent=te):!t.monitoring&&se.monitoring&&(se.monitoring=!1,e.prototype._fireEvent=o)),e},e.prototype._fireEvent=o,e.prototype._execute=function(e,t,n){try{e(t,n)}catch(e){return e}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(e){},e.prototype._attachCancellationCallback=function(e){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(e,t){};var ne=h,re=function(){return!1},ie=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;N.inherits(O,Error),r.CapturedTrace=O,O.prototype.uncycle=function(){var e=this._length;if(!(e<2)){for(var t=[],n={},r=0,i=this;void 0!==i;++r)t.push(i),i=i._parent;e=this._length=r;for(var r=e-1;r>=0;--r){var o=t[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;r0&&(t[a-1]._parent=void 0,t[a-1]._length=1),t[r]._parent=void 0,t[r]._length=1;var u=r>0?t[r-1]:this;a=0;--l)t[l]._length=c,c++;return}}}},O.prototype.attachExtraTrace=function(e){if(!e.__stackCleaned__){this.uncycle();for(var t=k(e),n=t.message,r=[t.stack],i=this;void 0!==i;)r.push(E(i.stack.split("\n"))),i=i._parent;w(r),_(r),N.notEnumerableProp(e,"stack",b(n,r)),N.notEnumerableProp(e,"__stackCleaned__",!0)}};var oe=function(){var e=/^\s*at\s*/,t=function(e,t){return"string"==typeof e?e:void 0!==t.name&&void 0!==t.message?t.toString():S(t)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,Q=e,W=t;var n=Error.captureStackTrace;return re=function(e){return D.test(e)},function(e,t){Error.stackTraceLimit+=6,n(e,t),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return Q=/@/,W=t,K=!0,function(e){e.stack=(new Error).stack};var i;try{throw new Error}catch(e){i="stack"in e}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(W=function(e,t){return"string"==typeof e?e:"object"!=typeof t&&"function"!=typeof t||void 0===t.name||void 0===t.message?S(t):t.toString()},null):(Q=e,W=t,function(e){Error.stackTraceLimit+=6;try{throw new Error}catch(t){e.stack=t.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(M=function(e){console.warn(e)},N.isNode&&t.stderr.isTTY?M=function(e,t){var n=t?"":"";console.warn(n+e+"\n")}:N.isNode||"string"!=typeof(new Error).stack||(M=function(e,t){console.warn("%c"+e,t?"color: darkorange":"color: red")}));var se={warnings:G,longStackTraces:!1,cancellation:!1,monitoring:!1};return Y&&e.longStackTraces(),{longStackTraces:function(){return se.longStackTraces},warnings:function(){return se.warnings},cancellation:function(){return se.cancellation},monitoring:function(){return se.monitoring},propagateFromFunction:function(){return ne},boundValueFunction:function(){return p},checkForgottenReturns:g,setBounds:U,warn:m,deprecated:y,CapturedTrace:O,fireDomEvent:J,fireGlobalEvent:Z}}}).call(t,n(52))},function(e,t,n){"use strict";e.exports=function(e,t,r){function i(e,t,n){this.promise=e,this.type=t,this.handler=n,this.called=!1,this.cancelPromise=null}function o(e){this.finallyHandler=e}function s(e,t){return null!=e.cancelPromise&&(arguments.length>1?e.cancelPromise._reject(t):e.cancelPromise._cancel(),e.cancelPromise=null,!0)}function a(){return c.call(this,this.promise._target()._settledValue())}function u(e){if(!s(this,e))return h.e=e,h}function c(n){var i=this.promise,c=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?c.call(i._boundValue()):c.call(i._boundValue(),n);if(l===r)return l;if(void 0!==l){i._setReturnedNonUndefined();var p=t(l,i);if(p instanceof e){if(null!=this.cancelPromise){if(p._isCancelled()){var d=new f("late cancellation observer");return i._attachExtraTrace(d),h.e=d,h}p.isPending()&&p._attachCancellationCallback(new o(this))}return p._then(a,u,void 0,this,void 0)}}}return i.isRejected()?(s(this),h.e=n,h):(s(this),n)}var l=n(53),f=e.CancellationError,h=l.errorObj,p=n(66)(r);return i.prototype.isFinallyHandler=function(){return 0===this.type},o.prototype._resultCancelled=function(){s(this.finallyHandler)},e.prototype._passThrough=function(e,t,n,r){return"function"!=typeof e?this.then():this._then(n,r,void 0,new i(this,t,e),void 0)},e.prototype.lastly=e.prototype.finally=function(e){return this._passThrough(e,0,c,c)},e.prototype.tap=function(e){return this._passThrough(e,1,c)},e.prototype.tapCatch=function(t){var n=arguments.length;if(1===n)return this._passThrough(t,1,void 0,c);var r,i=new Array(n-1),o=0;for(r=0;r1){o.deprecated("calling Promise.try with more than 1 argument");var c=arguments[1],l=arguments[2];u=s.isArray(c)?a(n).apply(l,c):a(n).call(l,c)}else u=a(n)();var f=r._popContext();return o.checkForgottenReturns(u,f,"Promise.try",r),r._resolveFromSyncValue(u),r},e.prototype._resolveFromSyncValue=function(e){e===s.errorObj?this._rejectCallback(e.e,!1):this._resolveCallback(e,!0)}}},function(e,t){"use strict";e.exports=function(e,t,n,r){var i=!1,o=function(e,t){this._reject(t)},s=function(e,t){t.promiseRejectionQueued=!0,t.bindingPromise._then(o,o,null,this,e)},a=function(e,t){0===(50397184&this._bitField)&&this._resolveCallback(t.target)},u=function(e,t){t.promiseRejectionQueued||this._reject(e)};e.prototype.bind=function(o){i||(i=!0,e.prototype._propagateFrom=r.propagateFromFunction(),e.prototype._boundValue=r.boundValueFunction());var c=n(o),l=new e(t);l._propagateFrom(this,1);var f=this._target();if(l._setBoundTo(c),c instanceof e){var h={promiseRejectionQueued:!1,promise:l,target:f,bindingPromise:c};f._then(t,s,void 0,l,h),c._then(a,u,void 0,l,h),l._setOnCancel(c)}else l._resolveCallback(f);return l},e.prototype._setBoundTo=function(e){void 0!==e?(this._bitField=2097152|this._bitField,this._boundTo=e):this._bitField=this._bitField&-2097153},e.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},e.bind=function(t,n){return e.resolve(n).bind(t)}}},function(e,t,n){"use strict";e.exports=function(e,t,r,i){var o=n(53),s=o.tryCatch,a=o.errorObj,u=e._async;e.prototype.break=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var e=this,t=e;e._isCancellable();){if(!e._cancelBy(t)){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}var n=e._cancellationParent;if(null==n||!n._isCancellable()){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}e._isFollowing()&&e._followee().cancel(),e._setWillBeCancelled(),t=e,e=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(e){return e===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),u.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(e,t){if(o.isArray(e))for(var n=0;n0&&"function"==typeof arguments[o]&&(n=arguments[o],o<=8&&c)){var l=new e(i);l._captureStackTrace();for(var f=v[o-1],h=new f(n),p=g,d=0;d=1?s:0,new a(t,n,s,o).promise()}var c=e._getDomain,l=n(53),f=l.tryCatch,h=l.errorObj,p=e._async;l.inherits(a,t),a.prototype._asyncInit=function(){this._init$(void 0,-2)},a.prototype._init=function(){},a.prototype._promiseFulfilled=function(t,n){var r=this._values,o=this.length(),a=this._preservedValues,u=this._limit;if(n<0){if(n=n*-1-1,r[n]=t,u>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(u>=1&&this._inFlight>=u)return r[n]=t,this._queue.push(n),!1;null!==a&&(a[n]=t);var c=this._promise,l=this._callback,p=c._boundValue();c._pushContext();var d=f(l).call(p,t,n,o),v=c._popContext();if(s.checkForgottenReturns(d,v,null!==a?"Promise.filter":"Promise.map",c),d===h)return this._reject(d.e),!0;var g=i(d,this._promise);if(g instanceof e){g=g._target();var y=g._bitField;if(0===(50397184&y))return u>=1&&this._inFlight++,r[n]=g,g._proxy(this,(n+1)*-1),!1;if(0===(33554432&y))return 0!==(16777216&y)?(this._reject(g._reason()),!0):(this._cancel(),!0);d=g._value()}r[n]=d}var m=++this._totalResolved;return m>=o&&(null!==a?this._filter(r,a):this._resolve(r),!0)},a.prototype._drainQueue=function(){for(var e=this._queue,t=this._limit,n=this._values;e.length>0&&this._inFlight512){for(var i=Object.keys(n),o=0;o<256;++o)delete n[i[o]];n[" size"]=i.length-256}}return r};u=function(e){return v(e,p,i)},c=function(e){return v(e,d,o)},e.prototype.call=function(e){for(var t=arguments.length,n=new Array(Math.max(t-1,0)),i=1;i=c)return l._fulfill();var o=u(t[s++]);if(o instanceof e&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),t.promise)}catch(e){return a(e)}if(o instanceof e)return o._then(i,a,null,null,null)}i()}var s=0,c=t.length,l=new e(o);return i(),l}function l(e,t,n){this._data=e,this._promise=t,this._context=n}function f(e,t,n){this.constructor$(e,t,n)}function h(e){return l.isDisposer(e)?(this.resources[this.index]._setDisposable(e),e.promise()):e}function p(e){this.length=e,this.promise=null,this[e-1]=null}var d=n(53),v=n(60).TypeError,g=n(53).inherits,y=d.errorObj,m=d.tryCatch,b={};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():b},l.prototype.tryDispose=function(e){var t=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=t!==b?this.doDispose(t,e):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},l.isDisposer=function(e){return null!=e&&"function"==typeof e.resource&&"function"==typeof e.tryDispose},g(f,l),f.prototype.doDispose=function(e,t){var n=this.data();return n.call(e,e,t)},p.prototype._resultCancelled=function(){for(var t=this.length,n=0;n0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=this._bitField&-131073,this._disposer=void 0},e.prototype.disposer=function(e){if("function"==typeof e)return new f(e,this,i());throw new v}}},function(e,t,n){"use strict";e.exports=function(e,t,r){function i(e){this.handle=e}function o(e){return clearTimeout(this.handle),e}function s(e){throw clearTimeout(this.handle),e}var a=n(53),u=e.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var c=function(e){return l(+this).thenReturn(e)},l=e.delay=function(n,o){var s,a;return void 0!==o?(s=e.resolve(o)._then(c,null,null,n,void 0),r.cancellation()&&o instanceof e&&s._setOnCancel(o)):(s=new e(t),a=setTimeout(function(){s._fulfill()},+n),r.cancellation()&&s._setOnCancel(new i(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};e.prototype.delay=function(e){return l(e,this)};var f=function(e,t,n){var r;r="string"!=typeof t?t instanceof Error?t:new u("operation timed out"):new u(t),a.markAsOriginatingFromRejection(r),e._attachExtraTrace(r),e._reject(r),null!=n&&n.cancel()};e.prototype.timeout=function(e,t){e=+e;var n,a,u=new i(setTimeout(function(){n.isPending()&&f(n,t,a)},e));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,u,void 0),n._setOnCancel(u)):n=this._then(o,s,void 0,u,void 0),n}}},function(e,t,n){"use strict";e.exports=function(e,t,r,i,o,s){function a(t,n,r){for(var o=0;o=n;--r)t.push(r);for(var r=e+1;r<=3;++r)t.push(r);return t},C=function(e){return p.filledRange(e,"_arg","")},S=function(e){return p.filledRange(Math.max(e,3),"_arg","")},T=function(e){return"number"==typeof e.length?Math.max(Math.min(e.length,1024),0):0};f=function(n,r,i,o,s,a){function u(e){var t,n=C(e).join(", "),i=e>0?", ":"";return t=y?"ret = callback.call(this, {{args}}, nodeback); break;\n":void 0===r?"ret = callback({{args}}, nodeback); break;\n":"ret = callback.call(receiver, {{args}}, nodeback); break;\n",t.replace("{{args}}",n).replace(", ",i)}function c(){for(var e="",t=0;t=this._length){var r;if(this._isMap)r=h(this._values);else{r={};for(var i=this.length(),o=0,s=this.length();o>1},e.prototype.props=function(){return s(this)},e.props=function(e){return s(e)}}},function(e,t,n){"use strict";e.exports=function(e,t,r,i){function o(n,o){var u=r(n);if(u instanceof e)return a(u);if(n=s.asArray(n),null===n)return i("expecting an array or an iterable object but got "+s.classString(n));var c=new e(t);void 0!==o&&c._propagateFrom(o,3);for(var l=c._fulfill,f=c._reject,h=0,p=n.length;h=this._length&&(this._resolve(this._values),!0)},i.prototype._promiseFulfilled=function(e,t){var n=new o;return n._bitField=33554432,n._settledValueField=e,this._promiseResolved(t,n)},i.prototype._promiseRejected=function(e,t){var n=new o;return n._bitField=16777216,n._settledValueField=e,this._promiseResolved(t,n)},e.settle=function(e){return r.deprecated(".settle()",".reflect()"),new i(e).promise()},e.prototype.settle=function(){return e.settle(this)}}},function(e,t,n){"use strict";e.exports=function(e,t,r){function i(e){this.constructor$(e),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(e,t){if((0|t)!==t||t<0)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new i(e),o=n.promise();return n.setHowMany(t),n.init(),o}var s=n(53),a=n(60).RangeError,u=n(60).AggregateError,c=s.isArray,l={};s.inherits(i,t),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var e=c(this._values);!this._isResolved()&&e&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(e){this._howMany=e},i.prototype._promiseFulfilled=function(e){return this._addFulfilled(e),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},i.prototype._promiseRejected=function(e){return this._addRejected(e),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(l),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var e=new u,t=this.length();t0?this._reject(e):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(e){this._values.push(e)},i.prototype._addFulfilled=function(e){this._values[this._totalResolved++]=e},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(e){var t="Input array must contain at least "+this._howMany+" items but contains only "+e+" items";return new a(t)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(e,t){return o(e,t)},e.prototype.some=function(e){return o(this,e)},e._SomePromiseArray=i}},function(e,t){"use strict";e.exports=function(e,t){var n=e.map;e.prototype.filter=function(e,r){return n(this,e,r,t)},e.filter=function(e,r,i){return n(e,r,i,t)}}},function(e,t){"use strict";e.exports=function(e,t){function n(){return o(this)}function r(e,n){return i(e,n,t,t)}var i=e.reduce,o=e.all;e.prototype.each=function(e){return i(this,e,t,0)._then(n,void 0,void 0,this,void 0)},e.prototype.mapSeries=function(e){return i(this,e,t,t)},e.each=function(e,r){return i(e,r,t,0)._then(n,void 0,void 0,e,void 0)},e.mapSeries=r}},function(e,t){"use strict";e.exports=function(e){function t(e){var t=new n(e),r=t.promise();return t.setHowMany(1),t.setUnwrap(),t.init(),r}var n=e._SomePromiseArray;e.any=function(e){return t(e)},e.prototype.any=function(){return t(this)}}},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(e){function t(e,t,n,r){var i=k.resolve(e);return arguments.length<2?i:i.then(t,n,r)}function r(e){return new k(e)}function i(e){return function(){for(var t=0,n=arguments.length,r=new Array(n);t>>0,c=u,l=[],f=0;f0){a.become(i),e._visitRemaining(t,f,i);break}i.visit(a,n,r)}else--c;return 0===c&&a.reject(new RangeError("any(): array must not be empty")),s}function i(t,n){function r(e){this.resolved||(l.push(e),0===--p&&(f=null,this.resolve(l)))}function i(e){this.resolved||(f.push(e),0===--o&&(l=null,this.reject(f)))}var o,s,a,u=e._defer(),c=u._handler,l=[],f=[],h=t.length>>>0,p=0;for(a=0;ap?c.reject(new RangeError("some(): array must contain at least "+n+" item(s), but had "+p)):0===p&&c.resolve(l),a=0;a2?g.call(e,h(t),arguments[2]):g.call(e,h(t))}function f(e,t){return arguments.length>2?y.call(e,h(t),arguments[2]):y.call(e,h(t))}function h(e){return function(t,n,r){return p(e,void 0,[t,n,r])}}var p=r(e),d=e.resolve,v=e.all,g=Array.prototype.reduce,y=Array.prototype.reduceRight,m=Array.prototype.slice;return e.any=n,e.some=i,e.settle=u,e.map=o,e.filter=s,e.reduce=l,e.reduceRight=f,e.prototype.spread=function(e){return this.then(v).then(function(t){return e.apply(this,t)})},e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(){function e(){return{state:"pending"}}function t(e){return{state:"rejected",reason:e}}function n(e){return{state:"fulfilled",value:e}}function r(r){var i=r.state();return 0===i?e():i>0?n(r.value):t(r.value)}return{pending:e,fulfilled:n,rejected:t,inspect:r}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(){function e(e,n){function r(t,r,o){var s=e._defer(),a=o.length,u=new Array(a);return i({f:t,thisArg:r,args:o,params:u,i:a-1,call:n},s._handler),s}function i(t,r){if(t.i<0)return n(t.f,t.thisArg,t.params,r);var i=e._handler(t.args[t.i]);i.fold(o,t,void 0,r)}function o(e,t,n){e.params[e.i]=t,e.i-=1,i(e,n)}return arguments.length<2&&(n=t),r}function t(e,t,n,r){try{r.resolve(e.apply(t,n))}catch(e){r.reject(e)}}return e.tryCatchResolve=t,e}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(){function e(){throw new TypeError("catch predicate must be a function")}function t(e,t){return n(t)?e instanceof t:t(e)}function n(e){return e===Error||null!=e&&e.prototype instanceof Error}function r(e){return("object"==typeof e||"function"==typeof e)&&null!==e}function i(e){return e}return function(n){function o(e,n){return function(r){return t(r,n)?e.call(this,r):c(r)}}function s(e,t,n,i){var o=e.call(t);return r(o)?a(o,n,i):n(i)}function a(e,t,n){return u(e).then(function(){return t(n)})}var u=n.resolve,c=n.reject,l=n.prototype.catch;return n.prototype.done=function(e,t){this._handler.visit(this._handler.receiver,e,t)},n.prototype.catch=n.prototype.otherwise=function(t){return arguments.length<2?l.call(this,t):"function"!=typeof t?this.ensure(e):l.call(this,o(arguments[1],t))},n.prototype.finally=n.prototype.ensure=function(e){return"function"!=typeof e?this:this.then(function(t){return s(e,this,i,t)},function(t){return s(e,this,c,t)})},n.prototype.else=n.prototype.orElse=function(e){return this.then(void 0,function(){return e})},n.prototype.yield=function(e){return this.then(function(){return e})},n.prototype.tap=function(e){return this.then(e).yield(this)},n}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(){return function(e){return e.prototype.fold=function(t,n){var r=this._beget();return this._handler.fold(function(n,r,i){e._handler(n).fold(function(e,n,r){r.resolve(t.call(this,n,e))},r,this,i)},n,r._handler.receiver,r._handler),r},e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},[388,96],function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(){return function(e){function t(e,t,r,i){return n(function(t){return[t,e(t)]},t,r,i)}function n(e,t,i,o){function s(o,s){return r(i(o)).then(function(){return n(e,t,i,s)})}return r(o).then(function(n){return r(t(n)).then(function(t){return t?n:r(e(n)).spread(s)})})}var r=e.resolve;return e.iterate=t,e.unfold=n,e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(){return function(e){return e.prototype.progress=function(e){return this.then(void 0,void 0,e)},e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(){return function(e){return e.prototype.with=e.prototype.withThis=function(e){var t=this._beget(),n=t._handler;return n.receiver=e,this._handler.chain(n,e),t},e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(e){function t(e){throw e}function r(){}var i=n(91).setTimer,o=n(105);return function(e){function n(e){e.handled||(p.push(e),l("Potentially unhandled rejection ["+e.id+"] "+o.formatError(e.value)))}function s(e){var t=p.indexOf(e);t>=0&&(p.splice(t,1),f("Handled previous rejection ["+e.id+"] "+o.formatObject(e.value)))}function a(e,t){h.push(e,t),null===d&&(d=i(u,0))}function u(){for(d=null;h.length>0;)h.shift()(h.shift())}var c,l=r,f=r;"undefined"!=typeof console&&(c=console,l="undefined"!=typeof c.error?function(e){c.error(e)}:function(e){c.log(e)},f="undefined"!=typeof c.info?function(e){c.info(e)}:function(e){c.log(e)}),e.onPotentiallyUnhandledRejection=function(e){a(n,e)},e.onPotentiallyUnhandledRejectionHandled=function(e){a(s,e)},e.onFatalRejection=function(e){a(t,e.value)};var h=[],p=[],d=null;return e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(){function e(e){var n="object"==typeof e&&null!==e&&(e.stack||e.message)?e.stack||e.message:t(e);return e instanceof Error?n:n+" (WARNING: non-Error used)"}function t(e){var t=String(e);return"[object Object]"===t&&"undefined"!=typeof JSON&&(t=n(e,t)),t}function n(e,t){try{return JSON.stringify(e)}catch(e){return t}}return{formatError:e,formatObject:t,tryStringify:n}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},[389,107,108,91],function(e,t,n){var r;(function(i){/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(o){"use strict";r=function(){return function(e){function t(e,t){this._handler=e===_?t:n(e)}function n(e){function t(e){i.resolve(e)}function n(e){i.reject(e)}function r(e){i.notify(e)}var i=new E;try{e(t,n,r)}catch(e){n(e)}return i}function r(e){return M(e)?e:new t(_,new x(y(e)))}function o(e){return new t(_,new x(new C(e)))}function s(){return ne}function a(){return new t(_,new E)}function u(e,t){var n=new E(e.receiver,e.join().context);return new t(_,n)}function c(e){return f(W,null,e)}function l(e,t){return f(q,e,t)}function f(e,n,r){function i(t,i,s){s.resolved||h(r,o,t,e(n,i,t),s)}function o(e,t,n){l[e]=t,0===--c&&n.become(new I(l))}for(var s,a="function"==typeof n?i:o,u=new E,c=r.length>>>0,l=new Array(c),f=0;f0?t(n,o.value,i):(i.become(o),p(e,n+1,o))}else t(n,r,i)}function p(e,t,n){for(var r=t;r0||"function"!=typeof t&&i<0)return new this.constructor(_,r);var o=this._beget(),s=o._handler;return r.chain(s,r.receiver,e,t,n),o},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype._beget=function(){return u(this._handler,this.constructor)},t.all=c,t.race=v,t._traverse=l,t._visitRemaining=p,_.prototype.when=_.prototype.become=_.prototype.notify=_.prototype.fail=_.prototype._unreport=_.prototype._report=K,_.prototype._state=0,_.prototype.state=function(){return this._state},_.prototype.join=function(){for(var e=this;void 0!==e.handler;)e=e.handler;return e},_.prototype.chain=function(e,t,n,r,i){this.when({resolver:e,receiver:t,fulfilled:n,rejected:r,progress:i})},_.prototype.visit=function(e,t,n,r){this.chain(Z,e,t,n,r)},_.prototype.fold=function(e,t,n,r){this.when(new R(e,t,n,r))},Q(_,w),w.prototype.become=function(e){e.fail()};var Z=new w;Q(_,E),E.prototype._state=0,E.prototype.resolve=function(e){this.become(y(e))},E.prototype.reject=function(e){this.resolved||this.become(new C(e))},E.prototype.join=function(){if(!this.resolved)return this;for(var e=this;void 0!==e.handler;)if(e=e.handler,e===this)return this.handler=j();return e},E.prototype.run=function(){var e=this.consumers,t=this.handler;this.handler=this.handler.join(),this.consumers=void 0;for(var n=0;n",'"',"`"," ","\r","\n","\t"],d=["{","}","|","\\","^","`"].concat(p),v=["'"].concat(d),g=["%","/","?",";","#"].concat(v),y=["/","?","#"],m=255,b=/^[+a-z0-9A-Z_-]{0,63}$/,_=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,w={javascript:!0,"javascript:":!0},E={javascript:!0,"javascript:":!0},x={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},k=n(114);r.prototype.parse=function(e,t,n){if(!c.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),i=r!==-1&&r127?"x":R[F];if(!M.match(b)){var P=O.slice(0,S),N=O.slice(S+1),q=R.match(_);q&&(P.push(q[1]),N.unshift(q[2])),N.length&&(a="/"+N.join(".")+a),this.hostname=P.join(".");break}}}this.hostname.length>m?this.hostname="":this.hostname=this.hostname.toLowerCase(),U||(this.hostname=u.toASCII(this.hostname));var D=this.port?":"+this.port:"",z=this.hostname||"";this.host=z+D,this.href+=this.host,U&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==a[0]&&(a="/"+a))}if(!w[d])for(var S=0,A=v.length;S0)&&n.host.split("@");I&&(n.auth=I.shift(),n.host=n.hostname=I.shift())}return n.search=e.search,n.query=e.query,c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var C=w.slice(-1)[0],S=(n.host||e.host||w.length>1)&&("."===C||".."===C)||""===C,T=0,j=w.length;j>=0;j--)C=w[j],"."===C?w.splice(j,1):".."===C?(w.splice(j,1),T++):T&&(w.splice(j,1),T--);if(!b&&!_)for(;T--;T)w.unshift("..");!b||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),S&&"/"!==w.join("/").substr(-1)&&w.push("");var B=""===w[0]||w[0]&&"/"===w[0].charAt(0);if(k){n.hostname=n.host=B?"":w.length?w.shift():"";var I=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");I&&(n.auth=I.shift(),n.host=n.hostname=I.shift())}return b=b||n.host&&w.length,b&&!B&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=f.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){var r;(function(e,i){!function(o){function s(e){throw RangeError(O[e])}function a(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function u(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(U,".");var i=e.split("."),o=a(i,t).join(".");return r+o}function c(e){for(var t,n,r=[],i=0,o=e.length;i=55296&&t<=56319&&i65535&&(e-=65536,t+=M(e>>>10&1023|55296),e=56320|1023&e),t+=M(e)}).join("")}function f(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:w}function h(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function p(e,t,n){var r=0;for(e=n?R(e/I):e>>1,e+=R(e/t);e>A*x>>1;r+=w)e=R(e/A);return R(r+(A+1)*e/(e+k))}function d(e){var t,n,r,i,o,a,u,c,h,d,v=[],g=e.length,y=0,m=S,b=C;for(n=e.lastIndexOf(T),n<0&&(n=0),r=0;r=128&&s("not-basic"),v.push(e.charCodeAt(r));for(i=n>0?n+1:0;i=g&&s("invalid-input"),c=f(e.charCodeAt(i++)),(c>=w||c>R((_-y)/a))&&s("overflow"),y+=c*a,h=u<=b?E:u>=b+x?x:u-b,!(cR(_/d)&&s("overflow"),a*=d;t=v.length+1,b=p(y-o,t,0==o),R(y/t)>_-m&&s("overflow"),m+=R(y/t),y%=t,v.splice(y++,0,m)}return l(v)}function v(e){var t,n,r,i,o,a,u,l,f,d,v,g,y,m,b,k=[];for(e=c(e),g=e.length,t=S,n=0,o=C,a=0;a=t&&vR((_-n)/y)&&s("overflow"),n+=(u-t)*y,t=u,a=0;a_&&s("overflow"),v==t){for(l=n,f=w;d=f<=o?E:f>=o+x?x:f-o,!(l= 0x80 (not a basic code point)","invalid-input":"Invalid input"},A=w-E,R=Math.floor,M=String.fromCharCode;b={version:"1.3.2",ucs2:{decode:c,encode:l},decode:d,encode:v,toASCII:y,toUnicode:g},r=function(){return b}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(this)}).call(t,n(38)(e),function(){return this}())},function(e,t){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,n){"use strict";t.decode=t.parse=n(115),t.encode=t.stringify=n(116)},function(e,t){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,i){t=t||"&",r=r||"=";var o={};if("string"!=typeof e||0===e.length)return o;var s=/\+/g;e=e.split(t);var a=1e3;i&&"number"==typeof i.maxKeys&&(a=i.maxKeys);var u=e.length;a>0&&u>a&&(u=a);for(var c=0;c=0?(l=d.substr(0,v),f=d.substr(v+1)):(l=d,f=""),h=decodeURIComponent(l),p=decodeURIComponent(f),n(o,h)?Array.isArray(o[h])?o[h].push(p):o[h]=[o[h],p]:o[h]=p}return o}},function(e,t){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,i){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map(function(i){var o=encodeURIComponent(n(i))+r;return Array.isArray(e[i])?e[i].map(function(e){return o+encodeURIComponent(n(e))}).join(t):o+encodeURIComponent(n(e[i]))}).join(t):i?encodeURIComponent(n(i))+r+encodeURIComponent(n(e)):""}},function(e,t,n){(function(t){"use strict";function r(e){g.call(this);var n=this.stream=u(e);this.muxer=new d(n),this.rest=new t(0),this.frameMax=f.FRAME_MIN_SIZE,this.sentSinceLastCheck=!1,this.recvSinceLastCheck=!1,this.expectSocketClose=!1,this.freeChannels=new w,this.channels=[{channel:{accept:o(this)},buffer:e}]}function i(e){var t=this.channels[e.channel];return t?t.channel.accept(e):void this.closeWithError(x("Frame on unknown channel %d",e.channel),f.CHANNEL_ERROR,new Error(x("Frame on unknown channel: %s",_(e,!1))))}function o(e){return function(t){if(t===p);else if(t.id===l.ConnectionClose){e.sendMethod(0,l.ConnectionCloseOk,{});var n=x("Connection closed: %s",b(t)),r=C(n),i=new Error(n);i.code=t.fields.replyCode,c(i)&&e.emit("error",i),e.toClosed(r,i)}else t.id===l.ConnectionBlocked?e.emit("blocked",t.fields.reason):t.id===l.ConnectionUnblocked?e.emit("unblocked"):e.closeWithError(x("Unexpected frame on channel 0"),f.UNEXPECTED_FRAME,new Error(x("Unexpected frame on channel 0: %s",_(t,!1))))}}function s(e,t){return function(){throw new I(e,t)}}function a(e,t,n){e.sendMethod=e.sendContent=e.sendMessage=s(t,n)}function u(e){if(e instanceof v)return e;var t=new v;return t.wrap(e),t._write=function(t,n,r){return e.write(t,n,r)},t}function c(e){switch(e&&e.code){case l.constants.CONNECTION_FORCED:case l.constants.REPLY_SUCCESS:return!1;default:return!0}}var l=n(118),f=l.constants,h=n(125),p=h.HEARTBEAT,d=n(133).Mux,v=n(134).Duplex||n(158),g=n(135).EventEmitter,y=n(165).Heart,m=n(166).methodName,b=n(166).closeMessage,_=n(166).inspect,w=n(167).BitSet,E=n(122).inherits,x=n(122).format,k=n(134).PassThrough||n(168),I=n(171).IllegalOperationError,C=n(171).stackCapture,S=1024,T=2048;E(r,g);var j=r.prototype;j.sendProtocolHeader=function(){this.sendBytes(h.PROTOCOL_HEADER)},j.open=function(e,t){function n(e){d.step(function(t,n){null!==t?o(t):0!==n.channel?o(new Error(x("Frame on channel != 0 during handshake: %s",_(n,!1)))):e(n)})}function r(e,t){n(function(n){n.id===e?t(n):o(new Error(x("Expected %s; got %s",m(e),_(n,!1))))})}function o(e){v(e)}function s(e){try{d.sendMethod(0,e,g)}catch(e){o(e)}}function a(e,t){return 0===e||0===t?Math.max(e,t):Math.min(e,t)}function u(t){var r=t.fields.mechanisms.toString().split(" ");return r.indexOf(e.mechanism)<0?void o(new Error(x("SASL mechanism %s is not provided by the server",e.mechanism))):(s(l.ConnectionStartOk),void n(c))}function c(t){switch(t.id){case l.ConnectionSecure:o(new Error("Wasn't expecting to have to go through secure"));break;case l.ConnectionClose:o(new Error(x("Handshake terminated by server: %s",b(t))));break;case l.ConnectionTune:var n=t.fields;g.frameMax=a(n.frameMax,e.frameMax),g.channelMax=a(n.channelMax,e.channelMax),g.heartbeat=a(n.heartbeat,e.heartbeat),s(l.ConnectionTuneOk),s(l.ConnectionOpen),r(l.ConnectionOpenOk,f);break;default:o(new Error(x("Expected connection.secure, connection.close, or connection.tune during handshake; got %s",_(t,!1))))}}function f(e){d.channelMax=g.channelMax||65535,d.frameMax=g.frameMax||4294967295,d.heartbeat=g.heartbeat,d.heartbeater=d.startHeartbeater(),d.accept=i,p(e)}function h(e){o(e||new Error("Socket closed abruptly during opening handshake"))}function p(e){d.stream.removeListener("end",h),d.stream.removeListener("error",h),d.stream.on("error",d.onSocketError.bind(d)),d.stream.on("end",d.onSocketError.bind(d,new Error("Unexpected close"))),d.on("frameError",d.onSocketError.bind(d)),d.acceptLoop(),v(null,e)}var d=this,v=t||function(){},g=Object.create(e);this.stream.on("end",h),this.stream.on("error",h),this.sendProtocolHeader(),r(l.ConnectionStart,u)},j.close=function(e){var t=e&&function(){e(null)};this.closeBecause("Cheers, thanks",f.REPLY_SUCCESS,t)},j.closeBecause=function(e,t,n){this.sendMethod(0,l.ConnectionClose,{replyText:e,replyCode:t,methodId:0,classId:0});var r=C("closeBecause called: "+e);this.toClosing(r,n)},j.closeWithError=function(e,t,n){this.emit("error",n),this.closeBecause(e,t)},j.onSocketError=function(e){if(!this.expectSocketClose){this.expectSocketClose=!0,this.emit("error",e);var t=C("Socket error");this.toClosed(t,e)}},j.toClosing=function(e,t){var n=this.sendMethod.bind(this);this.accept=function(e){if(e.id===l.ConnectionCloseOk){t&&t();var r=C("ConnectionCloseOk received");this.toClosed(r,void 0)}else e.id===l.ConnectionClose&&n(0,l.ConnectionCloseOk,{})},a(this,"Connection closing",e)},j._closeChannels=function(e){for(var t=1;tthis.channelMax)throw new Error("No channels left to allocate");this.freeChannels.set(n);var r=t&&t.highWaterMark||S,i=new k({objectMode:!0,highWaterMark:r});return this.channels[n]={channel:e,buffer:i},i.on("drain",function(){e.onBufferDrain()}),this.muxer.pipeFrom(i),n},j.releaseChannel=function(e){this.freeChannels.clear(e);var t=this.channels[e].buffer;this.muxer.unpipeFrom(t),this.channels[e]=null},j.acceptLoop=function(){function e(){try{for(var e;e=t.recvFrame();)t.accept(e)}catch(e){t.emit("frameError",e)}}var t=this;t.stream.on("readable",e),e()},j.step=function(e){function t(){var r;try{r=n.recvFrame()}catch(t){return void e(t,null)}r?e(null,r):n.stream.once("readable",t)}var n=this;t()},j.checkSend=function(){var e=this.sentSinceLastCheck;return this.sentSinceLastCheck=!1,e},j.checkRecv=function(){var e=this.recvSinceLastCheck;return this.recvSinceLastCheck=!1,e},j.sendBytes=function(e){this.sentSinceLastCheck=!0,this.stream.write(e)},j.sendHeartbeat=function(){return this.sendBytes(h.HEARTBEAT_BUF)};var B=l.encodeMethod,U=l.encodeProperties;j.sendMethod=function(e,t,n){var r=B(t,e,n);this.sentSinceLastCheck=!0;var i=this.channels[e].buffer;return i.write(r)},j.sendMessage=function(e,n,r,i,o,s){if(!t.isBuffer(s))throw new TypeError("content is not a buffer");var a=B(n,e,r),u=U(i,e,s.length,o),c=this.channels[e].buffer;this.sentSinceLastCheck=!0;var l=a.length+u.length,f=s.length>0?s.length+O:0,h=l+f;if(h0&&A(e,s).copy(p,d),c.write(p)}if(ln.length?n.slice(s):n.slice(s,a),c=A(e,u);r=i.write(c)}return this.sentSinceLastCheck=!0,r};var R=h.parseFrame,M=h.decodeFrame;j.recvFrame=function(){var e=R(this.rest,this.frameMax);if(e)return this.rest=e.rest,M(e);var n=this.stream.read();return null!==n&&(this.recvSinceLastCheck=!0,this.rest=t.concat([this.rest,n]),this.recvFrame())},e.exports.Connection=r,e.exports.isFatalError=c}).call(t,n(3).Buffer)},function(e,t,n){(function(t){/** @preserve This file is generated by the script +"use strict";function i(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function o(){return e.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,n){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function g(t){return+t!=t&&(t=0),e.alloc(+t)}function y(t,n){if(e.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var i=!1;;)switch(n){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return W(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return G(t).length;default:if(i)return W(t).length;n=(""+n).toLowerCase(),i=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return j(this,t,n);case"ascii":return B(this,t,n);case"latin1":case"binary":return O(this,t,n);case"base64":return T(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function b(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function w(t,n,r,i,o){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=o?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(o)return-1;r=t.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof n&&(n=e.from(n,i)),e.isBuffer(n))return 0===n.length?-1:_(t,n,r,i,o);if("number"==typeof n)return n=255&n,e.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,n,r):Uint8Array.prototype.lastIndexOf.call(t,n,r):_(t,[n],r,i,o);throw new TypeError("val must be string, number or Buffer")}function _(e,t,n,r,i){function o(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}var s=1,a=e.length,u=t.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,n/=2}var c;if(i){var l=-1;for(c=n;ca&&(n=a-u),c=n;c>=0;c--){for(var f=!0,h=0;hi&&(r=i)):r=i;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s239?4:o>223?3:o>191?2:1;if(i+a<=n){var u,c,l,f;switch(a){case 1:o<128&&(s=o);break;case 2:u=e[i+1],128===(192&u)&&(f=(31&o)<<6|63&u,f>127&&(s=f));break;case 3:u=e[i+1],c=e[i+2],128===(192&u)&&128===(192&c)&&(f=(15&o)<<12|(63&u)<<6|63&c,f>2047&&(f<55296||f>57343)&&(s=f));break;case 4:u=e[i+1],c=e[i+2],l=e[i+3],128===(192&u)&&128===(192&c)&&128===(192&l)&&(f=(15&o)<<18|(63&u)<<12|(63&c)<<6|63&l,f>65535&&f<1114112&&(s=f))}}null===s?(s=65533,a=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|1023&s),r.push(s),i+=a}return U(r)}function U(e){var t=e.length;if(t<=ee)return String.fromCharCode.apply(String,e);for(var n="",r=0;rr)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function L(t,n,r,i,o,s){if(!e.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(n>o||nt.length)throw new RangeError("Index out of range")}function F(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function P(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function N(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function D(e,t,n,r,i){return i||N(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),J.write(e,t,n,r,23,4),n+4}function q(e,t,n,r,i){return i||N(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),J.write(e,t,n,r,52,8),n+8}function z(e){if(e=H(e).replace(te,""),e.length<2)return"";for(;e.length%4!==0;)e+="=";return e}function H(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function Q(e){return e<16?"0"+e.toString(16):e.toString(16)}function W(e,t){t=t||1/0;for(var n,r=e.length,i=null,o=[],s=0;s55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function K(e){for(var t=[],n=0;n>8,i=n%256,o.push(i),o.push(r);return o}function G(e){return X.toByteArray(z(e))}function Y(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function $(e){return e!==e}var X=n(4),J=n(5),Z=n(6);t.Buffer=e,t.SlowBuffer=g,t.INSPECT_MAX_BYTES=50,e.TYPED_ARRAY_SUPPORT=void 0!==r.TYPED_ARRAY_SUPPORT?r.TYPED_ARRAY_SUPPORT:i(),t.kMaxLength=o(),e.poolSize=8192,e._augment=function(t){return t.__proto__=e.prototype,t},e.from=function(e,t,n){return a(null,e,t,n)},e.TYPED_ARRAY_SUPPORT&&(e.prototype.__proto__=Uint8Array.prototype,e.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&e[Symbol.species]===e&&Object.defineProperty(e,Symbol.species,{value:null,configurable:!0})),e.alloc=function(e,t,n){return c(null,e,t,n)},e.allocUnsafe=function(e){return l(null,e)},e.allocUnsafeSlow=function(e){return l(null,e)},e.isBuffer=function(e){return!(null==e||!e._isBuffer)},e.compare=function(t,n){if(!e.isBuffer(t)||!e.isBuffer(n))throw new TypeError("Arguments must be Buffers");if(t===n)return 0;for(var r=t.length,i=n.length,o=0,s=Math.min(r,i);o0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},e.prototype.compare=function(t,n,r,i,o){if(!e.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===n&&(n=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),n<0||r>t.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&n>=r)return 0;if(i>=o)return-1;if(n>=r)return 1;if(n>>>=0,r>>>=0,i>>>=0,o>>>=0,this===t)return 0;for(var s=o-i,a=r-n,u=Math.min(s,a),c=this.slice(i,o),l=t.slice(n,r),f=0;fi)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return E(this,e,t,n);case"utf8":case"utf-8":return x(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ee=4096;e.prototype.slice=function(t,n){var r=this.length;t=~~t,n=void 0===n?r:~~n,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),n<0?(n+=r,n<0&&(n=0)):n>r&&(n=r),n0&&(i*=256);)r+=this[e+--t]*i;return r},e.prototype.readUInt8=function(e,t){return t||M(e,1,this.length),this[e]},e.prototype.readUInt16LE=function(e,t){return t||M(e,2,this.length),this[e]|this[e+1]<<8},e.prototype.readUInt16BE=function(e,t){return t||M(e,2,this.length),this[e]<<8|this[e+1]},e.prototype.readUInt32LE=function(e,t){return t||M(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},e.prototype.readUInt32BE=function(e,t){return t||M(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},e.prototype.readIntLE=function(e,t,n){e=0|e,t=0|t,n||M(e,t,this.length);for(var r=this[e],i=1,o=0;++o=i&&(r-=Math.pow(2,8*t)),r},e.prototype.readIntBE=function(e,t,n){e=0|e,t=0|t,n||M(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},e.prototype.readInt8=function(e,t){return t||M(e,1,this.length),128&this[e]?(255-this[e]+1)*-1:this[e]},e.prototype.readInt16LE=function(e,t){t||M(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},e.prototype.readInt16BE=function(e,t){t||M(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},e.prototype.readInt32LE=function(e,t){return t||M(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},e.prototype.readInt32BE=function(e,t){return t||M(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},e.prototype.readFloatLE=function(e,t){return t||M(e,4,this.length),J.read(this,e,!0,23,4)},e.prototype.readFloatBE=function(e,t){return t||M(e,4,this.length),J.read(this,e,!1,23,4)},e.prototype.readDoubleLE=function(e,t){return t||M(e,8,this.length),J.read(this,e,!0,52,8)},e.prototype.readDoubleBE=function(e,t){return t||M(e,8,this.length),J.read(this,e,!1,52,8)},e.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t=0|t,n=0|n,!r){var i=Math.pow(2,8*n)-1;L(this,e,t,n,i,0)}var o=1,s=0;for(this[t]=255&e;++s=0&&(s*=256);)this[t+o]=e/s&255;return t+n},e.prototype.writeUInt8=function(t,n,r){return t=+t,n=0|n,r||L(this,t,n,1,255,0),e.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[n]=255&t,n+1},e.prototype.writeUInt16LE=function(t,n,r){return t=+t,n=0|n,r||L(this,t,n,2,65535,0),e.TYPED_ARRAY_SUPPORT?(this[n]=255&t,this[n+1]=t>>>8):F(this,t,n,!0),n+2},e.prototype.writeUInt16BE=function(t,n,r){return t=+t,n=0|n,r||L(this,t,n,2,65535,0),e.TYPED_ARRAY_SUPPORT?(this[n]=t>>>8,this[n+1]=255&t):F(this,t,n,!1),n+2},e.prototype.writeUInt32LE=function(t,n,r){return t=+t,n=0|n,r||L(this,t,n,4,4294967295,0),e.TYPED_ARRAY_SUPPORT?(this[n+3]=t>>>24,this[n+2]=t>>>16,this[n+1]=t>>>8,this[n]=255&t):P(this,t,n,!0),n+4},e.prototype.writeUInt32BE=function(t,n,r){return t=+t,n=0|n,r||L(this,t,n,4,4294967295,0),e.TYPED_ARRAY_SUPPORT?(this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=255&t):P(this,t,n,!1),n+4},e.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t=0|t,!r){var i=Math.pow(2,8*n-1);L(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+n},e.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t=0|t,!r){var i=Math.pow(2,8*n-1);L(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},e.prototype.writeInt8=function(t,n,r){return t=+t,n=0|n,r||L(this,t,n,1,127,-128),e.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[n]=255&t,n+1},e.prototype.writeInt16LE=function(t,n,r){return t=+t,n=0|n,r||L(this,t,n,2,32767,-32768),e.TYPED_ARRAY_SUPPORT?(this[n]=255&t,this[n+1]=t>>>8):F(this,t,n,!0),n+2},e.prototype.writeInt16BE=function(t,n,r){return t=+t,n=0|n,r||L(this,t,n,2,32767,-32768),e.TYPED_ARRAY_SUPPORT?(this[n]=t>>>8,this[n+1]=255&t):F(this,t,n,!1),n+2},e.prototype.writeInt32LE=function(t,n,r){return t=+t,n=0|n,r||L(this,t,n,4,2147483647,-2147483648),e.TYPED_ARRAY_SUPPORT?(this[n]=255&t,this[n+1]=t>>>8,this[n+2]=t>>>16,this[n+3]=t>>>24):P(this,t,n,!0),n+4},e.prototype.writeInt32BE=function(t,n,r){return t=+t,n=0|n,r||L(this,t,n,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),e.TYPED_ARRAY_SUPPORT?(this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=255&t):P(this,t,n,!1),n+4},e.prototype.writeFloatLE=function(e,t,n){return D(this,e,t,!0,n)},e.prototype.writeFloatBE=function(e,t,n){return D(this,e,t,!1,n)},e.prototype.writeDoubleLE=function(e,t,n){return q(this,e,t,!0,n)},e.prototype.writeDoubleBE=function(e,t,n){return q(this,e,t,!1,n)},e.prototype.copy=function(t,n,r,i){if(r||(r=0),i||0===i||(i=this.length),n>=t.length&&(n=t.length),n||(n=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-n=0;--o)t[o+n]=this[o+r];else if(s<1e3||!e.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,r=void 0===r?this.length:r>>>0,t||(t=0);var s;if("number"==typeof t)for(s=n;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function r(e){var t=n(e),r=t[0],i=t[1];return 3*(r+i)/4-i}function i(e,t,n){return 3*(t+n)/4-n}function o(e){for(var t,r=n(e),o=r[0],s=r[1],a=new f(i(e,o,s)),u=0,c=s>0?o-4:o,h=0;h>16&255,a[u++]=t>>8&255,a[u++]=255&t;return 2===s&&(t=l[e.charCodeAt(h)]<<2|l[e.charCodeAt(h+1)]>>4,a[u++]=255&t),1===s&&(t=l[e.charCodeAt(h)]<<10|l[e.charCodeAt(h+1)]<<4|l[e.charCodeAt(h+2)]>>2,a[u++]=t>>8&255,a[u++]=255&t),a}function s(e){return c[e>>18&63]+c[e>>12&63]+c[e>>6&63]+c[63&e]}function a(e,t,n){for(var r,i=[],o=t;ou?u:s+o));return 1===r?(t=e[n-1],i.push(c[t>>2]+c[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],i.push(c[t>>10]+c[t>>4&63]+c[t<<2&63]+"=")),i.join("")}t.byteLength=r,t.toByteArray=o,t.fromByteArray=u;for(var c=[],l=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",p=0,d=h.length;p>1,l=-7,f=n?i-1:0,h=n?-1:1,p=e[t+f];for(f+=h,o=p&(1<<-l)-1,p>>=-l,l+=a;l>0;o=256*o+e[t+f],f+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=r;l>0;s=256*s+e[t+f],f+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:(p?-1:1)*(1/0);s+=Math.pow(2,r),o-=c}return(p?-1:1)*s*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var s,a,u,c=8*o-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),t+=s+f>=1?h/u:h*Math.pow(2,1-f),t*u>=2&&(s++,u/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(t*u-1)*Math.pow(2,i),s+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;e[n+p]=255&a,p+=d,a/=256,i-=8);for(s=s<0;e[n+p]=255&s,p+=d,s/=256,c-=8);e[n+p-d]|=128*v}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){function r(e,t,n,r){e=o(e)?e:u(e),n=n&&!r?a(n):0;var l=e.length;return n<0&&(n=c(l+n,0)),s(e)?n<=l&&e.indexOf(t,n)>-1:!!l&&i(e,t,n)>-1}var i=n(8),o=n(10),s=n(16),a=n(19),u=n(22),c=Math.max;e.exports=r},function(e,t,n){function r(e,t,n){if(t!==t)return i(e,n);for(var r=n-1,o=e.length;++r-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},function(e,t,n){function r(e){return"string"==typeof e||!i(e)&&o(e)&&u.call(e)==s}var i=n(17),o=n(18),s="[object String]",a=Object.prototype,u=a.toString;e.exports=r},function(e,t){var n=Array.isArray;e.exports=n},function(e,t){function n(e){return!!e&&"object"==typeof e}e.exports=n},function(e,t,n){function r(e){if(!e)return 0===e?e:0;if(e=i(e),e===o||e===-o){var t=e<0?-1:1;return t*s}var n=e%1;return e===e?n?e-n:e:0}var i=n(20),o=1/0,s=1.7976931348623157e308;e.exports=r},function(e,t,n){function r(e){if("number"==typeof e)return e;if(s(e))return a;if(o(e)){var t=i(e.valueOf)?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(u,"");var n=l.test(e);return n||f.test(e)?h(e.slice(2),n?2:8):c.test(e)?a:+e}var i=n(13),o=n(14),s=n(21),a=NaN,u=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,f=/^0o[0-7]+$/i,h=parseInt;e.exports=r},function(e,t,n){function r(e){return"symbol"==typeof e||i(e)&&a.call(e)==o}var i=n(18),o="[object Symbol]",s=Object.prototype,a=s.toString;e.exports=r},function(e,t,n){function r(e){return e?i(e,o(e)):[]}var i=n(23),o=n(25);e.exports=r},function(e,t,n){function r(e,t){return i(t,function(t){return e[t]})}var i=n(24);e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=e.length,i=Array(r);++n-1&&e%1==0&&e0;){var t=e.shift();if("function"==typeof t){var n=e.shift(),r=e.shift();t.call(n,r)}else t._settlePromises()}},i.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},i.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},i.prototype._reset=function(){this._isTickUsed=!1},n.exports=i,n.exports.firstLineError=u},{"./queue":26,"./schedule":29,"./util":36}],3:[function(e,t,n){"use strict";t.exports=function(e,t,n,r){var i=!1,o=function(e,t){this._reject(t)},s=function(e,t){t.promiseRejectionQueued=!0,t.bindingPromise._then(o,o,null,this,e)},a=function(e,t){0===(50397184&this._bitField)&&this._resolveCallback(t.target)},u=function(e,t){t.promiseRejectionQueued||this._reject(e)};e.prototype.bind=function(o){i||(i=!0,e.prototype._propagateFrom=r.propagateFromFunction(),e.prototype._boundValue=r.boundValueFunction());var c=n(o),l=new e(t);l._propagateFrom(this,1);var f=this._target();if(l._setBoundTo(c),c instanceof e){var h={promiseRejectionQueued:!1,promise:l,target:f,bindingPromise:c};f._then(t,s,void 0,l,h),c._then(a,u,void 0,l,h),l._setOnCancel(c)}else l._resolveCallback(f);return l},e.prototype._setBoundTo=function(e){void 0!==e?(this._bitField=2097152|this._bitField,this._boundTo=e):this._bitField=this._bitField&-2097153},e.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},e.bind=function(t,n){return e.resolve(n).bind(t)}}},{}],4:[function(e,t,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(e){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=e("./promise")();o.noConflict=r,t.exports=o},{"./promise":22}],5:[function(e,t,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}t.exports=function(t){function n(e,n){var r;if(null!=e&&(r=e[n]),"function"!=typeof r){var i="Object "+a.classString(e)+" has no method '"+a.toString(n)+"'";throw new t.TypeError(i)}return r}function r(e){var t=this.pop(),r=n(e,t);return r.apply(e,this)}function i(e){return e[this]}function o(e){var t=+this;return t<0&&(t=Math.max(0,t+e.length)),e[t]}var s,a=e("./util"),u=a.canEvaluate;a.isIdentifier;t.prototype.call=function(e){var t=[].slice.call(arguments,1);return t.push(e),this._then(r,void 0,void 0,t,void 0)},t.prototype.get=function(e){var t,n="number"==typeof e;if(n)t=o;else if(u){var r=s(e);t=null!==r?r:i}else t=i;return this._then(t,void 0,void 0,e,void 0)}}},{"./util":36}],6:[function(e,t,n){"use strict";t.exports=function(t,n,r,i){var o=e("./util"),s=o.tryCatch,a=o.errorObj,u=t._async;t.prototype["break"]=t.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var e=this,t=e;e.isCancellable();){if(!e._cancelBy(t)){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}var n=e._cancellationParent;if(null==n||!n.isCancellable()){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}e._isFollowing()&&e._followee().cancel(),t=e,e=n}},t.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},t.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},t.prototype._cancelBy=function(e){return e===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},t.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},t.prototype._cancel=function(){this.isCancellable()&&(this._setCancelled(),u.invoke(this._cancelPromises,this,void 0))},t.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},t.prototype._unsetOnCancel=function(){this._onCancelField=void 0},t.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},t.prototype._doInvokeOnCancel=function(e,t){if(o.isArray(e))for(var n=0;n=0)return o[e]}var i=!1,o=[];return e.prototype._promiseCreated=function(){},e.prototype._pushContext=function(){},e.prototype._popContext=function(){return null},e._peekContext=e.prototype._peekContext=function(){},t.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},t.prototype._popContext=function(){if(void 0!==this._trace){var e=o.pop(),t=e._promiseCreated;return e._promiseCreated=null,t}return null},t.CapturedTrace=null,t.create=n,t.deactivateLongStackTraces=function(){},t.activateLongStackTraces=function(){var n=e.prototype._pushContext,o=e.prototype._popContext,s=e._peekContext,a=e.prototype._peekContext,u=e.prototype._promiseCreated;t.deactivateLongStackTraces=function(){e.prototype._pushContext=n,e.prototype._popContext=o,e._peekContext=s,e.prototype._peekContext=a,e.prototype._promiseCreated=u,i=!1},i=!0,e.prototype._pushContext=t.prototype._pushContext,e.prototype._popContext=t.prototype._popContext,e._peekContext=e.prototype._peekContext=r,e.prototype._promiseCreated=function(){var e=this._peekContext();e&&null==e._promiseCreated&&(e._promiseCreated=this)}},t}},{}],9:[function(e,n,r){"use strict";n.exports=function(n,r){function i(e,t){return{promise:t}}function o(){return!1}function s(e,t,n){var r=this;try{e(t,n,function(e){if("function"!=typeof e)throw new TypeError("onCancel must be a function, got: "+N.toString(e));r._attachCancellationCallback(e)})}catch(i){return i}}function a(e){if(!this.isCancellable())return this;var t=this._onCancel();void 0!==t?N.isArray(t)?t.push(e):this._setOnCancel([t,e]):this._setOnCancel(e)}function u(){return this._onCancelField}function c(e){this._onCancelField=e}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function f(e,t){if(0!==(1&t)){this._cancellationParent=e;var n=e._branchesRemainingToCancel;void 0===n&&(n=0),e._branchesRemainingToCancel=n+1}0!==(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)}function h(e,t){0!==(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)}function p(){var e=this._boundTo;return void 0!==e&&e instanceof n?e.isFulfilled()?e.value():void 0:e}function d(){this._trace=new O(this._peekContext())}function v(e,t){if(D(e)){var n=this._trace;if(void 0!==n&&t&&(n=n._parent),void 0!==n)n.attachExtraTrace(e);else if(!e.__stackCleaned__){var r=k(e);N.notEnumerableProp(e,"stack",r.message+"\n"+r.stack.join("\n")),N.notEnumerableProp(e,"__stackCleaned__",!0)}}}function g(e,t,n,r,i){if(void 0===e&&null!==t&&G){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&r._bitField))return;n&&(n+=" ");var o="a promise was created in a "+n+"handler but was not returned from it";r._warn(o,!0,t)}}function y(e,t){var n=e+" is deprecated and will be removed in a future version.";return t&&(n+=" Use "+t+" instead."),m(n)}function m(e,t,r){if(ie.warnings){var i,o=new P(e);if(t)r._attachExtraTrace(o);else if(ie.longStackTraces&&(i=n._peekContext()))i.attachExtraTrace(o);else{var s=k(o);o.stack=s.message+"\n"+s.stack.join("\n")}Z("warning",o)||I(o,"",!0)}}function b(e,t){for(var n=0;n=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var u=r[a];if(t[i]!==u)break;t.pop(),i--}t=r}}function E(e){for(var t=[],n=0;n0&&(t=t.slice(n)),t}function k(e){var t=e.stack,n=e.toString();return t="string"==typeof t&&t.length>0?x(e):[" (No stack trace)"],{message:n,stack:E(t)}}function I(e,t,n){if("undefined"!=typeof console){var r;if(N.isObject(e)){var i=e.stack;r=t+H(i,e)}else r=t+String(e);"function"==typeof M?M(r,n):"function"!=typeof console.log&&"object"!=typeof console.log||console.log(r)}}function S(e,t,n,r){var i=!1;try{"function"==typeof t&&(i=!0,"rejectionHandled"===e?t(r):t(n,r))}catch(o){F.throwLater(o)}"unhandledRejection"===e?Z(e,n,r)||i||I(n,"Unhandled rejection "):Z(e,r)}function C(e){var t;if("function"==typeof e)t="[function "+(e.name||"anonymous")+"]";else{t=e&&"function"==typeof e.toString?e.toString():N.toString(e);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(t))try{var r=JSON.stringify(e);t=r}catch(i){}0===t.length&&(t="(empty array)")}return"(<"+T(t)+">, no stack trace)"}function T(e){var t=41;return e.length=a||(te=function(e){if(q.test(e))return!0;var t=U(e);return!!(t&&t.fileName===n&&s<=t.line&&t.line<=a)})}}function O(e){this._parent=e,this._promisesCreated=0;var t=this._length=1+(void 0===e?0:e._length);re(this,O),t>32&&this.uncycle()}var A,R,M,L=n._getDomain,F=n._async,P=e("./errors").Warning,N=e("./util"),D=N.canAttachTrace,q=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,z=null,H=null,Q=!1,W=!(0==N.env("BLUEBIRD_DEBUG")),K=!(0==N.env("BLUEBIRD_WARNINGS")||!W&&!N.env("BLUEBIRD_WARNINGS")),V=!(0==N.env("BLUEBIRD_LONG_STACK_TRACES")||!W&&!N.env("BLUEBIRD_LONG_STACK_TRACES")),G=0!=N.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(K||!!N.env("BLUEBIRD_W_FORGOTTEN_RETURN"));n.prototype.suppressUnhandledRejections=function(){var e=this._target();e._bitField=e._bitField&-1048577|524288},n.prototype._ensurePossibleRejectionHandled=function(){0===(524288&this._bitField)&&(this._setRejectionIsUnhandled(),F.invokeLater(this._notifyUnhandledRejection,this,void 0))},n.prototype._notifyUnhandledRejectionIsHandled=function(){S("rejectionHandled",A,void 0,this)},n.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},n.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},n.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var e=this._settledValue();this._setUnhandledRejectionIsNotified(),S("unhandledRejection",R,e,this)}},n.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},n.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=this._bitField&-262145},n.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},n.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},n.prototype._unsetRejectionIsUnhandled=function(){this._bitField=this._bitField&-1048577,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},n.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},n.prototype._warn=function(e,t,n){return m(e,t,n||this)},n.onPossiblyUnhandledRejection=function(e){var t=L();R="function"==typeof e?null===t?e:t.bind(e):void 0},n.onUnhandledRejectionHandled=function(e){var t=L();A="function"==typeof e?null===t?e:t.bind(e):void 0};var Y=function(){};n.longStackTraces=function(){if(F.haveItemsQueued()&&!ie.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!ie.longStackTraces&&j()){var e=n.prototype._captureStackTrace,t=n.prototype._attachExtraTrace;ie.longStackTraces=!0,Y=function(){if(F.haveItemsQueued()&&!ie.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");n.prototype._captureStackTrace=e,n.prototype._attachExtraTrace=t,r.deactivateLongStackTraces(),F.enableTrampoline(),ie.longStackTraces=!1},n.prototype._captureStackTrace=d,n.prototype._attachExtraTrace=v,r.activateLongStackTraces(),F.disableTrampolineIfNecessary()}},n.hasLongStackTraces=function(){return ie.longStackTraces&&j()};var $=function(){try{var e=document.createEvent("CustomEvent");return e.initCustomEvent("testingtheevent",!1,!0,{}),N.global.dispatchEvent(e),function(e,t){var n=document.createEvent("CustomEvent");return n.initCustomEvent(e.toLowerCase(),!1,!0,t),!N.global.dispatchEvent(n)}}catch(t){}return function(){return!1}}(),X=function(){return N.isNode?function(){return t.emit.apply(t,arguments)}:N.global?function(e){var t="on"+e.toLowerCase(),n=N.global[t];return!!n&&(n.apply(N.global,[].slice.call(arguments,1)),!0)}:function(){return!1}}(),J={promiseCreated:i,promiseFulfilled:i,promiseRejected:i,promiseResolved:i,promiseCancelled:i,promiseChained:function(e,t,n){return{promise:t,child:n}},warning:function(e,t){return{warning:t}},unhandledRejection:function(e,t,n){return{reason:t,promise:n}},rejectionHandled:i},Z=function(e){var t=!1;try{t=X.apply(null,arguments)}catch(n){F.throwLater(n),t=!0}var r=!1;try{r=$(e,J[e].apply(null,arguments))}catch(n){F.throwLater(n),r=!0}return r||t};n.config=function(e){if(e=Object(e),"longStackTraces"in e&&(e.longStackTraces?n.longStackTraces():!e.longStackTraces&&n.hasLongStackTraces()&&Y()),"warnings"in e){var t=e.warnings;ie.warnings=!!t,G=ie.warnings,N.isObject(t)&&"wForgottenReturn"in t&&(G=!!t.wForgottenReturn)}if("cancellation"in e&&e.cancellation&&!ie.cancellation){if(F.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");n.prototype._clearCancellationData=l,n.prototype._propagateFrom=f,n.prototype._onCancel=u,n.prototype._setOnCancel=c,n.prototype._attachCancellationCallback=a,n.prototype._execute=s,ee=f,ie.cancellation=!0}"monitoring"in e&&(e.monitoring&&!ie.monitoring?(ie.monitoring=!0,n.prototype._fireEvent=Z):!e.monitoring&&ie.monitoring&&(ie.monitoring=!1,n.prototype._fireEvent=o))},n.prototype._fireEvent=o,n.prototype._execute=function(e,t,n){try{e(t,n)}catch(r){return r}},n.prototype._onCancel=function(){},n.prototype._setOnCancel=function(e){},n.prototype._attachCancellationCallback=function(e){},n.prototype._captureStackTrace=function(){},n.prototype._attachExtraTrace=function(){},n.prototype._clearCancellationData=function(){},n.prototype._propagateFrom=function(e,t){};var ee=h,te=function(){return!1},ne=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;N.inherits(O,Error),r.CapturedTrace=O,O.prototype.uncycle=function(){var e=this._length;if(!(e<2)){for(var t=[],n={},r=0,i=this;void 0!==i;++r)t.push(i),i=i._parent;e=this._length=r;for(var r=e-1;r>=0;--r){var o=t[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;r0&&(t[a-1]._parent=void 0,t[a-1]._length=1),t[r]._parent=void 0,t[r]._length=1;var u=r>0?t[r-1]:this;a=0;--l)t[l]._length=c,c++;return}}}},O.prototype.attachExtraTrace=function(e){if(!e.__stackCleaned__){this.uncycle();for(var t=k(e),n=t.message,r=[t.stack],i=this;void 0!==i;)r.push(E(i.stack.split("\n"))),i=i._parent;_(r),w(r),N.notEnumerableProp(e,"stack",b(n,r)),N.notEnumerableProp(e,"__stackCleaned__",!0)}};var re=function(){var e=/^\s*at\s*/,t=function(e,t){return"string"==typeof e?e:void 0!==t.name&&void 0!==t.message?t.toString():C(t)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,z=e,H=t;var n=Error.captureStackTrace;return te=function(e){return q.test(e)},function(e,t){Error.stackTraceLimit+=6,n(e,t),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return z=/@/,H=t,Q=!0,function(e){e.stack=(new Error).stack};var i;try{throw new Error}catch(o){i="stack"in o}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(H=function(e,t){return"string"==typeof e?e:"object"!=typeof t&&"function"!=typeof t||void 0===t.name||void 0===t.message?C(t):t.toString()},null):(z=e,H=t,function(e){Error.stackTraceLimit+=6;try{throw new Error}catch(t){e.stack=t.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(M=function(e){console.warn(e)},N.isNode&&t.stderr.isTTY?M=function(e,t){var n=t?"":"";console.warn(n+e+"\n")}:N.isNode||"string"!=typeof(new Error).stack||(M=function(e,t){console.warn("%c"+e,t?"color: darkorange":"color: red")}));var ie={warnings:K,longStackTraces:!1,cancellation:!1,monitoring:!1};return V&&n.longStackTraces(),{longStackTraces:function(){return ie.longStackTraces},warnings:function(){return ie.warnings},cancellation:function(){return ie.cancellation},monitoring:function(){return ie.monitoring},propagateFromFunction:function(){return ee},boundValueFunction:function(){return p},checkForgottenReturns:g,setBounds:B,warn:m,deprecated:y,CapturedTrace:O,fireDomEvent:$,fireGlobalEvent:X}}},{"./errors":12,"./util":36}],10:[function(e,t,n){"use strict";t.exports=function(e){function t(){return this.value}function n(){throw this.reason}e.prototype["return"]=e.prototype.thenReturn=function(n){return n instanceof e&&n.suppressUnhandledRejections(),this._then(t,void 0,void 0,{value:n},void 0)},e.prototype["throw"]=e.prototype.thenThrow=function(e){return this._then(n,void 0,void 0,{reason:e},void 0)},e.prototype.catchThrow=function(e){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:e},void 0);var t=arguments[1],r=function(){throw t};return this.caught(e,r)},e.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof e&&n.suppressUnhandledRejections(),this._then(void 0,t,void 0,{value:n},void 0);var r=arguments[1];r instanceof e&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(e,t,n){"use strict";t.exports=function(e,t){function n(){return o(this)}function r(e,n){return i(e,n,t,t)}var i=e.reduce,o=e.all;e.prototype.each=function(e){return this.mapSeries(e)._then(n,void 0,void 0,this,void 0)},e.prototype.mapSeries=function(e){return i(this,e,t,t)},e.each=function(e,t){return r(e,t)._then(n,void 0,void 0,e,void 0)},e.mapSeries=r}},{}],12:[function(e,t,n){"use strict";function r(e,t){function n(r){return this instanceof n?(f(this,"message","string"==typeof r?r:t),f(this,"name",e),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return l(n,Error),n}function i(e){return this instanceof i?(f(this,"name","OperationalError"),f(this,"message",e),this.cause=e,this.isOperational=!0,void(e instanceof Error?(f(this,"message",e.message),f(this,"stack",e.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(e)}var o,s,a=e("./es5"),u=a.freeze,c=e("./util"),l=c.inherits,f=c.notEnumerableProp,h=r("Warning","warning"),p=r("CancellationError","cancellation error"),d=r("TimeoutError","timeout error"),v=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(g){o=r("TypeError","type error"),s=r("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),m=0;m1?e.cancelPromise._reject(t):e.cancelPromise._cancel(),e.cancelPromise=null,!0)}function s(){return u.call(this,this.promise._target()._settledValue())}function a(e){if(!o(this,e))return f.e=e,f}function u(e){var r=this.promise,u=this.handler;if(!this.called){this.called=!0;var c=this.isFinallyHandler()?u.call(r._boundValue()):u.call(r._boundValue(),e);if(void 0!==c){r._setReturnedNonUndefined();var h=n(c,r);if(h instanceof t){if(null!=this.cancelPromise){if(h.isCancelled()){var p=new l("late cancellation observer");return r._attachExtraTrace(p),f.e=p,f}h.isPending()&&h._attachCancellationCallback(new i(this))}return h._then(s,a,void 0,this,void 0)}}}return r.isRejected()?(o(this),f.e=e,f):(o(this),e)}var c=e("./util"),l=t.CancellationError,f=c.errorObj;return r.prototype.isFinallyHandler=function(){return 0===this.type},i.prototype._resultCancelled=function(){o(this.finallyHandler)},t.prototype._passThrough=function(e,t,n,i){return"function"!=typeof e?this.then():this._then(n,i,void 0,new r(this,t,e),void 0)},t.prototype.lastly=t.prototype["finally"]=function(e){return this._passThrough(e,0,u,u)},t.prototype.tap=function(e){return this._passThrough(e,1,u)},r}},{"./util":36}],16:[function(e,t,n){"use strict";t.exports=function(t,n,r,i,o,s){function a(e,n,r){for(var o=0;o0&&"function"==typeof arguments[t]){e=arguments[t];var r}var i=[].slice.call(arguments);e&&i.pop();var r=new n(i).promise();return void 0!==e?r.spread(e):r}}},{"./util":36}],18:[function(e,t,n){"use strict";t.exports=function(t,n,r,i,o,s){function a(e,t,n,r){this.constructor$(e),this._promise._captureStackTrace();var i=c();this._callback=null===i?t:i.bind(t),this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=n>=1?[]:p,this._init$(void 0,-2)}function u(e,t,n,i){if("function"!=typeof t)return r("expecting a function but got "+l.classString(t));var o="object"==typeof n&&null!==n?n.concurrency:0;return o="number"==typeof o&&isFinite(o)&&o>=1?o:0,new a(e,t,o,i).promise(); +}var c=t._getDomain,l=e("./util"),f=l.tryCatch,h=l.errorObj,p=[];l.inherits(a,n),a.prototype._init=function(){},a.prototype._promiseFulfilled=function(e,n){var r=this._values,o=this.length(),a=this._preservedValues,u=this._limit;if(n<0){if(n=n*-1-1,r[n]=e,u>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(u>=1&&this._inFlight>=u)return r[n]=e,this._queue.push(n),!1;null!==a&&(a[n]=e);var c=this._promise,l=this._callback,p=c._boundValue();c._pushContext();var d=f(l).call(p,e,n,o),v=c._popContext();if(s.checkForgottenReturns(d,v,null!==a?"Promise.filter":"Promise.map",c),d===h)return this._reject(d.e),!0;var g=i(d,this._promise);if(g instanceof t){g=g._target();var y=g._bitField;if(0===(50397184&y))return u>=1&&this._inFlight++,r[n]=g,g._proxy(this,(n+1)*-1),!1;if(0===(33554432&y))return 0!==(16777216&y)?(this._reject(g._reason()),!0):(this._cancel(),!0);d=g._value()}r[n]=d}var m=++this._totalResolved;return m>=o&&(null!==a?this._filter(r,a):this._resolve(r),!0)},a.prototype._drainQueue=function(){for(var e=this._queue,t=this._limit,n=this._values;e.length>0&&this._inFlight1){o.deprecated("calling Promise.try with more than 1 argument");var c=arguments[1],l=arguments[2];u=s.isArray(c)?a(e).apply(l,c):a(e).call(l,c)}else u=a(e)();var f=r._popContext();return o.checkForgottenReturns(u,f,"Promise.try",r),r._resolveFromSyncValue(u),r},t.prototype._resolveFromSyncValue=function(e){e===s.errorObj?this._rejectCallback(e.e,!1):this._resolveCallback(e,!0)}}},{"./util":36}],20:[function(e,t,n){"use strict";function r(e){return e instanceof Error&&l.getPrototypeOf(e)===Error.prototype}function i(e){var t;if(r(e)){t=new c(e),t.name=e.name,t.message=e.message,t.stack=e.stack;for(var n=l.keys(e),i=0;i1){var n,r=new Array(t-1),i=0;for(n=0;n0&&"function"!=typeof e&&"function"!=typeof t){var n=".then() only accepts functions but was passed: "+p.classString(e);arguments.length>1&&(n+=", "+p.classString(t)),this._warn(n)}return this._then(e,t,void 0,void 0,void 0)},i.prototype.done=function(e,t){var n=this._then(e,t,void 0,void 0,void 0);n._setIsFinal()},i.prototype.spread=function(e){return"function"!=typeof e?f("expecting a function but got "+p.classString(e)):this.all()._then(e,void 0,void 0,_,void 0)},i.prototype.toJSON=function(){var e={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(e.fulfillmentValue=this.value(),e.isFulfilled=!0):this.isRejected()&&(e.rejectionReason=this.reason(),e.isRejected=!0),e},i.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new k(this).promise()},i.prototype.error=function(e){return this.caught(p.originatesFromRejection,e)},i.is=function(e){return e instanceof i},i.fromNode=i.fromCallback=function(e){var t=new i(w);t._captureStackTrace();var n=arguments.length>1&&!!Object(arguments[1]).multiArgs,r=O(e)(U(t,n));return r===B&&t._rejectCallback(r.e,!0),t._isFateSealed()||t._setAsyncGuaranteed(),t},i.all=function(e){return new k(e).promise()},i.cast=function(e){var t=x(e);return t instanceof i||(t=new i(w),t._captureStackTrace(),t._setFulfilled(),t._rejectionHandler0=e),t},i.resolve=i.fulfilled=i.cast,i.reject=i.rejected=function(e){var t=new i(w);return t._captureStackTrace(),t._rejectCallback(e,!0),t},i.setScheduler=function(e){if("function"!=typeof e)throw new m("expecting a function but got "+p.classString(e));return g.setScheduler(e)},i.prototype._then=function(e,t,n,r,o){var s=void 0!==o,a=s?o:new i(w),c=this._target(),l=c._bitField;s||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===r&&0!==(2097152&this._bitField)&&(r=0!==(50397184&l)?this._boundValue():c===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var f=u();if(0!==(50397184&l)){var h,p,d=c._settlePromiseCtx;0!==(33554432&l)?(p=c._rejectionHandler0,h=e):0!==(16777216&l)?(p=c._fulfillmentHandler0,h=t,c._unsetRejectionIsUnhandled()):(d=c._settlePromiseLateCancellationObserver,p=new b("late cancellation observer"),c._attachExtraTrace(p),h=t),g.invoke(d,c,{handler:null===f?h:"function"==typeof h&&f.bind(h),promise:a,receiver:r,value:p})}else c._addCallbacks(e,t,a,r,f);return a},i.prototype._length=function(){return 65535&this._bitField},i.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},i.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},i.prototype._setLength=function(e){this._bitField=this._bitField&-65536|65535&e},i.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},i.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},i.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},i.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},i.prototype._isFinal=function(){return(4194304&this._bitField)>0},i.prototype._unsetCancelled=function(){this._bitField=this._bitField&-65537},i.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},i.prototype._setAsyncGuaranteed=function(){g.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},i.prototype._receiverAt=function(e){var t=0===e?this._receiver0:this[4*e-4+3];if(t!==h)return void 0===t&&this._isBound()?this._boundValue():t},i.prototype._promiseAt=function(e){return this[4*e-4+2]},i.prototype._fulfillmentHandlerAt=function(e){return this[4*e-4+0]},i.prototype._rejectionHandlerAt=function(e){return this[4*e-4+1]},i.prototype._boundValue=function(){},i.prototype._migrateCallback0=function(e){var t=(e._bitField,e._fulfillmentHandler0),n=e._rejectionHandler0,r=e._promise0,i=e._receiverAt(0);void 0===i&&(i=h),this._addCallbacks(t,n,r,i,null)},i.prototype._migrateCallbackAt=function(e,t){var n=e._fulfillmentHandlerAt(t),r=e._rejectionHandlerAt(t),i=e._promiseAt(t),o=e._receiverAt(t);void 0===o&&(o=h),this._addCallbacks(n,r,i,o,null)},i.prototype._addCallbacks=function(e,t,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof e&&(this._fulfillmentHandler0=null===i?e:i.bind(e)),"function"==typeof t&&(this._rejectionHandler0=null===i?t:i.bind(t));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof e&&(this[s+0]=null===i?e:i.bind(e)),"function"==typeof t&&(this[s+1]=null===i?t:i.bind(t))}return this._setLength(o+1),o},i.prototype._proxy=function(e,t){this._addCallbacks(void 0,void 0,t,e,null)},i.prototype._resolveCallback=function(e,t){if(0===(117506048&this._bitField)){if(e===this)return this._rejectCallback(c(),!1);var n=x(e,this);if(!(n instanceof i))return this._fulfill(e);t&&this._propagateFrom(n,2);var r=n._target();if(r===this)return void this._reject(c());var o=r._bitField;if(0===(50397184&o)){var s=this._length();s>0&&r._migrateCallback0(this);for(var a=1;a>>16)){if(e===this){var n=c();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=e,(65535&t)>0&&(0!==(134217728&t)?this._settlePromises():g.settlePromises(this))}},i.prototype._reject=function(e){var t=this._bitField;if(!((117506048&t)>>>16))return this._setRejected(),this._fulfillmentHandler0=e,this._isFinal()?g.fatalError(e,p.isNode):void((65535&t)>0?g.settlePromises(this):this._ensurePossibleRejectionHandled())},i.prototype._fulfillPromises=function(e,t){for(var n=1;n0){if(0!==(16842752&e)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,e),this._rejectPromises(t,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,e),this._fulfillPromises(t,r)}this._setLength(0)}this._clearCancellationData()},i.prototype._settledValue=function(){var e=this._bitField;return 0!==(33554432&e)?this._rejectionHandler0:0!==(16777216&e)?this._fulfillmentHandler0:void 0},i.defer=i.pending=function(){C.deprecated("Promise.defer","new Promise");var e=new i(w);return{promise:e,resolve:o,reject:s}},p.notEnumerableProp(i,"_makeSelfResolutionError",c),e("./method")(i,w,x,f,C),e("./bind")(i,w,x,C),e("./cancel")(i,k,f,C),e("./direct_resolve")(i),e("./synchronous_inspection")(i),e("./join")(i,k,x,w,C),i.Promise=i,e("./map.js")(i,k,f,x,w,C),e("./call_get.js")(i),e("./using.js")(i,f,x,S,w,C),e("./timers.js")(i,w,C),e("./generators.js")(i,f,w,x,n,C),e("./nodeify.js")(i),e("./promisify.js")(i,w),e("./props.js")(i,k,x,f),e("./race.js")(i,w,x,f),e("./reduce.js")(i,k,f,x,w,C),e("./settle.js")(i,k,C),e("./some.js")(i,k,f),e("./filter.js")(i,w),e("./each.js")(i,w),e("./any.js")(i),p.toFastProperties(i),p.toFastProperties(i.prototype),a({a:1}),a({b:2}),a({c:3}),a(1),a(function(){}),a(void 0),a(!1),a(new i(w)),C.setBounds(v.firstLineError,p.lastLineError),i}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(e,t,n){"use strict";t.exports=function(t,n,r,i,o){function s(e){switch(e){case-2:return[];case-3:return{}}}function a(e){var r=this._promise=new t(n);e instanceof t&&r._propagateFrom(e,3),r._setOnCancel(this),this._values=e,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var u=e("./util");u.isArray;return u.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function c(e,n){var o=r(this._values,this._promise);if(o instanceof t){o=o._target();var a=o._bitField;if(this._values=o,0===(50397184&a))return this._promise._setAsyncGuaranteed(),o._then(c,this._reject,void 0,this,n);if(0===(33554432&a))return 0!==(16777216&a)?this._reject(o._reason()):this._cancel();o=o._value()}if(o=u.asArray(o),null===o){var l=i("expecting an array or an iterable object but got "+u.classString(o)).reason();return void this._promise._rejectCallback(l,!1)}return 0===o.length?void(n===-5?this._resolveEmptyArray():this._resolve(s(n))):void this._iterate(o)},a.prototype._iterate=function(e){var n=this.getActualLength(e.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,s=null,a=0;a=this._length&&(this._resolve(this._values),!0)},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(e){return this._totalResolved++,this._reject(e),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var e=this._values;if(this._cancel(),e instanceof t)e.cancel();else for(var n=0;n=this._length){var r;if(this._isMap)r=h(this._values);else{r={};for(var i=this.length(),o=0,s=this.length();o>1},t.prototype.props=function(){return s(this)},t.props=function(e){return s(e)}}},{"./es5":13,"./util":36}],26:[function(e,t,n){"use strict";function r(e,t,n,r,i){for(var o=0;o=this._length&&(this._resolve(this._values),!0)},i.prototype._promiseFulfilled=function(e,t){var n=new o;return n._bitField=33554432,n._settledValueField=e,this._promiseResolved(t,n)},i.prototype._promiseRejected=function(e,t){var n=new o;return n._bitField=16777216,n._settledValueField=e,this._promiseResolved(t,n)},t.settle=function(e){return r.deprecated(".settle()",".reflect()"),new i(e).promise()},t.prototype.settle=function(){return t.settle(this)}}},{"./util":36}],31:[function(e,t,n){"use strict";t.exports=function(t,n,r){function i(e){this.constructor$(e),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(e,t){if((0|t)!==t||t<0)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new i(e),o=n.promise();return n.setHowMany(t),n.init(),o}var s=e("./util"),a=e("./errors").RangeError,u=e("./errors").AggregateError,c=s.isArray,l={};s.inherits(i,n),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var e=c(this._values);!this._isResolved()&&e&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(e){this._howMany=e},i.prototype._promiseFulfilled=function(e){return this._addFulfilled(e),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},i.prototype._promiseRejected=function(e){return this._addRejected(e),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof t||null==this._values?this._cancel():(this._addRejected(l),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var e=new u,t=this.length();t0?this._reject(e):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(e){this._values.push(e)},i.prototype._addFulfilled=function(e){this._values[this._totalResolved++]=e},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(e){var t="Input array must contain at least "+this._howMany+" items but contains only "+e+" items";return new a(t)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},t.some=function(e,t){return o(e,t); +},t.prototype.some=function(e){return o(this,e)},t._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(e,t,n){"use strict";t.exports=function(e){function t(e){void 0!==e?(e=e._target(),this._bitField=e._bitField,this._settledValueField=e._isFateSealed()?e._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}t.prototype._settledValue=function(){return this._settledValueField};var n=t.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=t.prototype.error=t.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=t.prototype.isFulfilled=function(){return 0!==(33554432&this._bitField)},o=t.prototype.isRejected=function(){return 0!==(16777216&this._bitField)},s=t.prototype.isPending=function(){return 0===(50397184&this._bitField)},a=t.prototype.isResolved=function(){return 0!==(50331648&this._bitField)};t.prototype.isCancelled=e.prototype._isCancelled=function(){return 65536===(65536&this._bitField)},e.prototype.isCancelled=function(){return this._target()._isCancelled()},e.prototype.isPending=function(){return s.call(this._target())},e.prototype.isRejected=function(){return o.call(this._target())},e.prototype.isFulfilled=function(){return i.call(this._target())},e.prototype.isResolved=function(){return a.call(this._target())},e.prototype.value=function(){return n.call(this._target())},e.prototype.reason=function(){var e=this._target();return e._unsetRejectionIsUnhandled(),r.call(e)},e.prototype._value=function(){return this._settledValue()},e.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},e.PromiseInspection=t}},{}],33:[function(e,t,n){"use strict";t.exports=function(t,n){function r(e,r){if(l(e)){if(e instanceof t)return e;var i=o(e);if(i===c){r&&r._pushContext();var u=t.reject(i.e);return r&&r._popContext(),u}if("function"==typeof i){if(s(e)){var u=new t(n);return e._then(u._fulfill,u._reject,void 0,u,null),u}return a(e,i,r)}}return e}function i(e){return e.then}function o(e){try{return i(e)}catch(t){return c.e=t,c}}function s(e){return f.call(e,"_promise0")}function a(e,r,i){function o(e){a&&(a._resolveCallback(e),a=null)}function s(e){a&&(a._rejectCallback(e,f,!0),a=null)}var a=new t(n),l=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var f=!0,h=u.tryCatch(r).call(e,o,s);return f=!1,a&&h===c&&(a._rejectCallback(h.e,!0,!0),a=null),l}var u=e("./util"),c=u.errorObj,l=u.isObject,f={}.hasOwnProperty;return r}},{"./util":36}],34:[function(e,t,n){"use strict";t.exports=function(t,n,r){function i(e){this.handle=e}function o(e){return clearTimeout(this.handle),e}function s(e){throw clearTimeout(this.handle),e}var a=e("./util"),u=t.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var c=function(e){return l(+this).thenReturn(e)},l=t.delay=function(e,o){var s,a;return void 0!==o?(s=t.resolve(o)._then(c,null,null,e,void 0),r.cancellation()&&o instanceof t&&s._setOnCancel(o)):(s=new t(n),a=setTimeout(function(){s._fulfill()},+e),r.cancellation()&&s._setOnCancel(new i(a))),s._setAsyncGuaranteed(),s};t.prototype.delay=function(e){return l(e,this)};var f=function(e,t,n){var r;r="string"!=typeof t?t instanceof Error?t:new u("operation timed out"):new u(t),a.markAsOriginatingFromRejection(r),e._attachExtraTrace(r),e._reject(r),null!=n&&n.cancel()};t.prototype.timeout=function(e,t){e=+e;var n,a,u=new i(setTimeout(function(){n.isPending()&&f(n,t,a)},e));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,u,void 0),n._setOnCancel(u)):n=this._then(o,s,void 0,u,void 0),n}}},{"./util":36}],35:[function(e,t,n){"use strict";t.exports=function(t,n,r,i,o,s){function a(e){setTimeout(function(){throw e},0)}function u(e){var t=r(e);return t!==e&&"function"==typeof e._isDisposable&&"function"==typeof e._getDisposer&&e._isDisposable()&&t._setDisposable(e._getDisposer()),t}function c(e,n){function i(){if(s>=c)return l._fulfill();var o=u(e[s++]);if(o instanceof t&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),e.promise)}catch(f){return a(f)}if(o instanceof t)return o._then(i,a,null,null,null)}i()}var s=0,c=e.length,l=new t(o);return i(),l}function l(e,t,n){this._data=e,this._promise=t,this._context=n}function f(e,t,n){this.constructor$(e,t,n)}function h(e){return l.isDisposer(e)?(this.resources[this.index]._setDisposable(e),e.promise()):e}function p(e){this.length=e,this.promise=null,this[e-1]=null}var d=e("./util"),v=e("./errors").TypeError,g=e("./util").inherits,y=d.errorObj,m=d.tryCatch;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(e){var t=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=null!==t?this.doDispose(t,e):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},l.isDisposer=function(e){return null!=e&&"function"==typeof e.resource&&"function"==typeof e.tryDispose},g(f,l),f.prototype.doDispose=function(e,t){var n=this.data();return n.call(e,e,t)},p.prototype._resultCancelled=function(){for(var e=this.length,n=0;n0},t.prototype._getDisposer=function(){return this._disposer},t.prototype._unsetDisposable=function(){this._bitField=this._bitField&-131073,this._disposer=void 0},t.prototype.disposer=function(e){if("function"==typeof e)return new f(e,this,i());throw new v}}},{"./errors":12,"./util":36}],36:[function(e,r,i){"use strict";function o(){try{var e=U;return U=null,e.apply(this,arguments)}catch(t){return j.e=t,j}}function s(e){return U=e,o}function a(e){return null==e||e===!0||e===!1||"string"==typeof e||"number"==typeof e}function u(e){return"function"==typeof e||"object"==typeof e&&null!==e}function c(e){return a(e)?new Error(m(e)):e}function l(e,t){var n,r=e.length,i=new Array(r+1);for(n=0;n1,r=t.length>0&&!(1===t.length&&"constructor"===t[0]),i=R.test(e+"")&&C.names(e).length>0;if(n||r||i)return!0}return!1}catch(o){return!1}}function v(e){function t(){}t.prototype=e;for(var n=8;n--;)new t;return e}function g(e){return M.test(e)}function y(e,t,n){for(var r=new Array(e),i=0;i10||e[0]>0}(),D.isNode&&D.toFastProperties(t);try{throw new Error}catch(q){D.lastLineError=q}r.exports=D},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise)}).call(t,n(38),function(){return this}(),n(39).setImmediate)},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(e){if(l===setTimeout)return setTimeout(e,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function o(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function s(){v&&p&&(v=!1,p.length?d=p.concat(d):g=-1,d.length&&a())}function a(){if(!v){var e=i(s);v=!0;for(var t=d.length;t;){for(p=d,d=[];++g1)for(var n=1;n=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},t.setImmediate="function"==typeof e?e:function(e){var n=c++,r=!(arguments.length<2)&&a.call(arguments,1);return u[n]=!0,o(function(){u[n]&&(r?e.apply(null,r):e.call(null),t.clearImmediate(n))}),n},t.clearImmediate="function"==typeof r?r:function(e){delete u[e]}}).call(t,n(39).setImmediate,n(39).clearImmediate)},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(e){function t(e,t,n,r){var i=k.resolve(e);return arguments.length<2?i:i.then(t,n,r)}function r(e){return new k(e)}function i(e){return function(){for(var t=0,n=arguments.length,r=new Array(n);t>>0,c=u,l=[],f=0;f0){a.become(i),e._visitRemaining(t,f,i);break}i.visit(a,n,r)}else--c;return 0===c&&a.reject(new RangeError("any(): array must not be empty")),s}function i(t,n){function r(e){this.resolved||(l.push(e),0===--p&&(f=null,this.resolve(l)))}function i(e){this.resolved||(f.push(e),0===--o&&(l=null,this.reject(f)))}var o,s,a,u=e._defer(),c=u._handler,l=[],f=[],h=t.length>>>0,p=0;for(a=0;ap?c.reject(new RangeError("some(): array must contain at least "+n+" item(s), but had "+p)):0===p&&c.resolve(l),a=0;a2?g.call(e,h(t),arguments[2]):g.call(e,h(t))}function f(e,t){return arguments.length>2?y.call(e,h(t),arguments[2]):y.call(e,h(t))}function h(e){return function(t,n,r){return p(e,void 0,[t,n,r])}}var p=r(e),d=e.resolve,v=e.all,g=Array.prototype.reduce,y=Array.prototype.reduceRight,m=Array.prototype.slice;return e.any=n,e.some=i,e.settle=u,e.map=o,e.filter=s,e.reduce=l,e.reduceRight=f,e.prototype.spread=function(e){return this.then(v).then(function(t){return e.apply(this,t)})},e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(){function e(){return{state:"pending"}}function t(e){return{state:"rejected",reason:e}}function n(e){return{state:"fulfilled",value:e}}function r(r){var i=r.state();return 0===i?e():i>0?n(r.value):t(r.value)}return{pending:e,fulfilled:n,rejected:t,inspect:r}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(){function e(e,n){function r(t,r,o){var s=e._defer(),a=o.length,u=new Array(a);return i({f:t,thisArg:r,args:o,params:u,i:a-1,call:n},s._handler),s}function i(t,r){if(t.i<0)return n(t.f,t.thisArg,t.params,r);var i=e._handler(t.args[t.i]);i.fold(o,t,void 0,r)}function o(e,t,n){e.params[e.i]=t,e.i-=1,i(e,n)}return arguments.length<2&&(n=t),r}function t(e,t,n,r){try{r.resolve(e.apply(t,n))}catch(i){r.reject(i)}}return e.tryCatchResolve=t,e}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(){function e(){throw new TypeError("catch predicate must be a function")}function t(e,t){return n(t)?e instanceof t:t(e)}function n(e){return e===Error||null!=e&&e.prototype instanceof Error}function r(e){return("object"==typeof e||"function"==typeof e)&&null!==e}function i(e){return e}return function(n){function o(e,n){return function(r){return t(r,n)?e.call(this,r):c(r)}}function s(e,t,n,i){var o=e.call(t);return r(o)?a(o,n,i):n(i)}function a(e,t,n){return u(e).then(function(){return t(n)})}var u=n.resolve,c=n.reject,l=n.prototype["catch"];return n.prototype.done=function(e,t){this._handler.visit(this._handler.receiver,e,t)},n.prototype["catch"]=n.prototype.otherwise=function(t){return arguments.length<2?l.call(this,t):"function"!=typeof t?this.ensure(e):l.call(this,o(arguments[1],t))},n.prototype["finally"]=n.prototype.ensure=function(e){return"function"!=typeof e?this:this.then(function(t){return s(e,this,i,t)},function(t){return s(e,this,c,t)})},n.prototype["else"]=n.prototype.orElse=function(e){return this.then(void 0,function(){return e})},n.prototype["yield"]=function(e){return this.then(function(){return e})},n.prototype.tap=function(e){return this.then(e)["yield"](this)},n}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(){return function(e){return e.prototype.fold=function(t,n){var r=this._beget();return this._handler.fold(function(n,r,i){e._handler(n).fold(function(e,n,r){r.resolve(t.call(this,n,e))},r,this,i)},n,r._handler.receiver,r._handler),r},e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},[310,47],function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(){return function(e){function t(e,t,r,i){return n(function(t){return[t,e(t)]},t,r,i)}function n(e,t,i,o){function s(o,s){return r(i(o)).then(function(){return n(e,t,i,s)})}return r(o).then(function(n){return r(t(n)).then(function(t){return t?n:r(e(n)).spread(s)})})}var r=e.resolve;return e.iterate=t,e.unfold=n,e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(){return function(e){return e.prototype.progress=function(e){return this.then(void 0,void 0,e)},e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(){return function(e){return e.prototype["with"]=e.prototype.withThis=function(e){var t=this._beget(),n=t._handler;return n.receiver=e,this._handler.chain(n,e),t},e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(e){function t(e){throw e}function r(){}var i=n(42).setTimer,o=n(56);return function(e){function n(e){e.handled||(p.push(e),l("Potentially unhandled rejection ["+e.id+"] "+o.formatError(e.value)))}function s(e){var t=p.indexOf(e);t>=0&&(p.splice(t,1),f("Handled previous rejection ["+e.id+"] "+o.formatObject(e.value)))}function a(e,t){h.push(e,t),null===d&&(d=i(u,0))}function u(){for(d=null;h.length>0;)h.shift()(h.shift())}var c,l=r,f=r;"undefined"!=typeof console&&(c=console,l="undefined"!=typeof c.error?function(e){c.error(e)}:function(e){c.log(e)},f="undefined"!=typeof c.info?function(e){c.info(e)}:function(e){c.log(e)}),e.onPotentiallyUnhandledRejection=function(e){a(n,e)},e.onPotentiallyUnhandledRejectionHandled=function(e){a(s,e)},e.onFatalRejection=function(e){a(t,e.value)};var h=[],p=[],d=null;return e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(){function e(e){var n="object"==typeof e&&null!==e&&(e.stack||e.message)?e.stack||e.message:t(e);return e instanceof Error?n:n+" (WARNING: non-Error used)"}function t(e){var t=String(e);return"[object Object]"===t&&"undefined"!=typeof JSON&&(t=n(e,t)),t}function n(e,t){try{return JSON.stringify(e)}catch(n){return t}}return{formatError:e,formatObject:t,tryStringify:n}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},[311,58,59,42],function(e,t,n){var r;(function(i){/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(o){"use strict";r=function(){return function(e){function t(e,t){this._handler=e===w?t:n(e)}function n(e){function t(e){i.resolve(e)}function n(e){i.reject(e)}function r(e){i.notify(e)}var i=new E;try{e(t,n,r)}catch(o){n(o)}return i}function r(e){return M(e)?e:new t(w,new x(y(e)))}function o(e){return new t(w,new x(new S(e)))}function s(){return ee}function a(){return new t(w,new E)}function u(e,t){var n=new E(e.receiver,e.join().context);return new t(w,n)}function c(e){return f(W,null,e)}function l(e,t){return f(D,e,t)}function f(e,n,r){function i(t,i,s){s.resolved||h(r,o,t,e(n,i,t),s)}function o(e,t,n){l[e]=t,0===--c&&n.become(new I(l))}for(var s,a="function"==typeof n?i:o,u=new E,c=r.length>>>0,l=new Array(c),f=0;f0?t(n,o.value,i):(i.become(o),p(e,n+1,o))}else t(n,r,i)}function p(e,t,n){for(var r=t;r0||"function"!=typeof t&&i<0)return new this.constructor(w,r);var o=this._beget(),s=o._handler;return r.chain(s,r.receiver,e,t,n),o},t.prototype["catch"]=function(e){return this.then(void 0,e)},t.prototype._beget=function(){return u(this._handler,this.constructor)},t.all=c,t.race=v,t._traverse=l,t._visitRemaining=p,w.prototype.when=w.prototype.become=w.prototype.notify=w.prototype.fail=w.prototype._unreport=w.prototype._report=K,w.prototype._state=0,w.prototype.state=function(){return this._state},w.prototype.join=function(){for(var e=this;void 0!==e.handler;)e=e.handler;return e},w.prototype.chain=function(e,t,n,r,i){this.when({resolver:e,receiver:t,fulfilled:n,rejected:r,progress:i})},w.prototype.visit=function(e,t,n,r){this.chain(X,e,t,n,r)},w.prototype.fold=function(e,t,n,r){this.when(new R(e,t,n,r))},Q(w,_),_.prototype.become=function(e){e.fail()};var X=new _;Q(w,E),E.prototype._state=0,E.prototype.resolve=function(e){this.become(y(e))},E.prototype.reject=function(e){this.resolved||this.become(new S(e))},E.prototype.join=function(){if(!this.resolved)return this;for(var e=this;void 0!==e.handler;)if(e=e.handler,e===this)return this.handler=j();return e},E.prototype.run=function(){var e=this.consumers,t=this.handler;this.handler=this.handler.join(),this.consumers=void 0;for(var n=0;n",'"',"`"," ","\r","\n","\t"],d=["{","}","|","\\","^","`"].concat(p),v=["'"].concat(d),g=["%","/","?",";","#"].concat(v),y=["/","?","#"],m=255,b=/^[+a-z0-9A-Z_-]{0,63}$/,w=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,_={javascript:!0,"javascript:":!0},E={javascript:!0,"javascript:":!0},x={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},k=n(65);r.prototype.parse=function(e,t,n){if(!c.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),i=r!==-1&&r127?"x":R[L];if(!M.match(b)){var P=O.slice(0,C),N=O.slice(C+1),D=R.match(w);D&&(P.push(D[1]),N.unshift(D[2])),N.length&&(a="/"+N.join(".")+a),this.hostname=P.join(".");break}}}this.hostname.length>m?this.hostname="":this.hostname=this.hostname.toLowerCase(),B||(this.hostname=u.toASCII(this.hostname));var q=this.port?":"+this.port:"",z=this.hostname||"";this.host=z+q,this.href+=this.host,B&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==a[0]&&(a="/"+a))}if(!_[d])for(var C=0,A=v.length;C0)&&n.host.split("@");I&&(n.auth=I.shift(),n.host=n.hostname=I.shift())}return n.search=e.search,n.query=e.query,c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!_.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var S=_.slice(-1)[0],C=(n.host||e.host||_.length>1)&&("."===S||".."===S)||""===S,T=0,j=_.length;j>=0;j--)S=_[j],"."===S?_.splice(j,1):".."===S?(_.splice(j,1),T++):T&&(_.splice(j,1),T--);if(!b&&!w)for(;T--;T)_.unshift("..");!b||""===_[0]||_[0]&&"/"===_[0].charAt(0)||_.unshift(""),C&&"/"!==_.join("/").substr(-1)&&_.push("");var U=""===_[0]||_[0]&&"/"===_[0].charAt(0);if(k){n.hostname=n.host=U?"":_.length?_.shift():"";var I=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");I&&(n.auth=I.shift(),n.host=n.hostname=I.shift())}return b=b||n.host&&_.length,b&&!U&&_.unshift(""),_.length?n.pathname=_.join("/"):(n.pathname=null,n.path=null),c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=f.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){var r;(function(e,i){!function(o){function s(e){throw RangeError(O[e])}function a(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function u(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(B,".");var i=e.split("."),o=a(i,t).join(".");return r+o}function c(e){for(var t,n,r=[],i=0,o=e.length;i=55296&&t<=56319&&i65535&&(e-=65536,t+=M(e>>>10&1023|55296),e=56320|1023&e),t+=M(e)}).join("")}function f(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:_}function h(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function p(e,t,n){var r=0;for(e=n?R(e/I):e>>1,e+=R(e/t);e>A*x>>1;r+=_)e=R(e/A);return R(r+(A+1)*e/(e+k))}function d(e){var t,n,r,i,o,a,u,c,h,d,v=[],g=e.length,y=0,m=C,b=S;for(n=e.lastIndexOf(T),n<0&&(n=0),r=0;r=128&&s("not-basic"),v.push(e.charCodeAt(r));for(i=n>0?n+1:0;i=g&&s("invalid-input"),c=f(e.charCodeAt(i++)),(c>=_||c>R((w-y)/a))&&s("overflow"),y+=c*a,h=u<=b?E:u>=b+x?x:u-b,!(cR(w/d)&&s("overflow"),a*=d;t=v.length+1,b=p(y-o,t,0==o),R(y/t)>w-m&&s("overflow"),m+=R(y/t),y%=t,v.splice(y++,0,m)}return l(v)}function v(e){var t,n,r,i,o,a,u,l,f,d,v,g,y,m,b,k=[];for(e=c(e),g=e.length,t=C,n=0,o=S,a=0;a=t&&vR((w-n)/y)&&s("overflow"),n+=(u-t)*y,t=u,a=0;aw&&s("overflow"),v==t){for(l=n,f=_;d=f<=o?E:f>=o+x?x:f-o,!(l= 0x80 (not a basic code point)","invalid-input":"Invalid input"},A=_-E,R=Math.floor,M=String.fromCharCode;b={version:"1.3.2",ucs2:{decode:c,encode:l},decode:d,encode:v,toASCII:y,toUnicode:g},r=function(){return b}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(this)}).call(t,n(36)(e),function(){return this}())},function(e,t){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,n){"use strict";t.decode=t.parse=n(66),t.encode=t.stringify=n(67)},function(e,t){"use strict";function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,r,i){t=t||"&",r=r||"=";var o={};if("string"!=typeof e||0===e.length)return o;var s=/\+/g;e=e.split(t);var a=1e3;i&&"number"==typeof i.maxKeys&&(a=i.maxKeys);var u=e.length;a>0&&u>a&&(u=a);for(var c=0;c=0?(l=d.substr(0,v),f=d.substr(v+1)):(l=d,f=""),h=decodeURIComponent(l),p=decodeURIComponent(f),n(o,h)?Array.isArray(o[h])?o[h].push(p):o[h]=[o[h],p]:o[h]=p}return o}},function(e,t){"use strict";var n=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,r,i){return t=t||"&",r=r||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map(function(i){var o=encodeURIComponent(n(i))+r;return Array.isArray(e[i])?e[i].map(function(e){return o+encodeURIComponent(n(e))}).join(t):o+encodeURIComponent(n(e[i]))}).join(t):i?encodeURIComponent(n(i))+r+encodeURIComponent(n(e)):""}},function(e,t,n){(function(t){"use strict";function r(e){g.call(this);var n=this.stream=u(e);this.muxer=new d(n),this.rest=new t(0),this.frameMax=f.FRAME_MIN_SIZE,this.sentSinceLastCheck=!1,this.recvSinceLastCheck=!1,this.expectSocketClose=!1,this.freeChannels=new _,this.channels=[{channel:{accept:o(this)},buffer:e}]}function i(e){var t=this.channels[e.channel];return t?t.channel.accept(e):void this.closeWithError(x("Frame on unknown channel %d",e.channel),f.CHANNEL_ERROR,new Error(x("Frame on unknown channel: %s",w(e,!1))))}function o(e){return function(t){if(t===p);else if(t.id===l.ConnectionClose){e.sendMethod(0,l.ConnectionCloseOk,{});var n=x("Connection closed: %s",b(t)),r=S(n);if(c(t.fields)){var i=new Error(n);i.code=t.fields.replyCode,e.emit("error",i)}e.toClosed(r,n)}else t.id===l.ConnectionBlocked?e.emit("blocked",t.fields.reason):t.id===l.ConnectionUnblocked?e.emit("unblocked"):e.closeWithError(x("Unexpected frame on channel 0"),f.UNEXPECTED_FRAME,new Error(x("Unexpected frame on channel 0: %s",w(t,!1))))}}function s(e,t){return function(){throw new I(e,t)}}function a(e,t,n){e.sendMethod=e.sendContent=e.sendMessage=s(t,n)}function u(e){if(e instanceof v)return e;var t=new v;return t.wrap(e),t._write=function(t,n,r){return e.write(t,n,r)},t}function c(e){switch(e.replyCode){case l.constants.CONNECTION_FORCED:case l.constants.REPLY_SUCCESS:return!1;default:return!0}}var l=n(69),f=l.constants,h=n(76),p=h.HEARTBEAT,d=n(87).Mux,v=n(88).Duplex||n(104),g=n(89).EventEmitter,y=n(110).Heart,m=n(111).methodName,b=n(111).closeMessage,w=n(111).inspect,_=n(112).BitSet,E=n(84).inherits,x=n(84).format,k=n(88).PassThrough||n(113),I=n(116).IllegalOperationError,S=n(116).stackCapture,C=1024,T=2048;E(r,g);var j=r.prototype;j.sendProtocolHeader=function(){this.sendBytes(h.PROTOCOL_HEADER)},j.open=function(e,t){function n(e){d.step(function(t,n){null!==t?o(t):0!==n.channel?o(new Error(x("Frame on channel != 0 during handshake: %s",w(n,!1)))):e(n)})}function r(e,t){n(function(n){n.id===e?t(n):o(new Error(x("Expected %s; got %s",m(e),w(n,!1))))})}function o(e){v(e)}function s(e){try{d.sendMethod(0,e,g)}catch(t){o(t)}}function a(e,t){return 0===e||0===t?Math.max(e,t):Math.min(e,t)}function u(t){var r=t.fields.mechanisms.toString().split(" ");return r.indexOf(e.mechanism)<0?void o(new Error(x("SASL mechanism %s is not provided by the server",e.mechanism))):(s(l.ConnectionStartOk),void n(c))}function c(t){switch(t.id){case l.ConnectionSecure:o(new Error("Wasn't expecting to have to go through secure"));break;case l.ConnectionClose:o(new Error(x("Handshake terminated by server: %s",b(t))));break;case l.ConnectionTune:var n=t.fields;g.frameMax=a(n.frameMax,e.frameMax),g.channelMax=a(n.channelMax,e.channelMax),g.heartbeat=a(n.heartbeat,e.heartbeat),s(l.ConnectionTuneOk),s(l.ConnectionOpen),r(l.ConnectionOpenOk,f);break;default:o(new Error(x("Expected connection.secure, connection.close, or connection.tune during handshake; got %s",w(t,!1))))}}function f(e){d.channelMax=g.channelMax||65535,d.frameMax=g.frameMax||4294967295,d.heartbeat=g.heartbeat,d.heartbeater=d.startHeartbeater(),d.accept=i,p(e)}function h(e){o(e||new Error("Socket closed abruptly during opening handshake"))}function p(e){d.stream.removeListener("end",h),d.stream.removeListener("error",h),d.stream.on("error",d.onSocketError.bind(d)),d.stream.on("end",d.onSocketError.bind(d,new Error("Unexpected close"))),d.on("frameError",d.onSocketError.bind(d)),d.acceptLoop(),v(null,e)}var d=this,v=t||function(){},g=Object.create(e);this.stream.on("end",h),this.stream.on("error",h),this.sendProtocolHeader(),r(l.ConnectionStart,u)},j.close=function(e){var t=e&&function(){e(null)};this.closeBecause("Cheers, thanks",f.REPLY_SUCCESS,t)},j.closeBecause=function(e,t,n){this.sendMethod(0,l.ConnectionClose,{replyText:e,replyCode:t,methodId:0,classId:0});var r=S("closeBecause called: "+e);this.toClosing(r,n)},j.closeWithError=function(e,t,n){this.emit("error",n),this.closeBecause(e,t)},j.onSocketError=function(e){if(!this.expectSocketClose){this.expectSocketClose=!0,this.emit("error",e);var t=S("Socket error");this.toClosed(t,e.toString())}},j.toClosing=function(e,t){var n=this.sendMethod.bind(this);this.accept=function(e){if(e.id===l.ConnectionCloseOk){t&&t();var r=S("ConnectionCloseOk received");this.toClosed(r,"Closed by client")}else e.id===l.ConnectionClose&&n(0,l.ConnectionCloseOk,{})},a(this,"Connection closing",e)},j._closeChannels=function(e){for(var t=1;tthis.channelMax)throw new Error("No channels left to allocate");this.freeChannels.set(n);var r=t&&t.highWaterMark||C,i=new k({objectMode:!0,highWaterMark:r});return this.channels[n]={channel:e,buffer:i},i.on("drain",function(){e.onBufferDrain()}),this.muxer.pipeFrom(i),n},j.releaseChannel=function(e){this.freeChannels.clear(e);var t=this.channels[e].buffer;this.muxer.unpipeFrom(t),this.channels[e]=null},j.acceptLoop=function(){function e(){try{for(var e;e=t.recvFrame();)t.accept(e)}catch(n){t.emit("frameError",n)}}var t=this;t.stream.on("readable",e),e()},j.step=function(e){function t(){var r;try{r=n.recvFrame()}catch(i){return void e(i,null)}r?e(null,r):n.stream.once("readable",t)}var n=this;t()},j.checkSend=function(){var e=this.sentSinceLastCheck;return this.sentSinceLastCheck=!1,e},j.checkRecv=function(){var e=this.recvSinceLastCheck;return this.recvSinceLastCheck=!1,e},j.sendBytes=function(e){this.sentSinceLastCheck=!0,this.stream.write(e)},j.sendHeartbeat=function(){return this.sendBytes(h.HEARTBEAT_BUF)};var U=l.encodeMethod,B=l.encodeProperties;j.sendMethod=function(e,t,n){var r=U(t,e,n);this.sentSinceLastCheck=!0;var i=this.channels[e].buffer;return i.write(r)},j.sendMessage=function(e,n,r,i,o,s){if(!t.isBuffer(s))throw new TypeError("content is not a buffer");var a=U(n,e,r),u=B(i,e,s.length,o),c=this.channels[e].buffer;this.sentSinceLastCheck=!0;var l=a.length+u.length,f=s.length>0?s.length+O:0,h=l+f;if(h0&&A(e,s).copy(p,d),c.write(p)}if(ln.length?n.slice(s):n.slice(s,a),c=A(e,u);r=i.write(c)}return this.sentSinceLastCheck=!0,r};var R=h.parseFrame,M=h.decodeFrame;j.recvFrame=function(){var e=R(this.rest,this.frameMax);if(e)return this.rest=e.rest,M(e);var n=this.stream.read();return null!==n&&(this.recvSinceLastCheck=!0,this.rest=t.concat([this.rest,n]),this.recvFrame())},e.exports.Connection=r}).call(t,n(3).Buffer)},function(e,t,n){(function(t){/** @preserve This file is generated by the script * ../bin/generate-defs.js, which is not in general included in a * distribution, but is available in the source repository e.g. at * https://github.com/squaremo/amqp.node/ */ -"use strict";function r(e){var t,n,r=0,i={versionMajor:void 0,versionMinor:void 0,serverProperties:void 0,mechanisms:void 0,locales:void 0};return t=e[r],r++,i.versionMajor=t,t=e[r],r++,i.versionMinor=t,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.serverProperties=t,n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.mechanisms=t,n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.locales=t,i}function i(e,n){var r,i=0,o=null,s=0,a=0;if(o=n.serverProperties,void 0===o)throw new Error("Missing value for mandatory field 'serverProperties'");if("object"!=typeof o)throw new TypeError("Field 'serverProperties' is the wrong type; must be an object");r=St(jt,o,a);var u=jt.slice(a,a+r);if(a+=r,s+=u.length,o=n.mechanisms,void 0===o)o=new t("PLAIN");else if(!t.isBuffer(o))throw new TypeError("Field 'mechanisms' is the wrong type; must be a Buffer");if(s+=o.length,o=n.locales,void 0===o)o=new t("en_US");else if(!t.isBuffer(o))throw new TypeError("Field 'locales' is the wrong type; must be a Buffer");s+=o.length;var c=new t(22+s);if(c[0]=1,c.writeUInt16BE(e,1),c.writeUInt32BE(655370,7),i=11,o=n.versionMajor,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'versionMajor' is the wrong type; must be a number (but not NaN)");if(c.writeUInt8(o,i),i++,o=n.versionMinor,void 0===o)o=9;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'versionMinor' is the wrong type; must be a number (but not NaN)");return c.writeUInt8(o,i),i++,i+=u.copy(c,i),o=n.mechanisms,void 0===o&&(o=new t("PLAIN")),r=o.length,c.writeUInt32BE(r,i),i+=4,o.copy(c,i),i+=r,o=n.locales,void 0===o&&(o=new t("en_US")),r=o.length,c.writeUInt32BE(r,i),i+=4,o.copy(c,i),i+=r,c[i]=206,c.writeUInt32BE(i-7,3),c}function o(e){var t,n,r=0,i={clientProperties:void 0,mechanism:void 0,response:void 0,locale:void 0};return n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.clientProperties=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.mechanism=t,n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.response=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.locale=t,i}function s(e,n){var r,i=0,o=null,s=0,a=0;if(o=n.clientProperties,void 0===o)throw new Error("Missing value for mandatory field 'clientProperties'");if("object"!=typeof o)throw new TypeError("Field 'clientProperties' is the wrong type; must be an object");r=St(jt,o,a);var u=jt.slice(a,a+r);if(a+=r,s+=u.length,o=n.mechanism,void 0===o)o="PLAIN";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'mechanism' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(s+=c,o=n.response,void 0===o)throw new Error("Missing value for mandatory field 'response'");if(!t.isBuffer(o))throw new TypeError("Field 'response' is the wrong type; must be a Buffer");if(s+=o.length,o=n.locale,void 0===o)o="en_US";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'locale' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");s+=l;var f=new t(18+s);return f[0]=1,f.writeUInt16BE(e,1),f.writeUInt32BE(655371,7),i=11,i+=u.copy(f,i),o=n.mechanism,void 0===o&&(o="PLAIN"),f[i]=c,i++,f.write(o,i,"utf8"),i+=c,o=n.response,void 0===o&&(o=new t(void 0)),r=o.length,f.writeUInt32BE(r,i),i+=4,o.copy(f,i),i+=r,o=n.locale,void 0===o&&(o="en_US"),f[i]=l,i++,f.write(o,i,"utf8"),i+=l,f[i]=206,f.writeUInt32BE(i-7,3),f}function a(e){var t,n,r=0,i={challenge:void 0};return n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.challenge=t,i}function u(e,n){var r,i=0,o=null,s=0;if(o=n.challenge,void 0===o)throw new Error("Missing value for mandatory field 'challenge'");if(!t.isBuffer(o))throw new TypeError("Field 'challenge' is the wrong type; must be a Buffer");s+=o.length;var a=new t(16+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(655380,7),i=11,o=n.challenge,void 0===o&&(o=new t(void 0)),r=o.length,a.writeUInt32BE(r,i),i+=4,o.copy(a,i),i+=r,a[i]=206,a.writeUInt32BE(i-7,3),a}function c(e){var t,n,r=0,i={response:void 0};return n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.response=t,i}function l(e,n){var r,i=0,o=null,s=0;if(o=n.response,void 0===o)throw new Error("Missing value for mandatory field 'response'");if(!t.isBuffer(o))throw new TypeError("Field 'response' is the wrong type; must be a Buffer");s+=o.length;var a=new t(16+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(655381,7),i=11,o=n.response,void 0===o&&(o=new t(void 0)),r=o.length,a.writeUInt32BE(r,i),i+=4,o.copy(a,i),i+=r,a[i]=206,a.writeUInt32BE(i-7,3),a}function f(e){var t,n=0,r={channelMax:void 0,frameMax:void 0,heartbeat:void 0};return t=e.readUInt16BE(n),n+=2,r.channelMax=t,t=e.readUInt32BE(n),n+=4,r.frameMax=t,t=e.readUInt16BE(n),n+=2,r.heartbeat=t,r}function h(e,n){var r=0,i=null,o=0,s=new t(20+o);if(s[0]=1,s.writeUInt16BE(e,1),s.writeUInt32BE(655390,7),r=11,i=n.channelMax,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'channelMax' is the wrong type; must be a number (but not NaN)");if(s.writeUInt16BE(i,r),r+=2,i=n.frameMax,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'frameMax' is the wrong type; must be a number (but not NaN)");if(s.writeUInt32BE(i,r),r+=4,i=n.heartbeat,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'heartbeat' is the wrong type; must be a number (but not NaN)");return s.writeUInt16BE(i,r),r+=2,s[r]=206,s.writeUInt32BE(r-7,3),s}function p(e){var t,n=0,r={channelMax:void 0,frameMax:void 0,heartbeat:void 0};return t=e.readUInt16BE(n),n+=2,r.channelMax=t,t=e.readUInt32BE(n),n+=4,r.frameMax=t,t=e.readUInt16BE(n),n+=2,r.heartbeat=t,r}function d(e,n){var r=0,i=null,o=0,s=new t(20+o);if(s[0]=1,s.writeUInt16BE(e,1),s.writeUInt32BE(655391,7),r=11,i=n.channelMax,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'channelMax' is the wrong type; must be a number (but not NaN)");if(s.writeUInt16BE(i,r),r+=2,i=n.frameMax,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'frameMax' is the wrong type; must be a number (but not NaN)");if(s.writeUInt32BE(i,r),r+=4,i=n.heartbeat,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'heartbeat' is the wrong type; must be a number (but not NaN)");return s.writeUInt16BE(i,r),r+=2,s[r]=206,s.writeUInt32BE(r-7,3),s}function v(e){var t,n,r=0,i={virtualHost:void 0,capabilities:void 0,insist:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.virtualHost=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.capabilities=t,t=!!(1&e[r]),i.insist=t,i}function g(e,n){var r=0,i=null,o=0,s=0;if(i=n.virtualHost,void 0===i)i="/";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'virtualHost' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");if(s+=a,i=n.capabilities,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'capabilities' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(i,"utf8");s+=u;var c=new t(15+s);return c[0]=1,c.writeUInt16BE(e,1),c.writeUInt32BE(655400,7),r=11,i=n.virtualHost,void 0===i&&(i="/"),c[r]=a,r++,c.write(i,r,"utf8"),r+=a,i=n.capabilities,void 0===i&&(i=""),c[r]=u,r++,c.write(i,r,"utf8"),r+=u,i=n.insist,void 0===i&&(i=!1),i&&(o+=1),c[r]=o,r++,c[r]=206,c.writeUInt32BE(r-7,3),c}function y(e){var t,n,r=0,i={knownHosts:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.knownHosts=t,i}function m(e,n){var r=0,i=null,o=0;if(i=n.knownHosts,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'knownHosts' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(655401,7),r=11,i=n.knownHosts,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function b(e){var t,n,r=0,i={replyCode:void 0,replyText:void 0,classId:void 0,methodId:void 0};return t=e.readUInt16BE(r),r+=2,i.replyCode=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.replyText=t,t=e.readUInt16BE(r),r+=2,i.classId=t,t=e.readUInt16BE(r),r+=2,i.methodId=t,i}function _(e,n){var r=0,i=null,o=0;if(i=n.replyText,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'replyText' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(19+o);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(655410,7),r=11,i=n.replyCode,void 0===i)throw new Error("Missing value for mandatory field 'replyCode'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'replyCode' is the wrong type; must be a number (but not NaN)");if(a.writeUInt16BE(i,r),r+=2,i=n.replyText,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,i=n.classId,void 0===i)throw new Error("Missing value for mandatory field 'classId'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'classId' is the wrong type; must be a number (but not NaN)");if(a.writeUInt16BE(i,r),r+=2,i=n.methodId,void 0===i)throw new Error("Missing value for mandatory field 'methodId'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'methodId' is the wrong type; must be a number (but not NaN)");return a.writeUInt16BE(i,r),r+=2,a[r]=206,a.writeUInt32BE(r-7,3),a}function w(e){var t={};return t}function E(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(655411,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function x(e){var t,n,r=0,i={reason:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.reason=t,i}function k(e,n){var r=0,i=null,o=0;if(i=n.reason,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'reason' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(655420,7),r=11,i=n.reason,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function I(e){var t={};return t}function C(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(655421,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function S(e){var t,n,r=0,i={outOfBand:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.outOfBand=t,i}function T(e,n){var r=0,i=null,o=0;if(i=n.outOfBand,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'outOfBand' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(1310730,7),r=11,i=n.outOfBand,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function j(e){var t,n,r=0,i={channelId:void 0};return n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.channelId=t,i}function B(e,n){var r,i=0,o=null,s=0;if(o=n.channelId,void 0===o)o=new t("");else if(!t.isBuffer(o))throw new TypeError("Field 'channelId' is the wrong type; must be a Buffer");s+=o.length;var a=new t(16+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(1310731,7),i=11,o=n.channelId,void 0===o&&(o=new t("")),r=o.length,a.writeUInt32BE(r,i),i+=4,o.copy(a,i),i+=r,a[i]=206,a.writeUInt32BE(i-7,3),a}function U(e){var t,n=0,r={active:void 0};return t=!!(1&e[n]),r.active=t,r}function O(e,n){var r=0,i=null,o=0,s=0,a=new t(13+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(1310740,7),r=11,i=n.active,void 0===i)throw new Error("Missing value for mandatory field 'active'");return i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function A(e){var t,n=0,r={active:void 0};return t=!!(1&e[n]),r.active=t,r}function R(e,n){var r=0,i=null,o=0,s=0,a=new t(13+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(1310741,7),r=11,i=n.active,void 0===i)throw new Error("Missing value for mandatory field 'active'");return i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function M(e){var t,n,r=0,i={replyCode:void 0,replyText:void 0,classId:void 0,methodId:void 0};return t=e.readUInt16BE(r),r+=2,i.replyCode=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.replyText=t,t=e.readUInt16BE(r),r+=2,i.classId=t,t=e.readUInt16BE(r),r+=2,i.methodId=t,i}function F(e,n){var r=0,i=null,o=0;if(i=n.replyText,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'replyText' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(19+o);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(1310760,7),r=11,i=n.replyCode,void 0===i)throw new Error("Missing value for mandatory field 'replyCode'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'replyCode' is the wrong type; must be a number (but not NaN)");if(a.writeUInt16BE(i,r),r+=2,i=n.replyText,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,i=n.classId,void 0===i)throw new Error("Missing value for mandatory field 'classId'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'classId' is the wrong type; must be a number (but not NaN)");if(a.writeUInt16BE(i,r),r+=2,i=n.methodId,void 0===i)throw new Error("Missing value for mandatory field 'methodId'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'methodId' is the wrong type; must be a number (but not NaN)");return a.writeUInt16BE(i,r),r+=2,a[r]=206,a.writeUInt32BE(r-7,3),a}function L(e){var t={};return t}function P(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(1310761,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function N(e){var t,n,r=0,i={realm:void 0,exclusive:void 0,passive:void 0,active:void 0,write:void 0,read:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.realm=t,t=!!(1&e[r]),i.exclusive=t,t=!!(2&e[r]),i.passive=t,t=!!(4&e[r]),i.active=t,t=!!(8&e[r]),i.write=t,t=!!(16&e[r]),i.read=t,i}function q(e,n){var r=0,i=null,o=0,s=0;if(i=n.realm,void 0===i)i="/data";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'realm' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(14+s);return u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(1966090,7),r=11,i=n.realm,void 0===i&&(i="/data"),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.exclusive,void 0===i&&(i=!1),i&&(o+=1),i=n.passive,void 0===i&&(i=!0),i&&(o+=2),i=n.active,void 0===i&&(i=!0),i&&(o+=4),i=n.write,void 0===i&&(i=!0),i&&(o+=8),i=n.read,void 0===i&&(i=!0),i&&(o+=16),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function D(e){var t,n=0,r={ticket:void 0};return t=e.readUInt16BE(n),n+=2,r.ticket=t,r}function z(e,n){var r=0,i=null,o=0,s=new t(14+o);if(s[0]=1,s.writeUInt16BE(e,1),s.writeUInt32BE(1966091,7),r=11,i=n.ticket,void 0===i)i=1;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return s.writeUInt16BE(i,r),r+=2,s[r]=206,s.writeUInt32BE(r-7,3),s}function H(e){var t,n,r=0,i={ticket:void 0,exchange:void 0,type:void 0,passive:void 0,durable:void 0,autoDelete:void 0,internal:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.type=t,t=!!(1&e[r]),i.passive=t,t=!!(2&e[r]),i.durable=t,t=!!(4&e[r]),i.autoDelete=t,t=!!(8&e[r]),i.internal=t,t=!!(16&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function Q(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.exchange,void 0===o)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.type,void 0===o)o="direct";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'type' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(a+=l,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=St(jt,o,u);var f=jt.slice(u,u+r);u+=r,a+=f.length;var h=new t(17+a);if(h[0]=1,h.writeUInt16BE(e,1),h.writeUInt32BE(2621450,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return h.writeUInt16BE(o,i),i+=2,o=n.exchange,void 0===o&&(o=void 0),h[i]=c,i++,h.write(o,i,"utf8"),i+=c,o=n.type,void 0===o&&(o="direct"),h[i]=l,i++,h.write(o,i,"utf8"),i+=l,o=n.passive,void 0===o&&(o=!1),o&&(s+=1),o=n.durable,void 0===o&&(o=!1),o&&(s+=2),o=n.autoDelete,void 0===o&&(o=!1),o&&(s+=4),o=n.internal,void 0===o&&(o=!1),o&&(s+=8),o=n.nowait,void 0===o&&(o=!1),o&&(s+=16),h[i]=s,i++,s=0,i+=f.copy(h,i),h[i]=206,h.writeUInt32BE(i-7,3),h}function W(e){var t={};return t}function K(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(2621451,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function V(e){var t,n,r=0,i={ticket:void 0,exchange:void 0,ifUnused:void 0,nowait:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,t=!!(1&e[r]),i.ifUnused=t,t=!!(2&e[r]),i.nowait=t,i}function G(e,n){var r=0,i=null,o=0,s=0;if(i=n.exchange,void 0===i)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(16+s);if(u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(2621460,7),r=11,i=n.ticket,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return u.writeUInt16BE(i,r),r+=2,i=n.exchange,void 0===i&&(i=void 0),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.ifUnused,void 0===i&&(i=!1),i&&(o+=1),i=n.nowait,void 0===i&&(i=!1),i&&(o+=2),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function Y(e){var t={};return t}function $(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(2621461,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function X(e){var t,n,r=0,i={ticket:void 0,destination:void 0,source:void 0,routingKey:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.destination=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.source=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,t=!!(1&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function J(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.destination,void 0===o)throw new Error("Missing value for mandatory field 'destination'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'destination' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.source,void 0===o)throw new Error("Missing value for mandatory field 'source'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'source' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(a+=l,o=n.routingKey,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var f=t.byteLength(o,"utf8");if(a+=f,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=St(jt,o,u);var h=jt.slice(u,u+r);u+=r,a+=h.length;var p=new t(18+a);if(p[0]=1,p.writeUInt16BE(e,1),p.writeUInt32BE(2621470,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return p.writeUInt16BE(o,i),i+=2,o=n.destination,void 0===o&&(o=void 0),p[i]=c,i++,p.write(o,i,"utf8"),i+=c,o=n.source,void 0===o&&(o=void 0),p[i]=l,i++,p.write(o,i,"utf8"),i+=l,o=n.routingKey,void 0===o&&(o=""),p[i]=f,i++,p.write(o,i,"utf8"),i+=f,o=n.nowait,void 0===o&&(o=!1),o&&(s+=1),p[i]=s,i++,s=0,i+=h.copy(p,i),p[i]=206,p.writeUInt32BE(i-7,3),p}function Z(e){var t={};return t}function ee(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(2621471,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function te(e){var t,n,r=0,i={ticket:void 0,destination:void 0,source:void 0,routingKey:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.destination=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.source=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,t=!!(1&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function ne(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.destination,void 0===o)throw new Error("Missing value for mandatory field 'destination'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'destination' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.source,void 0===o)throw new Error("Missing value for mandatory field 'source'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'source' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(a+=l,o=n.routingKey,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var f=t.byteLength(o,"utf8");if(a+=f,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=St(jt,o,u);var h=jt.slice(u,u+r);u+=r,a+=h.length;var p=new t(18+a);if(p[0]=1,p.writeUInt16BE(e,1),p.writeUInt32BE(2621480,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return p.writeUInt16BE(o,i),i+=2,o=n.destination,void 0===o&&(o=void 0),p[i]=c,i++,p.write(o,i,"utf8"),i+=c,o=n.source,void 0===o&&(o=void 0),p[i]=l,i++,p.write(o,i,"utf8"),i+=l,o=n.routingKey,void 0===o&&(o=""),p[i]=f,i++,p.write(o,i,"utf8"),i+=f,o=n.nowait,void 0===o&&(o=!1),o&&(s+=1),p[i]=s,i++,s=0,i+=h.copy(p,i),p[i]=206,p.writeUInt32BE(i-7,3),p}function re(e){var t={};return t}function ie(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(2621491,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function oe(e){var t,n,r=0,i={ticket:void 0,queue:void 0,passive:void 0,durable:void 0,exclusive:void 0,autoDelete:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,t=!!(1&e[r]),i.passive=t,t=!!(2&e[r]),i.durable=t,t=!!(4&e[r]),i.exclusive=t,t=!!(8&e[r]),i.autoDelete=t,t=!!(16&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function se(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.queue,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=St(jt,o,u);var l=jt.slice(u,u+r);u+=r,a+=l.length;var f=new t(16+a);if(f[0]=1,f.writeUInt16BE(e,1),f.writeUInt32BE(3276810,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return f.writeUInt16BE(o,i),i+=2,o=n.queue,void 0===o&&(o=""),f[i]=c,i++,f.write(o,i,"utf8"),i+=c,o=n.passive,void 0===o&&(o=!1),o&&(s+=1),o=n.durable,void 0===o&&(o=!1),o&&(s+=2),o=n.exclusive,void 0===o&&(o=!1),o&&(s+=4),o=n.autoDelete,void 0===o&&(o=!1),o&&(s+=8),o=n.nowait,void 0===o&&(o=!1),o&&(s+=16),f[i]=s,i++,s=0,i+=l.copy(f,i),f[i]=206,f.writeUInt32BE(i-7,3),f}function ae(e){var t,n,r=0,i={queue:void 0,messageCount:void 0,consumerCount:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,t=e.readUInt32BE(r),r+=4,i.messageCount=t,t=e.readUInt32BE(r),r+=4,i.consumerCount=t,i}function ue(e,n){var r=0,i=null,o=0;if(i=n.queue,void 0===i)throw new Error("Missing value for mandatory field 'queue'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(21+o);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3276811,7),r=11,i=n.queue,void 0===i&&(i=void 0),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,i=n.messageCount,void 0===i)throw new Error("Missing value for mandatory field 'messageCount'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'messageCount' is the wrong type; must be a number (but not NaN)");if(a.writeUInt32BE(i,r),r+=4,i=n.consumerCount,void 0===i)throw new Error("Missing value for mandatory field 'consumerCount'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'consumerCount' is the wrong type; must be a number (but not NaN)");return a.writeUInt32BE(i,r),r+=4,a[r]=206,a.writeUInt32BE(r-7,3),a}function ce(e){var t,n,r=0,i={ticket:void 0,queue:void 0,exchange:void 0,routingKey:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,t=!!(1&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function le(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.queue,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.exchange,void 0===o)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(a+=l,o=n.routingKey,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var f=t.byteLength(o,"utf8");if(a+=f,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=St(jt,o,u);var h=jt.slice(u,u+r);u+=r,a+=h.length;var p=new t(18+a);if(p[0]=1,p.writeUInt16BE(e,1),p.writeUInt32BE(3276820,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return p.writeUInt16BE(o,i),i+=2,o=n.queue,void 0===o&&(o=""),p[i]=c,i++,p.write(o,i,"utf8"),i+=c,o=n.exchange,void 0===o&&(o=void 0),p[i]=l,i++,p.write(o,i,"utf8"),i+=l,o=n.routingKey,void 0===o&&(o=""),p[i]=f,i++,p.write(o,i,"utf8"),i+=f,o=n.nowait,void 0===o&&(o=!1),o&&(s+=1),p[i]=s,i++,s=0,i+=h.copy(p,i),p[i]=206,p.writeUInt32BE(i-7,3),p}function fe(e){var t={};return t}function he(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(3276821,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function pe(e){var t,n,r=0,i={ticket:void 0,queue:void 0,nowait:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,t=!!(1&e[r]),i.nowait=t,i}function de(e,n){var r=0,i=null,o=0,s=0;if(i=n.queue,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(16+s);if(u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(3276830,7),r=11,i=n.ticket,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return u.writeUInt16BE(i,r),r+=2,i=n.queue,void 0===i&&(i=""),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.nowait,void 0===i&&(i=!1),i&&(o+=1),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function ve(e){var t,n=0,r={messageCount:void 0};return t=e.readUInt32BE(n),n+=4,r.messageCount=t,r}function ge(e,n){var r=0,i=null,o=0,s=new t(16+o);if(s[0]=1,s.writeUInt16BE(e,1),s.writeUInt32BE(3276831,7),r=11,i=n.messageCount,void 0===i)throw new Error("Missing value for mandatory field 'messageCount'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'messageCount' is the wrong type; must be a number (but not NaN)");return s.writeUInt32BE(i,r),r+=4,s[r]=206,s.writeUInt32BE(r-7,3),s}function ye(e){var t,n,r=0,i={ticket:void 0,queue:void 0,ifUnused:void 0,ifEmpty:void 0,nowait:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,t=!!(1&e[r]),i.ifUnused=t,t=!!(2&e[r]),i.ifEmpty=t,t=!!(4&e[r]),i.nowait=t,i}function me(e,n){var r=0,i=null,o=0,s=0;if(i=n.queue,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(16+s);if(u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(3276840,7),r=11,i=n.ticket,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return u.writeUInt16BE(i,r),r+=2,i=n.queue,void 0===i&&(i=""),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.ifUnused,void 0===i&&(i=!1),i&&(o+=1),i=n.ifEmpty,void 0===i&&(i=!1),i&&(o+=2),i=n.nowait,void 0===i&&(i=!1),i&&(o+=4),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function be(e){var t,n=0,r={messageCount:void 0};return t=e.readUInt32BE(n),n+=4,r.messageCount=t,r}function _e(e,n){var r=0,i=null,o=0,s=new t(16+o);if(s[0]=1,s.writeUInt16BE(e,1),s.writeUInt32BE(3276841,7),r=11,i=n.messageCount,void 0===i)throw new Error("Missing value for mandatory field 'messageCount'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'messageCount' is the wrong type; must be a number (but not NaN)");return s.writeUInt32BE(i,r),r+=4,s[r]=206,s.writeUInt32BE(r-7,3),s}function we(e){var t,n,r=0,i={ticket:void 0,queue:void 0,exchange:void 0,routingKey:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function Ee(e,n){var r,i=0,o=null,s=0,a=0;if(o=n.queue,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(o,"utf8");if(s+=u,o=n.exchange,void 0===o)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(s+=c,o=n.routingKey,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(s+=l,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=St(jt,o,a);var f=jt.slice(a,a+r);a+=r,s+=f.length;var h=new t(17+s);if(h[0]=1,h.writeUInt16BE(e,1),h.writeUInt32BE(3276850,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)"); -return h.writeUInt16BE(o,i),i+=2,o=n.queue,void 0===o&&(o=""),h[i]=u,i++,h.write(o,i,"utf8"),i+=u,o=n.exchange,void 0===o&&(o=void 0),h[i]=c,i++,h.write(o,i,"utf8"),i+=c,o=n.routingKey,void 0===o&&(o=""),h[i]=l,i++,h.write(o,i,"utf8"),i+=l,i+=f.copy(h,i),h[i]=206,h.writeUInt32BE(i-7,3),h}function xe(e){var t={};return t}function ke(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(3276851,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function Ie(e){var t,n=0,r={prefetchSize:void 0,prefetchCount:void 0,global:void 0};return t=e.readUInt32BE(n),n+=4,r.prefetchSize=t,t=e.readUInt16BE(n),n+=2,r.prefetchCount=t,t=!!(1&e[n]),r.global=t,r}function Ce(e,n){var r=0,i=null,o=0,s=0,a=new t(19+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932170,7),r=11,i=n.prefetchSize,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'prefetchSize' is the wrong type; must be a number (but not NaN)");if(a.writeUInt32BE(i,r),r+=4,i=n.prefetchCount,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'prefetchCount' is the wrong type; must be a number (but not NaN)");return a.writeUInt16BE(i,r),r+=2,i=n.global,void 0===i&&(i=!1),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function Se(e){var t={};return t}function Te(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(3932171,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function je(e){var t,n,r=0,i={ticket:void 0,queue:void 0,consumerTag:void 0,noLocal:void 0,noAck:void 0,exclusive:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.consumerTag=t,t=!!(1&e[r]),i.noLocal=t,t=!!(2&e[r]),i.noAck=t,t=!!(4&e[r]),i.exclusive=t,t=!!(8&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function Be(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.queue,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.consumerTag,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'consumerTag' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(a+=l,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=St(jt,o,u);var f=jt.slice(u,u+r);u+=r,a+=f.length;var h=new t(17+a);if(h[0]=1,h.writeUInt16BE(e,1),h.writeUInt32BE(3932180,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return h.writeUInt16BE(o,i),i+=2,o=n.queue,void 0===o&&(o=""),h[i]=c,i++,h.write(o,i,"utf8"),i+=c,o=n.consumerTag,void 0===o&&(o=""),h[i]=l,i++,h.write(o,i,"utf8"),i+=l,o=n.noLocal,void 0===o&&(o=!1),o&&(s+=1),o=n.noAck,void 0===o&&(o=!1),o&&(s+=2),o=n.exclusive,void 0===o&&(o=!1),o&&(s+=4),o=n.nowait,void 0===o&&(o=!1),o&&(s+=8),h[i]=s,i++,s=0,i+=f.copy(h,i),h[i]=206,h.writeUInt32BE(i-7,3),h}function Ue(e){var t,n,r=0,i={consumerTag:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.consumerTag=t,i}function Oe(e,n){var r=0,i=null,o=0;if(i=n.consumerTag,void 0===i)throw new Error("Missing value for mandatory field 'consumerTag'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'consumerTag' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932181,7),r=11,i=n.consumerTag,void 0===i&&(i=void 0),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function Ae(e){var t,n,r=0,i={consumerTag:void 0,nowait:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.consumerTag=t,t=!!(1&e[r]),i.nowait=t,i}function Re(e,n){var r=0,i=null,o=0,s=0;if(i=n.consumerTag,void 0===i)throw new Error("Missing value for mandatory field 'consumerTag'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'consumerTag' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(14+s);return u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(3932190,7),r=11,i=n.consumerTag,void 0===i&&(i=void 0),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.nowait,void 0===i&&(i=!1),i&&(o+=1),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function Me(e){var t,n,r=0,i={consumerTag:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.consumerTag=t,i}function Fe(e,n){var r=0,i=null,o=0;if(i=n.consumerTag,void 0===i)throw new Error("Missing value for mandatory field 'consumerTag'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'consumerTag' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932191,7),r=11,i=n.consumerTag,void 0===i&&(i=void 0),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function Le(e){var t,n,r=0,i={ticket:void 0,exchange:void 0,routingKey:void 0,mandatory:void 0,immediate:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,t=!!(1&e[r]),i.mandatory=t,t=!!(2&e[r]),i.immediate=t,i}function Pe(e,n){var r=0,i=null,o=0,s=0;if(i=n.exchange,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");if(s+=a,i=n.routingKey,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(i,"utf8");s+=u;var c=new t(17+s);if(c[0]=1,c.writeUInt16BE(e,1),c.writeUInt32BE(3932200,7),r=11,i=n.ticket,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return c.writeUInt16BE(i,r),r+=2,i=n.exchange,void 0===i&&(i=""),c[r]=a,r++,c.write(i,r,"utf8"),r+=a,i=n.routingKey,void 0===i&&(i=""),c[r]=u,r++,c.write(i,r,"utf8"),r+=u,i=n.mandatory,void 0===i&&(i=!1),i&&(o+=1),i=n.immediate,void 0===i&&(i=!1),i&&(o+=2),c[r]=o,r++,c[r]=206,c.writeUInt32BE(r-7,3),c}function Ne(e){var t,n,r=0,i={replyCode:void 0,replyText:void 0,exchange:void 0,routingKey:void 0};return t=e.readUInt16BE(r),r+=2,i.replyCode=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.replyText=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,i}function qe(e,n){var r=0,i=null,o=0;if(i=n.replyText,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'replyText' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");if(o+=s,i=n.exchange,void 0===i)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");if(o+=a,i=n.routingKey,void 0===i)throw new Error("Missing value for mandatory field 'routingKey'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(i,"utf8");o+=u;var c=new t(17+o);if(c[0]=1,c.writeUInt16BE(e,1),c.writeUInt32BE(3932210,7),r=11,i=n.replyCode,void 0===i)throw new Error("Missing value for mandatory field 'replyCode'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'replyCode' is the wrong type; must be a number (but not NaN)");return c.writeUInt16BE(i,r),r+=2,i=n.replyText,void 0===i&&(i=""),c[r]=s,r++,c.write(i,r,"utf8"),r+=s,i=n.exchange,void 0===i&&(i=void 0),c[r]=a,r++,c.write(i,r,"utf8"),r+=a,i=n.routingKey,void 0===i&&(i=void 0),c[r]=u,r++,c.write(i,r,"utf8"),r+=u,c[r]=206,c.writeUInt32BE(r-7,3),c}function De(e){var t,n,r=0,i={consumerTag:void 0,deliveryTag:void 0,redelivered:void 0,exchange:void 0,routingKey:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.consumerTag=t,t=Ct.readUInt64BE(e,r),r+=8,i.deliveryTag=t,t=!!(1&e[r]),i.redelivered=t,r++,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,i}function ze(e,n){var r=0,i=null,o=0,s=0;if(i=n.consumerTag,void 0===i)throw new Error("Missing value for mandatory field 'consumerTag'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'consumerTag' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");if(s+=a,i=n.exchange,void 0===i)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(i,"utf8");if(s+=u,i=n.routingKey,void 0===i)throw new Error("Missing value for mandatory field 'routingKey'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(i,"utf8");s+=c;var l=new t(24+s);if(l[0]=1,l.writeUInt16BE(e,1),l.writeUInt32BE(3932220,7),r=11,i=n.consumerTag,void 0===i&&(i=void 0),l[r]=a,r++,l.write(i,r,"utf8"),r+=a,i=n.deliveryTag,void 0===i)throw new Error("Missing value for mandatory field 'deliveryTag'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryTag' is the wrong type; must be a number (but not NaN)");return Ct.writeUInt64BE(l,i,r),r+=8,i=n.redelivered,void 0===i&&(i=!1),i&&(o+=1),l[r]=o,r++,o=0,i=n.exchange,void 0===i&&(i=void 0),l[r]=u,r++,l.write(i,r,"utf8"),r+=u,i=n.routingKey,void 0===i&&(i=void 0),l[r]=c,r++,l.write(i,r,"utf8"),r+=c,l[r]=206,l.writeUInt32BE(r-7,3),l}function He(e){var t,n,r=0,i={ticket:void 0,queue:void 0,noAck:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,t=!!(1&e[r]),i.noAck=t,i}function Qe(e,n){var r=0,i=null,o=0,s=0;if(i=n.queue,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(16+s);if(u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(3932230,7),r=11,i=n.ticket,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return u.writeUInt16BE(i,r),r+=2,i=n.queue,void 0===i&&(i=""),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.noAck,void 0===i&&(i=!1),i&&(o+=1),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function We(e){var t,n,r=0,i={deliveryTag:void 0,redelivered:void 0,exchange:void 0,routingKey:void 0,messageCount:void 0};return t=Ct.readUInt64BE(e,r),r+=8,i.deliveryTag=t,t=!!(1&e[r]),i.redelivered=t,r++,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,t=e.readUInt32BE(r),r+=4,i.messageCount=t,i}function Ke(e,n){var r=0,i=null,o=0,s=0;if(i=n.exchange,void 0===i)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");if(s+=a,i=n.routingKey,void 0===i)throw new Error("Missing value for mandatory field 'routingKey'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(i,"utf8");s+=u;var c=new t(27+s);if(c[0]=1,c.writeUInt16BE(e,1),c.writeUInt32BE(3932231,7),r=11,i=n.deliveryTag,void 0===i)throw new Error("Missing value for mandatory field 'deliveryTag'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryTag' is the wrong type; must be a number (but not NaN)");if(Ct.writeUInt64BE(c,i,r),r+=8,i=n.redelivered,void 0===i&&(i=!1),i&&(o+=1),c[r]=o,r++,o=0,i=n.exchange,void 0===i&&(i=void 0),c[r]=a,r++,c.write(i,r,"utf8"),r+=a,i=n.routingKey,void 0===i&&(i=void 0),c[r]=u,r++,c.write(i,r,"utf8"),r+=u,i=n.messageCount,void 0===i)throw new Error("Missing value for mandatory field 'messageCount'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'messageCount' is the wrong type; must be a number (but not NaN)");return c.writeUInt32BE(i,r),r+=4,c[r]=206,c.writeUInt32BE(r-7,3),c}function Ve(e){var t,n,r=0,i={clusterId:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.clusterId=t,i}function Ge(e,n){var r=0,i=null,o=0;if(i=n.clusterId,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'clusterId' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932232,7),r=11,i=n.clusterId,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function Ye(e){var t,n=0,r={deliveryTag:void 0,multiple:void 0};return t=Ct.readUInt64BE(e,n),n+=8,r.deliveryTag=t,t=!!(1&e[n]),r.multiple=t,r}function $e(e,n){var r=0,i=null,o=0,s=0,a=new t(21+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932240,7),r=11,i=n.deliveryTag,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryTag' is the wrong type; must be a number (but not NaN)");return Ct.writeUInt64BE(a,i,r),r+=8,i=n.multiple,void 0===i&&(i=!1),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function Xe(e){var t,n=0,r={deliveryTag:void 0,requeue:void 0};return t=Ct.readUInt64BE(e,n),n+=8,r.deliveryTag=t,t=!!(1&e[n]),r.requeue=t,r}function Je(e,n){var r=0,i=null,o=0,s=0,a=new t(21+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932250,7),r=11,i=n.deliveryTag,void 0===i)throw new Error("Missing value for mandatory field 'deliveryTag'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryTag' is the wrong type; must be a number (but not NaN)");return Ct.writeUInt64BE(a,i,r),r+=8,i=n.requeue,void 0===i&&(i=!0),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function Ze(e){var t,n=0,r={requeue:void 0};return t=!!(1&e[n]),r.requeue=t,r}function et(e,n){var r=0,i=null,o=0,s=0,a=new t(13+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932260,7),r=11,i=n.requeue,void 0===i&&(i=!1),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function tt(e){var t,n=0,r={requeue:void 0};return t=!!(1&e[n]),r.requeue=t,r}function nt(e,n){var r=0,i=null,o=0,s=0,a=new t(13+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932270,7),r=11,i=n.requeue,void 0===i&&(i=!1),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function rt(e){var t={};return t}function it(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(3932271,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function ot(e){var t,n=0,r={deliveryTag:void 0,multiple:void 0,requeue:void 0};return t=Ct.readUInt64BE(e,n),n+=8,r.deliveryTag=t,t=!!(1&e[n]),r.multiple=t,t=!!(2&e[n]),r.requeue=t,r}function st(e,n){var r=0,i=null,o=0,s=0,a=new t(21+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932280,7),r=11,i=n.deliveryTag,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryTag' is the wrong type; must be a number (but not NaN)");return Ct.writeUInt64BE(a,i,r),r+=8,i=n.multiple,void 0===i&&(i=!1),i&&(o+=1),i=n.requeue,void 0===i&&(i=!0),i&&(o+=2),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function at(e){var t={};return t}function ut(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898250,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function ct(e){var t={};return t}function lt(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898251,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function ft(e){var t={};return t}function ht(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898260,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function pt(e){var t={};return t}function dt(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898261,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function vt(e){var t={};return t}function gt(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898270,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function yt(e){var t={};return t}function mt(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898271,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function bt(e){var t,n=0,r={nowait:void 0};return t=!!(1&e[n]),r.nowait=t,r}function _t(e,n){var r=0,i=null,o=0,s=0,a=new t(13+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(5570570,7),r=11,i=n.nowait,void 0===i&&(i=!1),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function wt(e){var t={};return t}function Et(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5570571,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function xt(e,n,r){var i,o,s=0,a=0,u=0,c=0;if(i=r.contentType,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'contentType' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(i,"utf8");c+=1,c+=l}if(i=r.contentEncoding,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'contentEncoding' is the wrong type; must be a string (up to 255 chars)");var f=t.byteLength(i,"utf8");c+=1,c+=f}if(i=r.headers,void 0!=i){if("object"!=typeof i)throw new TypeError("Field 'headers' is the wrong type; must be an object");o=St(jt,i,u);var h=jt.slice(u,u+o);u+=o,c+=h.length}if(i=r.deliveryMode,void 0!=i){if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryMode' is the wrong type; must be a number (but not NaN)");c+=1}if(i=r.priority,void 0!=i){if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'priority' is the wrong type; must be a number (but not NaN)");c+=1}if(i=r.correlationId,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'correlationId' is the wrong type; must be a string (up to 255 chars)");var p=t.byteLength(i,"utf8");c+=1,c+=p}if(i=r.replyTo,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'replyTo' is the wrong type; must be a string (up to 255 chars)");var d=t.byteLength(i,"utf8");c+=1,c+=d}if(i=r.expiration,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'expiration' is the wrong type; must be a string (up to 255 chars)");var v=t.byteLength(i,"utf8");c+=1,c+=v}if(i=r.messageId,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'messageId' is the wrong type; must be a string (up to 255 chars)");var g=t.byteLength(i,"utf8");c+=1,c+=g}if(i=r.timestamp,void 0!=i){if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'timestamp' is the wrong type; must be a number (but not NaN)");c+=8}if(i=r.type,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'type' is the wrong type; must be a string (up to 255 chars)");var y=t.byteLength(i,"utf8");c+=1,c+=y}if(i=r.userId,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'userId' is the wrong type; must be a string (up to 255 chars)");var m=t.byteLength(i,"utf8");c+=1,c+=m}if(i=r.appId,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'appId' is the wrong type; must be a string (up to 255 chars)");var b=t.byteLength(i,"utf8");c+=1,c+=b}if(i=r.clusterId,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'clusterId' is the wrong type; must be a string (up to 255 chars)");var _=t.byteLength(i,"utf8");c+=1,c+=_}var w=new t(22+c);return w[0]=2,w.writeUInt16BE(e,1),w.writeUInt32BE(3932160,7),Ct.writeUInt64BE(w,n,11),a=0,s=21,i=r.contentType,void 0!=i&&(a+=32768,w[s]=l,s++,w.write(i,s,"utf8"),s+=l),i=r.contentEncoding,void 0!=i&&(a+=16384,w[s]=f,s++,w.write(i,s,"utf8"),s+=f),i=r.headers,void 0!=i&&(a+=8192,s+=h.copy(w,s)),i=r.deliveryMode,void 0!=i&&(a+=4096,w.writeUInt8(i,s),s++),i=r.priority,void 0!=i&&(a+=2048,w.writeUInt8(i,s),s++),i=r.correlationId,void 0!=i&&(a+=1024,w[s]=p,s++,w.write(i,s,"utf8"),s+=p),i=r.replyTo,void 0!=i&&(a+=512,w[s]=d,s++,w.write(i,s,"utf8"),s+=d),i=r.expiration,void 0!=i&&(a+=256,w[s]=v,s++,w.write(i,s,"utf8"),s+=v),i=r.messageId,void 0!=i&&(a+=128,w[s]=g,s++,w.write(i,s,"utf8"),s+=g),i=r.timestamp,void 0!=i&&(a+=64,Ct.writeUInt64BE(w,i,s),s+=8),i=r.type,void 0!=i&&(a+=32,w[s]=y,s++,w.write(i,s,"utf8"),s+=y),i=r.userId,void 0!=i&&(a+=16,w[s]=m,s++,w.write(i,s,"utf8"),s+=m),i=r.appId,void 0!=i&&(a+=8,w[s]=b,s++,w.write(i,s,"utf8"),s+=b),i=r.clusterId,void 0!=i&&(a+=4,w[s]=_,s++,w.write(i,s,"utf8"),s+=_),w[s]=206,w.writeUInt32BE(s-7,3),w.writeUInt16BE(a,19),w.slice(0,s+1)}function kt(e){var t,n,r,i=2;if(t=e.readUInt16BE(0),0===t)return{};var o={contentType:void 0,contentEncoding:void 0,headers:void 0,deliveryMode:void 0,priority:void 0,correlationId:void 0,replyTo:void 0,expiration:void 0,messageId:void 0,timestamp:void 0,type:void 0,userId:void 0,appId:void 0,clusterId:void 0};return 32768&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.contentType=n),16384&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.contentEncoding=n),8192&t&&(r=e.readUInt32BE(i),i+=4,n=Tt(e.slice(i,i+r)),i+=r,o.headers=n),4096&t&&(n=e[i],i++,o.deliveryMode=n),2048&t&&(n=e[i],i++,o.priority=n),1024&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.correlationId=n),512&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.replyTo=n),256&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.expiration=n),128&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.messageId=n),64&t&&(n=Ct.readUInt64BE(e,i),i+=8,o.timestamp=n),32&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.type=n),16&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.userId=n),8&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.appId=n),4&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.clusterId=n),o}var It=n(119),Ct=n(120),St=It.encodeTable,Tt=It.decodeFields,jt=new t(4096);Object.freeze({});e.exports.constants={FRAME_METHOD:1,FRAME_HEADER:2,FRAME_BODY:3,FRAME_HEARTBEAT:8,FRAME_MIN_SIZE:4096,FRAME_END:206,REPLY_SUCCESS:200,CONTENT_TOO_LARGE:311,NO_ROUTE:312,NO_CONSUMERS:313,ACCESS_REFUSED:403,NOT_FOUND:404,RESOURCE_LOCKED:405,PRECONDITION_FAILED:406,CONNECTION_FORCED:320,INVALID_PATH:402,FRAME_ERROR:501,SYNTAX_ERROR:502,COMMAND_INVALID:503,CHANNEL_ERROR:504,UNEXPECTED_FRAME:505,RESOURCE_ERROR:506,NOT_ALLOWED:530,NOT_IMPLEMENTED:540,INTERNAL_ERROR:541},e.exports.constant_strs={1:"FRAME-METHOD",2:"FRAME-HEADER",3:"FRAME-BODY",8:"FRAME-HEARTBEAT",200:"REPLY-SUCCESS",206:"FRAME-END",311:"CONTENT-TOO-LARGE",312:"NO-ROUTE",313:"NO-CONSUMERS",320:"CONNECTION-FORCED",402:"INVALID-PATH",403:"ACCESS-REFUSED",404:"NOT-FOUND",405:"RESOURCE-LOCKED",406:"PRECONDITION-FAILED",501:"FRAME-ERROR",502:"SYNTAX-ERROR",503:"COMMAND-INVALID",504:"CHANNEL-ERROR",505:"UNEXPECTED-FRAME",506:"RESOURCE-ERROR",530:"NOT-ALLOWED",540:"NOT-IMPLEMENTED",541:"INTERNAL-ERROR",4096:"FRAME-MIN-SIZE"},e.exports.FRAME_OVERHEAD=8,e.exports.decode=function(e,t){switch(e){case 655370:return r(t);case 655371:return o(t);case 655380:return a(t);case 655381:return c(t);case 655390:return f(t);case 655391:return p(t);case 655400:return v(t);case 655401:return y(t);case 655410:return b(t);case 655411:return w(t);case 655420:return x(t);case 655421:return I(t);case 1310730:return S(t);case 1310731:return j(t);case 1310740:return U(t);case 1310741:return A(t);case 1310760:return M(t);case 1310761:return L(t);case 1966090:return N(t);case 1966091:return D(t);case 2621450:return H(t);case 2621451:return W(t);case 2621460:return V(t);case 2621461:return Y(t);case 2621470:return X(t);case 2621471:return Z(t);case 2621480:return te(t);case 2621491:return re(t);case 3276810:return oe(t);case 3276811:return ae(t);case 3276820:return ce(t);case 3276821:return fe(t);case 3276830:return pe(t);case 3276831:return ve(t);case 3276840:return ye(t);case 3276841:return be(t);case 3276850:return we(t);case 3276851:return xe(t);case 3932170:return Ie(t);case 3932171:return Se(t);case 3932180:return je(t);case 3932181:return Ue(t);case 3932190:return Ae(t);case 3932191:return Me(t);case 3932200:return Le(t);case 3932210:return Ne(t);case 3932220:return De(t);case 3932230:return He(t);case 3932231:return We(t);case 3932232:return Ve(t);case 3932240:return Ye(t);case 3932250:return Xe(t);case 3932260:return Ze(t);case 3932270:return tt(t);case 3932271:return rt(t);case 3932280:return ot(t);case 5898250:return at(t);case 5898251:return ct(t);case 5898260:return ft(t);case 5898261:return pt(t);case 5898270:return vt(t);case 5898271:return yt(t);case 5570570:return bt(t);case 5570571:return wt(t);case 60:return kt(t);default:throw new Error("Unknown class/method ID")}},e.exports.encodeMethod=function(e,t,n){switch(e){case 655370:return i(t,n);case 655371:return s(t,n);case 655380:return u(t,n);case 655381:return l(t,n);case 655390:return h(t,n);case 655391:return d(t,n);case 655400:return g(t,n);case 655401:return m(t,n);case 655410:return _(t,n);case 655411:return E(t,n);case 655420:return k(t,n);case 655421:return C(t,n);case 1310730:return T(t,n);case 1310731:return B(t,n);case 1310740:return O(t,n);case 1310741:return R(t,n);case 1310760:return F(t,n);case 1310761:return P(t,n);case 1966090:return q(t,n);case 1966091:return z(t,n);case 2621450:return Q(t,n);case 2621451:return K(t,n);case 2621460:return G(t,n);case 2621461:return $(t,n);case 2621470:return J(t,n);case 2621471:return ee(t,n);case 2621480:return ne(t,n);case 2621491:return ie(t,n);case 3276810:return se(t,n);case 3276811:return ue(t,n);case 3276820:return le(t,n);case 3276821:return he(t,n);case 3276830:return de(t,n);case 3276831:return ge(t,n);case 3276840:return me(t,n);case 3276841:return _e(t,n);case 3276850:return Ee(t,n);case 3276851:return ke(t,n);case 3932170:return Ce(t,n);case 3932171:return Te(t,n);case 3932180:return Be(t,n);case 3932181:return Oe(t,n);case 3932190:return Re(t,n);case 3932191:return Fe(t,n);case 3932200:return Pe(t,n);case 3932210:return qe(t,n);case 3932220:return ze(t,n);case 3932230:return Qe(t,n);case 3932231:return Ke(t,n);case 3932232:return Ge(t,n);case 3932240:return $e(t,n);case 3932250:return Je(t,n);case 3932260:return et(t,n);case 3932270:return nt(t,n);case 3932271:return it(t,n);case 3932280:return st(t,n);case 5898250:return ut(t,n);case 5898251:return lt(t,n);case 5898260:return ht(t,n);case 5898261:return dt(t,n);case 5898270:return gt(t,n);case 5898271:return mt(t,n);case 5570570:return _t(t,n);case 5570571:return Et(t,n);default:throw new Error("Unknown class/method ID")}},e.exports.encodeProperties=function(e,t,n,r){switch(e){case 60:return xt(t,n,r);default:throw new Error("Unknown class/properties ID")}},e.exports.info=function(e){switch(e){case 655370:return Bt;case 655371:return Ut;case 655380:return Ot;case 655381:return At;case 655390:return Rt;case 655391:return Mt;case 655400:return Ft;case 655401:return Lt;case 655410:return Pt;case 655411:return Nt;case 655420:return qt;case 655421:return Dt;case 1310730:return zt;case 1310731:return Ht;case 1310740:return Qt;case 1310741:return Wt;case 1310760:return Kt;case 1310761:return Vt;case 1966090:return Gt;case 1966091:return Yt;case 2621450:return $t;case 2621451:return Xt;case 2621460:return Jt;case 2621461:return Zt;case 2621470:return en;case 2621471:return tn;case 2621480:return nn;case 2621491:return rn;case 3276810:return on;case 3276811:return sn;case 3276820:return an;case 3276821:return un;case 3276830:return cn;case 3276831:return ln;case 3276840:return fn;case 3276841:return hn;case 3276850:return pn;case 3276851:return dn;case 3932170:return vn;case 3932171:return gn;case 3932180:return yn;case 3932181:return mn;case 3932190:return bn;case 3932191:return _n;case 3932200:return wn;case 3932210:return En;case 3932220:return xn;case 3932230:return kn;case 3932231:return In;case 3932232:return Cn;case 3932240:return Sn;case 3932250:return Tn;case 3932260:return jn;case 3932270:return Bn;case 3932271:return Un;case 3932280:return On;case 5898250:return An;case 5898251:return Rn;case 5898260:return Mn;case 5898261:return Fn;case 5898270:return Ln;case 5898271:return Pn;case 5570570:return Nn;case 5570571:return qn;case 60:return Dn;default:throw new Error("Unknown class/method ID")}},e.exports.ConnectionStart=655370;var Bt=e.exports.methodInfoConnectionStart={id:655370,name:"ConnectionStart",args:[{type:"octet",name:"versionMajor",default:0},{type:"octet",name:"versionMinor",default:9},{type:"table",name:"serverProperties"},{type:"longstr",name:"mechanisms",default:"PLAIN"},{type:"longstr",name:"locales",default:"en_US"}]};e.exports.ConnectionStartOk=655371;var Ut=e.exports.methodInfoConnectionStartOk={id:655371,name:"ConnectionStartOk",args:[{type:"table",name:"clientProperties"},{type:"shortstr",name:"mechanism",default:"PLAIN"},{type:"longstr",name:"response"},{type:"shortstr",name:"locale",default:"en_US"}]};e.exports.ConnectionSecure=655380;var Ot=e.exports.methodInfoConnectionSecure={id:655380,name:"ConnectionSecure",args:[{type:"longstr",name:"challenge"}]};e.exports.ConnectionSecureOk=655381;var At=e.exports.methodInfoConnectionSecureOk={id:655381,name:"ConnectionSecureOk",args:[{type:"longstr",name:"response"}]};e.exports.ConnectionTune=655390;var Rt=e.exports.methodInfoConnectionTune={id:655390,name:"ConnectionTune",args:[{type:"short",name:"channelMax",default:0},{type:"long",name:"frameMax",default:0},{type:"short",name:"heartbeat",default:0}]};e.exports.ConnectionTuneOk=655391;var Mt=e.exports.methodInfoConnectionTuneOk={id:655391,name:"ConnectionTuneOk",args:[{type:"short",name:"channelMax",default:0},{type:"long",name:"frameMax",default:0},{type:"short",name:"heartbeat",default:0}]};e.exports.ConnectionOpen=655400;var Ft=e.exports.methodInfoConnectionOpen={id:655400,name:"ConnectionOpen",args:[{type:"shortstr",name:"virtualHost",default:"/"},{type:"shortstr",name:"capabilities",default:""},{type:"bit",name:"insist",default:!1}]};e.exports.ConnectionOpenOk=655401;var Lt=e.exports.methodInfoConnectionOpenOk={id:655401,name:"ConnectionOpenOk",args:[{type:"shortstr",name:"knownHosts",default:""}]};e.exports.ConnectionClose=655410;var Pt=e.exports.methodInfoConnectionClose={id:655410,name:"ConnectionClose",args:[{type:"short",name:"replyCode"},{type:"shortstr",name:"replyText",default:""},{type:"short",name:"classId"},{type:"short",name:"methodId"}]};e.exports.ConnectionCloseOk=655411;var Nt=e.exports.methodInfoConnectionCloseOk={id:655411,name:"ConnectionCloseOk",args:[]};e.exports.ConnectionBlocked=655420;var qt=e.exports.methodInfoConnectionBlocked={id:655420,name:"ConnectionBlocked",args:[{type:"shortstr",name:"reason",default:""}]};e.exports.ConnectionUnblocked=655421;var Dt=e.exports.methodInfoConnectionUnblocked={id:655421,name:"ConnectionUnblocked",args:[]};e.exports.ChannelOpen=1310730;var zt=e.exports.methodInfoChannelOpen={id:1310730,name:"ChannelOpen",args:[{type:"shortstr",name:"outOfBand",default:""}]};e.exports.ChannelOpenOk=1310731;var Ht=e.exports.methodInfoChannelOpenOk={id:1310731,name:"ChannelOpenOk",args:[{type:"longstr",name:"channelId",default:""}]};e.exports.ChannelFlow=1310740;var Qt=e.exports.methodInfoChannelFlow={id:1310740,name:"ChannelFlow",args:[{type:"bit",name:"active"}]};e.exports.ChannelFlowOk=1310741; -var Wt=e.exports.methodInfoChannelFlowOk={id:1310741,name:"ChannelFlowOk",args:[{type:"bit",name:"active"}]};e.exports.ChannelClose=1310760;var Kt=e.exports.methodInfoChannelClose={id:1310760,name:"ChannelClose",args:[{type:"short",name:"replyCode"},{type:"shortstr",name:"replyText",default:""},{type:"short",name:"classId"},{type:"short",name:"methodId"}]};e.exports.ChannelCloseOk=1310761;var Vt=e.exports.methodInfoChannelCloseOk={id:1310761,name:"ChannelCloseOk",args:[]};e.exports.AccessRequest=1966090;var Gt=e.exports.methodInfoAccessRequest={id:1966090,name:"AccessRequest",args:[{type:"shortstr",name:"realm",default:"/data"},{type:"bit",name:"exclusive",default:!1},{type:"bit",name:"passive",default:!0},{type:"bit",name:"active",default:!0},{type:"bit",name:"write",default:!0},{type:"bit",name:"read",default:!0}]};e.exports.AccessRequestOk=1966091;var Yt=e.exports.methodInfoAccessRequestOk={id:1966091,name:"AccessRequestOk",args:[{type:"short",name:"ticket",default:1}]};e.exports.ExchangeDeclare=2621450;var $t=e.exports.methodInfoExchangeDeclare={id:2621450,name:"ExchangeDeclare",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"type",default:"direct"},{type:"bit",name:"passive",default:!1},{type:"bit",name:"durable",default:!1},{type:"bit",name:"autoDelete",default:!1},{type:"bit",name:"internal",default:!1},{type:"bit",name:"nowait",default:!1},{type:"table",name:"arguments",default:{}}]};e.exports.ExchangeDeclareOk=2621451;var Xt=e.exports.methodInfoExchangeDeclareOk={id:2621451,name:"ExchangeDeclareOk",args:[]};e.exports.ExchangeDelete=2621460;var Jt=e.exports.methodInfoExchangeDelete={id:2621460,name:"ExchangeDelete",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"exchange"},{type:"bit",name:"ifUnused",default:!1},{type:"bit",name:"nowait",default:!1}]};e.exports.ExchangeDeleteOk=2621461;var Zt=e.exports.methodInfoExchangeDeleteOk={id:2621461,name:"ExchangeDeleteOk",args:[]};e.exports.ExchangeBind=2621470;var en=e.exports.methodInfoExchangeBind={id:2621470,name:"ExchangeBind",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"destination"},{type:"shortstr",name:"source"},{type:"shortstr",name:"routingKey",default:""},{type:"bit",name:"nowait",default:!1},{type:"table",name:"arguments",default:{}}]};e.exports.ExchangeBindOk=2621471;var tn=e.exports.methodInfoExchangeBindOk={id:2621471,name:"ExchangeBindOk",args:[]};e.exports.ExchangeUnbind=2621480;var nn=e.exports.methodInfoExchangeUnbind={id:2621480,name:"ExchangeUnbind",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"destination"},{type:"shortstr",name:"source"},{type:"shortstr",name:"routingKey",default:""},{type:"bit",name:"nowait",default:!1},{type:"table",name:"arguments",default:{}}]};e.exports.ExchangeUnbindOk=2621491;var rn=e.exports.methodInfoExchangeUnbindOk={id:2621491,name:"ExchangeUnbindOk",args:[]};e.exports.QueueDeclare=3276810;var on=e.exports.methodInfoQueueDeclare={id:3276810,name:"QueueDeclare",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"queue",default:""},{type:"bit",name:"passive",default:!1},{type:"bit",name:"durable",default:!1},{type:"bit",name:"exclusive",default:!1},{type:"bit",name:"autoDelete",default:!1},{type:"bit",name:"nowait",default:!1},{type:"table",name:"arguments",default:{}}]};e.exports.QueueDeclareOk=3276811;var sn=e.exports.methodInfoQueueDeclareOk={id:3276811,name:"QueueDeclareOk",args:[{type:"shortstr",name:"queue"},{type:"long",name:"messageCount"},{type:"long",name:"consumerCount"}]};e.exports.QueueBind=3276820;var an=e.exports.methodInfoQueueBind={id:3276820,name:"QueueBind",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"queue",default:""},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"routingKey",default:""},{type:"bit",name:"nowait",default:!1},{type:"table",name:"arguments",default:{}}]};e.exports.QueueBindOk=3276821;var un=e.exports.methodInfoQueueBindOk={id:3276821,name:"QueueBindOk",args:[]};e.exports.QueuePurge=3276830;var cn=e.exports.methodInfoQueuePurge={id:3276830,name:"QueuePurge",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"queue",default:""},{type:"bit",name:"nowait",default:!1}]};e.exports.QueuePurgeOk=3276831;var ln=e.exports.methodInfoQueuePurgeOk={id:3276831,name:"QueuePurgeOk",args:[{type:"long",name:"messageCount"}]};e.exports.QueueDelete=3276840;var fn=e.exports.methodInfoQueueDelete={id:3276840,name:"QueueDelete",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"queue",default:""},{type:"bit",name:"ifUnused",default:!1},{type:"bit",name:"ifEmpty",default:!1},{type:"bit",name:"nowait",default:!1}]};e.exports.QueueDeleteOk=3276841;var hn=e.exports.methodInfoQueueDeleteOk={id:3276841,name:"QueueDeleteOk",args:[{type:"long",name:"messageCount"}]};e.exports.QueueUnbind=3276850;var pn=e.exports.methodInfoQueueUnbind={id:3276850,name:"QueueUnbind",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"queue",default:""},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"routingKey",default:""},{type:"table",name:"arguments",default:{}}]};e.exports.QueueUnbindOk=3276851;var dn=e.exports.methodInfoQueueUnbindOk={id:3276851,name:"QueueUnbindOk",args:[]};e.exports.BasicQos=3932170;var vn=e.exports.methodInfoBasicQos={id:3932170,name:"BasicQos",args:[{type:"long",name:"prefetchSize",default:0},{type:"short",name:"prefetchCount",default:0},{type:"bit",name:"global",default:!1}]};e.exports.BasicQosOk=3932171;var gn=e.exports.methodInfoBasicQosOk={id:3932171,name:"BasicQosOk",args:[]};e.exports.BasicConsume=3932180;var yn=e.exports.methodInfoBasicConsume={id:3932180,name:"BasicConsume",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"queue",default:""},{type:"shortstr",name:"consumerTag",default:""},{type:"bit",name:"noLocal",default:!1},{type:"bit",name:"noAck",default:!1},{type:"bit",name:"exclusive",default:!1},{type:"bit",name:"nowait",default:!1},{type:"table",name:"arguments",default:{}}]};e.exports.BasicConsumeOk=3932181;var mn=e.exports.methodInfoBasicConsumeOk={id:3932181,name:"BasicConsumeOk",args:[{type:"shortstr",name:"consumerTag"}]};e.exports.BasicCancel=3932190;var bn=e.exports.methodInfoBasicCancel={id:3932190,name:"BasicCancel",args:[{type:"shortstr",name:"consumerTag"},{type:"bit",name:"nowait",default:!1}]};e.exports.BasicCancelOk=3932191;var _n=e.exports.methodInfoBasicCancelOk={id:3932191,name:"BasicCancelOk",args:[{type:"shortstr",name:"consumerTag"}]};e.exports.BasicPublish=3932200;var wn=e.exports.methodInfoBasicPublish={id:3932200,name:"BasicPublish",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"exchange",default:""},{type:"shortstr",name:"routingKey",default:""},{type:"bit",name:"mandatory",default:!1},{type:"bit",name:"immediate",default:!1}]};e.exports.BasicReturn=3932210;var En=e.exports.methodInfoBasicReturn={id:3932210,name:"BasicReturn",args:[{type:"short",name:"replyCode"},{type:"shortstr",name:"replyText",default:""},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"routingKey"}]};e.exports.BasicDeliver=3932220;var xn=e.exports.methodInfoBasicDeliver={id:3932220,name:"BasicDeliver",args:[{type:"shortstr",name:"consumerTag"},{type:"longlong",name:"deliveryTag"},{type:"bit",name:"redelivered",default:!1},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"routingKey"}]};e.exports.BasicGet=3932230;var kn=e.exports.methodInfoBasicGet={id:3932230,name:"BasicGet",args:[{type:"short",name:"ticket",default:0},{type:"shortstr",name:"queue",default:""},{type:"bit",name:"noAck",default:!1}]};e.exports.BasicGetOk=3932231;var In=e.exports.methodInfoBasicGetOk={id:3932231,name:"BasicGetOk",args:[{type:"longlong",name:"deliveryTag"},{type:"bit",name:"redelivered",default:!1},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"routingKey"},{type:"long",name:"messageCount"}]};e.exports.BasicGetEmpty=3932232;var Cn=e.exports.methodInfoBasicGetEmpty={id:3932232,name:"BasicGetEmpty",args:[{type:"shortstr",name:"clusterId",default:""}]};e.exports.BasicAck=3932240;var Sn=e.exports.methodInfoBasicAck={id:3932240,name:"BasicAck",args:[{type:"longlong",name:"deliveryTag",default:0},{type:"bit",name:"multiple",default:!1}]};e.exports.BasicReject=3932250;var Tn=e.exports.methodInfoBasicReject={id:3932250,name:"BasicReject",args:[{type:"longlong",name:"deliveryTag"},{type:"bit",name:"requeue",default:!0}]};e.exports.BasicRecoverAsync=3932260;var jn=e.exports.methodInfoBasicRecoverAsync={id:3932260,name:"BasicRecoverAsync",args:[{type:"bit",name:"requeue",default:!1}]};e.exports.BasicRecover=3932270;var Bn=e.exports.methodInfoBasicRecover={id:3932270,name:"BasicRecover",args:[{type:"bit",name:"requeue",default:!1}]};e.exports.BasicRecoverOk=3932271;var Un=e.exports.methodInfoBasicRecoverOk={id:3932271,name:"BasicRecoverOk",args:[]};e.exports.BasicNack=3932280;var On=e.exports.methodInfoBasicNack={id:3932280,name:"BasicNack",args:[{type:"longlong",name:"deliveryTag",default:0},{type:"bit",name:"multiple",default:!1},{type:"bit",name:"requeue",default:!0}]};e.exports.TxSelect=5898250;var An=e.exports.methodInfoTxSelect={id:5898250,name:"TxSelect",args:[]};e.exports.TxSelectOk=5898251;var Rn=e.exports.methodInfoTxSelectOk={id:5898251,name:"TxSelectOk",args:[]};e.exports.TxCommit=5898260;var Mn=e.exports.methodInfoTxCommit={id:5898260,name:"TxCommit",args:[]};e.exports.TxCommitOk=5898261;var Fn=e.exports.methodInfoTxCommitOk={id:5898261,name:"TxCommitOk",args:[]};e.exports.TxRollback=5898270;var Ln=e.exports.methodInfoTxRollback={id:5898270,name:"TxRollback",args:[]};e.exports.TxRollbackOk=5898271;var Pn=e.exports.methodInfoTxRollbackOk={id:5898271,name:"TxRollbackOk",args:[]};e.exports.ConfirmSelect=5570570;var Nn=e.exports.methodInfoConfirmSelect={id:5570570,name:"ConfirmSelect",args:[{type:"bit",name:"nowait",default:!1}]};e.exports.ConfirmSelectOk=5570571;var qn=e.exports.methodInfoConfirmSelectOk={id:5570571,name:"ConfirmSelectOk",args:[]};e.exports.BasicProperties=60;var Dn=e.exports.propertiesInfoBasicProperties={id:60,name:"BasicProperties",args:[{type:"shortstr",name:"contentType"},{type:"shortstr",name:"contentEncoding"},{type:"table",name:"headers"},{type:"octet",name:"deliveryMode"},{type:"octet",name:"priority"},{type:"shortstr",name:"correlationId"},{type:"shortstr",name:"replyTo"},{type:"shortstr",name:"expiration"},{type:"shortstr",name:"messageId"},{type:"timestamp",name:"timestamp"},{type:"shortstr",name:"type"},{type:"shortstr",name:"userId"},{type:"shortstr",name:"appId"},{type:"shortstr",name:"clusterId"}]}}).call(t,n(3).Buffer)},function(e,t,n){(function(t){"use strict";function r(e){return e>=0x8000000000000000||Math.abs(e)<0x4000000000000&&Math.floor(e)!==e}function i(e,n,r){var i=r;r+=4;for(var o in n)if(void 0!==n[o]){var a=t.byteLength(o);e.writeUInt8(a,r),r++,e.write(o,r,"utf8"),r+=a,r+=s(e,n[o],r)}var u=r-i;return e.writeUInt32BE(u-4,i),u}function o(e,t,n){var r=n;n+=4;for(var i=0,o=t.length;i=-128?(a("b"),e.writeInt8(f,s),s++):f>=-32768&&f<32768?(a("s"),e.writeInt16BE(f,s),s+=2):f>=-2147483648&&f<2147483648?(a("I"),e.writeInt32BE(f,s),s+=4):(a("l"),u.writeInt64BE(e,f,s),s+=8);break;case"timestamp":a("T"),u.writeUInt64BE(e,f,s),s+=8;break;case"float":a("f"),e.writeFloatBE(f,s),s+=4;break;case"decimal":if(a("D"),!(f.hasOwnProperty("places")&&f.hasOwnProperty("digits")&&f.places>=0&&f.places<256))throw new TypeError("Decimal value must be {'places': 0..255, 'digits': uint32}, got "+JSON.stringify(f));e[s]=f.places,s++,e.writeUInt32BE(f.digits,s),s+=4;break;default:throw new TypeError("Unknown type to encode: "+l)}return s-c}function a(e){function t(){var t=String.fromCharCode(e[c]);switch(c++,t){case"b":o=e.readInt8(c),c++;break;case"S":r=e.readUInt32BE(c),c+=4,o=e.toString("utf8",c,c+r),c+=r;break;case"I":o=e.readInt32BE(c),c+=4;break;case"D":var i=e[c];c++;var s=e.readUInt32BE(c);c+=4,o={"!":"decimal",value:{places:i,digits:s}};break;case"T":o=u.readUInt64BE(e,c),c+=8,o={"!":"timestamp",value:o};break;case"F":r=e.readUInt32BE(c),c+=4,o=a(e.slice(c,c+r)),c+=r;break;case"A":r=e.readUInt32BE(c),c+=4,n(c+r);break;case"d":o=e.readDoubleBE(c),c+=8;break;case"f":o=e.readFloatBE(c),c+=4;break;case"l":o=u.readInt64BE(e,c),c+=8;break;case"s":o=e.readInt16BE(c),c+=2;break;case"t":o=0!=e[c],c++;break;case"V":o=null;break;case"x":r=e.readUInt32BE(c),c+=4,o=e.slice(c,c+r),c+=r;break;default:throw new TypeError('Unexpected type tag "'+t+'"')}}function n(e){for(var n=[];c=-Y}function i(e){K(r(e),"number cannot be represented as a contiguous integer")}function o(e,t,n){K.ok("number"==typeof e&&e>=t&&e<=n&&Math.floor(e)===e,"not a number in the required range")}function s(e,t,n){return e.readUInt8(t,n)<<16|e.readUInt16BE(t+1,n)}function a(e,t,n,r){r||(o(t,0,16777215),K.ok(n+3<=e.length,"attempt to write beyond end of buffer")),e.writeUInt8(t>>>16,n,r),e.writeUInt16BE(65535&t,n+1,r)}function u(e,t,n){return(e.readUInt8(t,n)||0)*V+e.readUInt32BE(t+1,n)}function c(e,t,n,r){r||(o(t,0,0xffffffffff),K.ok(n+5<=e.length,"attempt to write beyond end of buffer")),e.writeUInt8(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+1,r)}function l(e,t,n){return e.readUInt16BE(t,n)*V+e.readUInt32BE(t+2,n)}function f(e,t,n,r){r||(o(t,0,0xffffffffffff),K.ok(n+6<=e.length,"attempt to write beyond end of buffer")),e.writeUInt16BE(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+2,r)}function h(e,t,n){return((e.readUInt8(t,n)||0)<<16|e.readUInt16BE(t+1,n))*V+e.readUInt32BE(t+3,n)}function p(e,t,n,r){if(r||(o(t,0,72057594037927940),K.ok(n+7<=e.length,"attempt to write beyond end of buffer")),t<72057594037927940){var i=Math.floor(t*G);e.writeUInt8(i>>>16,n,r),e.writeUInt16BE(65535&i,n+1,r),e.writeInt32BE(t&-1,n+3,r)}else e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255}function d(e,t,n){return e.readUInt32BE(t,n)*V+e.readUInt32BE(t+4,n)}function v(e,t,n,r){r||(o(t,0,0x10000000000000000),K.ok(n+8<=e.length,"attempt to write beyond end of buffer")),t<0x10000000000000000?(e.writeUInt32BE(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+4,r)):(e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255,e[n+7]=255)}function g(e,t,n){return e.readUInt8(t+2,n)<<16|e.readUInt16LE(t,n)}function y(e,t,n,r){r||(o(t,0,16777215),K.ok(n+3<=e.length,"attempt to write beyond end of buffer")),e.writeUInt16LE(65535&t,n,r),e.writeUInt8(t>>>16,n+2,r)}function m(e,t,n){return(e.readUInt8(t+4,n)||0)*V+e.readUInt32LE(t,n)}function b(e,t,n,r){r||(o(t,0,0xffffffffff),K.ok(n+5<=e.length,"attempt to write beyond end of buffer")),e.writeInt32LE(t&-1,n,r),e.writeUInt8(Math.floor(t*G),n+4,r)}function _(e,t,n){return e.readUInt16LE(t+4,n)*V+e.readUInt32LE(t,n)}function w(e,t,n,r){r||(o(t,0,0xffffffffffff),K.ok(n+6<=e.length,"attempt to write beyond end of buffer")),e.writeInt32LE(t&-1,n,r),e.writeUInt16LE(Math.floor(t*G),n+4,r)}function E(e,t,n){return((e.readUInt8(t+6,n)||0)<<16|e.readUInt16LE(t+4,n))*V+e.readUInt32LE(t,n)}function x(e,t,n,r){if(r||(o(t,0,72057594037927940),K.ok(n+7<=e.length,"attempt to write beyond end of buffer")),t<72057594037927940){e.writeInt32LE(t&-1,n,r);var i=Math.floor(t*G);e.writeUInt16LE(65535&i,n+4,r),e.writeUInt8(i>>>16,n+6,r)}else e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255}function k(e,t,n){return e.readUInt32LE(t+4,n)*V+e.readUInt32LE(t,n)}function I(e,t,n,r){r||(o(t,0,0x10000000000000000),K.ok(n+8<=e.length,"attempt to write beyond end of buffer")),t<0x10000000000000000?(e.writeInt32LE(t&-1,n,r),e.writeUInt32LE(Math.floor(t*G),n+4,r)):(e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255,e[n+7]=255)}function C(e,t,n){return(e.readInt8(t,n)<<16)+e.readUInt16BE(t+1,n)}function S(e,t,n,r){r||(o(t,-8388608,8388607),K.ok(n+3<=e.length,"attempt to write beyond end of buffer")),e.writeInt8(t>>16,n,r),e.writeUInt16BE(65535&t,n+1,r)}function T(e,t,n){return(e.readInt8(t,n)||0)*V+e.readUInt32BE(t+1,n)}function j(e,t,n,r){r||(o(t,-549755813888,549755813887),K.ok(n+5<=e.length,"attempt to write beyond end of buffer")),e.writeInt8(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+1,r)}function B(e,t,n){return e.readInt16BE(t,n)*V+e.readUInt32BE(t+2,n)}function U(e,t,n,r){r||(o(t,-0x800000000000,0x7fffffffffff),K.ok(n+6<=e.length,"attempt to write beyond end of buffer")),e.writeInt16BE(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+2,r)}function O(e,t,n){return(((e.readInt8(t,n)||0)<<16)+e.readUInt16BE(t+1,n))*V+e.readUInt32BE(t+3,n)}function A(e,t,n,r){if(r||(o(t,-0x800000000000000,0x80000000000000),K.ok(n+7<=e.length,"attempt to write beyond end of buffer")),t<0x80000000000000){var i=Math.floor(t*G);e.writeInt8(i>>16,n,r),e.writeUInt16BE(65535&i,n+1,r),e.writeInt32BE(t&-1,n+3,r)}else e[n]=127,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255}function R(e,t,n){return e.readInt32BE(t,n)*V+e.readUInt32BE(t+4,n)}function M(e,t,n,r){r||(o(t,-0x800000000000000000,0x8000000000000000),K.ok(n+8<=e.length,"attempt to write beyond end of buffer")),t<0x8000000000000000?(e.writeInt32BE(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+4,r)):(e[n]=127,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255,e[n+7]=255)}function F(e,t,n){return(e.readInt8(t+2,n)<<16)+e.readUInt16LE(t,n)}function L(e,t,n,r){r||(o(t,-8388608,8388607),K.ok(n+3<=e.length,"attempt to write beyond end of buffer")),e.writeUInt16LE(65535&t,n,r),e.writeInt8(t>>16,n+2,r)}function P(e,t,n){return(e.readInt8(t+4,n)||0)*V+e.readUInt32LE(t,n)}function N(e,t,n,r){r||(o(t,-549755813888,549755813887),K.ok(n+5<=e.length,"attempt to write beyond end of buffer")),e.writeInt32LE(t&-1,n,r),e.writeInt8(Math.floor(t*G),n+4,r)}function q(e,t,n){return e.readInt16LE(t+4,n)*V+e.readUInt32LE(t,n)}function D(e,t,n,r){r||(o(t,-0x800000000000,0x7fffffffffff),K.ok(n+6<=e.length,"attempt to write beyond end of buffer")),e.writeInt32LE(t&-1,n,r),e.writeInt16LE(Math.floor(t*G),n+4,r)}function z(e,t,n){return(((e.readInt8(t+6,n)||0)<<16)+e.readUInt16LE(t+4,n))*V+e.readUInt32LE(t,n)}function H(e,t,n,r){if(r||(o(t,-0x80000000000000,0x80000000000000),K.ok(n+7<=e.length,"attempt to write beyond end of buffer")),t<0x80000000000000){e.writeInt32LE(t&-1,n,r);var i=Math.floor(t*G);e.writeUInt16LE(65535&i,n+4,r),e.writeInt8(i>>16,n+6,r)}else e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=127}function Q(e,t,n){return e.readInt32LE(t+4,n)*V+e.readUInt32LE(t,n)}function W(e,t,n,r){r||(o(t,-0x8000000000000000,0x8000000000000000),K.ok(n+8<=e.length,"attempt to write beyond end of buffer")),t<0x8000000000000000?(e.writeInt32LE(t&-1,n,r),e.writeInt32LE(Math.floor(t*G),n+4,r)):(e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255,e[n+7]=127)}var K=n(121),V=4294967296,G=1/V,Y=9007199254740991;e.exports.isContiguousInt=r,e.exports.assertContiguousInt=i,["UInt","Int"].forEach(function(n){var r=n+"8";e.exports["read"+r]=t.prototype["read"+r].call,e.exports["write"+r]=t.prototype["write"+r].call,["16","32"].forEach(function(r){["LE","BE"].forEach(function(i){var o=n+r+i,s=t.prototype["read"+o];e.exports["read"+o]=function(e,t,n){return s.call(e,t,n)};var a=t.prototype["write"+o];e.exports["write"+o]=function(e,t,n,r){return a.call(e,t,n,r)}})})}),e.exports.readUInt24BE=s,e.exports.writeUInt24BE=a,e.exports.readUInt40BE=u,e.exports.writeUInt40BE=c,e.exports.readUInt48BE=l,e.exports.writeUInt48BE=f,e.exports.readUInt56BE=h,e.exports.writeUInt56BE=p,e.exports.readUInt64BE=d,e.exports.writeUInt64BE=v,e.exports.readUInt24LE=g,e.exports.writeUInt24LE=y,e.exports.readUInt40LE=m,e.exports.writeUInt40LE=b,e.exports.readUInt48LE=_,e.exports.writeUInt48LE=w,e.exports.readUInt56LE=E,e.exports.writeUInt56LE=x,e.exports.readUInt64LE=k,e.exports.writeUInt64LE=I,e.exports.readInt24BE=C,e.exports.writeInt24BE=S,e.exports.readInt40BE=T,e.exports.writeInt40BE=j,e.exports.readInt48BE=B,e.exports.writeInt48BE=U,e.exports.readInt56BE=O,e.exports.writeInt56BE=A,e.exports.readInt64BE=R,e.exports.writeInt64BE=M,e.exports.readInt24LE=F,e.exports.writeInt24LE=L,e.exports.readInt40LE=P,e.exports.writeInt40LE=N,e.exports.readInt48LE=q,e.exports.writeInt48LE=D,e.exports.readInt56LE=z,e.exports.writeInt56LE=H,e.exports.readInt64LE=Q,e.exports.writeInt64LE=W}).call(t,n(3).Buffer)},function(e,t,n){(function(t){"use strict";/*! +"use strict";function r(e){var t,n,r=0,i={versionMajor:void 0,versionMinor:void 0,serverProperties:void 0,mechanisms:void 0,locales:void 0};return t=e[r],r++,i.versionMajor=t,t=e[r],r++,i.versionMinor=t,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.serverProperties=t,n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.mechanisms=t,n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.locales=t,i}function i(e,n){var r,i=0,o=null,s=0,a=0;if(o=n.serverProperties,void 0===o)throw new Error("Missing value for mandatory field 'serverProperties'");if("object"!=typeof o)throw new TypeError("Field 'serverProperties' is the wrong type; must be an object");r=Ct(jt,o,a);var u=jt.slice(a,a+r);if(a+=r,s+=u.length,o=n.mechanisms,void 0===o)o=new t("PLAIN");else if(!t.isBuffer(o))throw new TypeError("Field 'mechanisms' is the wrong type; must be a Buffer");if(s+=o.length,o=n.locales,void 0===o)o=new t("en_US");else if(!t.isBuffer(o))throw new TypeError("Field 'locales' is the wrong type; must be a Buffer");s+=o.length;var c=new t(22+s);if(c[0]=1,c.writeUInt16BE(e,1),c.writeUInt32BE(655370,7),i=11,o=n.versionMajor,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'versionMajor' is the wrong type; must be a number (but not NaN)");if(c.writeUInt8(o,i),i++,o=n.versionMinor,void 0===o)o=9;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'versionMinor' is the wrong type; must be a number (but not NaN)");return c.writeUInt8(o,i),i++,i+=u.copy(c,i),o=n.mechanisms,void 0===o&&(o=new t("PLAIN")),r=o.length,c.writeUInt32BE(r,i),i+=4,o.copy(c,i),i+=r,o=n.locales,void 0===o&&(o=new t("en_US")),r=o.length,c.writeUInt32BE(r,i),i+=4,o.copy(c,i),i+=r,c[i]=206,c.writeUInt32BE(i-7,3),c}function o(e){var t,n,r=0,i={clientProperties:void 0,mechanism:void 0,response:void 0,locale:void 0};return n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.clientProperties=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.mechanism=t,n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.response=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.locale=t,i}function s(e,n){var r,i=0,o=null,s=0,a=0;if(o=n.clientProperties,void 0===o)throw new Error("Missing value for mandatory field 'clientProperties'");if("object"!=typeof o)throw new TypeError("Field 'clientProperties' is the wrong type; must be an object");r=Ct(jt,o,a);var u=jt.slice(a,a+r);if(a+=r,s+=u.length,o=n.mechanism,void 0===o)o="PLAIN";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'mechanism' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(s+=c,o=n.response,void 0===o)throw new Error("Missing value for mandatory field 'response'");if(!t.isBuffer(o))throw new TypeError("Field 'response' is the wrong type; must be a Buffer");if(s+=o.length,o=n.locale,void 0===o)o="en_US";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'locale' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");s+=l;var f=new t(18+s);return f[0]=1,f.writeUInt16BE(e,1),f.writeUInt32BE(655371,7),i=11,i+=u.copy(f,i),o=n.mechanism,void 0===o&&(o="PLAIN"),f[i]=c,i++,f.write(o,i,"utf8"),i+=c,o=n.response,void 0===o&&(o=new t((void 0))),r=o.length,f.writeUInt32BE(r,i),i+=4,o.copy(f,i),i+=r,o=n.locale,void 0===o&&(o="en_US"),f[i]=l,i++,f.write(o,i,"utf8"),i+=l,f[i]=206,f.writeUInt32BE(i-7,3),f}function a(e){var t,n,r=0,i={challenge:void 0};return n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.challenge=t,i}function u(e,n){var r,i=0,o=null,s=0;if(o=n.challenge,void 0===o)throw new Error("Missing value for mandatory field 'challenge'");if(!t.isBuffer(o))throw new TypeError("Field 'challenge' is the wrong type; must be a Buffer");s+=o.length;var a=new t(16+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(655380,7),i=11,o=n.challenge,void 0===o&&(o=new t((void 0))),r=o.length,a.writeUInt32BE(r,i),i+=4,o.copy(a,i),i+=r,a[i]=206,a.writeUInt32BE(i-7,3),a}function c(e){var t,n,r=0,i={response:void 0};return n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.response=t,i}function l(e,n){var r,i=0,o=null,s=0;if(o=n.response,void 0===o)throw new Error("Missing value for mandatory field 'response'");if(!t.isBuffer(o))throw new TypeError("Field 'response' is the wrong type; must be a Buffer");s+=o.length;var a=new t(16+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(655381,7),i=11,o=n.response,void 0===o&&(o=new t((void 0))),r=o.length,a.writeUInt32BE(r,i),i+=4,o.copy(a,i),i+=r,a[i]=206,a.writeUInt32BE(i-7,3),a}function f(e){var t,n=0,r={channelMax:void 0,frameMax:void 0,heartbeat:void 0};return t=e.readUInt16BE(n),n+=2,r.channelMax=t,t=e.readUInt32BE(n),n+=4,r.frameMax=t,t=e.readUInt16BE(n),n+=2,r.heartbeat=t,r}function h(e,n){var r=0,i=null,o=0,s=new t(20+o);if(s[0]=1,s.writeUInt16BE(e,1),s.writeUInt32BE(655390,7),r=11,i=n.channelMax,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'channelMax' is the wrong type; must be a number (but not NaN)");if(s.writeUInt16BE(i,r),r+=2,i=n.frameMax,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'frameMax' is the wrong type; must be a number (but not NaN)");if(s.writeUInt32BE(i,r),r+=4,i=n.heartbeat,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'heartbeat' is the wrong type; must be a number (but not NaN)");return s.writeUInt16BE(i,r),r+=2,s[r]=206,s.writeUInt32BE(r-7,3),s}function p(e){var t,n=0,r={channelMax:void 0,frameMax:void 0,heartbeat:void 0};return t=e.readUInt16BE(n),n+=2,r.channelMax=t,t=e.readUInt32BE(n),n+=4,r.frameMax=t,t=e.readUInt16BE(n),n+=2,r.heartbeat=t,r}function d(e,n){var r=0,i=null,o=0,s=new t(20+o);if(s[0]=1,s.writeUInt16BE(e,1),s.writeUInt32BE(655391,7),r=11,i=n.channelMax,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'channelMax' is the wrong type; must be a number (but not NaN)");if(s.writeUInt16BE(i,r),r+=2,i=n.frameMax,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'frameMax' is the wrong type; must be a number (but not NaN)");if(s.writeUInt32BE(i,r),r+=4,i=n.heartbeat,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'heartbeat' is the wrong type; must be a number (but not NaN)");return s.writeUInt16BE(i,r),r+=2,s[r]=206,s.writeUInt32BE(r-7,3),s}function v(e){var t,n,r=0,i={virtualHost:void 0,capabilities:void 0,insist:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.virtualHost=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.capabilities=t,t=!!(1&e[r]),i.insist=t,i}function g(e,n){var r=0,i=null,o=0,s=0;if(i=n.virtualHost,void 0===i)i="/";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'virtualHost' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");if(s+=a,i=n.capabilities,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'capabilities' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(i,"utf8");s+=u;var c=new t(15+s);return c[0]=1,c.writeUInt16BE(e,1),c.writeUInt32BE(655400,7),r=11,i=n.virtualHost,void 0===i&&(i="/"),c[r]=a,r++,c.write(i,r,"utf8"),r+=a,i=n.capabilities,void 0===i&&(i=""),c[r]=u,r++,c.write(i,r,"utf8"),r+=u,i=n.insist,void 0===i&&(i=!1),i&&(o+=1),c[r]=o,r++,c[r]=206,c.writeUInt32BE(r-7,3),c}function y(e){var t,n,r=0,i={knownHosts:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.knownHosts=t,i}function m(e,n){var r=0,i=null,o=0;if(i=n.knownHosts,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'knownHosts' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(655401,7),r=11,i=n.knownHosts,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function b(e){var t,n,r=0,i={replyCode:void 0,replyText:void 0,classId:void 0,methodId:void 0};return t=e.readUInt16BE(r),r+=2,i.replyCode=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.replyText=t,t=e.readUInt16BE(r),r+=2,i.classId=t,t=e.readUInt16BE(r),r+=2,i.methodId=t,i}function w(e,n){var r=0,i=null,o=0;if(i=n.replyText,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'replyText' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(19+o);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(655410,7),r=11,i=n.replyCode,void 0===i)throw new Error("Missing value for mandatory field 'replyCode'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'replyCode' is the wrong type; must be a number (but not NaN)");if(a.writeUInt16BE(i,r),r+=2,i=n.replyText,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,i=n.classId,void 0===i)throw new Error("Missing value for mandatory field 'classId'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'classId' is the wrong type; must be a number (but not NaN)");if(a.writeUInt16BE(i,r),r+=2,i=n.methodId,void 0===i)throw new Error("Missing value for mandatory field 'methodId'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'methodId' is the wrong type; must be a number (but not NaN)");return a.writeUInt16BE(i,r),r+=2,a[r]=206,a.writeUInt32BE(r-7,3),a}function _(e){var t={};return t}function E(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(655411,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function x(e){var t,n,r=0,i={reason:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.reason=t,i}function k(e,n){var r=0,i=null,o=0;if(i=n.reason,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'reason' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(655420,7),r=11,i=n.reason,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function I(e){var t={};return t}function S(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(655421,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function C(e){var t,n,r=0,i={outOfBand:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.outOfBand=t,i}function T(e,n){var r=0,i=null,o=0;if(i=n.outOfBand,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'outOfBand' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(1310730,7),r=11,i=n.outOfBand,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function j(e){var t,n,r=0,i={channelId:void 0};return n=e.readUInt32BE(r),r+=4,t=e.slice(r,r+n),r+=n,i.channelId=t,i}function U(e,n){var r,i=0,o=null,s=0;if(o=n.channelId,void 0===o)o=new t("");else if(!t.isBuffer(o))throw new TypeError("Field 'channelId' is the wrong type; must be a Buffer");s+=o.length;var a=new t(16+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(1310731,7),i=11,o=n.channelId,void 0===o&&(o=new t("")),r=o.length,a.writeUInt32BE(r,i),i+=4,o.copy(a,i),i+=r,a[i]=206,a.writeUInt32BE(i-7,3),a}function B(e){var t,n=0,r={active:void 0};return t=!!(1&e[n]),r.active=t,r}function O(e,n){var r=0,i=null,o=0,s=0,a=new t(13+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(1310740,7),r=11,i=n.active,void 0===i)throw new Error("Missing value for mandatory field 'active'");return i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function A(e){var t,n=0,r={active:void 0};return t=!!(1&e[n]),r.active=t,r}function R(e,n){var r=0,i=null,o=0,s=0,a=new t(13+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(1310741,7),r=11,i=n.active,void 0===i)throw new Error("Missing value for mandatory field 'active'");return i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function M(e){var t,n,r=0,i={replyCode:void 0,replyText:void 0,classId:void 0,methodId:void 0};return t=e.readUInt16BE(r),r+=2,i.replyCode=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.replyText=t,t=e.readUInt16BE(r),r+=2,i.classId=t,t=e.readUInt16BE(r),r+=2,i.methodId=t,i}function L(e,n){var r=0,i=null,o=0;if(i=n.replyText,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'replyText' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(19+o);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(1310760,7),r=11,i=n.replyCode,void 0===i)throw new Error("Missing value for mandatory field 'replyCode'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'replyCode' is the wrong type; must be a number (but not NaN)");if(a.writeUInt16BE(i,r),r+=2,i=n.replyText,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,i=n.classId,void 0===i)throw new Error("Missing value for mandatory field 'classId'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'classId' is the wrong type; must be a number (but not NaN)");if(a.writeUInt16BE(i,r),r+=2,i=n.methodId,void 0===i)throw new Error("Missing value for mandatory field 'methodId'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'methodId' is the wrong type; must be a number (but not NaN)");return a.writeUInt16BE(i,r),r+=2,a[r]=206,a.writeUInt32BE(r-7,3),a}function F(e){var t={};return t}function P(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(1310761,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function N(e){var t,n,r=0,i={realm:void 0,exclusive:void 0,passive:void 0,active:void 0,write:void 0,read:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.realm=t,t=!!(1&e[r]),i.exclusive=t,t=!!(2&e[r]),i.passive=t,t=!!(4&e[r]),i.active=t,t=!!(8&e[r]),i.write=t,t=!!(16&e[r]),i.read=t,i}function D(e,n){var r=0,i=null,o=0,s=0;if(i=n.realm,void 0===i)i="/data";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'realm' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(14+s);return u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(1966090,7),r=11,i=n.realm,void 0===i&&(i="/data"),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.exclusive,void 0===i&&(i=!1),i&&(o+=1),i=n.passive,void 0===i&&(i=!0),i&&(o+=2),i=n.active,void 0===i&&(i=!0),i&&(o+=4),i=n.write,void 0===i&&(i=!0),i&&(o+=8),i=n.read,void 0===i&&(i=!0),i&&(o+=16),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function q(e){var t,n=0,r={ticket:void 0};return t=e.readUInt16BE(n),n+=2,r.ticket=t,r}function z(e,n){var r=0,i=null,o=0,s=new t(14+o);if(s[0]=1,s.writeUInt16BE(e,1),s.writeUInt32BE(1966091,7),r=11,i=n.ticket,void 0===i)i=1;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return s.writeUInt16BE(i,r),r+=2,s[r]=206,s.writeUInt32BE(r-7,3),s}function H(e){var t,n,r=0,i={ticket:void 0,exchange:void 0,type:void 0,passive:void 0,durable:void 0,autoDelete:void 0,internal:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.type=t,t=!!(1&e[r]),i.passive=t,t=!!(2&e[r]),i.durable=t,t=!!(4&e[r]),i.autoDelete=t,t=!!(8&e[r]),i.internal=t,t=!!(16&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function Q(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.exchange,void 0===o)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.type,void 0===o)o="direct";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'type' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(a+=l,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=Ct(jt,o,u);var f=jt.slice(u,u+r);u+=r,a+=f.length;var h=new t(17+a);if(h[0]=1,h.writeUInt16BE(e,1),h.writeUInt32BE(2621450,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return h.writeUInt16BE(o,i),i+=2,o=n.exchange,void 0===o&&(o=void 0),h[i]=c,i++,h.write(o,i,"utf8"),i+=c,o=n.type,void 0===o&&(o="direct"),h[i]=l,i++,h.write(o,i,"utf8"),i+=l,o=n.passive,void 0===o&&(o=!1),o&&(s+=1),o=n.durable,void 0===o&&(o=!1),o&&(s+=2),o=n.autoDelete,void 0===o&&(o=!1),o&&(s+=4),o=n.internal,void 0===o&&(o=!1),o&&(s+=8),o=n.nowait,void 0===o&&(o=!1),o&&(s+=16),h[i]=s,i++,s=0,i+=f.copy(h,i),h[i]=206,h.writeUInt32BE(i-7,3),h}function W(e){var t={};return t}function K(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(2621451,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function V(e){var t,n,r=0,i={ticket:void 0,exchange:void 0,ifUnused:void 0,nowait:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,t=!!(1&e[r]),i.ifUnused=t,t=!!(2&e[r]),i.nowait=t,i}function G(e,n){var r=0,i=null,o=0,s=0;if(i=n.exchange,void 0===i)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(16+s);if(u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(2621460,7),r=11,i=n.ticket,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return u.writeUInt16BE(i,r),r+=2,i=n.exchange,void 0===i&&(i=void 0),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.ifUnused,void 0===i&&(i=!1),i&&(o+=1),i=n.nowait,void 0===i&&(i=!1),i&&(o+=2),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function Y(e){var t={};return t}function $(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(2621461,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function X(e){var t,n,r=0,i={ticket:void 0,destination:void 0,source:void 0,routingKey:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.destination=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.source=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,t=!!(1&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function J(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.destination,void 0===o)throw new Error("Missing value for mandatory field 'destination'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'destination' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.source,void 0===o)throw new Error("Missing value for mandatory field 'source'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'source' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(a+=l,o=n.routingKey,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var f=t.byteLength(o,"utf8");if(a+=f,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=Ct(jt,o,u);var h=jt.slice(u,u+r);u+=r,a+=h.length;var p=new t(18+a);if(p[0]=1,p.writeUInt16BE(e,1),p.writeUInt32BE(2621470,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return p.writeUInt16BE(o,i),i+=2,o=n.destination,void 0===o&&(o=void 0),p[i]=c,i++,p.write(o,i,"utf8"),i+=c,o=n.source,void 0===o&&(o=void 0),p[i]=l,i++,p.write(o,i,"utf8"),i+=l,o=n.routingKey,void 0===o&&(o=""),p[i]=f,i++,p.write(o,i,"utf8"),i+=f,o=n.nowait,void 0===o&&(o=!1),o&&(s+=1),p[i]=s,i++,s=0,i+=h.copy(p,i),p[i]=206,p.writeUInt32BE(i-7,3),p}function Z(e){var t={};return t}function ee(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(2621471,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function te(e){var t,n,r=0,i={ticket:void 0,destination:void 0,source:void 0,routingKey:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.destination=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.source=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,t=!!(1&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function ne(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.destination,void 0===o)throw new Error("Missing value for mandatory field 'destination'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'destination' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.source,void 0===o)throw new Error("Missing value for mandatory field 'source'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'source' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(a+=l,o=n.routingKey,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var f=t.byteLength(o,"utf8");if(a+=f,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=Ct(jt,o,u);var h=jt.slice(u,u+r);u+=r,a+=h.length;var p=new t(18+a);if(p[0]=1,p.writeUInt16BE(e,1),p.writeUInt32BE(2621480,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return p.writeUInt16BE(o,i),i+=2,o=n.destination,void 0===o&&(o=void 0),p[i]=c,i++,p.write(o,i,"utf8"),i+=c,o=n.source,void 0===o&&(o=void 0),p[i]=l,i++,p.write(o,i,"utf8"),i+=l,o=n.routingKey,void 0===o&&(o=""),p[i]=f,i++,p.write(o,i,"utf8"),i+=f,o=n.nowait,void 0===o&&(o=!1),o&&(s+=1),p[i]=s,i++,s=0,i+=h.copy(p,i),p[i]=206,p.writeUInt32BE(i-7,3),p}function re(e){var t={};return t}function ie(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(2621491,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function oe(e){var t,n,r=0,i={ticket:void 0,queue:void 0,passive:void 0,durable:void 0,exclusive:void 0,autoDelete:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,t=!!(1&e[r]),i.passive=t,t=!!(2&e[r]),i.durable=t,t=!!(4&e[r]),i.exclusive=t,t=!!(8&e[r]),i.autoDelete=t,t=!!(16&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function se(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.queue,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=Ct(jt,o,u);var l=jt.slice(u,u+r);u+=r,a+=l.length;var f=new t(16+a);if(f[0]=1,f.writeUInt16BE(e,1),f.writeUInt32BE(3276810,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return f.writeUInt16BE(o,i),i+=2,o=n.queue,void 0===o&&(o=""),f[i]=c,i++,f.write(o,i,"utf8"),i+=c,o=n.passive,void 0===o&&(o=!1),o&&(s+=1),o=n.durable,void 0===o&&(o=!1),o&&(s+=2),o=n.exclusive,void 0===o&&(o=!1),o&&(s+=4),o=n.autoDelete,void 0===o&&(o=!1),o&&(s+=8),o=n.nowait,void 0===o&&(o=!1),o&&(s+=16),f[i]=s,i++,s=0,i+=l.copy(f,i),f[i]=206,f.writeUInt32BE(i-7,3),f}function ae(e){var t,n,r=0,i={queue:void 0,messageCount:void 0,consumerCount:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,t=e.readUInt32BE(r),r+=4,i.messageCount=t,t=e.readUInt32BE(r),r+=4,i.consumerCount=t,i}function ue(e,n){var r=0,i=null,o=0;if(i=n.queue,void 0===i)throw new Error("Missing value for mandatory field 'queue'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(21+o);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3276811,7),r=11,i=n.queue,void 0===i&&(i=void 0),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,i=n.messageCount,void 0===i)throw new Error("Missing value for mandatory field 'messageCount'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'messageCount' is the wrong type; must be a number (but not NaN)");if(a.writeUInt32BE(i,r),r+=4,i=n.consumerCount,void 0===i)throw new Error("Missing value for mandatory field 'consumerCount'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'consumerCount' is the wrong type; must be a number (but not NaN)");return a.writeUInt32BE(i,r),r+=4,a[r]=206,a.writeUInt32BE(r-7,3),a}function ce(e){var t,n,r=0,i={ticket:void 0,queue:void 0,exchange:void 0,routingKey:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,t=!!(1&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function le(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.queue,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.exchange,void 0===o)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(a+=l,o=n.routingKey,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var f=t.byteLength(o,"utf8");if(a+=f,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=Ct(jt,o,u);var h=jt.slice(u,u+r);u+=r,a+=h.length;var p=new t(18+a);if(p[0]=1,p.writeUInt16BE(e,1),p.writeUInt32BE(3276820,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return p.writeUInt16BE(o,i),i+=2,o=n.queue,void 0===o&&(o=""),p[i]=c,i++,p.write(o,i,"utf8"),i+=c,o=n.exchange,void 0===o&&(o=void 0),p[i]=l,i++,p.write(o,i,"utf8"),i+=l,o=n.routingKey,void 0===o&&(o=""),p[i]=f,i++,p.write(o,i,"utf8"),i+=f,o=n.nowait,void 0===o&&(o=!1),o&&(s+=1),p[i]=s,i++,s=0,i+=h.copy(p,i),p[i]=206,p.writeUInt32BE(i-7,3),p}function fe(e){var t={};return t}function he(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(3276821,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function pe(e){var t,n,r=0,i={ticket:void 0,queue:void 0,nowait:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,t=!!(1&e[r]),i.nowait=t,i}function de(e,n){var r=0,i=null,o=0,s=0;if(i=n.queue,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(16+s);if(u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(3276830,7),r=11,i=n.ticket,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return u.writeUInt16BE(i,r),r+=2,i=n.queue,void 0===i&&(i=""),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.nowait,void 0===i&&(i=!1),i&&(o+=1),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function ve(e){var t,n=0,r={messageCount:void 0};return t=e.readUInt32BE(n),n+=4,r.messageCount=t,r}function ge(e,n){var r=0,i=null,o=0,s=new t(16+o);if(s[0]=1,s.writeUInt16BE(e,1),s.writeUInt32BE(3276831,7),r=11,i=n.messageCount,void 0===i)throw new Error("Missing value for mandatory field 'messageCount'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'messageCount' is the wrong type; must be a number (but not NaN)");return s.writeUInt32BE(i,r),r+=4,s[r]=206,s.writeUInt32BE(r-7,3),s}function ye(e){var t,n,r=0,i={ticket:void 0,queue:void 0,ifUnused:void 0,ifEmpty:void 0,nowait:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,t=!!(1&e[r]),i.ifUnused=t,t=!!(2&e[r]),i.ifEmpty=t,t=!!(4&e[r]),i.nowait=t,i}function me(e,n){var r=0,i=null,o=0,s=0;if(i=n.queue,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(16+s);if(u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(3276840,7),r=11,i=n.ticket,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return u.writeUInt16BE(i,r),r+=2,i=n.queue,void 0===i&&(i=""),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.ifUnused,void 0===i&&(i=!1),i&&(o+=1),i=n.ifEmpty,void 0===i&&(i=!1),i&&(o+=2),i=n.nowait,void 0===i&&(i=!1),i&&(o+=4),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function be(e){var t,n=0,r={messageCount:void 0};return t=e.readUInt32BE(n),n+=4,r.messageCount=t,r}function we(e,n){var r=0,i=null,o=0,s=new t(16+o);if(s[0]=1,s.writeUInt16BE(e,1),s.writeUInt32BE(3276841,7),r=11,i=n.messageCount,void 0===i)throw new Error("Missing value for mandatory field 'messageCount'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'messageCount' is the wrong type; must be a number (but not NaN)");return s.writeUInt32BE(i,r),r+=4,s[r]=206,s.writeUInt32BE(r-7,3),s}function _e(e){var t,n,r=0,i={ticket:void 0,queue:void 0,exchange:void 0,routingKey:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function Ee(e,n){var r,i=0,o=null,s=0,a=0;if(o=n.queue,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(o,"utf8");if(s+=u,o=n.exchange,void 0===o)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(s+=c,o=n.routingKey,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(s+=l,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=Ct(jt,o,a);var f=jt.slice(a,a+r);a+=r,s+=f.length;var h=new t(17+s);if(h[0]=1,h.writeUInt16BE(e,1),h.writeUInt32BE(3276850,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)"); +return h.writeUInt16BE(o,i),i+=2,o=n.queue,void 0===o&&(o=""),h[i]=u,i++,h.write(o,i,"utf8"),i+=u,o=n.exchange,void 0===o&&(o=void 0),h[i]=c,i++,h.write(o,i,"utf8"),i+=c,o=n.routingKey,void 0===o&&(o=""),h[i]=l,i++,h.write(o,i,"utf8"),i+=l,i+=f.copy(h,i),h[i]=206,h.writeUInt32BE(i-7,3),h}function xe(e){var t={};return t}function ke(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(3276851,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function Ie(e){var t,n=0,r={prefetchSize:void 0,prefetchCount:void 0,global:void 0};return t=e.readUInt32BE(n),n+=4,r.prefetchSize=t,t=e.readUInt16BE(n),n+=2,r.prefetchCount=t,t=!!(1&e[n]),r.global=t,r}function Se(e,n){var r=0,i=null,o=0,s=0,a=new t(19+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932170,7),r=11,i=n.prefetchSize,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'prefetchSize' is the wrong type; must be a number (but not NaN)");if(a.writeUInt32BE(i,r),r+=4,i=n.prefetchCount,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'prefetchCount' is the wrong type; must be a number (but not NaN)");return a.writeUInt16BE(i,r),r+=2,i=n.global,void 0===i&&(i=!1),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function Ce(e){var t={};return t}function Te(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(3932171,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function je(e){var t,n,r=0,i={ticket:void 0,queue:void 0,consumerTag:void 0,noLocal:void 0,noAck:void 0,exclusive:void 0,nowait:void 0,arguments:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.consumerTag=t,t=!!(1&e[r]),i.noLocal=t,t=!!(2&e[r]),i.noAck=t,t=!!(4&e[r]),i.exclusive=t,t=!!(8&e[r]),i.nowait=t,r++,n=e.readUInt32BE(r),r+=4,t=Tt(e.slice(r,r+n)),r+=n,i.arguments=t,i}function Ue(e,n){var r,i=0,o=null,s=0,a=0,u=0;if(o=n.queue,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(o,"utf8");if(a+=c,o=n.consumerTag,void 0===o)o="";else if(!("string"==typeof o&&t.byteLength(o)<256))throw new TypeError("Field 'consumerTag' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(o,"utf8");if(a+=l,o=n.arguments,void 0===o)o={};else if("object"!=typeof o)throw new TypeError("Field 'arguments' is the wrong type; must be an object");r=Ct(jt,o,u);var f=jt.slice(u,u+r);u+=r,a+=f.length;var h=new t(17+a);if(h[0]=1,h.writeUInt16BE(e,1),h.writeUInt32BE(3932180,7),i=11,o=n.ticket,void 0===o)o=0;else if("number"!=typeof o||isNaN(o))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return h.writeUInt16BE(o,i),i+=2,o=n.queue,void 0===o&&(o=""),h[i]=c,i++,h.write(o,i,"utf8"),i+=c,o=n.consumerTag,void 0===o&&(o=""),h[i]=l,i++,h.write(o,i,"utf8"),i+=l,o=n.noLocal,void 0===o&&(o=!1),o&&(s+=1),o=n.noAck,void 0===o&&(o=!1),o&&(s+=2),o=n.exclusive,void 0===o&&(o=!1),o&&(s+=4),o=n.nowait,void 0===o&&(o=!1),o&&(s+=8),h[i]=s,i++,s=0,i+=f.copy(h,i),h[i]=206,h.writeUInt32BE(i-7,3),h}function Be(e){var t,n,r=0,i={consumerTag:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.consumerTag=t,i}function Oe(e,n){var r=0,i=null,o=0;if(i=n.consumerTag,void 0===i)throw new Error("Missing value for mandatory field 'consumerTag'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'consumerTag' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932181,7),r=11,i=n.consumerTag,void 0===i&&(i=void 0),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function Ae(e){var t,n,r=0,i={consumerTag:void 0,nowait:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.consumerTag=t,t=!!(1&e[r]),i.nowait=t,i}function Re(e,n){var r=0,i=null,o=0,s=0;if(i=n.consumerTag,void 0===i)throw new Error("Missing value for mandatory field 'consumerTag'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'consumerTag' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(14+s);return u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(3932190,7),r=11,i=n.consumerTag,void 0===i&&(i=void 0),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.nowait,void 0===i&&(i=!1),i&&(o+=1),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function Me(e){var t,n,r=0,i={consumerTag:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.consumerTag=t,i}function Le(e,n){var r=0,i=null,o=0;if(i=n.consumerTag,void 0===i)throw new Error("Missing value for mandatory field 'consumerTag'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'consumerTag' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932191,7),r=11,i=n.consumerTag,void 0===i&&(i=void 0),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function Fe(e){var t,n,r=0,i={ticket:void 0,exchange:void 0,routingKey:void 0,mandatory:void 0,immediate:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,t=!!(1&e[r]),i.mandatory=t,t=!!(2&e[r]),i.immediate=t,i}function Pe(e,n){var r=0,i=null,o=0,s=0;if(i=n.exchange,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");if(s+=a,i=n.routingKey,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(i,"utf8");s+=u;var c=new t(17+s);if(c[0]=1,c.writeUInt16BE(e,1),c.writeUInt32BE(3932200,7),r=11,i=n.ticket,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return c.writeUInt16BE(i,r),r+=2,i=n.exchange,void 0===i&&(i=""),c[r]=a,r++,c.write(i,r,"utf8"),r+=a,i=n.routingKey,void 0===i&&(i=""),c[r]=u,r++,c.write(i,r,"utf8"),r+=u,i=n.mandatory,void 0===i&&(i=!1),i&&(o+=1),i=n.immediate,void 0===i&&(i=!1),i&&(o+=2),c[r]=o,r++,c[r]=206,c.writeUInt32BE(r-7,3),c}function Ne(e){var t,n,r=0,i={replyCode:void 0,replyText:void 0,exchange:void 0,routingKey:void 0};return t=e.readUInt16BE(r),r+=2,i.replyCode=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.replyText=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,i}function De(e,n){var r=0,i=null,o=0;if(i=n.replyText,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'replyText' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");if(o+=s,i=n.exchange,void 0===i)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");if(o+=a,i=n.routingKey,void 0===i)throw new Error("Missing value for mandatory field 'routingKey'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(i,"utf8");o+=u;var c=new t(17+o);if(c[0]=1,c.writeUInt16BE(e,1),c.writeUInt32BE(3932210,7),r=11,i=n.replyCode,void 0===i)throw new Error("Missing value for mandatory field 'replyCode'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'replyCode' is the wrong type; must be a number (but not NaN)");return c.writeUInt16BE(i,r),r+=2,i=n.replyText,void 0===i&&(i=""),c[r]=s,r++,c.write(i,r,"utf8"),r+=s,i=n.exchange,void 0===i&&(i=void 0),c[r]=a,r++,c.write(i,r,"utf8"),r+=a,i=n.routingKey,void 0===i&&(i=void 0),c[r]=u,r++,c.write(i,r,"utf8"),r+=u,c[r]=206,c.writeUInt32BE(r-7,3),c}function qe(e){var t,n,r=0,i={consumerTag:void 0,deliveryTag:void 0,redelivered:void 0,exchange:void 0,routingKey:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.consumerTag=t,t=St.readUInt64BE(e,r),r+=8,i.deliveryTag=t,t=!!(1&e[r]),i.redelivered=t,r++,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,i}function ze(e,n){var r=0,i=null,o=0,s=0;if(i=n.consumerTag,void 0===i)throw new Error("Missing value for mandatory field 'consumerTag'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'consumerTag' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");if(s+=a,i=n.exchange,void 0===i)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(i,"utf8");if(s+=u,i=n.routingKey,void 0===i)throw new Error("Missing value for mandatory field 'routingKey'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var c=t.byteLength(i,"utf8");s+=c;var l=new t(24+s);if(l[0]=1,l.writeUInt16BE(e,1),l.writeUInt32BE(3932220,7),r=11,i=n.consumerTag,void 0===i&&(i=void 0),l[r]=a,r++,l.write(i,r,"utf8"),r+=a,i=n.deliveryTag,void 0===i)throw new Error("Missing value for mandatory field 'deliveryTag'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryTag' is the wrong type; must be a number (but not NaN)");return St.writeUInt64BE(l,i,r),r+=8,i=n.redelivered,void 0===i&&(i=!1),i&&(o+=1),l[r]=o,r++,o=0,i=n.exchange,void 0===i&&(i=void 0),l[r]=u,r++,l.write(i,r,"utf8"),r+=u,i=n.routingKey,void 0===i&&(i=void 0),l[r]=c,r++,l.write(i,r,"utf8"),r+=c,l[r]=206,l.writeUInt32BE(r-7,3),l}function He(e){var t,n,r=0,i={ticket:void 0,queue:void 0,noAck:void 0};return t=e.readUInt16BE(r),r+=2,i.ticket=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.queue=t,t=!!(1&e[r]),i.noAck=t,i}function Qe(e,n){var r=0,i=null,o=0,s=0;if(i=n.queue,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'queue' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");s+=a;var u=new t(16+s);if(u[0]=1,u.writeUInt16BE(e,1),u.writeUInt32BE(3932230,7),r=11,i=n.ticket,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'ticket' is the wrong type; must be a number (but not NaN)");return u.writeUInt16BE(i,r),r+=2,i=n.queue,void 0===i&&(i=""),u[r]=a,r++,u.write(i,r,"utf8"),r+=a,i=n.noAck,void 0===i&&(i=!1),i&&(o+=1),u[r]=o,r++,u[r]=206,u.writeUInt32BE(r-7,3),u}function We(e){var t,n,r=0,i={deliveryTag:void 0,redelivered:void 0,exchange:void 0,routingKey:void 0,messageCount:void 0};return t=St.readUInt64BE(e,r),r+=8,i.deliveryTag=t,t=!!(1&e[r]),i.redelivered=t,r++,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.exchange=t,n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.routingKey=t,t=e.readUInt32BE(r),r+=4,i.messageCount=t,i}function Ke(e,n){var r=0,i=null,o=0,s=0;if(i=n.exchange,void 0===i)throw new Error("Missing value for mandatory field 'exchange'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'exchange' is the wrong type; must be a string (up to 255 chars)");var a=t.byteLength(i,"utf8");if(s+=a,i=n.routingKey,void 0===i)throw new Error("Missing value for mandatory field 'routingKey'");if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'routingKey' is the wrong type; must be a string (up to 255 chars)");var u=t.byteLength(i,"utf8");s+=u;var c=new t(27+s);if(c[0]=1,c.writeUInt16BE(e,1),c.writeUInt32BE(3932231,7),r=11,i=n.deliveryTag,void 0===i)throw new Error("Missing value for mandatory field 'deliveryTag'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryTag' is the wrong type; must be a number (but not NaN)");if(St.writeUInt64BE(c,i,r),r+=8,i=n.redelivered,void 0===i&&(i=!1),i&&(o+=1),c[r]=o,r++,o=0,i=n.exchange,void 0===i&&(i=void 0),c[r]=a,r++,c.write(i,r,"utf8"),r+=a,i=n.routingKey,void 0===i&&(i=void 0),c[r]=u,r++,c.write(i,r,"utf8"),r+=u,i=n.messageCount,void 0===i)throw new Error("Missing value for mandatory field 'messageCount'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'messageCount' is the wrong type; must be a number (but not NaN)");return c.writeUInt32BE(i,r),r+=4,c[r]=206,c.writeUInt32BE(r-7,3),c}function Ve(e){var t,n,r=0,i={clusterId:void 0};return n=e.readUInt8(r),r++,t=e.toString("utf8",r,r+n),r+=n,i.clusterId=t,i}function Ge(e,n){var r=0,i=null,o=0;if(i=n.clusterId,void 0===i)i="";else if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'clusterId' is the wrong type; must be a string (up to 255 chars)");var s=t.byteLength(i,"utf8");o+=s;var a=new t(13+o);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932232,7),r=11,i=n.clusterId,void 0===i&&(i=""),a[r]=s,r++,a.write(i,r,"utf8"),r+=s,a[r]=206,a.writeUInt32BE(r-7,3),a}function Ye(e){var t,n=0,r={deliveryTag:void 0,multiple:void 0};return t=St.readUInt64BE(e,n),n+=8,r.deliveryTag=t,t=!!(1&e[n]),r.multiple=t,r}function $e(e,n){var r=0,i=null,o=0,s=0,a=new t(21+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932240,7),r=11,i=n.deliveryTag,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryTag' is the wrong type; must be a number (but not NaN)");return St.writeUInt64BE(a,i,r),r+=8,i=n.multiple,void 0===i&&(i=!1),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function Xe(e){var t,n=0,r={deliveryTag:void 0,requeue:void 0};return t=St.readUInt64BE(e,n),n+=8,r.deliveryTag=t,t=!!(1&e[n]),r.requeue=t,r}function Je(e,n){var r=0,i=null,o=0,s=0,a=new t(21+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932250,7),r=11,i=n.deliveryTag,void 0===i)throw new Error("Missing value for mandatory field 'deliveryTag'");if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryTag' is the wrong type; must be a number (but not NaN)");return St.writeUInt64BE(a,i,r),r+=8,i=n.requeue,void 0===i&&(i=!0),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function Ze(e){var t,n=0,r={requeue:void 0};return t=!!(1&e[n]),r.requeue=t,r}function et(e,n){var r=0,i=null,o=0,s=0,a=new t(13+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932260,7),r=11,i=n.requeue,void 0===i&&(i=!1),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function tt(e){var t,n=0,r={requeue:void 0};return t=!!(1&e[n]),r.requeue=t,r}function nt(e,n){var r=0,i=null,o=0,s=0,a=new t(13+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932270,7),r=11,i=n.requeue,void 0===i&&(i=!1),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function rt(e){var t={};return t}function it(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(3932271,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function ot(e){var t,n=0,r={deliveryTag:void 0,multiple:void 0,requeue:void 0};return t=St.readUInt64BE(e,n),n+=8,r.deliveryTag=t,t=!!(1&e[n]),r.multiple=t,t=!!(2&e[n]),r.requeue=t,r}function st(e,n){var r=0,i=null,o=0,s=0,a=new t(21+s);if(a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(3932280,7),r=11,i=n.deliveryTag,void 0===i)i=0;else if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryTag' is the wrong type; must be a number (but not NaN)");return St.writeUInt64BE(a,i,r),r+=8,i=n.multiple,void 0===i&&(i=!1),i&&(o+=1),i=n.requeue,void 0===i&&(i=!0),i&&(o+=2),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function at(e){var t={};return t}function ut(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898250,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function ct(e){var t={};return t}function lt(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898251,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function ft(e){var t={};return t}function ht(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898260,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function pt(e){var t={};return t}function dt(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898261,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function vt(e){var t={};return t}function gt(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898270,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function yt(e){var t={};return t}function mt(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5898271,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function bt(e){var t,n=0,r={nowait:void 0};return t=!!(1&e[n]),r.nowait=t,r}function wt(e,n){var r=0,i=null,o=0,s=0,a=new t(13+s);return a[0]=1,a.writeUInt16BE(e,1),a.writeUInt32BE(5570570,7),r=11,i=n.nowait,void 0===i&&(i=!1),i&&(o+=1),a[r]=o,r++,a[r]=206,a.writeUInt32BE(r-7,3),a}function _t(e){var t={};return t}function Et(e,n){var r=0,i=0,o=new t(12+i);return o[0]=1,o.writeUInt16BE(e,1),o.writeUInt32BE(5570571,7),r=11,o[r]=206,o.writeUInt32BE(r-7,3),o}function xt(e,n,r){var i,o,s=0,a=0,u=0,c=0;if(i=r.contentType,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'contentType' is the wrong type; must be a string (up to 255 chars)");var l=t.byteLength(i,"utf8");c+=1,c+=l}if(i=r.contentEncoding,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'contentEncoding' is the wrong type; must be a string (up to 255 chars)");var f=t.byteLength(i,"utf8");c+=1,c+=f}if(i=r.headers,void 0!=i){if("object"!=typeof i)throw new TypeError("Field 'headers' is the wrong type; must be an object");o=Ct(jt,i,u);var h=jt.slice(u,u+o);u+=o,c+=h.length}if(i=r.deliveryMode,void 0!=i){if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'deliveryMode' is the wrong type; must be a number (but not NaN)");c+=1}if(i=r.priority,void 0!=i){if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'priority' is the wrong type; must be a number (but not NaN)");c+=1}if(i=r.correlationId,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'correlationId' is the wrong type; must be a string (up to 255 chars)");var p=t.byteLength(i,"utf8");c+=1,c+=p}if(i=r.replyTo,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'replyTo' is the wrong type; must be a string (up to 255 chars)");var d=t.byteLength(i,"utf8");c+=1,c+=d}if(i=r.expiration,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'expiration' is the wrong type; must be a string (up to 255 chars)");var v=t.byteLength(i,"utf8");c+=1,c+=v}if(i=r.messageId,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'messageId' is the wrong type; must be a string (up to 255 chars)");var g=t.byteLength(i,"utf8");c+=1,c+=g}if(i=r.timestamp,void 0!=i){if("number"!=typeof i||isNaN(i))throw new TypeError("Field 'timestamp' is the wrong type; must be a number (but not NaN)");c+=8}if(i=r.type,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'type' is the wrong type; must be a string (up to 255 chars)");var y=t.byteLength(i,"utf8");c+=1,c+=y}if(i=r.userId,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'userId' is the wrong type; must be a string (up to 255 chars)");var m=t.byteLength(i,"utf8");c+=1,c+=m}if(i=r.appId,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'appId' is the wrong type; must be a string (up to 255 chars)");var b=t.byteLength(i,"utf8");c+=1,c+=b}if(i=r.clusterId,void 0!=i){if(!("string"==typeof i&&t.byteLength(i)<256))throw new TypeError("Field 'clusterId' is the wrong type; must be a string (up to 255 chars)");var w=t.byteLength(i,"utf8");c+=1,c+=w}var _=new t(22+c);return _[0]=2,_.writeUInt16BE(e,1),_.writeUInt32BE(3932160,7),St.writeUInt64BE(_,n,11),a=0,s=21,i=r.contentType,void 0!=i&&(a+=32768,_[s]=l,s++,_.write(i,s,"utf8"),s+=l),i=r.contentEncoding,void 0!=i&&(a+=16384,_[s]=f,s++,_.write(i,s,"utf8"),s+=f),i=r.headers,void 0!=i&&(a+=8192,s+=h.copy(_,s)),i=r.deliveryMode,void 0!=i&&(a+=4096,_.writeUInt8(i,s),s++),i=r.priority,void 0!=i&&(a+=2048,_.writeUInt8(i,s),s++),i=r.correlationId,void 0!=i&&(a+=1024,_[s]=p,s++,_.write(i,s,"utf8"),s+=p),i=r.replyTo,void 0!=i&&(a+=512,_[s]=d,s++,_.write(i,s,"utf8"),s+=d),i=r.expiration,void 0!=i&&(a+=256,_[s]=v,s++,_.write(i,s,"utf8"),s+=v),i=r.messageId,void 0!=i&&(a+=128,_[s]=g,s++,_.write(i,s,"utf8"),s+=g),i=r.timestamp,void 0!=i&&(a+=64,St.writeUInt64BE(_,i,s),s+=8),i=r.type,void 0!=i&&(a+=32,_[s]=y,s++,_.write(i,s,"utf8"),s+=y),i=r.userId,void 0!=i&&(a+=16,_[s]=m,s++,_.write(i,s,"utf8"),s+=m),i=r.appId,void 0!=i&&(a+=8,_[s]=b,s++,_.write(i,s,"utf8"),s+=b),i=r.clusterId,void 0!=i&&(a+=4,_[s]=w,s++,_.write(i,s,"utf8"),s+=w),_[s]=206,_.writeUInt32BE(s-7,3),_.writeUInt16BE(a,19),_.slice(0,s+1)}function kt(e){var t,n,r,i=2;if(t=e.readUInt16BE(0),0===t)return{};var o={contentType:void 0,contentEncoding:void 0,headers:void 0,deliveryMode:void 0,priority:void 0,correlationId:void 0,replyTo:void 0,expiration:void 0,messageId:void 0,timestamp:void 0,type:void 0,userId:void 0,appId:void 0,clusterId:void 0};return 32768&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.contentType=n),16384&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.contentEncoding=n),8192&t&&(r=e.readUInt32BE(i),i+=4,n=Tt(e.slice(i,i+r)),i+=r,o.headers=n),4096&t&&(n=e[i],i++,o.deliveryMode=n),2048&t&&(n=e[i],i++,o.priority=n),1024&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.correlationId=n),512&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.replyTo=n),256&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.expiration=n),128&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.messageId=n),64&t&&(n=St.readUInt64BE(e,i),i+=8,o.timestamp=n),32&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.type=n),16&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.userId=n),8&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.appId=n),4&t&&(r=e.readUInt8(i),i++,n=e.toString("utf8",i,i+r),i+=r,o.clusterId=n),o}var It=n(70),St=n(71),Ct=It.encodeTable,Tt=It.decodeFields,jt=new t(4096);Object.freeze({});e.exports.constants={FRAME_METHOD:1,FRAME_HEADER:2,FRAME_BODY:3,FRAME_HEARTBEAT:8,FRAME_MIN_SIZE:4096,FRAME_END:206,REPLY_SUCCESS:200,CONTENT_TOO_LARGE:311,NO_ROUTE:312,NO_CONSUMERS:313,ACCESS_REFUSED:403,NOT_FOUND:404,RESOURCE_LOCKED:405,PRECONDITION_FAILED:406,CONNECTION_FORCED:320,INVALID_PATH:402,FRAME_ERROR:501,SYNTAX_ERROR:502,COMMAND_INVALID:503,CHANNEL_ERROR:504,UNEXPECTED_FRAME:505,RESOURCE_ERROR:506,NOT_ALLOWED:530,NOT_IMPLEMENTED:540,INTERNAL_ERROR:541},e.exports.constant_strs={1:"FRAME-METHOD",2:"FRAME-HEADER",3:"FRAME-BODY",8:"FRAME-HEARTBEAT",200:"REPLY-SUCCESS",206:"FRAME-END",311:"CONTENT-TOO-LARGE",312:"NO-ROUTE",313:"NO-CONSUMERS",320:"CONNECTION-FORCED",402:"INVALID-PATH",403:"ACCESS-REFUSED",404:"NOT-FOUND",405:"RESOURCE-LOCKED",406:"PRECONDITION-FAILED",501:"FRAME-ERROR",502:"SYNTAX-ERROR",503:"COMMAND-INVALID",504:"CHANNEL-ERROR",505:"UNEXPECTED-FRAME",506:"RESOURCE-ERROR",530:"NOT-ALLOWED",540:"NOT-IMPLEMENTED",541:"INTERNAL-ERROR",4096:"FRAME-MIN-SIZE"},e.exports.FRAME_OVERHEAD=8,e.exports.decode=function(e,t){switch(e){case 655370:return r(t);case 655371:return o(t);case 655380:return a(t);case 655381:return c(t);case 655390:return f(t);case 655391:return p(t);case 655400:return v(t);case 655401:return y(t);case 655410:return b(t);case 655411:return _(t);case 655420:return x(t);case 655421:return I(t);case 1310730:return C(t);case 1310731:return j(t);case 1310740:return B(t);case 1310741:return A(t);case 1310760:return M(t);case 1310761:return F(t);case 1966090:return N(t);case 1966091:return q(t);case 2621450:return H(t);case 2621451:return W(t);case 2621460:return V(t);case 2621461:return Y(t);case 2621470:return X(t);case 2621471:return Z(t);case 2621480:return te(t);case 2621491:return re(t);case 3276810:return oe(t);case 3276811:return ae(t);case 3276820:return ce(t);case 3276821:return fe(t);case 3276830:return pe(t);case 3276831:return ve(t);case 3276840:return ye(t);case 3276841:return be(t);case 3276850:return _e(t);case 3276851:return xe(t);case 3932170:return Ie(t);case 3932171:return Ce(t);case 3932180:return je(t);case 3932181:return Be(t);case 3932190:return Ae(t);case 3932191:return Me(t);case 3932200:return Fe(t);case 3932210:return Ne(t);case 3932220:return qe(t);case 3932230:return He(t);case 3932231:return We(t);case 3932232:return Ve(t);case 3932240:return Ye(t);case 3932250:return Xe(t);case 3932260:return Ze(t);case 3932270:return tt(t);case 3932271:return rt(t);case 3932280:return ot(t);case 5898250:return at(t);case 5898251:return ct(t);case 5898260:return ft(t);case 5898261:return pt(t);case 5898270:return vt(t);case 5898271:return yt(t);case 5570570:return bt(t);case 5570571:return _t(t);case 60:return kt(t);default:throw new Error("Unknown class/method ID")}},e.exports.encodeMethod=function(e,t,n){switch(e){case 655370:return i(t,n);case 655371:return s(t,n);case 655380:return u(t,n);case 655381:return l(t,n);case 655390:return h(t,n);case 655391:return d(t,n);case 655400:return g(t,n);case 655401:return m(t,n);case 655410:return w(t,n);case 655411:return E(t,n);case 655420:return k(t,n);case 655421:return S(t,n);case 1310730:return T(t,n);case 1310731:return U(t,n);case 1310740:return O(t,n);case 1310741:return R(t,n);case 1310760:return L(t,n);case 1310761:return P(t,n);case 1966090:return D(t,n);case 1966091:return z(t,n);case 2621450:return Q(t,n);case 2621451:return K(t,n);case 2621460:return G(t,n);case 2621461:return $(t,n);case 2621470:return J(t,n);case 2621471:return ee(t,n);case 2621480:return ne(t,n);case 2621491:return ie(t,n);case 3276810:return se(t,n);case 3276811:return ue(t,n);case 3276820:return le(t,n);case 3276821:return he(t,n);case 3276830:return de(t,n);case 3276831:return ge(t,n);case 3276840:return me(t,n);case 3276841:return we(t,n);case 3276850:return Ee(t,n);case 3276851:return ke(t,n);case 3932170:return Se(t,n);case 3932171:return Te(t,n);case 3932180:return Ue(t,n);case 3932181:return Oe(t,n);case 3932190:return Re(t,n);case 3932191:return Le(t,n);case 3932200:return Pe(t,n);case 3932210:return De(t,n);case 3932220:return ze(t,n);case 3932230:return Qe(t,n);case 3932231:return Ke(t,n);case 3932232:return Ge(t,n);case 3932240:return $e(t,n);case 3932250:return Je(t,n);case 3932260:return et(t,n);case 3932270:return nt(t,n);case 3932271:return it(t,n);case 3932280:return st(t,n);case 5898250:return ut(t,n);case 5898251:return lt(t,n);case 5898260:return ht(t,n);case 5898261:return dt(t,n);case 5898270:return gt(t,n);case 5898271:return mt(t,n);case 5570570:return wt(t,n);case 5570571:return Et(t,n);default:throw new Error("Unknown class/method ID")}},e.exports.encodeProperties=function(e,t,n,r){switch(e){case 60:return xt(t,n,r);default:throw new Error("Unknown class/properties ID")}},e.exports.info=function(e){switch(e){case 655370:return Ut;case 655371:return Bt;case 655380:return Ot;case 655381:return At;case 655390:return Rt;case 655391:return Mt;case 655400:return Lt;case 655401:return Ft;case 655410:return Pt;case 655411:return Nt;case 655420:return Dt;case 655421:return qt;case 1310730:return zt;case 1310731:return Ht;case 1310740:return Qt;case 1310741:return Wt;case 1310760:return Kt;case 1310761:return Vt;case 1966090:return Gt;case 1966091:return Yt;case 2621450:return $t;case 2621451:return Xt;case 2621460:return Jt;case 2621461:return Zt;case 2621470:return en;case 2621471:return tn;case 2621480:return nn;case 2621491:return rn;case 3276810:return on;case 3276811:return sn;case 3276820:return an;case 3276821:return un;case 3276830:return cn;case 3276831:return ln;case 3276840:return fn;case 3276841:return hn;case 3276850:return pn;case 3276851:return dn;case 3932170:return vn;case 3932171:return gn;case 3932180:return yn;case 3932181:return mn;case 3932190:return bn;case 3932191:return wn;case 3932200:return _n;case 3932210:return En;case 3932220:return xn;case 3932230:return kn;case 3932231:return In;case 3932232:return Sn;case 3932240:return Cn;case 3932250:return Tn;case 3932260:return jn;case 3932270:return Un;case 3932271:return Bn;case 3932280:return On;case 5898250:return An;case 5898251:return Rn;case 5898260:return Mn;case 5898261:return Ln;case 5898270:return Fn;case 5898271:return Pn;case 5570570:return Nn;case 5570571:return Dn;case 60:return qn;default:throw new Error("Unknown class/method ID")}},e.exports.ConnectionStart=655370;var Ut=e.exports.methodInfoConnectionStart={id:655370,name:"ConnectionStart",args:[{type:"octet",name:"versionMajor","default":0},{type:"octet",name:"versionMinor","default":9},{type:"table",name:"serverProperties"},{type:"longstr",name:"mechanisms","default":"PLAIN"},{type:"longstr",name:"locales","default":"en_US"}]};e.exports.ConnectionStartOk=655371;var Bt=e.exports.methodInfoConnectionStartOk={id:655371,name:"ConnectionStartOk",args:[{type:"table",name:"clientProperties"},{type:"shortstr",name:"mechanism","default":"PLAIN"},{type:"longstr",name:"response"},{type:"shortstr",name:"locale","default":"en_US"}]};e.exports.ConnectionSecure=655380;var Ot=e.exports.methodInfoConnectionSecure={id:655380,name:"ConnectionSecure",args:[{type:"longstr",name:"challenge"}]};e.exports.ConnectionSecureOk=655381;var At=e.exports.methodInfoConnectionSecureOk={id:655381,name:"ConnectionSecureOk",args:[{type:"longstr",name:"response"}]};e.exports.ConnectionTune=655390;var Rt=e.exports.methodInfoConnectionTune={id:655390,name:"ConnectionTune",args:[{type:"short",name:"channelMax","default":0},{type:"long",name:"frameMax","default":0},{type:"short",name:"heartbeat","default":0}]};e.exports.ConnectionTuneOk=655391;var Mt=e.exports.methodInfoConnectionTuneOk={id:655391,name:"ConnectionTuneOk",args:[{type:"short",name:"channelMax","default":0},{type:"long",name:"frameMax","default":0},{type:"short",name:"heartbeat","default":0}]};e.exports.ConnectionOpen=655400;var Lt=e.exports.methodInfoConnectionOpen={id:655400,name:"ConnectionOpen",args:[{type:"shortstr",name:"virtualHost","default":"/"},{type:"shortstr",name:"capabilities","default":""},{type:"bit",name:"insist","default":!1}]};e.exports.ConnectionOpenOk=655401;var Ft=e.exports.methodInfoConnectionOpenOk={id:655401,name:"ConnectionOpenOk",args:[{type:"shortstr",name:"knownHosts","default":""}]};e.exports.ConnectionClose=655410;var Pt=e.exports.methodInfoConnectionClose={id:655410,name:"ConnectionClose",args:[{type:"short",name:"replyCode"},{type:"shortstr",name:"replyText","default":""},{type:"short",name:"classId"},{type:"short",name:"methodId"}]};e.exports.ConnectionCloseOk=655411;var Nt=e.exports.methodInfoConnectionCloseOk={id:655411,name:"ConnectionCloseOk",args:[]};e.exports.ConnectionBlocked=655420;var Dt=e.exports.methodInfoConnectionBlocked={id:655420,name:"ConnectionBlocked",args:[{type:"shortstr",name:"reason","default":""}]};e.exports.ConnectionUnblocked=655421;var qt=e.exports.methodInfoConnectionUnblocked={id:655421,name:"ConnectionUnblocked",args:[]};e.exports.ChannelOpen=1310730;var zt=e.exports.methodInfoChannelOpen={id:1310730,name:"ChannelOpen",args:[{type:"shortstr",name:"outOfBand","default":""}]};e.exports.ChannelOpenOk=1310731;var Ht=e.exports.methodInfoChannelOpenOk={id:1310731,name:"ChannelOpenOk",args:[{type:"longstr",name:"channelId","default":""}]};e.exports.ChannelFlow=1310740;var Qt=e.exports.methodInfoChannelFlow={id:1310740,name:"ChannelFlow",args:[{type:"bit",name:"active" +}]};e.exports.ChannelFlowOk=1310741;var Wt=e.exports.methodInfoChannelFlowOk={id:1310741,name:"ChannelFlowOk",args:[{type:"bit",name:"active"}]};e.exports.ChannelClose=1310760;var Kt=e.exports.methodInfoChannelClose={id:1310760,name:"ChannelClose",args:[{type:"short",name:"replyCode"},{type:"shortstr",name:"replyText","default":""},{type:"short",name:"classId"},{type:"short",name:"methodId"}]};e.exports.ChannelCloseOk=1310761;var Vt=e.exports.methodInfoChannelCloseOk={id:1310761,name:"ChannelCloseOk",args:[]};e.exports.AccessRequest=1966090;var Gt=e.exports.methodInfoAccessRequest={id:1966090,name:"AccessRequest",args:[{type:"shortstr",name:"realm","default":"/data"},{type:"bit",name:"exclusive","default":!1},{type:"bit",name:"passive","default":!0},{type:"bit",name:"active","default":!0},{type:"bit",name:"write","default":!0},{type:"bit",name:"read","default":!0}]};e.exports.AccessRequestOk=1966091;var Yt=e.exports.methodInfoAccessRequestOk={id:1966091,name:"AccessRequestOk",args:[{type:"short",name:"ticket","default":1}]};e.exports.ExchangeDeclare=2621450;var $t=e.exports.methodInfoExchangeDeclare={id:2621450,name:"ExchangeDeclare",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"type","default":"direct"},{type:"bit",name:"passive","default":!1},{type:"bit",name:"durable","default":!1},{type:"bit",name:"autoDelete","default":!1},{type:"bit",name:"internal","default":!1},{type:"bit",name:"nowait","default":!1},{type:"table",name:"arguments","default":{}}]};e.exports.ExchangeDeclareOk=2621451;var Xt=e.exports.methodInfoExchangeDeclareOk={id:2621451,name:"ExchangeDeclareOk",args:[]};e.exports.ExchangeDelete=2621460;var Jt=e.exports.methodInfoExchangeDelete={id:2621460,name:"ExchangeDelete",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"exchange"},{type:"bit",name:"ifUnused","default":!1},{type:"bit",name:"nowait","default":!1}]};e.exports.ExchangeDeleteOk=2621461;var Zt=e.exports.methodInfoExchangeDeleteOk={id:2621461,name:"ExchangeDeleteOk",args:[]};e.exports.ExchangeBind=2621470;var en=e.exports.methodInfoExchangeBind={id:2621470,name:"ExchangeBind",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"destination"},{type:"shortstr",name:"source"},{type:"shortstr",name:"routingKey","default":""},{type:"bit",name:"nowait","default":!1},{type:"table",name:"arguments","default":{}}]};e.exports.ExchangeBindOk=2621471;var tn=e.exports.methodInfoExchangeBindOk={id:2621471,name:"ExchangeBindOk",args:[]};e.exports.ExchangeUnbind=2621480;var nn=e.exports.methodInfoExchangeUnbind={id:2621480,name:"ExchangeUnbind",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"destination"},{type:"shortstr",name:"source"},{type:"shortstr",name:"routingKey","default":""},{type:"bit",name:"nowait","default":!1},{type:"table",name:"arguments","default":{}}]};e.exports.ExchangeUnbindOk=2621491;var rn=e.exports.methodInfoExchangeUnbindOk={id:2621491,name:"ExchangeUnbindOk",args:[]};e.exports.QueueDeclare=3276810;var on=e.exports.methodInfoQueueDeclare={id:3276810,name:"QueueDeclare",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"queue","default":""},{type:"bit",name:"passive","default":!1},{type:"bit",name:"durable","default":!1},{type:"bit",name:"exclusive","default":!1},{type:"bit",name:"autoDelete","default":!1},{type:"bit",name:"nowait","default":!1},{type:"table",name:"arguments","default":{}}]};e.exports.QueueDeclareOk=3276811;var sn=e.exports.methodInfoQueueDeclareOk={id:3276811,name:"QueueDeclareOk",args:[{type:"shortstr",name:"queue"},{type:"long",name:"messageCount"},{type:"long",name:"consumerCount"}]};e.exports.QueueBind=3276820;var an=e.exports.methodInfoQueueBind={id:3276820,name:"QueueBind",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"queue","default":""},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"routingKey","default":""},{type:"bit",name:"nowait","default":!1},{type:"table",name:"arguments","default":{}}]};e.exports.QueueBindOk=3276821;var un=e.exports.methodInfoQueueBindOk={id:3276821,name:"QueueBindOk",args:[]};e.exports.QueuePurge=3276830;var cn=e.exports.methodInfoQueuePurge={id:3276830,name:"QueuePurge",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"queue","default":""},{type:"bit",name:"nowait","default":!1}]};e.exports.QueuePurgeOk=3276831;var ln=e.exports.methodInfoQueuePurgeOk={id:3276831,name:"QueuePurgeOk",args:[{type:"long",name:"messageCount"}]};e.exports.QueueDelete=3276840;var fn=e.exports.methodInfoQueueDelete={id:3276840,name:"QueueDelete",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"queue","default":""},{type:"bit",name:"ifUnused","default":!1},{type:"bit",name:"ifEmpty","default":!1},{type:"bit",name:"nowait","default":!1}]};e.exports.QueueDeleteOk=3276841;var hn=e.exports.methodInfoQueueDeleteOk={id:3276841,name:"QueueDeleteOk",args:[{type:"long",name:"messageCount"}]};e.exports.QueueUnbind=3276850;var pn=e.exports.methodInfoQueueUnbind={id:3276850,name:"QueueUnbind",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"queue","default":""},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"routingKey","default":""},{type:"table",name:"arguments","default":{}}]};e.exports.QueueUnbindOk=3276851;var dn=e.exports.methodInfoQueueUnbindOk={id:3276851,name:"QueueUnbindOk",args:[]};e.exports.BasicQos=3932170;var vn=e.exports.methodInfoBasicQos={id:3932170,name:"BasicQos",args:[{type:"long",name:"prefetchSize","default":0},{type:"short",name:"prefetchCount","default":0},{type:"bit",name:"global","default":!1}]};e.exports.BasicQosOk=3932171;var gn=e.exports.methodInfoBasicQosOk={id:3932171,name:"BasicQosOk",args:[]};e.exports.BasicConsume=3932180;var yn=e.exports.methodInfoBasicConsume={id:3932180,name:"BasicConsume",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"queue","default":""},{type:"shortstr",name:"consumerTag","default":""},{type:"bit",name:"noLocal","default":!1},{type:"bit",name:"noAck","default":!1},{type:"bit",name:"exclusive","default":!1},{type:"bit",name:"nowait","default":!1},{type:"table",name:"arguments","default":{}}]};e.exports.BasicConsumeOk=3932181;var mn=e.exports.methodInfoBasicConsumeOk={id:3932181,name:"BasicConsumeOk",args:[{type:"shortstr",name:"consumerTag"}]};e.exports.BasicCancel=3932190;var bn=e.exports.methodInfoBasicCancel={id:3932190,name:"BasicCancel",args:[{type:"shortstr",name:"consumerTag"},{type:"bit",name:"nowait","default":!1}]};e.exports.BasicCancelOk=3932191;var wn=e.exports.methodInfoBasicCancelOk={id:3932191,name:"BasicCancelOk",args:[{type:"shortstr",name:"consumerTag"}]};e.exports.BasicPublish=3932200;var _n=e.exports.methodInfoBasicPublish={id:3932200,name:"BasicPublish",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"exchange","default":""},{type:"shortstr",name:"routingKey","default":""},{type:"bit",name:"mandatory","default":!1},{type:"bit",name:"immediate","default":!1}]};e.exports.BasicReturn=3932210;var En=e.exports.methodInfoBasicReturn={id:3932210,name:"BasicReturn",args:[{type:"short",name:"replyCode"},{type:"shortstr",name:"replyText","default":""},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"routingKey"}]};e.exports.BasicDeliver=3932220;var xn=e.exports.methodInfoBasicDeliver={id:3932220,name:"BasicDeliver",args:[{type:"shortstr",name:"consumerTag"},{type:"longlong",name:"deliveryTag"},{type:"bit",name:"redelivered","default":!1},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"routingKey"}]};e.exports.BasicGet=3932230;var kn=e.exports.methodInfoBasicGet={id:3932230,name:"BasicGet",args:[{type:"short",name:"ticket","default":0},{type:"shortstr",name:"queue","default":""},{type:"bit",name:"noAck","default":!1}]};e.exports.BasicGetOk=3932231;var In=e.exports.methodInfoBasicGetOk={id:3932231,name:"BasicGetOk",args:[{type:"longlong",name:"deliveryTag"},{type:"bit",name:"redelivered","default":!1},{type:"shortstr",name:"exchange"},{type:"shortstr",name:"routingKey"},{type:"long",name:"messageCount"}]};e.exports.BasicGetEmpty=3932232;var Sn=e.exports.methodInfoBasicGetEmpty={id:3932232,name:"BasicGetEmpty",args:[{type:"shortstr",name:"clusterId","default":""}]};e.exports.BasicAck=3932240;var Cn=e.exports.methodInfoBasicAck={id:3932240,name:"BasicAck",args:[{type:"longlong",name:"deliveryTag","default":0},{type:"bit",name:"multiple","default":!1}]};e.exports.BasicReject=3932250;var Tn=e.exports.methodInfoBasicReject={id:3932250,name:"BasicReject",args:[{type:"longlong",name:"deliveryTag"},{type:"bit",name:"requeue","default":!0}]};e.exports.BasicRecoverAsync=3932260;var jn=e.exports.methodInfoBasicRecoverAsync={id:3932260,name:"BasicRecoverAsync",args:[{type:"bit",name:"requeue","default":!1}]};e.exports.BasicRecover=3932270;var Un=e.exports.methodInfoBasicRecover={id:3932270,name:"BasicRecover",args:[{type:"bit",name:"requeue","default":!1}]};e.exports.BasicRecoverOk=3932271;var Bn=e.exports.methodInfoBasicRecoverOk={id:3932271,name:"BasicRecoverOk",args:[]};e.exports.BasicNack=3932280;var On=e.exports.methodInfoBasicNack={id:3932280,name:"BasicNack",args:[{type:"longlong",name:"deliveryTag","default":0},{type:"bit",name:"multiple","default":!1},{type:"bit",name:"requeue","default":!0}]};e.exports.TxSelect=5898250;var An=e.exports.methodInfoTxSelect={id:5898250,name:"TxSelect",args:[]};e.exports.TxSelectOk=5898251;var Rn=e.exports.methodInfoTxSelectOk={id:5898251,name:"TxSelectOk",args:[]};e.exports.TxCommit=5898260;var Mn=e.exports.methodInfoTxCommit={id:5898260,name:"TxCommit",args:[]};e.exports.TxCommitOk=5898261;var Ln=e.exports.methodInfoTxCommitOk={id:5898261,name:"TxCommitOk",args:[]};e.exports.TxRollback=5898270;var Fn=e.exports.methodInfoTxRollback={id:5898270,name:"TxRollback",args:[]};e.exports.TxRollbackOk=5898271;var Pn=e.exports.methodInfoTxRollbackOk={id:5898271,name:"TxRollbackOk",args:[]};e.exports.ConfirmSelect=5570570;var Nn=e.exports.methodInfoConfirmSelect={id:5570570,name:"ConfirmSelect",args:[{type:"bit",name:"nowait","default":!1}]};e.exports.ConfirmSelectOk=5570571;var Dn=e.exports.methodInfoConfirmSelectOk={id:5570571,name:"ConfirmSelectOk",args:[]};e.exports.BasicProperties=60;var qn=e.exports.propertiesInfoBasicProperties={id:60,name:"BasicProperties",args:[{type:"shortstr",name:"contentType"},{type:"shortstr",name:"contentEncoding"},{type:"table",name:"headers"},{type:"octet",name:"deliveryMode"},{type:"octet",name:"priority"},{type:"shortstr",name:"correlationId"},{type:"shortstr",name:"replyTo"},{type:"shortstr",name:"expiration"},{type:"shortstr",name:"messageId"},{type:"timestamp",name:"timestamp"},{type:"shortstr",name:"type"},{type:"shortstr",name:"userId"},{type:"shortstr",name:"appId"},{type:"shortstr",name:"clusterId"}]}}).call(t,n(3).Buffer)},function(e,t,n){(function(t){"use strict";function r(e){return e>=0x8000000000000000||Math.abs(e)<0x4000000000000&&Math.floor(e)!==e}function i(e,n,r){var i=r;r+=4;for(var o in n)if(void 0!==n[o]){var a=t.byteLength(o);e.writeUInt8(a,r),r++,e.write(o,r,"utf8"),r+=a,r+=s(e,n[o],r)}var u=r-i;return e.writeUInt32BE(u-4,i),u}function o(e,t,n){var r=n;n+=4;for(var i=0,o=t.length;i=-128?(a("b"),e.writeInt8(f,s),s++):f>=-32768&&f<32768?(a("s"),e.writeInt16BE(f,s),s+=2):f>=-2147483648&&f<2147483648?(a("I"),e.writeInt32BE(f,s),s+=4):(a("l"),u.writeInt64BE(e,f,s),s+=8);break;case"timestamp":a("T"),u.writeUInt64BE(e,f,s),s+=8;break;case"float":a("f"),e.writeFloatBE(f,s),s+=4;break;case"decimal":if(a("D"),!(f.hasOwnProperty("places")&&f.hasOwnProperty("digits")&&f.places>=0&&f.places<256))throw new TypeError("Decimal value must be {'places': 0..255, 'digits': uint32}, got "+JSON.stringify(f));e[s]=f.places,s++,e.writeUInt32BE(f.digits,s),s+=4;break;default:throw new TypeError("Unknown type to encode: "+l)}return s-c}function a(e){function t(){var t=String.fromCharCode(e[c]);switch(c++,t){case"b":o=e.readInt8(c),c++;break;case"S":r=e.readUInt32BE(c),c+=4,o=e.toString("utf8",c,c+r),c+=r;break;case"I":o=e.readInt32BE(c),c+=4;break;case"D":var i=e[c];c++;var s=e.readUInt32BE(c);c+=4,o={"!":"decimal",value:{places:i,digits:s}};break;case"T":o=u.readUInt64BE(e,c),c+=8,o={"!":"timestamp",value:o};break;case"F":r=e.readUInt32BE(c),c+=4,o=a(e.slice(c,c+r)),c+=r;break;case"A":r=e.readUInt32BE(c),c+=4,n(c+r);break;case"d":o=e.readDoubleBE(c),c+=8;break;case"f":o=e.readFloatBE(c),c+=4;break;case"l":o=u.readInt64BE(e,c),c+=8;break;case"s":o=e.readInt16BE(c),c+=2;break;case"t":o=0!=e[c],c++;break;case"V":o=null;break;case"x":r=e.readUInt32BE(c),c+=4,o=e.slice(c,c+r),c+=r;break;default:throw new TypeError('Unexpected type tag "'+t+'"')}}function n(e){for(var n=[];c=-Y}function i(e){K(r(e),"number cannot be represented as a contiguous integer")}function o(e,t,n){K.ok("number"==typeof e&&e>=t&&e<=n&&Math.floor(e)===e,"not a number in the required range")}function s(e,t,n){return e.readUInt8(t,n)<<16|e.readUInt16BE(t+1,n)}function a(e,t,n,r){r||(o(t,0,16777215),K.ok(n+3<=e.length,"attempt to write beyond end of buffer")),e.writeUInt8(t>>>16,n,r),e.writeUInt16BE(65535&t,n+1,r)}function u(e,t,n){return(e.readUInt8(t,n)||0)*V+e.readUInt32BE(t+1,n)}function c(e,t,n,r){r||(o(t,0,0xffffffffff),K.ok(n+5<=e.length,"attempt to write beyond end of buffer")),e.writeUInt8(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+1,r)}function l(e,t,n){return e.readUInt16BE(t,n)*V+e.readUInt32BE(t+2,n)}function f(e,t,n,r){r||(o(t,0,0xffffffffffff),K.ok(n+6<=e.length,"attempt to write beyond end of buffer")),e.writeUInt16BE(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+2,r)}function h(e,t,n){return((e.readUInt8(t,n)||0)<<16|e.readUInt16BE(t+1,n))*V+e.readUInt32BE(t+3,n)}function p(e,t,n,r){if(r||(o(t,0,72057594037927940),K.ok(n+7<=e.length,"attempt to write beyond end of buffer")),t<72057594037927940){var i=Math.floor(t*G);e.writeUInt8(i>>>16,n,r),e.writeUInt16BE(65535&i,n+1,r),e.writeInt32BE(t&-1,n+3,r)}else e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255}function d(e,t,n){return e.readUInt32BE(t,n)*V+e.readUInt32BE(t+4,n)}function v(e,t,n,r){r||(o(t,0,0x10000000000000000),K.ok(n+8<=e.length,"attempt to write beyond end of buffer")),t<0x10000000000000000?(e.writeUInt32BE(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+4,r)):(e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255,e[n+7]=255)}function g(e,t,n){return e.readUInt8(t+2,n)<<16|e.readUInt16LE(t,n)}function y(e,t,n,r){r||(o(t,0,16777215),K.ok(n+3<=e.length,"attempt to write beyond end of buffer")),e.writeUInt16LE(65535&t,n,r),e.writeUInt8(t>>>16,n+2,r)}function m(e,t,n){return(e.readUInt8(t+4,n)||0)*V+e.readUInt32LE(t,n)}function b(e,t,n,r){r||(o(t,0,0xffffffffff),K.ok(n+5<=e.length,"attempt to write beyond end of buffer")),e.writeInt32LE(t&-1,n,r),e.writeUInt8(Math.floor(t*G),n+4,r)}function w(e,t,n){return e.readUInt16LE(t+4,n)*V+e.readUInt32LE(t,n)}function _(e,t,n,r){r||(o(t,0,0xffffffffffff),K.ok(n+6<=e.length,"attempt to write beyond end of buffer")),e.writeInt32LE(t&-1,n,r),e.writeUInt16LE(Math.floor(t*G),n+4,r)}function E(e,t,n){return((e.readUInt8(t+6,n)||0)<<16|e.readUInt16LE(t+4,n))*V+e.readUInt32LE(t,n)}function x(e,t,n,r){if(r||(o(t,0,72057594037927940),K.ok(n+7<=e.length,"attempt to write beyond end of buffer")),t<72057594037927940){e.writeInt32LE(t&-1,n,r);var i=Math.floor(t*G);e.writeUInt16LE(65535&i,n+4,r),e.writeUInt8(i>>>16,n+6,r)}else e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255}function k(e,t,n){return e.readUInt32LE(t+4,n)*V+e.readUInt32LE(t,n)}function I(e,t,n,r){r||(o(t,0,0x10000000000000000),K.ok(n+8<=e.length,"attempt to write beyond end of buffer")),t<0x10000000000000000?(e.writeInt32LE(t&-1,n,r),e.writeUInt32LE(Math.floor(t*G),n+4,r)):(e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255,e[n+7]=255)}function S(e,t,n){return(e.readInt8(t,n)<<16)+e.readUInt16BE(t+1,n)}function C(e,t,n,r){r||(o(t,-8388608,8388607),K.ok(n+3<=e.length,"attempt to write beyond end of buffer")),e.writeInt8(t>>16,n,r),e.writeUInt16BE(65535&t,n+1,r)}function T(e,t,n){return(e.readInt8(t,n)||0)*V+e.readUInt32BE(t+1,n)}function j(e,t,n,r){r||(o(t,-549755813888,549755813887),K.ok(n+5<=e.length,"attempt to write beyond end of buffer")),e.writeInt8(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+1,r)}function U(e,t,n){return e.readInt16BE(t,n)*V+e.readUInt32BE(t+2,n)}function B(e,t,n,r){r||(o(t,-0x800000000000,0x7fffffffffff),K.ok(n+6<=e.length,"attempt to write beyond end of buffer")),e.writeInt16BE(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+2,r)}function O(e,t,n){return(((e.readInt8(t,n)||0)<<16)+e.readUInt16BE(t+1,n))*V+e.readUInt32BE(t+3,n)}function A(e,t,n,r){if(r||(o(t,-0x800000000000000,0x80000000000000),K.ok(n+7<=e.length,"attempt to write beyond end of buffer")),t<0x80000000000000){var i=Math.floor(t*G);e.writeInt8(i>>16,n,r),e.writeUInt16BE(65535&i,n+1,r),e.writeInt32BE(t&-1,n+3,r)}else e[n]=127,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255}function R(e,t,n){return e.readInt32BE(t,n)*V+e.readUInt32BE(t+4,n)}function M(e,t,n,r){r||(o(t,-0x800000000000000000,0x8000000000000000),K.ok(n+8<=e.length,"attempt to write beyond end of buffer")),t<0x8000000000000000?(e.writeInt32BE(Math.floor(t*G),n,r),e.writeInt32BE(t&-1,n+4,r)):(e[n]=127,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255,e[n+7]=255)}function L(e,t,n){return(e.readInt8(t+2,n)<<16)+e.readUInt16LE(t,n)}function F(e,t,n,r){r||(o(t,-8388608,8388607),K.ok(n+3<=e.length,"attempt to write beyond end of buffer")),e.writeUInt16LE(65535&t,n,r),e.writeInt8(t>>16,n+2,r)}function P(e,t,n){return(e.readInt8(t+4,n)||0)*V+e.readUInt32LE(t,n)}function N(e,t,n,r){r||(o(t,-549755813888,549755813887),K.ok(n+5<=e.length,"attempt to write beyond end of buffer")),e.writeInt32LE(t&-1,n,r),e.writeInt8(Math.floor(t*G),n+4,r)}function D(e,t,n){return e.readInt16LE(t+4,n)*V+e.readUInt32LE(t,n)}function q(e,t,n,r){r||(o(t,-0x800000000000,0x7fffffffffff),K.ok(n+6<=e.length,"attempt to write beyond end of buffer")),e.writeInt32LE(t&-1,n,r),e.writeInt16LE(Math.floor(t*G),n+4,r)}function z(e,t,n){return(((e.readInt8(t+6,n)||0)<<16)+e.readUInt16LE(t+4,n))*V+e.readUInt32LE(t,n)}function H(e,t,n,r){if(r||(o(t,-0x80000000000000,0x80000000000000),K.ok(n+7<=e.length,"attempt to write beyond end of buffer")),t<0x80000000000000){e.writeInt32LE(t&-1,n,r);var i=Math.floor(t*G);e.writeUInt16LE(65535&i,n+4,r),e.writeInt8(i>>16,n+6,r)}else e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=127}function Q(e,t,n){return e.readInt32LE(t+4,n)*V+e.readUInt32LE(t,n)}function W(e,t,n,r){r||(o(t,-0x8000000000000000,0x8000000000000000),K.ok(n+8<=e.length,"attempt to write beyond end of buffer")),t<0x8000000000000000?(e.writeInt32LE(t&-1,n,r),e.writeInt32LE(Math.floor(t*G),n+4,r)):(e[n]=255,e[n+1]=255,e[n+2]=255,e[n+3]=255,e[n+4]=255,e[n+5]=255,e[n+6]=255,e[n+7]=127)}var K=n(72),V=4294967296,G=1/V,Y=9007199254740991;e.exports.isContiguousInt=r,e.exports.assertContiguousInt=i,["UInt","Int"].forEach(function(n){var r=n+"8";e.exports["read"+r]=t.prototype["read"+r].call,e.exports["write"+r]=t.prototype["write"+r].call,["16","32"].forEach(function(r){["LE","BE"].forEach(function(i){var o=n+r+i,s=t.prototype["read"+o];e.exports["read"+o]=function(e,t,n){return s.call(e,t,n)};var a=t.prototype["write"+o];e.exports["write"+o]=function(e,t,n,r){return a.call(e,t,n,r)}})})}),e.exports.readUInt24BE=s,e.exports.writeUInt24BE=a,e.exports.readUInt40BE=u,e.exports.writeUInt40BE=c,e.exports.readUInt48BE=l,e.exports.writeUInt48BE=f,e.exports.readUInt56BE=h,e.exports.writeUInt56BE=p,e.exports.readUInt64BE=d,e.exports.writeUInt64BE=v,e.exports.readUInt24LE=g,e.exports.writeUInt24LE=y,e.exports.readUInt40LE=m,e.exports.writeUInt40LE=b,e.exports.readUInt48LE=w,e.exports.writeUInt48LE=_,e.exports.readUInt56LE=E,e.exports.writeUInt56LE=x,e.exports.readUInt64LE=k,e.exports.writeUInt64LE=I,e.exports.readInt24BE=S,e.exports.writeInt24BE=C,e.exports.readInt40BE=T,e.exports.writeInt40BE=j,e.exports.readInt48BE=U,e.exports.writeInt48BE=B,e.exports.readInt56BE=O,e.exports.writeInt56BE=A,e.exports.readInt64BE=R,e.exports.writeInt64BE=M,e.exports.readInt24LE=L,e.exports.writeInt24LE=F,e.exports.readInt40LE=P,e.exports.writeInt40LE=N,e.exports.readInt48LE=D,e.exports.writeInt48LE=q,e.exports.readInt56LE=z,e.exports.writeInt56LE=H,e.exports.readInt64LE=Q,e.exports.writeInt64LE=W}).call(t,n(3).Buffer)},function(e,t,n){(function(t){"use strict";/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ -function r(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i=0;a--)if(u[a]!==c[a])return!1;for(a=u.length-1;a>=0;a--)if(s=u[a],!p(e[s],t[s],n,r))return!1;return!0}function g(e,t,n){p(e,t,!0)&&f(e,t,n,"notDeepStrictEqual",g)}function y(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&t.call({},e)===!0}function m(e){var t;try{e()}catch(e){t=e}return t}function b(e,t,n,r){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=m(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!i&&f(i,n,"Missing expected exception"+r);var o="string"==typeof r,s=!e&&_.isError(i),a=!e&&i&&!n;if((s&&o&&y(i,n)||a)&&f(i,n,"Got unwanted exception"+r),e&&i&&n&&!y(i,n)||!e&&i)throw i}var _=n(122),w=Object.prototype.hasOwnProperty,E=Array.prototype.slice,x=function(){return"foo"===function(){}.name}(),k=e.exports=h,I=/\s*function\s+([^\(\s]*)\s*/;k.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=l(this),this.generatedMessage=!0);var t=e.stackStartFunction||f;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,i=a(t),o=r.indexOf("\n"+i);if(o>=0){var s=r.indexOf("\n",o+1);r=r.substring(s+1)}this.stack=r}}},_.inherits(k.AssertionError,Error),k.fail=f,k.ok=h,k.equal=function(e,t,n){e!=t&&f(e,t,n,"==",k.equal)},k.notEqual=function(e,t,n){e==t&&f(e,t,n,"!=",k.notEqual)},k.deepEqual=function(e,t,n){p(e,t,!1)||f(e,t,n,"deepEqual",k.deepEqual)},k.deepStrictEqual=function(e,t,n){p(e,t,!0)||f(e,t,n,"deepStrictEqual",k.deepStrictEqual)},k.notDeepEqual=function(e,t,n){p(e,t,!1)&&f(e,t,n,"notDeepEqual",k.notDeepEqual)},k.notDeepStrictEqual=g,k.strictEqual=function(e,t,n){e!==t&&f(e,t,n,"===",k.strictEqual)},k.notStrictEqual=function(e,t,n){e===t&&f(e,t,n,"!==",k.notStrictEqual)},k.throws=function(e,t,n){b(!0,e,t,n)},k.doesNotThrow=function(e,t,n){b(!1,e,t,n)},k.ifError=function(e){if(e)throw e};var C=Object.keys||function(e){var t=[];for(var n in e)w.call(e,n)&&t.push(n);return t}}).call(t,function(){return this}())},function(e,t,n){(function(e,r){function i(e,n){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),v(n)?r.showHidden=n:n&&t._extend(r,n),w(r.showHidden)&&(r.showHidden=!1),w(r.depth)&&(r.depth=2),w(r.colors)&&(r.colors=!1),w(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),u(r,e,r.depth)}function o(e,t){var n=i.styles[t];return n?"["+i.colors[n][0]+"m"+e+"["+i.colors[n][1]+"m":e}function s(e,t){return e}function a(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function u(e,n,r){if(e.customInspect&&n&&C(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,e);return b(i)||(i=u(e,i,r)),i}var o=c(e,n);if(o)return o;var s=Object.keys(n),v=a(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(n)),I(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return l(n);if(0===s.length){if(C(n)){var g=n.name?": "+n.name:"";return e.stylize("[Function"+g+"]","special")}if(E(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(k(n))return e.stylize(Date.prototype.toString.call(n),"date");if(I(n))return l(n)}var y="",m=!1,_=["{","}"];if(d(n)&&(m=!0,_=["[","]"]),C(n)){var w=n.name?": "+n.name:"";y=" [Function"+w+"]"}if(E(n)&&(y=" "+RegExp.prototype.toString.call(n)),k(n)&&(y=" "+Date.prototype.toUTCString.call(n)),I(n)&&(y=" "+l(n)),0===s.length&&(!m||0==n.length))return _[0]+y+_[1];if(r<0)return E(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special");e.seen.push(n);var x;return x=m?f(e,n,r,v,s):s.map(function(t){return h(e,n,r,v,t,m)}),e.seen.pop(),p(x,y,_)}function c(e,t){if(w(t))return e.stylize("undefined","undefined");if(b(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return m(t)?e.stylize(""+t,"number"):v(t)?e.stylize(""+t,"boolean"):g(t)?e.stylize("null","null"):void 0}function l(e){return"["+Error.prototype.toString.call(e)+"]"}function f(e,t,n,r,i){for(var o=[],s=0,a=t.length;s-1&&(a=o?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n"))):a=e.stylize("[Circular]","special")),w(s)){if(o&&i.match(/^\d+$/))return a;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+a}function p(e,t,n){var r=0,i=e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function d(e){return Array.isArray(e)}function v(e){return"boolean"==typeof e}function g(e){return null===e}function y(e){return null==e}function m(e){return"number"==typeof e}function b(e){return"string"==typeof e}function _(e){return"symbol"==typeof e}function w(e){return void 0===e}function E(e){return x(e)&&"[object RegExp]"===T(e)}function x(e){return"object"==typeof e&&null!==e}function k(e){return x(e)&&"[object Date]"===T(e)}function I(e){return x(e)&&("[object Error]"===T(e)||e instanceof Error)}function C(e){return"function"==typeof e}function S(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function T(e){return Object.prototype.toString.call(e)}function j(e){return e<10?"0"+e.toString(10):e.toString(10)}function B(){var e=new Date,t=[j(e.getHours()),j(e.getMinutes()),j(e.getSeconds())].join(":");return[e.getDate(),M[e.getMonth()],t].join(" ")}function U(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var O=/%[sdj%]/g;t.format=function(e){if(!b(e)){for(var t=[],n=0;n=o)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}}),a=r[n];nt)throw new Error("Frame size exceeds frame max");if(i.length>r){if(i[r]!==h)throw new Error("Invalid frame");return{type:n.type,channel:n.channel,size:r,payload:i.slice(0,r),rest:i.slice(r+1)}}}return!1}var i=n(118),o=i.constants,s=i.decode,a=n(126);e.exports.PROTOCOL_HEADER="AMQP"+String.fromCharCode(0,0,9,1);var u=o.FRAME_METHOD,c=o.FRAME_HEARTBEAT,l=o.FRAME_HEADER,f=o.FRAME_BODY,h=o.FRAME_END,p=a.builder(f,"channel:16, size:32, payload:size/binary",h);e.exports.makeBodyFrame=function(e,t){return p({channel:e,size:t.length,payload:t})};var d=a.matcher("type:8","channel:16","size:32","rest/binary");e.exports.parseFrame=r;var v=a.matcher("class:16","_weight:16","size:64","flagsAndfields/binary"),g=a.matcher("id:32, args/binary"),y={channel:0};e.exports.decodeFrame=function(e){var t=e.payload;switch(e.type){case u:var n=g(t),r=n.id,i=s(r,n.args);return{id:r,channel:e.channel,fields:i};case l:var o=v(t),r=o.class,i=s(r,o.flagsAndfields);return{id:r,channel:e.channel,size:o.size,fields:i};case f:return{channel:e.channel,content:e.payload};case c:return y;default:throw new Error("Unknown frame type "+e.type)}},e.exports.HEARTBEAT_BUF=new t([o.FRAME_HEARTBEAT,0,0,0,0,0,0,o.FRAME_END]),e.exports.HEARTBEAT=y}).call(t,n(3).Buffer)},function(e,t,n){"use strict";e.exports.parse=n(127).parse,e.exports.match=n(130).match,e.exports.build=n(131).build,e.exports.write=n(131).write,e.exports.matcher=e.exports.compile=n(132).compile,e.exports.builder=n(132).compile_builder},function(e,t,n){"use strict";function r(e){for(var t=o.parse(e),n=0,r=t.length;nk&&(k=E,I=[]),I.push(e))}function i(){var e,t,n,r,i,a;if(i=E,a=E,e=m(),null!==e)if(t=s(),null!==t){for(n=[],r=o();null!==r;)n.push(r),r=o();null!==n?e=[e,t,n]:(e=null,E=a)}else e=null,E=a;else e=null,E=a;return null!==e&&(e=function(e,t,n){return n.unshift(t),n}(i,e[1],e[2])),null===e&&(E=i),e}function o(){var e,n,i,o,a,u;return a=E,u=E,e=m(),null!==e?(44===t.charCodeAt(E)?(n=",",E++):(n=null,0===x&&r('","')),null!==n?(i=m(),null!==i?(o=s(),null!==o?e=[e,n,i,o]:(e=null,E=u)):(e=null,E=u)):(e=null,E=u)):(e=null,E=u),null!==e&&(e=function(e,t){return t}(a,e[3])),null===e&&(E=a),e}function s(){var e,t,n,r,i;return r=E,e=a(),null!==e&&(e=function(e,t){return{string:t}}(r,e)),null===e&&(E=r),null===e&&(r=E,i=E,e=f(),null!==e?(t=p(),t=null!==t?t:"",null!==t?(n=d(),n=null!==n?n:"",null!==n?e=[e,t,n]:(e=null,E=i)):(e=null,E=i)):(e=null,E=i),null!==e&&(e=function(e,t,n,r){return{name:t,size:n,specifiers:r}}(r,e[0],e[1],e[2])),null===e&&(E=r),null===e&&(r=E,i=E,e=h(),null!==e?(t=p(),t=null!==t?t:"",null!==t?(n=d(),n=null!==n?n:"",null!==n?e=[e,t,n]:(e=null,E=i)):(e=null,E=i)):(e=null,E=i),null!==e&&(e=function(e,t,n,r){return{value:t,size:n,specifiers:r}}(r,e[0],e[1],e[2])),null===e&&(E=r))),e}function a(){var e,n,i,o,s;return o=E,s=E,34===t.charCodeAt(E)?(e='"',E++):(e=null,0===x&&r('"\\""')),null!==e?(34===t.charCodeAt(E)?(n='"',E++):(n=null,0===x&&r('"\\""')),null!==n?e=[e,n]:(e=null,E=s)):(e=null,E=s),null!==e&&(e=function(e){return""}(o)),null===e&&(E=o),null===e&&(o=E,s=E,34===t.charCodeAt(E)?(e='"',E++):(e=null,0===x&&r('"\\""')),null!==e?(n=u(),null!==n?(34===t.charCodeAt(E)?(i='"',E++):(i=null,0===x&&r('"\\""')),null!==i?e=[e,n,i]:(e=null,E=s)):(e=null,E=s)):(e=null,E=s),null!==e&&(e=function(e,t){return t}(o,e[1])),null===e&&(E=o)),e}function u(){var e,t,n;if(n=E,t=c(),null!==t)for(e=[];null!==t;)e.push(t),t=c();else e=null;return null!==e&&(e=function(e,t){return t.join("")}(n,e)),null===e&&(E=n),e}function c(){var e,n,i,o,s,a,u;return/^[^"\\\0-\x1F]/.test(t.charAt(E))?(e=t.charAt(E),E++):(e=null,0===x&&r('[^"\\\\\\0-\\x1F]')),null===e&&(a=E,'\\"'===t.substr(E,2)?(e='\\"',E+=2):(e=null,0===x&&r('"\\\\\\""')),null!==e&&(e=function(e){return'"'}(a)),null===e&&(E=a),null===e&&(a=E,"\\\\"===t.substr(E,2)?(e="\\\\",E+=2):(e=null,0===x&&r('"\\\\\\\\"')),null!==e&&(e=function(e){return"\\"}(a)),null===e&&(E=a),null===e&&(a=E,"\\/"===t.substr(E,2)?(e="\\/",E+=2):(e=null,0===x&&r('"\\\\/"')),null!==e&&(e=function(e){return"/"}(a)),null===e&&(E=a),null===e&&(a=E,"\\b"===t.substr(E,2)?(e="\\b",E+=2):(e=null,0===x&&r('"\\\\b"')),null!==e&&(e=function(e){return"\b"}(a)),null===e&&(E=a),null===e&&(a=E,"\\f"===t.substr(E,2)?(e="\\f",E+=2):(e=null,0===x&&r('"\\\\f"')),null!==e&&(e=function(e){return"\f"}(a)),null===e&&(E=a),null===e&&(a=E,"\\n"===t.substr(E,2)?(e="\\n",E+=2):(e=null,0===x&&r('"\\\\n"')),null!==e&&(e=function(e){return"\n"}(a)),null===e&&(E=a),null===e&&(a=E,"\\r"===t.substr(E,2)?(e="\\r",E+=2):(e=null,0===x&&r('"\\\\r"')),null!==e&&(e=function(e){return"\r"}(a)),null===e&&(E=a),null===e&&(a=E,"\\t"===t.substr(E,2)?(e="\\t",E+=2):(e=null,0===x&&r('"\\\\t"')),null!==e&&(e=function(e){return"\t"}(a)),null===e&&(E=a),null===e&&(a=E,u=E,"\\u"===t.substr(E,2)?(e="\\u",E+=2):(e=null,0===x&&r('"\\\\u"')),null!==e?(n=l(),null!==n?(i=l(),null!==i?(o=l(),null!==o?(s=l(),null!==s?e=[e,n,i,o,s]:(e=null,E=u)):(e=null,E=u)):(e=null,E=u)):(e=null,E=u)):(e=null,E=u),null!==e&&(e=function(e,t,n,r,i){return String.fromCharCode(parseInt("0x"+t+n+r+i))}(a,e[1],e[2],e[3],e[4])),null===e&&(E=a)))))))))),e}function l(){var e;return/^[0-9a-fA-F]/.test(t.charAt(E))?(e=t.charAt(E),E++):(e=null,0===x&&r("[0-9a-fA-F]")),e}function f(){var e,n,i,o,s;if(o=E,s=E,/^[_a-zA-Z]/.test(t.charAt(E))?(e=t.charAt(E),E++):(e=null,0===x&&r("[_a-zA-Z]")),null!==e){for(n=[],/^[_a-zA-Z0-9]/.test(t.charAt(E))?(i=t.charAt(E),E++):(i=null,0===x&&r("[_a-zA-Z0-9]"));null!==i;)n.push(i),/^[_a-zA-Z0-9]/.test(t.charAt(E))?(i=t.charAt(E),E++):(i=null,0===x&&r("[_a-zA-Z0-9]"));null!==n?e=[e,n]:(e=null,E=s)}else e=null,E=s;return null!==e&&(e=function(e,t,n){return t+n.join("")}(o,e[0],e[1])),null===e&&(E=o),e}function h(){var e,n,i,o,s;if(o=E,48===t.charCodeAt(E)?(e="0",E++):(e=null,0===x&&r('"0"')),null!==e&&(e=function(e){return 0}(o)),null===e&&(E=o),null===e){if(o=E,s=E,/^[1-9]/.test(t.charAt(E))?(e=t.charAt(E),E++):(e=null,0===x&&r("[1-9]")),null!==e){for(n=[],/^[0-9]/.test(t.charAt(E))?(i=t.charAt(E),E++):(i=null,0===x&&r("[0-9]"));null!==i;)n.push(i),/^[0-9]/.test(t.charAt(E))?(i=t.charAt(E),E++):(i=null,0===x&&r("[0-9]"));null!==n?e=[e,n]:(e=null,E=s)}else e=null,E=s;null!==e&&(e=function(e,t,n){return parseInt(t+n.join(""))}(o,e[0],e[1])),null===e&&(E=o)}return e}function p(){var e,n,i,o;return i=E,o=E,58===t.charCodeAt(E)?(e=":",E++):(e=null,0===x&&r('":"')),null!==e?(n=h(),null!==n?e=[e,n]:(e=null,E=o)):(e=null,E=o),null!==e&&(e=function(e,t){return t}(i,e[1])),null===e&&(E=i),null===e&&(i=E,o=E,58===t.charCodeAt(E)?(e=":",E++):(e=null,0===x&&r('":"')),null!==e?(n=f(),null!==n?e=[e,n]:(e=null,E=o)):(e=null,E=o),null!==e&&(e=function(e,t){return t}(i,e[1])),null===e&&(E=i)),e}function d(){var e,n,i,o,s,a;if(s=E,a=E,47===t.charCodeAt(E)?(e="/",E++):(e=null,0===x&&r('"/"')),null!==e)if(n=g(),null!==n){for(i=[],o=v();null!==o;)i.push(o),o=v();null!==i?e=[e,n,i]:(e=null,E=a)}else e=null,E=a;else e=null,E=a;return null!==e&&(e=function(e,t,n){return n.unshift(t),n}(s,e[1],e[2])),null===e&&(E=s),e}function v(){var e,n,i,o;return i=E,o=E,45===t.charCodeAt(E)?(e="-",E++):(e=null,0===x&&r('"-"')),null!==e?(n=g(),null!==n?e=[e,n]:(e=null,E=o)):(e=null,E=o),null!==e&&(e=function(e,t){return t}(i,e[1])),null===e&&(E=i),e}function g(){var e;return"little"===t.substr(E,6)?(e="little",E+=6):(e=null,0===x&&r('"little"')),null===e&&("big"===t.substr(E,3)?(e="big",E+=3):(e=null,0===x&&r('"big"')),null===e&&("signed"===t.substr(E,6)?(e="signed",E+=6):(e=null,0===x&&r('"signed"')),null===e&&("unsigned"===t.substr(E,8)?(e="unsigned",E+=8):(e=null,0===x&&r('"unsigned"')),null===e&&("integer"===t.substr(E,7)?(e="integer",E+=7):(e=null,0===x&&r('"integer"')),null===e&&("binary"===t.substr(E,6)?(e="binary",E+=6):(e=null,0===x&&r('"binary"')),null===e&&("float"===t.substr(E,5)?(e="float",E+=5):(e=null,0===x&&r('"float"')),null===e&&(e=y()))))))),e}function y(){var e,n,i,o;return i=E,o=E,"unit:"===t.substr(E,5)?(e="unit:",E+=5):(e=null,0===x&&r('"unit:"')),null!==e?(n=h(),null!==n?e=[e,n]:(e=null,E=o)):(e=null,E=o),null!==e&&(e=function(e,t){return"unit:"+t}(i,e[1])),null===e&&(E=i),e}function m(){var e,n;for(e=[],/^[ \t\n]/.test(t.charAt(E))?(n=t.charAt(E),E++):(n=null,0===x&&r("[ \\t\\n]"));null!==n;)e.push(n),/^[ \t\n]/.test(t.charAt(E))?(n=t.charAt(E),E++):(n=null,0===x&&r("[ \\t\\n]"));return e}function b(e){e.sort();for(var t=null,n=[],r=0;rg)&&void(d+=n)}function c(e){l("get_integer"),l(e);var n=e.unit,i=o(e,v),s=i*n,a=d/8;return d+=s,!(s%8>0||d>g)&&r(t,a,s/8,e.bigendian,e.signed)}function f(e){l("get_float"),l(e);var n=e.unit,r=o(e,v),s=r*n,a=d/8;return d+=s,!(d>g)&&i(t,a,s/8,e.bigendian)}function h(e){l("get_binary"),l(e);var n=e.unit,r=o(e,v),i=d/8;if(r===!0)return d=g,t.slice(i);var s=r*n;return!(s%8>0||d+s>g)&&(d+=s,t.slice(i,i+s/8))}function p(e){l("get_string"),l(e);var n=e.value.length,r=d/8;return d+=8*n,!(d>g)&&t.slice(r,r+n).toString("utf8")}for(var d=0,v=s(n),g=8*t.length,y=e.length,m=0;m1?[].join.call(arguments,","):e;var t=p(e);return function(e){return i(t,e)}}}).call(t,n(3).Buffer)},function(e,t,n){(function(t){"use strict";function r(){T=[]}function i(){T.push(_.apply(null,arguments))}function o(){return T.join("\n")}function s(e){return"string"==typeof e.size?_("%s * %d",h(e.size),e.unit):(e.size*e.unit).toString()}function a(e){i("bits = %s;\n",s(e));var t="integer"===e.type?"parse_int":"parse_float",n=e.bigendian,r=e.signed;i("byteoffset = offset / 8; offset += bits"),i("if (offset > binsize) { return false; }"),i("else { result = %s(bin, byteoffset, bits / 8, %s, %s); }",t,n,r)}function u(e){i("byteoffset = offset / 8;"),e.size===!0?(i("offset = binsize;"),i("result = bin.slice(byteoffset);")):(i("bits = %s;",s(e)),i("offset += bits;"),i("if (offset > binsize) { return false; }"),i("else { result = bin.slice(byteoffset,","byteoffset + bits / 8); }"))}function c(e){i("byteoffset = offset / 8;");var t=e.value.length,n=8*t;i("offset += %d;",n),i("if (offset > binsize) { return false; }"),i("else { result = bin.toString(byteoffset,",_("byteoffset + %d); }",t))}function l(e){if("string"==typeof e.size)i("var skipbits = %s * %d;",h(e.size),e.unit),i("if (offset + skipbits > binsize) { return false; }"),i("else { offset += skipbits; }");else if(e.size===!0)i("if (offset % 8 === 0) { offset = binsize; }"),i("else { return false; }");else{var t=e.unit*e.size;i("if (offset + %d > binsize) { return false; }",t),i("else { offset += %d; }",t)}}function f(e){if("_"===e.name)l(e);else{switch(e.type){case"integer":case"float":a(e);break;case"binary":u(e);break;case"string":c(e)}if(i("if (result === false) return false;"),e.name)i("else if (%s !== undefined) {",h(e.name)),i("if (%s != result) return false;",h(e.name)),i("}"),i("else %s = result;",h(e.name));else{var t=JSON.stringify(e.value);i("else if (result != %s) return false;",t)}}}function h(e){return"var_"+e}function p(e){for(var t={},n=0;n0)for(var a=0;a0,"Expect some new streams to remain"),this.oldStreams=this.oldStreams.concat(this.newStreams),this.newStreams=[]),this.blocked=!t}},i.prototype._scheduleRead=function(){var e=this;e.scheduledRead||(s(function(){e.scheduledRead=!1,e._readIncoming()}),e.scheduledRead=!0)},i.prototype.pipeFrom=function(e){function t(){i.newStreams.push(e),i._scheduleRead()}function n(){e.removeListener("readable",t),e.removeListener("error",n),e.removeListener("end",n),e.removeListener("unpipeFrom",r)}function r(e){e===i&&n()}var i=this;e.on("unpipeFrom",r),e.on("end",n),e.on("error",n),e.on("readable",t)},i.prototype.unpipeFrom=function(e){e.emit("unpipeFrom",this)},e.exports.Mux=i}).call(t,n(57).setImmediate,n(52))},function(e,t,n){function r(){i.call(this)}e.exports=r;var i=n(135).EventEmitter,o=n(136);o(r,i),r.Readable=n(137),r.Writable=n(154),r.Duplex=n(155),r.Transform=n(156),r.PassThrough=n(157),r.Stream=r,r.prototype.pipe=function(e,t){function n(t){e.writable&&!1===e.write(t)&&c.pause&&c.pause()}function r(){c.readable&&c.resume&&c.resume()}function o(){l||(l=!0,e.end())}function s(){l||(l=!0,"function"==typeof e.destroy&&e.destroy())}function a(e){if(u(),0===i.listenerCount(this,"error"))throw e; -}function u(){c.removeListener("data",n),e.removeListener("drain",r),c.removeListener("end",o),c.removeListener("close",s),c.removeListener("error",a),e.removeListener("error",a),c.removeListener("end",u),c.removeListener("close",u),e.removeListener("close",u)}var c=this;c.on("data",n),e.on("drain",r),e._isStdio||t&&t.end===!1||(c.on("end",o),c.on("close",s));var l=!1;return c.on("error",a),e.on("error",a),c.on("end",u),c.on("close",u),e.on("close",u),e.emit("pipe",c),e}},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function i(e){return"number"==typeof e}function o(e){return"object"==typeof e&&null!==e}function s(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!i(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,i,a,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}if(n=this._events[e],s(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),n.apply(this,a)}else if(o(n))for(a=Array.prototype.slice.call(arguments,1),c=n.slice(),i=c.length,u=0;u0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var i=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,i,s,a;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],s=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(a=s;a-- >0;)if(n[a]===t||n[a].listener&&n[a].listener===t){i=a;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},124,[390,138,149,148,152,153],[391,140,141,144,145,147,148,151,148,151],function(e,t,n){(function(t){"use strict";function n(e,n,r,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,i)});default:for(o=new Array(a-1),s=0;s>5===6?2:e>>4===14?3:e>>3===30?4:-1}function a(e,t,n){var r=t.length-1;if(r=0?(i>0&&(e.lastNeed=i-1),i):--r=0?(i>0&&(e.lastNeed=i-2),i):--r=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0))}function u(e,t,n){if(128!==(192&t[0]))return e.lastNeed=0,"�".repeat(n);if(e.lastNeed>1&&t.length>1){if(128!==(192&t[1]))return e.lastNeed=1,"�".repeat(n+1);if(e.lastNeed>2&&t.length>2&&128!==(192&t[2]))return e.lastNeed=2,"�".repeat(n+2)}}function c(e){var t=this.lastTotal-this.lastNeed,n=u(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){var n=a(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)}function f(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�".repeat(this.lastTotal-this.lastNeed):t}function h(e,t){if((e.length-t)%2===0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function p(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function d(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function v(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function g(e){return e.toString(this.encoding)}function y(e){return e&&e.length?this.write(e):""}var m=n(142).Buffer,b=m.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(t=this.fillLast(e),void 0===t)return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n0)if(t.ended&&!i){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&i){var a=new Error("stream.unshift() after end event");e.emit("error",a)}else!t.decoder||i||r||(n=t.decoder.write(n)),i||(t.reading=!1),t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&f(e)),p(e,t);else i||(t.reading=!1);return s(t)}function s(e){return!e.ended&&(e.needReadable||e.length=B)e=B;else{e--;for(var t=1;t<32;t<<=1)e|=e>>t;e++}return e}function u(e,t){return 0===t.length&&t.ended?0:t.objectMode?0===e?0:1:isNaN(e)||S.isNull(e)?t.flowing&&t.buffer.length?t.buffer[0].length:t.length:e<=0?0:(e>t.highWaterMark&&(t.highWaterMark=a(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function c(e,t){var n=null;return S.isBuffer(t)||S.isString(t)||S.isNullOrUndefined(t)||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function l(e,t){if(t.decoder&&!t.ended){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,f(e)}function f(e){var n=e._readableState;n.needReadable=!1,n.emittedReadable||(j("emitReadable",n.flowing),n.emittedReadable=!0,n.sync?t.nextTick(function(){h(e)}):h(e))}function h(e){j("emit readable"),e.emit("readable"),m(e)}function p(e,n){n.readingMore||(n.readingMore=!0,t.nextTick(function(){d(e,n)}))}function d(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=i)n=o?r.join(""):k.concat(r,i),r.length=0;else if(e0)throw new Error("endReadable called on non-empty stream");n.endEmitted||(n.ended=!0,t.nextTick(function(){n.endEmitted||0!==n.length||(n.endEmitted=!0,e.readable=!1,e.emit("end"))}))}function w(e,t){for(var n=0,r=e.length;n0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return j("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?_(this):f(this),null;if(e=u(e,t),0===e&&t.ended)return 0===t.length&&_(this),null;var r=t.needReadable;j("need readable",r),(0===t.length||t.length-e0?b(e,t):null,S.isNull(i)&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),n!==e&&t.ended&&0===t.length&&_(this),S.isNull(i)||this.emit("data",i),i},i.prototype._read=function(e){this.emit("error",new Error("not implemented"))},i.prototype.pipe=function(e,n){function r(e){j("onunpipe"),e===f&&o()}function i(){j("onend"),e.end()}function o(){j("cleanup"),e.removeListener("close",u),e.removeListener("finish",c),e.removeListener("drain",g),e.removeListener("error",a),e.removeListener("unpipe",r),f.removeListener("end",i),f.removeListener("end",o),f.removeListener("data",s),!h.awaitDrain||e._writableState&&!e._writableState.needDrain||g()}function s(t){j("ondata");var n=e.write(t);!1===n&&(j("false write response, pause",f._readableState.awaitDrain),f._readableState.awaitDrain++,f.pause())}function a(t){j("onerror",t),l(),e.removeListener("error",a),0===I.listenerCount(e,"error")&&e.emit("error",t)}function u(){e.removeListener("finish",c),l()}function c(){j("onfinish"),e.removeListener("close",u),l()}function l(){j("unpipe"),f.unpipe(e)}var f=this,h=this._readableState;switch(h.pipesCount){case 0:h.pipes=e;break;case 1:h.pipes=[h.pipes,e];break;default:h.pipes.push(e)}h.pipesCount+=1,j("pipe count=%d opts=%j",h.pipesCount,n);var p=(!n||n.end!==!1)&&e!==t.stdout&&e!==t.stderr,d=p?i:o;h.endEmitted?t.nextTick(d):f.once("end",d),e.on("unpipe",r);var g=v(f);return e.on("drain",g),f.on("data",s),e._events&&e._events.error?x(e._events.error)?e._events.error.unshift(a):e._events.error=[a,e._events.error]:e.on("error",a),e.once("close",u),e.once("finish",c),e.emit("pipe",f),h.flowing||(j("pipe resume"),f.resume()),e},i.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var n=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&r<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var i=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived),t+=e.toString(this.encoding,0,i);var i=t.length-1,r=t.charCodeAt(i);if(r>=55296&&r<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,i)}return t},c.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},c.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,r=this.charBuffer,i=this.encoding;t+=r.slice(0,n).toString(i)}return t}},function(e,t,n){(function(t){function r(e,t,n){this.chunk=e,this.encoding=t,this.callback=n}function i(e,t){var r=n(159);e=e||{};var i=e.highWaterMark,o=e.objectMode?16:16384;this.highWaterMark=i||0===i?i:o,this.objectMode=!!e.objectMode,t instanceof r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var s=e.decodeStrings===!1;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){p(t,e)},this.writecb=null,this.writelen=0,this.buffer=[],this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1}function o(e){var t=n(159);return this instanceof o||this instanceof t?(this._writableState=new i(e,this),this.writable=!0,void x.call(this)):new o(e)}function s(e,n,r){var i=new Error("write after end");e.emit("error",i),t.nextTick(function(){r(i)})}function a(e,n,r,i){var o=!0;if(!(E.isBuffer(r)||E.isString(r)||E.isNullOrUndefined(r)||n.objectMode)){var s=new TypeError("Invalid non-string/buffer chunk");e.emit("error",s),t.nextTick(function(){i(s)}),o=!1}return o}function u(e,t,n){return!e.objectMode&&e.decodeStrings!==!1&&E.isString(t)&&(t=new w(t,n)),t}function c(e,t,n,i,o){n=u(t,n,i),E.isBuffer(n)&&(i="buffer");var s=t.objectMode?1:n.length;t.length+=s;var a=t.length1){for(var n=[],r=0;r";if(e.id){var n=r.info(e.id);return i("<%s channel:%d%s>",n.name,e.channel,t?" "+JSON.stringify(e.fields,void 0,2):"")}return i("",e.channel,e.size)}},function(e,t){"use strict";function n(e){if(e){var t=Math.ceil(e/32);this.words=new Array(t)}else this.words=[];this.wordsInUse=0}function r(e){return Math.floor(e/32)}function i(e){if(0===e)return 32;var t,n=31;return t=e<<16,0!=t&&(n-=16,e=t),t=e<<8,0!=t&&(n-=8,e=t),t=e<<4,0!=t&&(n-=4,e=t),t=e<<2,0!=t&&(n-=2,e=t),n-(e<<1>>>31)}var o=n.prototype;o.ensureSize=function(e){var t=this.words.length;t=this.wordsInUse&&(this.ensureSize(t+1),this.wordsInUse=t+1);var n=1<=this.wordsInUse)){var n=~(1<=this.wordsInUse)return!1;var n=1<=this.wordsInUse)return-1;for(var n=this.words[t]&4294967295<=this.wordsInUse)return e;for(var n=~this.words[t]&4294967295<=0.4.0 <0.5.0",type:"range"},"/Users/michele/Develop/projects/SpaceBunny/sdk/node-sdk"]],_from:"amqplib@>=0.4.0 <0.5.0",_id:"amqplib@0.4.2",_inCache:!0,_installable:!0,_location:"/amqplib",_nodeVersion:"6.2.1",_npmOperationalInternal:{host:"packages-12-west.internal.npmjs.com",tmp:"tmp/amqplib-0.4.2.tgz_1465287074710_0.32056331844069064"},_npmUser:{name:"squaremo",email:"mikeb@squaremobius.net"},_npmVersion:"3.9.3",_phantomChildren:{},_requested:{raw:"amqplib@^0.4.0",scope:null,escapedName:"amqplib",name:"amqplib",rawSpec:"^0.4.0",spec:">=0.4.0 <0.5.0",type:"range"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/amqplib/-/amqplib-0.4.2.tgz",_shasum:"5e4a2a914ccb3125f9cb91f6da07c97aa4cb13a6",_shrinkwrap:null,_spec:"amqplib@^0.4.0",_where:"/Users/michele/Develop/projects/SpaceBunny/sdk/node-sdk",author:{name:"Michael Bridgen",email:"mikeb@squaremobius.net"},bugs:{url:"https://github.com/squaremo/amqp.node/issues"},dependencies:{bitsyntax:"~0.0.4","buffer-more-ints":"0.0.2","readable-stream":"1.x >=1.1.9",when:"~3.6.2"},description:"An AMQP 0-9-1 (e.g., RabbitMQ) library and client.",devDependencies:{claire:"0.4.1",istanbul:"0.1.x",mocha:"~1","uglify-js":"2.4.x"},directories:{},dist:{shasum:"5e4a2a914ccb3125f9cb91f6da07c97aa4cb13a6",tarball:"https://registry.npmjs.org/amqplib/-/amqplib-0.4.2.tgz"},engines:{node:">=0.8 <6 || ^6"},gitHead:"46d14f8f0916d49a2e9fa7e8596ddc68b0ab5007",homepage:"http://squaremo.github.io/amqp.node/",keywords:["AMQP","AMQP 0-9-1","RabbitMQ"],license:"MIT",main:"./channel_api.js",maintainers:[{name:"squaremo",email:"mikeb@squaremobius.net"}],name:"amqplib",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+https://github.com/squaremo/amqp.node.git"},scripts:{prepublish:"make",test:"make test"},version:"0.4.2"}},function(e,t){},function(e,t,n){"use strict";function r(e){if(!(this instanceof r))return new r(e);l.call(this),this.connection=e;var t=this;["error","close","blocked","unblocked"].forEach(function(n){e.on(n,t.emit.bind(t,n))})}function i(e){f.call(this,e),this.on("delivery",this.handleDelivery.bind(this)),this.on("cancel",this.handleCancel.bind(this))}function o(e){i.call(this,e)}var s=n(118),a=n(176),u=a.defer,c=n(122).inherits,l=n(135).EventEmitter,f=n(195).BaseChannel,h=n(195).acceptMessage,p=n(196);c(r,l),e.exports.ChannelModel=r;var d=r.prototype;d.close=function(){var e=u();return this.connection.close(function(t){null===t?e.resolve():e.reject(t)}),e.promise},c(i,f),e.exports.Channel=i,d.createChannel=function(){var e=new i(this.connection);return e.open().then(function(t){return e})};var v=i.prototype;v.rpc=function(e,t,n){var r=u();return this._rpc(e,t,n,function(e,t){null!==e?r.reject(e):r.resolve(t.fields)}),r.promise},v.open=function(){return a.try(this.allocate.bind(this)).then(function(e){return e.rpc(s.ChannelOpen,{outOfBand:""},s.ChannelOpenOk)})},v.close=function(){var e=u();return this.closeBecause("Goodbye",s.constants.REPLY_SUCCESS,e.resolve),e.promise},v.assertQueue=function(e,t){return this.rpc(s.QueueDeclare,p.assertQueue(e,t),s.QueueDeclareOk)},v.checkQueue=function(e){return this.rpc(s.QueueDeclare,p.checkQueue(e),s.QueueDeclareOk)},v.deleteQueue=function(e,t){return this.rpc(s.QueueDelete,p.deleteQueue(e,t),s.QueueDeleteOk)},v.purgeQueue=function(e){return this.rpc(s.QueuePurge,p.purgeQueue(e),s.QueuePurgeOk)},v.bindQueue=function(e,t,n,r){return this.rpc(s.QueueBind,p.bindQueue(e,t,n,r),s.QueueBindOk)},v.unbindQueue=function(e,t,n,r){return this.rpc(s.QueueUnbind,p.unbindQueue(e,t,n,r),s.QueueUnbindOk)},v.assertExchange=function(e,t,n){return this.rpc(s.ExchangeDeclare,p.assertExchange(e,t,n),s.ExchangeDeclareOk).then(function(t){return{exchange:e}})},v.checkExchange=function(e){return this.rpc(s.ExchangeDeclare,p.checkExchange(e),s.ExchangeDeclareOk)},v.deleteExchange=function(e,t){return this.rpc(s.ExchangeDelete,p.deleteExchange(e,t),s.ExchangeDeleteOk)},v.bindExchange=function(e,t,n,r){return this.rpc(s.ExchangeBind,p.bindExchange(e,t,n,r),s.ExchangeBindOk)},v.unbindExchange=function(e,t,n,r){return this.rpc(s.ExchangeUnbind,p.unbindExchange(e,t,n,r),s.ExchangeUnbindOk)},v.publish=function(e,t,n,r){var i=p.publish(e,t,r);return this.sendMessage(i,i,n)},v.sendToQueue=function(e,t,n){return this.publish("",e,t,n)},v.consume=function(e,t,n){var r=this,i=p.consume(e,n),o=u();return this._rpc(s.BasicConsume,i,s.BasicConsumeOk,function(e,n){null===e?(r.registerConsumer(n.fields.consumerTag,t),o.resolve(n.fields)):o.reject(e)}),o.promise},v.cancel=function(e){var t=this,n=u();return this._rpc(s.BasicCancel,p.cancel(e),s.BasicCancelOk,function(r,i){null===r?(t.unregisterConsumer(e),n.resolve(i.fields)):n.reject(r)}),n.promise},v.get=function(e,t){var n=u(),r=this,i=p.get(e,t);return this.sendOrEnqueue(s.BasicGet,i,function(e,t){if(null===e)if(t.id===s.BasicGetEmpty)n.resolve(!1);else if(t.id===s.BasicGetOk){var i=t.fields;r.handleMessage=h(function(e){e.fields=i,n.resolve(e)})}else n.reject(new Error("Unexpected response to BasicGet: "+inspect(t)));else n.reject(e)}),n.promise},v.ack=function(e,t){this.sendImmediately(s.BasicAck,p.ack(e.fields.deliveryTag,t))},v.ackAll=function(){this.sendImmediately(s.BasicAck,p.ack(0,!0))},v.nack=function(e,t,n){this.sendImmediately(s.BasicNack,p.nack(e.fields.deliveryTag,t,n))},v.nackAll=function(e){this.sendImmediately(s.BasicNack,p.nack(0,!0,e))},v.reject=function(e,t){this.sendImmediately(s.BasicReject,p.reject(e.fields.deliveryTag,t))},v.prefetch=v.qos=function(e,t){return this.rpc(s.BasicQos,p.prefetch(e,t),s.BasicQosOk)},v.recover=function(){return this.rpc(s.BasicRecover,p.recover(),s.BasicRecoverOk)},c(o,i),e.exports.ConfirmChannel=o,d.createConfirmChannel=function(){var e=new o(this.connection);return e.open().then(function(t){return e.rpc(s.ConfirmSelect,{nowait:!1},s.ConfirmSelectOk)}).then(function(){return e})};var g=o.prototype;g.publish=function(e,t,n,r,i){return this.pushConfirmCallback(i),v.publish.call(this,e,t,n,r)},g.sendToQueue=function(e,t,n,r){return this.publish("",e,t,n,r)},g.waitForConfirms=function(){var e=[],t=this.unconfirmed;return t.forEach(function(n,r){if(null===n);else{var i=u();t[r]=function(e){n&&n(e),null===e?i.resolve():i.reject(e)},e.push(i.promise)}}),a.all(e)}},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(e){function t(e,t,n,r){var i=k.resolve(e);return arguments.length<2?i:i.then(t,n,r)}function r(e){return new k(e)}function i(e){return function(){for(var t=0,n=arguments.length,r=new Array(n);t>>0,c=u,l=[],f=0;f0){a.become(i),e._visitRemaining(t,f,i);break}i.visit(a,n,r)}else--c;return 0===c&&a.reject(new RangeError("any(): array must not be empty")),s}function i(t,n){function r(e){this.resolved||(l.push(e),0===--p&&(f=null,this.resolve(l)))}function i(e){this.resolved||(f.push(e),0===--o&&(l=null,this.reject(f)))}var o,s,a,u=e._defer(),c=u._handler,l=[],f=[],h=t.length>>>0,p=0;for(a=0;ap?c.reject(new RangeError("some(): array must contain at least "+n+" item(s), but had "+p)):0===p&&c.resolve(l),a=0;a2?g.call(e,h(t),arguments[2]):g.call(e,h(t))}function f(e,t){return arguments.length>2?y.call(e,h(t),arguments[2]):y.call(e,h(t))}function h(e){return function(t,n,r){return p(e,void 0,[t,n,r])}}var p=r(e),d=e.resolve,v=e.all,g=Array.prototype.reduce,y=Array.prototype.reduceRight,m=Array.prototype.slice;return e.any=n,e.some=i,e.settle=u,e.map=o,e.filter=s,e.reduce=l,e.reduceRight=f,e.prototype.spread=function(e){return this.then(v).then(function(t){return e.apply(this,t)})},e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},96,97,98,99,[388,182],101,102,103,function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(e){function t(e){throw e}function r(){}var i=n(178).setTimer,o=n(191);return function(e){function n(e){e.handled||(p.push(e),l("Potentially unhandled rejection ["+e.id+"] "+o.formatError(e.value)))}function s(e){var t=p.indexOf(e);t>=0&&(p.splice(t,1),f("Handled previous rejection ["+e.id+"] "+o.formatObject(e.value)))}function a(e,t){h.push(e,t),null===d&&(d=i(u,0))}function u(){for(d=null;h.length>0;)h.shift()(h.shift())}var c,l=r,f=r;"undefined"!=typeof console&&(c=console,l="undefined"!=typeof c.error?function(e){c.error(e)}:function(e){c.log(e)},f="undefined"!=typeof c.info?function(e){c.info(e)}:function(e){c.log(e)}),e.onPotentiallyUnhandledRejection=function(e){a(n,e)},e.onPotentiallyUnhandledRejectionHandled=function(e){a(s,e)},e.onFatalRejection=function(e){a(t,e.value)};var h=[],p=[],d=null;return e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(){function e(e){var n="object"==typeof e&&null!==e&&e.stack?e.stack:t(e);return e instanceof Error?n:n+" (WARNING: non-Error used)"}function t(e){var t=String(e);return"[object Object]"===t&&"undefined"!=typeof JSON&&(t=n(e,t)),t}function n(e,t){try{return JSON.stringify(e)}catch(e){return t}}return{formatError:e,formatObject:t,tryStringify:n}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(93))},[389,193,194,178],function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(i){"use strict";r=function(){return function(e){function t(e,t){this._handler=e===b?t:n(e)}function n(e){function t(e){i.resolve(e)}function n(e){i.reject(e)}function r(e){i.notify(e)}var i=new w;try{e(t,n,r)}catch(e){n(e)}return i}function r(e){return R(e)?e:new t(b,new E(g(e)))}function i(e){return new t(b,new E(new I(e)))}function o(){return X}function s(){return new t(b,new w)}function a(e,t){var n=new w(e.receiver,e.join().context);return new t(b,n)}function u(e){return l(Q,null,e)}function c(e,t){return l(N,e,t)}function l(e,n,r){function i(t,i,s){s.resolved||f(r,o,t,e(n,i,t),s)}function o(e,t,n){l[e]=t,0===--c&&n.become(new k(l))}for(var s,a="function"==typeof n?i:o,u=new w,c=r.length>>>0,l=new Array(c),h=0;h0?t(n,o.value,i):(i.become(o),h(e,n+1,o))}else t(n,r,i)}function h(e,t,n){for(var r=t;r0||"function"!=typeof t&&i<0)return new this.constructor(b,r);var o=this._beget(),s=o._handler;return r.chain(s,r.receiver,e,t,n),o},t.prototype.catch=function(e){return this.then(void 0,e)},t.prototype._beget=function(){return a(this._handler,this.constructor)},t.all=u,t.race=d,t._traverse=c,t._visitRemaining=h,b.prototype.when=b.prototype.become=b.prototype.notify=b.prototype.fail=b.prototype._unreport=b.prototype._report=W,b.prototype._state=0,b.prototype.state=function(){return this._state},b.prototype.join=function(){for(var e=this;void 0!==e.handler;)e=e.handler;return e},b.prototype.chain=function(e,t,n,r,i){this.when({resolver:e,receiver:t,fulfilled:n,rejected:r,progress:i})},b.prototype.visit=function(e,t,n,r){this.chain(G,e,t,n,r)},b.prototype.fold=function(e,t,n,r){this.when(new A(e,t,n,r))},H(b,_),_.prototype.become=function(e){e.fail()};var G=new _;H(b,w),w.prototype._state=0,w.prototype.resolve=function(e){this.become(g(e))},w.prototype.reject=function(e){this.resolved||this.become(new I(e))},w.prototype.join=function(){if(!this.resolved)return this;for(var e=this;void 0!==e.handler;)if(e=e.handler,e===this)return this.handler=T();return e},w.prototype.run=function(){var e=this.consumers,t=this.join();this.consumers=void 0;for(var n=0;n0){var o=this.pending.shift();this.reply=o.reply,this.sendImmediately(o.method,o.fields)}return t(null,e)}},b.onBufferDrain=function(){this.emit("drain")},d(u,r),e.exports.BaseChannel=u,u.prototype.registerConsumer=function(e,t){this.consumers[e]=t},u.prototype.unregisterConsumer=function(e){delete this.consumers[e]},u.prototype.dispatchMessage=function(e,t){var n=e.consumerTag,r=this.consumers[n];if(r)return r(t);throw new Error("Unknown consumer: "+n)},u.prototype.handleDelivery=function(e){return this.dispatchMessage(e.fields,e)},u.prototype.handleCancel=function(e){return this.dispatchMessage(e,null)}}).call(t,n(3).Buffer)},function(e,t){"use strict";function n(e,t,n){void 0!=n&&(e[t]=n)}var r=Object.freeze({}),i={};i.assertQueue=function(e,t){e=e||"",t=t||r;var i=Object.create(t.arguments||null);return n(i,"x-expires",t.expires),n(i,"x-message-ttl",t.messageTtl),n(i,"x-dead-letter-exchange",t.deadLetterExchange),n(i,"x-dead-letter-routing-key",t.deadLetterRoutingKey),n(i,"x-max-length",t.maxLength),n(i,"x-max-priority",t.maxPriority),{queue:e,exclusive:!!t.exclusive,durable:void 0===t.durable||t.durable,autoDelete:!!t.autoDelete,arguments:i,passive:!1,ticket:0,nowait:!1}},i.checkQueue=function(e){return{queue:e,passive:!0,nowait:!1,durable:!0,autoDelete:!1,exclusive:!1,ticket:0}},i.deleteQueue=function(e,t){return t=t||r,{queue:e,ifUnused:!!t.ifUnused,ifEmpty:!!t.ifEmpty,ticket:0,nowait:!1}},i.purgeQueue=function(e){return{queue:e,ticket:0,nowait:!1}},i.bindQueue=function(e,t,n,r){return{queue:e,exchange:t,routingKey:n,arguments:r,ticket:0,nowait:!1}},i.unbindQueue=function(e,t,n,r){return{queue:e,exchange:t,routingKey:n,arguments:r,ticket:0,nowait:!1}},i.assertExchange=function(e,t,i){i=i||r;var o=Object.create(i.arguments||null);return n(o,"alternate-exchange",i.alternateExchange),{exchange:e,ticket:0,type:t,passive:!1,durable:void 0===i.durable||i.durable,autoDelete:!!i.autoDelete,internal:!!i.internal,nowait:!1,arguments:o}},i.checkExchange=function(e){return{exchange:e,passive:!0,nowait:!1,durable:!0,internal:!1,type:"",autoDelete:!1,ticket:0}},i.deleteExchange=function(e,t){return t=t||r,{exchange:e,ifUnused:!!t.ifUnused,ticket:0,nowait:!1}},i.bindExchange=function(e,t,n,r){return{source:t,destination:e,routingKey:n,arguments:r,ticket:0,nowait:!1}},i.unbindExchange=function(e,t,n,r){return{source:t,destination:e,routingKey:n,arguments:r,ticket:0,nowait:!1}},i.publish=function(e,t,i){function o(e){return void 0===e?void 0:Array.isArray(e)?e.map(String):[String(e)]}i=i||r;var s=Object.create(i.headers||null);n(s,"CC",o(i.CC)),n(s,"BCC",o(i.BCC));var a;void 0!==i.persistent?a=i.persistent?2:1:"number"==typeof i.deliveryMode?a=i.deliveryMode:i.deliveryMode&&(a=2);var u=i.expiration;return void 0!==u&&(u=u.toString()),{exchange:e,routingKey:t,mandatory:!!i.mandatory,immediate:!1,ticket:void 0,contentType:i.contentType,contentEncoding:i.contentEncoding,headers:s,deliveryMode:a,priority:i.priority,correlationId:i.correlationId,replyTo:i.replyTo,expiration:u,messageId:i.messageId,timestamp:i.timestamp,type:i.type,userId:i.userId,appId:i.appId,clusterId:void 0}},i.consume=function(e,t){t=t||r;var i=Object.create(t.arguments||null);return n(i,"x-priority",t.priority),{ticket:0,queue:e,consumerTag:t.consumerTag||"",noLocal:!!t.noLocal,noAck:!!t.noAck,exclusive:!!t.exclusive,nowait:!1,arguments:i}},i.cancel=function(e){return{consumerTag:e,nowait:!1}},i.get=function(e,t){return t=t||r,{ticket:0,queue:e,noAck:!!t.noAck}},i.ack=function(e,t){return{deliveryTag:e,multiple:!!t}},i.nack=function(e,t,n){return{deliveryTag:e,multiple:!!t,requeue:void 0===n||n}},i.reject=function(e,t){return{deliveryTag:e,requeue:void 0===t||t}},i.prefetch=function(e,t){return{prefetchCount:e||0,prefetchSize:0,global:!!t}},i.recover=function(){return{requeue:!0}},e.exports=Object.freeze(i)},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=n(198),s=r(o),a=n(289),u=r(a),c=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};i(this,t),this._connectionParams=(0,p.default)({},y.default.camelizeKeys(e)),this._endpointConfigs=void 0,this._endpointUrl=this._connectionParams.endpointUrl,this._deviceKey=this._connectionParams.deviceKey,this._channels=this._connectionParams.channels,this._deviceId=this._connectionParams.deviceId,this._client=this._connectionParams.client,this._secret=this._connectionParams.secret,this._host=this._connectionParams.host,this._port=this._connectionParams.port,this._vhost=this._connectionParams.vhost,this._protocol=_.protocol,this._inboxTopic=this._connectionParams.inputTopic||_.inboxTopic,this._liveStreamSuffix=_.liveStreamSuffix,this._tempQueueSuffix=_.tempQueueSuffix,this._liveStreams=[],this._tls=this._connectionParams.tls||!1,this._tlsOpts={},this._connectionParams.cert&&(this._tlsOpts.cert=f.default.readFileSync(this._connectionParams.cert)),this._connectionParams.key&&(this._tlsOpts.key=f.default.readFileSync(this._connectionParams.key)),this._connectionParams.passphrase&&(this._tlsOpts.passphrase=this._connectionParams.passphrase),this._connectionParams.ca&&(Array.isArray(this._connectionParams.ca)?this._tlsOpts.ca=this._connectionParams.ca.map(function(e){return f.default.readFileSync(e)}):this._tlsOpts.ca=[f.default.readFileSync(this._connectionParams.ca)]),this._connectionParams.pfx&&(this._tlsOpts.pfx=f.default.readFileSync(this._connectionParams.pfx)),this._connectionParams.disableCertCheck?this._tlsOpts.rejectUnauthorized=!1:this._tlsOpts.rejectUnauthorized=!0,this._tlsOpts.secureProtocol=this._connectionParams.secureProtocol||_.tls.secureProtocol}return c(t,[{key:"getEndpointConfigs",value:function(){var e=this;return new b.default(function(t,n){void 0!==e._endpointConfigs&&t(e._endpointConfigs);var r="";if(e._deviceId&&e._secret||e._deviceKey){r=_.deviceEndpoint;var i=e._generateHostname(r),o=""+i+r.api_version+r.path;if(e._deviceKey){var s={url:o,method:"get",responseType:"json",headers:{"Device-Key":e._deviceKey,"Content-Type":"application/json"}};(0,v.default)(s).then(function(n){e._endpointConfigs=y.default.camelizeKeys(n.data),e._connectionParams=e._endpointConfigs.connection,t(e._endpointConfigs)}).catch(function(e){n(e)})}else e._deviceId&&e._secret&&e._host&&e._port&&e._vhost&&(e._connectionParams.protocols={},e._tls?e._connectionParams.protocols[e._protocol]={tlsPort:e._port}:e._connectionParams.protocols[e._protocol]={port:e._port},e._endpointConfigs={connection:e._connectionParams,channels:[]},t(e._endpointConfigs))}else if(e._client&&e._secret)if(e._host&&e._port&&e._vhost)e._connectionParams.protocols={},e._tls?e._connectionParams.protocols[e._protocol]={tlsPort:e._port}:e._connectionParams.protocols[e._protocol]={port:e._port},e._endpointConfigs={connection:e._connectionParams,liveStreams:[]},t(e._endpointConfigs);else{r=_.accessKeyEndpoint;var a=e._generateHostname(r),u=""+a+r.api_version+r.path,c={url:u,method:"get",responseType:"json",headers:{"Live-Stream-Key-Client":e._client,"Live-Stream-Key-Secret":e._secret,"Content-Type":"application/json"}};(0,v.default)(c).then(function(n){e._endpointConfigs=y.default.camelizeKeys(n.data),e._connectionParams=e._endpointConfigs.connection,e._liveStreams=e._endpointConfigs.liveStreams||[],t(e._endpointConfigs)}).catch(function(e){n(e)})}else n("Missing Device Key or wrong connection parameters")})}},{key:"channels",value:function(){return this._endpointConfigs.channels?(this._channels=this._endpointConfigs.channels.map(function(e){return e.name}),this._channels||[]):[]}},{key:"deviceId",value:function(){return this._deviceId=this._deviceId||this._connectionParams.deviceId,this._deviceId}},{key:"liveStreamByName",value:function(e){var t=(0,s.default)(this._liveStreams,function(t){return t.name===e});return t.length>0?t[0].id||e:e}},{key:"liveStreamExists",value:function(e){var t=(0,s.default)(this._liveStreams,function(t){return t.name===e});return t.length>0}},{key:"tempQueue",value:function(e,t,n){var r=n||(new Date).getTime();return r+"-"+this._connectionParams.client+"-"+(this.exchangeName(e,t)+".")+(""+this._tempQueueSuffix)}},{key:"exchangeName",value:function(e,t){return e&&t?this.liveStreamByName(e)+"."+t:""+t}},{key:"_encapsulateContent",value:function(e){var t=e;try{t=JSON.stringify(e)}catch(n){t=e}return t}},{key:"_generateHostname",value:function(e){var t=""+(this._endpointUrl||e.url),n=_.endpoint.protocol;return(0,u.default)(t,n)||(t=n+"://"+t),t}},{key:"_parseContent",value:function(t){var n=t;e.isBuffer(n)&&(n=n.toString("utf-8"));var r=void 0;try{r=JSON.parse(n)}catch(e){r=n}return r}}]),t}();t.default=w}).call(t,n(3).Buffer)},function(e,t,n){function r(e,t){var n=a(e)?i:o;return n(e,s(t,3))}var i=n(199),o=n(200),s=n(206),a=n(23);e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n-1}var i=n(213);e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__,r=i(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var i=n(213);e.exports=r},function(e,t,n){function r(){this.__data__=new i,this.size=0}var i=n(210);e.exports=r},function(e,t){function n(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}e.exports=n},function(e,t){function n(e){return this.__data__.get(e)}e.exports=n},function(e,t){function n(e){return this.__data__.has(e)}e.exports=n},function(e,t,n){function r(e,t){var n=this.__data__;if(n instanceof i){var r=n.__data__;if(!o||r.lengthh))return!1;var d=l.get(e);if(d&&l.get(t))return d==t;var v=-1,g=!0,y=n&u?new i:void 0;for(l.set(e,t),l.set(t,e);++v=t?e:t)),e}e.exports=n},function(e,t,n){e.exports=n(292)},function(e,t,n){"use strict";function r(e){this.defaults=o.merge({},e),this.interceptors={request:new a,response:new a}}var i=n(293),o=n(294),s=n(295),a=n(304),u=n(305),c=n(306),l=n(307),f=n(299);r.prototype.request=function(e){"string"==typeof e&&(e=o.merge({url:arguments[0]},arguments[1])),e=o.merge(i,this.defaults,{method:"get"},e),e.baseURL&&!u(e.url)&&(e.url=c(e.baseURL,e.url)),e.withCredentials=e.withCredentials||this.defaults.withCredentials,e.data=f(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=[s,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n};var h=new r(i),p=e.exports=l(r.prototype.request,h);e.exports.Axios=r,p.defaults=h.defaults,p.interceptors=h.interceptors,p.create=function(e){return new r(e)},p.all=function(e){return Promise.all(e)},p.spread=n(308),o.forEach(["delete","get","head"],function(e){r.prototype[e]=function(t,n){return this.request(o.merge(n||{},{method:e,url:t}))},p[e]=l(r.prototype[e],h)}),o.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(o.merge(r||{},{method:e,url:t,data:n}))},p[e]=l(r.prototype[e],h)})},function(e,t,n){"use strict";var r=n(294),i=/^\)\]\}',?\n/,o={"Content-Type":"application/x-www-form-urlencoded"};e.exports={transformRequest:[function(e,t){return r.isFormData(e)||r.isArrayBuffer(e)||r.isStream(e)?e:r.isArrayBufferView(e)?e.buffer:!r.isObject(e)||r.isFile(e)||r.isBlob(e)?e:(r.isUndefined(t)||(r.forEach(t,function(e,n){ -"content-type"===n.toLowerCase()&&(t["Content-Type"]=e)}),r.isUndefined(t["Content-Type"])&&(t["Content-Type"]="application/json;charset=utf-8")),JSON.stringify(e))}],transformResponse:[function(e){if("string"==typeof e){e=e.replace(i,"");try{e=JSON.parse(e)}catch(e){}}return e}],headers:{common:{Accept:"application/json, text/plain, */*"},patch:r.merge(o),post:r.merge(o),put:r.merge(o)},timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}}},function(e,t){"use strict";function n(e){return"[object Array]"===b.call(e)}function r(e){return"[object ArrayBuffer]"===b.call(e)}function i(e){return"undefined"!=typeof FormData&&e instanceof FormData}function o(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function s(e){return"string"==typeof e}function a(e){return"number"==typeof e}function u(e){return"undefined"==typeof e}function c(e){return null!==e&&"object"==typeof e}function l(e){return"[object Date]"===b.call(e)}function f(e){return"[object File]"===b.call(e)}function h(e){return"[object Blob]"===b.call(e)}function p(e){return"[object Function]"===b.call(e)}function d(e){return c(e)&&p(e.pipe)}function v(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return"undefined"!=typeof window&&"undefined"!=typeof document&&"function"==typeof document.createElement}function y(e,t){if(null!==e&&"undefined"!=typeof e)if("object"==typeof e||n(e)||(e=[e]),n(e))for(var r=0,i=e.length;r>8-a%1*8)){if(r=o.charCodeAt(a+=.75),r>255)throw new n;t=t<<8|r}return s}var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=r},function(e,t){"use strict";e.exports=function(e,t,n){var r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(n):e(n)}},function(e,t,n){"use strict";var r=n(294);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,i,o,s){var a=[];a.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(i)&&a.push("path="+i),r.isString(o)&&a.push("domain="+o),s===!0&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(){this.handlers=[]}var i=n(294);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){i.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,"")}},function(e,t){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r2&&void 0!==arguments[2]?arguments[2]:{};r(this,e),this.content=t.content,this.fields=t.fields,this.properties=t.properties;try{var s=this.fields.routingKey.split("."),a=i(s,2);this.senderId=a[0],this.channelName=a[1]}catch(e){console.error("Wrong routing key format")}this._receiverId=n,this._discardMine=o.discardMine||!1,this._discardFromApi=o.discardFromApi||!1}return o(e,[{key:"blackListed",value:function(){return!(!this._discardMine||this._receiverId!==this.senderId||this.fromApi())||!(!this._discardFromApi||!this.fromApi())}},{key:"fromApi",value:function(){return this.properties.headers&&this.properties.headers[s.fromApiHeader]}}]),e}();t.default=a},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=n(313),u=r(a),c=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};return t=(0,f.default)(this._connectionOpts,t),new p.default(function(n,r){e.getEndpointConfigs().then(function(i){var o=i.connection;if(void 0!==e._mqttConnection)n(e._mqttConnection);else try{var s={host:o.host,port:e._tls?o.protocols.mqtt.tlsPort:o.protocols.mqtt.port,username:o.vhost+":"+(o.deviceId||o.client),password:o.secret,clientId:o.deviceId||o.client,connectionTimeout:t.connectionTimeout||e._connectionTimeout};e._tls&&(s=(0,f.default)(s,e._tlsOpts));var a=v.default.connect(s);a.on("error",function(e){r(e)}),a.on("close",function(e){r(e)}),e._mqttConnection=a,n(e._mqttConnection)}catch(e){r(e)}}).catch(function(e){r(e)})})}},{key:"_topicFor",value:function(e){return this.deviceId()+"/"+e}}]),n}(y.default);t.default=b}).call(t,n(3).Buffer)},function(e,t,n){function r(e){if(null==e)return!0;if(u(e)&&(a(e)||"string"==typeof e||"function"==typeof e.splice||c(e)||f(e)||s(e)))return!e.length;var t=o(e);if(t==h||t==p)return!e.size;if(l(e))return!i(e).length;for(var n in e)if(v.call(e,n))return!1;return!0}var i=n(45),o=n(263),s=n(35),a=n(23),u=n(12),c=n(37),l=n(46),f=n(41),h="[object Map]",p="[object Set]",d=Object.prototype,v=d.hasOwnProperty;e.exports=r},function(e,t,n){(function(t){"use strict";function r(e){var t;e.auth&&(t=e.auth.match(/^(.+):(.+)$/),t?(e.username=t[1],e.password=t[2]):e.username=e.auth)}function i(e,t){function n(e){return t.servers&&(e._reconnectCount&&e._reconnectCount!==t.servers.length||(e._reconnectCount=0),t.host=t.servers[e._reconnectCount].host,t.port=t.servers[e._reconnectCount].port,t.hostname=t.host,e._reconnectCount++),u[t.protocol](e,t)}if("object"!=typeof e||t||(t=e,e=null),t=t||{},e&&(t=a(s.parse(e,!0),t),t.protocol=t.protocol.replace(/\:$/,"")),r(t),t.query&&"string"==typeof t.query.clientId&&(t.clientId=t.query.clientId),t.cert&&t.key){if(!t.protocol)throw new Error("Missing secure protocol key");if(-1===["mqtts","wss"].indexOf(t.protocol))switch(t.protocol){case"mqtt":t.protocol="mqtts";break;case"ws":t.protocol="wss";break;default:throw new Error('Unknown protocol for secure connection: "'+t.protocol+'"!')}}if(u[t.protocol]||(t.protocol=c.filter(function(e){return"function"==typeof u[e]})[0]),!1===t.clean&&!t.clientId)throw new Error("Missing clientId for unclean clients");return new o(n,t)}var o=n(315),s=n(111),a=n(338),u={},c=[];"browser"!==t.title&&(u.mqtt=n(339),u.tcp=n(339),u.ssl=n(341),u.tls=n(341),u.mqtts=n(341)),u.ws=n(343),u.wss=n(343),c=["mqtt","mqtts","ws","wss"],e.exports=i,e.exports.connect=i,e.exports.MqttClient=o}).call(t,n(52))},function(e,t,n){(function(t,r){"use strict";function i(){return"mqttjs_"+Math.random().toString(16).substr(2,8)}function o(e,t,n){try{var r=h.generate(t);e.emit("packetsend",t),e.stream.write(r)&&n?n():n&&e.stream.once("drain",n)}catch(t){n?n(t):e.emit("error",t)}}function s(e,t,n){e.outgoingStore.put(t,function(r){return r?n&&n(r):void o(e,t,n)})}function a(){}function u(e,t){var n,r=this;if(!(this instanceof u))return new u(e,t);this.options=t||{};for(n in m)"undefined"==typeof this.options[n]?this.options[n]=m[n]:this.options[n]=t[n];this.options.clientId=this.options.clientId||i(),this.streamBuilder=e,this.outgoingStore=this.options.outgoingStore||new l,this.incomingStore=this.options.incomingStore||new l,this.queueQoSZero=null==this.options.queueQoSZero||this.options.queueQoSZero,this.pingTimer=null,this.connected=!1,this.disconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this.nextId=Math.floor(65535*Math.random()),this.outgoing={},this.on("connect",function(){if(!this.disconnected){this.connected=!0;var e=null;e=this.outgoingStore.createStream(),e.once("readable",function(){function t(){var n,i=e.read(1);i&&(!r.disconnecting&&!r.reconnectTimer&&00)if(t.ended&&!i){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&i){var a=new Error("stream.unshift() after end event");e.emit("error",a)}else!t.decoder||i||r||(n=t.decoder.write(n)),t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):(t.reading=!1,t.buffer.push(n)),t.needReadable&&f(e),p(e,t);else i||(t.reading=!1);return s(t)}function s(e){return!e.ended&&(e.needReadable||e.length=j)e=j;else{e--;for(var t=1;t<32;t<<=1)e|=e>>t;e++}return e}function u(e,t){return 0===t.length&&t.ended?0:t.objectMode?0===e?0:1:null===e||isNaN(e)?t.flowing&&t.buffer.length?t.buffer[0].length:t.length:e<=0?0:(e>t.highWaterMark&&(t.highWaterMark=a(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function c(e,t){var n=null;return k.isBuffer(t)||"string"==typeof t||null===t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function l(e,t){if(t.decoder&&!t.ended){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.length>0?f(e):_(e)}function f(e){var n=e._readableState;n.needReadable=!1,n.emittedReadable||(n.emittedReadable=!0,n.sync?t.nextTick(function(){h(e)}):h(e))}function h(e){e.emit("readable")}function p(e,n){n.readingMore||(n.readingMore=!0,t.nextTick(function(){d(e,n)}))}function d(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length0)return;return 0===r.pipesCount?(r.flowing=!1,void(I.listenerCount(e,"data")>0&&m(e))):void(r.ranOut=!0)}function y(){this._readableState.ranOut&&(this._readableState.ranOut=!1,g(this))}function m(e,n){var r=e._readableState;if(r.flowing)throw new Error("Cannot switch to old mode now.");var i=n||!1,o=!1;e.readable=!0,e.pipe=C.prototype.pipe,e.on=e.addListener=C.prototype.on,e.on("readable",function(){o=!0;for(var t;!i&&null!==(t=e.read());)e.emit("data",t);null===t&&(o=!1,e._readableState.needReadable=!0)}),e.pause=function(){i=!0,this.emit("pause")},e.resume=function(){i=!1,o?t.nextTick(function(){e.emit("readable")}):this.read(0),this.emit("resume")},e.emit("readable")}function b(e,t){var n,r=t.buffer,i=t.length,o=!!t.decoder,s=!!t.objectMode;if(0===r.length)return null;if(0===i)n=null;else if(s)n=r.shift();else if(!e||e>=i)n=o?r.join(""):k.concat(r,i),r.length=0;else if(e0)throw new Error("endReadable called on non-empty stream");!n.endEmitted&&n.calledRead&&(n.ended=!0,t.nextTick(function(){n.endEmitted||0!==n.length||(n.endEmitted=!0,e.readable=!1,e.emit("end"))}))}function w(e,t){for(var n=0,r=e.length;n0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return f(this),null;if(e=u(e,t),0===e&&t.ended)return n=null,t.length>0&&t.decoder&&(n=b(e,t),t.length-=n.length),0===t.length&&_(this), -n;var i=t.needReadable;return t.length-e<=t.highWaterMark&&(i=!0),(t.ended||t.reading)&&(i=!1),i&&(t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1),i&&!t.reading&&(e=u(r,t)),n=e>0?b(e,t):null,null===n&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),t.ended&&!t.endEmitted&&0===t.length&&_(this),n},i.prototype._read=function(e){this.emit("error",new Error("not implemented"))},i.prototype.pipe=function(e,n){function r(e){e===l&&o()}function i(){e.end()}function o(){e.removeListener("close",a),e.removeListener("finish",u),e.removeListener("drain",d),e.removeListener("error",s),e.removeListener("unpipe",r),l.removeListener("end",i),l.removeListener("end",o),e._writableState&&!e._writableState.needDrain||d()}function s(t){c(),e.removeListener("error",s),0===I.listenerCount(e,"error")&&e.emit("error",t)}function a(){e.removeListener("finish",u),c()}function u(){e.removeListener("close",a),c()}function c(){l.unpipe(e)}var l=this,f=this._readableState;switch(f.pipesCount){case 0:f.pipes=e;break;case 1:f.pipes=[f.pipes,e];break;default:f.pipes.push(e)}f.pipesCount+=1;var h=(!n||n.end!==!1)&&e!==t.stdout&&e!==t.stderr,p=h?i:o;f.endEmitted?t.nextTick(p):l.once("end",p),e.on("unpipe",r);var d=v(l);return e.on("drain",d),e._events&&e._events.error?x(e._events.error)?e._events.error.unshift(s):e._events.error=[s,e._events.error]:e.on("error",s),e.once("close",a),e.once("finish",u),e.emit("pipe",l),f.flowing||(this.on("readable",y),f.flowing=!0,t.nextTick(function(){g(l)})),e},i.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,this.removeListener("readable",y),t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var n=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,this.removeListener("readable",y),t.flowing=!1;for(var i=0;i0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,this._stateCounter>=this._states.length&&(this._stateCounter=0);return this._list.length},r.prototype._parseHeader=function(){var e=this._list.readUInt8(0);return this.packet.cmd=u.types[e>>u.CMD_SHIFT],this.packet.retain=0!==(e&u.RETAIN_MASK),this.packet.qos=e>>u.QOS_SHIFT&u.QOS_MASK,this.packet.dup=0!==(e&u.DUP_MASK),this._list.consume(1),!0},r.prototype._parseLength=function(){for(var e,t=0,n=1,r=0,i=!0;t<5&&(e=this._list.readUInt8(t++),r+=n*(e&u.LENGTH_MASK),n*=128,0!==(e&u.LENGTH_FIN_MASK));)if(this._list.length<=t){i=!1;break}return i&&(this.packet.length=r,this._list.consume(t)),i},r.prototype._parsePayload=function(){var e=!1;if(0===this.packet.length||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseMessageId();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":case"disconnect":break;default:this._emitError(new Error("not supported"))}e=!0}return e},r.prototype._parseConnect=function(){var e,t,n,r,i,o,s={},a=this.packet;if(e=this._parseString(),null===e)return this._emitError(new Error("cannot parse protocol id"));if("MQTT"!=e&&"MQIsdp"!=e)return this._emitError(new Error("invalid protocol id"));if(a.protocolId=e,this._pos>=this._list.length)return this._emitError(new Error("packet too short"));if(a.protocolVersion=this._list.readUInt8(this._pos),3!=a.protocolVersion&&4!=a.protocolVersion)return this._emitError(new Error("invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("packet too short"));if(s.username=this._list.readUInt8(this._pos)&u.USERNAME_MASK,s.password=this._list.readUInt8(this._pos)&u.PASSWORD_MASK,s.will=this._list.readUInt8(this._pos)&u.WILL_FLAG_MASK,s.will&&(a.will={},a.will.retain=0!==(this._list.readUInt8(this._pos)&u.WILL_RETAIN_MASK),a.will.qos=(this._list.readUInt8(this._pos)&u.WILL_QOS_MASK)>>u.WILL_QOS_SHIFT),a.clean=0!==(this._list.readUInt8(this._pos)&u.CLEAN_SESSION_MASK),this._pos++,a.keepalive=this._parseNum(),a.keepalive===-1)return this._emitError(new Error("packet too short"));if(t=this._parseString(),null===t)return this._emitError(new Error("packet too short"));if(a.clientId=t,s.will){if(n=this._parseString(),null===n)return this._emitError(new Error("cannot parse will topic"));if(a.will.topic=n,r=this._parseBuffer(),null===r)return this._emitError(new Error("cannot parse will payload"));a.will.payload=r}if(s.username){if(o=this._parseString(),null===o)return this._emitError(new Error("cannot parse username"));a.username=o}if(s.password){if(i=this._parseBuffer(),null===i)return this._emitError(new Error("cannot parse username"));a.password=i}return a},r.prototype._parseConnack=function(){var e=this.packet;return this._list.length<2?null:(e.sessionPresent=!!(this._list.readUInt8(this._pos++)&u.SESSIONPRESENT_MASK),e.returnCode=this._list.readUInt8(this._pos),e.returnCode===-1?this._emitError(new Error("cannot parse return code")):void 0)},r.prototype._parsePublish=function(){var e=this.packet;return e.topic=this._parseString(),null===e.topic?this._emitError(new Error("cannot parse topic")):void(e.qos>0&&!this._parseMessageId()||(e.payload=this._list.slice(this._pos,e.length)))},r.prototype._parseSubscribe=function(){var e,t,n=this.packet;if(1!=n.qos)return this._emitError(new Error("wrong subscribe header"));if(n.subscriptions=[],this._parseMessageId())for(;this._posthis._list.length||r>this.packet.length?null:(t=this._list.toString("utf8",this._pos,r),this._pos+=n,t)},r.prototype._parseBuffer=function(){var e,t=this._parseNum(),n=t+this._pos;return t===-1||n>this._list.length||n>this.packet.length?null:(e=this._list.slice(this._pos,n),this._pos+=t,e)},r.prototype._parseNum=function(){if(this._list.length-this._pos<2)return-1;var e=this._list.readUInt16BE(this._pos);return this._pos+=2,e},r.prototype._newPacket=function(){return this.packet&&(this._list.consume(this.packet.length),this.emit("packet",this.packet)),this.packet=new a,!0},r.prototype._emitError=function(e){this.error=e,this.emit("error",e)},e.exports=r},function(e,t,n){(function(t){function r(e){if(!(this instanceof r))return new r(e);if(this._bufs=[],this.length=0,"function"==typeof e){this._callback=e;var n=function(e){this._callback&&(this._callback(e),this._callback=null)}.bind(this);this.on("pipe",function(e){e.on("error",n)}),this.on("unpipe",function(e){e.removeListener("error",n)})}else t.isBuffer(e)?this.append(e):Array.isArray(e)&&e.forEach(function(e){t.isBuffer(e)&&this.append(e)}.bind(this));i.call(this)}var i=n(329),o=n(122);o.inherits(r,i),r.prototype._offset=function(e){for(var t,n=0,r=0;rthis.length)&&(i=this.length),r>=this.length)return e||new t(0);if(i<=0)return e||new t(0);var o,s,a=!!e,u=this._offset(r),c=i-r,l=c,f=a&&n||0,h=u[1];if(0===r&&i==this.length){if(!a)return t.concat(this._bufs);for(s=0;so)){this._bufs[s].copy(e,f,h,h+l);break}this._bufs[s].copy(e,f,h),f+=o,l-=o,h&&(h=0)}return e},r.prototype.toString=function(e,t,n){return this.slice(t,n).toString(e)},r.prototype.consume=function(e){for(;this._bufs.length;){if(!(e>this._bufs[0].length)){this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift()}return this},r.prototype.duplicate=function(){for(var e=0,t=new r;e255||r<0)throw new Error("Invalid protocol version");if(l+=1,"string"!=typeof a&&!t.isBuffer(a)||!a&&4!=r||!a&&!o){if(r<4)throw new Error("clientId must be supplied before 3.1.1");if(0==o)throw new Error("clientId must be given if cleanSession set to 0")}else l+=a.length+2;if("number"!=typeof s||s<0||s>65535)throw new Error("Invalid keepalive");if(l+=2,l+=1,i){if("object"!=typeof i)throw new Error("Invalid will");if(!i.topic||"string"!=typeof i.topic)throw new Error("Invalid will topic");if(l+=t.byteLength(i.topic)+2,i.payload&&i.payload){if(!(i.payload.length>=0))throw new Error("Invalid will payload");l+="string"==typeof i.payload?t.byteLength(i.payload)+2:i.payload.length+2}else l+=2}if(u){if(!u.length)throw new Error("Invalid username");l+=t.byteLength(u)+2}if(c){if(!c.length)throw new Error("Invalid password");l+=b(c)+2}var f=new t(1+h(l)+l),v=0;f.writeUInt8(_.codes.connect<<_.CMD_SHIFT,v++,!0),v+=p(f,v,l),v+=m(f,v,n),f.writeUInt8(r,v++,!0);var g=0;return g|=u?_.USERNAME_MASK:0,g|=c?_.PASSWORD_MASK:0,g|=i&&i.retain?_.WILL_RETAIN_MASK:0,g|=i&&i.qos?i.qos<<_.WILL_QOS_SHIFT:0,g|=i?_.WILL_FLAG_MASK:0,g|=o?_.CLEAN_SESSION_MASK:0,f.writeUInt8(g,v++,!0),v+=y(f,v,s),v+=m(f,v,a),i&&(v+=d(f,v,i.topic),v+=m(f,v,i.payload)),u&&(v+=m(f,v,u)),c&&(v+=m(f,v,c)),f}function o(e){var e=e||{},n=e.returnCode;if("number"!=typeof n)throw new Error("Invalid return code");var r=new t(4),i=0;return r.writeUInt8(_.codes.connack<<_.CMD_SHIFT,i++,!0),i+=p(r,i,2),r.writeUInt8(e.sessionPresent&&_.SESSIONPRESENT_MASK||0,i++,!0),r.writeUInt8(n,i++,!0),r}function s(e){var e=e||{},n=e.dup?_.DUP_MASK:0,r=e.qos,i=e.retain?_.RETAIN_MASK:0,o=e.topic,s=e.payload||w,a=e.messageId,u=0;if("string"==typeof o)u+=t.byteLength(o)+2;else{if(!t.isBuffer(o))throw new Error("Invalid topic");u+=o.length+2}if(u+=t.isBuffer(s)?s.length:t.byteLength(s),r&&"number"!=typeof a)throw new Error("Invalid message id");r&&(u+=2);var c=new t(1+h(u)+u),l=0;return c.writeUInt8(_.codes.publish<<_.CMD_SHIFT|n|r<<_.QOS_SHIFT|i,l++,!0),l+=p(c,l,u),l+=m(c,l,o),r>0&&(l+=y(c,l,a)),t.isBuffer(s)?g(c,l,s):v(c,l,s),c}function a(e){var e=e||{},n=e.cmd||"puback",r=e.messageId,i=e.dup&&"pubrel"===n?_.DUP_MASK:0,o=0;if("pubrel"===n&&(o=1),"number"!=typeof r)throw new Error("Invalid message id");var s=new t(4),a=0;return s[a++]=_.codes[n]<<_.CMD_SHIFT|i|o<<_.QOS_SHIFT,a+=p(s,a,2),a+=y(s,a,r),s}function u(e){var e=e||{},n=e.dup?_.DUP_MASK:0,r=e.qos||0,i=e.messageId,o=e.subscriptions,s=0;if("number"!=typeof i)throw new Error("Invalid message id");if(s+=2,"object"!=typeof o||!o.length)throw new Error("Invalid subscriptions");for(var a=0;a=0&&e<128?1:e>=128&&e<16384?2:e>=16384&&e<2097152?3:e>=2097152&&e<268435456?4:0}function p(e,t,n){var r=0,i=t;do r=n%128|0,n=n/128|0,n>0&&(r|=128),e.writeUInt8(r,t++,!0);while(n>0);return t-i}function d(e,n,r){var i=t.byteLength(r);return y(e,n,i),v(e,n+2,r),i+2}function v(e,t,n){e.write(n,t)}function g(e,t,n){return n.copy(e,t),n.length}function y(e,t,n){return e.writeUInt8(n>>8,t,!0),e.writeUInt8(255&n,t+1,!0),2}function m(e,t,n){var r=0;return n&&"string"==typeof n?r+=d(e,t+r,n):n?(r+=y(e,t+r,n.length),r+=g(e,t+r,n)):r+=y(e,t+r,0),r}function b(e){return t.isBuffer(e)?e.length:t.byteLength(e)}var _=n(334),w=new t(0);e.exports=r}).call(t,n(3).Buffer)},function(e,t){"use strict";function n(e,t,n){var r=this;this._callback=e,this._args=n,this._interval=setInterval(e,t,this._args),this.reschedule=function(e){e||(e=r._interval),r._interval&&clearInterval(r._interval),r._interval=setInterval(r._callback,e,r._args)},this.clear=function(){r._interval&&(clearInterval(r._interval),r._interval=void 0)},this.destroy=function(){r._interval&&clearInterval(r._interval),r._callback=void 0,r._interval=void 0,r._args=void 0}}function r(){if("function"!=typeof arguments[0])throw new Error("callback needed");if("number"!=typeof arguments[1])throw new Error("interval needed");var e;if(arguments.length>0){e=new Array(arguments.length-2);for(var t=0;tx)return void setTimeout(l,k,e,t,n);I&&"string"==typeof e&&(e=new i(e,"utf8"));try{m.send(e)}catch(e){return n(e)}n()}function f(e){m.close(),e()}function h(){y.setReadable(E),y.setWritable(E),y.emit("connect")}function p(){y.end(),y.destroy()}function d(e){y.destroy(e)}function v(e){var t=e.data;t=new i(t instanceof ArrayBuffer?new Uint8Array(t):t),E.push(t)}function g(){m.close()}var y,m,b="browser"===t.title,_=!!r.WebSocket,w=b?l:c,E=s.obj(w,f);n&&!Array.isArray(n)&&"object"==typeof n&&(o=n,n=null,("string"==typeof o.protocol||Array.isArray(o.protocol))&&(n=o.protocol)),o||(o={});var x=o.browserBufferSize||524288,k=o.browserBufferTimeout||1e3;"object"==typeof e?m=e:(m=_&&b?new u(e,n):new u(e,n,o),m.binaryType="arraybuffer"),m.readyState===u.OPEN?y=E:(y=a.obj(),m.onopen=h),y.socket=m,m.onclose=p,m.onerror=d,m.onmessage=v,E.on("close",g);var I=o.binary||void 0===o.binary;return y}var s=n(345),a=n(360),u=n(375);e.exports=o}).call(t,n(52),function(){return this}(),n(3).Buffer)},function(e,t,n){(function(t){function r(e){s.call(this,e),this._destroyed=!1}function i(e,t,n){n(null,e)}function o(e){return function(t,n,r){return"function"==typeof t&&(r=n,n=t,t={}),"function"!=typeof n&&(n=i),"function"!=typeof r&&(r=null),e(t,n,r)}}var s=n(346),a=n(122).inherits,u=n(338);a(r,s),r.prototype.destroy=function(e){if(!this._destroyed){this._destroyed=!0;var n=this;t.nextTick(function(){e&&n.emit("error",e),n.emit("close")})}},e.exports=o(function(e,t,n){var i=new r(e);return i._transform=t,n&&(i._flush=n),i}),e.exports.ctor=o(function(e,t,n){function i(t){return this instanceof i?(this.options=u(e,t),void r.call(this,this.options)):new i(t)}return a(i,r),i.prototype._transform=t,n&&(i.prototype._flush=n),i}),e.exports.obj=o(function(e,t,n){var i=new r(u({objectMode:!0,highWaterMark:16},e));return i._transform=t,n&&(i._flush=n),i})}).call(t,n(52))},[397,347],[390,348,356,355,358,359],[391,349,350,351,352,354,355,357,355,357],6,141,92,[392,353],92,147,[393,348,356],[394,350,354,355,355],151,[395,355],[396,358],function(e,t,n){(function(t,r){var i=n(361),o=n(323),s=n(136),a=n(374),u=new t([0]),c=function(e,t){e._corked?e.once("uncork",t):t()},l=function(e,t){return function(n){n?e._destroyInterval(n):t&&!e._ended&&e.end()}},f=function(e,t){return e?e._writableState&&e._writableState.finished?t():e._writableState?e.end(t):(e.end(),void t()):t()},h=function(e){return new i.Readable({objectMode:!0,highWaterMark:16}).wrap(e)},p=function(e,t,n){return this instanceof p?(i.Duplex.call(this,n),this._writable=null,this._readable=null,this._readable2=null,this._forwardDestroy=!n||n.destroy!==!1,this._forwardEnd=!n||n.end!==!1,this._corked=1,this._ondrain=null,this._drained=!1,this._forwarding=!1,this._unwrite=null,this._unread=null,this._ended=!1,this._error=null,this._preferError=!1,this.destroyed=!1,e&&this.setWritable(e),void(t&&this.setReadable(t))):new p(e,t,n)};s(p,i.Duplex),p.obj=function(e,t,n){return n||(n={}),n.objectMode=!0,n.highWaterMark=16,new p(e,t,n)},p.prototype.cork=function(){1===++this._corked&&this.emit("cork")},p.prototype.uncork=function(){this._corked&&0===--this._corked&&this.emit("uncork")},p.prototype.setWritable=function(e){if(this._unwrite&&this._unwrite(),this.destroyed)return void(e&&e.destroy&&e.destroy());if(null===e||e===!1)return void this.end();var t=this,n=o(e,{writable:!0,readable:!1},l(this,this._forwardEnd)),i=function(){var e=t._ondrain;t._ondrain=null,e&&e()},s=function(){t._writable.removeListener("drain",i),n()};this._unwrite&&r.nextTick(i),this._writable=e,this._writable.on("drain",i),this._unwrite=s,this.uncork()},p.prototype.setReadable=function(e){if(this._unread&&this._unread(),this.destroyed)return void(e&&e.destroy&&e.destroy());if(null===e||e===!1)return this.push(null),void this.resume();var t=this,n=o(e,{writable:!1,readable:!0},l(this)),r=function(){t._forward()},i=function(){t.push(null)},s=function(){t._readable2.removeListener("readable",r),t._readable2.removeListener("end",i),n()};this._drained=!0,this._readable=e,this._readable2=e._readableState?e:h(e),this._readable2.on("readable",r),this._readable2.on("end",i),this._unread=s,this._forward()},p.prototype._read=function(){this._drained=!0,this._forward()},p.prototype._forward=function(){if(!this._forwarding&&this._readable2&&this._drained){this._forwarding=!0;for(var e;this._drained&&null!==(e=a(this._readable2));)this.destroyed||(this._drained=this.push(e));this._forwarding=!1}},p.prototype.destroy=function(e){if(this._preferError&&!this._error&&e&&(this._error=e),!this.destroyed){this.destroyed=!0;var t=this;r.nextTick(function(){t._destroy(t._preferError?t._error:e)})}},p.prototype._destroyInterval=function(e){if(!this.destroyed){if("premature close"!==e.message)return this.destroy(e);this._preferError=!0,this.destroy(null)}},p.prototype._destroy=function(e){if(e){var t=this._ondrain;this._ondrain=null,t?t(e):this.emit("error",e)}this._forwardDestroy&&(this._readable&&this._readable.destroy&&this._readable.destroy(),this._writable&&this._writable.destroy&&this._writable.destroy()),this.emit("close")},p.prototype._write=function(e,t,n){return this.destroyed?n():this._corked?c(this,this._write.bind(this,e,t,n)):e===u?this._finish(n):this._writable?void(this._writable.write(e)===!1?this._ondrain=n:n()):n()},p.prototype._finish=function(e){var t=this;this.emit("preend"),c(this,function(){f(t._forwardEnd&&t._writable,function(){t._writableState.prefinished===!1&&(t._writableState.prefinished=!0),t.emit("prefinish"),c(t,e)})})},p.prototype.end=function(e,t,n){return"function"==typeof e?this.end(null,null,e):"function"==typeof t?this.end(e,null,t):(this._ended=!0,e&&this.write(e),this._writableState.ending||this.write(u),i.Writable.prototype.end.call(this,n))},e.exports=p}).call(t,n(3).Buffer,n(52))},[390,362,370,369,372,373],[391,363,364,365,366,368,369,371,369,371],6,141,92,[392,367],92,147,[393,362,370],[394,364,368,369,369],151,[395,369],[396,372],function(e,t){function n(e){var t=e._readableState;return t?t.objectMode?e.read():e.read(r(t)):null}function r(e){return e.buffer.length?e.buffer.head?e.buffer.head.data.length:e.buffer[0].length:e.length}e.exports=n},function(e,t){var n=null;n="undefined"!=typeof WebSocket?WebSocket:"undefined"!=typeof MozWebSocket?MozWebSocket:window.WebSocket||window.MozWebSocket,e.exports=n},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{ -default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=n(7),u=r(a),c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};return n=(0,h.default)(this._connectionOpts,n),new d.default(function(n,r){t.getEndpointConfigs().then(function(i){var o=i.connection;if(void 0!==t._stompConnection)n(t._stompConnection);else try{var s=void 0;if("object"===("undefined"==typeof e?"undefined":c(e))&&""+e=="[object process]")s=t._tls?g.default.overTCP(o.host,o.protocols.stomp.tlsPort,t._tlsOpts):g.default.overTCP(o.host,o.protocols.stomp.port);else{var a=t._tls?t._webSocketOpts.tls.protocol:t._webSocketOpts.protocol,u=t._tls?o.protocols.webStomp.tlsPort:o.protocols.webStomp.port,l=a+"://"+o.host+":"+u+"/"+t._webSocketOpts.endpoint,f=new WebSocket(l);s=g.default.over(f),s.heartbeat.outgoing=1e4,s.heartbeat.incoming=1e4,s.debug=null}var p=(0,h.default)(t._connectionHeaders,{login:o.deviceId||o.client,passcode:o.secret,host:o.vhost});s.connect(p,function(){t._stompConnection=s,n(t._stompConnection)},function(e){r(e)})}catch(e){r(e)}}).catch(function(e){r(e)})})}},{key:"_subcriptionFor",value:function(e,t){return"/"+e+"/"+this.deviceId()+"."+t}},{key:"_destinationFor",value:function(e,t){return"/"+e+"/"+this.deviceId()+"/"+this.deviceId()+"."+t}},{key:"_autoAck",value:function(e){if(e)switch((0,u.default)(w[this._protocol].ackTypes,e)||console.error("Wrong acknowledge type"),e){case"client":return!1;default:return!0}return!1}}]),n}(m.default);t.default=E}).call(t,n(52))},function(e,t,n){var r=n(378),i=n(379);e.exports=r.Stomp,e.exports.overTCP=i.overTCP,e.exports.overWS=i.overWS},function(e,t){(function(){var e,n,r,i,o={}.hasOwnProperty,s=[].slice;e={LF:"\n",NULL:"\0"},r=function(){function t(e,t,n){this.command=e,this.headers=null!=t?t:{},this.body=null!=n?n:""}var n;return t.prototype.toString=function(){var n,r,i,s,a;n=[this.command],s=this.headers["content-length"]===!1,s&&delete this.headers["content-length"],i=this.headers;for(r in i)o.call(i,r)&&(a=i[r],n.push(r+":"+a));return this.body&&!s&&n.push("content-length:"+t.sizeOfUTF8(this.body)),n.push(e.LF+this.body),n.join(e.LF)},t.sizeOfUTF8=function(e){return e?encodeURI(e).match(/%..|./g).length:0},n=function(n){var r,i,o,s,a,u,c,l,f,h,p,d,v,g,y,m,b,_;for(s=n.search(RegExp(""+e.LF+e.LF)),a=n.substring(0,s).split(e.LF),o=a.shift(),u={},_=function(e){return e.replace(/^\s+|\s+$/g,"")},g=a.reverse(),f=0,d=g.length;fm)&&(i=n.charAt(c),i!==e.NULL);c=y<=m?++h:--h)r+=i;return new t(o,u,r)},t.unmarshall=function(t){var r,i,o,s;return i=t.split(RegExp(""+e.NULL+e.LF+"*")),s={frames:[],partial:""},s.frames=function(){var e,t,o,s;for(o=i.slice(0,-1),s=[],e=0,t=o.length;e>> "+i);;){if(!(i.length>this.maxWebSocketFrameSize))return this.ws.send(i);this.ws.send(i.substring(0,this.maxWebSocketFrameSize)),i=i.substring(this.maxWebSocketFrameSize),"function"==typeof this.debug&&this.debug("remaining = "+i.length)}},t.prototype._setupHeartbeat=function(t){var r,o,s,a,u,c;if((r=t.version)===i.VERSIONS.V1_1||r===i.VERSIONS.V1_2)return o=function(){var e,n,r,i;for(r=t["heart-beat"].split(","),i=[],e=0,n=r.length;e>> PING"):void 0}}(this))),0!==this.heartbeat.incoming&&0!==a?(u=Math.max(this.heartbeat.incoming,a),"function"==typeof this.debug&&this.debug("check PONG every "+u+"ms"),this.ponger=i.setInterval(u,function(e){return function(){var t;if(t=n()-e.serverActivity,t>2*u)return"function"==typeof e.debug&&e.debug("did not receive server activity for the last "+t+"ms"),e.ws.close()}}(this))):void 0},t.prototype._parseConnect=function(){var e,t,n,r;switch(e=1<=arguments.length?s.call(arguments,0):[],r={},e.length){case 2:r=e[0],t=e[1];break;case 3:e[1]instanceof Function?(r=e[0],t=e[1],n=e[2]):(r.login=e[0],r.passcode=e[1],t=e[2]);break;case 4:r.login=e[0],r.passcode=e[1],t=e[2],n=e[3];break;default:r.login=e[0],r.passcode=e[1],t=e[2],n=e[3],r.host=e[4]}return[r,t,n]},t.prototype.connect=function(){var t,o,a,u;return t=1<=arguments.length?s.call(arguments,0):[],u=this._parseConnect.apply(this,t),a=u[0],this.connectCallback=u[1],o=u[2],"function"==typeof this.debug&&this.debug("Opening Web Socket..."),this.ws.onmessage=function(t){return function(i){var s,a,u,c,l,f,h,p,d,v,g,y,m;if(c="undefined"!=typeof ArrayBuffer&&i.data instanceof ArrayBuffer?(s=new Uint8Array(i.data),"function"==typeof t.debug?t.debug("--- got data length: "+s.length):void 0,function(){var e,t,n;for(n=[],e=0,t=s.length;e=0.10.0"},gitHead:"d941f975e8ef6b55eafc0ef45996f4198013832c",homepage:"https://github.com/theturtle32/WebSocket-Node",keywords:["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],license:"Apache-2.0",main:"index",maintainers:[{name:"theturtle32",email:"brian@worlize.com"}],name:"websocket",optionalDependencies:{},readme:"ERROR: No README data found!",repository:{type:"git",url:"git+https://github.com/theturtle32/WebSocket-Node.git"},scripts:{gulp:"gulp",install:"(node-gyp rebuild 2> builderror.log) || (exit 0)",test:"faucet test/unit"},version:"1.0.25"}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&a.return&&a.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{};r(this,e),this.body=t.body,this.headers=t.headers;try{var s=this.headers.destination.split("/"),a=s[s.length-1].split("."),u=i(a,2);this.senderId=u[0],this.channelName=u[1]}catch(e){console.error("Wrong routing key format")}this._receiverId=n,this._discardMine=o.discardMine||!1,this._discardFromApi=o.discardFromApi||!1}return o(e,[{key:"blackListed",value:function(){return!(!this._discardMine||this._receiverId!==this.senderId||this.fromApi())||!(!this._discardFromApi||!this.fromApi())}},{key:"fromApi",value:function(){return this.headers&&this.headers[s.fromApiHeader]}}]),e}();t.default=a},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[],n=arguments[1],r=t.map(function(t){return e._attachStreamHook(t,n)})||[];return r.length>0?f.default.any(r):f.default.reject("Missing stream hooks")}},{key:"_attachStreamHook",value:function(e,t){var n=this;return new f.default(function(r,i){var o=e.deviceId,s=e.channel,a=e.stream,u="boolean"!=typeof e.cache||e.cache;void 0!==a||void 0!==s&&void 0!==o||i("Missing Stream or Device ID and Channel");var l=e.routingKey||n._defaultStreamRoutingKey,f=function(){},h=e.callback||f,p=(new Date).getTime();n._createChannel(""+p).then(function(e){n._amqpChannels[""+p]=e;var i=void 0;if(a)if(n.liveStreamExists(a)||(console.error("Stream "+a+" does not exist"),r(!1)),u){var f=n._cachedStreamQueue(a);i=n._amqpChannels[""+p].checkQueue(f,n._streamQueueArguments).then(function(){return n._amqpChannels[""+p].consume(f,function(e){h(n._parseContent(e.content),e.fields,e.properties)},(0,c.default)(n._subscribeArgs,t))})}else{var d=n.exchangeName(a,n._liveStreamSuffix),v=n.tempQueue(a,n._liveStreamSuffix,p);i=n._amqpChannels[""+p].checkExchange(d).then(function(){return n._amqpChannels[""+p].assertQueue(v,n._streamQueueArguments)}).then(function(){return n._amqpChannels[""+p].bindQueue(v,d,l)}).then(function(){return n._amqpChannels[""+p].consume(v,function(e){h(n._parseContent(e.content),e.fields,e.properties)},(0,c.default)(n._subscribeArgs,t))})}else{var g=n.exchangeName(o,s),y=n.tempQueue(o,s,p);i=n._amqpChannels[""+p].checkExchange(g).then(function(){return n._amqpChannels[""+p].assertQueue(y,n._streamQueueArguments)}).then(function(){return n._amqpChannels[""+p].bindQueue(y,g,l)}).then(function(){return n._amqpChannels[""+p].consume(y,function(e){h(n._parseContent(e.content),e.fields,e.properties)},(0,c.default)(n._subscribeArgs,t))})}return i}).then(function(){r(!0)}).catch(function(e){i(e)})})}},{key:"_cachedStreamQueue",value:function(e){return this.liveStreamByName(e)+"."+this._liveStreamSuffix}}]),t}(p.default);delete v.onReceive,delete v.publish,delete v._routingKeyFor,t.default=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[],n=arguments[1];return new f.default(function(r,i){e.connect().then(function(o){var s=function(){};t.forEach(function(t){var n=t.stream,o=t.deviceId,s=t.channel,a=t.qos,u="boolean"!=typeof t.cache||t.cache;void 0!==n||void 0!==s&&void 0!==o||i("Missing Stream or Device ID and Channel"),n?(e.liveStreamExists(n)||(console.error("Stream "+n+" does not exist"),r(!1)),e._topics[e._streamTopicFor(n)]=u?1:0):e._topics[e._streamChannelTopicFor(o,s)]=a||e._connectionOpts.qos}),o.subscribe(e._topics,(0,c.default)(e._connectionOpts,n),function(n){n?i(!1):(o.on("message",function(n,r){var i=n.split("/"),o=t.filter(function(t){return e.liveStreamByName(t.stream)===i[0]||t.deviceId===i[0]&&t.channel===i[1]}),a=s;o.length>0&&(a=o[0].callback||s),a(n,e._parseContent(r))}),r(!0))})}).catch(function(e){i(e)})})}},{key:"_streamChannelTopicFor",value:function(e,t){return e+"/"+t}},{key:"_streamTopicFor",value:function(e){return this.liveStreamByName(e)+"/"+this._liveStreamSuffix}}]),t}(p.default);delete d.onReceive,delete d.publish,delete d._topicFor,t.default=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[],n=arguments[1],r=t.map(function(t){return e._attachStreamHook(t,n)})||[];return r.length>0?f.default.any(r):f.default.reject("Missing stream hooks")}},{key:"unsubscribe",value:function(e,t){var n=this;return new f.default(function(r,i){if(void 0===n._stompConnection)i("Invalid connection");else{var o=n._topicFor(e,t),s=n._subscriptions[o];s.unsubscribe(o),delete n._subscriptions[o],r(!0)}})}},{key:"disconnect",value:function(){var e=this;return new f.default(function(t,n){if(void 0===e._stompConnection)n("Invalid connection");else{for(var r in e._subscriptions)r&&e._subscriptions[r].unsubscribe();e._subscriptions={},e._stompConnection.disconnect(function(){e._stompConnection=void 0,t(!0)}).catch(function(e){n(e)})}})}},{key:"_attachStreamHook",value:function(e,t){var n=this;return t=(0,c.default)({},t),new f.default(function(t,r){var i=e.stream,o=e.deviceId,s=e.channel,a="boolean"!=typeof e.cache||e.cache,u=function(){},c=e.callback||u;void 0!==i||void 0!==s&&void 0!==o||r("Missing Stream or Device ID and Channel"),n.connect().then(function(e){var r=void 0,u=void 0;i?(n.liveStreamExists(i)||(console.error("Stream "+i+" does not exist"),t(!1)),a?r=n._cachedStreamTopicFor(i):(r=n._streamTopicFor(i),u=n.tempQueue(i,n._liveStreamSuffix))):(r=n._streamChannelTopicFor(o,s),u=n.tempQueue(o,s));var l={};u&&(l["x-queue-name"]=u);var f=function(e){c(n._parseContent(e.body),e.headers)},h=e.subscribe(r,f,l);n._subscriptions[r]=h,t(!0)}).catch(function(e){r(e)})})}},{key:"_streamChannelTopicFor",value:function(e,t,n,r){return"/"+(n||this._exchangePrefix)+"/"+e+"."+t+"/"+(r||this._defaultPattern)}},{key:"_cachedStreamTopicFor",value:function(e,t){return"/"+(t||this._existingQueuePrefix)+"/"+this.liveStreamByName(e)+"."+this._liveStreamSuffix}},{key:"_streamTopicFor",value:function(e,t,n){return"/"+(t||this._exchangePrefix)+"/"+this.liveStreamByName(e)+"."+(this._liveStreamSuffix+"/"+(n||this._defaultPattern))}}]),t}(p.default);delete v.onReceive,delete v.publish,delete v._subcriptionFor,delete v._destinationFor,t.default=v},function(e,t,n,r,i){var o;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(s){"use strict";o=function(e){function t(e,t,n,r){return o.setTimer(function(){e(n,r,t)},t)}var o=n(r),s=n(i);return function(e){function n(e,n,i){t(r,e,n,i)}function r(e,t){t.resolve(e)}function i(e,t,n){var r="undefined"==typeof e?new s("timed out after "+n+"ms"):e;t.reject(r)}return e.prototype.delay=function(e){var t=this._beget();return this._handler.fold(n,e,void 0,t._handler),t},e.prototype.timeout=function(e,n){var r=this._beget(),s=r._handler,a=t(i,e,n,r._handler);return this._handler.visit(s,function(e){o.clearTimer(a),this.resolve(e)},function(e){o.clearTimer(a),this.reject(e)},s.notify),r},e}}.call(t,n,t,e),!(void 0!==o&&(e.exports=o))}(n(93))},function(e,t,n,r){var i;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(o){"use strict";i=function(e){var t=n(r).inspect;return function(e){return e.prototype.inspect=function(){return t(e._handler(this))},e}}.call(t,n,t,e),!(void 0!==i&&(e.exports=i))}(n(93))},function(e,t,n,r,i,o){var s;/** @license MIT License (c) copyright 2010-2014 original author or authors */ -!function(a){"use strict";s=function(e){var t=n(r),s=n(i),a=n(o).asap;return t({scheduler:new s(a)})}.call(t,n,t,e),!(void 0!==s&&(e.exports=s))}(n(93))},function(e,t,n,r,i,o,s,a){t=e.exports=n(r),t.Stream=t,t.Readable=t,t.Writable=n(i),t.Duplex=n(o),t.Transform=n(s),t.PassThrough=n(a)},function(e,t,n,r,i,o,s,a,u,c,l,f){(function(t,h){"use strict";function p(e){return K.from(e)}function d(e){return K.isBuffer(e)||e instanceof V}function v(e,t,n){return"function"==typeof e.prependListener?e.prependListener(t,n):void(e._events&&e._events[t]?H(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n))}function g(e,t){z=z||n(u),e=e||{};var r=t instanceof z;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,o=e.readableHighWaterMark,s=this.objectMode?16:16384;i||0===i?this.highWaterMark=i:r&&(o||0===o)?this.highWaterMark=o:this.highWaterMark=s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new J,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(X||(X=n(c).StringDecoder),this.decoder=new X(e.encoding),this.encoding=e.encoding)}function y(e){return z=z||n(l),this instanceof y?(this._readableState=new g(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),void W.call(this)):new y(e)}function m(e,t,n,r,i){var o=e._readableState;if(null===t)o.reading=!1,k(e,o);else{var s;i||(s=_(o,t)),s?e.emit("error",s):o.objectMode||t&&t.length>0?("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===K.prototype||(t=p(t)),r?o.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):b(e,o,t,!0):o.ended?e.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||0!==t.length?b(e,o,t,!1):S(e,o)):b(e,o,t,!1))):r||(o.reading=!1)}return w(o)}function b(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&I(e)),S(e,t)}function _(e,t){var n;return d(t)||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function w(e){return!e.ended&&(e.needReadable||e.length=te?e=te:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function x(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=E(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function k(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,I(e)}}function I(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||($("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?D(C,e):C(e))}function C(e){$("emit readable"),e.emit("readable"),A(e)}function S(e,t){t.readingMore||(t.readingMore=!0,D(T,e,t))}function T(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=M(e,t.buffer,t.decoder),n}function M(e,t,n){var r;return eo.length?o.length:e;if(i+=s===o.length?o:o.slice(0,e),e-=s,0===e){s===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++r}return t.length-=r,i}function L(e,t){var n=K.allocUnsafe(e),r=t.head,i=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),e-=s,0===e){s===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(s));break}++i}return t.length-=i,n}function P(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,D(N,t,e))}function N(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function q(e,t){for(var n=0,r=e.length;n=t.highWaterMark||t.ended))return $("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?P(this):I(this),null;if(e=x(e,t),0===e&&t.ended)return 0===t.length&&P(this),null;var r=t.needReadable;$("need readable",r),(0===t.length||t.length-e0?R(e,t):null,null===i?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&P(this)),null!==i&&this.emit("data",i),i},y.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},y.prototype.pipe=function(e,t){function n(e,t){$("onunpipe"),e===l&&t&&t.hasUnpiped===!1&&(t.hasUnpiped=!0,i())}function r(){$("onend"),e.end()}function i(){$("cleanup"),e.removeListener("close",a),e.removeListener("finish",u),e.removeListener("drain",g),e.removeListener("error",s),e.removeListener("unpipe",n),l.removeListener("end",r),l.removeListener("end",c),l.removeListener("data",o),y=!0,!f.awaitDrain||e._writableState&&!e._writableState.needDrain||g()}function o(t){$("ondata"),m=!1;var n=e.write(t);!1!==n||m||((1===f.pipesCount&&f.pipes===e||f.pipesCount>1&&q(f.pipes,e)!==-1)&&!y&&($("false write response, pause",l._readableState.awaitDrain),l._readableState.awaitDrain++,m=!0),l.pause())}function s(t){$("onerror",t),c(),e.removeListener("error",s),0===Q(e,"error")&&e.emit("error",t)}function a(){e.removeListener("finish",u),c()}function u(){$("onfinish"),e.removeListener("close",a),c()}function c(){$("unpipe"),l.unpipe(e)}var l=this,f=this._readableState;switch(f.pipesCount){case 0:f.pipes=e;break;case 1:f.pipes=[f.pipes,e];break;default:f.pipes.push(e)}f.pipesCount+=1,$("pipe count=%d opts=%j",f.pipesCount,t);var p=(!t||t.end!==!1)&&e!==h.stdout&&e!==h.stderr,d=p?r:c;f.endEmitted?D(d):l.once("end",d),e.on("unpipe",n);var g=j(l);e.on("drain",g);var y=!1,m=!1;return l.on("data",o),v(e,"error",s),e.once("close",a),e.once("finish",u),e.emit("pipe",l),f.flowing||($("pipe resume"),l.resume()),e},y.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return s.alloc(0);if(1===this.length)return this.head.data;for(var t=s.allocUnsafe(e>>>0),n=this.head,r=0;n;)o(n.data,t,r),r+=n.data.length,n=n.next;return t},e}(),a&&a.inspect&&a.inspect.custom&&(e.exports.prototype[a.inspect.custom]=function(){var e=a.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t,n,r,i){"use strict";function o(e){return this instanceof o?(f.call(this,e),h.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",s)):new o(e)}function s(){this.allowHalfOpen||this._writableState.ended||u(a,this)}function a(e){e.end()}var u=n(139).nextTick,c=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=o;var l=n(143);l.inherits=n(136);var f=n(r),h=n(i);l.inherits(o,f);for(var p=c(h.prototype),d=0;d-1?a:O;d.WritableState=p;var M=n(143);M.inherits=n(136);var F={deprecate:n(150)},L=n(r),P=n(142).Buffer,N=u.Uint8Array||function(){},q=n(i);M.inherits(d,L),p.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(p.prototype,"buffer",{get:F.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}();var D;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(D=Function.prototype[Symbol.hasInstance],Object.defineProperty(d,Symbol.hasInstance,{value:function(e){return!!D.call(this,e)||this===d&&(e&&e._writableState instanceof p)}})):D=function(e){return e instanceof this},d.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},d.prototype.write=function(e,t,n){var r=this._writableState,i=!1,o=!r.objectMode&&f(e);return o&&!P.isBuffer(e)&&(e=l(e)),"function"==typeof t&&(n=t,t=null),o?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=h),r.ended?v(this,n):(o||g(this,r,e,n))&&(r.pendingcb++,i=m(this,r,o,e,t,n)),i},d.prototype.cork=function(){var e=this._writableState;e.corked++},d.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||I(this,e))},d.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},d.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},d.prototype._writev=null,d.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||B(this,r,n)},Object.defineProperty(d.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),d.prototype.destroy=q.destroy,d.prototype._undestroy=q.undestroy,d.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,n(52),n(57).setImmediate,function(){return this}())},function(e,t,n,r){"use strict";function i(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length=0;a--)if(u[a]!==c[a])return!1;for(a=u.length-1;a>=0;a--)if(s=u[a],!p(e[s],t[s],n,r))return!1;return!0}function g(e,t,n){p(e,t,!0)&&f(e,t,n,"notDeepStrictEqual",g)}function y(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(n){}return!Error.isPrototypeOf(t)&&t.call({},e)===!0}function m(e){var t;try{e()}catch(n){t=n}return t}function b(e,t,n,r){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=m(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!i&&f(i,n,"Missing expected exception"+r);var o="string"==typeof r,s=!e&&w.isError(i),a=!e&&i&&!n;if((s&&o&&y(i,n)||a)&&f(i,n,"Got unwanted exception"+r),e&&i&&n&&!y(i,n)||!e&&i)throw i}var w=n(73),_=Object.prototype.hasOwnProperty,E=Array.prototype.slice,x=function(){return"foo"===function(){}.name}(),k=e.exports=h,I=/\s*function\s+([^\(\s]*)\s*/;k.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=l(this),this.generatedMessage=!0);var t=e.stackStartFunction||f;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,i=a(t),o=r.indexOf("\n"+i);if(o>=0){var s=r.indexOf("\n",o+1);r=r.substring(s+1)}this.stack=r}}},w.inherits(k.AssertionError,Error),k.fail=f,k.ok=h,k.equal=function(e,t,n){e!=t&&f(e,t,n,"==",k.equal)},k.notEqual=function(e,t,n){e==t&&f(e,t,n,"!=",k.notEqual)},k.deepEqual=function(e,t,n){p(e,t,!1)||f(e,t,n,"deepEqual",k.deepEqual)},k.deepStrictEqual=function(e,t,n){p(e,t,!0)||f(e,t,n,"deepStrictEqual",k.deepStrictEqual)},k.notDeepEqual=function(e,t,n){p(e,t,!1)&&f(e,t,n,"notDeepEqual",k.notDeepEqual)},k.notDeepStrictEqual=g,k.strictEqual=function(e,t,n){e!==t&&f(e,t,n,"===",k.strictEqual)},k.notStrictEqual=function(e,t,n){e===t&&f(e,t,n,"!==",k.notStrictEqual)},k["throws"]=function(e,t,n){b(!0,e,t,n)},k.doesNotThrow=function(e,t,n){b(!1,e,t,n)},k.ifError=function(e){if(e)throw e};var S=Object.keys||function(e){var t=[];for(var n in e)_.call(e,n)&&t.push(n);return t}}).call(t,function(){return this}())},[312,74,75],function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){(function(t){"use strict";function r(e,t){var n=d(e);if(n){var r=n.size,i=n.rest;if(r>t)throw new Error("Frame size exceeds frame max");if(i.length>r){if(i[r]!==h)throw new Error("Invalid frame");return{type:n.type,channel:n.channel,size:r,payload:i.slice(0,r),rest:i.slice(r+1)}}}return!1}var i=n(69),o=i.constants,s=i.decode,a=n(77);e.exports.PROTOCOL_HEADER="AMQP"+String.fromCharCode(0,0,9,1);var u=o.FRAME_METHOD,c=o.FRAME_HEARTBEAT,l=o.FRAME_HEADER,f=o.FRAME_BODY,h=o.FRAME_END,p=a.builder(f,"channel:16, size:32, payload:size/binary",h);e.exports.makeBodyFrame=function(e,t){return p({channel:e,size:t.length,payload:t})};var d=a.matcher("type:8","channel:16","size:32","rest/binary");e.exports.parseFrame=r;var v=a.matcher("class:16","_weight:16","size:64","flagsAndfields/binary"),g=a.matcher("id:32, args/binary"),y={channel:0};e.exports.decodeFrame=function(e){var t=e.payload;switch(e.type){case u:var n=g(t),r=n.id,i=s(r,n.args);return{id:r,channel:e.channel,fields:i};case l:var o=v(t),r=o["class"],i=s(r,o.flagsAndfields);return{id:r,channel:e.channel,size:o.size,fields:i};case f:return{channel:e.channel,content:e.payload};case c:return y;default:throw new Error("Unknown frame type "+e.type)}},e.exports.HEARTBEAT_BUF=new t([o.FRAME_HEARTBEAT,0,0,0,0,0,0,o.FRAME_END]),e.exports.HEARTBEAT=y}).call(t,n(3).Buffer)},function(e,t,n){"use strict";e.exports.parse=n(78).parse,e.exports.match=n(81).match,e.exports.build=n(82).build,e.exports.write=n(82).write,e.exports.matcher=e.exports.compile=n(83).compile,e.exports.builder=n(83).compile_builder},function(e,t,n){"use strict";function r(e){for(var t=o.parse(e),n=0,r=t.length;nk&&(k=E,I=[]),I.push(e))}function i(){var e,t,n,r,i,a;if(i=E,a=E,e=m(),null!==e)if(t=s(),null!==t){for(n=[],r=o();null!==r;)n.push(r),r=o();null!==n?e=[e,t,n]:(e=null,E=a)}else e=null,E=a;else e=null,E=a;return null!==e&&(e=function(e,t,n){return n.unshift(t),n}(i,e[1],e[2])),null===e&&(E=i),e}function o(){var e,n,i,o,a,u;return a=E,u=E,e=m(),null!==e?(44===t.charCodeAt(E)?(n=",",E++):(n=null,0===x&&r('","')),null!==n?(i=m(),null!==i?(o=s(),null!==o?e=[e,n,i,o]:(e=null,E=u)):(e=null,E=u)):(e=null,E=u)):(e=null,E=u),null!==e&&(e=function(e,t){return t}(a,e[3])),null===e&&(E=a),e}function s(){var e,t,n,r,i;return r=E,e=a(),null!==e&&(e=function(e,t){return{string:t}}(r,e)),null===e&&(E=r),null===e&&(r=E,i=E,e=f(),null!==e?(t=p(),t=null!==t?t:"",null!==t?(n=d(),n=null!==n?n:"",null!==n?e=[e,t,n]:(e=null,E=i)):(e=null,E=i)):(e=null,E=i),null!==e&&(e=function(e,t,n,r){return{name:t,size:n,specifiers:r}}(r,e[0],e[1],e[2])),null===e&&(E=r),null===e&&(r=E,i=E,e=h(),null!==e?(t=p(),t=null!==t?t:"",null!==t?(n=d(),n=null!==n?n:"",null!==n?e=[e,t,n]:(e=null,E=i)):(e=null,E=i)):(e=null,E=i),null!==e&&(e=function(e,t,n,r){return{value:t,size:n,specifiers:r}}(r,e[0],e[1],e[2])),null===e&&(E=r))),e}function a(){var e,n,i,o,s;return o=E,s=E,34===t.charCodeAt(E)?(e='"',E++):(e=null,0===x&&r('"\\""')),null!==e?(34===t.charCodeAt(E)?(n='"',E++):(n=null,0===x&&r('"\\""')),null!==n?e=[e,n]:(e=null,E=s)):(e=null,E=s),null!==e&&(e=function(e){return""}(o)),null===e&&(E=o),null===e&&(o=E,s=E,34===t.charCodeAt(E)?(e='"',E++):(e=null,0===x&&r('"\\""')),null!==e?(n=u(),null!==n?(34===t.charCodeAt(E)?(i='"',E++):(i=null,0===x&&r('"\\""')),null!==i?e=[e,n,i]:(e=null,E=s)):(e=null,E=s)):(e=null,E=s),null!==e&&(e=function(e,t){return t}(o,e[1])),null===e&&(E=o)),e}function u(){var e,t,n;if(n=E,t=c(),null!==t)for(e=[];null!==t;)e.push(t),t=c();else e=null;return null!==e&&(e=function(e,t){return t.join("")}(n,e)),null===e&&(E=n),e}function c(){var e,n,i,o,s,a,u;return/^[^"\\\0-\x1F]/.test(t.charAt(E))?(e=t.charAt(E),E++):(e=null,0===x&&r('[^"\\\\\\0-\\x1F]')),null===e&&(a=E,'\\"'===t.substr(E,2)?(e='\\"',E+=2):(e=null,0===x&&r('"\\\\\\""')),null!==e&&(e=function(e){return'"'}(a)),null===e&&(E=a),null===e&&(a=E,"\\\\"===t.substr(E,2)?(e="\\\\",E+=2):(e=null,0===x&&r('"\\\\\\\\"')),null!==e&&(e=function(e){return"\\"}(a)),null===e&&(E=a),null===e&&(a=E,"\\/"===t.substr(E,2)?(e="\\/",E+=2):(e=null,0===x&&r('"\\\\/"')),null!==e&&(e=function(e){return"/"}(a)),null===e&&(E=a),null===e&&(a=E,"\\b"===t.substr(E,2)?(e="\\b",E+=2):(e=null,0===x&&r('"\\\\b"')),null!==e&&(e=function(e){return"\b"}(a)),null===e&&(E=a),null===e&&(a=E,"\\f"===t.substr(E,2)?(e="\\f",E+=2):(e=null,0===x&&r('"\\\\f"')),null!==e&&(e=function(e){return"\f"}(a)),null===e&&(E=a),null===e&&(a=E,"\\n"===t.substr(E,2)?(e="\\n",E+=2):(e=null,0===x&&r('"\\\\n"')),null!==e&&(e=function(e){return"\n"}(a)),null===e&&(E=a),null===e&&(a=E,"\\r"===t.substr(E,2)?(e="\\r",E+=2):(e=null,0===x&&r('"\\\\r"')),null!==e&&(e=function(e){return"\r"}(a)),null===e&&(E=a),null===e&&(a=E,"\\t"===t.substr(E,2)?(e="\\t",E+=2):(e=null,0===x&&r('"\\\\t"')),null!==e&&(e=function(e){return"\t"}(a)),null===e&&(E=a),null===e&&(a=E,u=E,"\\u"===t.substr(E,2)?(e="\\u",E+=2):(e=null,0===x&&r('"\\\\u"')),null!==e?(n=l(),null!==n?(i=l(),null!==i?(o=l(),null!==o?(s=l(),null!==s?e=[e,n,i,o,s]:(e=null,E=u)):(e=null,E=u)):(e=null,E=u)):(e=null,E=u)):(e=null,E=u),null!==e&&(e=function(e,t,n,r,i){return String.fromCharCode(parseInt("0x"+t+n+r+i))}(a,e[1],e[2],e[3],e[4])),null===e&&(E=a)))))))))),e}function l(){var e;return/^[0-9a-fA-F]/.test(t.charAt(E))?(e=t.charAt(E),E++):(e=null,0===x&&r("[0-9a-fA-F]")),e}function f(){var e,n,i,o,s;if(o=E,s=E,/^[_a-zA-Z]/.test(t.charAt(E))?(e=t.charAt(E),E++):(e=null,0===x&&r("[_a-zA-Z]")),null!==e){for(n=[],/^[_a-zA-Z0-9]/.test(t.charAt(E))?(i=t.charAt(E),E++):(i=null,0===x&&r("[_a-zA-Z0-9]"));null!==i;)n.push(i),/^[_a-zA-Z0-9]/.test(t.charAt(E))?(i=t.charAt(E),E++):(i=null,0===x&&r("[_a-zA-Z0-9]"));null!==n?e=[e,n]:(e=null,E=s)}else e=null,E=s;return null!==e&&(e=function(e,t,n){return t+n.join("")}(o,e[0],e[1])),null===e&&(E=o),e}function h(){var e,n,i,o,s;if(o=E,48===t.charCodeAt(E)?(e="0",E++):(e=null,0===x&&r('"0"')),null!==e&&(e=function(e){return 0}(o)),null===e&&(E=o),null===e){if(o=E,s=E,/^[1-9]/.test(t.charAt(E))?(e=t.charAt(E),E++):(e=null,0===x&&r("[1-9]")),null!==e){for(n=[],/^[0-9]/.test(t.charAt(E))?(i=t.charAt(E),E++):(i=null,0===x&&r("[0-9]"));null!==i;)n.push(i),/^[0-9]/.test(t.charAt(E))?(i=t.charAt(E),E++):(i=null,0===x&&r("[0-9]"));null!==n?e=[e,n]:(e=null,E=s)}else e=null,E=s;null!==e&&(e=function(e,t,n){return parseInt(t+n.join(""))}(o,e[0],e[1])),null===e&&(E=o)}return e}function p(){var e,n,i,o;return i=E,o=E,58===t.charCodeAt(E)?(e=":",E++):(e=null,0===x&&r('":"')),null!==e?(n=h(),null!==n?e=[e,n]:(e=null,E=o)):(e=null,E=o),null!==e&&(e=function(e,t){return t}(i,e[1])),null===e&&(E=i),null===e&&(i=E,o=E,58===t.charCodeAt(E)?(e=":",E++):(e=null,0===x&&r('":"')),null!==e?(n=f(),null!==n?e=[e,n]:(e=null,E=o)):(e=null,E=o),null!==e&&(e=function(e,t){return t}(i,e[1])),null===e&&(E=i)),e}function d(){var e,n,i,o,s,a;if(s=E,a=E,47===t.charCodeAt(E)?(e="/",E++):(e=null,0===x&&r('"/"')),null!==e)if(n=g(),null!==n){for(i=[],o=v();null!==o;)i.push(o),o=v();null!==i?e=[e,n,i]:(e=null,E=a)}else e=null,E=a;else e=null,E=a;return null!==e&&(e=function(e,t,n){return n.unshift(t),n}(s,e[1],e[2])),null===e&&(E=s),e}function v(){var e,n,i,o;return i=E,o=E,45===t.charCodeAt(E)?(e="-",E++):(e=null,0===x&&r('"-"')),null!==e?(n=g(),null!==n?e=[e,n]:(e=null,E=o)):(e=null,E=o),null!==e&&(e=function(e,t){return t}(i,e[1])),null===e&&(E=i),e}function g(){var e;return"little"===t.substr(E,6)?(e="little",E+=6):(e=null,0===x&&r('"little"')),null===e&&("big"===t.substr(E,3)?(e="big",E+=3):(e=null,0===x&&r('"big"')),null===e&&("signed"===t.substr(E,6)?(e="signed",E+=6):(e=null,0===x&&r('"signed"')),null===e&&("unsigned"===t.substr(E,8)?(e="unsigned",E+=8):(e=null,0===x&&r('"unsigned"')),null===e&&("integer"===t.substr(E,7)?(e="integer",E+=7):(e=null,0===x&&r('"integer"')),null===e&&("binary"===t.substr(E,6)?(e="binary",E+=6):(e=null,0===x&&r('"binary"')),null===e&&("float"===t.substr(E,5)?(e="float",E+=5):(e=null,0===x&&r('"float"')),null===e&&(e=y()))))))),e}function y(){var e,n,i,o;return i=E,o=E,"unit:"===t.substr(E,5)?(e="unit:",E+=5):(e=null,0===x&&r('"unit:"')),null!==e?(n=h(),null!==n?e=[e,n]:(e=null,E=o)):(e=null,E=o),null!==e&&(e=function(e,t){return"unit:"+t}(i,e[1])),null===e&&(E=i),e}function m(){var e,n;for(e=[],/^[ \t\n]/.test(t.charAt(E))?(n=t.charAt(E),E++):(n=null,0===x&&r("[ \\t\\n]"));null!==n;)e.push(n),/^[ \t\n]/.test(t.charAt(E))?(n=t.charAt(E),E++):(n=null,0===x&&r("[ \\t\\n]"));return e}function b(e){e.sort();for(var t=null,n=[],r=0;rg)&&void(d+=n)}function c(e){l("get_integer"),l(e);var n=e.unit,i=o(e,v),s=i*n,a=d/8;return d+=s,!(s%8>0||d>g)&&r(t,a,s/8,e.bigendian,e.signed)}function f(e){l("get_float"),l(e);var n=e.unit,r=o(e,v),s=r*n,a=d/8;return d+=s,!(d>g)&&i(t,a,s/8,e.bigendian)}function h(e){l("get_binary"),l(e);var n=e.unit,r=o(e,v),i=d/8;if(r===!0)return d=g,t.slice(i);var s=r*n;return!(s%8>0||d+s>g)&&(d+=s,t.slice(i,i+s/8))}function p(e){l("get_string"),l(e);var n=e.value.length,r=d/8;return d+=8*n,!(d>g)&&t.slice(r,r+n).toString("utf8")}for(var d=0,v=s(n),g=8*t.length,y=e.length,m=0;m1?[].join.call(arguments,","):e;var t=p(e);return function(e){return i(t,e)}}}).call(t,n(3).Buffer)},function(e,t,n){(function(t){"use strict";function r(){T=[]}function i(){T.push(w.apply(null,arguments))}function o(){return T.join("\n")}function s(e){return"string"==typeof e.size?w("%s * %d",h(e.size),e.unit):(e.size*e.unit).toString()}function a(e){i("bits = %s;\n",s(e));var t="integer"===e.type?"parse_int":"parse_float",n=e.bigendian,r=e.signed;i("byteoffset = offset / 8; offset += bits"),i("if (offset > binsize) { return false; }"),i("else { result = %s(bin, byteoffset, bits / 8, %s, %s); }",t,n,r)}function u(e){i("byteoffset = offset / 8;"),e.size===!0?(i("offset = binsize;"),i("result = bin.slice(byteoffset);")):(i("bits = %s;",s(e)),i("offset += bits;"),i("if (offset > binsize) { return false; }"),i("else { result = bin.slice(byteoffset,","byteoffset + bits / 8); }"))}function c(e){i("byteoffset = offset / 8;");var t=e.value.length,n=8*t;i("offset += %d;",n),i("if (offset > binsize) { return false; }"),i("else { result = bin.toString(byteoffset,",w("byteoffset + %d); }",t))}function l(e){if("string"==typeof e.size)i("var skipbits = %s * %d;",h(e.size),e.unit),i("if (offset + skipbits > binsize) { return false; }"),i("else { offset += skipbits; }");else if(e.size===!0)i("if (offset % 8 === 0) { offset = binsize; }"),i("else { return false; }");else{var t=e.unit*e.size;i("if (offset + %d > binsize) { return false; }",t),i("else { offset += %d; }",t)}}function f(e){if("_"===e.name)l(e);else{switch(e.type){case"integer":case"float":a(e);break;case"binary":u(e);break;case"string":c(e)}if(i("if (result === false) return false;"),e.name)i("else if (%s !== undefined) {",h(e.name)),i("if (%s != result) return false;",h(e.name)),i("}"),i("else %s = result;",h(e.name));else{var t=JSON.stringify(e.value);i("else if (result != %s) return false;",t)}}}function h(e){return"var_"+e}function p(e){for(var t={},n=0;n0)for(var a=0;a0,"Expect some new streams to remain"),this.oldStreams=this.oldStreams.concat(this.newStreams),this.newStreams=[]),this.blocked=!t}},i.prototype._scheduleRead=function(){var e=this;e.scheduledRead||(s(function(){e.scheduledRead=!1,e._readIncoming()}),e.scheduledRead=!0)},i.prototype.pipeFrom=function(e){function t(){i.newStreams.push(e),i._scheduleRead()}function n(){e.removeListener("readable",t),e.removeListener("error",n),e.removeListener("end",n),e.removeListener("unpipeFrom",r)}function r(e){e===i&&n()}var i=this;e.on("unpipeFrom",r),e.on("end",n),e.on("error",n),e.on("readable",t)},i.prototype.unpipeFrom=function(e){e.emit("unpipeFrom",this)},e.exports.Mux=i}).call(t,n(39).setImmediate,n(38))},function(e,t,n){function r(){i.call(this)}e.exports=r;var i=n(89).EventEmitter,o=n(86);o(r,i),r.Readable=n(90),r.Writable=n(100),r.Duplex=n(101),r.Transform=n(102),r.PassThrough=n(103),r.Stream=r,r.prototype.pipe=function(e,t){function n(t){e.writable&&!1===e.write(t)&&c.pause&&c.pause()}function r(){c.readable&&c.resume&&c.resume()}function o(){l||(l=!0,e.end())}function s(){l||(l=!0,"function"==typeof e.destroy&&e.destroy())}function a(e){if(u(),0===i.listenerCount(this,"error"))throw e}function u(){c.removeListener("data",n),e.removeListener("drain",r),c.removeListener("end",o),c.removeListener("close",s),c.removeListener("error",a),e.removeListener("error",a),c.removeListener("end",u),c.removeListener("close",u),e.removeListener("close",u)}var c=this;c.on("data",n),e.on("drain",r),e._isStdio||t&&t.end===!1||(c.on("end",o),c.on("close",s));var l=!1;return c.on("error",a),e.on("error",a),c.on("end",u),c.on("close",u),e.on("close",u),e.emit("pipe",c),e}},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function i(e){return"number"==typeof e}function o(e){return"object"==typeof e&&null!==e}function s(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!i(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,i,a,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}if(n=this._events[e],s(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),n.apply(this,a)}else if(o(n))for(a=Array.prototype.slice.call(arguments,1),c=n.slice(),i=c.length,u=0;u0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var i=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,i,s,a;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],s=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(a=s;a-- >0;)if(n[a]===t||n[a].listener&&n[a].listener===t){i=a;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){(function(r){t=e.exports=n(91),t.Stream=n(88),t.Readable=t,t.Writable=n(96),t.Duplex=n(95),t.Transform=n(98),t.PassThrough=n(99),r.browser||"disable"!=={NODE_ENV:"production"}.READABLE_STREAM||(e.exports=n(88))}).call(t,n(38))},[313,92,94,95,95],function(e,t){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},function(e,t,n){(function(e){function n(e){return Array.isArray?Array.isArray(e):"[object Array]"===g(e)}function r(e){return"boolean"==typeof e}function i(e){return null===e}function o(e){return null==e}function s(e){return"number"==typeof e}function a(e){return"string"==typeof e}function u(e){return"symbol"==typeof e}function c(e){return void 0===e}function l(e){return"[object RegExp]"===g(e)}function f(e){return"object"==typeof e&&null!==e}function h(e){return"[object Date]"===g(e)}function p(e){return"[object Error]"===g(e)||e instanceof Error}function d(e){return"function"==typeof e}function v(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function g(e){return Object.prototype.toString.call(e)}t.isArray=n,t.isBoolean=r,t.isNull=i,t.isNullOrUndefined=o,t.isNumber=s,t.isString=a,t.isSymbol=u,t.isUndefined=c,t.isRegExp=l,t.isObject=f,t.isDate=h,t.isError=p,t.isFunction=d,t.isPrimitive=v,t.isBuffer=e.isBuffer}).call(t,n(3).Buffer)},43,[314,91,96],[315,95,95],function(e,t,n){function r(e){if(e&&!u(e))throw new Error("Unknown encoding: "+e)}function i(e){return e.toString(this.encoding)}function o(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function s(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}var a=n(3).Buffer,u=a.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},c=t.StringDecoder=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),r(e),this.encoding){case"utf8":this.surrogateSize=3; +break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=o;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=s;break;default:return void(this.write=i)}this.charBuffer=new a(6),this.charReceived=0,this.charLength=0};c.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived=55296&&r<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var i=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived),t+=e.toString(this.encoding,0,i);var i=t.length-1,r=t.charCodeAt(i);if(r>=55296&&r<=56319){var o=this.surrogateSize;return this.charLength+=o,this.charReceived+=o,this.charBuffer.copy(this.charBuffer,o,0,o),e.copy(this.charBuffer,0,0,o),t.substring(0,i)}return t},c.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},c.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,r=this.charBuffer,i=this.encoding;t+=r.slice(0,n).toString(i)}return t}},[316,95],[317,98],function(e,t,n){e.exports=n(96)},[318,95],function(e,t,n){e.exports=n(98)},[319,99],[318,105],[314,106,109],[313,107,108,105,105],92,43,[315,105,105],function(e,t,n){"use strict";function r(t,n,r){function i(){return r()?(c=0,!0):++c<2}o.call(this),this.interval=t;var s=t*e.exports.UNITS_TO_MS,a=this.emit.bind(this,"beat"),u=this.emit.bind(this,"timeout");this.sendTimer=setInterval(this.runHeartbeat.bind(this,n,a),s/2);var c=0;this.recvTimer=setInterval(this.runHeartbeat.bind(this,i,u),s)}var i=n(84).inherits,o=n(89).EventEmitter;e.exports.UNITS_TO_MS=1e3,i(r,o),e.exports.Heart=r,r.prototype.clear=function(){clearInterval(this.sendTimer),clearInterval(this.recvTimer)},r.prototype.runHeartbeat=function(e,t){e()||t()}},function(e,t,n){"use strict";var r=n(69),i=n(84).format,o=(n(84).inherits,n(76).HEARTBEAT);e.exports.closeMessage=function(e){var t=e.fields.replyCode;return i('%d (%s) with message "%s"',t,r.constant_strs[t],e.fields.replyText)},e.exports.methodName=function(e){return r.info(e).name},e.exports.inspect=function(e,t){if(e===o)return"";if(e.id){var n=r.info(e.id);return i("<%s channel:%d%s>",n.name,e.channel,t?" "+JSON.stringify(e.fields,void 0,2):"")}return i("",e.channel,e.size)}},function(e,t){"use strict";function n(e){if(e){var t=Math.ceil(e/32);this.words=new Array(t)}else this.words=[];this.wordsInUse=0}function r(e){return Math.floor(e/32)}function i(e){if(0===e)return 32;var t,n=31;return t=e<<16,0!=t&&(n-=16,e=t),t=e<<8,0!=t&&(n-=8,e=t),t=e<<4,0!=t&&(n-=4,e=t),t=e<<2,0!=t&&(n-=2,e=t),n-(e<<1>>>31)}var o=n.prototype;o.ensureSize=function(e){var t=this.words.length;t=this.wordsInUse&&(this.ensureSize(t+1),this.wordsInUse=t+1);var n=1<=this.wordsInUse)){var n=~(1<=this.wordsInUse)return!1;var n=1<=this.wordsInUse)return-1;for(var n=this.words[t]&4294967295<=this.wordsInUse)return e;for(var n=~this.words[t]&4294967295<=0.8 <4 || ^4"},dependencies:{bitsyntax:"~0.0.4","buffer-more-ints":"0.0.2","readable-stream":"1.x >=1.1.9",when:"~3.6.2"},devDependencies:{mocha:"~1",claire:"0.4.1","uglify-js":"2.4.x",istanbul:"0.1.x"},scripts:{test:"make test",prepublish:"make"},keywords:["AMQP","AMQP 0-9-1","RabbitMQ"],author:"Michael Bridgen ",license:"MIT"}},function(e,t){},function(e,t,n){"use strict";function r(e){if(!(this instanceof r))return new r(e);l.call(this),this.connection=e;var t=this;["error","close","blocked","unblocked"].forEach(function(n){e.on(n,t.emit.bind(t,n))})}function i(e){f.call(this,e),this.on("delivery",this.handleDelivery.bind(this)),this.on("cancel",this.handleCancel.bind(this))}function o(e){i.call(this,e)}var s=n(69),a=n(121),u=a.defer,c=n(84).inherits,l=n(89).EventEmitter,f=n(140).BaseChannel,h=n(140).acceptMessage,p=n(141);c(r,l),e.exports.ChannelModel=r;var d=r.prototype;d.close=function(){var e=u();return this.connection.close(function(t){null===t?e.resolve():e.reject(t)}),e.promise},c(i,f),e.exports.Channel=i,d.createChannel=function(){var e=new i(this.connection);return e.open().then(function(t){return e})};var v=i.prototype;v.rpc=function(e,t,n){var r=u();return this._rpc(e,t,n,function(e,t){null!==e?r.reject(e):r.resolve(t.fields)}),r.promise},v.open=function(){return a["try"](this.allocate.bind(this)).then(function(e){return e.rpc(s.ChannelOpen,{outOfBand:""},s.ChannelOpenOk)})},v.close=function(){var e=u();return this.closeBecause("Goodbye",s.constants.REPLY_SUCCESS,e.resolve),e.promise},v.assertQueue=function(e,t){return this.rpc(s.QueueDeclare,p.assertQueue(e,t),s.QueueDeclareOk)},v.checkQueue=function(e){return this.rpc(s.QueueDeclare,p.checkQueue(e),s.QueueDeclareOk)},v.deleteQueue=function(e,t){return this.rpc(s.QueueDelete,p.deleteQueue(e,t),s.QueueDeleteOk)},v.purgeQueue=function(e){return this.rpc(s.QueuePurge,p.purgeQueue(e),s.QueuePurgeOk)},v.bindQueue=function(e,t,n,r){return this.rpc(s.QueueBind,p.bindQueue(e,t,n,r),s.QueueBindOk)},v.unbindQueue=function(e,t,n,r){return this.rpc(s.QueueUnbind,p.unbindQueue(e,t,n,r),s.QueueUnbindOk)},v.assertExchange=function(e,t,n){return this.rpc(s.ExchangeDeclare,p.assertExchange(e,t,n),s.ExchangeDeclareOk).then(function(t){return{exchange:e}})},v.checkExchange=function(e){return this.rpc(s.ExchangeDeclare,p.checkExchange(e),s.ExchangeDeclareOk)},v.deleteExchange=function(e,t){return this.rpc(s.ExchangeDelete,p.deleteExchange(e,t),s.ExchangeDeleteOk)},v.bindExchange=function(e,t,n,r){return this.rpc(s.ExchangeBind,p.bindExchange(e,t,n,r),s.ExchangeBindOk)},v.unbindExchange=function(e,t,n,r){return this.rpc(s.ExchangeUnbind,p.unbindExchange(e,t,n,r),s.ExchangeUnbindOk)},v.publish=function(e,t,n,r){var i=p.publish(e,t,r);return this.sendMessage(i,i,n)},v.sendToQueue=function(e,t,n){return this.publish("",e,t,n)},v.consume=function(e,t,n){var r=this,i=p.consume(e,n),o=u();return this._rpc(s.BasicConsume,i,s.BasicConsumeOk,function(e,n){null===e?(r.registerConsumer(n.fields.consumerTag,t),o.resolve(n.fields)):o.reject(e)}),o.promise},v.cancel=function(e){var t=this,n=u();return this._rpc(s.BasicCancel,p.cancel(e),s.BasicCancelOk,function(r,i){null===r?(t.unregisterConsumer(e),n.resolve(i.fields)):n.reject(r)}),n.promise},v.get=function(e,t){var n=u(),r=this,i=p.get(e,t);return this.sendOrEnqueue(s.BasicGet,i,function(e,t){if(null===e)if(t.id===s.BasicGetEmpty)n.resolve(!1);else if(t.id===s.BasicGetOk){var i=t.fields;r.handleMessage=h(function(e){e.fields=i,n.resolve(e)})}else n.reject(new Error("Unexpected response to BasicGet: "+inspect(t)));else n.reject(e)}),n.promise},v.ack=function(e,t){this.sendImmediately(s.BasicAck,p.ack(e.fields.deliveryTag,t))},v.ackAll=function(){this.sendImmediately(s.BasicAck,p.ack(0,!0))},v.nack=function(e,t,n){this.sendImmediately(s.BasicNack,p.nack(e.fields.deliveryTag,t,n))},v.nackAll=function(e){this.sendImmediately(s.BasicNack,p.nack(0,!0,e))},v.reject=function(e,t){this.sendImmediately(s.BasicReject,p.reject(e.fields.deliveryTag,t))},v.prefetch=v.qos=function(e,t){return this.rpc(s.BasicQos,p.prefetch(e,t),s.BasicQosOk)},v.recover=function(){return this.rpc(s.BasicRecover,p.recover(),s.BasicRecoverOk)},c(o,i),e.exports.ConfirmChannel=o,d.createConfirmChannel=function(){var e=new o(this.connection);return e.open().then(function(t){return e.rpc(s.ConfirmSelect,{nowait:!1},s.ConfirmSelectOk)}).then(function(){return e})};var g=o.prototype;g.publish=function(e,t,n,r,i){return this.pushConfirmCallback(i),v.publish.call(this,e,t,n,r)},g.sendToQueue=function(e,t,n,r){return this.publish("",e,t,n,r)},g.waitForConfirms=function(){var e=[],t=this.unconfirmed;return t.forEach(function(n,r){if(null===n);else{var i=u();t[r]=function(e){n&&n(e),null===e?i.resolve():i.reject(e)},e.push(i.promise)}}),a.all(e)}},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(e){function t(e,t,n,r){var i=k.resolve(e);return arguments.length<2?i:i.then(t,n,r)}function r(e){return new k(e)}function i(e){return function(){for(var t=0,n=arguments.length,r=new Array(n);t>>0,c=u,l=[],f=0;f0){a.become(i),e._visitRemaining(t,f,i);break}i.visit(a,n,r)}else--c;return 0===c&&a.reject(new RangeError("any(): array must not be empty")),s}function i(t,n){function r(e){this.resolved||(l.push(e),0===--p&&(f=null,this.resolve(l)))}function i(e){this.resolved||(f.push(e),0===--o&&(l=null,this.reject(f)))}var o,s,a,u=e._defer(),c=u._handler,l=[],f=[],h=t.length>>>0,p=0;for(a=0;ap?c.reject(new RangeError("some(): array must contain at least "+n+" item(s), but had "+p)):0===p&&c.resolve(l),a=0;a2?g.call(e,h(t),arguments[2]):g.call(e,h(t))}function f(e,t){return arguments.length>2?y.call(e,h(t),arguments[2]):y.call(e,h(t))}function h(e){return function(t,n,r){return p(e,void 0,[t,n,r])}}var p=r(e),d=e.resolve,v=e.all,g=Array.prototype.reduce,y=Array.prototype.reduceRight,m=Array.prototype.slice;return e.any=n,e.some=i,e.settle=u,e.map=o,e.filter=s,e.reduce=l,e.reduceRight=f,e.prototype.spread=function(e){return this.then(v).then(function(t){return e.apply(this,t)})},e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},47,48,49,50,[310,127],52,53,54,function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(e){function t(e){throw e}function r(){}var i=n(123).setTimer,o=n(136);return function(e){function n(e){e.handled||(p.push(e),l("Potentially unhandled rejection ["+e.id+"] "+o.formatError(e.value)))}function s(e){var t=p.indexOf(e);t>=0&&(p.splice(t,1),f("Handled previous rejection ["+e.id+"] "+o.formatObject(e.value)))}function a(e,t){h.push(e,t),null===d&&(d=i(u,0))}function u(){for(d=null;h.length>0;)h.shift()(h.shift())}var c,l=r,f=r;"undefined"!=typeof console&&(c=console,l="undefined"!=typeof c.error?function(e){c.error(e)}:function(e){c.log(e)},f="undefined"!=typeof c.info?function(e){c.info(e)}:function(e){c.log(e)}),e.onPotentiallyUnhandledRejection=function(e){a(n,e)},e.onPotentiallyUnhandledRejectionHandled=function(e){a(s,e)},e.onFatalRejection=function(e){a(t,e.value)};var h=[],p=[],d=null;return e}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(){function e(e){var n="object"==typeof e&&null!==e&&e.stack?e.stack:t(e);return e instanceof Error?n:n+" (WARNING: non-Error used)"}function t(e){var t=String(e);return"[object Object]"===t&&"undefined"!=typeof JSON&&(t=n(e,t)),t}function n(e,t){try{return JSON.stringify(e)}catch(n){return t}}return{formatError:e,formatObject:t,tryStringify:n}}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(n(44))},[311,138,139,123],function(e,t,n){var r;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(i){"use strict";r=function(){return function(e){function t(e,t){this._handler=e===b?t:n(e)}function n(e){function t(e){i.resolve(e)}function n(e){i.reject(e)}function r(e){i.notify(e)}var i=new _;try{e(t,n,r)}catch(o){n(o)}return i}function r(e){return R(e)?e:new t(b,new E(g(e)))}function i(e){return new t(b,new E(new I(e)))}function o(){return X}function s(){return new t(b,new _)}function a(e,t){var n=new _(e.receiver,e.join().context);return new t(b,n)}function u(e){return l(Q,null,e)}function c(e,t){return l(N,e,t)}function l(e,n,r){function i(t,i,s){s.resolved||f(r,o,t,e(n,i,t),s)}function o(e,t,n){l[e]=t,0===--c&&n.become(new k(l))}for(var s,a="function"==typeof n?i:o,u=new _,c=r.length>>>0,l=new Array(c),h=0;h0?t(n,o.value,i):(i.become(o),h(e,n+1,o))}else t(n,r,i)}function h(e,t,n){for(var r=t;r0||"function"!=typeof t&&i<0)return new this.constructor(b,r);var o=this._beget(),s=o._handler;return r.chain(s,r.receiver,e,t,n),o},t.prototype["catch"]=function(e){return this.then(void 0,e)},t.prototype._beget=function(){return a(this._handler,this.constructor)},t.all=u,t.race=d,t._traverse=c,t._visitRemaining=h,b.prototype.when=b.prototype.become=b.prototype.notify=b.prototype.fail=b.prototype._unreport=b.prototype._report=W,b.prototype._state=0,b.prototype.state=function(){return this._state},b.prototype.join=function(){for(var e=this;void 0!==e.handler;)e=e.handler;return e},b.prototype.chain=function(e,t,n,r,i){this.when({resolver:e,receiver:t,fulfilled:n,rejected:r,progress:i})},b.prototype.visit=function(e,t,n,r){this.chain(G,e,t,n,r)},b.prototype.fold=function(e,t,n,r){this.when(new A(e,t,n,r))},H(b,w),w.prototype.become=function(e){e.fail()};var G=new w;H(b,_),_.prototype._state=0,_.prototype.resolve=function(e){this.become(g(e))},_.prototype.reject=function(e){this.resolved||this.become(new I(e))},_.prototype.join=function(){if(!this.resolved)return this;for(var e=this;void 0!==e.handler;)if(e=e.handler,e===this)return this.handler=T();return e},_.prototype.run=function(){var e=this.consumers,t=this.join();this.consumers=void 0;for(var n=0;n0){var o=this.pending.shift();this.reply=o.reply,this.sendImmediately(o.method,o.fields)}return t(null,e)}},b.onBufferDrain=function(){this.emit("drain")},d(u,r),e.exports.BaseChannel=u,u.prototype.registerConsumer=function(e,t){this.consumers[e]=t},u.prototype.unregisterConsumer=function(e){delete this.consumers[e]},u.prototype.dispatchMessage=function(e,t){var n=e.consumerTag,r=this.consumers[n];if(r)return r(t);throw new Error("Unknown consumer: "+n)},u.prototype.handleDelivery=function(e){return this.dispatchMessage(e.fields,e)},u.prototype.handleCancel=function(e){return this.dispatchMessage(e,null)}}).call(t,n(3).Buffer)},function(e,t){"use strict";function n(e,t,n){void 0!=n&&(e[t]=n)}var r=Object.freeze({}),i={};i.assertQueue=function(e,t){e=e||"",t=t||r;var i=Object.create(t.arguments||null);return n(i,"x-expires",t.expires),n(i,"x-message-ttl",t.messageTtl),n(i,"x-dead-letter-exchange",t.deadLetterExchange),n(i,"x-dead-letter-routing-key",t.deadLetterRoutingKey),n(i,"x-max-length",t.maxLength),n(i,"x-max-priority",t.maxPriority),{queue:e,exclusive:!!t.exclusive,durable:void 0===t.durable||t.durable,autoDelete:!!t.autoDelete,arguments:i,passive:!1,ticket:0,nowait:!1}},i.checkQueue=function(e){return{queue:e,passive:!0,nowait:!1,durable:!0,autoDelete:!1,exclusive:!1,ticket:0}},i.deleteQueue=function(e,t){return t=t||r,{queue:e,ifUnused:!!t.ifUnused,ifEmpty:!!t.ifEmpty,ticket:0,nowait:!1}},i.purgeQueue=function(e){return{queue:e,ticket:0,nowait:!1}},i.bindQueue=function(e,t,n,r){return{queue:e,exchange:t,routingKey:n,arguments:r,ticket:0,nowait:!1}},i.unbindQueue=function(e,t,n,r){return{queue:e,exchange:t,routingKey:n,arguments:r,ticket:0,nowait:!1}},i.assertExchange=function(e,t,i){i=i||r;var o=Object.create(i.arguments||null);return n(o,"alternate-exchange",i.alternateExchange),{exchange:e,ticket:0,type:t,passive:!1,durable:void 0===i.durable||i.durable,autoDelete:!!i.autoDelete,internal:!!i.internal,nowait:!1,arguments:o}},i.checkExchange=function(e){return{exchange:e,passive:!0,nowait:!1,durable:!0,internal:!1,type:"",autoDelete:!1,ticket:0}},i.deleteExchange=function(e,t){return t=t||r,{exchange:e,ifUnused:!!t.ifUnused,ticket:0,nowait:!1}},i.bindExchange=function(e,t,n,r){return{source:t,destination:e,routingKey:n,arguments:r,ticket:0,nowait:!1}},i.unbindExchange=function(e,t,n,r){return{source:t,destination:e,routingKey:n,arguments:r,ticket:0,nowait:!1}},i.publish=function(e,t,i){function o(e){return void 0===e?void 0:Array.isArray(e)?e.map(String):[String(e)]}i=i||r;var s=Object.create(i.headers||null);n(s,"CC",o(i.CC)),n(s,"BCC",o(i.BCC));var a;void 0!==i.persistent?a=i.persistent?2:1:"number"==typeof i.deliveryMode?a=i.deliveryMode:i.deliveryMode&&(a=2);var u=i.expiration;return void 0!==u&&(u=u.toString()),{exchange:e,routingKey:t,mandatory:!!i.mandatory,immediate:!1,ticket:void 0,contentType:i.contentType,contentEncoding:i.contentEncoding,headers:s,deliveryMode:a,priority:i.priority,correlationId:i.correlationId,replyTo:i.replyTo,expiration:u,messageId:i.messageId,timestamp:i.timestamp,type:i.type,userId:i.userId,appId:i.appId,clusterId:void 0}},i.consume=function(e,t){t=t||r;var i=Object.create(t.arguments||null);return n(i,"x-priority",t.priority),{ticket:0,queue:e,consumerTag:t.consumerTag||"",noLocal:!!t.noLocal,noAck:!!t.noAck,exclusive:!!t.exclusive,nowait:!1,arguments:i}},i.cancel=function(e){return{consumerTag:e,nowait:!1}},i.get=function(e,t){return t=t||r,{ticket:0,queue:e,noAck:!!t.noAck}},i.ack=function(e,t){return{deliveryTag:e,multiple:!!t}},i.nack=function(e,t,n){return{deliveryTag:e,multiple:!!t,requeue:void 0===n||n}},i.reject=function(e,t){return{deliveryTag:e,requeue:void 0===t||t}},i.prefetch=function(e,t){return{prefetchCount:e||0,prefetchSize:0,global:!!t}},i.recover=function(){return{requeue:!0}},e.exports=Object.freeze(i)},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=n(143),u=r(a),c=n(223),l=r(c),f=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};i(this,n);var t=o(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return t._connectionParams=(0,v["default"])({},b["default"].camelizeKeys(e)),t._endpointConfigs=void 0,t._endpoint=(0,v["default"])(S.endpoint,t._connectionParams.endpoint),t._deviceKey=t._connectionParams.deviceKey,t._channels=t._connectionParams.channels,t._deviceId=t._connectionParams.deviceId,t._client=t._connectionParams.client,t._secret=t._connectionParams.secret,t._host=t._connectionParams.host,t._port=t._connectionParams.port,t._vhost=t._connectionParams.vhost,t._protocol=S.protocol,t._inboxTopic=t._connectionParams.inputTopic||S.inboxTopic,t._liveStreamSuffix=S.liveStreamSuffix,t._tempQueueSuffix=S.tempQueueSuffix,t._liveStreams=[],t._tls=t._connectionParams.tls||!1,t._tlsOpts={},t._connectionParams.cert&&(t._tlsOpts.cert=p["default"].readFileSync(t._connectionParams.cert)),t._connectionParams.key&&(t._tlsOpts.key=p["default"].readFileSync(t._connectionParams.key)),t._connectionParams.passphrase&&(t._tlsOpts.passphrase=t._connectionParams.passphrase),t._connectionParams.ca&&(Array.isArray(t._connectionParams.ca)?t._tlsOpts.ca=t._connectionParams.ca.map(function(e){return p["default"].readFileSync(e)}):t._tlsOpts.ca=[p["default"].readFileSync(t._connectionParams.ca)]),t._connectionParams.pfx&&(t._tlsOpts.pfx=p["default"].readFileSync(t._connectionParams.pfx)),t._connectionParams.disableCertCheck?t._tlsOpts.rejectUnauthorized=!1:t._tlsOpts.rejectUnauthorized=!0,t._tlsOpts.secureProtocol=t._connectionParams.secureProtocol||S.tls.secureProtocol,t}return s(n,t),f(n,[{key:"getEndpointConfigs",value:function(){var e=this;return new _["default"](function(t,n){if(void 0!==e._endpointConfigs&&t(e._endpointConfigs),e._deviceId&&e._secret||e._deviceKey){var r=e._generateHostname(),i=x["default"].resolve(r,e._endpoint.deviceConfigurationsPath);if(e._deviceKey){var o={url:i,method:"get",responseType:"json",headers:{"Device-Key":e._deviceKey,"Content-Type":"application/json"}};(0,y["default"])(o).then(function(n){e._endpointConfigs=b["default"].camelizeKeys(n.data),e._connectionParams=e._endpointConfigs.connection,t(e._endpointConfigs)})["catch"](function(e){n(e)})}else e._deviceId&&e._secret&&e._host&&e._port&&e._vhost&&(e._connectionParams.protocols={},e._tls?e._connectionParams.protocols[e._protocol]={tlsPort:e._port}:e._connectionParams.protocols[e._protocol]={port:e._port},e._endpointConfigs={connection:e._connectionParams,channels:[]},t(e._endpointConfigs))}else if(e._client&&e._secret)if(e._host&&e._port&&e._vhost)e._connectionParams.protocols={},e._tls?e._connectionParams.protocols[e._protocol]={tlsPort:e._port}:e._connectionParams.protocols[e._protocol]={port:e._port},e._endpointConfigs={connection:e._connectionParams,liveStreams:[]},t(e._endpointConfigs);else{var s=e._generateHostname(),a=x["default"].resolve(s,e._endpoint.liveStreamKeyConfigurationsPath),u={url:a,method:"get",responseType:"json",headers:{"Live-Stream-Key-Client":e._client,"Live-Stream-Key-Secret":e._secret,"Content-Type":"application/json"}};(0,y["default"])(u).then(function(n){e._endpointConfigs=b["default"].camelizeKeys(n.data),e._connectionParams=e._endpointConfigs.connection,e._liveStreams=e._endpointConfigs.liveStreams||[],t(e._endpointConfigs)})["catch"](function(e){n(e)})}else n("Missing Device Key or wrong connection parameters")})}},{key:"channels",value:function(){return this._endpointConfigs.channels?(this._channels=this._endpointConfigs.channels.map(function(e){return e.name}),this._channels||[]):[]}},{key:"deviceId",value:function(){return this._deviceId=this._deviceId||this._connectionParams.deviceId,this._deviceId}},{key:"liveStreamByName",value:function(e){var t=(0,u["default"])(this._liveStreams,function(t){return t.name===e});return t.length>0?t[0].id||e:e}},{key:"liveStreamExists",value:function(e){var t=(0,u["default"])(this._liveStreams,function(t){return t.name===e});return t.length>0}},{key:"tempQueue",value:function(e,t,n){var r=n||(new Date).getTime();return r+"-"+this._connectionParams.client+"-"+(this.exchangeName(e,t)+".")+(""+this._tempQueueSuffix)}},{key:"exchangeName",value:function(e,t){return e&&t?this.liveStreamByName(e)+"."+t:""+t}},{key:"_encapsulateContent",value:function(e){var t=e;try{t=JSON.stringify(e)}catch(n){t=e}return t}},{key:"_generateHostname",value:function(){if(this._endpoint.url)return this._endpoint.url;var e=this._endpoint.host+":"+this._endpoint.port,t=this._tls?this._endpoint.secureProtocol:this._endpoint.protocol;return(0,l["default"])(e,t)||(e=t+"://"+e),e}},{key:"_parseContent",value:function(t){var n=t;e.isBuffer(n)&&(n=n.toString("utf-8"));var r=void 0;try{r=JSON.parse(n)}catch(i){r=n}return r}}]),n}(I["default"]);t["default"]=C}).call(t,n(3).Buffer)},function(e,t,n){function r(e,t){var n=a(e)?i:o;return n(e,s(t,3))}var i=n(144),o=n(145),s=n(151),a=n(17);e.exports=r},function(e,t){function n(e,t){for(var n=-1,r=e.length,i=0,o=[];++n-1}var i=n(158);e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__,r=n.array;r&&(r.lengthh))return!1;var d=u.get(e);if(d)return d==t;var v=!0;for(u.set(e,t);++c=t?e:t)),e}e.exports=n},function(e,t,n){e.exports=n(226)},function(e,t,n){"use strict";function r(e){this.defaults=o.merge({},e),this.interceptors={request:new a,response:new a}}var i=n(227),o=n(228),s=n(229),a=n(238),u=n(239),c=n(240),l=n(241),f=n(233);r.prototype.request=function(e){"string"==typeof e&&(e=o.merge({url:arguments[0]},arguments[1])),e=o.merge(i,this.defaults,{method:"get"},e),e.baseURL&&!u(e.url)&&(e.url=c(e.baseURL,e.url)),e.withCredentials=e.withCredentials||this.defaults.withCredentials,e.data=f(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=[s,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n};var h=new r(i),p=e.exports=l(r.prototype.request,h);p.defaults=h.defaults,p.interceptors=h.interceptors,p.create=function(e){return new r(e)},p.all=function(e){return Promise.all(e)},p.spread=n(242),o.forEach(["delete","get","head"],function(e){r.prototype[e]=function(t,n){return this.request(o.merge(n||{},{method:e,url:t}))},p[e]=l(r.prototype[e],h)}),o.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(o.merge(r||{},{method:e,url:t,data:n}))},p[e]=l(r.prototype[e],h)})},function(e,t,n){"use strict";var r=n(228),i=/^\)\]\}',?\n/,o={"Content-Type":"application/x-www-form-urlencoded"};e.exports={transformRequest:[function(e,t){return r.isFormData(e)||r.isArrayBuffer(e)||r.isStream(e)?e:r.isArrayBufferView(e)?e.buffer:!r.isObject(e)||r.isFile(e)||r.isBlob(e)?e:(r.isUndefined(t)||(r.forEach(t,function(e,n){"content-type"===n.toLowerCase()&&(t["Content-Type"]=e)}),r.isUndefined(t["Content-Type"])&&(t["Content-Type"]="application/json;charset=utf-8")), +JSON.stringify(e))}],transformResponse:[function(e){if("string"==typeof e){e=e.replace(i,"");try{e=JSON.parse(e)}catch(t){}}return e}],headers:{common:{Accept:"application/json, text/plain, */*"},patch:r.merge(o),post:r.merge(o),put:r.merge(o)},timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}}},function(e,t){"use strict";function n(e){return"[object Array]"===b.call(e)}function r(e){return"[object ArrayBuffer]"===b.call(e)}function i(e){return"[object FormData]"===b.call(e)}function o(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function s(e){return"string"==typeof e}function a(e){return"number"==typeof e}function u(e){return"undefined"==typeof e}function c(e){return null!==e&&"object"==typeof e}function l(e){return"[object Date]"===b.call(e)}function f(e){return"[object File]"===b.call(e)}function h(e){return"[object Blob]"===b.call(e)}function p(e){return"[object Function]"===b.call(e)}function d(e){return c(e)&&p(e.pipe)}function v(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return"undefined"!=typeof window&&"undefined"!=typeof document&&"function"==typeof document.createElement}function y(e,t){if(null!==e&&"undefined"!=typeof e)if("object"==typeof e||n(e)||(e=[e]),n(e))for(var r=0,i=e.length;r>8-a%1*8)){if(r=o.charCodeAt(a+=.75),r>255)throw new n;t=t<<8|r}return s}var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=r},function(e,t){"use strict";e.exports=function(e,t,n){var r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(n):e(n)}},function(e,t,n){"use strict";var r=n(228);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,i,o,s){var a=[];a.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(i)&&a.push("path="+i),r.isString(o)&&a.push("domain="+o),s===!0&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(){this.handlers=[]}var i=n(228);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){i.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,"")}},function(e,t){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r2&&void 0!==arguments[2]?arguments[2]:{};r(this,e),this.content=t.content,this.fields=t.fields,this.properties=t.properties;try{var s=this.fields.routingKey.split("."),a=i(s,2);this.senderId=a[0],this.channelName=a[1]}catch(u){console.error("Wrong routing key format")}this._receiverId=n,this._discardMine=o.discardMine||!1,this._discardFromApi=o.discardFromApi||!1}return o(e,[{key:"blackListed",value:function(){return!(!this._discardMine||this._receiverId!==this.senderId||this.fromApi())||!(!this._discardFromApi||!this.fromApi())}},{key:"fromApi",value:function(){return this.properties.headers&&this.properties.headers[s.fromApiHeader]}}]),e}();t["default"]=a},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=n(247),u=r(a),c=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};return t=(0,f["default"])(this._connectionOpts,t),new p["default"](function(n,r){e.getEndpointConfigs().then(function(i){var o=i.connection;if(void 0!==e._mqttConnection)n(e._mqttConnection);else try{var s={host:o.host,port:e._tls?o.protocols.mqtt.tlsPort:o.protocols.mqtt.port,username:o.vhost+":"+(o.deviceId||o.client),password:o.secret,clientId:o.deviceId||o.client,connectionTimeout:t.connectionTimeout||e._connectionTimeout};e._tls&&(s=(0,f["default"])(s,e._tlsOpts));var a=v["default"].connect(s);a.on("error",function(t){e.emit("error",t),r(t)}),a.on("close",function(t){r(t),e.emit("close",t),e._mqttConnection=void 0}),e._mqttConnection=a,e.emit("connect"),n(e._mqttConnection)}catch(u){r(u)}})["catch"](function(e){r(e)})})}},{key:"isConnected",value:function(){return void 0!==this._mqttConnection}},{key:"_topicFor",value:function(e){return this.deviceId()+"/"+e}}]),n}(y["default"]);t["default"]=b}).call(t,n(3).Buffer)},function(e,t,n){function r(e){if(a(e)&&(s(e)||f(e)||c(e.splice)||o(e)||u(e)))return!e.length;if(l(e)){var t=i(e);if(t==p||t==d)return!e.size}for(var n in e)if(g.call(e,n))return!1;return!(m&&h(e).length)}var i=n(196),o=n(31),s=n(17),a=n(10),u=n(248),c=n(13),l=n(18),f=n(16),h=n(25),p="[object Map]",d="[object Set]",v=Object.prototype,g=v.hasOwnProperty,y=v.propertyIsEnumerable,m=!y.call({valueOf:1},"valueOf");e.exports=r},function(e,t,n){(function(e){var r=n(249),i=n(174),o={"function":!0,object:!0},s=o[typeof t]&&t&&!t.nodeType?t:void 0,a=o[typeof e]&&e&&!e.nodeType?e:void 0,u=a&&a.exports===s?s:void 0,c=u?i.Buffer:void 0,l=c?function(e){return e instanceof c}:r(!1);e.exports=l}).call(t,n(36)(e))},function(e,t){function n(e){return function(){return e}}e.exports=n},function(e,t,n){(function(t){"use strict";function r(e){var t;e.auth&&(t=e.auth.match(/^(.+):(.+)$/),t?(e.username=t[1],e.password=t[2]):e.username=e.auth)}function i(e,t){function n(e){return t.servers&&(e._reconnectCount&&e._reconnectCount!==t.servers.length||(e._reconnectCount=0),t.host=t.servers[e._reconnectCount].host,t.port=t.servers[e._reconnectCount].port,t.hostname=t.host,e._reconnectCount++),u[t.protocol](e,t)}if("object"!=typeof e||t||(t=e,e=null),t=t||{},e&&(t=a(s.parse(e,!0),t),t.protocol=t.protocol.replace(/\:$/,"")),r(t),t.query&&"string"==typeof t.query.clientId&&(t.clientId=t.query.clientId),t.cert&&t.key){if(!t.protocol)throw new Error("Missing secure protocol key");if(-1===["mqtts","wss"].indexOf(t.protocol))switch(t.protocol){case"mqtt":t.protocol="mqtts";break;case"ws":t.protocol="wss";break;default:throw new Error('Unknown protocol for secure conenction: "'+t.protocol+'"!')}}if(u[t.protocol]||(t.protocol=c.filter(function(e){return"function"==typeof u[e]})[0]),!1===t.clean&&!t.clientId)throw new Error("Missing clientId for unclean clients");return new o(n,t)}var o=n(251),s=n(62),a=n(283),u={},c=[];"browser"!==t.title&&(u.mqtt=n(284),u.tcp=n(284),u.ssl=n(286),u.tls=n(286),u.mqtts=n(286)),u.ws=n(288),u.wss=n(288),c=["mqtt","mqtts","ws","wss"],e.exports=i,e.exports.connect=i}).call(t,n(38))},function(e,t,n){(function(t,r){"use strict";function i(){return"mqttjs_"+Math.random().toString(16).substr(2,8)}function o(e,t,n){try{var r=h.generate(t);!e.stream.write(r)&&n?e.stream.once("drain",n):n&&n()}catch(i){n?n(i):e.emit("error",i)}}function s(e,t,n){e.outgoingStore.put(t,function(r){return r?n&&n(r):void o(e,t,n)})}function a(){}function u(e,t){var n,r=this;if(!(this instanceof u))return new u(e,t);this.options=t||{};for(n in y)"undefined"==typeof this.options[n]?this.options[n]=y[n]:this.options[n]=t[n];this.options.clientId=this.options.clientId||i(),this.streamBuilder=e,this.outgoingStore=this.options.outgoingStore||new l,this.incomingStore=this.options.incomingStore||new l,this.queueQoSZero=null==this.options.queueQoSZero||this.options.queueQoSZero,this.pingTimer=null,this.connected=!1,this.disconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this.nextId=Math.floor(65535*Math.random()),this.outgoing={},this.on("connect",function(){this.connected=!0;var e=null;e=this.outgoingStore.createStream(),e.once("readable",function(){function t(){var n,i=e.read(1);i&&(!r.disconnecting&&!r.reconnectTimer&&00)if(t.ended&&!i){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&i){var a=new Error("stream.unshift() after end event");e.emit("error",a)}else!t.decoder||i||r||(n=t.decoder.write(n)),t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):(t.reading=!1,t.buffer.push(n)),t.needReadable&&f(e),p(e,t);else i||(t.reading=!1);return s(t)}function s(e){return!e.ended&&(e.needReadable||e.length=j)e=j;else{e--;for(var t=1;t<32;t<<=1)e|=e>>t;e++}return e}function u(e,t){return 0===t.length&&t.ended?0:t.objectMode?0===e?0:1:null===e||isNaN(e)?t.flowing&&t.buffer.length?t.buffer[0].length:t.length:e<=0?0:(e>t.highWaterMark&&(t.highWaterMark=a(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function c(e,t){var n=null;return k.isBuffer(t)||"string"==typeof t||null===t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function l(e,t){if(t.decoder&&!t.ended){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.length>0?f(e):w(e)}function f(e){var n=e._readableState;n.needReadable=!1,n.emittedReadable||(n.emittedReadable=!0,n.sync?t.nextTick(function(){h(e)}):h(e))}function h(e){e.emit("readable")}function p(e,n){n.readingMore||(n.readingMore=!0,t.nextTick(function(){d(e,n)}))}function d(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length0)return;return 0===r.pipesCount?(r.flowing=!1,void(I.listenerCount(e,"data")>0&&m(e))):void(r.ranOut=!0)}function y(){this._readableState.ranOut&&(this._readableState.ranOut=!1,g(this))}function m(e,n){var r=e._readableState;if(r.flowing)throw new Error("Cannot switch to old mode now.");var i=n||!1,o=!1;e.readable=!0,e.pipe=S.prototype.pipe,e.on=e.addListener=S.prototype.on,e.on("readable",function(){o=!0;for(var t;!i&&null!==(t=e.read());)e.emit("data",t);null===t&&(o=!1,e._readableState.needReadable=!0)}),e.pause=function(){i=!0,this.emit("pause")},e.resume=function(){i=!1,o?t.nextTick(function(){e.emit("readable")}):this.read(0),this.emit("resume")},e.emit("readable")}function b(e,t){var n,r=t.buffer,i=t.length,o=!!t.decoder,s=!!t.objectMode;if(0===r.length)return null;if(0===i)n=null;else if(s)n=r.shift();else if(!e||e>=i)n=o?r.join(""):k.concat(r,i),r.length=0;else if(e0)throw new Error("endReadable called on non-empty stream");!n.endEmitted&&n.calledRead&&(n.ended=!0,t.nextTick(function(){n.endEmitted||0!==n.length||(n.endEmitted=!0,e.readable=!1,e.emit("end"))}))}function _(e,t){for(var n=0,r=e.length;n0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return f(this),null;if(e=u(e,t),0===e&&t.ended)return n=null,t.length>0&&t.decoder&&(n=b(e,t), +t.length-=n.length),0===t.length&&w(this),n;var i=t.needReadable;return t.length-e<=t.highWaterMark&&(i=!0),(t.ended||t.reading)&&(i=!1),i&&(t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1),i&&!t.reading&&(e=u(r,t)),n=e>0?b(e,t):null,null===n&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),t.ended&&!t.endEmitted&&0===t.length&&w(this),n},i.prototype._read=function(e){this.emit("error",new Error("not implemented"))},i.prototype.pipe=function(e,n){function r(e){e===l&&o()}function i(){e.end()}function o(){e.removeListener("close",a),e.removeListener("finish",u),e.removeListener("drain",d),e.removeListener("error",s),e.removeListener("unpipe",r),l.removeListener("end",i),l.removeListener("end",o),e._writableState&&!e._writableState.needDrain||d()}function s(t){c(),e.removeListener("error",s),0===I.listenerCount(e,"error")&&e.emit("error",t)}function a(){e.removeListener("finish",u),c()}function u(){e.removeListener("close",a),c()}function c(){l.unpipe(e)}var l=this,f=this._readableState;switch(f.pipesCount){case 0:f.pipes=e;break;case 1:f.pipes=[f.pipes,e];break;default:f.pipes.push(e)}f.pipesCount+=1;var h=(!n||n.end!==!1)&&e!==t.stdout&&e!==t.stderr,p=h?i:o;f.endEmitted?t.nextTick(p):l.once("end",p),e.on("unpipe",r);var d=v(l);return e.on("drain",d),e._events&&e._events.error?x(e._events.error)?e._events.error.unshift(s):e._events.error=[s,e._events.error]:e.on("error",s),e.once("close",a),e.once("finish",u),e.emit("pipe",l),f.flowing||(this.on("readable",y),f.flowing=!0,t.nextTick(function(){g(l)})),e},i.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,this.removeListener("readable",y),t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var n=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,this.removeListener("readable",y),t.flowing=!1;for(var i=0;i0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,this._stateCounter>=this._states.length&&(this._stateCounter=0);return this._list.length},r.prototype._parseHeader=function(){var e=this._list.readUInt8(0);return this.packet.cmd=u.types[e>>u.CMD_SHIFT],this.packet.retain=0!==(e&u.RETAIN_MASK),this.packet.qos=e>>u.QOS_SHIFT&u.QOS_MASK,this.packet.dup=0!==(e&u.DUP_MASK),this._list.consume(1),!0},r.prototype._parseLength=function(){for(var e,t=0,n=1,r=0,i=!0;t<5&&(e=this._list.readUInt8(t++),r+=n*(e&u.LENGTH_MASK),n*=128,0!==(e&u.LENGTH_FIN_MASK));)if(this._list.length<=t){i=!1;break}return i&&(this.packet.length=r,this._list.consume(t)),i},r.prototype._parsePayload=function(){var e=!1;if(0===this.packet.length||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseMessageId();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":case"disconnect":break;default:this._emitError(new Error("not supported"))}e=!0}return e},r.prototype._parseConnect=function(){var e,t,n,r,i,o,s={},a=this.packet;if(e=this._parseString(),null===e)return this._emitError(new Error("cannot parse protocol id"));if("MQTT"!=e&&"MQIsdp"!=e)return this._emitError(new Error("invalid protocol id"));if(a.protocolId=e,this._pos>=this._list.length)return this._emitError(new Error("packet too short"));if(a.protocolVersion=this._list.readUInt8(this._pos),3!=a.protocolVersion&&4!=a.protocolVersion)return this._emitError(new Error("invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("packet too short"));if(s.username=this._list.readUInt8(this._pos)&u.USERNAME_MASK,s.password=this._list.readUInt8(this._pos)&u.PASSWORD_MASK,s.will=this._list.readUInt8(this._pos)&u.WILL_FLAG_MASK,s.will&&(a.will={},a.will.retain=0!==(this._list.readUInt8(this._pos)&u.WILL_RETAIN_MASK),a.will.qos=(this._list.readUInt8(this._pos)&u.WILL_QOS_MASK)>>u.WILL_QOS_SHIFT),a.clean=0!==(this._list.readUInt8(this._pos)&u.CLEAN_SESSION_MASK),this._pos++,a.keepalive=this._parseNum(),a.keepalive===-1)return this._emitError(new Error("packet too short"));if(t=this._parseString(),null===t)return this._emitError(new Error("packet too short"));if(a.clientId=t,s.will){if(n=this._parseString(),null===n)return this._emitError(new Error("cannot parse will topic"));if(a.will.topic=n,r=this._parseBuffer(),null===r)return this._emitError(new Error("cannot parse will payload"));a.will.payload=r}if(s.username){if(o=this._parseString(),null===o)return this._emitError(new Error("cannot parse username"));a.username=o}if(s.password){if(i=this._parseBuffer(),null===i)return this._emitError(new Error("cannot parse username"));a.password=i}return a},r.prototype._parseConnack=function(){var e=this.packet;return this._list.length<2?null:(e.sessionPresent=!!(this._list.readUInt8(this._pos++)&u.SESSIONPRESENT_MASK),e.returnCode=this._list.readUInt8(this._pos),e.returnCode===-1?this._emitError(new Error("cannot parse return code")):void 0)},r.prototype._parsePublish=function(){var e=this.packet;return e.topic=this._parseString(),null===e.topic?this._emitError(new Error("cannot parse topic")):void(e.qos>0&&!this._parseMessageId()||(e.payload=this._list.slice(this._pos,e.length)))},r.prototype._parseSubscribe=function(){var e,t,n=this.packet;if(1!=n.qos)return this._emitError(new Error("wrong subscribe header"));if(n.subscriptions=[],this._parseMessageId())for(;this._posthis._list.length||r>this.packet.length?null:(t=this._list.toString("utf8",this._pos,r),this._pos+=n,t)},r.prototype._parseBuffer=function(){var e,t=this._parseNum(),n=t+this._pos;return t===-1||n>this._list.length||n>this.packet.length?null:(e=this._list.slice(this._pos,n),this._pos+=t,e)},r.prototype._parseNum=function(){if(this._list.length-this._pos<2)return-1;var e=this._list.readUInt16BE(this._pos);return this._pos+=2,e},r.prototype._newPacket=function(){return this.packet&&(this._list.consume(this.packet.length),this.emit("packet",this.packet)),this.packet=new a,!0},r.prototype._emitError=function(e){this.error=e,this.emit("error",e)},e.exports=r},function(e,t,n){function r(e){if(!(this instanceof r))return new r(e);if(this._bufs=[],this.length=0,"function"==typeof e){this._callback=e;var t=function(e){this._callback&&(this._callback(e),this._callback=null)}.bind(this);this.on("pipe",function(e){e.on("error",t)}),this.on("unpipe",function(e){e.removeListener("error",t)})}else this.append(e);i.call(this)}var i=n(266),o=n(84),s=n(271).Buffer;o.inherits(r,i),r.prototype._offset=function(e){var t,n=0,r=0;if(0===e)return[0,0];for(;rthis.length)&&(r=this.length),n>=this.length)return e||s.alloc(0);if(r<=0)return e||s.alloc(0);var i,o,a=!!e,u=this._offset(n),c=r-n,l=c,f=a&&t||0,h=u[1];if(0===n&&r==this.length){if(!a)return 1===this._bufs.length?this._bufs[0]:s.concat(this._bufs,this.length);for(o=0;oi)){this._bufs[o].copy(e,f,h,h+l);break}this._bufs[o].copy(e,f,h),f+=i,l-=i,h&&(h=0)}return e},r.prototype.shallowSlice=function(e,t){e=e||0,t=t||this.length,e<0&&(e+=this.length),t<0&&(t+=this.length);var n=this._offset(e),i=this._offset(t),o=this._bufs.slice(n[0],i[0]+1);return 0==i[1]?o.pop():o[o.length-1]=o[o.length-1].slice(0,i[1]),0!=n[1]&&(o[0]=o[0].slice(n[1])),new r(o)},r.prototype.toString=function(e,t,n){return this.slice(t,n).toString(e)},r.prototype.consume=function(e){for(;this._bufs.length;){if(!(e>=this._bufs[0].length)){this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift()}return this},r.prototype.duplicate=function(){for(var e=0,t=new r;e0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===F.prototype||(t=i(t)),r?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):l(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?l(e,s,t,!1):m(e,s)):l(e,s,t,!1))):r||(s.reading=!1)}return h(s)}function l(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&g(e)),m(e,t)}function f(e,t){var n;return o(t)||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function h(e){return!e.ended&&(e.needReadable||e.length=K?e=K:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function d(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=p(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function v(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,g(e)}}function g(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(q("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?O.nextTick(y,e):y(e))}function y(e){q("emit readable"),e.emit("readable"),k(e)}function m(e,t){t.readingMore||(t.readingMore=!0,O.nextTick(b,e,t))}function b(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=S(e,t.buffer,t.decoder),n}function S(e,t,n){var r;return eo.length?o.length:e;if(i+=s===o.length?o:o.slice(0,e),e-=s,0===e){s===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++r}return t.length-=r,i}function T(e,t){var n=F.allocUnsafe(e),r=t.head,i=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),e-=s,0===e){s===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(s));break}++i}return t.length-=i,n}function j(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,O.nextTick(U,t,e))}function U(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function B(e,t){for(var n=0,r=e.length;n=t.highWaterMark||t.ended))return q("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?j(this):g(this),null;if(e=d(e,t),0===e&&t.ended)return 0===t.length&&j(this),null;var r=t.needReadable;q("need readable",r),(0===t.length||t.length-e0?I(e,t):null,null===i?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&j(this)),null!==i&&this.emit("data",i),i},u.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},u.prototype.pipe=function(e,t){function n(e,t){q("onunpipe"),e===h&&t&&t.hasUnpiped===!1&&(t.hasUnpiped=!0,o())}function i(){q("onend"),e.end()}function o(){q("cleanup"),e.removeListener("close",c),e.removeListener("finish",l),e.removeListener("drain",g),e.removeListener("error",u),e.removeListener("unpipe",n),h.removeListener("end",i),h.removeListener("end",f),h.removeListener("data",a),y=!0,!p.awaitDrain||e._writableState&&!e._writableState.needDrain||g()}function a(t){q("ondata"),m=!1;var n=e.write(t);!1!==n||m||((1===p.pipesCount&&p.pipes===e||p.pipesCount>1&&B(p.pipes,e)!==-1)&&!y&&(q("false write response, pause",h._readableState.awaitDrain),h._readableState.awaitDrain++,m=!0),h.pause())}function u(t){q("onerror",t),f(),e.removeListener("error",u),0===M(e,"error")&&e.emit("error",t)}function c(){e.removeListener("finish",l),f()}function l(){q("onfinish"),e.removeListener("close",c),f()}function f(){q("unpipe"),h.unpipe(e)}var h=this,p=this._readableState;switch(p.pipesCount){case 0:p.pipes=e;break;case 1:p.pipes=[p.pipes,e];break;default:p.pipes.push(e)}p.pipesCount+=1,q("pipe count=%d opts=%j",p.pipesCount,t);var d=(!t||t.end!==!1)&&e!==r.stdout&&e!==r.stderr,v=d?i:f;p.endEmitted?O.nextTick(v):h.once("end",v),e.on("unpipe",n);var g=w(h);e.on("drain",g);var y=!1,m=!1;return h.on("data",a),s(e,"error",u),e.once("close",c),e.once("finish",l),e.emit("pipe",h),p.flowing||(q("pipe resume"),h.resume()),e},u.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return o.alloc(0);if(1===this.length)return this.head.data;for(var t=o.allocUnsafe(e>>>0),n=this.head,r=0;n;)i(n.data,t,r),r+=n.data.length,n=n.next;return t},e}(),s&&s.inspect&&s.inspect.custom&&(e.exports.prototype[s.inspect.custom]=function(){var e=s.inspect({length:this.length});return this.constructor.name+" "+e})},43,function(e,t,n){"use strict";function r(e,t){var n=this,r=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return r||i?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||s.nextTick(o,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(s.nextTick(o,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)}),this)}function i(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function o(e,t){e.emit("error",t)}var s=n(268);e.exports={destroy:r,undestroy:i}},function(e,t,n){"use strict";function r(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function i(e){var t=r(e);if("string"!=typeof t&&(m.isEncoding===b||!b(e)))throw new Error("Unknown encoding: "+e);return t||e}function o(e){this.encoding=i(e);var t;switch(this.encoding){case"utf16le":this.text=h,this.end=p,t=4;break;case"utf8":this.fillLast=c,t=4;break;case"base64":this.text=d,this.end=v,t=3;break;default:return this.write=g,void(this.end=y)}this.lastNeed=0,this.lastTotal=0,this.lastChar=m.allocUnsafe(t)}function s(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function a(e,t,n){var r=t.length-1;if(r=0?(i>0&&(e.lastNeed=i-1),i):--r=0?(i>0&&(e.lastNeed=i-2),i):--r=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0))}function u(e,t,n){if(128!==(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!==(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!==(192&t[2]))return e.lastNeed=2,"�"}}function c(e){var t=this.lastTotal-this.lastNeed,n=u(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){var n=a(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)}function f(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function h(e,t){if((e.length-t)%2===0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function p(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function d(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function v(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function g(e){return e.toString(this.encoding)}function y(e){return e&&e.length?this.write(e):""}var m=n(271).Buffer,b=m.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(t=this.fillLast(e),void 0===t)return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n-1?r:T.nextTick;l.WritableState=c;var B=n(93);B.inherits=n(86);var O={deprecate:n(278)},A=n(270),R=n(271).Buffer,M=i.Uint8Array||function(){},L=n(275);B.inherits(l,A),c.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(c.prototype,"buffer",{get:O.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}();var F;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(F=Function.prototype[Symbol.hasInstance],Object.defineProperty(l,Symbol.hasInstance,{value:function(e){return!!F.call(this,e)||this===l&&(e&&e._writableState instanceof c)}})):F=function(e){return e instanceof this},l.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},l.prototype.write=function(e,t,n){var r=this._writableState,i=!1,o=!r.objectMode&&a(e);return o&&!R.isBuffer(e)&&(e=s(e)),"function"==typeof t&&(n=t,t=null),o?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=u),r.ended?f(this,n):(o||h(this,r,e,n))&&(r.pendingcb++,i=d(this,r,o,e,t,n)),i},l.prototype.cork=function(){var e=this._writableState;e.corked++},l.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||_(this,e))},l.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),l.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},l.prototype._writev=null,l.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||S(this,r,n)},Object.defineProperty(l.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),l.prototype.destroy=L.destroy,l.prototype._undestroy=L.undestroy,l.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,n(38),n(39).setImmediate,function(){return this}())},function(e,t){(function(t){function n(e,t){function n(){if(!i){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),i=!0}return e.apply(this,arguments)}if(r("noDeprecation"))return e;var i=!1;return n}function r(e){try{if(!t.localStorage)return!1}catch(n){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=n}).call(t,function(){return this}())},function(e,t){function n(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}e.exports=n},function(e,t){e.exports.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"reserved"},e.exports.codes={};for(var n in e.exports.types){var r=e.exports.types[n];e.exports.codes[r]=n}e.exports.CMD_SHIFT=4,e.exports.CMD_MASK=240,e.exports.DUP_MASK=8,e.exports.QOS_MASK=3,e.exports.QOS_SHIFT=1,e.exports.RETAIN_MASK=1,e.exports.LENGTH_MASK=127,e.exports.LENGTH_FIN_MASK=128,e.exports.SESSIONPRESENT_MASK=1,e.exports.USERNAME_MASK=128,e.exports.PASSWORD_MASK=64,e.exports.WILL_RETAIN_MASK=32,e.exports.WILL_QOS_MASK=24,e.exports.WILL_QOS_SHIFT=3,e.exports.WILL_FLAG_MASK=4,e.exports.CLEAN_SESSION_MASK=2},function(e,t,n){(function(t){"use strict";function r(e){switch(e.cmd){case"connect":return i(e);case"connack":return o(e);case"publish":return s(e);case"puback":case"pubrec":case"pubrel":case"pubcomp":case"unsuback":return a(e);case"subscribe":return u(e);case"suback":return c(e);case"unsubscribe":return l(e);case"pingreq":case"pingresp":case"disconnect":return f(e);default:throw new Error("unknown command")}}function i(e){var e=e||{},n=e.protocolId||"MQTT",r=e.protocolVersion||4,i=e.will,o=e.clean,s=e.keepalive||0,a=e.clientId||"",u=e.username,c=e.password;void 0===o&&(o=!0);var l=0;if(!n||"string"!=typeof n&&!t.isBuffer(n))throw new Error("Invalid protocol id");if(l+=n.length+2,!r||"number"!=typeof r||r>255||r<0)throw new Error("Invalid protocol version");if(l+=1,"string"!=typeof a&&!t.isBuffer(a)||!a&&4!=r||!a&&!o){if(r<4)throw new Error("clientId must be supplied before 3.1.1");if(0==o)throw new Error("clientId must be given if cleanSession set to 0")}else l+=a.length+2;if("number"!=typeof s||s<0||s>65535)throw new Error("Invalid keepalive");if(l+=2,l+=1,i){if("object"!=typeof i)throw new Error("Invalid will");if(!i.topic||"string"!=typeof i.topic)throw new Error("Invalid will topic");if(l+=t.byteLength(i.topic)+2,i.payload&&i.payload){if(!(i.payload.length>=0))throw new Error("Invalid will payload");l+="string"==typeof i.payload?t.byteLength(i.payload)+2:i.payload.length+2}else l+=2}if(u){if(!u.length)throw new Error("Invalid username");l+=t.byteLength(u)+2}if(c){if(!c.length)throw new Error("Invalid password");l+=b(c)+2}var f=new t(1+h(l)+l),v=0;f.writeUInt8(w.codes.connect<0&&(l+=y(c,l,a)),t.isBuffer(s)?g(c,l,s):v(c,l,s),c}function a(e){var e=e||{},n=e.cmd||"puback",r=e.messageId,i=e.dup&&"pubrel"===n?w.DUP_MASK:0,o=0;if("pubrel"===n&&(o=1),"number"!=typeof r)throw new Error("Invalid message id");var s=new t(4),a=0;return s[a++]=w.codes[n]<=0&&e<128?1:e>=128&&e<16384?2:e>=16384&&e<2097152?3:e>=2097152&&e<268435456?4:0}function p(e,t,n){var r=0,i=t;do r=n%128|0,n=n/128|0,n>0&&(r=128|r),e.writeUInt8(r,t++,!0);while(n>0);return t-i}function d(e,n,r){var i=t.byteLength(r);return y(e,n,i),v(e,n+2,r),i+2}function v(e,t,n){e.write(n,t)}function g(e,t,n){return n.copy(e,t),n.length}function y(e,t,n){return e.writeUInt8(n>>8,t,!0),e.writeUInt8(255&n,t+1,!0),2}function m(e,t,n){var r=0;return n&&"string"==typeof n?r+=d(e,t+r,n):n?(r+=y(e,t+r,n.length),r+=g(e,t+r,n)):r+=y(e,t+r,0),r}function b(e){return t.isBuffer(e)?e.length:t.byteLength(e)}var w=n(280),_=new t(0);e.exports=r}).call(t,n(3).Buffer)},function(e,t){"use strict";function n(e,t,n){var r=this;this._callback=e,this._args=n,this._interval=setInterval(e,t,this._args),this.reschedule=function(e){e||(e=r._interval),r._interval&&clearInterval(r._interval),r._interval=setInterval(r._callback,e,r._args)},this.clear=function(){r._interval&&(clearInterval(r._interval),r._interval=void 0)},this.destroy=function(){r._interval&&clearInterval(r._interval),r._callback=void 0,r._interval=void 0,r._args=void 0}}function r(){if("function"!=typeof arguments[0])throw new Error("callback needed");if("number"!=typeof arguments[1])throw new Error("interval needed");var e;if(arguments.length>0){e=new Array(arguments.length-2);for(var t=0;tx)return void setTimeout(l,k,e,t,n);I&&"string"==typeof e&&(e=new i(e,"utf8"));try{m.send(e)}catch(r){return n(r)}n()}function f(e){m.close(),e()}function h(){y.setReadable(E),y.setWritable(E),y.emit("connect")}function p(){y.end(),y.destroy()}function d(e){y.destroy(e)}function v(e){var t=e.data;t=new i(t instanceof ArrayBuffer?new Uint8Array(t):t),E.push(t)}function g(){m.close()}var y,m,b="browser"===t.title,w=!!r.WebSocket,_=b?l:c,E=s.obj(_,f);n&&!Array.isArray(n)&&"object"==typeof n&&(o=n,n=null,("string"==typeof o.protocol||Array.isArray(o.protocol))&&(n=o.protocol)),o||(o={});var x=o.browserBufferSize||524288,k=o.browserBufferTimeout||1e3;"object"==typeof e?m=e:(m=w&&b?new u(e,n):new u(e,n,o),m.binaryType="arraybuffer"),m.readyState===u.OPEN?y=E:(y=a.obj(),m.onopen=h),y.socket=m,m.onclose=p,m.onerror=d,m.onmessage=v,E.on("close",g);var I=o.binary||void 0===o.binary;return y}var s=n(290),a=n(295),u=n(297);e.exports=o}).call(t,n(38),function(){return this}(),n(3).Buffer)},function(e,t,n){(function(t){function r(e){s.call(this,e),this._destroyed=!1}function i(e,t,n){n(null,e)}function o(e){return function(t,n,r){return"function"==typeof t&&(r=n,n=t,t={}),"function"!=typeof n&&(n=i),"function"!=typeof r&&(r=null),e(t,n,r)}}var s=n(291),a=n(84).inherits,u=n(283);a(r,s),r.prototype.destroy=function(e){if(!this._destroyed){this._destroyed=!0;var n=this;t.nextTick(function(){e&&n.emit("error",e),n.emit("close")})}},e.exports=o(function(e,t,n){var i=new r(e);return i._transform=t,n&&(i._flush=n),i}),e.exports.ctor=o(function(e,t,n){function i(t){return this instanceof i?(this.options=u(e,t),void r.call(this,this.options)):new i(t)}return a(i,r),i.prototype._transform=t,n&&(i.prototype._flush=n),i}),e.exports.obj=o(function(e,t,n){var i=new r(u({objectMode:!0,highWaterMark:16},e));return i._transform=t,n&&(i._flush=n),i})}).call(t,n(38))},function(e,t,n){e.exports=n(292).Transform},function(e,t,n){t=e.exports=n(269),t.Stream=t,t.Readable=t,t.Writable=n(277),t.Duplex=n(267),t.Transform=n(293),t.PassThrough=n(294)},function(e,t,n){"use strict";function r(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length0&&void 0!==arguments[0]?arguments[0]:{};return n=(0,h["default"])(this._connectionOpts,n),new d["default"](function(n,r){t.getEndpointConfigs().then(function(i){var o=i.connection;if(void 0!==t._stompConnection)n(t._stompConnection);else try{var s=void 0;if("object"===("undefined"==typeof e?"undefined":c(e))&&""+e=="[object process]")s=t._tls?g["default"].overTCP(o.host,o.protocols.stomp.tlsPort,t._tlsOpts):g["default"].overTCP(o.host,o.protocols.stomp.port);else{var a=t._tls?t._webSocketOpts.tls.protocol:t._webSocketOpts.protocol,u=t._tls?o.protocols.webStomp.tlsPort:o.protocols.webStomp.port,l=a+"://"+o.host+":"+u+"/"+t._webSocketOpts.endpoint,f=new WebSocket(l);s=g["default"].over(f),s.heartbeat.outgoing=1e4,s.heartbeat.incoming=1e4,s.debug=null}var p=(0,h["default"])(t._connectionHeaders,{login:o.deviceId||o.client,passcode:o.secret,host:o.vhost});s.connect(p,function(){t._stompConnection=s,t.emit("connect"),n(t._stompConnection)},function(e){t.emit("error",e),t._stompConnection=void 0,r(e)})}catch(d){r(d)}})["catch"](function(e){r(e)})})}},{key:"isConnected",value:function(){return void 0!==this._stompConnection}},{key:"_subcriptionFor",value:function(e,t){return"/"+e+"/"+this.deviceId()+"."+t}},{key:"_destinationFor",value:function(e,t){return"/"+e+"/"+this.deviceId()+"/"+this.deviceId()+"."+t}},{key:"_autoAck",value:function(e){if(e)switch((0,u["default"])(_[this._protocol].ackTypes,e)||console.error("Wrong acknowledge type"),e){case"client":return!1;default:return!0}return!1}}]),n}(m["default"]);t["default"]=E}).call(t,n(38))},function(e,t,n){var r=n(300),i=n(301);e.exports=r.Stomp,e.exports.overTCP=i.overTCP,e.exports.overWS=i.overWS},function(e,t){(function(){var e,n,r,i,o={}.hasOwnProperty,s=[].slice;e={LF:"\n",NULL:"\0"},r=function(){function t(e,t,n){this.command=e,this.headers=null!=t?t:{},this.body=null!=n?n:""}var n;return t.prototype.toString=function(){var n,r,i,s,a;n=[this.command],s=this.headers["content-length"]===!1,s&&delete this.headers["content-length"],i=this.headers;for(r in i)o.call(i,r)&&(a=i[r],n.push(r+":"+a));return this.body&&!s&&n.push("content-length:"+t.sizeOfUTF8(this.body)),n.push(e.LF+this.body),n.join(e.LF)},t.sizeOfUTF8=function(e){return e?encodeURI(e).match(/%..|./g).length:0},n=function(n){var r,i,o,s,a,u,c,l,f,h,p,d,v,g,y,m,b,w;for(s=n.search(RegExp(""+e.LF+e.LF)),a=n.substring(0,s).split(e.LF),o=a.shift(),u={},w=function(e){return e.replace(/^\s+|\s+$/g,"")},g=a.reverse(),f=0,d=g.length;fm)&&(i=n.charAt(c),i!==e.NULL);c=y<=m?++h:--h)r+=i;return new t(o,u,r)},t.unmarshall=function(t){var r,i,o,s;return i=t.split(RegExp(""+e.NULL+e.LF+"*")),s={frames:[],partial:""},s.frames=function(){var e,t,o,s;for(o=i.slice(0,-1),s=[],e=0,t=o.length;e>> "+i);;){if(!(i.length>this.maxWebSocketFrameSize))return this.ws.send(i);this.ws.send(i.substring(0,this.maxWebSocketFrameSize)),i=i.substring(this.maxWebSocketFrameSize),"function"==typeof this.debug&&this.debug("remaining = "+i.length)}},t.prototype._setupHeartbeat=function(t){var r,o,s,a,u,c;if((r=t.version)===i.VERSIONS.V1_1||r===i.VERSIONS.V1_2)return o=function(){var e,n,r,i;for(r=t["heart-beat"].split(","),i=[],e=0,n=r.length;e>> PING"):void 0}}(this))),0!==this.heartbeat.incoming&&0!==a?(u=Math.max(this.heartbeat.incoming,a),"function"==typeof this.debug&&this.debug("check PONG every "+u+"ms"),this.ponger=i.setInterval(u,function(e){return function(){var t;if(t=n()-e.serverActivity,t>2*u)return"function"==typeof e.debug&&e.debug("did not receive server activity for the last "+t+"ms"),e.ws.close()}}(this))):void 0},t.prototype._parseConnect=function(){var e,t,n,r;switch(e=1<=arguments.length?s.call(arguments,0):[],r={},e.length){case 2:r=e[0],t=e[1];break;case 3:e[1]instanceof Function?(r=e[0],t=e[1],n=e[2]):(r.login=e[0],r.passcode=e[1],t=e[2]);break;case 4:r.login=e[0],r.passcode=e[1],t=e[2],n=e[3];break;default:r.login=e[0],r.passcode=e[1],t=e[2],n=e[3],r.host=e[4]}return[r,t,n]},t.prototype.connect=function(){var t,o,a,u;return t=1<=arguments.length?s.call(arguments,0):[],u=this._parseConnect.apply(this,t),a=u[0],this.connectCallback=u[1],o=u[2],"function"==typeof this.debug&&this.debug("Opening Web Socket..."),this.ws.onmessage=function(t){return function(i){var s,a,u,c,l,f,h,p,d,v,g,y,m;if(c="undefined"!=typeof ArrayBuffer&&i.data instanceof ArrayBuffer?(s=new Uint8Array(i.data),"function"==typeof t.debug?t.debug("--- got data length: "+s.length):void 0,function(){var e,t,n;for(n=[],e=0,t=s.length;e=0.10.0"},homepage:"https://github.com/theturtle32/WebSocket-Node",keywords:["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],license:"Apache-2.0",main:"index",name:"websocket",repository:{type:"git",url:"git+https://github.com/theturtle32/WebSocket-Node.git"},scripts:{gulp:"gulp",install:"(node-gyp rebuild 2> builderror.log) || (exit 0)",test:"faucet test/unit"},version:"1.0.26"}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(u){i=!0,o=u}finally{try{!r&&a["return"]&&a["return"]()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{};r(this,e),this.body=t.body,this.headers=t.headers;try{var s=this.headers.destination.split("/"),a=s[s.length-1].split("."),u=i(a,2);this.senderId=u[0],this.channelName=u[1]}catch(c){console.error("Wrong routing key format")}this._receiverId=n,this._discardMine=o.discardMine||!1,this._discardFromApi=o.discardFromApi||!1}return o(e,[{key:"blackListed",value:function(){return!(!this._discardMine||this._receiverId!==this.senderId||this.fromApi())||!(!this._discardFromApi||!this.fromApi())}},{key:"fromApi",value:function(){return this.headers&&this.headers[s.fromApiHeader]}}]),e}();t["default"]=a},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[],n=arguments[1],r=t.map(function(t){return e._attachStreamHook(t,n)})||[];return r.length>0?f["default"].any(r):f["default"].reject("Missing stream hooks")}},{key:"_attachStreamHook",value:function(e,t){var n=this;return new f["default"](function(r,i){var o=e.deviceId,s=e.channel,a=e.stream,u="boolean"!=typeof e.cache||e.cache;void 0!==a||void 0!==s&&void 0!==o||i("Missing Stream or Device ID and Channel");var l=e.routingKey||n._defaultStreamRoutingKey,f=function(){},h=e.callback||f,p=(new Date).getTime();n._createChannel(""+p).then(function(e){n._amqpChannels[""+p]=e;var i=void 0;if(a)if(n.liveStreamExists(a)||(console.error("Stream "+a+" does not exist"),r(!1)),u){var f=n._cachedStreamQueue(a);i=n._amqpChannels[""+p].checkQueue(f,n._streamQueueArguments).then(function(){return n._amqpChannels[""+p].consume(f,function(e){h(n._parseContent(e.content),e.fields,e.properties)},(0,c["default"])(n._subscribeArgs,t))})}else{var d=n.exchangeName(a,n._liveStreamSuffix),v=n.tempQueue(a,n._liveStreamSuffix,p);i=n._amqpChannels[""+p].checkExchange(d).then(function(){return n._amqpChannels[""+p].assertQueue(v,n._streamQueueArguments)}).then(function(){return n._amqpChannels[""+p].bindQueue(v,d,l)}).then(function(){return n._amqpChannels[""+p].consume(v,function(e){h(n._parseContent(e.content),e.fields,e.properties)},(0,c["default"])(n._subscribeArgs,t))})}else{var g=n.exchangeName(o,s),y=n.tempQueue(o,s,p);i=n._amqpChannels[""+p].checkExchange(g).then(function(){return n._amqpChannels[""+p].assertQueue(y,n._streamQueueArguments)}).then(function(){return n._amqpChannels[""+p].bindQueue(y,g,l)}).then(function(){return n._amqpChannels[""+p].consume(y,function(e){h(n._parseContent(e.content),e.fields,e.properties)},(0,c["default"])(n._subscribeArgs,t))})}return i}).then(function(){r(!0)})["catch"](function(e){i(e)})})}},{key:"_cachedStreamQueue",value:function(e){return this.liveStreamByName(e)+"."+this._liveStreamSuffix}}]),t}(p["default"]);delete v.onReceive,delete v.publish,delete v._routingKeyFor,t["default"]=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[],n=arguments[1];return new f["default"](function(r,i){e.connect().then(function(o){var s=function(){};t.forEach(function(t){var n=t.stream,o=t.deviceId,s=t.channel,a=t.qos,u="boolean"!=typeof t.cache||t.cache;void 0!==n||void 0!==s&&void 0!==o||i("Missing Stream or Device ID and Channel"),n?(e.liveStreamExists(n)||(console.error("Stream "+n+" does not exist"),r(!1)),e._topics[e._streamTopicFor(n)]=u?1:0):e._topics[e._streamChannelTopicFor(o,s)]=a||e._connectionOpts.qos}),o.subscribe(e._topics,(0,c["default"])(e._connectionOpts,n),function(n){n?i(!1):(o.on("message",function(n,r){var i=n.split("/"),o=t.filter(function(t){return e.liveStreamByName(t.stream)===i[0]||t.deviceId===i[0]&&t.channel===i[1]}),a=s;o.length>0&&(a=o[0].callback||s),a(n,e._parseContent(r))}),r(!0))})})["catch"](function(e){i(e)})})}},{key:"_streamChannelTopicFor",value:function(e,t){return e+"/"+t}},{key:"_streamTopicFor",value:function(e){return this.liveStreamByName(e)+"/"+this._liveStreamSuffix}}]),t}(p["default"]);delete d.onReceive,delete d.publish,delete d._topicFor,t["default"]=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[],n=arguments[1],r=t.map(function(t){return e._attachStreamHook(t,n)})||[];return r.length>0?f["default"].any(r):f["default"].reject("Missing stream hooks")}},{key:"unsubscribe",value:function(e,t){var n=this;return new f["default"](function(r,i){if(void 0===n._stompConnection)i("Invalid connection");else{var o=n._topicFor(e,t),s=n._subscriptions[o];s.unsubscribe(o),delete n._subscriptions[o],r(!0)}})}},{key:"disconnect",value:function(){var e=this;return new f["default"](function(t,n){if(void 0===e._stompConnection)n("Invalid connection");else{for(var r in e._subscriptions)r&&e._subscriptions[r].unsubscribe();e._subscriptions={},e._stompConnection.disconnect(function(){e._stompConnection=void 0,t(!0)})["catch"](function(e){n(e)})}})}},{key:"_attachStreamHook",value:function(e,t){var n=this;return t=(0,c["default"])({},t),new f["default"](function(t,r){var i=e.stream,o=e.deviceId,s=e.channel,a="boolean"!=typeof e.cache||e.cache,u=function(){},c=e.callback||u;void 0!==i||void 0!==s&&void 0!==o||r("Missing Stream or Device ID and Channel"),n.connect().then(function(e){var r=void 0,u=void 0;i?(n.liveStreamExists(i)||(console.error("Stream "+i+" does not exist"),t(!1)),a?r=n._cachedStreamTopicFor(i):(r=n._streamTopicFor(i),u=n.tempQueue(i,n._liveStreamSuffix))):(r=n._streamChannelTopicFor(o,s),u=n.tempQueue(o,s));var l={};u&&(l["x-queue-name"]=u);var f=function(e){c(n._parseContent(e.body),e.headers)},h=e.subscribe(r,f,l);n._subscriptions[r]=h,t(!0)})["catch"](function(e){r(e)})})}},{key:"_streamChannelTopicFor",value:function(e,t,n,r){return"/"+(n||this._exchangePrefix)+"/"+e+"."+t+"/"+(r||this._defaultPattern)}},{key:"_cachedStreamTopicFor",value:function(e,t){return"/"+(t||this._existingQueuePrefix)+"/"+this.liveStreamByName(e)+"."+this._liveStreamSuffix}},{key:"_streamTopicFor",value:function(e,t,n){return"/"+(t||this._exchangePrefix)+"/"+this.liveStreamByName(e)+"."+(this._liveStreamSuffix+"/"+(n||this._defaultPattern))}}]),t}(p["default"]);delete v.onReceive,delete v.publish,delete v._subcriptionFor,delete v._destinationFor,t["default"]=v},function(e,t,n,r,i){var o;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(s){"use strict";o=function(e){function t(e,t,n,r){return o.setTimer(function(){e(n,r,t)},t)}var o=n(r),s=n(i);return function(e){function n(e,n,i){t(r,e,n,i)}function r(e,t){t.resolve(e)}function i(e,t,n){var r="undefined"==typeof e?new s("timed out after "+n+"ms"):e;t.reject(r)}return e.prototype.delay=function(e){var t=this._beget();return this._handler.fold(n,e,void 0,t._handler),t},e.prototype.timeout=function(e,n){var r=this._beget(),s=r._handler,a=t(i,e,n,r._handler);return this._handler.visit(s,function(e){o.clearTimer(a),this.resolve(e)},function(e){o.clearTimer(a),this.reject(e)},s.notify),r},e}}.call(t,n,t,e),!(void 0!==o&&(e.exports=o))}(n(44))},function(e,t,n,r){var i;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(o){"use strict";i=function(e){var t=n(r).inspect;return function(e){return e.prototype.inspect=function(){return t(e._handler(this))},e}}.call(t,n,t,e),!(void 0!==i&&(e.exports=i))}(n(44))},function(e,t,n,r,i,o){var s;/** @license MIT License (c) copyright 2010-2014 original author or authors */ +!function(a){"use strict";s=function(e){var t=n(r),s=n(i),a=n(o).asap;return t({scheduler:new s(a)})}.call(t,n,t,e),!(void 0!==s&&(e.exports=s))}(n(44))},function(e,t,n,r,i){(function(e,o){function s(e,n){var r={seen:[],stylize:u};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&t._extend(r,n),x(r.showHidden)&&(r.showHidden=!1),x(r.depth)&&(r.depth=2),x(r.colors)&&(r.colors=!1),x(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),l(r,e,r.depth)}function a(e,t){var n=s.styles[t];return n?"["+s.colors[n][0]+"m"+e+"["+s.colors[n][1]+"m":e}function u(e,t){return e}function c(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function l(e,n,r){if(e.customInspect&&n&&T(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,e);return _(i)||(i=l(e,i,r)),i}var o=f(e,n);if(o)return o;var s=Object.keys(n),a=c(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(n)),C(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return h(n);if(0===s.length){if(T(n)){var u=n.name?": "+n.name:"";return e.stylize("[Function"+u+"]","special")}if(k(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(S(n))return e.stylize(Date.prototype.toString.call(n),"date");if(C(n))return h(n)}var y="",m=!1,b=["{","}"];if(g(n)&&(m=!0,b=["[","]"]),T(n)){var w=n.name?": "+n.name:"";y=" [Function"+w+"]"}if(k(n)&&(y=" "+RegExp.prototype.toString.call(n)),S(n)&&(y=" "+Date.prototype.toUTCString.call(n)),C(n)&&(y=" "+h(n)),0===s.length&&(!m||0==n.length))return b[0]+y+b[1];if(r<0)return k(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special");e.seen.push(n);var E;return E=m?p(e,n,r,a,s):s.map(function(t){return d(e,n,r,a,t,m)}),e.seen.pop(),v(E,y,b)}function f(e,t){if(x(t))return e.stylize("undefined","undefined");if(_(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return w(t)?e.stylize(""+t,"number"):y(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function p(e,t,n,r,i){for(var o=[],s=0,a=t.length;s-1&&(a=o?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n"))):a=e.stylize("[Circular]","special")),x(s)){if(o&&i.match(/^\d+$/))return a;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+a}function v(e,t,n){var r=0,i=e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function g(e){return Array.isArray(e)}function y(e){return"boolean"==typeof e}function m(e){return null===e}function b(e){return null==e}function w(e){return"number"==typeof e}function _(e){return"string"==typeof e}function E(e){return"symbol"==typeof e}function x(e){return void 0===e}function k(e){return I(e)&&"[object RegExp]"===U(e)}function I(e){return"object"==typeof e&&null!==e}function S(e){return I(e)&&"[object Date]"===U(e)}function C(e){return I(e)&&("[object Error]"===U(e)||e instanceof Error)}function T(e){return"function"==typeof e}function j(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function U(e){return Object.prototype.toString.call(e)}function B(e){return e<10?"0"+e.toString(10):e.toString(10)}function O(){var e=new Date,t=[B(e.getHours()),B(e.getMinutes()),B(e.getSeconds())].join(":");return[e.getDate(),F[e.getMonth()],t].join(" ")}function A(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var R=/%[sdj%]/g;t.format=function(e){if(!_(e)){for(var t=[],n=0;n=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return e}}),a=r[n];n0)if(t.ended&&!i){var s=new Error("stream.push() after EOF");e.emit("error",s)}else if(t.endEmitted&&i){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else!t.decoder||i||r||(n=t.decoder.write(n)),i||(t.reading=!1),t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&v(e)),y(e,t);else i||(t.reading=!1);return l(t)}function l(e){return!e.ended&&(e.needReadable||e.length=R)e=R;else{e--;for(var t=1;t<32;t<<=1)e|=e>>t;e++}return e}function h(e,t){return 0===t.length&&t.ended?0:t.objectMode?0===e?0:1:isNaN(e)||B.isNull(e)?t.flowing&&t.buffer.length?t.buffer[0].length:t.length:e<=0?0:(e>t.highWaterMark&&(t.highWaterMark=f(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function p(e,t){var n=null;return B.isBuffer(t)||B.isString(t)||B.isNullOrUndefined(t)||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function d(e,t){if(t.decoder&&!t.ended){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,v(e)}function v(e){var n=e._readableState;n.needReadable=!1,n.emittedReadable||(A("emitReadable",n.flowing),n.emittedReadable=!0,n.sync?t.nextTick(function(){g(e)}):g(e))}function g(e){A("emit readable"),e.emit("readable"),E(e)}function y(e,n){n.readingMore||(n.readingMore=!0,t.nextTick(function(){m(e,n)}))}function m(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=i)n=o?r.join(""):T.concat(r,i),r.length=0;else if(e0)throw new Error("endReadable called on non-empty stream");n.endEmitted||(n.ended=!0,t.nextTick(function(){n.endEmitted||0!==n.length||(n.endEmitted=!0,e.readable=!1,e.emit("end"))}))}function I(e,t){for(var n=0,r=e.length;n0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return A("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?k(this):v(this),null;if(e=h(e,t),0===e&&t.ended)return 0===t.length&&k(this),null;var r=t.needReadable;A("need readable",r),(0===t.length||t.length-e0?x(e,t):null,B.isNull(i)&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),n!==e&&t.ended&&0===t.length&&k(this),B.isNull(i)||this.emit("data",i),i},u.prototype._read=function(e){this.emit("error",new Error("not implemented"))},u.prototype.pipe=function(e,n){function r(e){A("onunpipe"),e===f&&o()}function i(){A("onend"),e.end()}function o(){A("cleanup"),e.removeListener("close",u),e.removeListener("finish",c),e.removeListener("drain",v),e.removeListener("error",a),e.removeListener("unpipe",r),f.removeListener("end",i),f.removeListener("end",o),f.removeListener("data",s),!h.awaitDrain||e._writableState&&!e._writableState.needDrain||v()}function s(t){A("ondata");var n=e.write(t);!1===n&&(A("false write response, pause",f._readableState.awaitDrain),f._readableState.awaitDrain++,f.pause())}function a(t){A("onerror",t),l(),e.removeListener("error",a),0===j.listenerCount(e,"error")&&e.emit("error",t)}function u(){e.removeListener("finish",c),l()}function c(){A("onfinish"),e.removeListener("close",u),l()}function l(){A("unpipe"),f.unpipe(e)}var f=this,h=this._readableState;switch(h.pipesCount){case 0:h.pipes=e;break;case 1:h.pipes=[h.pipes,e];break;default:h.pipes.push(e)}h.pipesCount+=1,A("pipe count=%d opts=%j",h.pipesCount,n);var p=(!n||n.end!==!1)&&e!==t.stdout&&e!==t.stderr,d=p?i:o;h.endEmitted?t.nextTick(d):f.once("end",d),e.on("unpipe",r);var v=b(f);return e.on("drain",v),f.on("data",s),e._events&&e._events.error?C(e._events.error)?e._events.error.unshift(a):e._events.error=[a,e._events.error]:e.on("error",a),e.once("close",u),e.once("finish",c),e.emit("pipe",f),h.flowing||(A("pipe resume"),f.resume()),e},u.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var n=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i1){for(var n=[],r=0;r {\n this._createChannel('input', opts).then((ch) => {\n return when.all([\n ch.checkQueue(`${this.deviceId()}.${this._inboxTopic}`, this._inputQueueArgs),\n ch.consume(`${this.deviceId()}.${this._inboxTopic}`, (message) => {\n // Create message object\n const amqpMessage = new AmqpMessage(message, this._deviceId, opts);\n const ackNeeded = this._autoAck(opts.ack);\n // Check if should be accepted or not\n if (amqpMessage.blackListed()) {\n if (ackNeeded) { ch.nack(message, opts.allUpTo, opts.requeue); }\n return;\n }\n // Call message callback\n callback(this._parseContent(amqpMessage.content), amqpMessage.fields, amqpMessage.properties);\n // Check if ACK is needed\n if (ackNeeded) { ch.ack(message, opts.allUpTo); }\n }, opts)\n ]);\n }).then((res) => {\n resolve(res);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Publish a message on a specific channel\n *\n * @param {String} channel - channel name on which you want to publish a message\n * @param {Object} message - the message payload\n * @param {Object} opts - publication options\n * @return promise containing the result of the subscription\n */\n publish(channel, message, opts = {}) {\n opts = merge(this._publishArgs, opts);\n return new Promise((resolve, reject) => {\n this._createChannel('output', opts).then((ch) => {\n const bufferedMessage = new Buffer(this._encapsulateContent(message));\n const promises = [\n ch.checkExchange(this.deviceId()),\n ch.publish(this.deviceId(), this._routingKeyFor(channel), bufferedMessage, opts)\n ];\n if (opts.withConfirm === true) {\n promises.push(ch.waitForConfirms());\n }\n return when.all(promises);\n }).then((res) => {\n resolve(res);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Destroy the connection between the amqp client and broker\n *\n * @return a promise containing the result of the operation\n */\n disconnect() {\n return new Promise((resolve, reject) => {\n if (this._amqpConnection === undefined) {\n reject('Not Connected');\n } else {\n this._amqpConnection.close().then(() => {\n this._amqpConnection = undefined;\n this._amqpChannels = {};\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n }\n });\n }\n\n /**\n * Establish an amqp connection with the broker\n * using configurations retrieved from the endpoint.\n * If the connnection already exists, returns the current connnection\n *\n * @return a promise containing current connection\n */\n connect(opts = {}) {\n let connectionOpts = merge(this._connectionOpts, opts);\n\n return new Promise((resolve, reject) => {\n this.getEndpointConfigs().then((endpointConfigs) => {\n const connectionParams = endpointConfigs.connection;\n if (this._amqpConnection !== undefined) {\n resolve(this._amqpConnection);\n } else {\n let connectionString = '';\n if (this._tls) {\n connectionString = `${this._tlsProtocol}://${connectionParams.deviceId || connectionParams.client}:` +\n `${connectionParams.secret}@${connectionParams.host}:` +\n `${connectionParams.protocols.amqp.tlsPort}/${connectionParams.vhost.replace('/', '%2f')}`;\n connectionOpts = merge(connectionOpts, this._tlsOpts);\n } else {\n connectionString = `${this._protocol}://${connectionParams.deviceId || connectionParams.client}:` +\n `${connectionParams.secret}@${connectionParams.host}:` +\n `${connectionParams.protocols.amqp.port}/${connectionParams.vhost.replace('/', '%2f')}`;\n }\n amqp.connect(connectionString, connectionOpts).then((conn) => {\n conn.on('error', (err) => {\n reject(err);\n });\n conn.on('blocked', (reason) => {\n console.warn(reason); // eslint-disable-line no-console\n });\n conn.on('unblocked', (reason) => {\n console.warn(reason); // eslint-disable-line no-console\n });\n this._amqpConnection = conn;\n resolve(this._amqpConnection);\n }).catch((reason) => {\n reject(reason);\n });\n }\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Creates a channel on current connection\n *\n * @private\n * @param {String} channelName - indicates the channel name\n * @param {Object} opts - channel options\n * @return a promise containing the current channel\n */\n _createChannel(channelName, opts = {}) {\n channelName = `${channelName}${(opts.withConfirm === true) ? 'WithConfirm' : ''}`;\n return new Promise((resolve, reject) => {\n if (this._amqpChannels[channelName]) {\n resolve(this._amqpChannels[channelName]);\n } else {\n this.connect().then((conn) => {\n if (opts.withConfirm === true) {\n return conn.createConfirmChannel();\n } else {\n return conn.createChannel();\n }\n }).then((ch) => {\n this._amqpChannels[channelName] = ch;\n resolve(ch);\n }).catch((reason) => {\n reject(reason);\n });\n }\n });\n }\n\n /**\n * Close a channel on current connection\n *\n * @private\n * @param {String} channelName - indicates if the channel is input or output\n * @return a promise containing the result of the operation\n */\n _closeChannel(channelName, opts = {}) {\n channelName = `${channelName}${(opts.withConfirm === true) ? 'WithConfirm' : ''}`;\n return new Promise((resolve, reject) => {\n const ch = this._amqpChannels[channelName];\n if (ch === undefined) {\n reject('Invalid Channel Object');\n } else {\n ch.close().then(() => {\n this._amqpChannels[channelName] = undefined;\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n }\n });\n }\n\n /**\n * Generate the routing key for a specific channel\n *\n * @private\n * @param {String} channel - channel name on which you want to publish a message\n * @return a string that represents the routing key for that channel\n */\n _routingKeyFor(channel) {\n return `${this.deviceId()}.${channel}`;\n }\n\n /**\n * Check if the SDK have to automatically ack messages\n *\n * @private\n * @param {String} ack - the ack type, it should be 'manual' or 'auto'\n * @return boolean - true if messages have to be autoacked, false otherwise\n */\n _autoAck(ack) {\n if (ack) {\n if (!_.includes(CONFIG[this._protocol].ackTypes, ack)) {\n console.error('Wrong acknowledge type'); // eslint-disable-line no-console\n }\n switch (ack) {\n case 'auto':\n return true;\n default:\n return false;\n }\n }\n return true;\n }\n\n}\n\nexport default AmqpClient;\n"],"sourceRoot":"../src"} \ No newline at end of file +{"version":3,"sources":["protocols/amqpClient.js"],"names":["CONFIG","require","AmqpClient","opts","_amqpConnection","undefined","_amqpChannels","amqpOptions","amqp","_protocol","protocol","_tlsProtocol","tls","_inputQueueArgs","inputQueueArgs","_deviceExchangeArgs","deviceExchangeArgs","_subscribeArgs","subscribeArgs","_publishArgs","publishArgs","_connectionOpts","connectionOpts","callback","noAck","ack","Promise","resolve","reject","_createChannel","then","ch","when","all","checkQueue","deviceId","_inboxTopic","consume","message","amqpMessage","AmqpMessage","_deviceId","ackNeeded","_autoAck","blackListed","nack","allUpTo","requeue","_parseContent","content","fields","properties","res","catch","reason","channel","bufferedMessage","Buffer","_encapsulateContent","promises","checkExchange","publish","_routingKeyFor","withConfirm","push","waitForConfirms","close","emit","getEndpointConfigs","endpointConfigs","connectionParams","connection","connectionString","_tls","client","secret","host","protocols","tlsPort","vhost","replace","_tlsOpts","port","connect","conn","on","err","console","warn","channelName","createConfirmChannel","createChannel","ackTypes","error","SpaceBunny"],"mappings":"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","file":"protocols/amqpClient.js","sourcesContent":["/**\n * A module that exports an AmqpClient client\n * which inherits from the SpaceBunny base client\n * @module AmqpClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\nimport when from 'when';\nimport _ from 'lodash';\n\n// Import amqplib\nimport amqp from 'amqplib';\n\n// Import SpaceBunny main module from which AmqpClient inherits\nimport SpaceBunny from '../spacebunny';\nimport AmqpMessage from '../messages/amqpMessage';\nconst CONFIG = require('../../config/constants').CONFIG;\n\nclass AmqpClient extends SpaceBunny {\n\n /**\n * @constructor\n * @param {Object} opts - options must contain Device-Key or connection options\n * (deviceId and secret) for devices.\n */\n constructor(opts) {\n super(opts);\n this._amqpConnection = undefined;\n this._amqpChannels = {};\n const amqpOptions = CONFIG.amqp;\n this._protocol = amqpOptions.protocol;\n this._tlsProtocol = amqpOptions.tls.protocol;\n this._inputQueueArgs = amqpOptions.inputQueueArgs;\n this._deviceExchangeArgs = amqpOptions.deviceExchangeArgs;\n this._subscribeArgs = amqpOptions.subscribeArgs;\n this._publishArgs = amqpOptions.publishArgs;\n this._connectionOpts = amqpOptions.connectionOpts;\n }\n\n /**\n * Subscribe to input channel\n *\n * @param {function} callback - function called every time a message is received\n * passing the current message as argument\n * @param {Object} options - subscription options\n * @return promise containing the result of the subscription\n */\n onReceive(callback, opts) {\n opts = merge(this._subscribeArgs, opts);\n opts.noAck = (opts.ack === null);\n // Receive messages from imput queue\n return new Promise((resolve, reject) => {\n this._createChannel('input', opts).then((ch) => {\n return when.all([\n ch.checkQueue(`${this.deviceId()}.${this._inboxTopic}`, this._inputQueueArgs),\n ch.consume(`${this.deviceId()}.${this._inboxTopic}`, (message) => {\n // Create message object\n const amqpMessage = new AmqpMessage(message, this._deviceId, opts);\n const ackNeeded = this._autoAck(opts.ack);\n // Check if should be accepted or not\n if (amqpMessage.blackListed()) {\n if (ackNeeded) { ch.nack(message, opts.allUpTo, opts.requeue); }\n return;\n }\n // Call message callback\n callback(this._parseContent(amqpMessage.content), amqpMessage.fields, amqpMessage.properties);\n // Check if ACK is needed\n if (ackNeeded) { ch.ack(message, opts.allUpTo); }\n }, opts)\n ]);\n }).then((res) => {\n resolve(res);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Publish a message on a specific channel\n *\n * @param {String} channel - channel name on which you want to publish a message\n * @param {Object} message - the message payload\n * @param {Object} opts - publication options\n * @return promise containing the result of the subscription\n */\n publish(channel, message, opts = {}) {\n opts = merge(this._publishArgs, opts);\n return new Promise((resolve, reject) => {\n this._createChannel('output', opts).then((ch) => {\n const bufferedMessage = new Buffer(this._encapsulateContent(message));\n const promises = [\n ch.checkExchange(this.deviceId()),\n ch.publish(this.deviceId(), this._routingKeyFor(channel), bufferedMessage, opts)\n ];\n if (opts.withConfirm === true) {\n promises.push(ch.waitForConfirms());\n }\n return when.all(promises);\n }).then((res) => {\n resolve(res);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Destroy the connection between the amqp client and broker\n *\n * @return a promise containing the result of the operation\n */\n disconnect() {\n return new Promise((resolve, reject) => {\n if (this._amqpConnection === undefined) {\n reject('Not Connected');\n } else {\n this._amqpConnection.close().then(() => {\n this._amqpConnection = undefined;\n this._amqpChannels = {};\n this.emit('disconnect');\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n }\n });\n }\n\n /**\n * Establish an amqp connection with the broker\n * using configurations retrieved from the endpoint.\n * If the connnection already exists, returns the current connnection\n *\n * @return a promise containing current connection\n */\n connect(opts = {}) {\n let connectionOpts = merge(this._connectionOpts, opts);\n\n return new Promise((resolve, reject) => {\n this.getEndpointConfigs().then((endpointConfigs) => {\n const connectionParams = endpointConfigs.connection;\n if (this._amqpConnection !== undefined) {\n resolve(this._amqpConnection);\n } else {\n let connectionString = '';\n if (this._tls) {\n connectionString = `${this._tlsProtocol}://${connectionParams.deviceId || connectionParams.client}:` +\n `${connectionParams.secret}@${connectionParams.host}:` +\n `${connectionParams.protocols.amqp.tlsPort}/${connectionParams.vhost.replace('/', '%2f')}`;\n connectionOpts = merge(connectionOpts, this._tlsOpts);\n } else {\n connectionString = `${this._protocol}://${connectionParams.deviceId || connectionParams.client}:` +\n `${connectionParams.secret}@${connectionParams.host}:` +\n `${connectionParams.protocols.amqp.port}/${connectionParams.vhost.replace('/', '%2f')}`;\n }\n amqp.connect(connectionString, connectionOpts).then((conn) => {\n conn.on('error', (err) => {\n this.emit('error', err);\n reject(err);\n });\n conn.on('close', (err) => {\n this.emit('close', err);\n this._amqpConnection = undefined;\n });\n conn.on('blocked', (reason) => {\n this.emit('blocked', reason);\n console.warn(reason); // eslint-disable-line no-console\n });\n conn.on('unblocked', (reason) => {\n this.emit('unblocked', reason);\n console.warn(reason); // eslint-disable-line no-console\n });\n this._amqpConnection = conn;\n this.emit('connect');\n resolve(this._amqpConnection);\n }).catch((reason) => {\n reject(reason);\n });\n }\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n isConnected() {\n return (this._amqpConnection !== undefined);\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Creates a channel on current connection\n *\n * @private\n * @param {String} channelName - indicates the channel name\n * @param {Object} opts - channel options\n * @return a promise containing the current channel\n */\n _createChannel(channelName, opts = {}) {\n channelName = `${channelName}${(opts.withConfirm === true) ? 'WithConfirm' : ''}`;\n return new Promise((resolve, reject) => {\n if (this._amqpChannels[channelName]) {\n resolve(this._amqpChannels[channelName]);\n } else {\n this.connect().then((conn) => {\n if (opts.withConfirm === true) {\n return conn.createConfirmChannel();\n } else {\n return conn.createChannel();\n }\n }).then((ch) => {\n this._amqpChannels[channelName] = ch;\n resolve(ch);\n }).catch((reason) => {\n reject(reason);\n });\n }\n });\n }\n\n /**\n * Close a channel on current connection\n *\n * @private\n * @param {String} channelName - indicates if the channel is input or output\n * @return a promise containing the result of the operation\n */\n _closeChannel(channelName, opts = {}) {\n channelName = `${channelName}${(opts.withConfirm === true) ? 'WithConfirm' : ''}`;\n return new Promise((resolve, reject) => {\n const ch = this._amqpChannels[channelName];\n if (ch === undefined) {\n reject('Invalid Channel Object');\n } else {\n ch.close().then(() => {\n this._amqpChannels[channelName] = undefined;\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n }\n });\n }\n\n /**\n * Generate the routing key for a specific channel\n *\n * @private\n * @param {String} channel - channel name on which you want to publish a message\n * @return a string that represents the routing key for that channel\n */\n _routingKeyFor(channel) {\n return `${this.deviceId()}.${channel}`;\n }\n\n /**\n * Check if the SDK have to automatically ack messages\n *\n * @private\n * @param {String} ack - the ack type, it should be 'manual' or 'auto'\n * @return boolean - true if messages have to be autoacked, false otherwise\n */\n _autoAck(ack) {\n if (ack) {\n if (!_.includes(CONFIG[this._protocol].ackTypes, ack)) {\n console.error('Wrong acknowledge type'); // eslint-disable-line no-console\n }\n switch (ack) {\n case 'auto':\n return true;\n default:\n return false;\n }\n }\n return true;\n }\n\n}\n\nexport default AmqpClient;\n"],"sourceRoot":"./src"} \ No newline at end of file diff --git a/lib/protocols/amqpStreamClient.js.map b/lib/protocols/amqpStreamClient.js.map index 27e7080..d389620 100644 --- a/lib/protocols/amqpStreamClient.js.map +++ b/lib/protocols/amqpStreamClient.js.map @@ -1 +1 @@ -{"version":3,"sources":["protocols/amqpStreamClient.js"],"names":["CONFIG","require","AmqpStreamClient","opts","amqpStreamOptions","amqp","stream","_defaultStreamRoutingKey","defaultStreamRoutingKey","_streamQueueArguments","streamQueueArguments","streamHooks","promises","map","streamHook","_attachStreamHook","length","any","reject","resolve","deviceId","channel","cache","undefined","routingKey","emptyFunction","callback","currentTime","Date","getTime","_createChannel","then","ch","_amqpChannels","promisesChain","liveStreamExists","console","error","cachedStreamQueue","_cachedStreamQueue","checkQueue","consume","message","_parseContent","content","fields","properties","_subscribeArgs","streamExchange","exchangeName","_liveStreamSuffix","streamChannelQueue","tempQueue","checkExchange","assertQueue","bindQueue","channelExchangeName","catch","reason","streamName","liveStreamByName","onReceive","publish","_routingKeyFor"],"mappings":"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","file":"amqpStreamClient.js","sourcesContent":["/**\n * A module that exports an AmqpStreamClient client\n * which inherits from the Amqp base client\n * @module AmqpStreamClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\n\n// Import AmqpClient module from which AmqpStreamClient inherits\nimport AmqpClient from './amqpClient';\n\nconst CONFIG = require('../../config/constants').CONFIG;\n\nclass AmqpStreamClient extends AmqpClient {\n\n /**\n * @constructor\n * @param {Object} opts - options must contain client and secret for access keys\n */\n constructor(opts) {\n super(opts);\n const amqpStreamOptions = CONFIG.amqp.stream;\n this._defaultStreamRoutingKey = amqpStreamOptions.defaultStreamRoutingKey;\n this._streamQueueArguments = amqpStreamOptions.streamQueueArguments;\n }\n\n /**\n * Subscribe to multiple stream hooks\n *\n * @param {Array} streamHooks - Array of objects. Each objects containing\n * { deviceId: {string}, channel: {string}, callback: {func} }\n * @param {Object} options - subscription options\n * @return promise containing the result of multiple subscriptions\n */\n streamFrom(streamHooks = [], opts) {\n const promises = streamHooks.map((streamHook) => {\n return this._attachStreamHook(streamHook, opts);\n }) || [];\n if (promises.length > 0) {\n return Promise.any(promises);\n } else {\n return Promise.reject('Missing stream hooks');\n }\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Start consuming messages from a device's channel\n * It generates an auto delete queue from which consume\n * and binds it to the channel exchange\n *\n * @private\n * @param {Object} streamHook - Object containit hook info\n * { deviceId: {String}, channel: {String}, callback: {func}}\n * @param {Object} opts - connection options\n * @return a promise containing current connection\n */\n _attachStreamHook(streamHook, opts) {\n // Receive messages from imput queue\n return new Promise((resolve, reject) => {\n const deviceId = streamHook.deviceId;\n const channel = streamHook.channel;\n const stream = streamHook.stream;\n const cache = (typeof(streamHook.cache) !== 'boolean') ? true : streamHook.cache;\n if (stream === undefined && (channel === undefined || deviceId === undefined)) {\n reject('Missing Stream or Device ID and Channel');\n }\n const routingKey = streamHook.routingKey || this._defaultStreamRoutingKey;\n const emptyFunction = function () { return undefined; };\n const callback = streamHook.callback || emptyFunction;\n\n const currentTime = new Date().getTime();\n this._createChannel(`${currentTime}`).then((ch) => {\n this._amqpChannels[`${currentTime}`] = ch;\n let promisesChain = undefined;\n // if current hook is a stream\n // checks the existence of the stream queue and starts consuming\n if (stream) {\n if (!this.liveStreamExists(stream)) {\n console.error(`Stream ${stream} does not exist`); // eslint-disable-line no-console\n resolve(false);\n }\n if (cache) {\n // Cached streams are connected to the existing live stream queue\n const cachedStreamQueue = this._cachedStreamQueue(stream);\n promisesChain = this._amqpChannels[`${currentTime}`]\n .checkQueue(cachedStreamQueue, this._streamQueueArguments).then(() => {\n return this._amqpChannels[`${currentTime}`].consume(cachedStreamQueue, (message) => {\n // Call message callback\n callback(this._parseContent(message.content), message.fields, message.properties);\n }, merge(this._subscribeArgs, opts));\n });\n } else {\n // Uncached streams are connected to the stream exchange and create a temp queue\n const streamExchange = this.exchangeName(stream, this._liveStreamSuffix);\n const streamChannelQueue = this.tempQueue(stream, this._liveStreamSuffix, currentTime);\n promisesChain = this._amqpChannels[`${currentTime}`].checkExchange(streamExchange).then(() => {\n return this._amqpChannels[`${currentTime}`].assertQueue(streamChannelQueue, this._streamQueueArguments);\n }).then(() => {\n return this._amqpChannels[`${currentTime}`].bindQueue(streamChannelQueue, streamExchange, routingKey);\n }).then(() => {\n return this._amqpChannels[`${currentTime}`].consume(streamChannelQueue, (message) => {\n callback(this._parseContent(message.content), message.fields, message.properties);\n }, merge(this._subscribeArgs, opts));\n });\n }\n } else {\n // else if current hook is channel (or a couple deviceId, channel)\n // creates a temp queue, binds to channel exchange and starts consuming\n const channelExchangeName = this.exchangeName(deviceId, channel);\n const streamChannelQueue = this.tempQueue(deviceId, channel, currentTime);\n promisesChain = this._amqpChannels[`${currentTime}`].checkExchange(channelExchangeName).then(() => {\n return this._amqpChannels[`${currentTime}`].assertQueue(streamChannelQueue, this._streamQueueArguments);\n }).then(() => {\n return this._amqpChannels[`${currentTime}`].bindQueue(streamChannelQueue, channelExchangeName, routingKey);\n }).then(() => {\n return this._amqpChannels[`${currentTime}`].consume(streamChannelQueue, (message) => {\n callback(this._parseContent(message.content), message.fields, message.properties);\n }, merge(this._subscribeArgs, opts));\n });\n }\n return promisesChain;\n }).then(() => {\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Generate the exchange name for a device's channel\n *\n * @private\n * @param {String} streamName - stream name from which you want to stream\n * @return a string that represents the stream queue\n */\n _cachedStreamQueue(streamName) {\n return `${this.liveStreamByName(streamName)}.${this._liveStreamSuffix}`;\n }\n\n}\n\n// Remove unwanted methods inherited from AmqpClient\ndelete AmqpStreamClient.onReceive;\ndelete AmqpStreamClient.publish;\ndelete AmqpStreamClient._routingKeyFor;\n\nexport default AmqpStreamClient;\n"],"sourceRoot":"../src"} \ No newline at end of file +{"version":3,"sources":["protocols/amqpStreamClient.js"],"names":["CONFIG","require","AmqpStreamClient","opts","amqpStreamOptions","amqp","stream","_defaultStreamRoutingKey","defaultStreamRoutingKey","_streamQueueArguments","streamQueueArguments","streamHooks","promises","map","streamHook","_attachStreamHook","length","Promise","any","reject","resolve","deviceId","channel","cache","undefined","routingKey","emptyFunction","callback","currentTime","Date","getTime","_createChannel","then","ch","_amqpChannels","promisesChain","liveStreamExists","console","error","cachedStreamQueue","_cachedStreamQueue","checkQueue","consume","message","_parseContent","content","fields","properties","_subscribeArgs","streamExchange","exchangeName","_liveStreamSuffix","streamChannelQueue","tempQueue","checkExchange","assertQueue","bindQueue","channelExchangeName","catch","reason","streamName","liveStreamByName","AmqpClient","onReceive","publish","_routingKeyFor"],"mappings":";;;;;;;;AAOA;;;;AACA;;;;AAGA;;;;;;;;;;+eAXA;;;;;;AAMA;;;AAIA;;;AAGA,IAAMA,SAASC,QAAQ,wBAAR,EAAkCD,MAAjD;;IAEME,gB;;;AAEJ;;;;AAIA,4BAAYC,IAAZ,EAAkB;AAAA;;AAAA,oIACVA,IADU;;AAEhB,QAAMC,oBAAoBJ,OAAOK,IAAP,CAAYC,MAAtC;AACA,UAAKC,wBAAL,GAAgCH,kBAAkBI,uBAAlD;AACA,UAAKC,qBAAL,GAA6BL,kBAAkBM,oBAA/C;AAJgB;AAKjB;;AAED;;;;;;;;;;;;iCAQmC;AAAA;;AAAA,UAAxBC,WAAwB,uEAAV,EAAU;AAAA,UAANR,IAAM;;AACjC,UAAMS,WAAWD,YAAYE,GAAZ,CAAgB,UAACC,UAAD,EAAgB;AAC/C,eAAO,OAAKC,iBAAL,CAAuBD,UAAvB,EAAmCX,IAAnC,CAAP;AACD,OAFgB,KAEX,EAFN;AAGA,UAAIS,SAASI,MAAT,GAAkB,CAAtB,EAAyB;AACvB,eAAOC,mBAAQC,GAAR,CAAYN,QAAZ,CAAP;AACD,OAFD,MAEO;AACL,eAAOK,mBAAQE,MAAR,CAAe,sBAAf,CAAP;AACD;AACF;;AAED;;AAEA;;;;;;;;;;;;;;sCAWkBL,U,EAAYX,I,EAAM;AAAA;;AAClC;AACA,aAAO,IAAIc,kBAAJ,CAAY,UAACG,OAAD,EAAUD,MAAV,EAAqB;AACtC,YAAME,WAAWP,WAAWO,QAA5B;AACA,YAAMC,UAAUR,WAAWQ,OAA3B;AACA,YAAMhB,SAASQ,WAAWR,MAA1B;AACA,YAAMiB,QAAS,OAAOT,WAAWS,KAAlB,KAA6B,SAA9B,GAA2C,IAA3C,GAAkDT,WAAWS,KAA3E;AACA,YAAIjB,WAAWkB,SAAX,KAAyBF,YAAYE,SAAZ,IAAyBH,aAAaG,SAA/D,CAAJ,EAA+E;AAC7EL,iBAAO,yCAAP;AACD;AACD,YAAMM,aAAaX,WAAWW,UAAX,IAAyB,OAAKlB,wBAAjD;AACA,YAAMmB,gBAAgB,SAAhBA,aAAgB,GAAY;AAAE,iBAAOF,SAAP;AAAmB,SAAvD;AACA,YAAMG,WAAWb,WAAWa,QAAX,IAAuBD,aAAxC;;AAEA,YAAME,cAAc,IAAIC,IAAJ,GAAWC,OAAX,EAApB;AACA,eAAKC,cAAL,MAAuBH,WAAvB,EAAsCI,IAAtC,CAA2C,UAACC,EAAD,EAAQ;AACjD,iBAAKC,aAAL,MAAsBN,WAAtB,IAAuCK,EAAvC;AACA,cAAIE,gBAAgBX,SAApB;AACA;AACA;AACA,cAAIlB,MAAJ,EAAY;AACV,gBAAI,CAAC,OAAK8B,gBAAL,CAAsB9B,MAAtB,CAAL,EAAoC;AAClC+B,sBAAQC,KAAR,aAAwBhC,MAAxB,sBADkC,CACgB;AAClDc,sBAAQ,KAAR;AACD;AACD,gBAAIG,KAAJ,EAAW;AACT;AACA,kBAAMgB,oBAAoB,OAAKC,kBAAL,CAAwBlC,MAAxB,CAA1B;AACA6B,8BAAgB,OAAKD,aAAL,MAAsBN,WAAtB,EACba,UADa,CACFF,iBADE,EACiB,OAAK9B,qBADtB,EAC6CuB,IAD7C,CACkD,YAAM;AACpE,uBAAO,OAAKE,aAAL,MAAsBN,WAAtB,EAAqCc,OAArC,CAA6CH,iBAA7C,EAAgE,UAACI,OAAD,EAAa;AAClF;AACAhB,2BAAS,OAAKiB,aAAL,CAAmBD,QAAQE,OAA3B,CAAT,EAA8CF,QAAQG,MAAtD,EAA8DH,QAAQI,UAAtE;AACD,iBAHM,EAGJ,qBAAM,OAAKC,cAAX,EAA2B7C,IAA3B,CAHI,CAAP;AAID,eANa,CAAhB;AAOD,aAVD,MAUO;AACL;AACA,kBAAM8C,iBAAiB,OAAKC,YAAL,CAAkB5C,MAAlB,EAA0B,OAAK6C,iBAA/B,CAAvB;AACA,kBAAMC,qBAAqB,OAAKC,SAAL,CAAe/C,MAAf,EAAuB,OAAK6C,iBAA5B,EAA+CvB,WAA/C,CAA3B;AACAO,8BAAgB,OAAKD,aAAL,MAAsBN,WAAtB,EAAqC0B,aAArC,CAAmDL,cAAnD,EAAmEjB,IAAnE,CAAwE,YAAM;AAC5F,uBAAO,OAAKE,aAAL,MAAsBN,WAAtB,EAAqC2B,WAArC,CAAiDH,kBAAjD,EAAqE,OAAK3C,qBAA1E,CAAP;AACD,eAFe,EAEbuB,IAFa,CAER,YAAM;AACZ,uBAAO,OAAKE,aAAL,MAAsBN,WAAtB,EAAqC4B,SAArC,CAA+CJ,kBAA/C,EAAmEH,cAAnE,EAAmFxB,UAAnF,CAAP;AACD,eAJe,EAIbO,IAJa,CAIR,YAAM;AACZ,uBAAO,OAAKE,aAAL,MAAsBN,WAAtB,EAAqCc,OAArC,CAA6CU,kBAA7C,EAAiE,UAACT,OAAD,EAAa;AACnFhB,2BAAS,OAAKiB,aAAL,CAAmBD,QAAQE,OAA3B,CAAT,EAA8CF,QAAQG,MAAtD,EAA8DH,QAAQI,UAAtE;AACD,iBAFM,EAEJ,qBAAM,OAAKC,cAAX,EAA2B7C,IAA3B,CAFI,CAAP;AAGD,eARe,CAAhB;AASD;AACF,WA7BD,MA6BO;AACL;AACA;AACA,gBAAMsD,sBAAsB,OAAKP,YAAL,CAAkB7B,QAAlB,EAA4BC,OAA5B,CAA5B;AACA,gBAAM8B,sBAAqB,OAAKC,SAAL,CAAehC,QAAf,EAAyBC,OAAzB,EAAkCM,WAAlC,CAA3B;AACAO,4BAAgB,OAAKD,aAAL,MAAsBN,WAAtB,EAAqC0B,aAArC,CAAmDG,mBAAnD,EAAwEzB,IAAxE,CAA6E,YAAM;AACjG,qBAAO,OAAKE,aAAL,MAAsBN,WAAtB,EAAqC2B,WAArC,CAAiDH,mBAAjD,EAAqE,OAAK3C,qBAA1E,CAAP;AACD,aAFe,EAEbuB,IAFa,CAER,YAAM;AACZ,qBAAO,OAAKE,aAAL,MAAsBN,WAAtB,EAAqC4B,SAArC,CAA+CJ,mBAA/C,EAAmEK,mBAAnE,EAAwFhC,UAAxF,CAAP;AACD,aAJe,EAIbO,IAJa,CAIR,YAAM;AACZ,qBAAO,OAAKE,aAAL,MAAsBN,WAAtB,EAAqCc,OAArC,CAA6CU,mBAA7C,EAAiE,UAACT,OAAD,EAAa;AACnFhB,yBAAS,OAAKiB,aAAL,CAAmBD,QAAQE,OAA3B,CAAT,EAA8CF,QAAQG,MAAtD,EAA8DH,QAAQI,UAAtE;AACD,eAFM,EAEJ,qBAAM,OAAKC,cAAX,EAA2B7C,IAA3B,CAFI,CAAP;AAGD,aARe,CAAhB;AASD;AACD,iBAAOgC,aAAP;AACD,SAlDD,EAkDGH,IAlDH,CAkDQ,YAAM;AACZZ,kBAAQ,IAAR;AACD,SApDD,EAoDGsC,KApDH,CAoDS,UAACC,MAAD,EAAY;AACnBxC,iBAAOwC,MAAP;AACD,SAtDD;AAuDD,OApEM,CAAP;AAqED;;AAED;;;;;;;;;;uCAOmBC,U,EAAY;AAC7B,aAAU,KAAKC,gBAAL,CAAsBD,UAAtB,CAAV,SAA+C,KAAKT,iBAApD;AACD;;;;EA/H4BW,oB;;AAmI/B;;;AACA,OAAO5D,iBAAiB6D,SAAxB;AACA,OAAO7D,iBAAiB8D,OAAxB;AACA,OAAO9D,iBAAiB+D,cAAxB;;kBAEe/D,gB","file":"protocols/amqpStreamClient.js","sourcesContent":["/**\n * A module that exports an AmqpStreamClient client\n * which inherits from the Amqp base client\n * @module AmqpStreamClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\n\n// Import AmqpClient module from which AmqpStreamClient inherits\nimport AmqpClient from './amqpClient';\n\nconst CONFIG = require('../../config/constants').CONFIG;\n\nclass AmqpStreamClient extends AmqpClient {\n\n /**\n * @constructor\n * @param {Object} opts - options must contain client and secret for access keys\n */\n constructor(opts) {\n super(opts);\n const amqpStreamOptions = CONFIG.amqp.stream;\n this._defaultStreamRoutingKey = amqpStreamOptions.defaultStreamRoutingKey;\n this._streamQueueArguments = amqpStreamOptions.streamQueueArguments;\n }\n\n /**\n * Subscribe to multiple stream hooks\n *\n * @param {Array} streamHooks - Array of objects. Each objects containing\n * { deviceId: {string}, channel: {string}, callback: {func} }\n * @param {Object} options - subscription options\n * @return promise containing the result of multiple subscriptions\n */\n streamFrom(streamHooks = [], opts) {\n const promises = streamHooks.map((streamHook) => {\n return this._attachStreamHook(streamHook, opts);\n }) || [];\n if (promises.length > 0) {\n return Promise.any(promises);\n } else {\n return Promise.reject('Missing stream hooks');\n }\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Start consuming messages from a device's channel\n * It generates an auto delete queue from which consume\n * and binds it to the channel exchange\n *\n * @private\n * @param {Object} streamHook - Object containit hook info\n * { deviceId: {String}, channel: {String}, callback: {func}}\n * @param {Object} opts - connection options\n * @return a promise containing current connection\n */\n _attachStreamHook(streamHook, opts) {\n // Receive messages from imput queue\n return new Promise((resolve, reject) => {\n const deviceId = streamHook.deviceId;\n const channel = streamHook.channel;\n const stream = streamHook.stream;\n const cache = (typeof(streamHook.cache) !== 'boolean') ? true : streamHook.cache;\n if (stream === undefined && (channel === undefined || deviceId === undefined)) {\n reject('Missing Stream or Device ID and Channel');\n }\n const routingKey = streamHook.routingKey || this._defaultStreamRoutingKey;\n const emptyFunction = function () { return undefined; };\n const callback = streamHook.callback || emptyFunction;\n\n const currentTime = new Date().getTime();\n this._createChannel(`${currentTime}`).then((ch) => {\n this._amqpChannels[`${currentTime}`] = ch;\n let promisesChain = undefined;\n // if current hook is a stream\n // checks the existence of the stream queue and starts consuming\n if (stream) {\n if (!this.liveStreamExists(stream)) {\n console.error(`Stream ${stream} does not exist`); // eslint-disable-line no-console\n resolve(false);\n }\n if (cache) {\n // Cached streams are connected to the existing live stream queue\n const cachedStreamQueue = this._cachedStreamQueue(stream);\n promisesChain = this._amqpChannels[`${currentTime}`]\n .checkQueue(cachedStreamQueue, this._streamQueueArguments).then(() => {\n return this._amqpChannels[`${currentTime}`].consume(cachedStreamQueue, (message) => {\n // Call message callback\n callback(this._parseContent(message.content), message.fields, message.properties);\n }, merge(this._subscribeArgs, opts));\n });\n } else {\n // Uncached streams are connected to the stream exchange and create a temp queue\n const streamExchange = this.exchangeName(stream, this._liveStreamSuffix);\n const streamChannelQueue = this.tempQueue(stream, this._liveStreamSuffix, currentTime);\n promisesChain = this._amqpChannels[`${currentTime}`].checkExchange(streamExchange).then(() => {\n return this._amqpChannels[`${currentTime}`].assertQueue(streamChannelQueue, this._streamQueueArguments);\n }).then(() => {\n return this._amqpChannels[`${currentTime}`].bindQueue(streamChannelQueue, streamExchange, routingKey);\n }).then(() => {\n return this._amqpChannels[`${currentTime}`].consume(streamChannelQueue, (message) => {\n callback(this._parseContent(message.content), message.fields, message.properties);\n }, merge(this._subscribeArgs, opts));\n });\n }\n } else {\n // else if current hook is channel (or a couple deviceId, channel)\n // creates a temp queue, binds to channel exchange and starts consuming\n const channelExchangeName = this.exchangeName(deviceId, channel);\n const streamChannelQueue = this.tempQueue(deviceId, channel, currentTime);\n promisesChain = this._amqpChannels[`${currentTime}`].checkExchange(channelExchangeName).then(() => {\n return this._amqpChannels[`${currentTime}`].assertQueue(streamChannelQueue, this._streamQueueArguments);\n }).then(() => {\n return this._amqpChannels[`${currentTime}`].bindQueue(streamChannelQueue, channelExchangeName, routingKey);\n }).then(() => {\n return this._amqpChannels[`${currentTime}`].consume(streamChannelQueue, (message) => {\n callback(this._parseContent(message.content), message.fields, message.properties);\n }, merge(this._subscribeArgs, opts));\n });\n }\n return promisesChain;\n }).then(() => {\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Generate the exchange name for a device's channel\n *\n * @private\n * @param {String} streamName - stream name from which you want to stream\n * @return a string that represents the stream queue\n */\n _cachedStreamQueue(streamName) {\n return `${this.liveStreamByName(streamName)}.${this._liveStreamSuffix}`;\n }\n\n}\n\n// Remove unwanted methods inherited from AmqpClient\ndelete AmqpStreamClient.onReceive;\ndelete AmqpStreamClient.publish;\ndelete AmqpStreamClient._routingKeyFor;\n\nexport default AmqpStreamClient;\n"],"sourceRoot":"./src"} \ No newline at end of file diff --git a/lib/protocols/mqttClient.js b/lib/protocols/mqttClient.js index 3208cc3..1582260 100644 --- a/lib/protocols/mqttClient.js +++ b/lib/protocols/mqttClient.js @@ -193,6 +193,7 @@ var MqttClient = function (_SpaceBunny) { var _closeConnection = function _closeConnection() { _this5._mqttConnection.end(true, function () { _this5._mqttConnection = undefined; + _this5.emit('disconnect'); resolve(true); }); }; @@ -248,12 +249,16 @@ var MqttClient = function (_SpaceBunny) { } var client = _mqtt2.default.connect(mqttConnectionParams); client.on('error', function (reason) { + _this6.emit('error', reason); reject(reason); }); client.on('close', function (reason) { reject(reason); + _this6.emit('close', reason); + _this6._mqttConnection = undefined; }); _this6._mqttConnection = client; + _this6.emit('connect'); resolve(_this6._mqttConnection); } catch (reason) { reject(reason); @@ -264,6 +269,11 @@ var MqttClient = function (_SpaceBunny) { }); }); } + }, { + key: 'isConnected', + value: function isConnected() { + return this._mqttConnection !== undefined; + } // ------------ PRIVATE METHODS ------------------- diff --git a/lib/protocols/mqttClient.js.map b/lib/protocols/mqttClient.js.map index 153e646..0c0dc28 100644 --- a/lib/protocols/mqttClient.js.map +++ b/lib/protocols/mqttClient.js.map @@ -1 +1 @@ -{"version":3,"sources":["protocols/mqttClient.js"],"names":["CONFIG","require","MqttClient","opts","_topics","_mqttConnection","undefined","_subscription","mqttOptions","mqtt","_protocol","protocol","_tlsOpts","tls","rejectUnauthorized","_connectionOpts","connection","_connectionTimeout","timeout","callback","resolve","reject","connect","then","client","_topicFor","_inboxTopic","qos","subscribe","err","on","topic","message","_parseContent","catch","reason","channel","_sendMessage","bufferedMessage","Buffer","_encapsulateContent","publish","connected","topics","unsubscribe","Object","keys","_closeConnection","end","getEndpointConfigs","endpointConfigs","connectionParams","mqttConnectionParams","host","port","_tls","protocols","tlsPort","username","vhost","deviceId","password","secret","clientId","connectionTimeout"],"mappings":"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","file":"mqttClient.js","sourcesContent":["/**\n * A module that exports an MqttClient client\n * which inherits from the SpaceBunny base client\n * @module MqttClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\nimport _ from 'lodash';\n\n// Import mqtt library\nimport mqtt from 'mqtt';\n\n// Import SpaceBunny main module from which MqttClient inherits\nimport SpaceBunny from '../spacebunny';\n\nconst CONFIG = require('../../config/constants').CONFIG;\n\nclass MqttClient extends SpaceBunny {\n\n /**\n * @constructor\n * @param {Object} opts - options must contain Device-Key or connection options\n * (deviceId and secret) for devices.\n */\n constructor(opts) {\n super(opts);\n this._topics = {};\n this._mqttConnection = undefined;\n this._subscription = undefined;\n const mqttOptions = CONFIG.mqtt;\n this._protocol = mqttOptions.protocol;\n this._tlsOpts.protocol = mqttOptions.tls.protocol;\n this._tlsOpts.rejectUnauthorized = mqttOptions.tls.rejectUnauthorized;\n this._connectionOpts = mqttOptions.connection.opts;\n this._connectionTimeout = mqttOptions.connection.timeout;\n }\n\n /**\n * Subscribe to input channel\n *\n * @param {function} callback - function called every time a message is received\n * passing the current message as argument\n * @param {Object} options - subscription options\n * @return promise containing the result of the subscription\n */\n onReceive(callback, opts) {\n opts = merge({}, opts);\n // subscribe for input messages\n return new Promise((resolve, reject) => {\n this.connect().then((client) => {\n this._topics[this._topicFor(this._inboxTopic)] = opts.qos || this._connectionOpts.qos;\n client.subscribe(this._topics, merge(this._connectionOpts, opts), (err) => {\n if (err) {\n reject(false);\n } else {\n client.on('message', (topic, message) => {\n // TODO filterMine and filterWeb\n callback(topic, this._parseContent(message));\n });\n resolve(true);\n }\n });\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Publish a message on a specific channel\n *\n * @param {String} channel - channel name on which you want to publish a message\n * @param {Object/String} message - the message payload\n * @param {Object} opts - publication options\n * @return a promise containing the result of the operation\n */\n publish(channel, message, opts) {\n // Publish message\n return new Promise((resolve, reject) => {\n this.connect().then((client) => {\n const _sendMessage = () => {\n const bufferedMessage = new Buffer(this._encapsulateContent(message));\n client.publish(this._topicFor(channel), bufferedMessage, merge(this._connectionOpts, opts), () => {\n resolve(true);\n });\n };\n if (!client.connected) {\n client.on('connect', () => { _sendMessage(); });\n } else {\n _sendMessage();\n }\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Unsubscribe client from a list of topics\n *\n * @param {Object} topics - list of topics { topic: qos, ... }\n * e.g. { topic_1: 1, topic_2: 0 }\n * @return a promise containing the result of the operation\n */\n unsubscribe(topics) {\n return new Promise((resolve, reject) => {\n try {\n if (_.isEmpty(topics)) {\n resolve(true);\n } else {\n this._mqttConnection.unsubscribe(Object.keys(topics), () => {\n resolve(true);\n });\n }\n } catch (reason) {\n reject(reason);\n }\n });\n }\n\n /**\n * Destroy the connection between the mqtt client and broker\n *\n * @return a promise containing the result of the operation\n */\n disconnect() {\n return new Promise((resolve, reject) => {\n if (this._mqttConnection === undefined) {\n reject('Invalid connection');\n } else {\n const _closeConnection = () => {\n this._mqttConnection.end(true, () => {\n this._mqttConnection = undefined;\n resolve(true);\n });\n };\n try {\n if (_.isEmpty(this._topics)) {\n _closeConnection();\n } else {\n this._mqttConnection.unsubscribe(Object.keys(this._topics), () => {\n _closeConnection();\n });\n }\n } catch (reason) {\n reject(reason);\n }\n }\n });\n }\n\n /**\n * Establish an mqtt connection with the broker.\n * If a connection already exists, returns the current connection\n *\n * @param {Object} opts - connection options\n * @return a promise containing current connection\n */\n connect(opts = {}) {\n opts = merge(this._connectionOpts, opts);\n\n return new Promise((resolve, reject) => {\n this.getEndpointConfigs().then((endpointConfigs) => {\n const connectionParams = endpointConfigs.connection;\n if (this._mqttConnection !== undefined) {\n resolve(this._mqttConnection);\n } else {\n try {\n let mqttConnectionParams = {\n host: connectionParams.host,\n port: (this._tls) ? connectionParams.protocols.mqtt.tlsPort : connectionParams.protocols.mqtt.port,\n username: `${connectionParams.vhost}:${connectionParams.deviceId || connectionParams.client}`,\n password: connectionParams.secret,\n clientId: connectionParams.deviceId || connectionParams.client,\n connectionTimeout: opts.connectionTimeout || this._connectionTimeout\n };\n if (this._tls) {\n mqttConnectionParams = merge(mqttConnectionParams, this._tlsOpts);\n }\n const client = mqtt.connect(mqttConnectionParams);\n client.on('error', (reason) => {\n reject(reason);\n });\n client.on('close', (reason) => {\n reject(reason);\n });\n this._mqttConnection = client;\n resolve(this._mqttConnection);\n } catch (reason) {\n reject(reason);\n }\n }\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Generate the topic for a specific channel\n *\n * @private\n * @param {String} channel - channel name on which you want to publish a message\n * @return a string that represents the topic name for that channel\n */\n _topicFor(channel) {\n return `${this.deviceId()}/${channel}`;\n }\n}\n\nexport default MqttClient;\n"],"sourceRoot":"../src"} \ No newline at end of file +{"version":3,"sources":["protocols/mqttClient.js"],"names":["CONFIG","require","MqttClient","opts","_topics","_mqttConnection","undefined","_subscription","mqttOptions","mqtt","_protocol","protocol","_tlsOpts","tls","rejectUnauthorized","_connectionOpts","connection","_connectionTimeout","timeout","callback","Promise","resolve","reject","connect","then","client","_topicFor","_inboxTopic","qos","subscribe","err","on","topic","message","_parseContent","catch","reason","channel","_sendMessage","bufferedMessage","Buffer","_encapsulateContent","publish","connected","topics","unsubscribe","Object","keys","_closeConnection","end","emit","getEndpointConfigs","endpointConfigs","connectionParams","mqttConnectionParams","host","port","_tls","protocols","tlsPort","username","vhost","deviceId","password","secret","clientId","connectionTimeout","SpaceBunny"],"mappings":";;;;;;;;;;;;AAOA;;;;AACA;;;;AAIA;;;;AAGA;;;;;;;;;;+eAfA;;;;;;AAMA;;;AAKA;;;AAGA;;;AAGA,IAAMA,SAASC,QAAQ,wBAAR,EAAkCD,MAAjD;;IAEME,U;;;AAEJ;;;;;AAKA,sBAAYC,IAAZ,EAAkB;AAAA;;AAAA,wHACVA,IADU;;AAEhB,UAAKC,OAAL,GAAe,EAAf;AACA,UAAKC,eAAL,GAAuBC,SAAvB;AACA,UAAKC,aAAL,GAAqBD,SAArB;AACA,QAAME,cAAcR,OAAOS,IAA3B;AACA,UAAKC,SAAL,GAAiBF,YAAYG,QAA7B;AACA,UAAKC,QAAL,CAAcD,QAAd,GAAyBH,YAAYK,GAAZ,CAAgBF,QAAzC;AACA,UAAKC,QAAL,CAAcE,kBAAd,GAAmCN,YAAYK,GAAZ,CAAgBC,kBAAnD;AACA,UAAKC,eAAL,GAAuBP,YAAYQ,UAAZ,CAAuBb,IAA9C;AACA,UAAKc,kBAAL,GAA0BT,YAAYQ,UAAZ,CAAuBE,OAAjD;AAVgB;AAWjB;;AAED;;;;;;;;;;;;8BAQUC,Q,EAAUhB,I,EAAM;AAAA;;AACxBA,aAAO,qBAAM,EAAN,EAAUA,IAAV,CAAP;AACA;AACA,aAAO,IAAIiB,kBAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,eAAKC,OAAL,GAAeC,IAAf,CAAoB,UAACC,MAAD,EAAY;AAC9B,iBAAKrB,OAAL,CAAa,OAAKsB,SAAL,CAAe,OAAKC,WAApB,CAAb,IAAiDxB,KAAKyB,GAAL,IAAY,OAAKb,eAAL,CAAqBa,GAAlF;AACAH,iBAAOI,SAAP,CAAiB,OAAKzB,OAAtB,EAA+B,qBAAM,OAAKW,eAAX,EAA4BZ,IAA5B,CAA/B,EAAkE,UAAC2B,GAAD,EAAS;AACzE,gBAAIA,GAAJ,EAAS;AACPR,qBAAO,KAAP;AACD,aAFD,MAEO;AACLG,qBAAOM,EAAP,CAAU,SAAV,EAAqB,UAACC,KAAD,EAAQC,OAAR,EAAoB;AACvC;AACAd,yBAASa,KAAT,EAAgB,OAAKE,aAAL,CAAmBD,OAAnB,CAAhB;AACD,eAHD;AAIAZ,sBAAQ,IAAR;AACD;AACF,WAVD;AAWD,SAbD,EAaGc,KAbH,CAaS,UAACC,MAAD,EAAY;AACnBd,iBAAOc,MAAP;AACD,SAfD;AAgBD,OAjBM,CAAP;AAkBD;;AAED;;;;;;;;;;;4BAQQC,O,EAASJ,O,EAAS9B,I,EAAM;AAAA;;AAC9B;AACA,aAAO,IAAIiB,kBAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,eAAKC,OAAL,GAAeC,IAAf,CAAoB,UAACC,MAAD,EAAY;AAC9B,cAAMa,eAAe,SAAfA,YAAe,GAAM;AACzB,gBAAMC,kBAAkB,IAAIC,MAAJ,CAAW,OAAKC,mBAAL,CAAyBR,OAAzB,CAAX,CAAxB;AACAR,mBAAOiB,OAAP,CAAe,OAAKhB,SAAL,CAAeW,OAAf,CAAf,EAAwCE,eAAxC,EAAyD,qBAAM,OAAKxB,eAAX,EAA4BZ,IAA5B,CAAzD,EAA4F,YAAM;AAChGkB,sBAAQ,IAAR;AACD,aAFD;AAGD,WALD;AAMA,cAAI,CAACI,OAAOkB,SAAZ,EAAuB;AACrBlB,mBAAOM,EAAP,CAAU,SAAV,EAAqB,YAAM;AAAEO;AAAiB,aAA9C;AACD,WAFD,MAEO;AACLA;AACD;AACF,SAZD,EAYGH,KAZH,CAYS,UAACC,MAAD,EAAY;AACnBd,iBAAOc,MAAP;AACD,SAdD;AAeD,OAhBM,CAAP;AAiBD;;AAED;;;;;;;;;;gCAOYQ,M,EAAQ;AAAA;;AAClB,aAAO,IAAIxB,kBAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,YAAI;AACF,cAAI,uBAAUsB,MAAV,CAAJ,EAAuB;AACrBvB,oBAAQ,IAAR;AACD,WAFD,MAEO;AACL,mBAAKhB,eAAL,CAAqBwC,WAArB,CAAiCC,OAAOC,IAAP,CAAYH,MAAZ,CAAjC,EAAsD,YAAM;AAC1DvB,sBAAQ,IAAR;AACD,aAFD;AAGD;AACF,SARD,CAQE,OAAOe,MAAP,EAAe;AACfd,iBAAOc,MAAP;AACD;AACF,OAZM,CAAP;AAaD;;AAED;;;;;;;;iCAKa;AAAA;;AACX,aAAO,IAAIhB,kBAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,YAAI,OAAKjB,eAAL,KAAyBC,SAA7B,EAAwC;AACtCgB,iBAAO,oBAAP;AACD,SAFD,MAEO;AACL,cAAM0B,mBAAmB,SAAnBA,gBAAmB,GAAM;AAC7B,mBAAK3C,eAAL,CAAqB4C,GAArB,CAAyB,IAAzB,EAA+B,YAAM;AACnC,qBAAK5C,eAAL,GAAuBC,SAAvB;AACA,qBAAK4C,IAAL,CAAU,YAAV;AACA7B,sBAAQ,IAAR;AACD,aAJD;AAKD,WAND;AAOA,cAAI;AACF,gBAAI,uBAAU,OAAKjB,OAAf,CAAJ,EAA6B;AAC3B4C;AACD,aAFD,MAEO;AACL,qBAAK3C,eAAL,CAAqBwC,WAArB,CAAiCC,OAAOC,IAAP,CAAY,OAAK3C,OAAjB,CAAjC,EAA4D,YAAM;AAChE4C;AACD,eAFD;AAGD;AACF,WARD,CAQE,OAAOZ,MAAP,EAAe;AACfd,mBAAOc,MAAP;AACD;AACF;AACF,OAvBM,CAAP;AAwBD;;AAED;;;;;;;;;;8BAOmB;AAAA;;AAAA,UAAXjC,IAAW,uEAAJ,EAAI;;AACjBA,aAAO,qBAAM,KAAKY,eAAX,EAA4BZ,IAA5B,CAAP;;AAEA,aAAO,IAAIiB,kBAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,eAAK6B,kBAAL,GAA0B3B,IAA1B,CAA+B,UAAC4B,eAAD,EAAqB;AAClD,cAAMC,mBAAmBD,gBAAgBpC,UAAzC;AACA,cAAI,OAAKX,eAAL,KAAyBC,SAA7B,EAAwC;AACtCe,oBAAQ,OAAKhB,eAAb;AACD,WAFD,MAEO;AACL,gBAAI;AACF,kBAAIiD,uBAAuB;AACzBC,sBAAMF,iBAAiBE,IADE;AAEzBC,sBAAO,OAAKC,IAAN,GAAcJ,iBAAiBK,SAAjB,CAA2BjD,IAA3B,CAAgCkD,OAA9C,GAAwDN,iBAAiBK,SAAjB,CAA2BjD,IAA3B,CAAgC+C,IAFrE;AAGzBI,0BAAaP,iBAAiBQ,KAA9B,UAAuCR,iBAAiBS,QAAjB,IAA6BT,iBAAiB5B,MAArF,CAHyB;AAIzBsC,0BAAUV,iBAAiBW,MAJF;AAKzBC,0BAAUZ,iBAAiBS,QAAjB,IAA6BT,iBAAiB5B,MAL/B;AAMzByC,mCAAmB/D,KAAK+D,iBAAL,IAA0B,OAAKjD;AANzB,eAA3B;AAQA,kBAAI,OAAKwC,IAAT,EAAe;AACbH,uCAAuB,qBAAMA,oBAAN,EAA4B,OAAK1C,QAAjC,CAAvB;AACD;AACD,kBAAMa,SAAShB,eAAKc,OAAL,CAAa+B,oBAAb,CAAf;AACA7B,qBAAOM,EAAP,CAAU,OAAV,EAAmB,UAACK,MAAD,EAAY;AAC7B,uBAAKc,IAAL,CAAU,OAAV,EAAmBd,MAAnB;AACAd,uBAAOc,MAAP;AACD,eAHD;AAIAX,qBAAOM,EAAP,CAAU,OAAV,EAAmB,UAACK,MAAD,EAAY;AAC7Bd,uBAAOc,MAAP;AACA,uBAAKc,IAAL,CAAU,OAAV,EAAmBd,MAAnB;AACA,uBAAK/B,eAAL,GAAuBC,SAAvB;AACD,eAJD;AAKA,qBAAKD,eAAL,GAAuBoB,MAAvB;AACA,qBAAKyB,IAAL,CAAU,SAAV;AACA7B,sBAAQ,OAAKhB,eAAb;AACD,aAzBD,CAyBE,OAAO+B,MAAP,EAAe;AACfd,qBAAOc,MAAP;AACD;AACF;AACF,SAlCD,EAkCGD,KAlCH,CAkCS,UAACC,MAAD,EAAY;AACnBd,iBAAOc,MAAP;AACD,SApCD;AAqCD,OAtCM,CAAP;AAuCD;;;kCAEa;AACZ,aAAQ,KAAK/B,eAAL,KAAyBC,SAAjC;AACD;;AAED;;AAEA;;;;;;;;;;8BAOU+B,O,EAAS;AACjB,aAAU,KAAKyB,QAAL,EAAV,SAA6BzB,OAA7B;AACD;;;;EAzMsB8B,oB;;kBA4MVjE,U","file":"protocols/mqttClient.js","sourcesContent":["/**\n * A module that exports an MqttClient client\n * which inherits from the SpaceBunny base client\n * @module MqttClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\nimport _ from 'lodash';\n\n// Import mqtt library\nimport mqtt from 'mqtt';\n\n// Import SpaceBunny main module from which MqttClient inherits\nimport SpaceBunny from '../spacebunny';\n\nconst CONFIG = require('../../config/constants').CONFIG;\n\nclass MqttClient extends SpaceBunny {\n\n /**\n * @constructor\n * @param {Object} opts - options must contain Device-Key or connection options\n * (deviceId and secret) for devices.\n */\n constructor(opts) {\n super(opts);\n this._topics = {};\n this._mqttConnection = undefined;\n this._subscription = undefined;\n const mqttOptions = CONFIG.mqtt;\n this._protocol = mqttOptions.protocol;\n this._tlsOpts.protocol = mqttOptions.tls.protocol;\n this._tlsOpts.rejectUnauthorized = mqttOptions.tls.rejectUnauthorized;\n this._connectionOpts = mqttOptions.connection.opts;\n this._connectionTimeout = mqttOptions.connection.timeout;\n }\n\n /**\n * Subscribe to input channel\n *\n * @param {function} callback - function called every time a message is received\n * passing the current message as argument\n * @param {Object} options - subscription options\n * @return promise containing the result of the subscription\n */\n onReceive(callback, opts) {\n opts = merge({}, opts);\n // subscribe for input messages\n return new Promise((resolve, reject) => {\n this.connect().then((client) => {\n this._topics[this._topicFor(this._inboxTopic)] = opts.qos || this._connectionOpts.qos;\n client.subscribe(this._topics, merge(this._connectionOpts, opts), (err) => {\n if (err) {\n reject(false);\n } else {\n client.on('message', (topic, message) => {\n // TODO filterMine and filterWeb\n callback(topic, this._parseContent(message));\n });\n resolve(true);\n }\n });\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Publish a message on a specific channel\n *\n * @param {String} channel - channel name on which you want to publish a message\n * @param {Object/String} message - the message payload\n * @param {Object} opts - publication options\n * @return a promise containing the result of the operation\n */\n publish(channel, message, opts) {\n // Publish message\n return new Promise((resolve, reject) => {\n this.connect().then((client) => {\n const _sendMessage = () => {\n const bufferedMessage = new Buffer(this._encapsulateContent(message));\n client.publish(this._topicFor(channel), bufferedMessage, merge(this._connectionOpts, opts), () => {\n resolve(true);\n });\n };\n if (!client.connected) {\n client.on('connect', () => { _sendMessage(); });\n } else {\n _sendMessage();\n }\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Unsubscribe client from a list of topics\n *\n * @param {Object} topics - list of topics { topic: qos, ... }\n * e.g. { topic_1: 1, topic_2: 0 }\n * @return a promise containing the result of the operation\n */\n unsubscribe(topics) {\n return new Promise((resolve, reject) => {\n try {\n if (_.isEmpty(topics)) {\n resolve(true);\n } else {\n this._mqttConnection.unsubscribe(Object.keys(topics), () => {\n resolve(true);\n });\n }\n } catch (reason) {\n reject(reason);\n }\n });\n }\n\n /**\n * Destroy the connection between the mqtt client and broker\n *\n * @return a promise containing the result of the operation\n */\n disconnect() {\n return new Promise((resolve, reject) => {\n if (this._mqttConnection === undefined) {\n reject('Invalid connection');\n } else {\n const _closeConnection = () => {\n this._mqttConnection.end(true, () => {\n this._mqttConnection = undefined;\n this.emit('disconnect');\n resolve(true);\n });\n };\n try {\n if (_.isEmpty(this._topics)) {\n _closeConnection();\n } else {\n this._mqttConnection.unsubscribe(Object.keys(this._topics), () => {\n _closeConnection();\n });\n }\n } catch (reason) {\n reject(reason);\n }\n }\n });\n }\n\n /**\n * Establish an mqtt connection with the broker.\n * If a connection already exists, returns the current connection\n *\n * @param {Object} opts - connection options\n * @return a promise containing current connection\n */\n connect(opts = {}) {\n opts = merge(this._connectionOpts, opts);\n\n return new Promise((resolve, reject) => {\n this.getEndpointConfigs().then((endpointConfigs) => {\n const connectionParams = endpointConfigs.connection;\n if (this._mqttConnection !== undefined) {\n resolve(this._mqttConnection);\n } else {\n try {\n let mqttConnectionParams = {\n host: connectionParams.host,\n port: (this._tls) ? connectionParams.protocols.mqtt.tlsPort : connectionParams.protocols.mqtt.port,\n username: `${connectionParams.vhost}:${connectionParams.deviceId || connectionParams.client}`,\n password: connectionParams.secret,\n clientId: connectionParams.deviceId || connectionParams.client,\n connectionTimeout: opts.connectionTimeout || this._connectionTimeout\n };\n if (this._tls) {\n mqttConnectionParams = merge(mqttConnectionParams, this._tlsOpts);\n }\n const client = mqtt.connect(mqttConnectionParams);\n client.on('error', (reason) => {\n this.emit('error', reason);\n reject(reason);\n });\n client.on('close', (reason) => {\n reject(reason);\n this.emit('close', reason);\n this._mqttConnection = undefined;\n });\n this._mqttConnection = client;\n this.emit('connect');\n resolve(this._mqttConnection);\n } catch (reason) {\n reject(reason);\n }\n }\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n isConnected() {\n return (this._mqttConnection !== undefined);\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Generate the topic for a specific channel\n *\n * @private\n * @param {String} channel - channel name on which you want to publish a message\n * @return a string that represents the topic name for that channel\n */\n _topicFor(channel) {\n return `${this.deviceId()}/${channel}`;\n }\n}\n\nexport default MqttClient;\n"],"sourceRoot":"./src"} \ No newline at end of file diff --git a/lib/protocols/mqttStreamClient.js.map b/lib/protocols/mqttStreamClient.js.map index e3628e3..d60baf7 100644 --- a/lib/protocols/mqttStreamClient.js.map +++ b/lib/protocols/mqttStreamClient.js.map @@ -1 +1 @@ -{"version":3,"sources":["protocols/mqttStreamClient.js"],"names":["MqttStreamClient","streamHooks","opts","resolve","reject","connect","then","mqttClient","emptyFunction","undefined","forEach","streamHook","stream","deviceId","channel","qos","cache","liveStreamExists","console","error","_topics","_streamTopicFor","_streamChannelTopicFor","_connectionOpts","subscribe","err","on","topic","message","splitted","split","streams","filter","liveStreamByName","callback","length","_parseContent","catch","reason","_liveStreamSuffix","onReceive","publish","_topicFor"],"mappings":"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","file":"mqttStreamClient.js","sourcesContent":["/**\n * A module that exports an MqttStreamClient client\n * which inherits from the Mqtt base client\n * @module MqttStreamClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\n\n// Import MqttClient main module from which MqttStreamClient inherits\nimport MqttClient from './mqttClient';\n\nclass MqttStreamClient extends MqttClient {\n\n /**\n * Subscribe to multiple stream hooks\n *\n * @param {Array} streamHooks - Array of objects. Each objects containing\n * { deviceId: {string}, channel: {string}, callback: {func} }\n * @param {Object} options - subscription options\n * @return promise containing the result of multiple subscriptions\n */\n streamFrom(streamHooks = [], opts) {\n return new Promise((resolve, reject) => {\n this.connect().then((mqttClient) => {\n const emptyFunction = () => { return undefined; };\n streamHooks.forEach((streamHook) => {\n const stream = streamHook.stream;\n const deviceId = streamHook.deviceId;\n const channel = streamHook.channel;\n const qos = streamHook.qos;\n const cache = (typeof(streamHook.cache) !== 'boolean') ? true : streamHook.cache;\n if (stream === undefined && (channel === undefined || deviceId === undefined)) {\n reject('Missing Stream or Device ID and Channel');\n }\n if (stream) {\n if (!this.liveStreamExists(stream)) {\n console.error(`Stream ${stream} does not exist`); // eslint-disable-line no-console\n resolve(false);\n }\n // Cached streams generate qos1 connections with persistent queues\n // Uncached streams generate qos0 connections with auto delete queues\n this._topics[this._streamTopicFor(stream)] = (cache) ? 1 : 0;\n } else {\n // streams connected directly to a specific channel generate qos0 connections with auto delete queues\n this._topics[this._streamChannelTopicFor(deviceId, channel)] = qos || this._connectionOpts.qos;\n }\n });\n mqttClient.subscribe(this._topics, merge(this._connectionOpts, opts), (err) => {\n if (err) {\n reject(false);\n } else {\n mqttClient.on('message', (topic, message) => {\n const splitted = topic.split('/');\n const streams = streamHooks.filter((streamHook) => {\n return this.liveStreamByName(streamHook.stream) === splitted[0] ||\n (streamHook.deviceId === splitted[0] && streamHook.channel === splitted[1]);\n });\n let callback = emptyFunction;\n if (streams.length > 0) {\n callback = streams[0].callback || emptyFunction;\n }\n callback(topic, this._parseContent(message));\n });\n resolve(true);\n }\n });\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Generate the topic for a specific channel\n *\n * @private\n * @param {String} deviceId - deviceId from which you want to stream\n * @param {String} channel - channel name from which you want to stream\n * @return a string that represents the topic name for that channel\n */\n _streamChannelTopicFor(deviceId, channel) {\n return `${deviceId}/${channel}`;\n }\n\n /**\n * Generate the topic for a specific stream\n *\n * @private\n * @param {String} streamName - stream name from which you want to stream\n * @return a string that represents the topic name for that stream\n */\n _streamTopicFor(stream) {\n return `${this.liveStreamByName(stream)}/${this._liveStreamSuffix}`;\n }\n}\n\n// Remove unwnated methods inherited from MqttClient\ndelete MqttStreamClient.onReceive;\ndelete MqttStreamClient.publish;\ndelete MqttStreamClient._topicFor;\n\nexport default MqttStreamClient;\n"],"sourceRoot":"../src"} \ No newline at end of file +{"version":3,"sources":["protocols/mqttStreamClient.js"],"names":["MqttStreamClient","streamHooks","opts","Promise","resolve","reject","connect","then","mqttClient","emptyFunction","undefined","forEach","streamHook","stream","deviceId","channel","qos","cache","liveStreamExists","console","error","_topics","_streamTopicFor","_streamChannelTopicFor","_connectionOpts","subscribe","err","on","topic","message","splitted","split","streams","filter","liveStreamByName","callback","length","_parseContent","catch","reason","_liveStreamSuffix","MqttClient","onReceive","publish","_topicFor"],"mappings":"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","file":"protocols/mqttStreamClient.js","sourcesContent":["/**\n * A module that exports an MqttStreamClient client\n * which inherits from the Mqtt base client\n * @module MqttStreamClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\n\n// Import MqttClient main module from which MqttStreamClient inherits\nimport MqttClient from './mqttClient';\n\nclass MqttStreamClient extends MqttClient {\n\n /**\n * Subscribe to multiple stream hooks\n *\n * @param {Array} streamHooks - Array of objects. Each objects containing\n * { deviceId: {string}, channel: {string}, callback: {func} }\n * @param {Object} options - subscription options\n * @return promise containing the result of multiple subscriptions\n */\n streamFrom(streamHooks = [], opts) {\n return new Promise((resolve, reject) => {\n this.connect().then((mqttClient) => {\n const emptyFunction = () => { return undefined; };\n streamHooks.forEach((streamHook) => {\n const stream = streamHook.stream;\n const deviceId = streamHook.deviceId;\n const channel = streamHook.channel;\n const qos = streamHook.qos;\n const cache = (typeof(streamHook.cache) !== 'boolean') ? true : streamHook.cache;\n if (stream === undefined && (channel === undefined || deviceId === undefined)) {\n reject('Missing Stream or Device ID and Channel');\n }\n if (stream) {\n if (!this.liveStreamExists(stream)) {\n console.error(`Stream ${stream} does not exist`); // eslint-disable-line no-console\n resolve(false);\n }\n // Cached streams generate qos1 connections with persistent queues\n // Uncached streams generate qos0 connections with auto delete queues\n this._topics[this._streamTopicFor(stream)] = (cache) ? 1 : 0;\n } else {\n // streams connected directly to a specific channel generate qos0 connections with auto delete queues\n this._topics[this._streamChannelTopicFor(deviceId, channel)] = qos || this._connectionOpts.qos;\n }\n });\n mqttClient.subscribe(this._topics, merge(this._connectionOpts, opts), (err) => {\n if (err) {\n reject(false);\n } else {\n mqttClient.on('message', (topic, message) => {\n const splitted = topic.split('/');\n const streams = streamHooks.filter((streamHook) => {\n return this.liveStreamByName(streamHook.stream) === splitted[0] ||\n (streamHook.deviceId === splitted[0] && streamHook.channel === splitted[1]);\n });\n let callback = emptyFunction;\n if (streams.length > 0) {\n callback = streams[0].callback || emptyFunction;\n }\n callback(topic, this._parseContent(message));\n });\n resolve(true);\n }\n });\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Generate the topic for a specific channel\n *\n * @private\n * @param {String} deviceId - deviceId from which you want to stream\n * @param {String} channel - channel name from which you want to stream\n * @return a string that represents the topic name for that channel\n */\n _streamChannelTopicFor(deviceId, channel) {\n return `${deviceId}/${channel}`;\n }\n\n /**\n * Generate the topic for a specific stream\n *\n * @private\n * @param {String} streamName - stream name from which you want to stream\n * @return a string that represents the topic name for that stream\n */\n _streamTopicFor(stream) {\n return `${this.liveStreamByName(stream)}/${this._liveStreamSuffix}`;\n }\n}\n\n// Remove unwnated methods inherited from MqttClient\ndelete MqttStreamClient.onReceive;\ndelete MqttStreamClient.publish;\ndelete MqttStreamClient._topicFor;\n\nexport default MqttStreamClient;\n"],"sourceRoot":"./src"} \ No newline at end of file diff --git a/lib/protocols/stompClient.js b/lib/protocols/stompClient.js index 433ceaa..f2910c8 100644 --- a/lib/protocols/stompClient.js +++ b/lib/protocols/stompClient.js @@ -176,9 +176,11 @@ var StompClient = function (_SpaceBunny) { _this4._subscription.unsubscribe(); } _this4._stompConnection.disconnect(function () { + _this4.emit('disconnect'); _this4._stompConnection = undefined; resolve(true); }).catch(function (reason) { + _this4._stompConnection = undefined; reject(reason); }); } @@ -234,8 +236,11 @@ var StompClient = function (_SpaceBunny) { }); client.connect(headers, function () { _this5._stompConnection = client; + _this5.emit('connect'); resolve(_this5._stompConnection); }, function (err) { + _this5.emit('error', err); + _this5._stompConnection = undefined; reject(err); }); } catch (reason) { @@ -247,6 +252,11 @@ var StompClient = function (_SpaceBunny) { }); }); } + }, { + key: 'isConnected', + value: function isConnected() { + return this._stompConnection !== undefined; + } // ------------ PRIVATE METHODS ------------------- diff --git a/lib/protocols/stompClient.js.map b/lib/protocols/stompClient.js.map index 89bc017..290e6e9 100644 --- a/lib/protocols/stompClient.js.map +++ b/lib/protocols/stompClient.js.map @@ -1 +1 @@ -{"version":3,"sources":["protocols/stompClient.js"],"names":["CONFIG","require","StompClient","opts","_stompConnection","undefined","_subscription","process","_protocol","stompOpts","stomp","webStompOpts","webStomp","_webSocketOpts","webSocket","_connectionHeaders","connection","headers","_connectionOpts","_existingQueuePrefix","existingQueuePrefix","callback","resolve","reject","connect","then","client","topic","_subcriptionFor","_inboxTopic","subscriptionCallback","message","stompMessage","_deviceId","ackNeeded","_autoAck","ack","blackListed","nack","_parseContent","body","subscribe","catch","reason","channel","destination","_destinationFor","send","_encapsulateContent","unsubscribe","disconnect","getEndpointConfigs","endpointConfigs","connectionParams","_tls","overTCP","host","protocols","tlsPort","_tlsOpts","port","protocol","tls","connectionString","endpoint","ws","WebSocket","over","heartbeat","outgoing","incoming","debug","login","deviceId","passcode","secret","vhost","err","type","ackTypes","console","error"],"mappings":"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","file":"stompClient.js","sourcesContent":["/**\n * A module that exports an StompClient client\n * which inherits from the SpaceBunny base client\n * @module StompClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\nimport _ from 'lodash';\n\n// Import stomp library\nimport Stomp from 'stompjs';\n\n// Import SpaceBunny main module from which StompClient inherits\nimport SpaceBunny from '../spacebunny';\nimport StompMessage from '../messages/stompMessage';\nconst CONFIG = require('../../config/constants').CONFIG;\n\nclass StompClient extends SpaceBunny {\n\n /**\n * @constructor\n * @param {Object} opts - options must contain Device-Key or connection options\n * (deviceId and secret) for devices.\n */\n constructor(opts) {\n super(opts);\n this._stompConnection = undefined;\n this._subscription = undefined;\n if (typeof process === 'object' && `${process}` === '[object process]') {\n this._protocol = 'stomp';\n } else {\n this._protocol = 'webStomp';\n }\n const stompOpts = CONFIG.stomp;\n const webStompOpts = CONFIG.webStomp;\n this._webSocketOpts = webStompOpts.webSocket;\n this._connectionHeaders = stompOpts.connection.headers;\n this._connectionOpts = stompOpts.connection.opts;\n this._existingQueuePrefix = stompOpts.existingQueuePrefix;\n }\n\n /**\n * Subscribe to input channel\n *\n * @param {function} callback - function called every time a message is received\n * passing the current message as argument\n * @param {Object} options - subscription options\n * @return promise containing the result of the subscription\n */\n onReceive(callback, opts) {\n opts = merge({}, opts);\n // subscribe for input messages\n return new Promise((resolve, reject) => {\n this.connect().then((client) => {\n const topic = this._subcriptionFor(this._existingQueuePrefix, this._inboxTopic);\n const subscriptionCallback = (message) => {\n // Create message object\n const stompMessage = new StompMessage(message, this._deviceId, opts);\n const ackNeeded = this._autoAck(opts.ack);\n // Check if should be accepted or not\n if (stompMessage.blackListed()) {\n if (ackNeeded) { message.nack(); }\n return;\n }\n // Call message callback\n callback(this._parseContent(stompMessage.body), stompMessage.headers);\n // Check if ACK is needed\n if (ackNeeded) { message.ack(); }\n };\n this._subscription = client.subscribe(topic, subscriptionCallback);\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Publish a message on a specific channel\n *\n * @param {String} channel - channel name on which you want to publish a message\n * @param {Object} message - the message payload\n * @param {Object} opts - publication options\n * @return a promise containing the result of the operation\n */\n publish(channel, message, opts) {\n opts = merge({}, opts);\n // Publish message\n return new Promise((resolve, reject) => {\n this.connect().then((client) => {\n const destination = this._destinationFor('exchange', channel);\n client.send(destination, this._connectionHeaders, this._encapsulateContent(message));\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Destroy the connection between the stomp client and broker\n *\n * @return a promise containing the result of the operation\n */\n disconnect() {\n return new Promise((resolve, reject) => {\n if (this._stompConnection === undefined) {\n reject('Invalid connection');\n } else {\n if (this._subscription !== undefined) {\n this._subscription.unsubscribe();\n }\n this._stompConnection.disconnect(() => {\n this._stompConnection = undefined;\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n }\n });\n }\n\n /**\n * Establish an stomp connection with the broker.\n * If a connection already exists, returns the current connection\n *\n * @param {Object} opts - connection options\n * @return a promise containing current connection\n */\n connect(opts = {}) {\n opts = merge(this._connectionOpts, opts);\n return new Promise((resolve, reject) => {\n this.getEndpointConfigs().then((endpointConfigs) => {\n const connectionParams = endpointConfigs.connection;\n if (this._stompConnection !== undefined) {\n resolve(this._stompConnection);\n } else {\n try {\n let client = undefined;\n if (typeof process === 'object' && `${process}` === '[object process]') {\n // code is runnning in nodejs: STOMP uses TCP sockets\n if (this._tls) {\n client = Stomp.overTCP(connectionParams.host, connectionParams.protocols.stomp.tlsPort, this._tlsOpts);\n } else {\n client = Stomp.overTCP(connectionParams.host, connectionParams.protocols.stomp.port);\n }\n } else {\n // code is runnning in a browser: web STOMP uses Web sockets\n const protocol = (this._tls) ? this._webSocketOpts.tls.protocol : this._webSocketOpts.protocol;\n const port = (this._tls) ? connectionParams.protocols.webStomp.tlsPort :\n connectionParams.protocols.webStomp.port;\n const connectionString = `${protocol}://${connectionParams.host}:${port}/${this._webSocketOpts.endpoint}`;\n const ws = new WebSocket(connectionString);\n client = Stomp.over(ws);\n client.heartbeat.outgoing = 10000;\n client.heartbeat.incoming = 10000;\n client.debug = null;\n }\n const headers = merge(this._connectionHeaders, {\n login: connectionParams.deviceId || connectionParams.client,\n passcode: connectionParams.secret,\n host: connectionParams.vhost\n });\n client.connect(headers, () => {\n this._stompConnection = client;\n resolve(this._stompConnection);\n }, (err) => {\n reject(err);\n });\n } catch (reason) {\n reject(reason);\n }\n }\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Generate the subscription string for a specific channel\n *\n * @private\n * @param {String} type - resource type on which subscribe or publish [exchange/queue]\n * @param {String} channel - channel name on which you want to publish a message\n * @return a string that represents the topic name for that channel\n */\n _subcriptionFor(type, channel) {\n return `/${type}/${this.deviceId()}.${channel}`;\n }\n\n /**\n * Generate the destination string for a specific channel\n *\n * @private\n * @param {String} type - resource type on which subscribe or publish [exchange/queue]\n * @param {String} channel - channel name on which you want to publish a message\n * @return a string that represents the topic name for that channel\n */\n _destinationFor(type, channel) {\n return `/${type}/${this.deviceId()}/${this.deviceId()}.${channel}`;\n }\n\n /**\n * Check if the SDK have to automatically ack messages\n * By default STOMP messages are acked by the server\n * they need to be acked if client subscribes with { ack: 'client' } option\n *\n * @private\n * @param {String} ack - the ack type, it should be 'client' or null\n * @return boolean - true if messages have to be autoacked, false otherwise\n */\n _autoAck(ack) {\n if (ack) {\n if (!_.includes(CONFIG[this._protocol].ackTypes, ack)) {\n console.error('Wrong acknowledge type'); // eslint-disable-line no-console\n }\n switch (ack) {\n case 'client':\n return false;\n default:\n return true;\n }\n }\n return false;\n }\n\n}\n\nexport default StompClient;\n"],"sourceRoot":"../src"} \ No newline at end of file +{"version":3,"sources":["protocols/stompClient.js"],"names":["CONFIG","require","StompClient","opts","_stompConnection","undefined","_subscription","process","_protocol","stompOpts","stomp","webStompOpts","webStomp","_webSocketOpts","webSocket","_connectionHeaders","connection","headers","_connectionOpts","_existingQueuePrefix","existingQueuePrefix","callback","Promise","resolve","reject","connect","then","client","topic","_subcriptionFor","_inboxTopic","subscriptionCallback","message","stompMessage","StompMessage","_deviceId","ackNeeded","_autoAck","ack","blackListed","nack","_parseContent","body","subscribe","catch","reason","channel","destination","_destinationFor","send","_encapsulateContent","unsubscribe","disconnect","emit","getEndpointConfigs","endpointConfigs","connectionParams","_tls","Stomp","overTCP","host","protocols","tlsPort","_tlsOpts","port","protocol","tls","connectionString","endpoint","ws","WebSocket","over","heartbeat","outgoing","incoming","debug","login","deviceId","passcode","secret","vhost","err","type","ackTypes","console","error","SpaceBunny"],"mappings":"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","file":"protocols/stompClient.js","sourcesContent":["/**\n * A module that exports an StompClient client\n * which inherits from the SpaceBunny base client\n * @module StompClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\nimport _ from 'lodash';\n\n// Import stomp library\nimport Stomp from 'stompjs';\n\n// Import SpaceBunny main module from which StompClient inherits\nimport SpaceBunny from '../spacebunny';\nimport StompMessage from '../messages/stompMessage';\nconst CONFIG = require('../../config/constants').CONFIG;\n\nclass StompClient extends SpaceBunny {\n\n /**\n * @constructor\n * @param {Object} opts - options must contain Device-Key or connection options\n * (deviceId and secret) for devices.\n */\n constructor(opts) {\n super(opts);\n this._stompConnection = undefined;\n this._subscription = undefined;\n if (typeof process === 'object' && `${process}` === '[object process]') {\n this._protocol = 'stomp';\n } else {\n this._protocol = 'webStomp';\n }\n const stompOpts = CONFIG.stomp;\n const webStompOpts = CONFIG.webStomp;\n this._webSocketOpts = webStompOpts.webSocket;\n this._connectionHeaders = stompOpts.connection.headers;\n this._connectionOpts = stompOpts.connection.opts;\n this._existingQueuePrefix = stompOpts.existingQueuePrefix;\n }\n\n /**\n * Subscribe to input channel\n *\n * @param {function} callback - function called every time a message is received\n * passing the current message as argument\n * @param {Object} options - subscription options\n * @return promise containing the result of the subscription\n */\n onReceive(callback, opts) {\n opts = merge({}, opts);\n // subscribe for input messages\n return new Promise((resolve, reject) => {\n this.connect().then((client) => {\n const topic = this._subcriptionFor(this._existingQueuePrefix, this._inboxTopic);\n const subscriptionCallback = (message) => {\n // Create message object\n const stompMessage = new StompMessage(message, this._deviceId, opts);\n const ackNeeded = this._autoAck(opts.ack);\n // Check if should be accepted or not\n if (stompMessage.blackListed()) {\n if (ackNeeded) { message.nack(); }\n return;\n }\n // Call message callback\n callback(this._parseContent(stompMessage.body), stompMessage.headers);\n // Check if ACK is needed\n if (ackNeeded) { message.ack(); }\n };\n this._subscription = client.subscribe(topic, subscriptionCallback);\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Publish a message on a specific channel\n *\n * @param {String} channel - channel name on which you want to publish a message\n * @param {Object} message - the message payload\n * @param {Object} opts - publication options\n * @return a promise containing the result of the operation\n */\n publish(channel, message, opts) {\n opts = merge({}, opts);\n // Publish message\n return new Promise((resolve, reject) => {\n this.connect().then((client) => {\n const destination = this._destinationFor('exchange', channel);\n client.send(destination, this._connectionHeaders, this._encapsulateContent(message));\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Destroy the connection between the stomp client and broker\n *\n * @return a promise containing the result of the operation\n */\n disconnect() {\n return new Promise((resolve, reject) => {\n if (this._stompConnection === undefined) {\n reject('Invalid connection');\n } else {\n if (this._subscription !== undefined) {\n this._subscription.unsubscribe();\n }\n this._stompConnection.disconnect(() => {\n this.emit('disconnect');\n this._stompConnection = undefined;\n resolve(true);\n }).catch((reason) => {\n this._stompConnection = undefined;\n reject(reason);\n });\n }\n });\n }\n\n /**\n * Establish an stomp connection with the broker.\n * If a connection already exists, returns the current connection\n *\n * @param {Object} opts - connection options\n * @return a promise containing current connection\n */\n connect(opts = {}) {\n opts = merge(this._connectionOpts, opts);\n return new Promise((resolve, reject) => {\n this.getEndpointConfigs().then((endpointConfigs) => {\n const connectionParams = endpointConfigs.connection;\n if (this._stompConnection !== undefined) {\n resolve(this._stompConnection);\n } else {\n try {\n let client = undefined;\n if (typeof process === 'object' && `${process}` === '[object process]') {\n // code is runnning in nodejs: STOMP uses TCP sockets\n if (this._tls) {\n client = Stomp.overTCP(connectionParams.host, connectionParams.protocols.stomp.tlsPort, this._tlsOpts);\n } else {\n client = Stomp.overTCP(connectionParams.host, connectionParams.protocols.stomp.port);\n }\n } else {\n // code is runnning in a browser: web STOMP uses Web sockets\n const protocol = (this._tls) ? this._webSocketOpts.tls.protocol : this._webSocketOpts.protocol;\n const port = (this._tls) ? connectionParams.protocols.webStomp.tlsPort :\n connectionParams.protocols.webStomp.port;\n const connectionString = `${protocol}://${connectionParams.host}:${port}/${this._webSocketOpts.endpoint}`;\n const ws = new WebSocket(connectionString);\n client = Stomp.over(ws);\n client.heartbeat.outgoing = 10000;\n client.heartbeat.incoming = 10000;\n client.debug = null;\n }\n const headers = merge(this._connectionHeaders, {\n login: connectionParams.deviceId || connectionParams.client,\n passcode: connectionParams.secret,\n host: connectionParams.vhost\n });\n client.connect(headers, () => {\n this._stompConnection = client;\n this.emit('connect');\n resolve(this._stompConnection);\n }, (err) => {\n this.emit('error', err);\n this._stompConnection = undefined;\n reject(err);\n });\n } catch (reason) {\n reject(reason);\n }\n }\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n isConnected() {\n return (this._stompConnection !== undefined);\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Generate the subscription string for a specific channel\n *\n * @private\n * @param {String} type - resource type on which subscribe or publish [exchange/queue]\n * @param {String} channel - channel name on which you want to publish a message\n * @return a string that represents the topic name for that channel\n */\n _subcriptionFor(type, channel) {\n return `/${type}/${this.deviceId()}.${channel}`;\n }\n\n /**\n * Generate the destination string for a specific channel\n *\n * @private\n * @param {String} type - resource type on which subscribe or publish [exchange/queue]\n * @param {String} channel - channel name on which you want to publish a message\n * @return a string that represents the topic name for that channel\n */\n _destinationFor(type, channel) {\n return `/${type}/${this.deviceId()}/${this.deviceId()}.${channel}`;\n }\n\n /**\n * Check if the SDK have to automatically ack messages\n * By default STOMP messages are acked by the server\n * they need to be acked if client subscribes with { ack: 'client' } option\n *\n * @private\n * @param {String} ack - the ack type, it should be 'client' or null\n * @return boolean - true if messages have to be autoacked, false otherwise\n */\n _autoAck(ack) {\n if (ack) {\n if (!_.includes(CONFIG[this._protocol].ackTypes, ack)) {\n console.error('Wrong acknowledge type'); // eslint-disable-line no-console\n }\n switch (ack) {\n case 'client':\n return false;\n default:\n return true;\n }\n }\n return false;\n }\n\n}\n\nexport default StompClient;\n"],"sourceRoot":"./src"} \ No newline at end of file diff --git a/lib/protocols/stompStreamClient.js.map b/lib/protocols/stompStreamClient.js.map index ac1c58a..e6e4153 100644 --- a/lib/protocols/stompStreamClient.js.map +++ b/lib/protocols/stompStreamClient.js.map @@ -1 +1 @@ -{"version":3,"sources":["protocols/stompStreamClient.js"],"names":["CONFIG","require","StompStreamClient","opts","_subscriptions","stompStreamOpts","stomp","stream","_exchangePrefix","exchangePrefix","_defaultPattern","defaultPattern","streamHooks","promises","map","streamHook","_attachStreamHook","length","any","reject","deviceId","channel","resolve","_stompConnection","undefined","topic","_topicFor","subscription","unsubscribe","disconnect","catch","reason","cache","emptyFunction","callback","connect","then","client","tempQueue","liveStreamExists","console","error","_cachedStreamTopicFor","_streamTopicFor","_liveStreamSuffix","_streamChannelTopicFor","subscriptionHeaders","messageCallback","message","_parseContent","body","headers","subscribe","type","pattern","streamName","_existingQueuePrefix","liveStreamByName","onReceive","publish","_subcriptionFor","_destinationFor"],"mappings":"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","file":"stompStreamClient.js","sourcesContent":["/**\n * A module that exports an StompStreamClient client\n * which inherits from the Stomp base client\n * @module StompStreamClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\n\n// Import StompClient main module from which StompStreamClient inherits\nimport StompClient from './stompClient';\n\nconst CONFIG = require('../../config/constants').CONFIG;\n\nclass StompStreamClient extends StompClient {\n\n /**\n * @constructor\n * @param {Object} opts - options must contain client and secret for access keys\n */\n constructor(opts) {\n super(opts);\n this._subscriptions = {};\n const stompStreamOpts = CONFIG.stomp.stream;\n this._exchangePrefix = stompStreamOpts.exchangePrefix;\n this._defaultPattern = stompStreamOpts.defaultPattern;\n }\n\n /**\n * Subscribe to multiple stream hooks\n *\n * @param {Array} streamHooks - Array of objects. Each objects containing\n * { deviceId: {string}, channel: {string}, callback: {func} }\n * @param {Object} options - subscription options\n * @return promise containing the result of multiple subscriptions\n */\n streamFrom(streamHooks = [], opts) {\n const promises = streamHooks.map((streamHook) => {\n return this._attachStreamHook(streamHook, opts);\n }) || [];\n if (promises.length > 0) {\n return Promise.any(promises);\n } else {\n return Promise.reject('Missing stream hooks');\n }\n }\n\n /**\n * Unsubscribe client from a topic\n *\n * @param {String} deviceId - Device uuid\n * @param {String} channel - channel name\n * @return a promise containing the result of the operation\n */\n unsubscribe(deviceId, channel) {\n return new Promise((resolve, reject) => {\n if (this._stompConnection === undefined) {\n reject('Invalid connection');\n } else {\n const topic = this._topicFor(deviceId, channel);\n const subscription = this._subscriptions[topic];\n subscription.unsubscribe(topic);\n delete this._subscriptions[topic];\n resolve(true);\n }\n });\n }\n\n /**\n * Destroy the connection between the stomp client and broker\n *\n * @return a promise containing the result of the operation\n */\n disconnect() {\n return new Promise((resolve, reject) => {\n if (this._stompConnection === undefined) {\n reject('Invalid connection');\n } else {\n for (const subscription in this._subscriptions) {\n if (subscription) {\n this._subscriptions[subscription].unsubscribe();\n }\n }\n this._subscriptions = {};\n this._stompConnection.disconnect(() => {\n this._stompConnection = undefined;\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n }\n });\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Start consuming messages from a device's channel\n * It generates an auto delete queue from which consume\n * and binds it to the channel exchange\n *\n * @private\n * @param {Object} streamHook - Object containit hook info\n * { deviceId: {String}, channel: {String}, callback: {func}}\n * @param {Object} opts - connection options\n * @return a promise containing current connection\n */\n _attachStreamHook(streamHook, opts) {\n opts = merge({}, opts);\n return new Promise((resolve, reject) => {\n // Receive messages from imput queue\n const stream = streamHook.stream;\n const deviceId = streamHook.deviceId;\n const channel = streamHook.channel;\n const cache = (typeof(streamHook.cache) !== 'boolean') ? true : streamHook.cache;\n const emptyFunction = () => { return undefined; };\n const callback = streamHook.callback || emptyFunction;\n if (stream === undefined && (channel === undefined || deviceId === undefined)) {\n reject('Missing Stream or Device ID and Channel');\n }\n this.connect().then((client) => {\n let topic = undefined;\n let tempQueue = undefined;\n if (stream) {\n if (!this.liveStreamExists(stream)) {\n console.error(`Stream ${stream} does not exist`); // eslint-disable-line no-console\n resolve(false);\n }\n if (cache) {\n // Cached streams are connected to the existing live stream queue\n topic = this._cachedStreamTopicFor(stream);\n } else {\n // Uncached streams are connected to the stream exchange and create a temp queue\n topic = this._streamTopicFor(stream);\n tempQueue = this.tempQueue(stream, this._liveStreamSuffix);\n }\n } else {\n // else if current hook is channel (or a couple deviceId, channel)\n // creates a temp queue, binds to channel exchange and starts consuming\n topic = this._streamChannelTopicFor(deviceId, channel);\n tempQueue = this.tempQueue(deviceId, channel);\n }\n const subscriptionHeaders = {};\n if (tempQueue) { subscriptionHeaders['x-queue-name'] = tempQueue; }\n const messageCallback = (message) => {\n callback(this._parseContent(message.body), message.headers);\n };\n const subscription = client.subscribe(topic, messageCallback, subscriptionHeaders);\n this._subscriptions[topic] = subscription;\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Generate the subscription string for a specific channel\n *\n * @private\n * @param {String} deviceId - deviceId from which you want to stream from\n * @param {String} channel - channel name from which you want to stream from\n * @param {String} type - resource type on which subscribe or publish [exchange/queue]\n * @param {String} pattern - binding pattern\n * @return a string that represents the topic name for that channel\n */\n _streamChannelTopicFor(deviceId, channel, type, pattern) {\n return `/${type || this._exchangePrefix}/${deviceId}.${channel}/${pattern || this._defaultPattern}`;\n }\n\n /**\n * Generate the subscription string for cached live streams\n *\n * @private\n * @param {String} streamName - stream name from which you want to stream\n * @param {String} type - resource type on which subscribe or publish [exchange/queue]\n * @return a string that represents the topic name for that channel\n */\n _cachedStreamTopicFor(streamName, type) {\n return `/${type || this._existingQueuePrefix}/${this.liveStreamByName(streamName)}.` +\n `${this._liveStreamSuffix}`;\n }\n\n /**\n * Generate the subscription for live streams without caching\n *\n * @private\n * @param {String} streamName - stream name from which you want to stream\n * @param {String} type - resource type on which subscribe or publish [exchange/queue]\n * @param {String} pattern - binding pattern\n * @return a string that represents the topic name for that channel\n */\n _streamTopicFor(streamName, type, pattern) {\n return `/${type || this._exchangePrefix}/${this.liveStreamByName(streamName)}.` +\n `${this._liveStreamSuffix}/${pattern || this._defaultPattern}`;\n }\n\n}\n\n// Remove unwnated methods inherited from StompClient\ndelete StompStreamClient.onReceive;\ndelete StompStreamClient.publish;\ndelete StompStreamClient._subcriptionFor;\ndelete StompStreamClient._destinationFor;\n\nexport default StompStreamClient;\n"],"sourceRoot":"../src"} \ No newline at end of file +{"version":3,"sources":["protocols/stompStreamClient.js"],"names":["CONFIG","require","StompStreamClient","opts","_subscriptions","stompStreamOpts","stomp","stream","_exchangePrefix","exchangePrefix","_defaultPattern","defaultPattern","streamHooks","promises","map","streamHook","_attachStreamHook","length","Promise","any","reject","deviceId","channel","resolve","_stompConnection","undefined","topic","_topicFor","subscription","unsubscribe","disconnect","catch","reason","cache","emptyFunction","callback","connect","then","client","tempQueue","liveStreamExists","console","error","_cachedStreamTopicFor","_streamTopicFor","_liveStreamSuffix","_streamChannelTopicFor","subscriptionHeaders","messageCallback","message","_parseContent","body","headers","subscribe","type","pattern","streamName","_existingQueuePrefix","liveStreamByName","StompClient","onReceive","publish","_subcriptionFor","_destinationFor"],"mappings":"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","file":"protocols/stompStreamClient.js","sourcesContent":["/**\n * A module that exports an StompStreamClient client\n * which inherits from the Stomp base client\n * @module StompStreamClient\n */\n\n// Import some helpers modules\nimport merge from 'merge';\nimport Promise from 'bluebird';\n\n// Import StompClient main module from which StompStreamClient inherits\nimport StompClient from './stompClient';\n\nconst CONFIG = require('../../config/constants').CONFIG;\n\nclass StompStreamClient extends StompClient {\n\n /**\n * @constructor\n * @param {Object} opts - options must contain client and secret for access keys\n */\n constructor(opts) {\n super(opts);\n this._subscriptions = {};\n const stompStreamOpts = CONFIG.stomp.stream;\n this._exchangePrefix = stompStreamOpts.exchangePrefix;\n this._defaultPattern = stompStreamOpts.defaultPattern;\n }\n\n /**\n * Subscribe to multiple stream hooks\n *\n * @param {Array} streamHooks - Array of objects. Each objects containing\n * { deviceId: {string}, channel: {string}, callback: {func} }\n * @param {Object} options - subscription options\n * @return promise containing the result of multiple subscriptions\n */\n streamFrom(streamHooks = [], opts) {\n const promises = streamHooks.map((streamHook) => {\n return this._attachStreamHook(streamHook, opts);\n }) || [];\n if (promises.length > 0) {\n return Promise.any(promises);\n } else {\n return Promise.reject('Missing stream hooks');\n }\n }\n\n /**\n * Unsubscribe client from a topic\n *\n * @param {String} deviceId - Device uuid\n * @param {String} channel - channel name\n * @return a promise containing the result of the operation\n */\n unsubscribe(deviceId, channel) {\n return new Promise((resolve, reject) => {\n if (this._stompConnection === undefined) {\n reject('Invalid connection');\n } else {\n const topic = this._topicFor(deviceId, channel);\n const subscription = this._subscriptions[topic];\n subscription.unsubscribe(topic);\n delete this._subscriptions[topic];\n resolve(true);\n }\n });\n }\n\n /**\n * Destroy the connection between the stomp client and broker\n *\n * @return a promise containing the result of the operation\n */\n disconnect() {\n return new Promise((resolve, reject) => {\n if (this._stompConnection === undefined) {\n reject('Invalid connection');\n } else {\n for (const subscription in this._subscriptions) {\n if (subscription) {\n this._subscriptions[subscription].unsubscribe();\n }\n }\n this._subscriptions = {};\n this._stompConnection.disconnect(() => {\n this._stompConnection = undefined;\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n }\n });\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Start consuming messages from a device's channel\n * It generates an auto delete queue from which consume\n * and binds it to the channel exchange\n *\n * @private\n * @param {Object} streamHook - Object containit hook info\n * { deviceId: {String}, channel: {String}, callback: {func}}\n * @param {Object} opts - connection options\n * @return a promise containing current connection\n */\n _attachStreamHook(streamHook, opts) {\n opts = merge({}, opts);\n return new Promise((resolve, reject) => {\n // Receive messages from imput queue\n const stream = streamHook.stream;\n const deviceId = streamHook.deviceId;\n const channel = streamHook.channel;\n const cache = (typeof(streamHook.cache) !== 'boolean') ? true : streamHook.cache;\n const emptyFunction = () => { return undefined; };\n const callback = streamHook.callback || emptyFunction;\n if (stream === undefined && (channel === undefined || deviceId === undefined)) {\n reject('Missing Stream or Device ID and Channel');\n }\n this.connect().then((client) => {\n let topic = undefined;\n let tempQueue = undefined;\n if (stream) {\n if (!this.liveStreamExists(stream)) {\n console.error(`Stream ${stream} does not exist`); // eslint-disable-line no-console\n resolve(false);\n }\n if (cache) {\n // Cached streams are connected to the existing live stream queue\n topic = this._cachedStreamTopicFor(stream);\n } else {\n // Uncached streams are connected to the stream exchange and create a temp queue\n topic = this._streamTopicFor(stream);\n tempQueue = this.tempQueue(stream, this._liveStreamSuffix);\n }\n } else {\n // else if current hook is channel (or a couple deviceId, channel)\n // creates a temp queue, binds to channel exchange and starts consuming\n topic = this._streamChannelTopicFor(deviceId, channel);\n tempQueue = this.tempQueue(deviceId, channel);\n }\n const subscriptionHeaders = {};\n if (tempQueue) { subscriptionHeaders['x-queue-name'] = tempQueue; }\n const messageCallback = (message) => {\n callback(this._parseContent(message.body), message.headers);\n };\n const subscription = client.subscribe(topic, messageCallback, subscriptionHeaders);\n this._subscriptions[topic] = subscription;\n resolve(true);\n }).catch((reason) => {\n reject(reason);\n });\n });\n }\n\n /**\n * Generate the subscription string for a specific channel\n *\n * @private\n * @param {String} deviceId - deviceId from which you want to stream from\n * @param {String} channel - channel name from which you want to stream from\n * @param {String} type - resource type on which subscribe or publish [exchange/queue]\n * @param {String} pattern - binding pattern\n * @return a string that represents the topic name for that channel\n */\n _streamChannelTopicFor(deviceId, channel, type, pattern) {\n return `/${type || this._exchangePrefix}/${deviceId}.${channel}/${pattern || this._defaultPattern}`;\n }\n\n /**\n * Generate the subscription string for cached live streams\n *\n * @private\n * @param {String} streamName - stream name from which you want to stream\n * @param {String} type - resource type on which subscribe or publish [exchange/queue]\n * @return a string that represents the topic name for that channel\n */\n _cachedStreamTopicFor(streamName, type) {\n return `/${type || this._existingQueuePrefix}/${this.liveStreamByName(streamName)}.` +\n `${this._liveStreamSuffix}`;\n }\n\n /**\n * Generate the subscription for live streams without caching\n *\n * @private\n * @param {String} streamName - stream name from which you want to stream\n * @param {String} type - resource type on which subscribe or publish [exchange/queue]\n * @param {String} pattern - binding pattern\n * @return a string that represents the topic name for that channel\n */\n _streamTopicFor(streamName, type, pattern) {\n return `/${type || this._exchangePrefix}/${this.liveStreamByName(streamName)}.` +\n `${this._liveStreamSuffix}/${pattern || this._defaultPattern}`;\n }\n\n}\n\n// Remove unwnated methods inherited from StompClient\ndelete StompStreamClient.onReceive;\ndelete StompStreamClient.publish;\ndelete StompStreamClient._subcriptionFor;\ndelete StompStreamClient._destinationFor;\n\nexport default StompStreamClient;\n"],"sourceRoot":"./src"} \ No newline at end of file diff --git a/lib/spacebunny.js b/lib/spacebunny.js index 49fcda7..f086b73 100644 --- a/lib/spacebunny.js +++ b/lib/spacebunny.js @@ -12,13 +12,7 @@ var _startsWith2 = require('lodash/startsWith'); var _startsWith3 = _interopRequireDefault(_startsWith2); -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /** - * A module that exports the base SpaceBunny client - * @module SpaceBunny - */ - -// Import some helpers modules - +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _fs = require('fs'); @@ -40,10 +34,28 @@ var _bluebird = require('bluebird'); var _bluebird2 = _interopRequireDefault(_bluebird); +var _url = require('url'); + +var _url2 = _interopRequireDefault(_url); + +var _events = require('events'); + +var _events2 = _interopRequireDefault(_events); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /** + * A module that exports the base SpaceBunny client + * @module SpaceBunny + */ + +// Import some helpers modules + + // TODO validate enpointConfig object format with Joi // import Joi from 'joi'; @@ -54,57 +66,62 @@ var CONFIG = require('../config/constants').CONFIG; * @param {Object} opts - constructor options may contain Device-Key or connection options */ -var SpaceBunny = function () { +var SpaceBunny = function (_EventEmitter) { + _inherits(SpaceBunny, _EventEmitter); + function SpaceBunny() { var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; _classCallCheck(this, SpaceBunny); - this._connectionParams = (0, _merge2.default)({}, _humps2.default.camelizeKeys(opts)); - this._endpointConfigs = undefined; - this._endpointUrl = this._connectionParams.endpointUrl; - this._deviceKey = this._connectionParams.deviceKey; - this._channels = this._connectionParams.channels; - this._deviceId = this._connectionParams.deviceId; - this._client = this._connectionParams.client; - this._secret = this._connectionParams.secret; - this._host = this._connectionParams.host; - this._port = this._connectionParams.port; - this._vhost = this._connectionParams.vhost; - this._protocol = CONFIG.protocol; - this._inboxTopic = this._connectionParams.inputTopic || CONFIG.inboxTopic; - this._liveStreamSuffix = CONFIG.liveStreamSuffix; - this._tempQueueSuffix = CONFIG.tempQueueSuffix; - this._liveStreams = []; - this._tls = this._connectionParams.tls || false; - this._tlsOpts = {}; - if (this._connectionParams.cert) { - this._tlsOpts.cert = _fs2.default.readFileSync(this._connectionParams.cert); + var _this = _possibleConstructorReturn(this, (SpaceBunny.__proto__ || Object.getPrototypeOf(SpaceBunny)).call(this)); + + _this._connectionParams = (0, _merge2.default)({}, _humps2.default.camelizeKeys(opts)); + _this._endpointConfigs = undefined; + _this._endpoint = (0, _merge2.default)(CONFIG.endpoint, _this._connectionParams.endpoint); + _this._deviceKey = _this._connectionParams.deviceKey; + _this._channels = _this._connectionParams.channels; + _this._deviceId = _this._connectionParams.deviceId; + _this._client = _this._connectionParams.client; + _this._secret = _this._connectionParams.secret; + _this._host = _this._connectionParams.host; + _this._port = _this._connectionParams.port; + _this._vhost = _this._connectionParams.vhost; + _this._protocol = CONFIG.protocol; + _this._inboxTopic = _this._connectionParams.inputTopic || CONFIG.inboxTopic; + _this._liveStreamSuffix = CONFIG.liveStreamSuffix; + _this._tempQueueSuffix = CONFIG.tempQueueSuffix; + _this._liveStreams = []; + _this._tls = _this._connectionParams.tls || false; + _this._tlsOpts = {}; + if (_this._connectionParams.cert) { + _this._tlsOpts.cert = _fs2.default.readFileSync(_this._connectionParams.cert); } - if (this._connectionParams.key) { - this._tlsOpts.key = _fs2.default.readFileSync(this._connectionParams.key); + if (_this._connectionParams.key) { + _this._tlsOpts.key = _fs2.default.readFileSync(_this._connectionParams.key); } - if (this._connectionParams.passphrase) { - this._tlsOpts.passphrase = this._connectionParams.passphrase; + if (_this._connectionParams.passphrase) { + _this._tlsOpts.passphrase = _this._connectionParams.passphrase; } - if (this._connectionParams.ca) { - if (Array.isArray(this._connectionParams.ca)) { - this._tlsOpts.ca = this._connectionParams.ca.map(function (element) { + if (_this._connectionParams.ca) { + if (Array.isArray(_this._connectionParams.ca)) { + _this._tlsOpts.ca = _this._connectionParams.ca.map(function (element) { return _fs2.default.readFileSync(element); }); } else { - this._tlsOpts.ca = [_fs2.default.readFileSync(this._connectionParams.ca)]; + _this._tlsOpts.ca = [_fs2.default.readFileSync(_this._connectionParams.ca)]; } } - if (this._connectionParams.pfx) { - this._tlsOpts.pfx = _fs2.default.readFileSync(this._connectionParams.pfx); + if (_this._connectionParams.pfx) { + _this._tlsOpts.pfx = _fs2.default.readFileSync(_this._connectionParams.pfx); } - if (this._connectionParams.disableCertCheck) { - this._tlsOpts.rejectUnauthorized = false; + if (_this._connectionParams.disableCertCheck) { + _this._tlsOpts.rejectUnauthorized = false; } else { - this._tlsOpts.rejectUnauthorized = true; + _this._tlsOpts.rejectUnauthorized = true; } - this._tlsOpts.secureProtocol = this._connectionParams.secureProtocol || CONFIG.tls.secureProtocol; + _this._tlsOpts.secureProtocol = _this._connectionParams.secureProtocol || CONFIG.tls.secureProtocol; + return _this; } /** @@ -119,90 +136,87 @@ var SpaceBunny = function () { _createClass(SpaceBunny, [{ key: 'getEndpointConfigs', value: function getEndpointConfigs() { - var _this = this; + var _this2 = this; return new _bluebird2.default(function (resolve, reject) { // Resolve with configs if already retrieved - if (_this._endpointConfigs !== undefined) { - resolve(_this._endpointConfigs); + if (_this2._endpointConfigs !== undefined) { + resolve(_this2._endpointConfigs); } // Contact endpoint to retrieve configs // Switch endpoint if you are using sdk as device or as access key stream - var endpoint = ''; - if (_this._deviceId && _this._secret || _this._deviceKey) { + if (_this2._deviceId && _this2._secret || _this2._deviceKey) { // Device credentials - endpoint = CONFIG.deviceEndpoint; // uses endpoint passed from user, default endpoint otherwise - var hostname = _this._generateHostname(endpoint); - var uri = '' + hostname + endpoint.api_version + endpoint.path; - if (_this._deviceKey) { + var hostname = _this2._generateHostname(); + var uri = _url2.default.resolve(hostname, _this2._endpoint.deviceConfigurationsPath); + if (_this2._deviceKey) { // Get configs from endpoint var options = { url: uri, method: 'get', responseType: 'json', headers: { - 'Device-Key': _this._deviceKey, + 'Device-Key': _this2._deviceKey, 'Content-Type': 'application/json' } }; (0, _axios2.default)(options).then(function (response) { - _this._endpointConfigs = _humps2.default.camelizeKeys(response.data); - _this._connectionParams = _this._endpointConfigs.connection; - resolve(_this._endpointConfigs); + _this2._endpointConfigs = _humps2.default.camelizeKeys(response.data); + _this2._connectionParams = _this2._endpointConfigs.connection; + resolve(_this2._endpointConfigs); }).catch(function (err) { reject(err); }); - } else if (_this._deviceId && _this._secret && _this._host && _this._port && _this._vhost) { + } else if (_this2._deviceId && _this2._secret && _this2._host && _this2._port && _this2._vhost) { // Manually provided configs - _this._connectionParams.protocols = {}; - if (_this._tls) { - _this._connectionParams.protocols[_this._protocol] = { tlsPort: _this._port }; + _this2._connectionParams.protocols = {}; + if (_this2._tls) { + _this2._connectionParams.protocols[_this2._protocol] = { tlsPort: _this2._port }; } else { - _this._connectionParams.protocols[_this._protocol] = { port: _this._port }; + _this2._connectionParams.protocols[_this2._protocol] = { port: _this2._port }; } - _this._endpointConfigs = { - connection: _this._connectionParams, + _this2._endpointConfigs = { + connection: _this2._connectionParams, channels: [] }; - resolve(_this._endpointConfigs); + resolve(_this2._endpointConfigs); } - } else if (_this._client && _this._secret) { + } else if (_this2._client && _this2._secret) { // Access key credentials - if (_this._host && _this._port && _this._vhost) { + if (_this2._host && _this2._port && _this2._vhost) { // Manually provided configs - _this._connectionParams.protocols = {}; - if (_this._tls) { - _this._connectionParams.protocols[_this._protocol] = { tlsPort: _this._port }; + _this2._connectionParams.protocols = {}; + if (_this2._tls) { + _this2._connectionParams.protocols[_this2._protocol] = { tlsPort: _this2._port }; } else { - _this._connectionParams.protocols[_this._protocol] = { port: _this._port }; + _this2._connectionParams.protocols[_this2._protocol] = { port: _this2._port }; } - _this._endpointConfigs = { - connection: _this._connectionParams, + _this2._endpointConfigs = { + connection: _this2._connectionParams, liveStreams: [] }; - resolve(_this._endpointConfigs); + resolve(_this2._endpointConfigs); } else { // Get configs from endpoint - endpoint = CONFIG.accessKeyEndpoint; // uses endpoint passed from user, default endpoint otherwise - var _hostname = _this._generateHostname(endpoint); - var _uri = '' + _hostname + endpoint.api_version + endpoint.path; + var _hostname = _this2._generateHostname(); + var _uri = _url2.default.resolve(_hostname, _this2._endpoint.liveStreamKeyConfigurationsPath); var _options = { url: _uri, method: 'get', responseType: 'json', headers: { - 'Live-Stream-Key-Client': _this._client, - 'Live-Stream-Key-Secret': _this._secret, + 'Live-Stream-Key-Client': _this2._client, + 'Live-Stream-Key-Secret': _this2._secret, 'Content-Type': 'application/json' } }; (0, _axios2.default)(_options).then(function (response) { - _this._endpointConfigs = _humps2.default.camelizeKeys(response.data); - _this._connectionParams = _this._endpointConfigs.connection; - _this._liveStreams = _this._endpointConfigs.liveStreams || []; - resolve(_this._endpointConfigs); + _this2._endpointConfigs = _humps2.default.camelizeKeys(response.data); + _this2._connectionParams = _this2._endpointConfigs.connection; + _this2._liveStreams = _this2._endpointConfigs.liveStreams || []; + resolve(_this2._endpointConfigs); }).catch(function (err) { reject(err); }); @@ -342,12 +356,14 @@ var SpaceBunny = function () { }, { key: '_generateHostname', - value: function _generateHostname(endpoint) { - var hostname = '' + (this._endpointUrl || endpoint.url); - // const endpointProtocol = (this._tls) ? CONFIG.endpoint.secureProtocol : CONFIG.endpoint.protocol; - var endpointProtocol = CONFIG.endpoint.protocol; - if (!(0, _startsWith3.default)(hostname, endpointProtocol)) { - hostname = endpointProtocol + '://' + hostname; + value: function _generateHostname() { + if (this._endpoint.url) { + return this._endpoint.url; + } + var hostname = this._endpoint.host + ':' + this._endpoint.port; + var protocol = this._tls ? this._endpoint.secureProtocol : this._endpoint.protocol; + if (!(0, _startsWith3.default)(hostname, protocol)) { + hostname = protocol + '://' + hostname; } return hostname; } @@ -378,7 +394,7 @@ var SpaceBunny = function () { }]); return SpaceBunny; -}(); +}(_events2.default); exports.default = SpaceBunny; //# sourceMappingURL=spacebunny.js.map diff --git a/lib/spacebunny.js.map b/lib/spacebunny.js.map index 3a30ef7..362a2d7 100644 --- a/lib/spacebunny.js.map +++ b/lib/spacebunny.js.map @@ -1 +1 @@ -{"version":3,"sources":["spacebunny.js"],"names":["CONFIG","require","SpaceBunny","opts","_connectionParams","camelizeKeys","_endpointConfigs","undefined","_endpointUrl","endpointUrl","_deviceKey","deviceKey","_channels","channels","_deviceId","deviceId","_client","client","_secret","secret","_host","host","_port","port","_vhost","vhost","_protocol","protocol","_inboxTopic","inputTopic","inboxTopic","_liveStreamSuffix","liveStreamSuffix","_tempQueueSuffix","tempQueueSuffix","_liveStreams","_tls","tls","_tlsOpts","cert","readFileSync","key","passphrase","ca","Array","isArray","map","element","pfx","disableCertCheck","rejectUnauthorized","secureProtocol","resolve","reject","endpoint","deviceEndpoint","hostname","_generateHostname","uri","api_version","path","options","url","method","responseType","headers","then","response","data","connection","catch","err","protocols","tlsPort","liveStreams","accessKeyEndpoint","obj","name","streamName","stream","length","id","prefix","suffix","currentTime","timestamp","Date","getTime","exchangeName","liveStreamByName","content","encapsulatedContent","JSON","stringify","ex","endpointProtocol","message","parsedMessage","Buffer","isBuffer","toString","res","parse"],"mappings":"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","file":"spacebunny.js","sourcesContent":["/**\n * A module that exports the base SpaceBunny client\n * @module SpaceBunny\n */\n\n// Import some helpers modules\nimport fs from 'fs';\nimport merge from 'merge';\nimport axios from 'axios';\nimport humps from 'humps';\nimport Promise from 'bluebird';\nimport { startsWith, filter } from 'lodash';\n\n// TODO validate enpointConfig object format with Joi\n// import Joi from 'joi';\n\nconst CONFIG = require('../config/constants').CONFIG;\n\n/**\n * @constructor\n * @param {Object} opts - constructor options may contain Device-Key or connection options\n */\nclass SpaceBunny {\n constructor(opts = {}) {\n this._connectionParams = merge({}, humps.camelizeKeys(opts));\n this._endpointConfigs = undefined;\n this._endpointUrl = this._connectionParams.endpointUrl;\n this._deviceKey = this._connectionParams.deviceKey;\n this._channels = this._connectionParams.channels;\n this._deviceId = this._connectionParams.deviceId;\n this._client = this._connectionParams.client;\n this._secret = this._connectionParams.secret;\n this._host = this._connectionParams.host;\n this._port = this._connectionParams.port;\n this._vhost = this._connectionParams.vhost;\n this._protocol = CONFIG.protocol;\n this._inboxTopic = this._connectionParams.inputTopic || CONFIG.inboxTopic;\n this._liveStreamSuffix = CONFIG.liveStreamSuffix;\n this._tempQueueSuffix = CONFIG.tempQueueSuffix;\n this._liveStreams = [];\n this._tls = this._connectionParams.tls || false;\n this._tlsOpts = {};\n if (this._connectionParams.cert) { this._tlsOpts.cert = fs.readFileSync(this._connectionParams.cert); }\n if (this._connectionParams.key) { this._tlsOpts.key = fs.readFileSync(this._connectionParams.key); }\n if (this._connectionParams.passphrase) { this._tlsOpts.passphrase = this._connectionParams.passphrase; }\n if (this._connectionParams.ca) {\n if (Array.isArray(this._connectionParams.ca)) {\n this._tlsOpts.ca = this._connectionParams.ca.map((element) => {\n return fs.readFileSync(element);\n });\n } else {\n this._tlsOpts.ca = [fs.readFileSync(this._connectionParams.ca)];\n }\n }\n if (this._connectionParams.pfx) { this._tlsOpts.pfx = fs.readFileSync(this._connectionParams.pfx); }\n if (this._connectionParams.disableCertCheck) {\n this._tlsOpts.rejectUnauthorized = false;\n } else {\n this._tlsOpts.rejectUnauthorized = true;\n }\n this._tlsOpts.secureProtocol = this._connectionParams.secureProtocol || CONFIG.tls.secureProtocol;\n }\n\n /**\n * Check if Device-Key or connection parameters have already been passed\n * If at least Device-Key is passed ask the endpoint for the configurations\n * else if also connection parameters are not passed raise an exception\n *\n * @return an Object containing the connection parameters\n */\n getEndpointConfigs() {\n return new Promise((resolve, reject) => {\n // Resolve with configs if already retrieved\n if (this._endpointConfigs !== undefined) {\n resolve(this._endpointConfigs);\n }\n // Contact endpoint to retrieve configs\n // Switch endpoint if you are using sdk as device or as access key stream\n let endpoint = '';\n if ((this._deviceId && this._secret) || this._deviceKey) { // Device credentials\n endpoint = CONFIG.deviceEndpoint;\n // uses endpoint passed from user, default endpoint otherwise\n const hostname = this._generateHostname(endpoint);\n const uri = `${hostname}${endpoint.api_version}${endpoint.path}`;\n if (this._deviceKey) { // Get configs from endpoint\n const options = {\n url: uri,\n method: 'get',\n responseType: 'json',\n headers: {\n 'Device-Key': this._deviceKey,\n 'Content-Type': 'application/json'\n }\n };\n axios(options).then((response) => {\n this._endpointConfigs = humps.camelizeKeys(response.data);\n this._connectionParams = this._endpointConfigs.connection;\n resolve(this._endpointConfigs);\n }).catch((err) => {\n reject(err);\n });\n } else if (this._deviceId && this._secret && this._host && this._port && this._vhost) {\n // Manually provided configs\n this._connectionParams.protocols = {};\n if (this._tls) {\n this._connectionParams.protocols[this._protocol] = { tlsPort: this._port };\n } else {\n this._connectionParams.protocols[this._protocol] = { port: this._port };\n }\n this._endpointConfigs = {\n connection: this._connectionParams,\n channels: []\n };\n resolve(this._endpointConfigs);\n }\n } else if (this._client && this._secret) { // Access key credentials\n if (this._host && this._port && this._vhost) {\n // Manually provided configs\n this._connectionParams.protocols = {};\n if (this._tls) {\n this._connectionParams.protocols[this._protocol] = { tlsPort: this._port };\n } else {\n this._connectionParams.protocols[this._protocol] = { port: this._port };\n }\n this._endpointConfigs = {\n connection: this._connectionParams,\n liveStreams: []\n };\n resolve(this._endpointConfigs);\n } else {\n // Get configs from endpoint\n endpoint = CONFIG.accessKeyEndpoint;\n // uses endpoint passed from user, default endpoint otherwise\n const hostname = this._generateHostname(endpoint);\n const uri = `${hostname}${endpoint.api_version}${endpoint.path}`;\n const options = {\n url: uri,\n method: 'get',\n responseType: 'json',\n headers: {\n 'Live-Stream-Key-Client': this._client,\n 'Live-Stream-Key-Secret': this._secret,\n 'Content-Type': 'application/json'\n }\n };\n axios(options).then((response) => {\n this._endpointConfigs = humps.camelizeKeys(response.data);\n this._connectionParams = this._endpointConfigs.connection;\n this._liveStreams = this._endpointConfigs.liveStreams || [];\n resolve(this._endpointConfigs);\n }).catch((err) => {\n reject(err);\n });\n }\n } else { // No configs or missing some info\n reject('Missing Device Key or wrong connection parameters');\n }\n });\n }\n\n /**\n * @return all channels configured for the current device\n */\n channels() {\n if (this._endpointConfigs.channels) {\n this._channels = this._endpointConfigs.channels.map((obj) => {\n return obj.name;\n });\n return this._channels || [];\n } else {\n return [];\n }\n }\n\n /**\n * @return the device ID for the current device\n */\n deviceId() {\n this._deviceId = this._deviceId || this._connectionParams.deviceId;\n return this._deviceId;\n }\n\n /**\n * Return a Stream ID from a stream name given in input\n *\n * @param {String} streamName - stream name\n * @return the stream ID which corresponds to the input stream name\n */\n liveStreamByName(streamName) {\n const liveStreams = filter(this._liveStreams, (stream) => { return stream.name === streamName; });\n if (liveStreams.length > 0) {\n return liveStreams[0].id || streamName;\n } else {\n return streamName;\n }\n }\n\n /**\n * Check if a stream exists\n *\n * @param {String} streamName - stream name\n * @return true if stream exists, false otherwise\n */\n liveStreamExists(streamName) {\n const liveStreams = filter(this._liveStreams, (stream) => { return stream.name === streamName; });\n return (liveStreams.length > 0);\n }\n\n /**\n * Generate a temporary queue name\n *\n * @private\n * @param {String} prefix - client id or stream name\n * @param {String} suffix - channel name or defaul live stream suffix\n * @param {Numeric} currentTime - current timestamp\n * @return a string that represents the topic name for that channel\n */\n tempQueue(prefix, suffix, currentTime) {\n const timestamp = currentTime || new Date().getTime();\n return `${timestamp}-${this._connectionParams.client}-` +\n `${this.exchangeName(prefix, suffix)}.` +\n `${this._tempQueueSuffix}`;\n }\n\n /**\n * Generate the exchange name for a device's channel\n *\n * @private\n * @param {String} prefix - It could be a device id or a stream name\n * @param {String} suffix - It could be a channel name or a the default stream suffix (live_stream)\n * @return a string that represents the complete exchange name\n */\n exchangeName(prefix, suffix) {\n return (prefix && suffix) ? `${this.liveStreamByName(prefix)}.${suffix}` : `${suffix}`;\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Encapsulates contens for publishing messages.\n * If the content is a valid JSON the function stringifies the content\n *\n * @private\n * @param {Object} content - content to publish, could be a string or a JSON object\n * @return the content encapsulated in the proper way\n */\n _encapsulateContent(content) {\n let encapsulatedContent = content;\n try {\n encapsulatedContent = JSON.stringify(content);\n } catch (ex) {\n encapsulatedContent = content;\n }\n return encapsulatedContent;\n }\n\n /**\n * Generate the complete hostname string for an endpoint\n *\n * @private\n * @return the string representing the endpoint url\n */\n _generateHostname(endpoint) {\n let hostname = `${(this._endpointUrl || endpoint.url)}`;\n // const endpointProtocol = (this._tls) ? CONFIG.endpoint.secureProtocol : CONFIG.endpoint.protocol;\n const endpointProtocol = CONFIG.endpoint.protocol;\n if (!startsWith(hostname, endpointProtocol)) {\n hostname = `${endpointProtocol}://${hostname}`;\n }\n return hostname;\n }\n\n /**\n * Automatically parse message content\n *\n * @private\n * @param {Object/String} message - the received message\n * @return an object containing the input message with parsed content\n */\n _parseContent(message) {\n let parsedMessage = message;\n if (Buffer.isBuffer(parsedMessage)) {\n parsedMessage = parsedMessage.toString('utf-8');\n }\n let res = undefined;\n try {\n res = JSON.parse(parsedMessage);\n } catch (ex) {\n res = parsedMessage;\n }\n return res;\n }\n\n}\n\nexport default SpaceBunny;\n"],"sourceRoot":"src"} \ No newline at end of file +{"version":3,"sources":["spacebunny.js"],"names":["CONFIG","require","SpaceBunny","opts","_connectionParams","humps","camelizeKeys","_endpointConfigs","undefined","_endpoint","endpoint","_deviceKey","deviceKey","_channels","channels","_deviceId","deviceId","_client","client","_secret","secret","_host","host","_port","port","_vhost","vhost","_protocol","protocol","_inboxTopic","inputTopic","inboxTopic","_liveStreamSuffix","liveStreamSuffix","_tempQueueSuffix","tempQueueSuffix","_liveStreams","_tls","tls","_tlsOpts","cert","fs","readFileSync","key","passphrase","ca","Array","isArray","map","element","pfx","disableCertCheck","rejectUnauthorized","secureProtocol","Promise","resolve","reject","hostname","_generateHostname","uri","url","deviceConfigurationsPath","options","method","responseType","headers","then","response","data","connection","catch","err","protocols","tlsPort","liveStreams","liveStreamKeyConfigurationsPath","obj","name","streamName","stream","length","id","prefix","suffix","currentTime","timestamp","Date","getTime","exchangeName","liveStreamByName","content","encapsulatedContent","JSON","stringify","ex","message","parsedMessage","Buffer","isBuffer","toString","res","parse","EventEmitter"],"mappings":"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","file":"spacebunny.js","sourcesContent":["/**\n * A module that exports the base SpaceBunny client\n * @module SpaceBunny\n */\n\n// Import some helpers modules\nimport fs from 'fs';\nimport merge from 'merge';\nimport axios from 'axios';\nimport humps from 'humps';\nimport Promise from 'bluebird';\nimport { startsWith, filter } from 'lodash';\nimport url from 'url';\nimport EventEmitter from 'events';\n\n// TODO validate enpointConfig object format with Joi\n// import Joi from 'joi';\n\nconst CONFIG = require('../config/constants').CONFIG;\n\n/**\n * @constructor\n * @param {Object} opts - constructor options may contain Device-Key or connection options\n */\nclass SpaceBunny extends EventEmitter {\n constructor(opts = {}) {\n super();\n this._connectionParams = merge({}, humps.camelizeKeys(opts));\n this._endpointConfigs = undefined;\n this._endpoint = merge(CONFIG.endpoint, this._connectionParams.endpoint);\n this._deviceKey = this._connectionParams.deviceKey;\n this._channels = this._connectionParams.channels;\n this._deviceId = this._connectionParams.deviceId;\n this._client = this._connectionParams.client;\n this._secret = this._connectionParams.secret;\n this._host = this._connectionParams.host;\n this._port = this._connectionParams.port;\n this._vhost = this._connectionParams.vhost;\n this._protocol = CONFIG.protocol;\n this._inboxTopic = this._connectionParams.inputTopic || CONFIG.inboxTopic;\n this._liveStreamSuffix = CONFIG.liveStreamSuffix;\n this._tempQueueSuffix = CONFIG.tempQueueSuffix;\n this._liveStreams = [];\n this._tls = this._connectionParams.tls || false;\n this._tlsOpts = {};\n if (this._connectionParams.cert) { this._tlsOpts.cert = fs.readFileSync(this._connectionParams.cert); }\n if (this._connectionParams.key) { this._tlsOpts.key = fs.readFileSync(this._connectionParams.key); }\n if (this._connectionParams.passphrase) { this._tlsOpts.passphrase = this._connectionParams.passphrase; }\n if (this._connectionParams.ca) {\n if (Array.isArray(this._connectionParams.ca)) {\n this._tlsOpts.ca = this._connectionParams.ca.map((element) => {\n return fs.readFileSync(element);\n });\n } else {\n this._tlsOpts.ca = [fs.readFileSync(this._connectionParams.ca)];\n }\n }\n if (this._connectionParams.pfx) { this._tlsOpts.pfx = fs.readFileSync(this._connectionParams.pfx); }\n if (this._connectionParams.disableCertCheck) {\n this._tlsOpts.rejectUnauthorized = false;\n } else {\n this._tlsOpts.rejectUnauthorized = true;\n }\n this._tlsOpts.secureProtocol = this._connectionParams.secureProtocol || CONFIG.tls.secureProtocol;\n }\n\n /**\n * Check if Device-Key or connection parameters have already been passed\n * If at least Device-Key is passed ask the endpoint for the configurations\n * else if also connection parameters are not passed raise an exception\n *\n * @return an Object containing the connection parameters\n */\n getEndpointConfigs() {\n return new Promise((resolve, reject) => {\n // Resolve with configs if already retrieved\n if (this._endpointConfigs !== undefined) {\n resolve(this._endpointConfigs);\n }\n // Contact endpoint to retrieve configs\n // Switch endpoint if you are using sdk as device or as access key stream\n if ((this._deviceId && this._secret) || this._deviceKey) { // Device credentials\n // uses endpoint passed from user, default endpoint otherwise\n const hostname = this._generateHostname();\n const uri = url.resolve(hostname, this._endpoint.deviceConfigurationsPath);\n if (this._deviceKey) { // Get configs from endpoint\n const options = {\n url: uri,\n method: 'get',\n responseType: 'json',\n headers: {\n 'Device-Key': this._deviceKey,\n 'Content-Type': 'application/json'\n }\n };\n axios(options).then((response) => {\n this._endpointConfigs = humps.camelizeKeys(response.data);\n this._connectionParams = this._endpointConfigs.connection;\n resolve(this._endpointConfigs);\n }).catch((err) => {\n reject(err);\n });\n } else if (this._deviceId && this._secret && this._host && this._port && this._vhost) {\n // Manually provided configs\n this._connectionParams.protocols = {};\n if (this._tls) {\n this._connectionParams.protocols[this._protocol] = { tlsPort: this._port };\n } else {\n this._connectionParams.protocols[this._protocol] = { port: this._port };\n }\n this._endpointConfigs = {\n connection: this._connectionParams,\n channels: []\n };\n resolve(this._endpointConfigs);\n }\n } else if (this._client && this._secret) { // Access key credentials\n if (this._host && this._port && this._vhost) {\n // Manually provided configs\n this._connectionParams.protocols = {};\n if (this._tls) {\n this._connectionParams.protocols[this._protocol] = { tlsPort: this._port };\n } else {\n this._connectionParams.protocols[this._protocol] = { port: this._port };\n }\n this._endpointConfigs = {\n connection: this._connectionParams,\n liveStreams: []\n };\n resolve(this._endpointConfigs);\n } else {\n // Get configs from endpoint\n // uses endpoint passed from user, default endpoint otherwise\n const hostname = this._generateHostname();\n const uri = url.resolve(hostname, this._endpoint.liveStreamKeyConfigurationsPath);\n const options = {\n url: uri,\n method: 'get',\n responseType: 'json',\n headers: {\n 'Live-Stream-Key-Client': this._client,\n 'Live-Stream-Key-Secret': this._secret,\n 'Content-Type': 'application/json'\n }\n };\n axios(options).then((response) => {\n this._endpointConfigs = humps.camelizeKeys(response.data);\n this._connectionParams = this._endpointConfigs.connection;\n this._liveStreams = this._endpointConfigs.liveStreams || [];\n resolve(this._endpointConfigs);\n }).catch((err) => {\n reject(err);\n });\n }\n } else { // No configs or missing some info\n reject('Missing Device Key or wrong connection parameters');\n }\n });\n }\n\n /**\n * @return all channels configured for the current device\n */\n channels() {\n if (this._endpointConfigs.channels) {\n this._channels = this._endpointConfigs.channels.map((obj) => {\n return obj.name;\n });\n return this._channels || [];\n } else {\n return [];\n }\n }\n\n /**\n * @return the device ID for the current device\n */\n deviceId() {\n this._deviceId = this._deviceId || this._connectionParams.deviceId;\n return this._deviceId;\n }\n\n /**\n * Return a Stream ID from a stream name given in input\n *\n * @param {String} streamName - stream name\n * @return the stream ID which corresponds to the input stream name\n */\n liveStreamByName(streamName) {\n const liveStreams = filter(this._liveStreams, (stream) => { return stream.name === streamName; });\n if (liveStreams.length > 0) {\n return liveStreams[0].id || streamName;\n } else {\n return streamName;\n }\n }\n\n /**\n * Check if a stream exists\n *\n * @param {String} streamName - stream name\n * @return true if stream exists, false otherwise\n */\n liveStreamExists(streamName) {\n const liveStreams = filter(this._liveStreams, (stream) => { return stream.name === streamName; });\n return (liveStreams.length > 0);\n }\n\n /**\n * Generate a temporary queue name\n *\n * @private\n * @param {String} prefix - client id or stream name\n * @param {String} suffix - channel name or defaul live stream suffix\n * @param {Numeric} currentTime - current timestamp\n * @return a string that represents the topic name for that channel\n */\n tempQueue(prefix, suffix, currentTime) {\n const timestamp = currentTime || new Date().getTime();\n return `${timestamp}-${this._connectionParams.client}-` +\n `${this.exchangeName(prefix, suffix)}.` +\n `${this._tempQueueSuffix}`;\n }\n\n /**\n * Generate the exchange name for a device's channel\n *\n * @private\n * @param {String} prefix - It could be a device id or a stream name\n * @param {String} suffix - It could be a channel name or a the default stream suffix (live_stream)\n * @return a string that represents the complete exchange name\n */\n exchangeName(prefix, suffix) {\n return (prefix && suffix) ? `${this.liveStreamByName(prefix)}.${suffix}` : `${suffix}`;\n }\n\n // ------------ PRIVATE METHODS -------------------\n\n /**\n * Encapsulates contens for publishing messages.\n * If the content is a valid JSON the function stringifies the content\n *\n * @private\n * @param {Object} content - content to publish, could be a string or a JSON object\n * @return the content encapsulated in the proper way\n */\n _encapsulateContent(content) {\n let encapsulatedContent = content;\n try {\n encapsulatedContent = JSON.stringify(content);\n } catch (ex) {\n encapsulatedContent = content;\n }\n return encapsulatedContent;\n }\n\n /**\n * Generate the complete hostname string for an endpoint\n *\n * @private\n * @return the string representing the endpoint url\n */\n _generateHostname() {\n if (this._endpoint.url) {\n return this._endpoint.url;\n }\n let hostname = `${this._endpoint.host}:${this._endpoint.port}`;\n const protocol = (this._tls) ? this._endpoint.secureProtocol : this._endpoint.protocol;\n if (!startsWith(hostname, protocol)) {\n hostname = `${protocol}://${hostname}`;\n }\n return hostname;\n }\n\n /**\n * Automatically parse message content\n *\n * @private\n * @param {Object/String} message - the received message\n * @return an object containing the input message with parsed content\n */\n _parseContent(message) {\n let parsedMessage = message;\n if (Buffer.isBuffer(parsedMessage)) {\n parsedMessage = parsedMessage.toString('utf-8');\n }\n let res = undefined;\n try {\n res = JSON.parse(parsedMessage);\n } catch (ex) {\n res = parsedMessage;\n }\n return res;\n }\n\n}\n\nexport default SpaceBunny;\n"],"sourceRoot":"./src"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..52c5ed4 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,10722 @@ +{ + "name": "spacebunny", + "version": "0.5.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "Base64": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz", + "integrity": "sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg=", + "dev": true + }, + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true + }, + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "requires": { + "mime-types": "2.1.18", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "dev": true, + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "3.3.0" + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "amqplib": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.4.0.tgz", + "integrity": "sha1-nv52Vt2oWnNZ9mSicm6OhSKeEkw=", + "requires": { + "bitsyntax": "0.0.4", + "buffer-more-ints": "0.0.2", + "readable-stream": "1.1.14", + "when": "3.6.4" + }, + "dependencies": { + "when": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", + "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=" + } + } + }, + "ansi-escape-sequences": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz", + "integrity": "sha1-HBg5S2r5t2/5pjUJ+kl2af0s5T4=", + "dev": true, + "requires": { + "array-back": "1.0.4" + } + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", + "dev": true + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "app-usage-stats": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/app-usage-stats/-/app-usage-stats-0.4.1.tgz", + "integrity": "sha1-l+ubibVnj6LdyXk7EphijMIYQp8=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "core-js": "2.5.7", + "feature-detect-es6": "1.4.1", + "home-path": "1.0.6", + "test-value": "2.1.0", + "usage-stats": "0.8.6" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "dev": true, + "requires": { + "typical": "2.6.1" + } + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-tools": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/array-tools/-/array-tools-1.8.6.tgz", + "integrity": "sha1-FFdx9/nJTpjMXqQZapm4MjruGK4=", + "dev": true, + "requires": { + "object-tools": "1.6.7", + "typical": "2.6.1" + }, + "dependencies": { + "object-tools": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/object-tools/-/object-tools-1.6.7.tgz", + "integrity": "sha1-UtQA/IdSUJk9u7O6KY18ebsGmNA=", + "dev": true, + "requires": { + "array-tools": "1.8.6", + "typical": "2.6.1" + } + } + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true, + "optional": true + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", + "dev": true + }, + "axios": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.11.0.tgz", + "integrity": "sha1-UK3Fm9DxG+6Jo4OySy1Adkjm1ug=", + "requires": { + "follow-redirects": "0.0.7" + } + }, + "babel": { + "version": "6.5.1", + "resolved": "http://registry.npmjs.org/babel/-/babel-6.5.1.tgz", + "integrity": "sha1-FzadfW8mgtXet0HWW/1fdGvhI6s=", + "dev": true + }, + "babel-cli": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.8.0.tgz", + "integrity": "sha1-EPDxJgok7ZRwWAsIblhfO2V8B+E=", + "dev": true, + "requires": { + "babel-core": "6.8.0", + "babel-polyfill": "6.26.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "bin-version-check": "2.1.0", + "chalk": "1.1.1", + "chokidar": "1.7.0", + "commander": "2.16.0", + "convert-source-map": "1.5.1", + "fs-readdir-recursive": "0.1.2", + "glob": "5.0.15", + "lodash": "3.10.1", + "log-symbols": "1.0.2", + "output-file-sync": "1.1.2", + "path-exists": "1.0.0", + "path-is-absolute": "1.0.1", + "request": "2.87.0", + "slash": "1.0.0", + "source-map": "0.5.7", + "v8flags": "2.1.1" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + } + } + }, + "babel-core": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.8.0.tgz", + "integrity": "sha1-Uv3gtMBdnrf2Cto8dWZiOPFNFCA=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.4.0", + "lodash": "3.10.1", + "minimatch": "2.0.10", + "path-exists": "1.0.0", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "shebang-regex": "1.0.0", + "slash": "1.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } + } + }, + "babel-eslint": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-6.0.4.tgz", + "integrity": "sha1-z4fc1RYkGy4B2F6A4I6EmiMr3vc=", + "dev": true, + "requires": { + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash.assign": "4.2.0", + "lodash.pickby": "4.6.0" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-jest": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-12.0.2.tgz", + "integrity": "sha1-jsor9SpoZac4T1szQ8Gb/5hph60=", + "dev": true, + "requires": { + "babel-core": "6.8.0", + "babel-preset-jest": "12.1.0" + } + }, + "babel-loader": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.2.4.tgz", + "integrity": "sha1-qnCv+N3CI6WVLoOaQ6bDpMi/oek=", + "dev": true, + "requires": { + "loader-utils": "0.2.17", + "mkdirp": "0.5.1", + "object-assign": "4.1.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-12.1.0.tgz", + "integrity": "sha1-Tg0KL9cjxPmrAaFgbaoVvza9cIM=", + "dev": true + }, + "babel-plugin-lodash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-3.0.0.tgz", + "integrity": "sha1-n3oZcR8sQHcAOiRjQaq5phOy8nM=", + "dev": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.11.2" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + } + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", + "dev": true + }, + "babel-plugin-syntax-class-constructor-call": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", + "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, + "babel-plugin-syntax-do-expressions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", + "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=", + "dev": true + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-export-extensions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", + "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", + "dev": true + }, + "babel-plugin-syntax-function-bind": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz", + "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-generators": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-class-constructor-call": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", + "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", + "dev": true, + "requires": { + "babel-plugin-syntax-class-constructor-call": "6.18.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "dev": true, + "requires": { + "babel-helper-explode-class": "6.24.1", + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-do-expressions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz", + "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=", + "dev": true, + "requires": { + "babel-plugin-syntax-do-expressions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-export-extensions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", + "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", + "dev": true, + "requires": { + "babel-plugin-syntax-export-extensions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-function-bind": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz", + "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=", + "dev": true, + "requires": { + "babel-plugin-syntax-function-bind": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "regenerator-runtime": "0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "babel-preset-es2015": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.6.0.tgz", + "integrity": "sha1-iLM+WP7JTG695Y3GXs5dFODsJWg=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" + } + }, + "babel-preset-jest": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-12.1.0.tgz", + "integrity": "sha1-C0AeboocTqvFXby1m8RjEusba/Y=", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "12.1.0" + } + }, + "babel-preset-stage-0": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.5.0.tgz", + "integrity": "sha1-i4R5sgd0grjz3I+PXwyceXiM3iI=", + "dev": true, + "requires": { + "babel-plugin-transform-do-expressions": "6.22.0", + "babel-plugin-transform-function-bind": "6.22.0", + "babel-preset-stage-1": "6.24.1" + } + }, + "babel-preset-stage-1": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", + "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", + "dev": true, + "requires": { + "babel-plugin-transform-class-constructor-call": "6.24.1", + "babel-plugin-transform-export-extensions": "6.22.0", + "babel-preset-stage-2": "6.24.1" + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-decorators": "6.24.1", + "babel-preset-stage-3": "6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-generator-functions": "6.24.1", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + }, + "dependencies": { + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "bin-version": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz", + "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=", + "dev": true, + "requires": { + "find-versions": "1.2.1" + } + }, + "bin-version-check": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz", + "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=", + "dev": true, + "requires": { + "bin-version": "1.0.4", + "minimist": "1.2.0", + "semver": "4.3.6", + "semver-truncate": "1.1.2" + } + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true + }, + "bitsyntax": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz", + "integrity": "sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI=", + "requires": { + "buffer-more-ints": "0.0.2" + } + }, + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "requires": { + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "bluebird": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.5.tgz", + "integrity": "sha1-XudH8ce9lnZYtoOTZDCu51OVWjQ=" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.3", + "iconv-lite": "0.4.19", + "on-finished": "2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "1.6.16" + }, + "dependencies": { + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "1.2.0", + "browserify-des": "1.0.1", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz", + "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.6" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, + "requires": { + "pako": "0.2.9" + } + }, + "bser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", + "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", + "dev": true, + "requires": { + "node-int64": "0.4.0" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.3.0", + "ieee754": "1.1.12", + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==" + }, + "buffer-more-ints": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz", + "integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "cache-point": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-0.3.4.tgz", + "integrity": "sha1-FS21Asa7I7WqP2Y+Iw1d6OxOTz8=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "core-js": "2.5.7", + "feature-detect-es6": "1.4.1", + "fs-then-native": "1.0.2", + "mkdirp": "0.5.1" + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "catharsis": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz", + "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=", + "dev": true, + "requires": { + "underscore-contrib": "0.3.0" + } + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", + "integrity": "sha1-UJr7ZwZudJn36zU1x3RFdyri0Bk=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.2.4", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "cli-commands": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cli-commands/-/cli-commands-0.1.0.tgz", + "integrity": "sha1-xXysxAa7z57iFkZgcWHtQy71oFo=", + "dev": true, + "requires": { + "ansi-escape-sequences": "3.0.0", + "command-line-args": "3.0.5", + "command-line-commands": "1.0.4", + "command-line-usage": "3.0.8" + } + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "dev": true, + "requires": { + "restore-cursor": "1.0.1" + } + }, + "cli-table": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.0.2.tgz", + "integrity": "sha1-mChn4WQ1Mlxmwgih5xuVM26jCTs=", + "dev": true, + "requires": { + "colors": "0.3.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + }, + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collect-all": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-0.2.1.tgz", + "integrity": "sha1-ciX7RYXCLU/6yIbwq69avFY6Gmo=", + "dev": true, + "requires": { + "stream-connect": "1.0.2", + "stream-via": "0.1.1", + "typical": "2.6.1" + } + }, + "collect-json": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/collect-json/-/collect-json-1.0.8.tgz", + "integrity": "sha1-qi+lK00dlETOaQ8HoeNherdLuCc=", + "dev": true, + "requires": { + "collect-all": "1.0.3", + "stream-connect": "1.0.2", + "stream-via": "1.0.4" + }, + "dependencies": { + "collect-all": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.3.tgz", + "integrity": "sha512-0y0rBgoX8IzIjBAUnO73SEtSb4Mhk3IoceWJq5zZSxb9mWORhWH8xLYo4EDSOE1jRBk1LhmfjqWFFt10h/+MEA==", + "dev": true, + "requires": { + "stream-connect": "1.0.2", + "stream-via": "1.0.4" + } + }, + "stream-via": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz", + "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==", + "dev": true + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "colors": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.3.0.tgz", + "integrity": "sha1-wkfWTTTbDKTcjkPz7NbamNCvlOc=", + "dev": true + }, + "column-layout": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/column-layout/-/column-layout-2.1.4.tgz", + "integrity": "sha1-7ShXCSzPgzgCb+U4N52WctcLNkE=", + "dev": true, + "requires": { + "ansi-escape-sequences": "2.2.2", + "array-back": "1.0.4", + "collect-json": "1.0.8", + "command-line-args": "2.1.6", + "core-js": "2.5.7", + "deep-extend": "0.4.2", + "feature-detect-es6": "1.4.1", + "object-tools": "2.0.6", + "typical": "2.6.1", + "wordwrapjs": "1.2.1" + }, + "dependencies": { + "ansi-escape-sequences": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-2.2.2.tgz", + "integrity": "sha1-F0x41vi33nX4lXroHH9yIQxwFjU=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "collect-all": "0.2.1" + } + }, + "command-line-args": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-2.1.6.tgz", + "integrity": "sha1-8ZfW6v80yQhVd0hLKGQ3WylPVpc=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "command-line-usage": "2.0.5", + "core-js": "2.5.7", + "feature-detect-es6": "1.4.1", + "find-replace": "1.0.3", + "typical": "2.6.1" + } + }, + "command-line-usage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-2.0.5.tgz", + "integrity": "sha1-+Aw1yl6GJIQZI+o747m/v0974ns=", + "dev": true, + "requires": { + "ansi-escape-sequences": "2.2.2", + "array-back": "1.0.4", + "column-layout": "2.1.4", + "feature-detect-es6": "1.4.1", + "typical": "2.6.1", + "wordwrapjs": "1.2.1" + } + }, + "wordwrapjs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-1.2.1.tgz", + "integrity": "sha1-dUpeoGZM+/9QVA3DLWe9oyifw0s=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "typical": "2.6.1" + } + } + } + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "command-line-args": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-3.0.5.tgz", + "integrity": "sha1-W9StReeYPlwTRJGOQCgO4mk8WsA=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "feature-detect-es6": "1.4.1", + "find-replace": "1.0.3", + "typical": "2.6.1" + } + }, + "command-line-commands": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/command-line-commands/-/command-line-commands-1.0.4.tgz", + "integrity": "sha1-A0+bFntRiK+9z2su+7FQ/IRCwys=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "feature-detect-es6": "1.4.1" + } + }, + "command-line-tool": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.5.2.tgz", + "integrity": "sha1-+H1pd/VrvdLV38+UY0XdLNnGpTo=", + "dev": true, + "requires": { + "ansi-escape-sequences": "2.2.2", + "array-back": "1.0.4", + "command-line-args": "3.0.5", + "command-line-usage": "3.0.8", + "feature-detect-es6": "1.4.1", + "typical": "2.6.1" + }, + "dependencies": { + "ansi-escape-sequences": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-2.2.2.tgz", + "integrity": "sha1-F0x41vi33nX4lXroHH9yIQxwFjU=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "collect-all": "0.2.1" + } + } + } + }, + "command-line-usage": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-3.0.8.tgz", + "integrity": "sha1-tqIJeMGzg0d/XBGlKUKLiAv+D00=", + "dev": true, + "requires": { + "ansi-escape-sequences": "3.0.0", + "array-back": "1.0.4", + "feature-detect-es6": "1.4.1", + "table-layout": "0.3.0", + "typical": "2.6.1" + } + }, + "commander": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz", + "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", + "dev": true + }, + "commist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/commist/-/commist-1.0.0.tgz", + "integrity": "sha1-wMNSUBz29S6RJOPvicmAbiAi6+8=", + "requires": { + "leven": "1.0.2", + "minimist": "1.2.0" + } + }, + "common-sequence": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-1.0.2.tgz", + "integrity": "sha1-MOB/P49vf5s97oVPILLTnu4Ibeg=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "compressible": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", + "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", + "dev": true, + "requires": { + "mime-db": "1.34.0" + }, + "dependencies": { + "mime-db": { + "version": "1.34.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz", + "integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o=", + "dev": true + } + } + }, + "compression": { + "version": "1.7.2", + "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz", + "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "bytes": "3.0.0", + "compressible": "2.0.14", + "debug": "2.6.9", + "on-headers": "1.0.1", + "safe-buffer": "5.1.1", + "vary": "1.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "1.1.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "config-master": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/config-master/-/config-master-2.0.4.tgz", + "integrity": "sha1-50lQXF0/lG8vrTx23+cfymiXUdw=", + "dev": true, + "requires": { + "babel-polyfill": "6.26.0", + "feature-detect-es6": "1.4.1", + "walk-back": "2.0.1" + } + }, + "connect-history-api-fallback": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.1.0.tgz", + "integrity": "sha1-Wm3ugtmmSMspEx0/ndQA/6RZN0I=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "content-type-parser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", + "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cover": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/cover/-/cover-0.2.9.tgz", + "integrity": "sha1-JiAp37MXFNSAQ/7ZHt5lhZOVXdQ=", + "dev": true, + "requires": { + "cli-table": "0.0.2", + "underscore": "1.2.4", + "underscore.string": "2.0.0", + "which": "1.0.9" + }, + "dependencies": { + "underscore": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.2.4.tgz", + "integrity": "sha1-6NpiQaoG9k3yRzuyWQuMF8hMPH4=", + "dev": true + }, + "which": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", + "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=", + "dev": true + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, + "cssom": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", + "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", + "dev": true + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true, + "requires": { + "cssom": "0.3.4" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.45" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "ddata": { + "version": "0.1.28", + "resolved": "https://registry.npmjs.org/ddata/-/ddata-0.1.28.tgz", + "integrity": "sha1-UxOPr6PwF0nqJFHRK2tt2d8dWx8=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "core-js": "2.5.7", + "handlebars": "3.0.3", + "marked": "0.3.19", + "object-get": "2.1.0", + "reduce-flatten": "1.0.1", + "string-tools": "1.0.0", + "test-value": "2.1.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-extend": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "1.0.4" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + } + } + }, + "defer-promise": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defer-promise/-/defer-promise-1.0.1.tgz", + "integrity": "sha1-HKb/7dvO8XFd16riXHYW+a4iky8=", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "del": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.0.2.tgz", + "integrity": "sha1-bNxo2wAoK5LY6CoO2f/x0zMZNCQ=", + "dev": true, + "requires": { + "globby": "3.0.1", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "1.0.0", + "rimraf": "2.6.2" + }, + "dependencies": { + "pinkie": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", + "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", + "dev": true + }, + "pinkie-promise": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", + "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", + "dev": true, + "requires": { + "pinkie": "1.0.0" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "deprecated": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", + "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "diff": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz", + "integrity": "sha1-YOr9DSjukG5Oj/ClLBIpUhAzv5k=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, + "dmd": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/dmd/-/dmd-1.4.2.tgz", + "integrity": "sha1-sTBLmKVwCmv+Xc+RvmV8mBcApLw=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "command-line-tool": "0.5.2", + "common-sequence": "1.0.2", + "ddata": "0.1.28", + "file-set": "1.1.1", + "handlebars-array": "0.2.1", + "handlebars-comparison": "2.0.1", + "handlebars-json": "1.0.1", + "handlebars-regexp": "1.0.1", + "handlebars-string": "2.0.2", + "object-tools": "2.0.6", + "reduce-unique": "1.0.0", + "reduce-without": "1.0.1", + "stream-handlebars": "0.1.6", + "string-tools": "1.0.0", + "walk-back": "2.0.1" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "1.1.14" + } + }, + "duplexify": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.4", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "requires": { + "once": "1.4.0" + } + }, + "enhanced-resolve": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", + "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.2.0", + "tapable": "0.1.10" + }, + "dependencies": { + "memory-fs": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", + "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", + "dev": true + } + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es5-ext": { + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "2.7.3", + "estraverse": "1.9.3", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.2.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "eslint": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-2.9.0.tgz", + "integrity": "sha1-Wz/bdJe7BC4nR+PR/pX0BNyjmmA=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "concat-stream": "1.6.2", + "debug": "2.6.9", + "doctrine": "1.5.0", + "es6-map": "0.1.5", + "escope": "3.6.0", + "espree": "3.1.4", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "file-entry-cache": "1.3.1", + "glob": "7.1.2", + "globals": "9.18.0", + "ignore": "3.3.10", + "imurmurhash": "0.1.4", + "inquirer": "0.12.0", + "is-my-json-valid": "2.17.2", + "is-resolvable": "1.1.0", + "js-yaml": "3.12.0", + "json-stable-stringify": "1.0.1", + "lodash": "4.11.2", + "mkdirp": "0.5.1", + "optionator": "0.8.2", + "path-is-absolute": "1.0.1", + "path-is-inside": "1.0.2", + "pluralize": "1.2.1", + "progress": "1.1.8", + "require-uncached": "1.0.3", + "shelljs": "0.6.1", + "strip-json-comments": "1.0.4", + "table": "3.8.3", + "text-table": "0.2.0", + "user-home": "2.0.0" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } + } + } + }, + "eslint-config-airbnb": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-8.0.0.tgz", + "integrity": "sha1-LlOYJiYuY2dSWWDVoNU9MrJjr5A=", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "1.0.4" + } + }, + "eslint-config-airbnb-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-1.0.4.tgz", + "integrity": "sha1-vFQgiQvGRCzxUnfJpKKB/BMX+KY=", + "dev": true + }, + "eslint-import-resolver-node": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", + "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", + "dev": true, + "requires": { + "debug": "2.6.9", + "object-assign": "4.1.1", + "resolve": "1.8.1" + } + }, + "eslint-loader": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.2.1.tgz", + "integrity": "sha1-Z7FmNJdYXqJnj83VFxZT73sRDSA=", + "dev": true, + "requires": { + "loader-utils": "0.2.17", + "object-assign": "4.1.1" + } + }, + "eslint-plugin-import": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.6.1.tgz", + "integrity": "sha1-hWzXjQKilP9+Re1vTMkXrjc28ps=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1", + "doctrine": "1.2.3", + "es6-map": "0.1.5", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "eslint-import-resolver-node": "0.2.3", + "lodash.cond": "4.5.2", + "lodash.endswith": "4.2.1", + "lodash.find": "4.6.0", + "object-assign": "4.1.1", + "pkg-up": "1.0.0" + }, + "dependencies": { + "doctrine": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.3.tgz", + "integrity": "sha1-auxrvWLPid1JjK5wwO2fSdqHOmo=", + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-1.0.4.tgz", + "integrity": "sha1-Mnmf1ZCI5DQMPMlU3oYBMqjQTTw=", + "dev": true, + "requires": { + "object-assign": "4.1.1" + } + }, + "eslint-plugin-react": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-5.0.1.tgz", + "integrity": "sha1-WljFIoy6dCAuRaik1jUf+7Dqdbk=", + "dev": true + }, + "espree": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.4.tgz", + "integrity": "sha1-BybXrIOvl6fISY2ps2OjYJ0qaKE=", + "dev": true, + "requires": { + "acorn": "3.3.0", + "acorn-jsx": "3.0.1" + } + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45" + } + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": "1.0.1" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.2" + } + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "dev": true, + "requires": { + "merge": "1.2.0" + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.4" + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "1.0.1" + } + }, + "express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.3", + "qs": "6.5.1", + "range-parser": "1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "1.4.0", + "type-is": "1.6.16", + "utils-merge": "1.0.1", + "vary": "1.1.2" + }, + "dependencies": { + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fancy-log": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", + "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "dev": true, + "requires": { + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + }, + "fb-watchman": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", + "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", + "dev": true, + "requires": { + "bser": "1.0.2" + } + }, + "feature-detect-es6": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/feature-detect-es6/-/feature-detect-es6-1.4.1.tgz", + "integrity": "sha512-iMxKpKdIBgcWiBPtz2qnEsNjCE2dBQvDyUqgrXLJboiaHwJa+2vDIZ8XbgNZGh1Rx1PUfZmI7uhG6Z4iQYWVjg==", + "dev": true, + "requires": { + "array-back": "1.0.4" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "file-entry-cache": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", + "integrity": "sha1-RMYepgeuS+nBQC9B9EJwy/4zT/g=", + "dev": true, + "requires": { + "flat-cache": "1.3.0", + "object-assign": "4.1.1" + } + }, + "file-set": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/file-set/-/file-set-1.1.1.tgz", + "integrity": "sha1-0+xwwIDsjxjyBLod4QZ4DJBWkms=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "glob": "7.1.2" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + } + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.0.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "filter-where": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/filter-where/-/filter-where-1.0.1.tgz", + "integrity": "sha1-GwQlae3ONrwcTp9zdA0sTi/u930=", + "dev": true, + "requires": { + "test-value": "1.1.0" + }, + "dependencies": { + "test-value": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz", + "integrity": "sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "typical": "2.6.1" + } + } + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" + } + }, + "find-index": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", + "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", + "dev": true + }, + "find-replace": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", + "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "test-value": "2.1.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + } + } + }, + "find-versions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz", + "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=", + "dev": true, + "requires": { + "array-uniq": "1.0.3", + "get-stdin": "4.0.1", + "meow": "3.7.0", + "semver-regex": "1.0.0" + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "1.0.0", + "is-glob": "3.1.0", + "micromatch": "3.1.10", + "resolve-dir": "1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } + } + }, + "fined": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", + "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "is-plain-object": "2.0.4", + "object.defaults": "1.1.0", + "object.pick": "1.3.0", + "parse-filepath": "1.0.2" + } + }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true + }, + "flagged-respawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz", + "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=", + "dev": true + }, + "flat-cache": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.0.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + } + }, + "follow-redirects": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.7.tgz", + "integrity": "sha1-NLkLqyqRGqNHVx2pDyK9NuzYqRk=", + "requires": { + "debug": "2.6.9", + "stream-consume": "0.1.1" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-readdir-recursive": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz", + "integrity": "sha1-MVtPuMHKW4xH3v7zGdBz2tNWgFk=", + "dev": true + }, + "fs-then-native": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-1.0.2.tgz", + "integrity": "sha1-rI04B8nxu9Enlgf7Io4Ktkm7Qf4=", + "dev": true, + "requires": { + "feature-detect-es6": "1.4.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "gaze": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", + "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", + "dev": true, + "requires": { + "globule": "0.1.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "2.0.10", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "glob-stream": { + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", + "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", + "dev": true, + "requires": { + "glob": "4.5.3", + "glob2base": "0.0.12", + "minimatch": "2.0.10", + "ordered-read-streams": "0.1.0", + "through2": "0.6.5", + "unique-stream": "1.0.0" + }, + "dependencies": { + "glob": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "2.0.10", + "once": "1.4.0" + } + } + } + }, + "glob-watcher": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", + "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", + "dev": true, + "requires": { + "gaze": "0.5.2" + } + }, + "glob2base": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", + "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", + "dev": true, + "requires": { + "find-index": "0.1.1" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "1.0.2", + "is-windows": "1.0.2", + "resolve-dir": "1.0.1" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "homedir-polyfill": "1.0.1", + "ini": "1.3.5", + "is-windows": "1.0.2", + "which": "1.3.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-3.0.1.tgz", + "integrity": "sha1-IJSvhCHhkVIVDViT62QWsxLZoi8=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "5.0.15", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "1.0.0" + }, + "dependencies": { + "pinkie": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz", + "integrity": "sha1-Wkfyi6EBXQIBvae/DzWOR77Ix+Q=", + "dev": true + }, + "pinkie-promise": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz", + "integrity": "sha1-0dpn9UglY7t89X8oauKCLs+/NnA=", + "dev": true, + "requires": { + "pinkie": "1.0.0" + } + } + } + }, + "globule": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", + "dev": true, + "requires": { + "glob": "3.1.21", + "lodash": "1.0.2", + "minimatch": "0.2.14" + }, + "dependencies": { + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "dev": true, + "requires": { + "graceful-fs": "1.2.3", + "inherits": "1.0.2", + "minimatch": "0.2.14" + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "dev": true + }, + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + }, + "lodash": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", + "dev": true + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "dev": true, + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + } + } + }, + "glogg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", + "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", + "dev": true, + "requires": { + "sparkles": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "gulp": { + "version": "3.8.11", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.8.11.tgz", + "integrity": "sha1-1Vfgpyg+tBNkkZabBJd2eXLx0oo=", + "dev": true, + "requires": { + "archy": "1.0.0", + "chalk": "0.5.1", + "deprecated": "0.0.1", + "gulp-util": "3.0.4", + "interpret": "0.3.10", + "liftoff": "2.5.0", + "minimist": "1.2.0", + "orchestrator": "0.3.8", + "pretty-hrtime": "0.2.2", + "semver": "4.3.6", + "tildify": "1.2.0", + "v8flags": "2.1.1", + "vinyl-fs": "0.3.14" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "1.1.0", + "escape-string-regexp": "1.0.5", + "has-ansi": "0.1.0", + "strip-ansi": "0.3.0", + "supports-color": "0.2.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "0.2.1" + } + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + } + } + }, + "gulp-babel": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-6.1.2.tgz", + "integrity": "sha1-fAF25Lo/JExgWIoMSzIKRdGt784=", + "dev": true, + "requires": { + "babel-core": "6.8.0", + "gulp-util": "3.0.4", + "object-assign": "4.1.1", + "replace-ext": "0.0.1", + "through2": "2.0.3", + "vinyl-sourcemaps-apply": "0.2.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + } + } + }, + "gulp-jsdoc-to-markdown": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/gulp-jsdoc-to-markdown/-/gulp-jsdoc-to-markdown-1.2.2.tgz", + "integrity": "sha1-vQ4mfjlyvBaee9uZL5Z4I7Aj/v0=", + "dev": true, + "requires": { + "gulp-util": "3.0.8", + "jsdoc-to-markdown": "1.3.9", + "through2": "2.0.3" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", + "dev": true + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.1", + "dateformat": "2.2.0", + "fancy-log": "1.3.2", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", + "replace-ext": "0.0.1", + "through2": "2.0.3", + "vinyl": "0.5.3" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulp-rename": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", + "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=", + "dev": true + }, + "gulp-sourcemaps": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", + "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", + "dev": true, + "requires": { + "convert-source-map": "1.5.1", + "graceful-fs": "4.1.11", + "strip-bom": "2.0.0", + "through2": "2.0.3", + "vinyl": "1.2.0" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "1.0.4", + "clone-stats": "0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulp-util": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.4.tgz", + "integrity": "sha1-7HNVMJD9sj2I+gKBKtG2EiWFSIE=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.1", + "dateformat": "1.0.12", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "2.1.1", + "replace-ext": "0.0.1", + "through2": "0.6.5", + "vinyl": "0.4.6" + }, + "dependencies": { + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "1.0.1" + } + }, + "handlebars": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-3.0.3.tgz", + "integrity": "sha1-DgllGi8Ps8lJFgWDcQ1VH5Lm0q0=", + "dev": true, + "requires": { + "optimist": "0.6.1", + "source-map": "0.1.43", + "uglify-js": "2.3.6" + }, + "dependencies": { + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "handlebars-array": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/handlebars-array/-/handlebars-array-0.2.1.tgz", + "integrity": "sha1-3Vg5WlJh1mGYjo13Ug67+q3GvSQ=", + "dev": true, + "requires": { + "array-tools": "1.8.6" + } + }, + "handlebars-comparison": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handlebars-comparison/-/handlebars-comparison-2.0.1.tgz", + "integrity": "sha1-sXuV0sKYV45K6tOPX6xG6PYAWFU=", + "dev": true, + "requires": { + "array-tools": "1.8.6" + } + }, + "handlebars-json": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/handlebars-json/-/handlebars-json-1.0.1.tgz", + "integrity": "sha1-Lvh7t4JVHNZFu0aRuCTpZT7AJQQ=", + "dev": true + }, + "handlebars-regexp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/handlebars-regexp/-/handlebars-regexp-1.0.1.tgz", + "integrity": "sha1-X0fwZyYOm6jlLxooCRf3DeOfEeQ=", + "dev": true + }, + "handlebars-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/handlebars-string/-/handlebars-string-2.0.2.tgz", + "integrity": "sha1-ufkiCKl5z89R/0qQ3voYPcYpQso=", + "dev": true, + "requires": { + "array-tools": "1.8.6", + "string-tools": "0.1.8" + }, + "dependencies": { + "string-tools": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/string-tools/-/string-tools-0.1.8.tgz", + "integrity": "sha1-cIhOhqJu5RA6B4vvZwM9VY024zc=", + "dev": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "1.0.1" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "hash.js": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.4.tgz", + "integrity": "sha512-A6RlQvvZEtFS5fLU43IDu0QUmBy+fDO9VMdTXvufKwIkt/rFfvICAViCax5fbDO4zdNzaC3/27ZhKUok5bAJyw==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "help-me": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-0.1.0.tgz", + "integrity": "sha1-D7OkBTetUmW2tJQTAixg01tJU5o=", + "requires": { + "concat-stream": "1.6.2", + "pump": "1.0.3", + "readable-stream": "1.1.14", + "xtend": "4.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.4", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "home-path": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.6.tgz", + "integrity": "sha512-wo+yjrdAtoXt43Vy92a+0IPCYViiyLAHyp0QVS4xL/tfvVz5sXIW1ubLZk3nhVkD92fQpUMKX+fzMjr5F489vw==", + "dev": true + }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "1.0.0" + } + }, + "hosted-git-info": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.1.tgz", + "integrity": "sha512-Ba4+0M4YvIDUUsprMjhVTU1yN9F2/LJSAl69ZpzaLT4l4j5mwTS6jqqW9Ojvj6lKz/veqPzpJBqGbXspOb533A==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "1.0.3" + } + }, + "http-browserify": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz", + "integrity": "sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=", + "dev": true, + "requires": { + "Base64": "0.2.1", + "inherits": "2.0.3" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": "1.4.0" + } + }, + "http-parser-js": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", + "dev": true + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "requires": { + "eventemitter3": "3.1.0", + "follow-redirects": "1.5.0", + "requires-port": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", + "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", + "dev": true, + "requires": { + "debug": "3.1.0" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "https-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", + "dev": true + }, + "humps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/humps/-/humps-1.1.0.tgz", + "integrity": "sha1-maBcyAsTrnVKPR4akhgvJx7x2Y8=" + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "ansi-regex": "2.1.1", + "chalk": "1.1.1", + "cli-cursor": "1.0.2", + "cli-width": "2.2.0", + "figures": "1.7.0", + "lodash": "4.11.2", + "readline2": "1.0.1", + "run-async": "0.1.0", + "rx-lite": "3.1.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "through": "2.3.8" + } + }, + "interpret": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.3.10.tgz", + "integrity": "sha1-CIwl3nMcbFsRKpDwBxz69Fnlp7s=", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "ipaddr.js": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "1.0.0", + "is-windows": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "1.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.9", + "async": "1.5.2", + "escodegen": "1.8.1", + "esprima": "2.7.3", + "glob": "5.0.15", + "handlebars": "4.0.11", + "js-yaml": "3.12.0", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "once": "1.4.0", + "resolve": "1.1.7", + "supports-color": "3.2.3", + "which": "1.3.1", + "wordwrap": "1.0.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "handlebars": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "optional": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + } + } + } + } + }, + "jest-cli": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-12.0.2.tgz", + "integrity": "sha1-WVUtFGwcCg++cpubLTUbehMwj40=", + "dev": true, + "requires": { + "chalk": "1.1.1", + "cover": "0.2.9", + "diff": "2.2.3", + "graceful-fs": "4.1.11", + "istanbul": "0.4.5", + "jest-environment-jsdom": "12.1.0", + "jest-environment-node": "12.1.0", + "jest-haste-map": "12.1.0", + "jest-jasmine1": "12.1.0", + "jest-jasmine2": "12.1.0", + "jest-mock": "12.1.0", + "jest-util": "12.1.0", + "json-stable-stringify": "1.0.1", + "lodash.template": "4.4.0", + "mkdirp": "0.5.1", + "optimist": "0.6.1", + "resolve": "1.8.1", + "sane": "1.7.0", + "which": "1.3.1", + "worker-farm": "1.6.0" + }, + "dependencies": { + "lodash.template": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", + "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "dev": true, + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.templatesettings": "4.1.0" + } + }, + "lodash.templatesettings": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", + "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "dev": true, + "requires": { + "lodash._reinterpolate": "3.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-12.1.0.tgz", + "integrity": "sha1-1jCmGpAO+yqJnfsNkjOprm7bpR4=", + "dev": true, + "requires": { + "jest-util": "12.1.0", + "jsdom": "9.12.0" + } + }, + "jest-environment-node": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-12.1.0.tgz", + "integrity": "sha1-+BiQ+JX16fw912UCSKNfJQLCQzM=", + "dev": true, + "requires": { + "jest-util": "12.1.0" + } + }, + "jest-haste-map": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-12.1.0.tgz", + "integrity": "sha1-4m/vm4CkORFFMx9ks/li7P+yEi8=", + "dev": true, + "requires": { + "fb-watchman": "1.9.2", + "graceful-fs": "4.1.11", + "worker-farm": "1.6.0" + } + }, + "jest-jasmine1": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/jest-jasmine1/-/jest-jasmine1-12.1.0.tgz", + "integrity": "sha1-BAkETQOE7HZeiivDj9eNtfbFW/8=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jest-util": "12.1.0" + } + }, + "jest-jasmine2": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-12.1.0.tgz", + "integrity": "sha1-IpwezDbQTXHVOLwBM8cdhwdxEus=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jest-util": "12.1.0" + } + }, + "jest-mock": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-12.1.0.tgz", + "integrity": "sha1-RyuJYpT3uR4j3N28ts+j5uSygEk=", + "dev": true + }, + "jest-util": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-12.1.0.tgz", + "integrity": "sha1-PTZz6B8X4OyWfp3ceFFgpRq57BI=", + "dev": true, + "requires": { + "chalk": "1.1.1", + "diff": "2.2.3", + "graceful-fs": "4.1.11", + "jest-mock": "12.1.0", + "mkdirp": "0.5.1" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.0" + } + }, + "js2xmlparser": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-1.0.0.tgz", + "integrity": "sha1-WhcPLo1kds5FQF4EgjJCUTeC/jA=", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsdoc-75lb": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jsdoc-75lb/-/jsdoc-75lb-3.6.0.tgz", + "integrity": "sha1-qAcRlSi0AJzLyrSbdSL2P+xs0L0=", + "dev": true, + "requires": { + "bluebird": "3.4.7", + "catharsis": "0.8.9", + "escape-string-regexp": "1.0.5", + "espree": "3.1.7", + "js2xmlparser": "1.0.0", + "klaw": "1.3.1", + "marked": "0.3.19", + "mkdirp": "0.5.1", + "requizzle": "0.2.1", + "strip-json-comments": "2.0.1", + "taffydb": "2.6.2", + "underscore": "1.8.3" + }, + "dependencies": { + "bluebird": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=", + "dev": true + }, + "espree": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.7.tgz", + "integrity": "sha1-/V3ux2qXpRIKnNOnyxF3oJI7EdI=", + "dev": true, + "requires": { + "acorn": "3.3.0", + "acorn-jsx": "3.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + } + } + }, + "jsdoc-api": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-1.2.4.tgz", + "integrity": "sha1-UBIjWSe/rR4nvIjQew3d2y06ilk=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "cache-point": "0.3.4", + "collect-all": "1.0.3", + "core-js": "2.5.7", + "feature-detect-es6": "1.4.1", + "file-set": "1.1.1", + "jsdoc-75lb": "3.6.0", + "object-to-spawn-args": "1.1.1", + "promise.prototype.finally": "1.0.1", + "temp-path": "1.0.0", + "then-fs": "2.0.0", + "walk-back": "2.0.1" + }, + "dependencies": { + "collect-all": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.3.tgz", + "integrity": "sha512-0y0rBgoX8IzIjBAUnO73SEtSb4Mhk3IoceWJq5zZSxb9mWORhWH8xLYo4EDSOE1jRBk1LhmfjqWFFt10h/+MEA==", + "dev": true, + "requires": { + "stream-connect": "1.0.2", + "stream-via": "1.0.4" + } + }, + "stream-via": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz", + "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==", + "dev": true + } + } + }, + "jsdoc-parse": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-1.2.7.tgz", + "integrity": "sha1-VLdIGzzWvLfBc9xPpp7pJzXqJSU=", + "dev": true, + "requires": { + "ansi-escape-sequences": "2.2.2", + "array-tools": "2.0.9", + "collect-json": "1.0.8", + "command-line-args": "2.1.6", + "command-line-tool": "0.1.0", + "core-js": "2.5.7", + "feature-detect-es6": "1.4.1", + "file-set": "0.2.8", + "jsdoc-api": "1.2.4", + "object-tools": "2.0.6", + "stream-connect": "1.0.2", + "test-value": "1.1.0" + }, + "dependencies": { + "ansi-escape-sequences": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-2.2.2.tgz", + "integrity": "sha1-F0x41vi33nX4lXroHH9yIQxwFjU=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "collect-all": "0.2.1" + } + }, + "array-tools": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/array-tools/-/array-tools-2.0.9.tgz", + "integrity": "sha1-WlEd56Qb4O7J/9zUkS0K+fDKyjU=", + "dev": true, + "requires": { + "ansi-escape-sequences": "2.2.2", + "array-back": "1.0.4", + "collect-json": "1.0.8", + "filter-where": "1.0.1", + "object-get": "2.1.0", + "reduce-extract": "1.0.0", + "reduce-flatten": "1.0.1", + "reduce-unique": "1.0.0", + "reduce-without": "1.0.1", + "sort-array": "1.1.2", + "test-value": "1.1.0" + } + }, + "command-line-args": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-2.1.6.tgz", + "integrity": "sha1-8ZfW6v80yQhVd0hLKGQ3WylPVpc=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "command-line-usage": "2.0.5", + "core-js": "2.5.7", + "feature-detect-es6": "1.4.1", + "find-replace": "1.0.3", + "typical": "2.6.1" + } + }, + "command-line-tool": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.1.0.tgz", + "integrity": "sha1-kaEbpIrGOkpodVQ2eYD3xkI8FJ0=", + "dev": true, + "requires": { + "ansi-escape-sequences": "2.2.2", + "array-back": "1.0.4" + } + }, + "command-line-usage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-2.0.5.tgz", + "integrity": "sha1-+Aw1yl6GJIQZI+o747m/v0974ns=", + "dev": true, + "requires": { + "ansi-escape-sequences": "2.2.2", + "array-back": "1.0.4", + "column-layout": "2.1.4", + "feature-detect-es6": "1.4.1", + "typical": "2.6.1", + "wordwrapjs": "1.2.1" + } + }, + "file-set": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/file-set/-/file-set-0.2.8.tgz", + "integrity": "sha1-c6ZXHpy+UaxZJsiL1WfREfg28Xg=", + "dev": true, + "requires": { + "array-tools": "2.0.9", + "glob": "4.5.3" + } + }, + "glob": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "2.0.10", + "once": "1.4.0" + } + }, + "test-value": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz", + "integrity": "sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "typical": "2.6.1" + } + }, + "wordwrapjs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-1.2.1.tgz", + "integrity": "sha1-dUpeoGZM+/9QVA3DLWe9oyifw0s=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "typical": "2.6.1" + } + } + } + }, + "jsdoc-to-markdown": { + "version": "1.3.9", + "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-1.3.9.tgz", + "integrity": "sha1-d0wOzg69C8wyYbLJoqqNE5mmFHI=", + "dev": true, + "requires": { + "ansi-escape-sequences": "3.0.0", + "command-line-args": "3.0.5", + "command-line-usage": "3.0.8", + "config-master": "2.0.4", + "dmd": "1.4.2", + "jsdoc-parse": "1.2.7", + "jsdoc2md-stats": "1.0.6", + "object-tools": "2.0.6", + "stream-connect": "1.0.2" + } + }, + "jsdoc2md-stats": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/jsdoc2md-stats/-/jsdoc2md-stats-1.0.6.tgz", + "integrity": "sha1-3A4AKuu9D7rlEjU0+Scyr7xlH78=", + "dev": true, + "requires": { + "app-usage-stats": "0.4.1", + "feature-detect-es6": "1.4.1" + } + }, + "jsdom": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", + "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", + "dev": true, + "requires": { + "abab": "1.0.4", + "acorn": "4.0.13", + "acorn-globals": "3.1.0", + "array-equal": "1.0.0", + "content-type-parser": "1.0.2", + "cssom": "0.3.4", + "cssstyle": "0.2.37", + "escodegen": "1.8.1", + "html-encoding-sniffer": "1.0.2", + "nwmatcher": "1.4.4", + "parse5": "1.5.1", + "request": "2.87.0", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.4", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.3", + "whatwg-url": "4.8.0", + "xml-name-validator": "2.0.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-loader": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.2.tgz", + "integrity": "sha1-7XkBnE83eEIuzNYkJ+tSZhLG70A=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", + "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "leven": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz", + "integrity": "sha1-kUS27ryl8dBoAWnxpncNzqYLdcM=" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "liftoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "dev": true, + "requires": { + "extend": "3.0.1", + "findup-sync": "2.0.0", + "fined": "1.1.0", + "flagged-respawn": "1.0.0", + "is-plain-object": "2.0.4", + "object.map": "1.0.1", + "rechoir": "0.6.2", + "resolve": "1.8.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + } + } + }, + "lodash": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.11.2.tgz", + "integrity": "sha1-1rQzixEKWOIdrlzrz9u/0rxM2zs=" + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.cond": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", + "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", + "dev": true + }, + "lodash.endswith": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz", + "integrity": "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "3.0.1" + } + }, + "lodash.find": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", + "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", + "dev": true + }, + "lodash.pickby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", + "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=", + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.1" + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.4" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, + "marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "dev": true + }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "memory-fs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz", + "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=", + "dev": true, + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + } + }, + "merge": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", + "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.0.tgz", + "integrity": "sha1-nP0Vb+81Qh4rVAPOEdxusZYrAm4=", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "mkdirp2": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.4.tgz", + "integrity": "sha512-Q2PKB4ZR4UPtjLl76JfzlgSCUZhSV1AXQgAZa1qt5RiaALFjP/CDrGvFBrOz7Ck6McPcwMAxTsJvWOUjOU8XMw==", + "dev": true + }, + "mqtt": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-1.10.0.tgz", + "integrity": "sha1-DoLqm7PN5rOFyuDCxyimkh0zjHw=", + "requires": { + "commist": "1.0.0", + "concat-stream": "1.6.2", + "end-of-stream": "1.4.1", + "help-me": "0.1.0", + "inherits": "2.0.3", + "minimist": "1.2.0", + "mqtt-connection": "2.1.1", + "mqtt-packet": "3.5.0", + "pump": "1.0.3", + "readable-stream": "1.0.34", + "reinterval": "1.1.0", + "split2": "2.2.0", + "websocket-stream": "3.3.3", + "xtend": "4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + } + } + }, + "mqtt-connection": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/mqtt-connection/-/mqtt-connection-2.1.1.tgz", + "integrity": "sha1-ey6YWnThlmGUML69NdoWLDTE5Wo=", + "requires": { + "inherits": "2.0.3", + "mqtt-packet": "3.5.0", + "reduplexer": "1.1.0", + "through2": "0.6.5" + } + }, + "mqtt-packet": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-3.5.0.tgz", + "integrity": "sha512-lfeRZ95Mr3fcuYArDUG+bfC6jBQ07dNK3cXAYvN0d4sFttPx4VuizyZwTxkPJvxjJcx8TZZLVUK9gFt5OFcF5g==", + "requires": { + "bl": "1.2.2", + "inherits": "2.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + } + }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "natives": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.4.tgz", + "integrity": "sha512-Q29yeg9aFKwhLVdkTAejM/HvYG0Y1Am1+HUkFQGn5k2j8GS+v60TVmZh6nujpEAj/qql+wGUrlryO8bF+b1jEg==", + "dev": true + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-libs-browser": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-1.0.0.tgz", + "integrity": "sha1-/4rWws+ngEO90AkewH8KqlgWIPw=", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.1.4", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "http-browserify": "1.7.0", + "https-browserify": "0.0.1", + "os-browserify": "0.2.1", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "string_decoder": "0.10.31", + "timers-browserify": "1.4.2", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1.0.9" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.6.1", + "is-builtin-module": "1.0.0", + "semver": "4.3.6", + "validate-npm-package-license": "3.0.3" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwmatcher": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", + "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "object-get": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.0.tgz", + "integrity": "sha1-ciu9tgA576R8rTxtws5RqFwCxa4=", + "dev": true + }, + "object-to-spawn-args": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz", + "integrity": "sha1-d9qIJ/Bz0BHJ4bFz+JV4FHAkZ4U=", + "dev": true + }, + "object-tools": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object-tools/-/object-tools-2.0.6.tgz", + "integrity": "sha1-8/4cNQzaSm9dmdlkbcSJKgJHbd0=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "collect-json": "1.0.8", + "object-get": "2.1.0", + "test-value": "1.1.0", + "typical": "2.6.1" + }, + "dependencies": { + "test-value": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz", + "integrity": "sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "typical": "2.6.1" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "1.0.1", + "array-slice": "1.1.0", + "for-own": "1.0.0", + "isobject": "3.0.1" + }, + "dependencies": { + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "1.0.0", + "make-iterator": "1.0.1" + }, + "dependencies": { + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + } + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "0.0.10", + "wordwrap": "0.0.3" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + } + }, + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=" + }, + "orchestrator": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", + "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", + "dev": true, + "requires": { + "end-of-stream": "0.1.5", + "sequencify": "0.0.7", + "stream-consume": "0.1.1" + }, + "dependencies": { + "end-of-stream": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", + "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", + "dev": true, + "requires": { + "once": "1.3.3" + } + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + } + } + }, + "ordered-read-streams": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", + "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", + "dev": true + }, + "original": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.1.tgz", + "integrity": "sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==", + "dev": true, + "requires": { + "url-parse": "1.4.1" + } + }, + "os-browserify": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", + "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "object-assign": "4.1.1" + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.16" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "1.0.0", + "map-cache": "0.2.2", + "path-root": "0.1.1" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.2" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", + "dev": true + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "dev": true, + "requires": { + "process": "0.11.10", + "util": "0.10.4" + } + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-exists": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz", + "integrity": "sha1-1aiZjrce83p0w06w2eum6HjuoIE=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "0.1.2" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "dev": true, + "requires": { + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "pbkdf2-compat": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz", + "integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-up": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", + "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", + "dev": true, + "requires": { + "find-up": "1.1.2" + } + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "pretty-hrtime": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-0.2.2.tgz", + "integrity": "sha1-1P2INR46R0H4Fzr31qS4RvmJXAA=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "2.0.6" + } + }, + "promise.prototype.finally": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-1.0.1.tgz", + "integrity": "sha1-kRgvkckkhplXQPoF4NqUKsmGvvo=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", + "dev": true, + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.6.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6" + } + }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", + "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", + "dev": true + }, + "randomatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", + "dev": true, + "requires": { + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.4.0" + } + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "mute-stream": "0.0.5" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "1.8.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "reduce-extract": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz", + "integrity": "sha1-Z/I4W+2mUGG19fQxJmLosIDKFSU=", + "dev": true, + "requires": { + "test-value": "1.1.0" + }, + "dependencies": { + "test-value": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz", + "integrity": "sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "typical": "2.6.1" + } + } + } + }, + "reduce-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", + "integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=", + "dev": true + }, + "reduce-unique": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-1.0.0.tgz", + "integrity": "sha1-flhrz4ek4ytter2Cd/rWzeyfSAM=", + "dev": true + }, + "reduce-without": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz", + "integrity": "sha1-aK0OrRGFXJo31OglbBW7+Hly/Iw=", + "dev": true, + "requires": { + "test-value": "2.1.0" + } + }, + "reduplexer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reduplexer/-/reduplexer-1.1.0.tgz", + "integrity": "sha1-ff7RimeedJwdetNt4BrLUV8I4UA=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "1.0.34" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + } + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "reinterval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", + "integrity": "sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=" + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "req-then": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/req-then/-/req-then-0.5.1.tgz", + "integrity": "sha1-McbgtW9N3SrNbeC6G86ne2B5398=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "defer-promise": "1.0.1", + "feature-detect-es6": "1.4.1", + "lodash.pick": "4.4.0", + "typical": "2.6.1" + } + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "0.1.0", + "resolve-from": "1.0.1" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "requizzle": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz", + "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=", + "dev": true, + "requires": { + "underscore": "1.6.0" + }, + "dependencies": { + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "2.0.2", + "global-modules": "1.0.0" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "dev": true, + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + } + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-1.7.0.tgz", + "integrity": "sha1-s1ebzLRclM8gNVzIESSZDf00bjA=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "minimatch": "3.0.4", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.10.0" + }, + "dependencies": { + "bser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", + "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "dev": true, + "requires": { + "node-int64": "0.4.0" + } + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true, + "requires": { + "bser": "2.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + }, + "semver-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", + "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", + "dev": true + }, + "semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", + "dev": true, + "requires": { + "semver": "5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + } + } + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.3", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + } + }, + "sequencify": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", + "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "1.0.3", + "http-errors": "1.6.3", + "mime-types": "2.1.18", + "parseurl": "1.3.2" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "requires": { + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.2" + } + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shelljs": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", + "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "0.10.0", + "uuid": "3.3.2" + } + }, + "sockjs-client": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "dev": true, + "requires": { + "debug": "2.6.9", + "eventsource": "0.1.6", + "faye-websocket": "0.11.1", + "inherits": "2.0.3", + "json3": "3.3.2", + "url-parse": "1.4.1" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + } + } + }, + "sort-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-1.1.2.tgz", + "integrity": "sha1-uImGBTwBcKf53mPxiknsecJMPmQ=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "object-get": "2.1.0", + "typical": "2.6.1" + } + }, + "source-list-map": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", + "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2" + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "requires": { + "through2": "2.0.3" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, + "stompjs": { + "version": "git://github.com/gfoiani/stomp-websocket.git#f7fe1d8fcdd9649f53c174f5e1a9470b23b36dfd", + "requires": { + "websocket": "1.0.26" + } + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "stream-cache": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stream-cache/-/stream-cache-0.0.2.tgz", + "integrity": "sha1-GsWtaDJCjKVWZ9ve45Xa1ObbEY8=", + "dev": true + }, + "stream-connect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz", + "integrity": "sha1-GLyB8u2zW4tdmoAJIAqYUxRCipc=", + "dev": true, + "requires": { + "array-back": "1.0.4" + } + }, + "stream-consume": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", + "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==" + }, + "stream-handlebars": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/stream-handlebars/-/stream-handlebars-0.1.6.tgz", + "integrity": "sha1-cwW1BkID2hcWCMR4rPZCoUmJKi8=", + "dev": true, + "requires": { + "handlebars": "3.0.3", + "object-tools": "1.6.7" + }, + "dependencies": { + "object-tools": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/object-tools/-/object-tools-1.6.7.tgz", + "integrity": "sha1-UtQA/IdSUJk9u7O6KY18ebsGmNA=", + "dev": true, + "requires": { + "array-tools": "1.8.6", + "typical": "2.6.1" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "stream-via": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-0.1.1.tgz", + "integrity": "sha1-DO5d+clZ+x0/TtpIGfKJ1fkgWvw=", + "dev": true + }, + "string-tools": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string-tools/-/string-tools-1.0.0.tgz", + "integrity": "sha1-xpqdV4iFiZfaZvHZI7pxE+pGa1o=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "dev": true + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "requires": { + "ajv": "4.11.8", + "ajv-keywords": "1.5.1", + "chalk": "1.1.1", + "lodash": "4.11.2", + "slice-ansi": "0.0.4", + "string-width": "2.1.1" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "table-layout": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.3.0.tgz", + "integrity": "sha1-buINxIPbNxs+XIf3BO0vfHmdLJo=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "core-js": "2.5.7", + "deep-extend": "0.4.2", + "feature-detect-es6": "1.4.1", + "typical": "2.6.1", + "wordwrapjs": "2.0.0" + } + }, + "taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "tapable": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", + "dev": true + }, + "temp-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz", + "integrity": "sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs=", + "dev": true + }, + "test-value": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", + "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "typical": "2.6.1" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "then-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/then-fs/-/then-fs-2.0.0.tgz", + "integrity": "sha1-cveS3Z0xcFqRrhnr/Piz+WjIHaI=", + "dev": true, + "requires": { + "promise": "7.3.1" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "requires": { + "readable-stream": "1.0.34", + "xtend": "4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + } + } + }, + "tildify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", + "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "dev": true, + "requires": { + "process": "0.11.10" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + } + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.18" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "optional": true, + "requires": { + "is-typedarray": "1.0.0" + } + }, + "typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", + "dev": true + }, + "uglify-js": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz", + "integrity": "sha1-+gmEdwtCi3qbKoBY9GNV0U/vIRo=", + "dev": true, + "optional": true, + "requires": { + "async": "0.2.10", + "optimist": "0.3.7", + "source-map": "0.1.43" + }, + "dependencies": { + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "dev": true, + "optional": true, + "requires": { + "wordwrap": "0.0.3" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true, + "optional": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true + }, + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" + }, + "underscore-contrib": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz", + "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=", + "dev": true, + "requires": { + "underscore": "1.6.0" + }, + "dependencies": { + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "underscore.string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.0.0.tgz", + "integrity": "sha1-dHCFilSguzVg0DfaVtzGe1GB4Ro=", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "unique-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", + "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.1.tgz", + "integrity": "sha512-x95Td74QcvICAA0+qERaVkRpTGKyBHHYdwL2LXZm5t/gBtCB9KQSO/0zQgSTYEV1p0WcvSg79TLNPSvd5IDJMQ==", + "dev": true, + "requires": { + "querystringify": "2.0.0", + "requires-port": "1.0.0" + } + }, + "usage-stats": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/usage-stats/-/usage-stats-0.8.6.tgz", + "integrity": "sha512-QS1r7a1h5g1jo6KulvVGV+eQM+Jfj87AjJBfr1iaIJYz+N7+Qh7ezaVFCulwBGd8T1EidRiSYphG17gra2y0kg==", + "dev": true, + "requires": { + "array-back": "1.0.4", + "cli-commands": "0.1.0", + "core-js": "2.5.7", + "feature-detect-es6": "1.4.1", + "home-path": "1.0.6", + "mkdirp2": "1.0.4", + "req-then": "0.5.1", + "typical": "2.6.1", + "uuid": "3.3.2" + } + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "dev": true, + "requires": { + "user-home": "1.1.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "0.2.0", + "clone-stats": "0.0.1" + } + }, + "vinyl-fs": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", + "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", + "dev": true, + "requires": { + "defaults": "1.0.3", + "glob-stream": "3.1.18", + "glob-watcher": "0.0.6", + "graceful-fs": "3.0.11", + "mkdirp": "0.5.1", + "strip-bom": "1.0.0", + "through2": "0.6.5", + "vinyl": "0.4.6" + }, + "dependencies": { + "graceful-fs": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "1.1.4" + } + }, + "strip-bom": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", + "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", + "dev": true, + "requires": { + "first-chunk-stream": "1.0.0", + "is-utf8": "0.2.1" + } + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "walk-back": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-2.0.1.tgz", + "integrity": "sha1-VU4qnYdPrEeoywBr9EwvDEmYoKQ=", + "dev": true + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.11" + } + }, + "watch": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", + "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw=", + "dev": true + }, + "watchpack": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz", + "integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=", + "dev": true, + "requires": { + "async": "0.9.2", + "chokidar": "1.7.0", + "graceful-fs": "4.1.11" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "webpack": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-1.13.0.tgz", + "integrity": "sha1-qtPTTwtyAt1VsXpqbOv0275yJyo=", + "dev": true, + "requires": { + "acorn": "3.3.0", + "async": "1.5.2", + "clone": "1.0.4", + "enhanced-resolve": "0.9.1", + "interpret": "0.6.6", + "loader-utils": "0.2.17", + "memory-fs": "0.3.0", + "mkdirp": "0.5.1", + "node-libs-browser": "0.6.0", + "optimist": "0.6.1", + "supports-color": "3.2.3", + "tapable": "0.1.10", + "uglify-js": "2.6.4", + "watchpack": "0.2.9", + "webpack-core": "0.6.9" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "constants-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz", + "integrity": "sha1-kld9tSe6bEzwpFaNhLwDH0QeIfI=", + "dev": true + }, + "crypto-browserify": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.2.8.tgz", + "integrity": "sha1-ubEdvm2WUd2IKgHmzEZ99xjs8Yk=", + "dev": true, + "requires": { + "pbkdf2-compat": "2.0.1", + "ripemd160": "0.2.0", + "sha.js": "2.2.6" + } + }, + "https-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz", + "integrity": "sha1-s//f5zSyo9Sp79WOhlTJH86G6v0=", + "dev": true + }, + "interpret": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz", + "integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=", + "dev": true + }, + "node-libs-browser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.6.0.tgz", + "integrity": "sha1-JEgG1E0xngSLyGB7XMTq+aKdLjw=", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.1.4", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "0.0.1", + "crypto-browserify": "3.2.8", + "domain-browser": "1.2.0", + "events": "1.1.1", + "http-browserify": "1.7.0", + "https-browserify": "0.0.0", + "os-browserify": "0.1.2", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "1.1.14", + "stream-browserify": "1.0.0", + "string_decoder": "0.10.31", + "timers-browserify": "1.4.2", + "tty-browserify": "0.0.0", + "url": "0.10.3", + "util": "0.10.4", + "vm-browserify": "0.0.4" + } + }, + "os-browserify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", + "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=", + "dev": true + }, + "ripemd160": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz", + "integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=", + "dev": true + }, + "sha.js": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz", + "integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=", + "dev": true + }, + "stream-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz", + "integrity": "sha1-v5tKv7QrJ011FHnkTg/yZWtvEZM=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "1.1.14" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + }, + "uglify-js": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", + "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=", + "dev": true, + "requires": { + "async": "0.2.10", + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + } + } + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + } + } + }, + "webpack-core": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz", + "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", + "dev": true, + "requires": { + "source-list-map": "0.1.8", + "source-map": "0.4.4" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "webpack-dev-middleware": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", + "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", + "dev": true, + "requires": { + "memory-fs": "0.4.1", + "mime": "1.6.0", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "time-stamp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.6" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "time-stamp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", + "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-1.14.0.tgz", + "integrity": "sha1-rON25XGoQWLyKbplmOkYD378nuw=", + "dev": true, + "requires": { + "compression": "1.7.2", + "connect-history-api-fallback": "1.1.0", + "express": "4.16.3", + "http-proxy": "1.17.0", + "optimist": "0.6.1", + "serve-index": "1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.1.5", + "stream-cache": "0.0.2", + "strip-ansi": "3.0.1", + "supports-color": "3.2.3", + "webpack-dev-middleware": "1.12.2" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "webpack-split-by-path": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/webpack-split-by-path/-/webpack-split-by-path-0.0.8.tgz", + "integrity": "sha1-xwCTYhTfwyW4jQcrKq6YnHfqx/U=", + "dev": true + }, + "websocket": { + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.26.tgz", + "integrity": "sha512-fjcrYDPIQxpTnqFQ9JjxUQcdvR89MFAOjPBlF+vjOt49w/XW4fJknUoMz/mDIn2eK1AdslVojcaOxOqyZZV8rw==", + "optional": true, + "requires": { + "debug": "2.6.9", + "nan": "2.10.0", + "typedarray-to-buffer": "3.1.5", + "yaeti": "0.0.6" + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": "0.4.13", + "websocket-extensions": "0.1.3" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "websocket-stream": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-3.3.3.tgz", + "integrity": "sha1-Nh2lQEozfmDPvCm0pGNodiZ53ws=", + "requires": { + "duplexify": "3.6.0", + "inherits": "2.0.3", + "through2": "2.0.3", + "ws": "1.1.5", + "xtend": "4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + } + } + }, + "whatwg-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz", + "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.19" + } + }, + "whatwg-url": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", + "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", + "dev": true, + "requires": { + "tr46": "0.0.3", + "webidl-conversions": "3.0.1" + }, + "dependencies": { + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + } + } + }, + "when": { + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/when/-/when-3.7.5.tgz", + "integrity": "sha1-GZ/xFCmJYklXv/YawaLnFa8/YQo=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wordwrapjs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-2.0.0.tgz", + "integrity": "sha1-q1X2leYRjak4WP3XDAU9HF4BrCA=", + "dev": true, + "requires": { + "array-back": "1.0.4", + "feature-detect-es6": "1.4.1", + "reduce-flatten": "1.0.1", + "typical": "2.6.1" + } + }, + "worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "dev": true, + "requires": { + "errno": "0.1.7" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "0.5.1" + } + }, + "ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "requires": { + "options": "0.0.6", + "ultron": "1.0.2" + } + }, + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", + "optional": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + } + } + } + } +} diff --git a/package.json b/package.json index c4076fe..d342dc6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "spacebunny", - "version": "0.4.4", + "version": "0.5.0", "description": "NodeJS client library for Space Bunny IoT platform", "main": "lib/index.js", "scripts": { @@ -33,47 +33,47 @@ "author": "Fancy Pixel (http://fancypixel.it)", "license": "MIT", "devDependencies": { - "babel": "^6.5.1", - "babel-cli": "^6.8.0", - "babel-core": "^6.8.0", - "babel-eslint": "^6.0.4", - "babel-jest": "^12.0.2", - "babel-loader": "^6.2.4", - "babel-plugin-lodash": "^3.0.0", - "babel-preset-es2015": "^6.6.0", - "babel-preset-stage-0": "^6.5.0", - "del": "^2.0.2", - "eslint": "^2.9.0", + "babel": "6.5.1", + "babel-cli": "6.8.0", + "babel-core": "6.8.0", + "babel-eslint": "6.0.4", + "babel-jest": "12.0.2", + "babel-loader": "6.2.4", + "babel-plugin-lodash": "3.0.0", + "babel-preset-es2015": "6.6.0", + "babel-preset-stage-0": "6.5.0", + "del": "2.0.2", + "eslint": "2.9.0", "eslint-config-airbnb": "8.0.0", - "eslint-loader": "^1.2.1", - "eslint-plugin-import": "^1.6.1", - "eslint-plugin-jsx-a11y": "^1.0.4", - "eslint-plugin-react": "^5.0.1", - "gulp": "^3.8.11", - "gulp-babel": "^6.1.2", - "gulp-jsdoc-to-markdown": "^1.2.2", - "gulp-rename": "^1.2.2", - "gulp-sourcemaps": "^1.6.0", - "gulp-util": "^3.0.4", - "jest-cli": "^12.0.2", - "json-loader": "^0.5.2", - "merge-stream": "^1.0.0", - "node-libs-browser": "^1.0.0", - "path": "^0.12.7", - "webpack": "^1.13.0", - "webpack-dev-server": "^1.14.0", + "eslint-loader": "1.2.1", + "eslint-plugin-import": "1.6.1", + "eslint-plugin-jsx-a11y": "1.0.4", + "eslint-plugin-react": "5.0.1", + "gulp": "3.8.11", + "gulp-babel": "6.1.2", + "gulp-jsdoc-to-markdown": "1.2.2", + "gulp-rename": "1.2.2", + "gulp-sourcemaps": "1.6.0", + "gulp-util": "3.0.4", + "jest-cli": "12.0.2", + "json-loader": "0.5.2", + "merge-stream": "1.0.0", + "node-libs-browser": "1.0.0", + "path": "0.12.7", + "webpack": "1.13.0", + "webpack-dev-server": "1.14.0", "webpack-split-by-path": "0.0.8" }, "dependencies": { - "amqplib": "^0.4.0", - "axios": "^0.11.0", - "bluebird": "^3.3.5", - "humps": "^1.1.0", - "lodash": "^4.11.2", - "merge": "^1.2.0", - "mqtt": "^1.10.0", + "amqplib": "0.4.0", + "axios": "0.11.0", + "bluebird": "3.3.5", + "humps": "1.1.0", + "lodash": "4.11.2", + "merge": "1.2.0", + "mqtt": "1.10.0", "stompjs": "git://github.com/gfoiani/stomp-websocket.git#2.4.0", - "underscore": "^1.8.3", - "when": "^3.7.5" + "underscore": "1.8.3", + "when": "3.7.5" } } diff --git a/src/protocols/amqpClient.js b/src/protocols/amqpClient.js index 3dc8f21..b05d469 100644 --- a/src/protocols/amqpClient.js +++ b/src/protocols/amqpClient.js @@ -120,6 +120,7 @@ class AmqpClient extends SpaceBunny { this._amqpConnection.close().then(() => { this._amqpConnection = undefined; this._amqpChannels = {}; + this.emit('disconnect'); resolve(true); }).catch((reason) => { reject(reason); @@ -157,15 +158,23 @@ class AmqpClient extends SpaceBunny { } amqp.connect(connectionString, connectionOpts).then((conn) => { conn.on('error', (err) => { + this.emit('error', err); reject(err); }); + conn.on('close', (err) => { + this.emit('close', err); + this._amqpConnection = undefined; + }); conn.on('blocked', (reason) => { + this.emit('blocked', reason); console.warn(reason); // eslint-disable-line no-console }); conn.on('unblocked', (reason) => { + this.emit('unblocked', reason); console.warn(reason); // eslint-disable-line no-console }); this._amqpConnection = conn; + this.emit('connect'); resolve(this._amqpConnection); }).catch((reason) => { reject(reason); @@ -177,6 +186,10 @@ class AmqpClient extends SpaceBunny { }); } + isConnected() { + return (this._amqpConnection !== undefined); + } + // ------------ PRIVATE METHODS ------------------- /** diff --git a/src/protocols/mqttClient.js b/src/protocols/mqttClient.js index 044198b..a9559c3 100644 --- a/src/protocols/mqttClient.js +++ b/src/protocols/mqttClient.js @@ -133,6 +133,7 @@ class MqttClient extends SpaceBunny { const _closeConnection = () => { this._mqttConnection.end(true, () => { this._mqttConnection = undefined; + this.emit('disconnect'); resolve(true); }); }; @@ -181,12 +182,16 @@ class MqttClient extends SpaceBunny { } const client = mqtt.connect(mqttConnectionParams); client.on('error', (reason) => { + this.emit('error', reason); reject(reason); }); client.on('close', (reason) => { reject(reason); + this.emit('close', reason); + this._mqttConnection = undefined; }); this._mqttConnection = client; + this.emit('connect'); resolve(this._mqttConnection); } catch (reason) { reject(reason); @@ -198,6 +203,10 @@ class MqttClient extends SpaceBunny { }); } + isConnected() { + return (this._mqttConnection !== undefined); + } + // ------------ PRIVATE METHODS ------------------- /** diff --git a/src/protocols/stompClient.js b/src/protocols/stompClient.js index 309c268..0c3fc22 100644 --- a/src/protocols/stompClient.js +++ b/src/protocols/stompClient.js @@ -113,9 +113,11 @@ class StompClient extends SpaceBunny { this._subscription.unsubscribe(); } this._stompConnection.disconnect(() => { + this.emit('disconnect'); this._stompConnection = undefined; resolve(true); }).catch((reason) => { + this._stompConnection = undefined; reject(reason); }); } @@ -165,8 +167,11 @@ class StompClient extends SpaceBunny { }); client.connect(headers, () => { this._stompConnection = client; + this.emit('connect'); resolve(this._stompConnection); }, (err) => { + this.emit('error', err); + this._stompConnection = undefined; reject(err); }); } catch (reason) { @@ -179,6 +184,10 @@ class StompClient extends SpaceBunny { }); } + isConnected() { + return (this._stompConnection !== undefined); + } + // ------------ PRIVATE METHODS ------------------- /** diff --git a/src/spacebunny.js b/src/spacebunny.js index 5883557..9d57bd8 100644 --- a/src/spacebunny.js +++ b/src/spacebunny.js @@ -10,6 +10,8 @@ import axios from 'axios'; import humps from 'humps'; import Promise from 'bluebird'; import { startsWith, filter } from 'lodash'; +import url from 'url'; +import EventEmitter from 'events'; // TODO validate enpointConfig object format with Joi // import Joi from 'joi'; @@ -20,11 +22,12 @@ const CONFIG = require('../config/constants').CONFIG; * @constructor * @param {Object} opts - constructor options may contain Device-Key or connection options */ -class SpaceBunny { +class SpaceBunny extends EventEmitter { constructor(opts = {}) { + super(); this._connectionParams = merge({}, humps.camelizeKeys(opts)); this._endpointConfigs = undefined; - this._endpointUrl = this._connectionParams.endpointUrl; + this._endpoint = merge(CONFIG.endpoint, this._connectionParams.endpoint); this._deviceKey = this._connectionParams.deviceKey; this._channels = this._connectionParams.channels; this._deviceId = this._connectionParams.deviceId; @@ -76,12 +79,10 @@ class SpaceBunny { } // Contact endpoint to retrieve configs // Switch endpoint if you are using sdk as device or as access key stream - let endpoint = ''; if ((this._deviceId && this._secret) || this._deviceKey) { // Device credentials - endpoint = CONFIG.deviceEndpoint; // uses endpoint passed from user, default endpoint otherwise - const hostname = this._generateHostname(endpoint); - const uri = `${hostname}${endpoint.api_version}${endpoint.path}`; + const hostname = this._generateHostname(); + const uri = url.resolve(hostname, this._endpoint.deviceConfigurationsPath); if (this._deviceKey) { // Get configs from endpoint const options = { url: uri, @@ -129,10 +130,9 @@ class SpaceBunny { resolve(this._endpointConfigs); } else { // Get configs from endpoint - endpoint = CONFIG.accessKeyEndpoint; // uses endpoint passed from user, default endpoint otherwise - const hostname = this._generateHostname(endpoint); - const uri = `${hostname}${endpoint.api_version}${endpoint.path}`; + const hostname = this._generateHostname(); + const uri = url.resolve(hostname, this._endpoint.liveStreamKeyConfigurationsPath); const options = { url: uri, method: 'get', @@ -260,12 +260,14 @@ class SpaceBunny { * @private * @return the string representing the endpoint url */ - _generateHostname(endpoint) { - let hostname = `${(this._endpointUrl || endpoint.url)}`; - // const endpointProtocol = (this._tls) ? CONFIG.endpoint.secureProtocol : CONFIG.endpoint.protocol; - const endpointProtocol = CONFIG.endpoint.protocol; - if (!startsWith(hostname, endpointProtocol)) { - hostname = `${endpointProtocol}://${hostname}`; + _generateHostname() { + if (this._endpoint.url) { + return this._endpoint.url; + } + let hostname = `${this._endpoint.host}:${this._endpoint.port}`; + const protocol = (this._tls) ? this._endpoint.secureProtocol : this._endpoint.protocol; + if (!startsWith(hostname, protocol)) { + hostname = `${protocol}://${hostname}`; } return hostname; } diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..330f403 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,6442 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +Base64@~0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.2.1.tgz#ba3a4230708e186705065e66babdd4c35cf60028" + +abab@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +accepts@~1.3.4, accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + dependencies: + mime-types "~2.1.18" + negotiator "0.6.1" + +acorn-globals@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" + dependencies: + acorn "^4.0.4" + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@^3.0.0, acorn@^3.0.4, acorn@^3.1.0, acorn@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.4: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + +ajv-keywords@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + +ajv@^4.7.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ajv@^5.1.0: + version "5.5.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +amqplib@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/amqplib/-/amqplib-0.4.0.tgz#9efe7656dda85a7359f664a2726e8e85229e124c" + dependencies: + bitsyntax "~0.0.4" + buffer-more-ints "0.0.2" + readable-stream "1.x >=1.1.9" + when "~3.6.2" + +ansi-escape-sequences@^2.2.1, ansi-escape-sequences@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-2.2.2.tgz#174c78d6f8b7de75f8957ae81c7f72210c701635" + dependencies: + array-back "^1.0.2" + collect-all "~0.2.1" + +ansi-escape-sequences@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz#1c18394b6af9b76ff9a63509fa497669fd2ce53e" + dependencies: + array-back "^1.0.3" + +ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + dependencies: + ansi-wrap "0.1.0" + +ansi-regex@^0.2.0, ansi-regex@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" + +ansi-styles@^2.1.0, ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-wrap@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +app-usage-stats@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/app-usage-stats/-/app-usage-stats-0.4.1.tgz#97eb9b89b5678fa2ddc9793b1298628cc218429f" + dependencies: + array-back "^1.0.4" + core-js "^2.4.1" + feature-detect-es6 "^1.3.1" + home-path "^1.0.3" + test-value "^2.1.0" + usage-stats "^0.8.2" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + +array-back@^1.0.2, array-back@^1.0.3, array-back@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b" + dependencies: + typical "^2.6.0" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + +array-tools@^1.0.6, array-tools@^1.1.0, array-tools@^1.1.4, array-tools@^1.8.4: + version "1.8.6" + resolved "https://registry.yarnpkg.com/array-tools/-/array-tools-1.8.6.tgz#145771f7f9c94e98cc5ea4196a99b8323aee18ae" + dependencies: + object-tools "^1.6.1" + typical "^2.1" + +array-tools@^2: + version "2.0.9" + resolved "https://registry.yarnpkg.com/array-tools/-/array-tools-2.0.9.tgz#5a511de7a41be0eec9ffdcd4912d0af9f0caca35" + dependencies: + ansi-escape-sequences "^2.2.2" + array-back "^1.0.2" + collect-json "^1.0.7" + filter-where "^1.0.1" + object-get "^2.0.0" + reduce-extract "^1.0.0" + reduce-flatten "^1.0.0" + reduce-unique "^1.0.0" + reduce-without "^1.0.0" + sort-array "^1.0.0" + test-value "^1.0.1" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.0, array-uniq@^1.0.1, array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async@1.x, async@^1.3.0, async@^1.4.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + +async@~0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" + +axios@0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.11.0.tgz#50adc59bd0f11bee89a383b24b2d407648e6d6e8" + dependencies: + follow-redirects "0.0.7" + +babel-cli@6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.8.0.tgz#10f0f1260a24ed9470580b086e585f3b657c07e1" + dependencies: + babel-core "^6.8.0" + babel-polyfill "^6.8.0" + babel-register "^6.8.0" + babel-runtime "^6.0.0" + bin-version-check "^2.1.0" + chalk "1.1.1" + commander "^2.8.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^0.1.0" + glob "^5.0.5" + lodash "^3.2.0" + log-symbols "^1.0.2" + output-file-sync "^1.1.0" + path-exists "^1.0.0" + path-is-absolute "^1.0.0" + request "^2.65.0" + slash "^1.0.0" + source-map "^0.5.0" + v8flags "^2.0.10" + optionalDependencies: + chokidar "^1.0.0" + +babel-code-frame@^6.26.0, babel-code-frame@^6.8.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.8.0.tgz#52fde0b4c05d9eb7f60ada3c75666238f14d1420" + dependencies: + babel-code-frame "^6.8.0" + babel-generator "^6.8.0" + babel-helpers "^6.8.0" + babel-messages "^6.8.0" + babel-register "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + babel-traverse "^6.8.0" + babel-types "^6.8.0" + babylon "^6.7.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.4.0" + lodash "^3.10.0" + minimatch "^2.0.3" + path-exists "^1.0.0" + path-is-absolute "^1.0.0" + private "^0.1.6" + shebang-regex "^1.0.0" + slash "^1.0.0" + source-map "^0.5.0" + +babel-core@^6.0.0, babel-core@^6.0.2, babel-core@^6.26.0, babel-core@^6.8.0: + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +babel-eslint@6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-6.0.4.tgz#cf87dcd516241b2e01d85e80e08e849a232bdef7" + dependencies: + babel-traverse "^6.0.20" + babel-types "^6.0.19" + babylon "^6.0.18" + lodash.assign "^4.0.0" + lodash.pickby "^4.0.0" + +babel-generator@^6.26.0, babel-generator@^6.8.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-bindify-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-explode-class@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" + dependencies: + babel-helper-bindify-decorators "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1, babel-helpers@^6.8.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-jest@12.0.2: + version "12.0.2" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-12.0.2.tgz#8eca2bf52a6865a7384f5b3343c19bff986987ad" + dependencies: + babel-core "^6.0.0" + babel-preset-jest "^12.0.2" + +babel-loader@6.2.4: + version "6.2.4" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.4.tgz#aa70aff8ddc223a5952e839a43a6c3a4c8bfa1e9" + dependencies: + loader-utils "^0.2.11" + mkdirp "^0.5.1" + object-assign "^4.0.1" + +babel-messages@^6.23.0, babel-messages@^6.8.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-jest-hoist@^12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-12.1.0.tgz#4e0d0a2fd723c4f9ab01a1606daa15bf36bd7083" + +babel-plugin-lodash@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.0.0.tgz#9f7a19711f2c4077003a246341aab9a613b2f273" + dependencies: + glob "^7.0.3" + lodash "^4.11.1" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-constructor-call@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-do-expressions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz#5747756139aa26d390d09410b03744ba07e4796d" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-export-extensions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" + +babel-plugin-syntax-function-bind@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz#48c495f177bdf31a981e732f55adc0bdd2601f46" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-generator-functions@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-class-constructor-call@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9" + dependencies: + babel-plugin-syntax-class-constructor-call "^6.18.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-class-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + dependencies: + babel-helper-function-name "^6.24.1" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" + dependencies: + babel-helper-explode-class "^6.24.1" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-do-expressions@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz#28ccaf92812d949c2cd1281f690c8fdc468ae9bb" + dependencies: + babel-plugin-syntax-do-expressions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.6.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.6.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.6.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-commonjs@^6.6.0: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-object-super@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.6.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.6.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-export-extensions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653" + dependencies: + babel-plugin-syntax-export-extensions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-function-bind@^6.3.13: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz#c6fb8e96ac296a310b8cf8ea401462407ddf6a97" + dependencies: + babel-plugin-syntax-function-bind "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-object-rest-spread@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-regenerator@^6.6.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-polyfill@^6.13.0, babel-polyfill@^6.8.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + dependencies: + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" + +babel-preset-es2015@6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.6.0.tgz#88b33e58fec94c6ebde58dc65ece5d14e0ec2568" + dependencies: + babel-plugin-check-es2015-constants "^6.3.13" + babel-plugin-transform-es2015-arrow-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoping "^6.6.0" + babel-plugin-transform-es2015-classes "^6.6.0" + babel-plugin-transform-es2015-computed-properties "^6.3.13" + babel-plugin-transform-es2015-destructuring "^6.6.0" + babel-plugin-transform-es2015-duplicate-keys "^6.6.0" + babel-plugin-transform-es2015-for-of "^6.6.0" + babel-plugin-transform-es2015-function-name "^6.3.13" + babel-plugin-transform-es2015-literals "^6.3.13" + babel-plugin-transform-es2015-modules-commonjs "^6.6.0" + babel-plugin-transform-es2015-object-super "^6.3.13" + babel-plugin-transform-es2015-parameters "^6.6.0" + babel-plugin-transform-es2015-shorthand-properties "^6.3.13" + babel-plugin-transform-es2015-spread "^6.3.13" + babel-plugin-transform-es2015-sticky-regex "^6.3.13" + babel-plugin-transform-es2015-template-literals "^6.6.0" + babel-plugin-transform-es2015-typeof-symbol "^6.6.0" + babel-plugin-transform-es2015-unicode-regex "^6.3.13" + babel-plugin-transform-regenerator "^6.6.0" + +babel-preset-jest@^12.0.2: + version "12.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-12.1.0.tgz#0b401e6e8a1c4eabc55dbcb59bc46312eb1b6bf6" + dependencies: + babel-plugin-jest-hoist "^12.1.0" + +babel-preset-stage-0@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.5.0.tgz#8b8479b2077482b8f3dc8f8f5f0c9c79788cde22" + dependencies: + babel-plugin-transform-do-expressions "^6.3.13" + babel-plugin-transform-function-bind "^6.3.13" + babel-preset-stage-1 "^6.3.13" + +babel-preset-stage-1@^6.3.13: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" + dependencies: + babel-plugin-transform-class-constructor-call "^6.24.1" + babel-plugin-transform-export-extensions "^6.22.0" + babel-preset-stage-2 "^6.24.1" + +babel-preset-stage-2@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.24.1" + babel-plugin-transform-decorators "^6.24.1" + babel-preset-stage-3 "^6.24.1" + +babel-preset-stage-3@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.24.1" + babel-plugin-transform-async-to-generator "^6.24.1" + babel-plugin-transform-exponentiation-operator "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.22.0" + +babel-register@^6.26.0, babel-register@^6.8.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.24.1, babel-template@^6.26.0, babel-template@^6.8.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.0.20, babel-traverse@^6.24.1, babel-traverse@^6.26.0, babel-traverse@^6.8.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.0.19, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0, babel-types@^6.8.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babel@6.5.1: + version "6.5.1" + resolved "http://registry.npmjs.org/babel/-/babel-6.5.1.tgz#17369d7d6f2682d5deb741d65bfd5f746be123ab" + +babylon@^6.0.18, babylon@^6.18.0, babylon@^6.7.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-js@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + dependencies: + tweetnacl "^0.14.3" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + +bin-version-check@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0" + dependencies: + bin-version "^1.0.0" + minimist "^1.1.0" + semver "^4.0.3" + semver-truncate "^1.0.0" + +bin-version@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e" + dependencies: + find-versions "^1.0.0" + +binary-extensions@^1.0.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + +bitsyntax@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/bitsyntax/-/bitsyntax-0.0.4.tgz#eb10cc6f82b8c490e3e85698f07e83d46e0cba82" + dependencies: + buffer-more-ints "0.0.2" + +bl@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +bluebird@3.3.5: + version "3.3.5" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.3.5.tgz#5ee747f1c7bd967658b683936430aee753955a34" + +bluebird@~3.4.6: + version "3.4.7" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + +body-parser@1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" + on-finished "~2.3.0" + qs "6.5.1" + raw-body "2.3.2" + type-is "~1.6.15" + +brace-expansion@^1.0.0, brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@~0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + dependencies: + pako "~0.2.0" + +bser@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169" + dependencies: + node-int64 "^0.4.0" + +bser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04" + +buffer-more-ints@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz#26b3885d10fa13db7fc01aae3aab870199e0124c" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^4.3.0, buffer@^4.9.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^1.0.0, builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cache-point@~0.3.3: + version "0.3.4" + resolved "https://registry.yarnpkg.com/cache-point/-/cache-point-0.3.4.tgz#152db502c6bb23b5aa3f663e230d5de8ec4e4f3f" + dependencies: + array-back "^1.0.3" + core-js "^2.4.1" + feature-detect-es6 "^1.3.1" + fs-then-native "^1.0.2" + mkdirp "~0.5.1" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +catharsis@~0.8.8: + version "0.8.9" + resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.9.tgz#98cc890ca652dd2ef0e70b37925310ff9e90fc8b" + dependencies: + underscore-contrib "~0.3.0" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019" + dependencies: + ansi-styles "^2.1.0" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" + dependencies: + ansi-styles "^1.1.0" + escape-string-regexp "^1.0.0" + has-ansi "^0.1.0" + strip-ansi "^0.3.0" + supports-color "^0.2.0" + +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@^1.0.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chownr@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +circular-json@^0.3.1: + version "0.3.3" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cli-commands@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cli-commands/-/cli-commands-0.1.0.tgz#c57cacc406bbcf9ee21646607161ed432ef5a05a" + dependencies: + ansi-escape-sequences "^3.0.0" + command-line-args "^3.0.1" + command-line-commands "^1.0.4" + command-line-usage "^3.0.5" + +cli-cursor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-table@0.0.x: + version "0.0.2" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.0.2.tgz#982867e16435325c66c208a1e71b95336ea3093b" + dependencies: + colors "0.3.0" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + +clone@^1.0.0, clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +collect-all@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/collect-all/-/collect-all-1.0.3.tgz#1abcc20448b58a1447487fcf34130e9512b0acf8" + dependencies: + stream-connect "^1.0.2" + stream-via "^1.0.4" + +collect-all@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/collect-all/-/collect-all-0.2.1.tgz#7225fb4585c22d4ffac886f0abaf5abc563a1a6a" + dependencies: + stream-connect "^1.0.1" + stream-via "~0.1.0" + typical "^2.3.0" + +collect-json@^1.0.1, collect-json@^1.0.7, collect-json@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/collect-json/-/collect-json-1.0.8.tgz#aa2fa52b4d1d9444ce690f07a1e3617ab74bb827" + dependencies: + collect-all "^1.0.2" + stream-connect "^1.0.2" + stream-via "^1.0.3" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + +colors@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-0.3.0.tgz#c247d64d34db0ca4dc8e43f3ecd6da98d0af94e7" + +column-layout@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/column-layout/-/column-layout-2.1.4.tgz#ed2857092ccf8338026fe538379d9672d70b3641" + dependencies: + ansi-escape-sequences "^2.2.2" + array-back "^1.0.3" + collect-json "^1.0.8" + command-line-args "^2.1.6" + core-js "^2.4.0" + deep-extend "~0.4.1" + feature-detect-es6 "^1.2.0" + object-tools "^2.0.6" + typical "^2.4.2" + wordwrapjs "^1.2.0" + +combined-stream@1.0.6, combined-stream@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + +command-line-args@^2.1.4, command-line-args@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-2.1.6.tgz#f197d6eaff34c9085577484b2864375b294f5697" + dependencies: + array-back "^1.0.2" + command-line-usage "^2" + core-js "^2.0.1" + feature-detect-es6 "^1.2.0" + find-replace "^1" + typical "^2.3.0" + +command-line-args@^3.0.0, command-line-args@^3.0.1: + version "3.0.5" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-3.0.5.tgz#5bd4ad45e7983e5c1344918e40280ee2693c5ac0" + dependencies: + array-back "^1.0.4" + feature-detect-es6 "^1.3.1" + find-replace "^1.0.2" + typical "^2.6.0" + +command-line-commands@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/command-line-commands/-/command-line-commands-1.0.4.tgz#034f9b167b5188afbdcf6b2efbb150fc8442c32b" + dependencies: + array-back "^1.0.3" + feature-detect-es6 "^1.3.1" + +command-line-tool@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.1.0.tgz#91a11ba48ac63a4a687554367980f7c6423c149d" + dependencies: + ansi-escape-sequences "^2.2.1" + array-back "^1.0.2" + +command-line-tool@~0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.5.2.tgz#f87d6977f56bbdd2d5dfcf946345dd2cd9c6a53a" + dependencies: + ansi-escape-sequences "^2.2.2" + array-back "^1.0.3" + command-line-args "^3.0.0" + command-line-usage "^3.0.3" + feature-detect-es6 "^1.3.0" + typical "^2.4.2" + +command-line-usage@^2: + version "2.0.5" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-2.0.5.tgz#f80c35ca5e8624841923ea3be3b9bfbf4f7be27b" + dependencies: + ansi-escape-sequences "^2.2.2" + array-back "^1.0.3" + column-layout "^2.1.1" + feature-detect-es6 "^1.2.0" + typical "^2.4.2" + wordwrapjs "^1.2.0" + +command-line-usage@^3.0.3, command-line-usage@^3.0.5: + version "3.0.8" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-3.0.8.tgz#b6a20978c1b383477f5c11a529428b880bfe0f4d" + dependencies: + ansi-escape-sequences "^3.0.0" + array-back "^1.0.3" + feature-detect-es6 "^1.3.1" + table-layout "^0.3.0" + typical "^2.6.0" + +commander@^2.8.1: + version "2.16.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50" + +commist@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/commist/-/commist-1.0.0.tgz#c0c352501cf6f52e9124e3ef89c9806e2022ebef" + dependencies: + leven "^1.0.0" + minimist "^1.1.0" + +common-sequence@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/common-sequence/-/common-sequence-1.0.2.tgz#30e07f3f8f6f7f9b3dee854f20b2d39eee086de8" + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +compressible@~2.0.13: + version "2.0.14" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.14.tgz#326c5f507fbb055f54116782b969a81b67a29da7" + dependencies: + mime-db ">= 1.34.0 < 2" + +compression@^1.5.2: + version "1.7.2" + resolved "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69" + dependencies: + accepts "~1.3.4" + bytes "3.0.0" + compressible "~2.0.13" + debug "2.6.9" + on-headers "~1.0.1" + safe-buffer "5.1.1" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.4.6, concat-stream@^1.4.7: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +config-master@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/config-master/-/config-master-2.0.4.tgz#e749505c5d3f946f2fad3c76dfe71fca689751dc" + dependencies: + babel-polyfill "^6.13.0" + feature-detect-es6 "^1.3.1" + walk-back "^2.0.1" + +connect-history-api-fallback@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.1.0.tgz#5a6dee82d9a648cb29131d3f9dd400ffa4593742" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constants-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-0.0.1.tgz#92577db527ba6c4cf0a4568d84bc031f441e21f2" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + +content-type-parser@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.2.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + +convert-source-map@^1.1.0, convert-source-map@^1.1.1, convert-source-map@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + +core-js@^2.0.1, core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0: + version "2.5.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cover@^0.2.9: + version "0.2.9" + resolved "https://registry.yarnpkg.com/cover/-/cover-0.2.9.tgz#262029dfb31714d48043fed91ede658593955dd4" + dependencies: + cli-table "0.0.x" + underscore "1.2.x" + underscore.string "2.0.x" + which "1.0.x" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-browserify@~3.2.6: + version "3.2.8" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.2.8.tgz#b9b11dbe6d9651dd882a01e6cc467df718ecf189" + dependencies: + pbkdf2-compat "2.0.1" + ripemd160 "0.2.0" + sha.js "2.2.6" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" + +"cssstyle@>= 0.2.37 < 0.3.0": + version "0.2.37" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" + dependencies: + cssom "0.3.x" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +dateformat@^1.0.11: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + +dateformat@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" + +ddata@~0.1.25: + version "0.1.28" + resolved "https://registry.yarnpkg.com/ddata/-/ddata-0.1.28.tgz#53138fafa3f01749ea2451d12b6b6dd9df1d5b1f" + dependencies: + array-back "^1.0.3" + core-js "^2.4.1" + handlebars "^3.0.3" + marked "~0.3.6" + object-get "^2.1.0" + reduce-flatten "^1.0.1" + string-tools "^1.0.0" + test-value "^2.0.0" + +debug@2.6.9, debug@^2.1.1, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +decamelize@^1.0.0, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + +deep-extend@~0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +defaults@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + dependencies: + clone "^1.0.2" + +defer-promise@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/defer-promise/-/defer-promise-1.0.1.tgz#1ca6ffeddbcef1715dd7aae25c7616f9ae22932f" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.0.2.tgz#6cdc68db00282b92d8e82a0ed9fff1d333193424" + dependencies: + globby "^3.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^1.0.0" + rimraf "^2.2.8" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + +depd@~1.1.1, depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + +deprecated@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +diff@^2.1.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99" + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dmd@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/dmd/-/dmd-1.4.2.tgz#b1304b98a5700a6bfe5dcf91be657c981700a4bc" + dependencies: + array-back "^1.0.3" + command-line-tool "~0.5.0" + common-sequence "^1.0.2" + ddata "~0.1.25" + file-set "^1.0.0" + handlebars-array "^0.2.0" + handlebars-comparison "^2.0.0" + handlebars-json "^1.0.0" + handlebars-regexp "^1.0.0" + handlebars-string "^2.0.1" + object-tools "^2.0.6" + reduce-unique "^1.0.0" + reduce-without "^1.0.1" + stream-handlebars "~0.1.6" + string-tools "^1.0.0" + walk-back "^2.0.1" + +doctrine@1.2.x: + version "1.2.3" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.2.3.tgz#6aec6bbd62cf89dd498cae70c0ed9f49da873a6a" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + dependencies: + readable-stream "~1.1.9" + +duplexify@^3.2.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +elliptic@^6.0.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + dependencies: + once "^1.4.0" + +end-of-stream@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" + dependencies: + once "~1.3.0" + +enhanced-resolve@~0.9.0: + version "0.9.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.2.0" + tapable "^0.1.8" + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + dependencies: + is-arrayish "^0.2.1" + +es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.45" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.45.tgz#0bfdf7b473da5919d5adf3bd25ceb754fccc3653" + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.1" + next-tick "1" + +es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@^0.1.4, es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@*, es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, escape-string-regexp@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + +escodegen@^1.6.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.10.0.tgz#f647395de22519fbd0d928ffcf1d17e0dec2603e" + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-airbnb-base@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-1.0.4.tgz#bc5420890bc6442cf15277c9a4a281fc1317f8a6" + +eslint-config-airbnb@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-8.0.0.tgz#2e539826262e6367525960d5a0d53d32b263af90" + dependencies: + eslint-config-airbnb-base "^1.0.2" + +eslint-import-resolver-node@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" + dependencies: + debug "^2.2.0" + object-assign "^4.0.1" + resolve "^1.1.6" + +eslint-loader@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.2.1.tgz#67b1663497585ea2678fcdd5171653ef7b110d20" + dependencies: + loader-utils "^0.2.7" + object-assign "^4.0.1" + +eslint-plugin-import@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-1.6.1.tgz#856cd78d02a294ff7e45ed6f4cc917ae3736f29b" + dependencies: + builtin-modules "^1.1.1" + doctrine "1.2.x" + es6-map "^0.1.3" + es6-set "^0.1.4" + es6-symbol "*" + eslint-import-resolver-node "^0.2.0" + lodash.cond "^4.3.0" + lodash.endswith "^4.0.1" + lodash.find "^4.3.0" + object-assign "^4.0.1" + pkg-up "^1.0.0" + +eslint-plugin-jsx-a11y@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-1.0.4.tgz#32799fd59088e4340c3cc954de860132a8d04d3c" + dependencies: + object-assign "^4.0.1" + +eslint-plugin-react@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-5.0.1.tgz#5a58c5228cba74202e45a8a4d6351ffbb0ea75b9" + +eslint@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-2.9.0.tgz#5b3fdb7497bb042e2747e3d1fe95f404dca39a60" + dependencies: + chalk "^1.1.3" + concat-stream "^1.4.6" + debug "^2.1.1" + doctrine "^1.2.1" + es6-map "^0.1.3" + escope "^3.6.0" + espree "3.1.4" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^1.1.1" + glob "^7.0.3" + globals "^9.2.0" + ignore "^3.1.2" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + optionator "^0.8.1" + path-is-absolute "^1.0.0" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.6.0" + strip-json-comments "~1.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.1.4.tgz#0726d7ac83af97a7c8498da9b363a3609d2a68a1" + dependencies: + acorn "^3.1.0" + acorn-jsx "^3.0.0" + +espree@~3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.1.7.tgz#fd5deec76a97a5120a9cd3a7cb1177a0923b11d2" + dependencies: + acorn "^3.3.0" + acorn-jsx "^3.0.0" + +esprima@2.7.x, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +esprima@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + dependencies: + estraverse "^4.1.0" + +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + +estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + dependencies: + d "1" + es5-ext "~0.10.14" + +eventemitter3@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +eventsource@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" + dependencies: + original ">=0.0.5" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" + dependencies: + merge "^1.2.0" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + dependencies: + homedir-polyfill "^1.0.1" + +express@^4.13.3: + version "4.16.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" + dependencies: + accepts "~1.3.5" + array-flatten "1.1.1" + body-parser "1.18.2" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.1" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.3" + qs "6.5.1" + range-parser "~1.2.0" + safe-buffer "5.1.1" + send "0.16.2" + serve-static "1.13.2" + setprototypeof "1.1.0" + statuses "~1.4.0" + type-is "~1.6.16" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0, extend@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +fancy-log@^1.1.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1" + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + time-stamp "^1.0.0" + +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^1.9.0: + version "1.9.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-1.9.2.tgz#a24cf47827f82d38fb59a69ad70b76e3b6ae7383" + dependencies: + bser "1.0.2" + +fb-watchman@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" + dependencies: + bser "^2.0.0" + +feature-detect-es6@^1.2.0, feature-detect-es6@^1.3.0, feature-detect-es6@^1.3.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/feature-detect-es6/-/feature-detect-es6-1.4.1.tgz#1a37d8f1cade260e846462d41621eb3dbd3c4ef8" + dependencies: + array-back "^1.0.4" + +figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-entry-cache@^1.1.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +file-set@^1.0.0, file-set@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/file-set/-/file-set-1.1.1.tgz#d3ec70c080ec8f18f204ba1de106780c9056926b" + dependencies: + array-back "^1.0.3" + glob "^7.1.0" + +file-set@~0.2.1: + version "0.2.8" + resolved "https://registry.yarnpkg.com/file-set/-/file-set-0.2.8.tgz#73a6571e9cbe51ac5926c88bd567d111f836f178" + dependencies: + array-tools "^2" + glob "^4" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +filter-where@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/filter-where/-/filter-where-1.0.1.tgz#1b042569edce36bc1c4e9f73740d2c4e2feef77d" + dependencies: + test-value "^1.0.1" + +finalhandler@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.4.0" + unpipe "~1.0.0" + +find-index@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" + +find-replace@^1, find-replace@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0" + dependencies: + array-back "^1.0.4" + test-value "^2.1.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-versions@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62" + dependencies: + array-uniq "^1.0.0" + get-stdin "^4.0.1" + meow "^3.5.0" + semver-regex "^1.0.0" + +findup-sync@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + dependencies: + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + +flagged-respawn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.0.tgz#4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7" + +flat-cache@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +follow-redirects@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-0.0.7.tgz#34b90bab2a911aa347571da90f22bd36ecd8a919" + dependencies: + debug "^2.2.0" + stream-consume "^0.1.0" + +follow-redirects@^1.0.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.0.tgz#234f49cf770b7f35b40e790f636ceba0c3a0ab77" + dependencies: + debug "^3.1.0" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" + dependencies: + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + dependencies: + minipass "^2.2.1" + +fs-readdir-recursive@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz#315b4fb8c1ca5b8c47defef319d073dad3568059" + +fs-then-native@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fs-then-native/-/fs-then-native-1.0.2.tgz#ac8d3807c9f1bbd1279607fb228e0ab649bb41fe" + dependencies: + feature-detect-es6 "^1.3.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" + dependencies: + globule "~0.1.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-stream@^3.1.5: + version "3.1.18" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" + dependencies: + glob "^4.3.1" + glob2base "^0.0.12" + minimatch "^2.0.1" + ordered-read-streams "^0.1.0" + through2 "^0.6.1" + unique-stream "^1.0.0" + +glob-watcher@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" + dependencies: + gaze "^0.5.1" + +glob2base@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" + dependencies: + find-index "^0.1.1" + +glob@^4, glob@^4.3.1: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@^5.0.15, glob@^5.0.3, glob@^5.0.5: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.3, glob@^7.0.5, glob@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~3.1.21: + version "3.1.21" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" + dependencies: + graceful-fs "~1.2.0" + inherits "1" + minimatch "~0.2.11" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +globals@^9.18.0, globals@^9.2.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +globby@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-3.0.1.tgz#2094af8421e19152150d5893eb6416b312d9a22f" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^5.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^1.0.0" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" + dependencies: + glob "~3.1.21" + lodash "~1.0.1" + minimatch "~0.2.11" + +glogg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.1.tgz#dcf758e44789cc3f3d32c1f3562a3676e6a34810" + dependencies: + sparkles "^1.0.0" + +graceful-fs@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" + dependencies: + natives "^1.1.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.4, graceful-fs@^4.1.9: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +graceful-fs@~1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" + +gulp-babel@6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/gulp-babel/-/gulp-babel-6.1.2.tgz#7c0176e4ba3f244c60588a0c4b320a45d1adefce" + dependencies: + babel-core "^6.0.2" + gulp-util "^3.0.0" + object-assign "^4.0.1" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl-sourcemaps-apply "^0.2.0" + +gulp-jsdoc-to-markdown@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/gulp-jsdoc-to-markdown/-/gulp-jsdoc-to-markdown-1.2.2.tgz#bd0e267e3972bc169e7bdb992f967823b023fefd" + dependencies: + gulp-util "^3.0.7" + jsdoc-to-markdown "^1.3.4" + through2 "^2.0.1" + +gulp-rename@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817" + +gulp-sourcemaps@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" + dependencies: + convert-source-map "^1.1.1" + graceful-fs "^4.1.2" + strip-bom "^2.0.0" + through2 "^2.0.0" + vinyl "^1.0.0" + +gulp-util@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.4.tgz#ec73553090fdb23d88fa02812ad1b61225854881" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^1.0.11" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^2.0.0" + replace-ext "0.0.1" + through2 "^0.6.3" + vinyl "^0.4.3" + +gulp-util@^3.0.0, gulp-util@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulp@3.8.11: + version "3.8.11" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.8.11.tgz#d557e0a7283eb4136491969b0497767972f1d28a" + dependencies: + archy "^1.0.0" + chalk "^0.5.0" + deprecated "^0.0.1" + gulp-util "^3.0.0" + interpret "^0.3.2" + liftoff "^2.0.1" + minimist "^1.1.0" + orchestrator "^0.3.0" + pretty-hrtime "^0.2.0" + semver "^4.1.0" + tildify "^1.0.0" + v8flags "^2.0.2" + vinyl-fs "^0.3.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + dependencies: + glogg "^1.0.0" + +handlebars-array@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/handlebars-array/-/handlebars-array-0.2.1.tgz#dd58395a5261d661988e8d77520ebbfaadc6bd24" + dependencies: + array-tools "^1.1.4" + +handlebars-comparison@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handlebars-comparison/-/handlebars-comparison-2.0.1.tgz#b17b95d2c298578e4aead38f5fac46e8f6005855" + dependencies: + array-tools "^1.1.0" + +handlebars-json@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/handlebars-json/-/handlebars-json-1.0.1.tgz#2ef87bb782551cd645bb4691b824e9653ec02504" + +handlebars-regexp@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/handlebars-regexp/-/handlebars-regexp-1.0.1.tgz#5f47f067260e9ba8e52f1a280917f70de39f11e4" + +handlebars-string@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/handlebars-string/-/handlebars-string-2.0.2.tgz#b9f92208a979cfcf51ff4a90defa183dc62942ca" + dependencies: + array-tools "^1.0.6" + string-tools "^0.1.4" + +handlebars@^3.0.0, handlebars@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-3.0.3.tgz#0e09651a2f0fb3c949160583710d551f92e6d2ad" + dependencies: + optimist "^0.6.1" + source-map "^0.1.40" + optionalDependencies: + uglify-js "~2.3" + +handlebars@^4.0.1: + version "4.0.11" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" + dependencies: + async "^1.4.0" + optimist "^0.6.1" + source-map "^0.4.4" + optionalDependencies: + uglify-js "^2.6" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" + dependencies: + ajv "^5.1.0" + har-schema "^2.0.0" + +has-ansi@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" + dependencies: + ansi-regex "^0.2.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + dependencies: + sparkles "^1.0.0" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.4.tgz#8b50e1f35d51bd01e5ed9ece4dbe3549ccfa0a3c" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + +help-me@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/help-me/-/help-me-0.1.0.tgz#0fb3a40537ad5265b6b49413022c60d35b49539a" + dependencies: + concat-stream "^1.4.7" + pump "^1.0.0" + readable-stream "^1.0.33" + xtend "^4.0.0" + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +home-path@^1.0.3, home-path@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.6.tgz#d549dc2465388a7f8667242c5b31588d29af29fc" + +homedir-polyfill@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.6.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.1.tgz#6e4cee78b01bb849dcf93527708c69fdbee410df" + +html-encoding-sniffer@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + dependencies: + whatwg-encoding "^1.0.1" + +http-browserify@^1.3.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/http-browserify/-/http-browserify-1.7.0.tgz#33795ade72df88acfbfd36773cefeda764735b20" + dependencies: + Base64 "~0.2.0" + inherits "~2.0.1" + +http-errors@1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.4.0: + version "0.4.13" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.13.tgz#3bd6d6fde6e3172c9334c3b33b6c193d80fe1137" + +http-proxy@^1.11.2: + version "1.17.0" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" + dependencies: + eventemitter3 "^3.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.0.tgz#b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd" + +https-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" + +humps@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/humps/-/humps-1.1.0.tgz#99a05cc80b13ae754a3d1e1a92182f271ef1d98f" + +iconv-lite@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + +iconv-lite@^0.4.4: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.4: + version "1.1.12" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + dependencies: + minimatch "^3.0.4" + +ignore@^3.1.2: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +interpret@^0.3.2: + version "0.3.10" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.3.10.tgz#088c25de731c6c5b112a90f0071cfaf459e5a7bb" + +interpret@^0.6.4: + version "0.6.6" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + dependencies: + loose-envify "^1.0.0" + +ipaddr.js@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-my-ip-valid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" + +is-my-json-valid@^2.10.0: + version "2.17.2" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + is-my-ip-valid "^1.0.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + dependencies: + path-is-inside "^1.0.1" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + dependencies: + is-unc-path "^1.0.0" + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul@^0.4.2: + version "0.4.5" + resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +jest-cli@12.0.2: + version "12.0.2" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-12.0.2.tgz#59552d146c1c0a0fbe729b9b2d351b7a13308f8d" + dependencies: + chalk "^1.1.1" + cover "^0.2.9" + diff "^2.1.1" + graceful-fs "^4.1.3" + istanbul "^0.4.2" + jest-environment-jsdom "^12.0.2" + jest-environment-node "^12.0.2" + jest-haste-map "^12.0.2" + jest-jasmine1 "^12.0.2" + jest-jasmine2 "^12.0.2" + jest-mock "^12.0.2" + jest-util "^12.0.2" + json-stable-stringify "^1.0.0" + lodash.template "^4.2.4" + mkdirp "^0.5.1" + optimist "^0.6.1" + resolve "^1.1.6" + sane "^1.2.0" + which "^1.1.1" + worker-farm "^1.3.1" + +jest-environment-jsdom@^12.0.2: + version "12.1.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-12.1.0.tgz#d630a61a900efb2a899dfb0d9233a9ae6edba51e" + dependencies: + jest-util "^12.1.0" + jsdom "^9.0.0" + +jest-environment-node@^12.0.2: + version "12.1.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-12.1.0.tgz#f81890f895f5e9fc3dd7650248a35f2502c24333" + dependencies: + jest-util "^12.1.0" + +jest-haste-map@^12.0.2: + version "12.1.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-12.1.0.tgz#e26fef9b80a4391145331f64b3f962ecffb2122f" + dependencies: + fb-watchman "^1.9.0" + graceful-fs "^4.1.3" + worker-farm "^1.3.1" + +jest-jasmine1@^12.0.2: + version "12.1.0" + resolved "https://registry.yarnpkg.com/jest-jasmine1/-/jest-jasmine1-12.1.0.tgz#0409044d0384ec765e8a2bc38fd78db5f6c55bff" + dependencies: + graceful-fs "^4.1.3" + jest-util "^12.1.0" + +jest-jasmine2@^12.0.2: + version "12.1.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-12.1.0.tgz#229c1ecc36d04d71d538bc0133c71d87077112eb" + dependencies: + graceful-fs "^4.1.3" + jest-util "^12.1.0" + +jest-mock@^12.0.2, jest-mock@^12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-12.1.0.tgz#472b896294f7b91e23dcddbcb6cfa3e6e4b28049" + +jest-util@^12.0.2, jest-util@^12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-12.1.0.tgz#3d3673e81f17e0ec967e9ddc785160a51ab9ec12" + dependencies: + chalk "^1.1.1" + diff "^2.1.1" + graceful-fs "^4.1.3" + jest-mock "^12.1.0" + mkdirp "^0.5.1" + +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@3.x, js-yaml@^3.5.1: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js2xmlparser@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-1.0.0.tgz#5a170f2e8d6476ce45405e04823242513782fe30" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsdoc-75lb@^3.5.6: + version "3.6.0" + resolved "https://registry.yarnpkg.com/jsdoc-75lb/-/jsdoc-75lb-3.6.0.tgz#a807119528b4009ccbcab49b7522f63fec6cd0bd" + dependencies: + bluebird "~3.4.6" + catharsis "~0.8.8" + escape-string-regexp "~1.0.5" + espree "~3.1.7" + js2xmlparser "~1.0.0" + klaw "~1.3.0" + marked "~0.3.6" + mkdirp "~0.5.1" + requizzle "~0.2.1" + strip-json-comments "~2.0.1" + taffydb "2.6.2" + underscore "~1.8.3" + +jsdoc-api@^1.0.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/jsdoc-api/-/jsdoc-api-1.2.4.tgz#5012235927bfad1e27bc88d07b0ddddb2d3a8a59" + dependencies: + array-back "^1.0.3" + cache-point "~0.3.3" + collect-all "^1.0.2" + core-js "^2.4.1" + feature-detect-es6 "^1.3.1" + file-set "^1.0.1" + jsdoc-75lb "^3.5.6" + object-to-spawn-args "^1.1.0" + promise.prototype.finally "^1.0.1" + temp-path "^1.0.0" + then-fs "^2.0.0" + walk-back "^2.0.1" + +jsdoc-parse@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/jsdoc-parse/-/jsdoc-parse-1.2.7.tgz#54b7481b3cd6bcb7c173dc4fa69ee92735ea2525" + dependencies: + ansi-escape-sequences "^2.2.1" + array-tools "^2" + collect-json "^1.0.1" + command-line-args "^2.1.4" + command-line-tool "^0.1.0" + core-js "^2.0.1" + feature-detect-es6 "^1.2.0" + file-set "~0.2.1" + jsdoc-api "^1.0.0" + object-tools "^2" + stream-connect "^1.0.1" + test-value "^1.0.1" + +jsdoc-to-markdown@^1.3.4: + version "1.3.9" + resolved "https://registry.yarnpkg.com/jsdoc-to-markdown/-/jsdoc-to-markdown-1.3.9.tgz#774c0ece0ebd0bcc3261b2c9a2aa8d1399a61472" + dependencies: + ansi-escape-sequences "^3.0.0" + command-line-args "^3.0.1" + command-line-usage "^3.0.5" + config-master "^2.0.4" + dmd "^1.4.1" + jsdoc-parse "^1.2.7" + jsdoc2md-stats "^1.0.3" + object-tools "^2.0.6" + stream-connect "^1.0.2" + +jsdoc2md-stats@^1.0.3: + version "1.0.6" + resolved "https://registry.yarnpkg.com/jsdoc2md-stats/-/jsdoc2md-stats-1.0.6.tgz#dc0e002aebbd0fbae5123534f92732afbc651fbf" + dependencies: + app-usage-stats "^0.4.0" + feature-detect-es6 "^1.3.1" + +jsdom@^9.0.0: + version "9.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" + dependencies: + abab "^1.0.3" + acorn "^4.0.4" + acorn-globals "^3.1.0" + array-equal "^1.0.0" + content-type-parser "^1.0.1" + cssom ">= 0.3.2 < 0.4.0" + cssstyle ">= 0.2.37 < 0.3.0" + escodegen "^1.6.1" + html-encoding-sniffer "^1.0.1" + nwmatcher ">= 1.3.9 < 2.0.0" + parse5 "^1.5.1" + request "^2.79.0" + sax "^1.2.1" + symbol-tree "^3.2.1" + tough-cookie "^2.3.2" + webidl-conversions "^4.0.0" + whatwg-encoding "^1.0.1" + whatwg-url "^4.3.0" + xml-name-validator "^2.0.1" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-loader@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.2.tgz#ed79019c4f3778422eccd62427eb526612c6ef40" + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + +klaw@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +leven@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/leven/-/leven-1.0.2.tgz#9144b6eebca5f1d0680169f1a6770dcea60b75c3" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +liftoff@^2.0.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec" + dependencies: + extend "^3.0.0" + findup-sync "^2.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +loader-utils@^0.2.11, loader-utils@^0.2.7: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + +lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash.assign@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.cond@^4.3.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + +lodash.endswith@^4.0.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + +lodash.find@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + +lodash.pickby@^4.0.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.template@^4.2.4: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + dependencies: + lodash._reinterpolate "~3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash.templatesettings@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + dependencies: + lodash._reinterpolate "~3.0.0" + +lodash@4.11.2: + version "4.11.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.11.2.tgz#d6b4338b110a58e21dae5cebcfdbbfd2bc4cdb3b" + +lodash@^3.10.0, lodash@^3.2.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + +lodash@^4.0.0, lodash@^4.11.1, lodash@^4.17.4, lodash@^4.3.0: + version "4.17.10" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" + +lodash@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + dependencies: + chalk "^1.0.0" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + dependencies: + kind-of "^6.0.2" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + +marked@~0.3.6: + version "0.3.19" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" + +math-random@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" + +md5.js@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +memory-fs@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" + +memory-fs@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.3.0, meow@^3.5.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +merge-stream@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.0.tgz#9cfd156fef35421e2b5403ce11dc6eb1962b026e" + dependencies: + readable-stream "^2.0.1" + +merge@1.2.0, merge@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +micromatch@^2.1.5: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.0.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +"mime-db@>= 1.34.0 < 2": + version "1.34.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.34.0.tgz#452d0ecff5c30346a6dc1e64b1eaee0d3719ff9a" + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + dependencies: + mime-db "~1.33.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + +mime@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimatch@^2.0.1, minimatch@^2.0.3: + version "2.0.10" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" + dependencies: + brace-expansion "^1.0.0" + +minimatch@~0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minipass@^2.2.1, minipass@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.3.tgz#a7dcc8b7b833f5d368759cce544dccb55f50f233" + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" + dependencies: + minipass "^2.2.1" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp2@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp2/-/mkdirp2-1.0.4.tgz#56de1f8f5c93cf2199906362eba0f9f262ee4437" + +mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mqtt-connection@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/mqtt-connection/-/mqtt-connection-2.1.1.tgz#7b2e985a74e196619430bebd35da162c34c4e56a" + dependencies: + inherits "^2.0.1" + mqtt-packet "^3.0.0" + reduplexer "^1.1.0" + through2 "^0.6.3" + +mqtt-packet@^3.0.0, mqtt-packet@^3.2.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/mqtt-packet/-/mqtt-packet-3.5.0.tgz#8b2953410b89e17981ee2ce63a33e73785109d9f" + dependencies: + bl "^1.0.0" + inherits "^2.0.1" + +mqtt@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/mqtt/-/mqtt-1.10.0.tgz#0e82ea9bb3cde6b385cae0c2c728a6921d338c7c" + dependencies: + commist "^1.0.0" + concat-stream "^1.4.7" + end-of-stream "^1.1.0" + help-me "^0.1.0" + inherits "^2.0.1" + minimist "^1.1.0" + mqtt-connection "^2.0.0" + mqtt-packet "^3.2.0" + pump "^1.0.1" + readable-stream "~1.0.2" + reinterval "^1.0.1" + split2 "^2.0.1" + websocket-stream "^3.0.1" + xtend "^4.0.0" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + dependencies: + duplexer2 "0.0.2" + +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + +nan@^2.3.3, nan@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natives@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.4.tgz#2f0f224fc9a7dd53407c7667c84cf8dbe773de58" + +needle@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d" + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +next-tick@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + +node-libs-browser@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-1.0.0.tgz#ff8ad6c2cfa78043bdd0091ec07f0aaa581620fc" + dependencies: + assert "^1.1.1" + browserify-zlib "~0.1.4" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + http-browserify "^1.3.2" + https-browserify "0.0.1" + os-browserify "~0.2.0" + path-browserify "0.0.0" + process "~0.11.0" + punycode "^1.2.4" + querystring-es3 "~0.2.0" + readable-stream "^2.0.5" + stream-browserify "^2.0.1" + string_decoder "~0.10.25" + timers-browserify "^1.0.1" + tty-browserify "0.0.0" + url "~0.11.0" + util "~0.10.3" + vm-browserify "0.0.4" + +"node-libs-browser@>= 0.4.0 <=0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.6.0.tgz#244806d44d319e048bc8607b5cc4eaf9a29d2e3c" + dependencies: + assert "^1.1.1" + browserify-zlib "~0.1.4" + buffer "^4.9.0" + console-browserify "^1.1.0" + constants-browserify "0.0.1" + crypto-browserify "~3.2.6" + domain-browser "^1.1.1" + events "^1.0.0" + http-browserify "^1.3.2" + https-browserify "0.0.0" + os-browserify "~0.1.2" + path-browserify "0.0.0" + process "^0.11.0" + punycode "^1.2.4" + querystring-es3 "~0.2.0" + readable-stream "^1.1.13" + stream-browserify "^1.0.0" + string_decoder "~0.10.25" + timers-browserify "^1.0.1" + tty-browserify "0.0.0" + url "~0.10.1" + util "~0.10.3" + vm-browserify "0.0.4" + +node-pre-gyp@^0.10.0: + version "0.10.2" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.2.tgz#e8945c20ef6795a20aac2b44f036eb13cf5146e3" + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.0" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +nopt@3.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.0, normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +npm-bundled@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308" + +npm-packlist@^1.1.6: + version "1.1.10" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a" + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +"nwmatcher@>= 1.3.9 < 2.0.0": + version "1.4.4" + resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.4.tgz#2285631f34a95f0d0395cd900c96ed39b58f346e" + +oauth-sign@~0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-get@^2.0.0, object-get@^2.0.2, object-get@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object-get/-/object-get-2.1.0.tgz#722bbdb60039efa47cad3c6dc2ce51a85c02c5ae" + +object-to-spawn-args@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz#77da8827f073d011c9e1b173f895781470246785" + +object-tools@^1.2.1, object-tools@^1.6.1: + version "1.6.7" + resolved "https://registry.yarnpkg.com/object-tools/-/object-tools-1.6.7.tgz#52d400fc875250993dbbb3ba298d7c79bb0698d0" + dependencies: + array-tools "^1.8.4" + typical "^2.2" + +object-tools@^2, object-tools@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object-tools/-/object-tools-2.0.6.tgz#f3fe1c350cda4a6f5d99d9646dc4892a02476ddd" + dependencies: + array-back "^1.0.2" + collect-json "^1.0.7" + object-get "^2.0.2" + test-value "^1.1.0" + typical "^2.4.2" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + +object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + +once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.0: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +optimist@^0.6.1, optimist@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optimist@~0.3.5: + version "0.3.7" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9" + dependencies: + wordwrap "~0.0.2" + +optionator@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +options@>=0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" + +orchestrator@^0.3.0: + version "0.3.8" + resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" + dependencies: + end-of-stream "~0.1.5" + sequencify "~0.0.7" + stream-consume "~0.1.0" + +ordered-read-streams@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" + +original@>=0.0.5: + version "1.0.1" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" + dependencies: + url-parse "~1.4.0" + +os-browserify@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" + +os-browserify@~0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +output-file-sync@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + dependencies: + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" + +pako@~0.2.0: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + +parse-asn1@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + +parse5@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" + +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-exists@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-1.0.0.tgz#d5a8998eb71ef37a74c34eb0d9eba6e878eea081" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + dependencies: + path-root-regex "^0.1.0" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path@0.12.7: + version "0.12.7" + resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" + dependencies: + process "^0.11.1" + util "^0.10.3" + +pbkdf2-compat@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288" + +pbkdf2@^3.0.3: + version "3.0.16" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" + dependencies: + pinkie "^1.0.0" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-up@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" + dependencies: + find-up "^1.0.0" + +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-hrtime@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-0.2.2.tgz#d4fd88351e3a4741f8173af7d6a4b846f9895c00" + +private@^0.1.6, private@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +process@^0.11.0, process@^0.11.1, process@~0.11.0: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +promise.prototype.finally@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-1.0.1.tgz#91182f91c92486995740fa05e0da942ac986befa" + +"promise@>=3.2 <8": + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + dependencies: + asap "~2.0.3" + +proxy-addr@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.6.0" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + +psl@^1.1.24: + version "1.1.28" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.28.tgz#4fb6ceb08a1e2214d4fd4de0ca22dae13740bc7b" + +public-encrypt@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + +pump@^1.0.0, pump@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +qs@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + +qs@~6.5.1: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + +querystring-es3@~0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +querystringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755" + +randomatic@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923" + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.0.3, range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" + dependencies: + bytes "3.0.0" + http-errors "1.6.2" + iconv-lite "0.4.19" + unpipe "1.0.0" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +"readable-stream@1.x >=1.1.9", readable-stream@^1.0.27-1, readable-stream@^1.0.33, readable-stream@^1.1.13, readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.2, readable-stream@~1.0.26-2: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +reduce-extract@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/reduce-extract/-/reduce-extract-1.0.0.tgz#67f2385beda65061b5f5f4312662e8b080ca1525" + dependencies: + test-value "^1.0.1" + +reduce-flatten@^1.0.0, reduce-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-1.0.1.tgz#258c78efd153ddf93cb561237f61184f3696e327" + +reduce-unique@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/reduce-unique/-/reduce-unique-1.0.0.tgz#7e586bcf87a4e32b6d7abd8277fad6cdec9f4803" + +reduce-without@^1.0.0, reduce-without@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce-without/-/reduce-without-1.0.1.tgz#68ad0ead11855c9a37d4e8256c15bbf87972fc8c" + dependencies: + test-value "^2.0.0" + +reduplexer@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/reduplexer/-/reduplexer-1.1.0.tgz#7dfed18a679e749c1d7ad36de01acb515f08e140" + dependencies: + inherits "^2.0.1" + readable-stream "~1.0.26-2" + +regenerate@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + +regenerator-runtime@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +reinterval@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/reinterval/-/reinterval-1.1.0.tgz#3361ecfa3ca6c18283380dd0bb9546f390f5ece7" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +req-then@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/req-then/-/req-then-0.5.1.tgz#31c6e0b56f4ddd2acd6de0ba1bcea77b6079dfdf" + dependencies: + array-back "^1.0.3" + defer-promise "^1.0.0" + feature-detect-es6 "^1.3.1" + lodash.pick "^4.4.0" + typical "^2.6.0" + +request@^2.65.0, request@^2.79.0: + version "2.87.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.6.0" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.1" + forever-agent "~0.6.1" + form-data "~2.3.1" + har-validator "~5.0.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.17" + oauth-sign "~0.8.2" + performance-now "^2.1.0" + qs "~6.5.1" + safe-buffer "^5.1.1" + tough-cookie "~2.3.3" + tunnel-agent "^0.6.0" + uuid "^3.1.0" + +require-uncached@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + +requizzle@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.1.tgz#6943c3530c4d9a7e46f1cddd51c158fc670cdbde" + dependencies: + underscore "~1.6.0" + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@1.1.x: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.6, resolve@^1.1.7: + version "1.8.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + dependencies: + path-parse "^1.0.5" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@^2.2.8, rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +ripemd160@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + +safe-buffer@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + +sane@^1.2.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-1.7.0.tgz#b3579bccb45c94cf20355cc81124990dfd346e30" + dependencies: + anymatch "^1.3.0" + exec-sh "^0.2.0" + fb-watchman "^2.0.0" + minimatch "^3.0.2" + minimist "^1.1.1" + walker "~1.0.5" + watch "~0.10.0" + +sax@^1.2.1, sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +semver-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" + +semver-truncate@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8" + dependencies: + semver "^5.3.0" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + +semver@^4.0.3, semver@^4.1.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +sequencify@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" + +serve-index@^1.7.2: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setprototypeof@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + +sha.js@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +shelljs@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@^1.0.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.5.tgz#1bb7c0f7222c40f42adf14f4442cbd1269771a83" + dependencies: + debug "^2.6.6" + eventsource "0.1.6" + faye-websocket "~0.11.0" + inherits "^2.0.1" + json3 "^3.3.2" + url-parse "^1.1.8" + +sockjs@^0.3.15: + version "0.3.19" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" + dependencies: + faye-websocket "^0.10.0" + uuid "^3.0.1" + +sort-array@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-array/-/sort-array-1.1.2.tgz#b88986053c0170a7f9de63f18a49ec79c24c3e64" + dependencies: + array-back "^1.0.4" + object-get "^2.1.0" + typical "^2.6.0" + +source-list-map@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + +source-map@^0.1.40, source-map@~0.1.7: + version "0.1.43" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.4.4, source-map@~0.4.1: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + dependencies: + amdefine ">=0.0.4" + +source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + +spdx-correct@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" + +split2@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" + dependencies: + through2 "^2.0.2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + safer-buffer "^2.0.2" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + +"stompjs@git://github.com/gfoiani/stomp-websocket.git#2.4.0": + version "2.4.0" + resolved "git://github.com/gfoiani/stomp-websocket.git#f7fe1d8fcdd9649f53c174f5e1a9470b23b36dfd" + optionalDependencies: + websocket latest + +stream-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-1.0.0.tgz#bf9b4abfb42b274d751479e44e0ff2656b6f1193" + dependencies: + inherits "~2.0.1" + readable-stream "^1.0.27-1" + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-cache@~0.0.1: + version "0.0.2" + resolved "https://registry.yarnpkg.com/stream-cache/-/stream-cache-0.0.2.tgz#1ac5ad6832428ca55667dbdee395dad4e6db118f" + +stream-connect@^1.0.1, stream-connect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stream-connect/-/stream-connect-1.0.2.tgz#18bc81f2edb35b8b5d9a8009200a985314428a97" + dependencies: + array-back "^1.0.2" + +stream-consume@^0.1.0, stream-consume@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz#d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48" + +stream-handlebars@~0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/stream-handlebars/-/stream-handlebars-0.1.6.tgz#7305b5064203da171608c478acf642a149892a2f" + dependencies: + handlebars "^3.0.0" + object-tools "^1.2.1" + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + +stream-via@^1.0.3, stream-via@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/stream-via/-/stream-via-1.0.4.tgz#8dccbb0ac909328eb8bc8e2a4bd3934afdaf606c" + +stream-via@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/stream-via/-/stream-via-0.1.1.tgz#0cee5df9c959fb1d3f4eda4819f289d5f9205afc" + +string-tools@^0.1.4: + version "0.1.8" + resolved "https://registry.yarnpkg.com/string-tools/-/string-tools-0.1.8.tgz#70884e86a26ee5103a078bef67033d558d36e337" + +string-tools@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string-tools/-/string-tools-1.0.0.tgz#c69a9d5788858997da66f1d923ba7113ea466b5a" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@~0.10.25, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" + dependencies: + ansi-regex "^0.2.1" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" + dependencies: + first-chunk-stream "^1.0.0" + is-utf8 "^0.2.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.0, supports-color@^3.1.1: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +symbol-tree@^3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + +table-layout@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-0.3.0.tgz#6ee20dc483db371b3e5c87f704ed2f7c799d2c9a" + dependencies: + array-back "^1.0.3" + core-js "^2.4.1" + deep-extend "~0.4.1" + feature-detect-es6 "^1.3.1" + typical "^2.6.0" + wordwrapjs "^2.0.0-0" + +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + +taffydb@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" + +tapable@^0.1.8, tapable@~0.1.8: + version "0.1.10" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" + +tar@^4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.4.tgz#ec8409fae9f665a4355cc3b4087d0820232bb8cd" + dependencies: + chownr "^1.0.1" + fs-minipass "^1.2.5" + minipass "^2.3.3" + minizlib "^1.1.0" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +temp-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-path/-/temp-path-1.0.0.tgz#24b1543973ab442896d9ad367dd9cbdbfafe918b" + +test-value@^1.0.1, test-value@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/test-value/-/test-value-1.1.0.tgz#a09136f72ec043d27c893707c2b159bfad7de93f" + dependencies: + array-back "^1.0.2" + typical "^2.4.2" + +test-value@^2.0.0, test-value@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291" + dependencies: + array-back "^1.0.3" + typical "^2.6.0" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +then-fs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/then-fs/-/then-fs-2.0.0.tgz#72f792dd9d31705a91ae19ebfcf8b3f968c81da2" + dependencies: + promise ">=3.2 <8" + +through2@^0.6.1, through2@^0.6.3: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + +through2@^2.0.0, through2@^2.0.1, through2@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +tildify@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" + dependencies: + os-homedir "^1.0.0" + +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + +time-stamp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" + +timers-browserify@^1.0.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" + dependencies: + process "~0.11.0" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@^2.3.2: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tough-cookie@~2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" + dependencies: + punycode "^1.4.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +type-is@~1.6.15, type-is@~1.6.16: + version "1.6.16" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.18" + +typedarray-to-buffer@^3.1.2: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +typical@^2.1, typical@^2.2, typical@^2.3.0, typical@^2.4.2, typical@^2.5.0, typical@^2.6.0, typical@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" + +uglify-js@^2.6: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-js@~2.3: + version "2.3.6" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.3.6.tgz#fa0984770b428b7a9b2a8058f46355d14fef211a" + dependencies: + async "~0.2.6" + optimist "~0.3.5" + source-map "~0.1.7" + +uglify-js@~2.6.0: + version "2.6.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +ultron@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + +underscore-contrib@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/underscore-contrib/-/underscore-contrib-0.3.0.tgz#665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7" + dependencies: + underscore "1.6.0" + +underscore.string@2.0.x: + version "2.0.0" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.0.0.tgz#7470858a54a0bb3560d037da56dcc67b5181e11a" + +underscore@1.2.x: + version "1.2.4" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.2.4.tgz#e8da6241aa06f64df2473bb2590b8c17c84c3c7e" + +underscore@1.6.0, underscore@~1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" + +underscore@1.8.3, underscore@~1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +unique-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +url-parse@^1.1.8, url-parse@~1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.1.tgz#4dec9dad3dc8585f862fed461d2e19bbf623df30" + dependencies: + querystringify "^2.0.0" + requires-port "^1.0.0" + +url@~0.10.1: + version "0.10.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +url@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +usage-stats@^0.8.2: + version "0.8.6" + resolved "https://registry.yarnpkg.com/usage-stats/-/usage-stats-0.8.6.tgz#ec92559f648845c2021cbf5b4adea17af7513830" + dependencies: + array-back "^1.0.4" + cli-commands "0.1.0" + core-js "^2.4.1" + feature-detect-es6 "^1.3.1" + home-path "^1.0.5" + mkdirp2 "^1.0.3" + req-then "0.5.1" + typical "^2.6.1" + uuid "^3.0.1" + +use@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" + dependencies: + kind-of "^6.0.2" + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +util@^0.10.3, util@~0.10.3: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + dependencies: + inherits "2.0.3" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + +uuid@^3.0.1, uuid@^3.1.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + +v8flags@^2.0.10, v8flags@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + dependencies: + user-home "^1.1.1" + +validate-npm-package-license@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vinyl-fs@^0.3.0: + version "0.3.14" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" + dependencies: + defaults "^1.0.0" + glob-stream "^3.1.5" + glob-watcher "^0.0.6" + graceful-fs "^3.0.0" + mkdirp "^0.5.0" + strip-bom "^1.0.0" + through2 "^0.6.1" + vinyl "^0.4.0" + +vinyl-sourcemaps-apply@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" + dependencies: + source-map "^0.5.1" + +vinyl@^0.4.0, vinyl@^0.4.3: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +walk-back@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-2.0.1.tgz#554e2a9d874fac47a8cb006bf44c2f0c4998a0a4" + +walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + dependencies: + makeerror "1.0.x" + +watch@~0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc" + +watchpack@^0.2.1: + version "0.2.9" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-0.2.9.tgz#62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b" + dependencies: + async "^0.9.0" + chokidar "^1.0.0" + graceful-fs "^4.1.2" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + +webidl-conversions@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + +webpack-core@~0.6.0: + version "0.6.9" + resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2" + dependencies: + source-list-map "~0.1.7" + source-map "~0.4.1" + +webpack-dev-middleware@^1.4.0: + version "1.12.2" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" + dependencies: + memory-fs "~0.4.1" + mime "^1.5.0" + path-is-absolute "^1.0.0" + range-parser "^1.0.3" + time-stamp "^2.0.0" + +webpack-dev-server@1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-1.14.0.tgz#ace376e571a84162f229ba6598e9180f7efc9eec" + dependencies: + compression "^1.5.2" + connect-history-api-fallback "1.1.0" + express "^4.13.3" + http-proxy "^1.11.2" + optimist "~0.6.0" + serve-index "^1.7.2" + sockjs "^0.3.15" + sockjs-client "^1.0.3" + stream-cache "~0.0.1" + strip-ansi "^3.0.0" + supports-color "^3.1.1" + webpack-dev-middleware "^1.4.0" + +webpack-split-by-path@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/webpack-split-by-path/-/webpack-split-by-path-0.0.8.tgz#c700936214dfc325b88d072b2aae989c77eac7f5" + +webpack@1.13.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.13.0.tgz#aad3d34f0b7202dd55b17a6a6cebf4dbbe72272a" + dependencies: + acorn "^3.0.0" + async "^1.3.0" + clone "^1.0.2" + enhanced-resolve "~0.9.0" + interpret "^0.6.4" + loader-utils "^0.2.11" + memory-fs "~0.3.0" + mkdirp "~0.5.0" + node-libs-browser ">= 0.4.0 <=0.6.0" + optimist "~0.6.0" + supports-color "^3.1.0" + tapable "~0.1.8" + uglify-js "~2.6.0" + watchpack "^0.2.1" + webpack-core "~0.6.0" + +websocket-driver@>=0.5.1: + version "0.7.0" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" + dependencies: + http-parser-js ">=0.4.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" + +websocket-stream@^3.0.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/websocket-stream/-/websocket-stream-3.3.3.tgz#361da5404a337e60cfbc29b4a46368762679df0b" + dependencies: + duplexify "^3.2.0" + inherits "^2.0.1" + through2 "^2.0.0" + ws "^1.0.1" + xtend "^4.0.0" + +websocket@latest: + version "1.0.26" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.26.tgz#a03a01299849c35268c83044aa919c6374be8194" + dependencies: + debug "^2.2.0" + nan "^2.3.3" + typedarray-to-buffer "^3.1.2" + yaeti "^0.0.6" + +whatwg-encoding@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3" + dependencies: + iconv-lite "0.4.19" + +whatwg-url@^4.3.0: + version "4.8.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +when@3.7.5: + version "3.7.5" + resolved "https://registry.yarnpkg.com/when/-/when-3.7.5.tgz#199ff1142989624957bff61ac1a2e715af3f610a" + +when@~3.6.2: + version "3.6.4" + resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e" + +which@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/which/-/which-1.0.9.tgz#460c1da0f810103d0321a9b633af9e575e64486f" + +which@^1.1.1, which@^1.2.14: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + dependencies: + string-width "^1.0.2 || 2" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@^1.0.0, wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wordwrapjs@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-1.2.1.tgz#754a5ea0664cfbff50540dc32d67bda3289fc34b" + dependencies: + array-back "^1.0.3" + typical "^2.5.0" + +wordwrapjs@^2.0.0-0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-2.0.0.tgz#ab55f695e6118da93858fdd70c053d1c5e01ac20" + dependencies: + array-back "^1.0.3" + feature-detect-es6 "^1.3.1" + reduce-flatten "^1.0.1" + typical "^2.6.0" + +worker-farm@^1.3.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" + dependencies: + errno "~0.1.7" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +ws@^1.0.1: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" + dependencies: + options ">=0.0.5" + ultron "1.0.x" + +xml-name-validator@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" + +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0"