diff --git a/README.md b/README.md index eafe7573..89c6a952 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,7 @@ The OpenTracing standard JavaScript API is [documented here](https://doc.esdoc.o * `transport` `string` *optional*, *default=proto* - when `transport` is set to `thrift`, the Tracer will use Thrift as its transport instead of Proto over HTTP. * `logger` `function(level: string, message: string, payload: any): void` *optional* - specify a custom logger function. Possible `level` values are `debug`, `info`, `warn` and `error`. By default messages will be logged to the console. * `disable_meta_event_reporting` `bool` *optional*, *default=false* - when `disable_meta_event_reporting` is set to `true`, the tracer will disable meta event reporting even if requested by the Satellite. +* `propagator` `dictionary` *optional*, *defaults=*`{opentracing.FORMAT_HTTP: LightStepPropagator, opentracing.FORMAT_TEXT_MAP: LightStepPropagator, opentracing.FORMAT_BINARY: UnsupportedPropagator}`: Allows inject/extract to use custom propagators for different formats. This package includes a `B3Propagator` that supports B3 headers on text maps and http headers. ### SpanImp diff --git a/dist/lightstep-tracer.js b/dist/lightstep-tracer.js index 734abf30..bc23d317 100644 --- a/dist/lightstep-tracer.js +++ b/dist/lightstep-tracer.js @@ -13517,6 +13517,8 @@ var LS_META_SP_START = exports.LS_META_SP_START = 'lightstep.span_start'; var LS_META_SP_FINISH = exports.LS_META_SP_FINISH = 'lightstep.span_finish'; var LS_META_TRACER_CREATE = exports.LS_META_TRACER_CREATE = 'lightstep.tracer_create'; +var FORMAT_B3 = exports.FORMAT_B3 = 'format.b3'; + /***/ }), /***/ "./src/imp/auth_imp.js": @@ -18666,6 +18668,273 @@ module.exports = { /***/ }), +/***/ "./src/imp/propagator.js": +/*!*******************************!*\ + !*** ./src/imp/propagator.js ***! + \*******************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var UnsupportedPropagator = function () { + function UnsupportedPropagator(tracer, name) { + _classCallCheck(this, UnsupportedPropagator); + + this._tracer = tracer; + this._name = name; + } + + _createClass(UnsupportedPropagator, [{ + key: "inject", + value: function inject(spanContext, carrier) { + this._tracer._error("Unsupported format: " + this._name); + return null; + } + }, { + key: "extract", + value: function extract(carrier) { + this._tracer._error("Unsupported format: " + this._name); + } + }]); + + return UnsupportedPropagator; +}(); + +exports.default = UnsupportedPropagator; +module.exports = exports.default; + +/***/ }), + +/***/ "./src/imp/propagator_b3.js": +/*!**********************************!*\ + !*** ./src/imp/propagator_b3.js ***! + \**********************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _propagator_ls = __webpack_require__(/*! ./propagator_ls */ "./src/imp/propagator_ls.js"); + +var _propagator_ls2 = _interopRequireDefault(_propagator_ls); + +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; } + +var CARRIER_B3_TRACER_STATE_PREFIX = 'x-b3-'; + +var B3Propagator = function (_LightStepPropagator) { + _inherits(B3Propagator, _LightStepPropagator); + + function B3Propagator(tracer) { + _classCallCheck(this, B3Propagator); + + var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(B3Propagator).call(this, tracer)); + + _this._carrierPrefix = CARRIER_B3_TRACER_STATE_PREFIX; + return _this; + } + + _createClass(B3Propagator, [{ + key: 'inject', + value: function inject(spanContext, carrier) { + var _this2 = this; + + if (!carrier) { + this._tracer._error('Unexpected null carrier in call to inject'); + return; + } + if (typeof carrier !== 'object') { + this._tracer._error('Unexpected \'' + typeof carrier + '\' FORMAT_TEXT_MAP carrier in call to inject'); + return; + } + + carrier[this._carrierPrefix + 'spanid'] = spanContext._guid; + carrier[this._carrierPrefix + 'traceid'] = spanContext.traceGUID(); + if (spanContext._sampled) { + carrier[this._carrierPrefix + 'sampled'] = '1'; + } else { + carrier[this._carrierPrefix + 'sampled'] = '0'; + } + spanContext.forEachBaggageItem(function (key, value) { + carrier['' + _this2._baggagePrefix + key] = value; + }); + return carrier; + } + }]); + + return B3Propagator; +}(_propagator_ls2.default); + +exports.default = B3Propagator; +module.exports = exports.default; + +/***/ }), + +/***/ "./src/imp/propagator_ls.js": +/*!**********************************!*\ + !*** ./src/imp/propagator_ls.js ***! + \**********************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _each2 = __webpack_require__(/*! ../_each */ "./src/_each.js"); + +var _each3 = _interopRequireDefault(_each2); + +var _span_context_imp = __webpack_require__(/*! ./span_context_imp */ "./src/imp/span_context_imp.js"); + +var _span_context_imp2 = _interopRequireDefault(_span_context_imp); + +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"); } } + +var CARRIER_TRACER_STATE_PREFIX = 'ot-tracer-'; +var CARRIER_BAGGAGE_PREFIX = 'ot-baggage-'; + +var LightStepPropagator = function () { + function LightStepPropagator(tracer) { + _classCallCheck(this, LightStepPropagator); + + this._tracer = tracer; + this._carrierPrefix = CARRIER_TRACER_STATE_PREFIX; + this._baggagePrefix = CARRIER_BAGGAGE_PREFIX; + } + + _createClass(LightStepPropagator, [{ + key: 'inject', + value: function inject(spanContext, carrier) { + var _this = this; + + if (!carrier) { + this._tracer._error('Unexpected null carrier in call to inject'); + return; + } + if (typeof carrier !== 'object') { + this._tracer._error('Unexpected \'' + typeof carrier + '\' FORMAT_TEXT_MAP carrier in call to inject'); + return; + } + + carrier[this._carrierPrefix + 'spanid'] = spanContext._guid; + carrier[this._carrierPrefix + 'traceid'] = spanContext._traceGUID; + carrier[this._carrierPrefix + 'sampled'] = 'true'; + spanContext.forEachBaggageItem(function (key, value) { + carrier['' + _this._baggagePrefix + key] = value; + }); + return carrier; + } + }, { + key: 'extract', + value: function extract(carrier) { + var _this2 = this; + + // Iterate over the contents of the carrier and set the properties + // accordingly. + var foundFields = 0; + var spanGUID = null; + var traceGUID = null; + var sampled = true; + + (0, _each3.default)(carrier, function (value, key) { + key = key.toLowerCase(); + if (key.substr(0, _this2._carrierPrefix.length) !== _this2._carrierPrefix) { + return; + } + var suffix = key.substr(_this2._carrierPrefix.length); + + switch (suffix) { + case 'traceid': + foundFields++; + traceGUID = value; + break; + case 'spanid': + foundFields++; + spanGUID = value; + break; + case 'sampled': + switch (value) { + case 0: + case '0': + case false: + case 'false': + sampled = false; + break; + default: + sampled = true; + break; + } + break; + default: + _this2._tracer._error('Unrecognized carrier key \'' + key + '\' with recognized prefix. Ignoring.'); + break; + } + }); + + if (foundFields === 0) { + // This is not an error per se, there was simply no SpanContext + // in the carrier. + return null; + } + if (foundFields < 2) { + // A partial SpanContext suggests some sort of data corruption. + this._tracer._error('Only found a partial SpanContext: ' + carrier); + return null; + } + + var spanContext = new _span_context_imp2.default(spanGUID, traceGUID, sampled); + + (0, _each3.default)(carrier, function (value, key) { + key = key.toLowerCase(); + if (key.substr(0, _this2._baggagePrefix.length) !== _this2._baggagePrefix) { + return; + } + var suffix = key.substr(_this2._baggagePrefix.length); + spanContext.setBaggageItem(suffix, value); + }); + return spanContext; + } + }]); + + return LightStepPropagator; +}(); + +exports.default = LightStepPropagator; +module.exports = exports.default; + +/***/ }), + /***/ "./src/imp/report_imp.js": /*!*******************************!*\ !*** ./src/imp/report_imp.js ***! @@ -18988,18 +19257,38 @@ var SpanContextImp = function () { }); } + // traceGUID returns a 128 bit trace ID. + + }, { + key: 'traceGUID', + value: function traceGUID() { + return '' + this._upperTraceGUID + this._traceGUID; + } + // ---------------------------------------------------------------------- // // Private methods // ---------------------------------------------------------------------- // }]); - function SpanContextImp(spanGUID, traceGUID) { + function SpanContextImp(spanGUID, traceGUID, sampled) { _classCallCheck(this, SpanContextImp); this._baggage = {}; this._guid = spanGUID; + this._sampled = true; + // Ignore undefined or null when determining truthiness. + if (sampled === false) { + this._sampled = sampled; + } + // upperTraceGUID is the most significant 8 bytes of a B3/TraceContext + // 16 byte trace ID. Represented in base16. + this._upperTraceGUID = '0000000000000000'; this._traceGUID = traceGUID; + if (this._traceGUID && this._traceGUID.length === 32) { + this._upperTraceGUID = traceGUID.substr(0, 16); + this._traceGUID = traceGUID.substr(16); + } } return SpanContextImp; @@ -19426,6 +19715,14 @@ var _report_imp = __webpack_require__(/*! ./report_imp */ "./src/imp/report_imp. var _report_imp2 = _interopRequireDefault(_report_imp); +var _propagator = __webpack_require__(/*! ./propagator */ "./src/imp/propagator.js"); + +var _propagator2 = _interopRequireDefault(_propagator); + +var _propagator_ls = __webpack_require__(/*! ./propagator_ls */ "./src/imp/propagator_ls.js"); + +var _propagator_ls2 = _interopRequireDefault(_propagator_ls); + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -19448,9 +19745,6 @@ var globals = __webpack_require__(/*! ./globals */ "./src/imp/globals.js"); var packageObject = __webpack_require__(/*! ../../package.json */ "./package.json"); var util = __webpack_require__(/*! ./util/util */ "./src/imp/util/util.js"); -var CARRIER_TRACER_STATE_PREFIX = 'ot-tracer-'; -var CARRIER_BAGGAGE_PREFIX = 'ot-baggage-'; - var DEFAULT_COLLECTOR_HOSTNAME = 'collector.lightstep.com'; var DEFAULT_COLLECTOR_PORT_TLS = 443; var DEFAULT_COLLECTOR_PORT_PLAIN = 80; @@ -19514,6 +19808,15 @@ var Tracer = function (_opentracing$Tracer) { _this._transport = opts.override_transport; } + _this._propagators = {}; + _this._propagators[_this._opentracing.FORMAT_HTTP_HEADERS] = new _propagator_ls2.default(_this); + _this._propagators[_this._opentracing.FORMAT_TEXT_MAP] = new _propagator_ls2.default(_this); + _this._propagators[_this._opentracing.FORMAT_BINARY] = new _propagator2.default(_this, _this._opentracing.FORMAT_BINARY); + + if (opts && opts.propagators) { + _this._propagators = Object.assign({}, _this._propagators, opts.propagators); + } + _this._reportingLoopActive = false; _this._first_report_has_run = false; _this._reportYoungestMicros = now; @@ -19710,8 +20013,9 @@ var Tracer = function (_opentracing$Tracer) { } } - var traceGUID = parentCtxImp ? parentCtxImp._traceGUID : this.generateTraceGUIDForRootSpan(); - var spanImp = new _span_imp2.default(this, name, new _span_context_imp2.default(this._platform.generateUUID(), traceGUID)); + var traceGUID = parentCtxImp ? parentCtxImp.traceGUID() : this.generateTraceGUIDForRootSpan(); + var sampled = parentCtxImp ? parentCtxImp._sampled : true; + var spanImp = new _span_imp2.default(this, name, new _span_context_imp2.default(this._platform.generateUUID(), traceGUID, sampled)); spanImp.addTags(this._options.default_span_tags); (0, _each3.default)(fields, function (value, key) { @@ -19750,130 +20054,54 @@ var Tracer = function (_opentracing$Tracer) { }, { key: '_inject', value: function _inject(spanContext, format, carrier) { + if (this.options().meta_event_reporting === true) { + var _tags2; + + this.startSpan(constants.LS_META_INJECT, { + tags: (_tags2 = {}, _defineProperty(_tags2, constants.LS_META_EVENT_KEY, true), _defineProperty(_tags2, constants.LS_META_TRACE_KEY, spanContext._traceGUID), _defineProperty(_tags2, constants.LS_META_SPAN_KEY, spanContext._guid), _defineProperty(_tags2, constants.LS_META_PROPAGATION_KEY, format), _tags2) + }).finish(); + } switch (format) { case this._opentracing.FORMAT_HTTP_HEADERS: + this._propagators[this._opentracing.FORMAT_HTTP_HEADERS].inject(spanContext, carrier); + break; case this._opentracing.FORMAT_TEXT_MAP: - if (this.options().meta_event_reporting === true) { - var _tags2; - - this.startSpan(constants.LS_META_INJECT, { - tags: (_tags2 = {}, _defineProperty(_tags2, constants.LS_META_EVENT_KEY, true), _defineProperty(_tags2, constants.LS_META_TRACE_KEY, spanContext._traceGUID), _defineProperty(_tags2, constants.LS_META_SPAN_KEY, spanContext._guid), _defineProperty(_tags2, constants.LS_META_PROPAGATION_KEY, format), _tags2) - }).finish(); - } - this._injectToTextMap(spanContext, carrier); + this._propagators[this._opentracing.FORMAT_TEXT_MAP].inject(spanContext, carrier); break; - case this._opentracing.FORMAT_BINARY: - this._error('Unsupported format: ' + format); + this._propagators[this._opentracing.FORMAT_BINARY].inject(spanContext, carrier); break; - default: this._error('Unknown format: ' + format); break; } } - }, { - key: '_injectToTextMap', - value: function _injectToTextMap(spanContext, carrier) { - if (!carrier) { - this._error('Unexpected null FORMAT_TEXT_MAP carrier in call to inject'); - return; - } - if (typeof carrier !== 'object') { - this._error('Unexpected \'' + typeof carrier + '\' FORMAT_TEXT_MAP carrier in call to inject'); - return; - } - - carrier[CARRIER_TRACER_STATE_PREFIX + 'spanid'] = spanContext._guid; - carrier[CARRIER_TRACER_STATE_PREFIX + 'traceid'] = spanContext._traceGUID; - spanContext.forEachBaggageItem(function (key, value) { - carrier['' + CARRIER_BAGGAGE_PREFIX + key] = value; - }); - carrier[CARRIER_TRACER_STATE_PREFIX + 'sampled'] = 'true'; - return carrier; - } }, { key: '_extract', value: function _extract(format, carrier) { - var sc = void 0; + var sc = null; switch (format) { case this._opentracing.FORMAT_HTTP_HEADERS: + sc = this._propagators[this._opentracing.FORMAT_HTTP_HEADERS].extract(carrier); + break; case this._opentracing.FORMAT_TEXT_MAP: - sc = this._extractTextMap(format, carrier); - if (this.options().meta_event_reporting === true) { - var _tags3; - - this.startSpan(constants.LS_META_EXTRACT, { - tags: (_tags3 = {}, _defineProperty(_tags3, constants.LS_META_EVENT_KEY, true), _defineProperty(_tags3, constants.LS_META_TRACE_KEY, sc._traceGUID), _defineProperty(_tags3, constants.LS_META_SPAN_KEY, sc._guid), _defineProperty(_tags3, constants.LS_META_PROPAGATION_KEY, format), _tags3) - }).finish(); - } - return sc; + sc = this._propagators[this._opentracing.FORMAT_TEXT_MAP].extract(carrier); + break; case this._opentracing.FORMAT_BINARY: - this._error('Unsupported format: ' + format); - return null; - + sc = this._propagators[this._opentracing.FORMAT_BINARY].extract(carrier); + break; default: this._error('Unsupported format: ' + format); return null; } - } - }, { - key: '_extractTextMap', - value: function _extractTextMap(format, carrier) { - var _this3 = this; - - // Begin with the empty SpanContextImp - var spanContext = new _span_context_imp2.default(null, null); - - // Iterate over the contents of the carrier and set the properties - // accordingly. - var foundFields = 0; - (0, _each3.default)(carrier, function (value, key) { - key = key.toLowerCase(); - if (key.substr(0, CARRIER_TRACER_STATE_PREFIX.length) !== CARRIER_TRACER_STATE_PREFIX) { - return; - } - var suffix = key.substr(CARRIER_TRACER_STATE_PREFIX.length); + if (this.options().meta_event_reporting === true && sc) { + var _tags3; - switch (suffix) { - case 'traceid': - foundFields++; - spanContext._traceGUID = value; - break; - case 'spanid': - foundFields++; - spanContext._guid = value; - break; - case 'sampled': - // Ignored. The carrier may be coming from a different client - // library that sends this (even though it's not used). - break; - default: - _this3._error('Unrecognized carrier key \'' + key + '\' with recognized prefix. Ignoring.'); - break; - } - }); - - if (foundFields === 0) { - // This is not an error per se, there was simply no SpanContext - // in the carrier. - return null; - } - if (foundFields < 2) { - // A partial SpanContext suggests some sort of data corruption. - this._error('Only found a partial SpanContext: ' + format + ', ' + carrier); - return null; + this.startSpan(constants.LS_META_EXTRACT, { + tags: (_tags3 = {}, _defineProperty(_tags3, constants.LS_META_EVENT_KEY, true), _defineProperty(_tags3, constants.LS_META_TRACE_KEY, sc._traceGUID), _defineProperty(_tags3, constants.LS_META_SPAN_KEY, sc._guid), _defineProperty(_tags3, constants.LS_META_PROPAGATION_KEY, format), _tags3) + }).finish(); } - - (0, _each3.default)(carrier, function (value, key) { - key = key.toLowerCase(); - if (key.substr(0, CARRIER_BAGGAGE_PREFIX.length) !== CARRIER_BAGGAGE_PREFIX) { - return; - } - var suffix = key.substr(CARRIER_BAGGAGE_PREFIX.length); - spanContext.setBaggageItem(suffix, value); - }); - return spanContext; + return sc; } // ---------------------------------------------------------------------- // @@ -19951,7 +20179,7 @@ var Tracer = function (_opentracing$Tracer) { }, { key: 'options', value: function options(opts) { - var _this4 = this; + var _this3 = this; if (arguments.length === 0) { console.assert(typeof this._options === 'object', // eslint-disable-line @@ -19978,7 +20206,7 @@ var Tracer = function (_opentracing$Tracer) { var modified = {}; var unchanged = {}; (0, _each3.default)(this._optionDescs, function (desc) { - _this4._setOptionInternal(modified, unchanged, opts, desc); + _this3._setOptionInternal(modified, unchanged, opts, desc); }); // Check for any invalid options: is there a key in the specified operation @@ -20108,7 +20336,7 @@ var Tracer = function (_opentracing$Tracer) { }, { key: '_initReportingDataIfNeeded', value: function _initReportingDataIfNeeded(modified) { - var _this5 = this; + var _this4 = this; // Ignore redundant initialization; complaint on inconsistencies if (this._auth !== null) { @@ -20147,7 +20375,7 @@ var Tracer = function (_opentracing$Tracer) { var tags = {}; (0, _each3.default)(this._options.tags, function (value, key) { if (typeof value !== 'string') { - _this5._error('Tracer tag value is not a string: key=' + key); + _this4._error('Tracer tag value is not a string: key=' + key); return; } tags[key] = value; @@ -20184,11 +20412,11 @@ var Tracer = function (_opentracing$Tracer) { }, { key: 'addPlatformPlugins', value: function addPlatformPlugins(opts) { - var _this6 = this; + var _this5 = this; var pluginSet = this._platform.plugins(opts); (0, _each3.default)(pluginSet, function (val) { - _this6.addPlugin(val); + _this5.addPlugin(val); }); } }, { @@ -20206,10 +20434,10 @@ var Tracer = function (_opentracing$Tracer) { }, { key: 'startPlugins', value: function startPlugins() { - var _this7 = this; + var _this6 = this; (0, _each3.default)(this._plugins, function (val, key) { - _this7._plugins[key].start(_this7); + _this6._plugins[key].start(_this6); }); } @@ -20251,14 +20479,14 @@ var Tracer = function (_opentracing$Tracer) { }, { key: '_setActiveRootSpanToYoungest', value: function _setActiveRootSpanToYoungest() { - var _this8 = this; + var _this7 = this; // Set the _activeRootSpan to the youngest of the roots in case of // multiple. this._activeRootSpan = null; (0, _each3.default)(this._activeRootSpanSet, function (span) { - if (!_this8._activeRootSpan || span._beginMicros > _this8._activeRootSpan._beginMicros) { - _this8._activeRootSpan = span; + if (!_this7._activeRootSpan || span._beginMicros > _this7._activeRootSpan._beginMicros) { + _this7._activeRootSpan = span; } }); } @@ -20389,24 +20617,24 @@ var Tracer = function (_opentracing$Tracer) { }, { key: '_restoreRecords', value: function _restoreRecords(spans, internalLogs, counters) { - var _this9 = this; + var _this8 = this; (0, _each3.default)(spans, function (span) { - _this9._internalAddSpanRecord(span); + _this8._internalAddSpanRecord(span); }); var currentInternalLogs = this._internalLogs; this._internalLogs = []; var toAdd = internalLogs.concat(currentInternalLogs); (0, _each3.default)(toAdd, function (log) { - _this9._pushInternalLog(log); + _this8._pushInternalLog(log); }); (0, _each3.default)(counters, function (value, key) { - if (key in _this9._counters) { - _this9._counters[key] += value; + if (key in _this8._counters) { + _this8._counters[key] += value; } else { - _this9._error('Bad counter name: ' + key); + _this8._error('Bad counter name: ' + key); } }); } @@ -20418,7 +20646,7 @@ var Tracer = function (_opentracing$Tracer) { }, { key: '_setupReportOnExit', value: function _setupReportOnExit() { - var _this10 = this; + var _this9 = this; if (this._options.disable_report_on_exit) { this._debug('report-on-exit is disabled.'); @@ -20433,13 +20661,13 @@ var Tracer = function (_opentracing$Tracer) { if (finalFlushOnce++ > 0) { return; } - _this10._info('Final flush before exit.'); - _this10._flushReport(false, true, function (err) { + _this9._info('Final flush before exit.'); + _this9._flushReport(false, true, function (err) { if (err) { - _this10._warn('Final report before exit failed', { + _this9._warn('Final report before exit failed', { error: err, - unflushed_spans: _this10._spanRecords.length, - buffer_youngest_micros: _this10._reportYoungestMicros + unflushed_spans: _this9._spanRecords.length, + buffer_youngest_micros: _this9._reportYoungestMicros }); } }); @@ -20449,7 +20677,7 @@ var Tracer = function (_opentracing$Tracer) { }, { key: '_startReportingLoop', value: function _startReportingLoop() { - var _this11 = this; + var _this10 = this; if (this._options.disabled) { this._info('Not starting reporting loop: instrumentation is disabled.'); @@ -20479,14 +20707,14 @@ var Tracer = function (_opentracing$Tracer) { if (stopReportingOnce++ > 0) { return; } - _this11._stopReportingLoop(); + _this10._stopReportingLoop(); }; this._platform.onBeforeExit(stopReporting); // Begin the asynchronous reporting loop var loop = function () { - _this11._enqueueNextReport(function (err) { - if (_this11._reportingLoopActive) { + _this10._enqueueNextReport(function (err) { + if (_this10._reportingLoopActive) { loop(); } }); @@ -20509,7 +20737,7 @@ var Tracer = function (_opentracing$Tracer) { }, { key: '_enqueueNextReport', value: function _enqueueNextReport(done) { - var _this12 = this; + var _this11 = this; // If there's already a report request enqueued, ignore this new // request. @@ -20537,8 +20765,8 @@ var Tracer = function (_opentracing$Tracer) { this._debug('Delaying next flush for ' + delay + 'ms'); this._reportTimer = util.detachedTimeout(function () { - _this12._reportTimer = null; - _this12._flushReport(false, false, done); + _this11._reportTimer = null; + _this11._flushReport(false, false, done); }, delay); } @@ -20559,7 +20787,7 @@ var Tracer = function (_opentracing$Tracer) { }, { key: '_flushReport', value: function _flushReport(manual, detached, done) { - var _this13 = this; + var _this12 = this; done = done || function (err) {}; @@ -20622,12 +20850,12 @@ var Tracer = function (_opentracing$Tracer) { } this._transport.report(detached, this._auth, report, function (err, res) { - var destinationMicros = _this13._platform.nowMicros(); + var destinationMicros = _this12._platform.nowMicros(); var reportWindowSeconds = (now - report.oldest_micros) / 1e6; if (err) { // How many errors in a row? Influences the report backoff. - _this13._reportErrorStreak++; + _this12._reportErrorStreak++; // On a failed report, re-enqueue the data that was going to be // sent. @@ -20637,56 +20865,56 @@ var Tracer = function (_opentracing$Tracer) { } else { errString = '' + err; } - _this13._warn('Error in report: ' + errString, { + _this12._warn('Error in report: ' + errString, { last_report_seconds_ago: reportWindowSeconds }); - _this13._restoreRecords(report.getSpanRecords(), report.getInternalLogs(), report.getCounters()); + _this12._restoreRecords(report.getSpanRecords(), report.getInternalLogs(), report.getCounters()); // Increment the counter *after* the counters are restored - _this13._counters['reports.errors.send']++; + _this12._counters['reports.errors.send']++; - _this13.emit('report_error', err, { + _this12.emit('report_error', err, { error: err, - streak: _this13._reportErrorStreak, + streak: _this12._reportErrorStreak, detached: detached }); } else { - if (_this13.verbosity() >= 4) { - _this13._debug('Report flushed for last ' + reportWindowSeconds + ' seconds', { + if (_this12.verbosity() >= 4) { + _this12._debug('Report flushed for last ' + reportWindowSeconds + ' seconds', { spans_reported: report.getSpanRecords().length }); } // Update internal data after the successful report - _this13._reportErrorStreak = 0; - _this13._reportYoungestMicros = now; + _this12._reportErrorStreak = 0; + _this12._reportYoungestMicros = now; // Update the clock state if there's info from the report if (res) { if (res.timing && res.timing.receive_micros && res.timing.transmit_micros) { - _this13._clockState.addSample(originMicros, res.timing.receive_micros, res.timing.transmit_micros, destinationMicros); + _this12._clockState.addSample(originMicros, res.timing.receive_micros, res.timing.transmit_micros, destinationMicros); } else { // The response does not have timing information. Disable // the clock state assuming there'll never be timing data // to use. - _this13._useClockState = false; + _this12._useClockState = false; } if (res.errors && res.errors.length > 0) { - _this13._warn('Errors in report', res.errors); + _this12._warn('Errors in report', res.errors); } if (res.commandsList && res.commandsList.length > 0) { - if (res.commandsList[0].devMode && _this13.options().disable_meta_event_reporting !== true) { - _this13.options().meta_event_reporting = true; + if (res.commandsList[0].devMode && _this12.options().disable_meta_event_reporting !== true) { + _this12.options().meta_event_reporting = true; } } } else { - _this13._useClockState = false; + _this12._useClockState = false; } - _this13.emit('report', report, res); + _this12.emit('report', report, res); } return done(err); }); @@ -21080,12 +21308,22 @@ var _tracer_imp = __webpack_require__(/*! ./imp/tracer_imp */ "./src/imp/tracer_ var _tracer_imp2 = _interopRequireDefault(_tracer_imp); +var _propagator_ls = __webpack_require__(/*! ./imp/propagator_ls */ "./src/imp/propagator_ls.js"); + +var _propagator_ls2 = _interopRequireDefault(_propagator_ls); + +var _propagator_b = __webpack_require__(/*! ./imp/propagator_b3 */ "./src/imp/propagator_b3.js"); + +var _propagator_b2 = _interopRequireDefault(_propagator_b); + var _platform_abstraction_layer = __webpack_require__(/*! ./platform_abstraction_layer */ "./src/platform_abstraction_layer.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var library = { - Tracer: _tracer_imp2.default + Tracer: _tracer_imp2.default, + LightStepPropagator: _propagator_ls2.default, + B3Propagator: _propagator_b2.default }; _platform_abstraction_layer.Platform.initLibrary(library); diff --git a/dist/lightstep-tracer.js.map b/dist/lightstep-tracer.js.map index c7ca605a..47fb29b2 100644 --- a/dist/lightstep-tracer.js.map +++ b/dist/lightstep-tracer.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://lightstep/webpack/universalModuleDefinition","webpack://lightstep/webpack/bootstrap","webpack://lightstep/./node_modules/base64-js/index.js","webpack://lightstep/./node_modules/buffer/index.js","webpack://lightstep/./node_modules/eventemitter3/index.js","webpack://lightstep/./node_modules/google-protobuf/google-protobuf.js","webpack://lightstep/./node_modules/google-protobuf/google/protobuf/descriptor_pb.js","webpack://lightstep/./node_modules/google-protobuf/google/protobuf/timestamp_pb.js","webpack://lightstep/./node_modules/hex2dec/index.js","webpack://lightstep/./node_modules/ieee754/index.js","webpack://lightstep/./node_modules/isarray/index.js","webpack://lightstep/./node_modules/opentracing/lib/binary_carrier.js","webpack://lightstep/./node_modules/opentracing/lib/constants.js","webpack://lightstep/./node_modules/opentracing/lib/ext/tags.js","webpack://lightstep/./node_modules/opentracing/lib/functions.js","webpack://lightstep/./node_modules/opentracing/lib/global_tracer.js","webpack://lightstep/./node_modules/opentracing/lib/index.js","webpack://lightstep/./node_modules/opentracing/lib/mock_tracer/index.js","webpack://lightstep/./node_modules/opentracing/lib/mock_tracer/mock_context.js","webpack://lightstep/./node_modules/opentracing/lib/mock_tracer/mock_report.js","webpack://lightstep/./node_modules/opentracing/lib/mock_tracer/mock_span.js","webpack://lightstep/./node_modules/opentracing/lib/mock_tracer/mock_tracer.js","webpack://lightstep/./node_modules/opentracing/lib/noop.js","webpack://lightstep/./node_modules/opentracing/lib/reference.js","webpack://lightstep/./node_modules/opentracing/lib/span.js","webpack://lightstep/./node_modules/opentracing/lib/span_context.js","webpack://lightstep/./node_modules/opentracing/lib/tracer.js","webpack://lightstep/(webpack)/buildin/global.js","webpack://lightstep/./src/_each.js","webpack://lightstep/./src/constants.js","webpack://lightstep/./src/imp/auth_imp.js","webpack://lightstep/./src/imp/coerce.js","webpack://lightstep/./src/imp/generated_proto/collector_pb.js","webpack://lightstep/./src/imp/generated_proto/google/api/annotations_pb.js","webpack://lightstep/./src/imp/generated_proto/google/api/http_pb.js","webpack://lightstep/./src/imp/globals.js","webpack://lightstep/./src/imp/log_builder.js","webpack://lightstep/./src/imp/log_record_imp.js","webpack://lightstep/./src/imp/platform/browser/crouton_thrift.js","webpack://lightstep/./src/imp/platform/browser/generated/thrift_all.js","webpack://lightstep/./src/imp/platform/browser/options_parser.js","webpack://lightstep/./src/imp/platform/browser/platform_browser.js","webpack://lightstep/./src/imp/platform/browser/thrift.js","webpack://lightstep/./src/imp/platform/browser/transport_httpproto.js","webpack://lightstep/./src/imp/platform/browser/transport_httpthrift.js","webpack://lightstep/./src/imp/platform/browser/util.js","webpack://lightstep/./src/imp/report_imp.js","webpack://lightstep/./src/imp/runtime_imp.js","webpack://lightstep/./src/imp/span_context_imp.js","webpack://lightstep/./src/imp/span_imp.js","webpack://lightstep/./src/imp/tracer_imp.js","webpack://lightstep/./src/imp/util/clock_state.js","webpack://lightstep/./src/imp/util/util.js","webpack://lightstep/./src/lib.js","webpack://lightstep/./src/platform_abstraction_layer.js","webpack://lightstep/./src/plugins/instrument_document_load.js","webpack://lightstep/./src/plugins/instrument_fetch.js","webpack://lightstep/./src/plugins/instrument_xhr.js","webpack://lightstep/./src/plugins/log_to_console.js"],"names":["_each","obj","cb","key","hasOwnProperty","call","LOG_INFO","LOG_WARN","LOG_ERROR","LOG_FATAL","LOG_LEVEL_TO_STRING","LOG_STRING_TO_LEVEL","I","W","E","F","CLOCK_STATE_REFRESH_INTERVAL_MS","LIGHTSTEP_APP_URL_PREFIX","JOIN_ID_PREFIX","LS_META_EVENT_KEY","LS_META_PROPAGATION_KEY","LS_META_TRACE_KEY","LS_META_SPAN_KEY","LS_META_TRACER_GUID_KEY","LS_META_EXTRACT","LS_META_INJECT","LS_META_SP_START","LS_META_SP_FINISH","LS_META_TRACER_CREATE","proto","require","AuthImp","accessToken","_accessToken","length","Auth","access_token","authProto","setAccessToken","toString","toNumber","toBoolean","value","Number","jspb","goog","global","Function","google_protobuf_timestamp_pb","google_api_annotations_pb","exportSymbol","lightstep","collector","SpanContext","opt_data","Message","initialize","inherits","DEBUG","COMPILED","displayName","GENERATE_TO_OBJECT","prototype","toObject","opt_includeInstance","includeInstance","msg","f","traceId","getFieldWithDefault","spanId","baggageMap","getBaggageMap","undefined","$jspbMessageInstance","deserializeBinary","bytes","reader","BinaryReader","deserializeBinaryFromReader","nextField","isEndGroup","field","getFieldNumber","readUint64String","setTraceId","setSpanId","readMessage","message","Map","readString","skipField","serializeBinary","writer","BinaryWriter","serializeBinaryToWriter","getResultBuffer","getTraceId","parseInt","writeUint64String","getSpanId","getLength","writeString","setProto3StringIntField","opt_noLazyCreate","getMapField","clearBaggageMap","clear","KeyValue","oneofGroups_","ValueCase","VALUE_NOT_SET","STRING_VALUE","INT_VALUE","DOUBLE_VALUE","BOOL_VALUE","JSON_VALUE","getValueCase","computeOneofCase","stringValue","intValue","doubleValue","boolValue","jsonValue","setKey","setStringValue","readInt64String","setIntValue","readDouble","setDoubleValue","readBool","setBoolValue","setJsonValue","getKey","getField","writeInt64String","writeDouble","writeBool","setProto3StringField","getStringValue","setOneofField","clearStringValue","hasStringValue","getIntValue","clearIntValue","hasIntValue","getDoubleValue","clearDoubleValue","hasDoubleValue","getBoolValue","clearBoolValue","hasBoolValue","getJsonValue","clearJsonValue","hasJsonValue","Log","repeatedFields_","timestamp","getTimestamp","Timestamp","fieldsList","toObjectList","getFieldsList","setTimestamp","addFields","writeMessage","writeRepeatedMessage","getWrapperField","setWrapperField","clearTimestamp","hasTimestamp","getRepeatedWrapperField","setFieldsList","setRepeatedWrapperField","opt_value","opt_index","addToRepeatedWrapperField","clearFieldsList","Reference","relationship","spanContext","getSpanContext","readEnum","setRelationship","setSpanContext","getRelationship","writeEnum","Relationship","CHILD_OF","FOLLOWS_FROM","setProto3EnumField","clearSpanContext","hasSpanContext","Span","operationName","referencesList","getReferencesList","startTimestamp","getStartTimestamp","durationMicros","tagsList","getTagsList","logsList","getLogsList","setOperationName","addReferences","setStartTimestamp","setDurationMicros","addTags","addLogs","getOperationName","getDurationMicros","setReferencesList","clearReferencesList","clearStartTimestamp","hasStartTimestamp","setTagsList","clearTagsList","setLogsList","clearLogsList","Reporter","reporterId","setReporterId","getReporterId","MetricsSample","name","setName","getName","InternalMetrics","countsList","getCountsList","gaugesList","getGaugesList","addCounts","addGauges","setCountsList","clearCountsList","setGaugesList","clearGaugesList","getAccessToken","ReportRequest","reporter","getReporter","auth","getAuth","spansList","getSpansList","timestampOffsetMicros","internalMetrics","getInternalMetrics","setReporter","setAuth","addSpans","setTimestampOffsetMicros","setInternalMetrics","getTimestampOffsetMicros","clearReporter","hasReporter","clearAuth","hasAuth","setSpansList","clearSpansList","clearInternalMetrics","hasInternalMetrics","Command","disable","devMode","setDisable","setDevMode","getDisable","getDevMode","setProto3BooleanField","ReportResponse","commandsList","getCommandsList","receiveTimestamp","getReceiveTimestamp","transmitTimestamp","getTransmitTimestamp","errorsList","getRepeatedField","warningsList","infosList","addCommands","setReceiveTimestamp","setTransmitTimestamp","addErrors","addWarnings","addInfos","getErrorsList","writeRepeatedString","getWarningsList","getInfosList","setCommandsList","clearCommandsList","clearReceiveTimestamp","hasReceiveTimestamp","clearTransmitTimestamp","hasTransmitTimestamp","setErrorsList","setField","addToRepeatedField","clearErrorsList","setWarningsList","clearWarningsList","setInfosList","clearInfosList","object","extend","exports","google_api_http_pb","google_protobuf_descriptor_pb","google","api","http","ExtensionFieldInfo","HttpRule","MethodOptions","extensionsBinary","ExtensionFieldBinaryInfo","extensions","Http","rulesList","getRulesList","fullyDecodeReservedExpansion","addRules","setFullyDecodeReservedExpansion","getFullyDecodeReservedExpansion","setRulesList","clearRulesList","PatternCase","PATTERN_NOT_SET","GET","PUT","POST","DELETE","PATCH","CUSTOM","getPatternCase","selector","get","put","post","pb_delete","patch","custom","getCustom","CustomHttpPattern","body","responseBody","additionalBindingsList","getAdditionalBindingsList","setSelector","setGet","setPut","setPost","setDelete","setPatch","setCustom","setBody","setResponseBody","addAdditionalBindings","getSelector","getBody","getResponseBody","getGet","clearGet","hasGet","getPut","clearPut","hasPut","getPost","clearPost","hasPost","getDelete","clearDelete","hasDelete","getPatch","clearPatch","hasPatch","setOneofWrapperField","clearCustom","hasCustom","setAdditionalBindingsList","clearAdditionalBindingsList","kind","path","setKind","setPath","getKind","getPath","PackageGlobals","options","opts","val","module","constants","coerce","LogBuilder","runtime","_runtime","_record","LogRecord","timestamp_micros","_platform","nowMicros","runtime_guid","span_guid","stable_name","level","thread_id","filename","line_number","stack_frames","payload_json","error_flag","_addLogRecord","micros","num","error","guid","stableName","flag","data","_encodePayload","payloadJSON","JSON","stringify","_ignored","googleProtobufTimestampPB","LogRecordImp","logFieldKeyHardLimit","logFieldValueHardLimit","timestampMicros","fields","Error","stack","_logFieldKeyHardLimit","_logFieldValueHardLimit","_timestampMicros","_fields","_keysOverLimit","_valuesOverLimit","_clearOverLimits","thriftFields","keyStr","getFieldKey","valStr","getFieldValue","push","Key","Value","substr","Object","getOwnPropertyNames","e","log","ts","millis","Math","floor","secs","nanos","setSeconds","setNanos","keyValues","keyValue","crouton_thrift","Thrift","args","TProtocolException","TProtocolExceptionType","UNKNOWN","read","write","NamedCounter","Name","Runtime","start_micros","group_name","attrs","TraceJoinId","TraceKey","SpanRecord","trace_guid","span_name","join_ids","oldest_micros","youngest_micros","attributes","log_records","Timing","receive_micros","transmit_micros","SampleCount","count","int64_value","double_value","Metrics","counts","gauges","span_records","timestamp_offset_micros","counters","internal_logs","internal_metrics","commands","timing","hostScriptElement","WorkerGlobalScope","self","scripts","document","getElementsByTagName","urlQueryParameters","defaults","vars","qi","window","location","href","indexOf","slice","hashes","replace","split","i","hash","decodeURIComponent","parseScriptElementOptions","browserOpts","dataset","componentName","component_name","collectorHost","collector_host","collectorPort","collector_port","collectorPath","collector_path","collectorEncryption","collector_encryption","enable","verbosity","init","init_global_tracer","xhr_instrumentation","instrument_page_load","parseURLQueryOptions","params","lightstep_verbosity","lightstep_log_to_console","log_to_console","optionsParser","util","kRuntimeGUIDCookiePrefix","kSessionIDCookieKey","kCookieTimeToLiveSeconds","nowMicrosImp","performance","now","navigationStart","start","Date","PlatformBrowser","groupName","cookieKey","encodeURIComponent","uuid","cookie","_generateLongUUID","sessionID","p0","abs","random","p1","addEventListener","imp","tracerOpts","sessionStorage","parse","getItem","setItem","lib","initGlobalTracer","opentracing","Tracer","TransportBrowser","_host","_port","_path","_encryption","detached","report","done","_reportAJAX","reportProto","toProto","protocol","url","xhr","XMLHttpRequest","responseType","open","setRequestHeader","onreadystatechange","readyState","err","resp","status","response","exception","serialized","send","_reportAsyncScript","payload","toThrift","responseText","authJSON","reportJSON","elem","createElement","async","defer","src","type","hostElem","appendChild","ttl","domain","secure","arguments","newCookie","toUTCString","ReportImp","oldestMicros","youngestMicros","spanRecords","internalLogs","_oldestMicros","_youngestMicros","_spanRecords","_internalLogs","_counters","_timestampOffsetMicros","span","_runtimeGUID","thriftCounters","thriftSpanRecords","spanRecord","_toThrift","_toProto","metricSample","converter","packageObject","RuntimeImp","runtimeGUID","startMicros","_startMicros","_componentName","_attributes","thriftAttrs","tracerVersion","version","tracerPlatform","tracerPlatformVersion","commandLine","hostname","hexToDec","tracerTags","ttag","reporterTags","allTags","concat","reporterProto","SpanContextImp","_baggage","spanGUID","traceGUID","_guid","_traceGUID","SpanImp","_tracerImp","_ctx","_operationName","keyValuePairs","_tags","argumentType","_error","tsMicros","record","getLogFieldKeyHardLimit","getLogFieldValueHardLimit","_log_records","emit","finishTime","end","tracer","console","assert","_ended","_beginMicros","_endMicros","_errorFlag","parent_span_guid","urlPrefix","setEndMicros","shouldSendMetaSpan","_tracer","getTags","startSpan","tags","finish","_addSpanRecord","logs","logRecord","logThrift","getNumKeysOverLimit","getNumValuesOverLimit","spanContextProto","spanProto","startMillis","startSeconds","startNanos","logProto","parentSpanGUID","strValue","strKey","tag","ref","parentSpanContext","ClockState","globals","CARRIER_TRACER_STATE_PREFIX","CARRIER_BAGGAGE_PREFIX","DEFAULT_COLLECTOR_HOSTNAME","DEFAULT_COLLECTOR_PORT_TLS","DEFAULT_COLLECTOR_PORT_PLAIN","DEFAULT_COLLECTOR_PATH","MAX_INTERNAL_LOGS","_singleton","_delegateEventEmitterMethods","setOptions","override_runtime_guid","_plugins","_options","_optionDescs","_makeOptionsTable","_opentracing","opentracing_module","_auth","logger","warn","_warn","_transport","override_transport","_reportingLoopActive","_first_report_has_run","_reportYoungestMicros","_reportTimer","_reportErrorStreak","_lastVisibleErrorMillis","_skippedVisibleErrors","_activeRootSpanSet","_activeRootSpan","_flushIsActive","addPlugin","addPlatformPlugins","setPlatformOptions","transport","_info","_useClockState","disable_clock_skew_correction","_clockState","localStoreGet","localStoreSet","_setupReportOnExit","startPlugins","_ee","methodName","apply","addOption","min","max","defaultValue","_printToConsole","bind","parentCtxImp","references","REFERENCE_CHILD_OF","REFERENCE_FOLLOWS_FROM","context","referencedContext","generateTraceGUIDForRootSpan","spanImp","generateUUID","default_span_tags","setBeginMicros","setParentGUID","format","carrier","FORMAT_HTTP_HEADERS","FORMAT_TEXT_MAP","meta_event_reporting","_injectToTextMap","FORMAT_BINARY","forEachBaggageItem","sc","_extractTextMap","foundFields","toLowerCase","suffix","setBaggageItem","disabled","_flushReport","v","userOptions","desc","modified","unchanged","_setOptionInternal","_initReportingDataIfNeeded","_startReportingLoop","optionsString","newValue","_debug","valueType","oldValue","platformTags","log_field_key_hard_limit","log_field_value_hard_limit","pluginSet","plugins","plugin","addOptions","_setActiveRootSpanToYoungest","jsonString","buffer","ArrayBuffer","view","Uint8Array","code","charCodeAt","arr","String","fromCharCode","b","unused","countersAllZero","_internalAddSpanRecord","max_span_records","index","spans","currentInternalLogs","toAdd","_pushInternalLog","disable_report_on_exit","finalFlushOnce","finalFlush","unflushed_spans","buffer_youngest_micros","onBeforeExit","disable_reporting_loop","stopReportingOnce","stopReporting","_stopReportingLoop","loop","_enqueueNextReport","delay","delay_initial_report_millis","detachedTimeout","clearTimeout","reportInterval","max_reporting_interval_millis","isReady","backOff","basis","jitter","manual","clockReady","clockOffsetMicros","offsetMicros","offset_micros","active_samples","activeSampleCount","ready","_buffersAreEmpty","_clearBuffers","ensureConnection","timestampOffset","originMicros","res","destinationMicros","reportWindowSeconds","errString","last_report_seconds_ago","_restoreRecords","getSpanRecords","getInternalLogs","getCounters","streak","spans_reported","addSample","errors","disable_meta_event_reporting","nextVisible","error_throttle_millis","s","method","silent","kMaxOffsetAge","kStoredSamplesTTLMicros","_nowMicros","_localStoreGet","_localStoreSet","_samples","_currentOffsetMicros","_currentOffsetAge","storedData","samples","update","receiveMicros","transmitMicros","latestDelayMicros","MAX_VALUE","latestOffsetMicros","shift","delayMicros","minDelayMicros","bestOffsetMicros","sample","pow","sqrt","kSGATE","Util","callback","timer","setTimeout","unref","shouldSendSpan","library","initLibrary","Platform","ThriftTransport","ProtoTransport","thrift","InstrumentPageLoad","_inited","_span","tracerImp","currentOptions","_ensureSpanStarted","_handleReadyStateChange","addActiveRootSpan","state","_addTimingSpans","logEvent","removeActiveRootSpan","nav","dst","p","item","description","suffixes","parentImp","setTag","navigator","userAgent","_copyNavigatorProperties","childOf","requestStart","responseStart","responseEnd","domLoading","domInteractive","proxiedFetch","fetch","getCookies","cookies","parts","getResponseHeaders","result","pair","headers","entries","InstrumentFetch","_enabled","_isValidContext","_proxyInited","_internalExclusions","_handleOptions","_addServiceHostToExclusions","on","current","serviceHost","fetch_instrumentation","_instrumentFetch","escapeRegExp","str","host","port","set","RegExp","request","_shouldTrace","url_pathname","fetchPayload","assign","include_cookies","Headers","headersCarrier","inject","keys","forEach","append","event","openPayload","then","ok","statusText","catch","ex","test","include","fetch_url_inclusion_patterns","inc","fetch_url_exclusion_patterns","proxied","raw","getAllResponseHeaders","InstrumentXHR","_instrumentSetRequestHeader","_instrumentOpen","_instrumentSend","header","__requestHeaders","asyncArg","user","password","__tracer_span","__tracer_url","Array","len","lenStr","data_length","xhr_url_inclusion_patterns","xhr_url_exclusion_patterns","LogToConsole","_optionsCb","_logAddedCb","_handleLogAdded","removeListener","enabled"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;AClFY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,oDAAW;AAChC,cAAc,mBAAO,CAAC,gDAAS;AAC/B,cAAc,mBAAO,CAAC,gDAAS;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;AC5vDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0DAA0D,OAAO;AACjE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;A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,6DAA6D,eAAe,qBAAqB,6BAA6B,uCAAuC,uCAAuC,mDAAmD,+DAA+D,uCAAuC,+BAA+B,gBAAgB,2BAA2B;;;;;;;;;;;;;AC5W5e;AACA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,0EAAiB;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,yCAAyC;AACpD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,yCAAyC;AACpD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,yCAAyC;AACpD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,2CAA2C;AACtD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,+CAA+C;AAClE;AACA;;;AAGA,YAAY,+CAA+C;AAC3D;AACA;AACA;;;AAGA;AACA,WAAW,wCAAwC;AACnD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,sDAAsD;AACzE;AACA;;;AAGA,YAAY,sDAAsD;AAClE;AACA;AACA;;;AAGA;AACA,WAAW,+CAA+C;AAC1D,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oDAAoD;AACvE;AACA;;;AAGA,YAAY,oDAAoD;AAChE;AACA;AACA;;;AAGA;AACA,WAAW,6CAA6C;AACxD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mCAAmC;AACtD;AACA;;;AAGA,YAAY,6CAA6C;AACzD;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;;;AAGA,YAAY,gDAAgD;AAC5D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,uCAAuC;AAClD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,uCAAuC;AAClD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,uCAAuC;AAClD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,sDAAsD;AACjE,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sDAAsD;AACjE,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sDAAsD;AACjE,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,6CAA6C;AAChE;AACA;;;AAGA,YAAY,uDAAuD;AACnE;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,qDAAqD;AAChE,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qDAAqD;AAChE,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qDAAqD;AAChE,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oDAAoD;AACvE;AACA;;;AAGA,YAAY,oDAAoD;AAChE;AACA;AACA;;;AAGA;AACA,WAAW,6CAA6C;AACxD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oDAAoD;AACvE;AACA;;;AAGA,YAAY,oDAAoD;AAChE;AACA;AACA;;;AAGA;AACA,WAAW,6CAA6C;AACxD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,+CAA+C;AAClE;AACA;;;AAGA,YAAY,+CAA+C;AAC3D;AACA;AACA;;;AAGA;AACA,WAAW,wCAAwC;AACnD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,8DAA8D;AACjF;AACA;;;AAGA,YAAY,8DAA8D;AAC1E;AACA;AACA;;;AAGA;AACA,WAAW,uDAAuD;AAClE,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oDAAoD;AACvE;AACA;;;AAGA,YAAY,oDAAoD;AAChE;AACA;AACA;;;AAGA;AACA,WAAW,6CAA6C;AACxD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;;;AAGA,YAAY,gDAAgD;AAC5D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,6DAA6D;AAChF;AACA;;;AAGA,YAAY,6DAA6D;AACzE;AACA;AACA;;;AAGA;AACA,WAAW,sDAAsD;AACjE,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,6CAA6C;AACxD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,4CAA4C;AACvD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,kDAAkD;AAC/E;AACA;AACA;AACA,6BAA6B,iDAAiD;AAC9E;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kDAAkD;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iDAAiD;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,kDAAkD;AACtE;;;AAGA,YAAY,kDAAkD;AAC9D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,iDAAiD;AACrE;;;AAGA,YAAY,iDAAiD;AAC7D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oCAAoC;AACvD;AACA;;;AAGA,YAAY,8CAA8C;AAC1D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,4CAA4C;AACvD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oCAAoC;AACvD;AACA;;;AAGA,YAAY,8CAA8C;AAC1D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,2CAA2C;AACtD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,6DAA6D;AACxE,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6DAA6D;AACxE,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6DAA6D;AACxE,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,wDAAwD;AAC3E;AACA;;;AAGA,YAAY,wDAAwD;AACpE;AACA;AACA;;;AAGA;AACA,WAAW,iDAAiD;AAC5D,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mCAAmC;AACtD;AACA;;;AAGA,YAAY,6CAA6C;AACzD;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,qEAAqE;AACxF;AACA;;;AAGA,YAAY,qEAAqE;AACjF;AACA;AACA;;;AAGA;AACA,WAAW,8DAA8D;AACzE,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,gDAAgD;AAC3D,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,gDAAgD;AAC3D,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,gDAAgD;AAC3D,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,wCAAwC;AAC3D;AACA;;;AAGA,YAAY,kDAAkD;AAC9D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,8CAA8C;AACzD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,qDAAqD;AACxE;AACA;;;AAGA,YAAY,qDAAqD;AACjE;AACA;AACA;;;AAGA;AACA,WAAW,8CAA8C;AACzD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;;;AAGA,YAAY,gDAAgD;AAC5D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,6CAA6C;AACxD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,qCAAqC;AACxD;AACA;;;AAGA,YAAY,+CAA+C;AAC3D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,mCAAmC;AAC9C,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,gDAAgD;AAC7E;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gDAAgD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;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ACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,sCAAsC;AACjD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,oCAAoC;AAC/C,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0CAA0C;AACvE;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,2CAA2C;AACxE;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2CAA2C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,0CAA0C;AAC9D;;;AAGA,YAAY,0CAA0C;AACtD;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,2CAA2C;AAC/D;;;AAGA,YAAY,2CAA2C;AACvD;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,oCAAoC;AAC/C,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,mCAAmC;AAC9C,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,sCAAsC;AACjD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,qCAAqC;AAChD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,sDAAsD;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sDAAsD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,sDAAsD;AAC1E;;;AAGA,YAAY,sDAAsD;AAClE;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,2CAA2C;AACtD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,oDAAoD;AAC/D,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oDAAoD;AAC/D,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oDAAoD;AAC/D,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,4DAA4D;AAC/E;AACA;;;AAGA,YAAY,4DAA4D;AACxE;AACA;AACA;;;AAGA;AACA,WAAW,qDAAqD;AAChE,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,qBAAqB;AACzC;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;;;AAGA,YAAY,qBAAqB;AACjC;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,sCAAsC;AACjD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,+CAA+C;AAC1D,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,+CAA+C;AAC1D,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,+CAA+C;AAC1D,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,uDAAuD;AAC1E;AACA;;;AAGA,YAAY,uDAAuD;AACnE;AACA;AACA;;;AAGA;AACA,WAAW,gDAAgD;AAC3D,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,yCAAyC;AACpD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,yCAAyC;AACpD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,yCAAyC;AACpD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,oDAAoD;AAC/D,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oDAAoD;AAC/D,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oDAAoD;AAC/D,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,4DAA4D;AAC/E;AACA;;;AAGA,YAAY,4DAA4D;AACxE;AACA;AACA;;;AAGA;AACA,WAAW,qDAAqD;AAChE,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;;;;;;;;;;;ACjzRA;AACA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,0EAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,iCAAiC;AAC5C,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,iCAAiC;AAC5C,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,iCAAiC;AAC5C,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,QAAQ,WAAW;;AAEnB;AACA;AACA,QAAQ,UAAU;;AAElB;AACA;;;;;;;;;;;;ACnFA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;;ACJa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;;;;;;ACfa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;AC9Da;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;;;;;;AC3Ga;AACb,8CAA8C,cAAc;AAC5D,gBAAgB,mBAAO,CAAC,gEAAa;AACrC,kBAAkB,mBAAO,CAAC,gEAAa;AACvC,aAAa,mBAAO,CAAC,sDAAQ;AAC7B;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;ACnCa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D,eAAe,mBAAO,CAAC,0DAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yC;;;;;;;;;;;;ACvEa;AACb;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D,uBAAuB,mBAAO,CAAC,0EAAkB;AACjD;AACA,WAAW,mBAAO,CAAC,8DAAY;AAC/B;AACA,WAAW,mBAAO,CAAC,sDAAQ;AAC3B,kBAAkB,mBAAO,CAAC,gEAAa;AACvC;AACA,aAAa,mBAAO,CAAC,sDAAQ;AAC7B;AACA,qBAAqB,mBAAO,CAAC,sEAAgB;AAC7C;AACA,eAAe,mBAAO,CAAC,0DAAU;AACjC;AACA,oBAAoB,mBAAO,CAAC,0EAAe;AAC3C;AACA,SAAS,mBAAO,CAAC,wEAAiB;AAClC,SAAS,mBAAO,CAAC,gEAAa;AAC9B,SAAS,mBAAO,CAAC,gEAAa;AAC9B;AACA;AACA,iC;;;;;;;;;;;;ACzBa;AACb,8CAA8C,cAAc;AAC5D,qBAAqB,mBAAO,CAAC,kFAAgB;AAC7C;AACA,kBAAkB,mBAAO,CAAC,4EAAa;AACvC;AACA,oBAAoB,mBAAO,CAAC,gFAAe;AAC3C;AACA,iC;;;;;;;;;;;;ACRa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D,kBAAkB,mBAAO,CAAC,yDAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,wC;;;;;;;;;;;;ACpCa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,uC;;;;;;;;;;;;AC5Ca;AACb;AACA;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D,kBAAkB,mBAAO,CAAC,yDAAU;AACpC,qBAAqB,mBAAO,CAAC,kFAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,oBAAoB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,qC;;;;;;;;;;;;ACtGa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA,kBAAkB,mBAAO,CAAC,yDAAU;AACpC,oBAAoB,mBAAO,CAAC,gFAAe;AAC3C,kBAAkB,mBAAO,CAAC,4EAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gBAAgB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,uC;;;;;;;;;;;;AC9Ea;AACb,8CAA8C,cAAc;AAC5D,aAAa,mBAAO,CAAC,sDAAQ;AAC7B,qBAAqB,mBAAO,CAAC,sEAAgB;AAC7C,eAAe,mBAAO,CAAC,0DAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;;;;;;AChBa;AACb,8CAA8C,cAAc;AAC5D,aAAa,mBAAO,CAAC,sDAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;;;;;;AC1Ca;AACb,8CAA8C,cAAc;AAC5D,WAAW,mBAAO,CAAC,sDAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,YAAY;AACZ;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,qCAAqC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,gC;;;;;;;;;;;;AC9Ma;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,wC;;;;;;;;;;;;ACpCa;AACb,8CAA8C,cAAc;AAC5D,gBAAgB,mBAAO,CAAC,gEAAa;AACrC,WAAW,mBAAO,CAAC,sDAAQ;AAC3B,aAAa,mBAAO,CAAC,sDAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,eAAe,OAAO;AACtB,eAAe,YAAY;AAC3B,gBAAgB,KAAK;AACrB;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,oBAAoB;AACzE;AACA,gBAAgB,OAAO;AACvB,gBAAgB,IAAI;AACpB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,kC;;;;;;;;;;;AClJA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA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","file":"lightstep-tracer.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"lightstep\"] = factory();\n\telse\n\t\troot[\"lightstep\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/lib.js\");\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict';\n\n//\n// We store our EE objects in a plain object whose properties are event names.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// `~` to make sure that the built-in object properties are not overridden or\n// used as an attack vector.\n// We also assume that `Object.create(null)` is available when the event name\n// is an ES6 Symbol.\n//\nvar prefix = typeof Object.create !== 'function' ? '~' : false;\n\n/**\n * Representation of a single EventEmitter function.\n *\n * @param {Function} fn Event handler to be called.\n * @param {Mixed} context Context for function execution.\n * @param {Boolean} once Only emit once\n * @api private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Minimal EventEmitter interface that is molded against the Node.js\n * EventEmitter interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() { /* Nothing to set */ }\n\n/**\n * Holds the assigned EventEmitters by name.\n *\n * @type {Object}\n * @private\n */\nEventEmitter.prototype._events = undefined;\n\n/**\n * Return a list of assigned event listeners.\n *\n * @param {String} event The events that should be listed.\n * @param {Boolean} exists We only need to know if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events && this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Emit an event to all registered event listeners.\n *\n * @param {String} event The name of the event.\n * @returns {Boolean} Indication if we've emitted an event.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events || !this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if ('function' === typeof listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Register a new EventListener for the given event.\n *\n * @param {String} event Name of the event.\n * @param {Functon} fn Callback function.\n * @param {Mixed} context The context of the function.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events) this._events = prefix ? {} : Object.create(null);\n if (!this._events[evt]) this._events[evt] = listener;\n else {\n if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [\n this._events[evt], listener\n ];\n }\n\n return this;\n};\n\n/**\n * Add an EventListener that's only called once.\n *\n * @param {String} event Name of the event.\n * @param {Function} fn Callback function.\n * @param {Mixed} context The context of the function.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events) this._events = prefix ? {} : Object.create(null);\n if (!this._events[evt]) this._events[evt] = listener;\n else {\n if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [\n this._events[evt], listener\n ];\n }\n\n return this;\n};\n\n/**\n * Remove event listeners.\n *\n * @param {String} event The event we want to remove.\n * @param {Function} fn The listener that we need to find.\n * @param {Mixed} context Only remove listeners matching this context.\n * @param {Boolean} once Only remove once listeners.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events || !this._events[evt]) return this;\n\n var listeners = this._events[evt]\n , events = [];\n\n if (fn) {\n if (listeners.fn) {\n if (\n listeners.fn !== fn\n || (once && !listeners.once)\n || (context && listeners.context !== context)\n ) {\n events.push(listeners);\n }\n } else {\n for (var i = 0, length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) {\n this._events[evt] = events.length === 1 ? events[0] : events;\n } else {\n delete this._events[evt];\n }\n\n return this;\n};\n\n/**\n * Remove all listeners or only the listeners for the specified event.\n *\n * @param {String} event The event want to remove all listeners for.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n if (!this._events) return this;\n\n if (event) delete this._events[prefix ? prefix + event : event];\n else this._events = prefix ? {} : Object.create(null);\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","var $jscomp={scope:{},getGlobal:function(a){return\"undefined\"!=typeof window&&window===a?a:\"undefined\"!=typeof global?global:a}};$jscomp.global=$jscomp.getGlobal(this);$jscomp.initSymbol=function(){$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol);$jscomp.initSymbol=function(){}};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(a){return\"jscomp_symbol_\"+a+$jscomp.symbolCounter_++};\n$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();$jscomp.global.Symbol.iterator||($jscomp.global.Symbol.iterator=$jscomp.global.Symbol(\"iterator\"));$jscomp.initSymbolIterator=function(){}};$jscomp.makeIterator=function(a){$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();var b=a[Symbol.iterator];if(b)return b.call(a);var c=0;return{next:function(){return cb;)--c in this?this[--a]=this[c]:delete this[a];return this};$jscomp.array.copyWithin$install=function(){$jscomp.array.installHelper_(\"copyWithin\",$jscomp.array.copyWithin)};\n$jscomp.array.fill=function(a,b,c){var d=this.length||0;0>b&&(b=Math.max(0,d+b));if(null==c||c>d)c=d;c=Number(c);0>c&&(c=Math.max(0,d+c));for(b=Number(b||0);b>>0;if(0===a)return 32;var b=0;0===(a&4294901760)&&(a<<=16,b+=16);0===(a&4278190080)&&(a<<=8,b+=8);0===(a&4026531840)&&(a<<=4,b+=4);0===(a&3221225472)&&(a<<=2,b+=2);0===(a&2147483648)&&b++;return b};$jscomp.math.imul=function(a,b){a=Number(a);b=Number(b);var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};$jscomp.math.sign=function(a){a=Number(a);return 0===a||isNaN(a)?a:0a&&-.25a&&-.25a?-b:b};$jscomp.math.acosh=function(a){a=Number(a);return Math.log(a+Math.sqrt(a*a-1))};$jscomp.math.asinh=function(a){a=Number(a);if(0===a)return a;var b=Math.log(Math.abs(a)+Math.sqrt(a*a+1));return 0>a?-b:b};\n$jscomp.math.atanh=function(a){a=Number(a);return($jscomp.math.log1p(a)-$jscomp.math.log1p(-a))/2};$jscomp.math.hypot=function(a,b,c){a=Number(a);b=Number(b);var d,e,f,g=Math.max(Math.abs(a),Math.abs(b));for(d=2;dg){a/=g;b/=g;f=a*a+b*b;for(d=2;da?-b:b};$jscomp.math.cbrt=function(a){if(0===a)return a;a=Number(a);var b=Math.pow(Math.abs(a),1/3);return 0>a?-b:b};$jscomp.number=$jscomp.number||{};$jscomp.number.isFinite=function(a){return\"number\"!==typeof a?!1:!isNaN(a)&&Infinity!==a&&-Infinity!==a};$jscomp.number.isInteger=function(a){return $jscomp.number.isFinite(a)?a===Math.floor(a):!1};\n$jscomp.number.isNaN=function(a){return\"number\"===typeof a&&isNaN(a)};$jscomp.number.isSafeInteger=function(a){return $jscomp.number.isInteger(a)&&Math.abs(a)<=$jscomp.number.MAX_SAFE_INTEGER};$jscomp.number.EPSILON=function(){return Math.pow(2,-52)}();$jscomp.number.MAX_SAFE_INTEGER=function(){return 9007199254740991}();$jscomp.number.MIN_SAFE_INTEGER=function(){return-9007199254740991}();$jscomp.object=$jscomp.object||{};\n$jscomp.object.assign=function(a,b){for(var c=1;cd||1114111=d?b+=String.fromCharCode(d):(d-=65536,b+=String.fromCharCode(d>>>10&1023|55296),b+=String.fromCharCode(d&1023|56320))}return b};\n$jscomp.string.repeat=function(a){var b=$jscomp.checkStringArgs(this,null,\"repeat\");if(0>a||1342177279>>=1)b+=b;return c};$jscomp.string.repeat$install=function(){String.prototype.repeat||(String.prototype.repeat=$jscomp.string.repeat)};\n$jscomp.string.codePointAt=function(a){var b=$jscomp.checkStringArgs(this,null,\"codePointAt\"),c=b.length;a=Number(a)||0;if(0<=a&&ad||56319a||57343=e};\n$jscomp.string.startsWith$install=function(){String.prototype.startsWith||(String.prototype.startsWith=$jscomp.string.startsWith)};$jscomp.string.endsWith=function(a,b){var c=$jscomp.checkStringArgs(this,a,\"endsWith\");a+=\"\";void 0===b&&(b=c.length);for(var d=Math.max(0,Math.min(b|0,c.length)),e=a.length;0=e};$jscomp.string.endsWith$install=function(){String.prototype.endsWith||(String.prototype.endsWith=$jscomp.string.endsWith)};\nvar COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.exportPath_=function(a,b,c){a=a.split(\".\");c=c||goog.global;a[0]in c||!c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]?c[d]:c[d]={}};\ngoog.define=function(a,b){var c=b;COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?c=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(c=goog.global.CLOSURE_DEFINES[a]));goog.exportPath_(a,c)};goog.DEBUG=!0;goog.LOCALE=\"en\";goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;\ngoog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;goog.provide=function(a){if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace \"'+a+'\" already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(\".\")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;\ngoog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error(\"Invalid module identifier\");if(!goog.isInModuleLoader_())throw Error(\"Module \"+a+\" has been loaded incorrectly.\");if(goog.moduleLoaderState_.moduleName)throw Error(\"goog.module may only be called once per module.\");goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace \"'+a+'\" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};\ngoog.module.getInternal_=function(a){if(!COMPILED)return goog.isProvided_(a)?a in goog.loadedModules_?goog.loadedModules_[a]:goog.getObjectByName(a):null};goog.moduleLoaderState_=null;goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_};\ngoog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error(\"goog.module.declareLegacyNamespace must be called from within a goog.module\");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error(\"goog.module must be called prior to goog.module.declareLegacyNamespace.\");goog.moduleLoaderState_.declareLegacyNamespace=!0};\ngoog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||\"\",Error(\"Importing test-only code into non-debug environment\"+(a?\": \"+a:\".\"));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={\"goog.module\":!0});\ngoog.getObjectByName=function(a,b){for(var c=a.split(\".\"),d=b||goog.global,e;e=c.shift();)if(goog.isDefAndNotNull(d[e]))d=d[e];else return null;return d};goog.globalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};goog.addDependency=function(a,b,c,d){if(goog.DEPENDENCIES_ENABLED){var e;a=a.replace(/\\\\/g,\"/\");for(var f=goog.dependencies_,g=0;e=b[g];g++)f.nameToPath[e]=a,f.pathIsModule[a]=!!d;for(d=0;b=c[d];d++)a in f.requires||(f.requires[a]={}),f.requires[a][b]=!0}};\ngoog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)};goog.require=function(a){if(!COMPILED){goog.ENABLE_DEBUG_LOADER&&goog.IS_OLD_IE_&&goog.maybeProcessDeferredDep_(a);if(goog.isProvided_(a))return goog.isInModuleLoader_()?goog.module.getInternal_(a):null;if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b)return goog.writeScripts_(b),null}a=\"goog.require could not find: \"+a;goog.logToConsole_(a);throw Error(a);}};\ngoog.basePath=\"\";goog.nullFunction=function(){};goog.abstractMethod=function(){throw Error(\"unimplemented abstract method\");};goog.addSingletonGetter=function(a){a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;\ngoog.DEPENDENCIES_ENABLED&&(goog.dependencies_={pathIsModule:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&\"write\"in a},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_())for(var a=goog.global.document.getElementsByTagName(\"SCRIPT\"),b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf(\"?\"),d=-1==d?c.length:\nd;if(\"base.js\"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}},goog.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(a,b)&&(goog.dependencies_.written[a]=!0)},goog.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.importModule_=function(a){goog.importScript_(\"\",'goog.retrieveAndExecModule_(\"'+a+'\");')&&(goog.dependencies_.written[a]=!0)},goog.queuedModules_=[],goog.wrapModule_=function(a,b){return goog.LOAD_MODULE_USING_EVAL&&\ngoog.isDef(goog.global.JSON)?\"goog.loadModule(\"+goog.global.JSON.stringify(b+\"\\n//# sourceURL=\"+a+\"\\n\")+\");\":'goog.loadModule(function(exports) {\"use strict\";'+b+\"\\n;return exports});\\n//# sourceURL=\"+a+\"\\n\"},goog.loadQueuedModules_=function(){var a=goog.queuedModules_.length;if(0\\x3c/script>')},goog.appendScriptSrcNode_=function(a){var b=goog.global.document,\nc=b.createElement(\"script\");c.type=\"text/javascript\";c.src=a;c.defer=!1;c.async=!1;b.head.appendChild(c)},goog.writeScriptTag_=function(a,b){if(goog.inHtmlDocument_()){var c=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&\"complete\"==c.readyState){if(/\\bdeps.js$/.test(a))return!1;throw Error('Cannot write \"'+a+'\" after document load');}var d=goog.IS_OLD_IE_;void 0===b?d?(d=\" onreadystatechange='goog.onScriptLoad_(this, \"+ ++goog.lastNonModuleScriptIndex_+\")' \",c.write('\n//\n// Note: relies on the global hostScriptElement variable defined above.\n//\nmodule.exports.parseScriptElementOptions = function (opts, browserOpts) {\n if (!hostScriptElement) {\n return;\n }\n\n let dataset = hostScriptElement.dataset;\n\n let accessToken = dataset.access_token;\n if (typeof accessToken === 'string' && accessToken.length > 0) {\n opts.access_token = accessToken;\n }\n\n let componentName = dataset.component_name;\n if (typeof componentName === 'string' && componentName.length > 0) {\n opts.component_name = componentName;\n }\n\n let collectorHost = dataset.collector_host;\n if (typeof collectorHost === 'string' && collectorHost.length > 0) {\n opts.collector_host = collectorHost;\n }\n let collectorPort = dataset.collector_port;\n if (collectorPort) {\n opts.collector_port = parseInt(collectorPort, 10);\n }\n let collectorPath = dataset.collector_path;\n if (typeof collectorPath === 'string' && collectorPath.length > 0) {\n opts.collector_path = collectorPath;\n }\n let collectorEncryption = dataset.collector_encryption;\n if (collectorEncryption) {\n opts.collector_encryption = collectorEncryption;\n }\n\n let enable = dataset.enable;\n if (typeof enable === 'string') {\n if (enable === 'true') {\n opts.enable = true;\n } else if (enable === 'false') {\n opts.enable = false;\n }\n }\n let verbosity = dataset.verbosity;\n if (typeof verbosity === 'string') {\n opts.verbosity = parseInt(verbosity, 10);\n }\n\n let init = dataset.init_global_tracer;\n if (typeof init === 'string') {\n if (init === 'true') {\n browserOpts.init_global_tracer = true;\n } else if (init === 'false') {\n browserOpts.init_global_tracer = false;\n }\n }\n\n // NOTE: this is a little inelegant as this is hard-coding support for a\n // \"plug-in\" option.\n if (typeof dataset.xhr_instrumentation === 'string' && dataset.xhr_instrumentation === 'true') {\n opts.xhr_instrumentation = true;\n }\n\n if (typeof dataset.instrument_page_load === 'string' && dataset.instrument_page_load === 'true') {\n opts.instrument_page_load = true;\n }\n};\n\n// Parses options out of the current URL query string. The query parameters use\n// the 'lightstep_' prefix to reduce the chance of collision with\n// application-specific query parameters.\n//\n// This mechanism is particularly useful for debugging purposes as it does not\n// require any code or configuration changes.\n//\nmodule.exports.parseURLQueryOptions = function (opts) {\n if (!window) {\n return;\n }\n\n let params = urlQueryParameters();\n if (params.lightstep_verbosity) {\n try {\n opts.verbosity = parseInt(params.lightstep_verbosity, 10);\n } catch (_ignored) { /* Ignored */ }\n }\n if (params.lightstep_log_to_console) {\n opts.log_to_console = true;\n }\n};\n","const optionsParser = require('./options_parser.js');\nconst util = require('./util');\n\nconst kRuntimeGUIDCookiePrefix = 'lightstep_guid';\nconst kSessionIDCookieKey = 'lightstep_session_id';\nconst kCookieTimeToLiveSeconds = 7 * 24 * 60 * 60;\n\nlet nowMicrosImp = (function () {\n // Is a hi-res timer available?\n if (window.performance &&\n window.performance.now &&\n window.performance.timing &&\n window.performance.timing.navigationStart) {\n let start = performance.timing.navigationStart;\n return function () {\n return Math.floor((start + performance.now()) * 1000.0);\n };\n }\n // The low-res timer is the best we can do\n return function () {\n return Date.now() * 1000.0;\n };\n}());\n\nclass PlatformBrowser {\n\n name() {\n return 'browser';\n }\n\n nowMicros() {\n return nowMicrosImp();\n }\n\n // Return the GUID to use for the runtime. The intention is to reuse the\n // GUID so that logically a single browser session looks like a single\n // runtime.\n runtimeGUID(groupName) {\n // Account for the groupName in the same that multiple apps or services\n // are running on the same domain (and should not share the same\n // runtime GUID).\n let cookieKey = encodeURIComponent(`${kRuntimeGUIDCookiePrefix}/${groupName}`);\n let uuid = util.cookie(cookieKey) || this._generateLongUUID();\n util.cookie(cookieKey, uuid, kCookieTimeToLiveSeconds, '/');\n\n // Also create a session ID as well to give the server more information\n // to coordinate with.\n let sessionID = util.cookie(kSessionIDCookieKey) || this._generateLongUUID();\n util.cookie(kSessionIDCookieKey, sessionID, kCookieTimeToLiveSeconds, '/');\n\n return uuid;\n }\n\n generateUUID() {\n return this._generateLongUUID();\n }\n\n _generateLongUUID() {\n let p0 = `00000000${Math.abs((Math.random() * 0xFFFFFFFF) | 0).toString(16)}`.substr(-8);\n let p1 = `00000000${Math.abs((Math.random() * 0xFFFFFFFF) | 0).toString(16)}`.substr(-8);\n return `${p0}${p1}`;\n }\n\n onBeforeExit(...args) {\n if (window) {\n window.addEventListener('beforeunload', ...args);\n }\n }\n\n plugins(opts) {\n return [\n require('../../../plugins/instrument_xhr'),\n require('../../../plugins/instrument_fetch'),\n require('../../../plugins/instrument_document_load'),\n ];\n }\n\n options(imp) {\n let tracerOpts = {};\n let browserOpts = {};\n optionsParser.parseScriptElementOptions(tracerOpts, browserOpts);\n optionsParser.parseURLQueryOptions(tracerOpts, browserOpts);\n return tracerOpts;\n }\n\n static initLibrary(lib) {\n let tracerOpts = {};\n let browserOpts = {};\n optionsParser.parseScriptElementOptions(tracerOpts, browserOpts);\n\n if (browserOpts.init_global_tracer) {\n PlatformBrowser.initGlobalTracer(lib, tracerOpts);\n }\n }\n static initGlobalTracer(lib, opts) {\n if (typeof window !== 'object') {\n return;\n }\n if (typeof window.opentracing !== 'object') {\n return;\n }\n opentracing.initGlobalTracer(new lib.Tracer(opts)); // eslint-disable-line no-undef\n }\n\n tracerTags() {\n return {\n 'lightstep.tracer_platform' : 'browser',\n };\n }\n\n // There's no way to truly \"fatal\" on the browser; the best approximation\n // is an Error exception.\n fatal(message) {\n throw new Error(message);\n }\n\n localStoreGet(key) {\n if (!window.sessionStorage) {\n return null;\n }\n try {\n return JSON.parse(sessionStorage.getItem(`lightstep/${key}`));\n } catch (_ignored) {\n return null;\n }\n }\n\n localStoreSet(key, value) {\n if (!window.sessionStorage) {\n return;\n }\n try {\n sessionStorage.setItem(`lightstep/${key}`, JSON.stringify(value));\n } catch (_ignored) { /* Ignored */ }\n }\n}\n\nmodule.exports = PlatformBrowser;\n","module.exports = require('./generated/thrift_all.js').Thrift;\n","let proto = require('../../generated_proto/collector_pb.js');\n\nexport default class TransportBrowser {\n\n constructor() {\n this._host = '';\n this._port = 0;\n this._path = '';\n this._encryption = '';\n }\n\n ensureConnection(opts) {\n this._host = opts.collector_host;\n this._port = opts.collector_port;\n this._path = opts.collector_path;\n this._encryption = opts.collector_encryption;\n }\n\n report(detached, auth, report, done) {\n try {\n if (!detached) {\n this._reportAJAX(auth, report, done);\n }\n } catch (e) {\n return done(e, null);\n }\n }\n\n _reportAJAX(auth, report, done) {\n let reportProto = report.toProto(auth);\n let protocol = (this._encryption === 'none') ? 'http' : 'https';\n let url = `${protocol}://${this._host}:${this._port}${this._path}/api/v2/reports`;\n let xhr = new XMLHttpRequest();\n xhr.responseType = 'arraybuffer';\n xhr.open('POST', url);\n // Note: the browser automatically sets 'Connection' and 'Content-Length'\n // and *does not* allow they to be set manually\n xhr.setRequestHeader('Accept', 'application/octet-stream');\n xhr.setRequestHeader('Content-Type', 'application/octet-stream');\n xhr.onreadystatechange = function () {\n if (this.readyState === 4) {\n let err = null;\n let resp = null;\n if (this.status !== 200) {\n err = new Error(`status code = ${this.status}`);\n } else if (!this.response) {\n err = new Error('unexpected empty response');\n } else {\n try {\n resp = proto.ReportResponse.deserializeBinary(this.response).toObject();\n } catch (exception) {\n err = exception;\n }\n }\n return done(err, resp);\n }\n };\n let serialized = reportProto.serializeBinary();\n xhr.send(serialized);\n }\n}\n","export default class TransportBrowser {\n\n constructor() {\n this._host = '';\n this._port = 0;\n this._path = '';\n this._encryption = '';\n }\n\n ensureConnection(opts) {\n this._host = opts.collector_host;\n this._port = opts.collector_port;\n this._path = opts.collector_path;\n this._encryption = opts.collector_encryption;\n }\n\n report(detached, auth, report, done) {\n try {\n if (!detached) {\n this._reportAJAX(auth, report, done);\n } else {\n this._reportAsyncScript(auth, report, done);\n }\n } catch (e) {\n return done(e, null);\n }\n }\n\n _reportAJAX(auth, report, done) {\n let payload = JSON.stringify(report.toThrift());\n let protocol = (this._encryption === 'none') ? 'http' : 'https';\n let url = `${protocol}://${this._host}:${this._port}${this._path}/api/v0/reports`;\n let xhr = new XMLHttpRequest();\n xhr.open('POST', url);\n // Note: the browser automatically sets 'Connection' and 'Content-Length'\n // and *does not* allow they to be set manually\n xhr.setRequestHeader('LightStep-Access-Token', auth.getAccessToken());\n xhr.setRequestHeader('Content-Type', 'application/json');\n //req.setRequestHeader('Content-Encoding', 'gzip');\n xhr.onreadystatechange = function () {\n if (this.readyState === 4) {\n let err = null;\n let resp = null;\n if (this.status !== 200) {\n err = new Error(`status code = ${this.status}`);\n } else if (!this.responseText) {\n err = new Error('unexpected empty response');\n } else {\n try {\n resp = JSON.parse(this.responseText);\n } catch (exception) {\n err = exception;\n }\n }\n return done(err, resp);\n }\n };\n xhr.send(payload);\n }\n\n // Do a \"tail flush\" using an async browser script load. This does not get\n // interrupted as a normal Thirft RPC would when navigating away from\n // the page.\n _reportAsyncScript(auth, report, done) {\n let authJSON = JSON.stringify(auth.toThrift());\n let reportJSON = JSON.stringify(report.toThrift());\n let protocol = (this._encryption === 'none') ? 'http' : 'https';\n let url = `${protocol}://${this._host}:${this._port}${this._path}/_rpc/v1/reports/uri_encoded` +\n `?auth=${encodeURIComponent(authJSON)}` +\n `&report=${encodeURIComponent(reportJSON)}`;\n\n let elem = document.createElement('script');\n elem.async = true;\n elem.defer = true;\n elem.src = url;\n elem.type = 'text/javascript';\n\n let hostElem = document.getElementsByTagName('head')[0];\n if (hostElem) {\n hostElem.appendChild(elem);\n }\n return done(null, null);\n }\n}\n","/* eslint-disable */\n\n// This function is copied directly from https://github.com/litejs/browser-cookie-lite.\n// It is licensed under the MIT License and authored by Lauri Rooden.\nfunction cookie(name, value, ttl, path, domain, secure) {\n if (arguments.length > 1) {\n let newCookie = name + '=' + encodeURIComponent(value) +\n (ttl ? \"; expires=\" + new Date(+new Date()+(ttl*1000)).toUTCString() : '') +\n (path ? \"; path=\" + path : '') +\n (domain ? \"; domain=\" + domain : '') +\n (secure ? \"; secure\" : '');\n document.cookie = newCookie;\n return newCookie;\n }\n return decodeURIComponent(((\"; \"+document.cookie).split(\"; \"+name+\"=\")[1]||\"\").split(\";\")[0]);\n}\n\n/* eslint-enable */\n\nmodule.exports = {\n cookie : cookie,\n};\n","import { crouton_thrift } from '../platform_abstraction_layer'; // eslint-disable-line camelcase\nimport _each from '../_each'; // eslint-disable-line camelcase\nimport * as coerce from './coerce.js';\nlet proto = require('./generated_proto/collector_pb.js');\n\nexport default class ReportImp {\n constructor(runtime, oldestMicros, youngestMicros, spanRecords, internalLogs, counters, timestampOffsetMicros) {\n this._runtime = runtime;\n this._oldestMicros = oldestMicros;\n this._youngestMicros = youngestMicros;\n this._spanRecords = spanRecords;\n this._internalLogs = internalLogs;\n this._counters = counters;\n this._timestampOffsetMicros = timestampOffsetMicros;\n }\n\n getSpanRecords() {\n return this._spanRecords;\n }\n\n getInternalLogs() {\n return this._internalLogs;\n }\n\n getCounters() {\n return this._counters;\n }\n\n toThrift() {\n _each(this._spanRecords, (span) => {\n span.runtime_guid = this._runtimeGUID;\n });\n\n let thriftCounters = [];\n _each(this._counters, (value, key) => {\n if (value === 0) {\n return;\n }\n thriftCounters.push(new crouton_thrift.MetricsSample({\n name : coerce.toString(key),\n double_value : coerce.toNumber(value),\n }));\n });\n\n let thriftSpanRecords = [];\n _each(this._spanRecords, (spanRecord) => {\n thriftSpanRecords.push(spanRecord._toThrift());\n });\n\n return new crouton_thrift.ReportRequest({\n runtime : this._runtime.toThrift(),\n oldest_micros : this._oldestMicros,\n youngest_micros : this._youngestMicros,\n span_records : thriftSpanRecords,\n internal_logs : this._internalLogs,\n internal_metrics : new crouton_thrift.Metrics({\n counts : thriftCounters,\n }),\n timestamp_offset_micros : this._timestampOffsetMicros,\n });\n }\n\n toProto(auth) {\n let spansList = [];\n _each(this._spanRecords, (spanRecord) => {\n spansList.push(spanRecord._toProto());\n });\n\n let countsList = [];\n _each(this._counters, (count) => {\n let metricSample = new proto.MetricsSample();\n metricSample.setName(count.name);\n metricSample.setIntValue(count.int64_value);\n metricSample.setDoubleValue(count.double_value);\n countsList.push(metricSample);\n });\n\n let internalMetrics = new proto.InternalMetrics();\n internalMetrics.setCountsList(countsList);\n\n let reportProto = new proto.ReportRequest();\n reportProto.setAuth(auth.toProto());\n reportProto.setReporter(this._runtime.toProto());\n reportProto.setSpansList(spansList);\n reportProto.setTimestampOffsetMicros(this._timestampOffsetMicros);\n reportProto.setInternalMetrics(internalMetrics);\n return reportProto;\n }\n}\n","import { crouton_thrift } from '../platform_abstraction_layer'; // eslint-disable-line camelcase\nimport _each from '../_each'; // eslint-disable-line camelcase\nimport * as coerce from './coerce.js';\nlet proto = require('./generated_proto/collector_pb.js');\nlet converter = require('hex2dec');\nconst packageObject = require('../../package.json');\n\nexport default class RuntimeImp {\n constructor(runtimeGUID, startMicros, componentName, attributes) {\n this._runtimeGUID = runtimeGUID;\n this._startMicros = startMicros;\n this._componentName = componentName;\n this._attributes = attributes;\n }\n\n toThrift() {\n let thriftAttrs = [];\n _each(this._attributes, (val, key) => {\n thriftAttrs.push(new crouton_thrift.KeyValue({\n Key : coerce.toString(key),\n Value : coerce.toString(val),\n }));\n });\n\n // NOTE: for legacy reasons, the Thrift field is called \"group_name\"\n // but is semantically equivalent to the \"component_name\"\n return new crouton_thrift.Runtime({\n guid : this._runtimeGUID,\n start_micros : this._startMicros,\n group_name : this._componentName,\n attrs : thriftAttrs,\n });\n }\n\n toProto() {\n let tracerVersion = new proto.KeyValue();\n tracerVersion.setKey('lightstep.tracer_version');\n tracerVersion.setStringValue(packageObject.version);\n\n let tracerPlatform = new proto.KeyValue();\n tracerPlatform.setKey('lightstep.tracer_platform');\n tracerPlatform.setStringValue(this._attributes['lightstep.tracer_platform']);\n\n let tracerPlatformVersion = new proto.KeyValue();\n tracerPlatformVersion.setKey('lightstep.tracer_platform_version');\n tracerPlatformVersion.setStringValue(this._attributes['lightstep.tracer_platform_version']);\n\n let componentName = new proto.KeyValue();\n componentName.setKey('lightstep.component_name');\n componentName.setStringValue(this._componentName);\n\n let commandLine = new proto.KeyValue();\n commandLine.setKey('lightstep.command_line');\n commandLine.setStringValue(this._attributes['lightstep.command_line']);\n\n let hostname = new proto.KeyValue();\n hostname.setKey('lightstep.hostname');\n hostname.setStringValue(this._attributes['lightstep.hostname']);\n\n let reporterId = converter.hexToDec(this._runtimeGUID);\n\n let tracerTags = [];\n _each(this._attributes, (val, key) => {\n let ttag = new proto.KeyValue();\n ttag.setKey(key);\n ttag.setStringValue(val);\n tracerTags.push(ttag);\n });\n\n let reporterTags = [tracerVersion, tracerPlatform, componentName, commandLine, hostname, tracerPlatformVersion];\n let allTags = reporterTags.concat(tracerTags);\n\n let reporterProto = new proto.Reporter();\n reporterProto.setReporterId(reporterId);\n reporterProto.setTagsList(allTags);\n\n return reporterProto;\n }\n}\n","import _each from '../_each';\n\nexport default class SpanContextImp {\n\n // ---------------------------------------------------------------------- //\n // OpenTracing Implementation\n // ---------------------------------------------------------------------- //\n\n setBaggageItem(key, value) {\n this._baggage[key] = value;\n }\n\n getBaggageItem(key) {\n return this._baggage[key];\n }\n\n // ---------------------------------------------------------------------- //\n // LightStep Extensions\n // ---------------------------------------------------------------------- //\n\n // This is part of the formal OT API in Go; and will likely be supported\n // across platforms.\n //\n // https://github.com/opentracing/opentracing.github.io/issues/103\n forEachBaggageItem(f) {\n _each(this._baggage, (val, key) => {\n f(key, val);\n });\n }\n\n // ---------------------------------------------------------------------- //\n // Private methods\n // ---------------------------------------------------------------------- //\n\n constructor(spanGUID, traceGUID) {\n this._baggage = {};\n this._guid = spanGUID;\n this._traceGUID = traceGUID;\n }\n}\n","import * as coerce from './coerce.js';\nimport * as constants from '../constants';\nimport _each from '../_each';\nimport * as opentracing from 'opentracing';\nimport { crouton_thrift } from '../platform_abstraction_layer'; // eslint-disable-line camelcase\nimport LogRecordImp from './log_record_imp'; // eslint-disable-line camelcase\nimport util from './util/util.js';\nlet converter = require('hex2dec');\nlet proto = require('./generated_proto/collector_pb.js');\nlet googleProtobufTimestampPB = require('google-protobuf/google/protobuf/timestamp_pb.js');\n\nexport default class SpanImp extends opentracing.Span {\n\n // ---------------------------------------------------------------------- //\n // opentracing.Span SPI\n // ---------------------------------------------------------------------- //\n\n _tracer() {\n return this._tracerImp;\n }\n\n _context() {\n return this._ctx;\n }\n\n _setOperationName(name) {\n this._operationName = `${name}`;\n }\n\n _addTags(keyValuePairs) {\n let self = this;\n _each(keyValuePairs, (value, key) => {\n self._tags[key] = value;\n });\n }\n\n _log(keyValuePairs, timestamp) {\n let self = this;\n const argumentType = typeof keyValuePairs;\n if (argumentType !== 'object') {\n self._tracerImp._error('Span.log() expects an object as its first argument');\n return;\n }\n\n let tsMicros = timestamp ?\n (timestamp * 1000) :\n self._tracerImp._platform.nowMicros();\n\n let record = new LogRecordImp(\n self._tracerImp.getLogFieldKeyHardLimit(),\n self._tracerImp.getLogFieldValueHardLimit(),\n tsMicros,\n keyValuePairs);\n self._log_records = self._log_records || [];\n self._log_records.push(record);\n self._tracerImp.emit('log_added', record);\n }\n\n _finish(finishTime) {\n return this.end(finishTime);\n }\n\n // ---------------------------------------------------------------------- //\n // Private methods\n // ---------------------------------------------------------------------- //\n\n constructor(tracer, name, spanContext) {\n super();\n\n console.assert(typeof tracer === 'object', 'Invalid runtime'); // eslint-disable-line no-console\n\n this._tracerImp = tracer;\n this._ctx = spanContext;\n this._ended = false;\n\n this._operationName = name;\n this._tags = {};\n this._beginMicros = tracer._platform.nowMicros();\n this._endMicros = 0;\n this._errorFlag = false;\n this._log_records = null;\n }\n\n // ---------------------------------------------------------------------- //\n // LightStep Extensions\n // ---------------------------------------------------------------------- //\n\n getOperationName() {\n return this._operationName;\n }\n\n // Getter only. The GUID is immutable once set internally.\n guid() {\n return this._ctx._guid;\n }\n\n traceGUID() {\n return this._ctx._traceGUID;\n }\n\n parentGUID() {\n return this._tags.parent_span_guid;\n }\n\n setParentGUID(guid) {\n this._tags.parent_span_guid = coerce.toString(guid);\n return this;\n }\n\n beginMicros() {\n return this._beginMicros;\n }\n\n setBeginMicros(micros) {\n this._beginMicros = micros;\n return this;\n }\n\n endMicros() {\n return this._endMicros;\n }\n\n setEndMicros(micros) {\n this._endMicros = micros;\n return this;\n }\n\n /**\n * Returns a URL to the trace containing this span.\n *\n * Unlike most methods, it *is* safe to call this method after `finish()`.\n *\n * @return {string} the absolute URL for the span\n */\n generateTraceURL() {\n let micros;\n if (this._beginMicros > 0 && this._endMicros > 0) {\n micros = Math.floor((this._beginMicros + this._endMicros) / 2);\n } else {\n micros = this._tracerImp._platform.nowMicros();\n }\n\n let urlPrefix = constants.LIGHTSTEP_APP_URL_PREFIX;\n let accessToken = encodeURIComponent(this._tracerImp.options().access_token);\n let guid = encodeURIComponent(this.guid());\n return `${urlPrefix}/${accessToken}/trace?span_guid=${guid}&at_micros=${micros}`;\n }\n\n getTags() {\n return this._tags;\n }\n\n /**\n * Finishes the span.\n *\n * @param {Number} finishTime\n * \tOptional Unix timestamp in milliseconds setting an explicit\n * \tfinish time for the span.\n */\n end(finishTime) {\n // Ensure a single span is not recorded multiple times\n if (this._ended) {\n return;\n }\n this._ended = true;\n\n if (finishTime !== undefined) {\n this.setEndMicros(Math.floor(finishTime * 1000));\n }\n\n // Do not set endMicros if it has already been set. This accounts for\n // the case of a span that has had it's times set manually (i.e. allows\n // for retroactively created spans that might not be possible to create\n // in real-time).\n if (this._endMicros === 0) {\n this.setEndMicros(this._tracerImp._platform.nowMicros());\n }\n\n if (util.shouldSendMetaSpan(this._tracer().options(), this.getTags())) {\n this._tracerImp.startSpan(constants.LS_META_SP_FINISH, {\n tags : {\n [constants.LS_META_EVENT_KEY] : true,\n [constants.LS_META_TRACE_KEY] : this.traceGUID(),\n [constants.LS_META_SPAN_KEY] : this.guid(),\n },\n }).finish();\n }\n\n this._tracerImp._addSpanRecord(this);\n }\n\n _toThrift() {\n let attributes = [];\n _each(this._tags, (value, key) => {\n attributes.push(new crouton_thrift.KeyValue({\n Key : coerce.toString(key),\n Value : coerce.toString(value),\n }));\n });\n\n let logs = [];\n _each(this._log_records, (logRecord) => {\n let logThrift = logRecord.toThrift();\n this._tracerImp._counters['logs.keys.over_limit'] += logRecord.getNumKeysOverLimit();\n this._tracerImp._counters['logs.values.over_limit'] += logRecord.getNumValuesOverLimit();\n logs.push(logThrift);\n });\n\n return new crouton_thrift.SpanRecord({\n span_guid : this.guid(),\n trace_guid : this.traceGUID(),\n runtime_guid : this._tracerImp.guid(),\n span_name : this._operationName,\n oldest_micros : this._beginMicros,\n youngest_micros : this._endMicros,\n attributes : attributes,\n error_flag : this._errorFlag,\n log_records : logs,\n });\n }\n\n _toProto() {\n let spanContextProto = new proto.SpanContext();\n\n spanContextProto.setTraceId(converter.hexToDec(this.traceGUID()));\n spanContextProto.setSpanId(converter.hexToDec(this.guid()));\n\n let spanProto = new proto.Span();\n spanProto.setSpanContext(spanContextProto);\n spanProto.setOperationName(this._operationName);\n\n let startTimestamp = new googleProtobufTimestampPB.Timestamp();\n let startMillis = Math.floor(this._beginMicros / 1000);\n let startSeconds = Math.floor(startMillis / 1000);\n let startNanos = (startMillis % 1000) * 1000000;\n startTimestamp.setSeconds(startSeconds);\n startTimestamp.setNanos(startNanos);\n spanProto.setStartTimestamp(startTimestamp);\n spanProto.setDurationMicros((this._endMicros - this._beginMicros).toString());\n\n let logs = [];\n _each(this._log_records, (logRecord) => {\n let logProto = logRecord.toProto();\n this._tracerImp._counters['logs.keys.over_limit'] += logRecord.getNumKeysOverLimit();\n this._tracerImp._counters['logs.values.over_limit'] += logRecord.getNumValuesOverLimit();\n logs.push(logProto);\n });\n spanProto.setLogsList(logs);\n\n let parentSpanGUID = undefined;\n let tags = [];\n _each(this._tags, (value, key) => {\n let strValue = coerce.toString(value);\n let strKey = coerce.toString(key);\n let tag = new proto.KeyValue();\n if (strKey === 'parent_span_guid') {\n parentSpanGUID = strValue;\n }\n tag.setKey(strKey);\n tag.setStringValue(strValue);\n tags.push(tag);\n });\n spanProto.setTagsList(tags);\n\n if (parentSpanGUID !== undefined) {\n let ref = new proto.Reference();\n ref.setRelationship(proto.Reference.Relationship.CHILD_OF);\n let parentSpanContext = new proto.SpanContext();\n parentSpanContext.setSpanId(converter.hexToDec(parentSpanGUID));\n ref.setSpanContext(parentSpanContext);\n spanProto.setReferencesList([ref]);\n }\n\n return spanProto;\n }\n}\n","//============================================================================//\n// Imports\n//============================================================================//\n\nimport EventEmitter from 'eventemitter3';\nimport * as opentracing from 'opentracing';\n\nimport SpanContextImp from './span_context_imp';\nimport SpanImp from './span_imp';\nimport _each from '../_each';\nimport { Platform, ProtoTransport, ThriftTransport } from '../platform_abstraction_layer';\nimport AuthImp from './auth_imp';\nimport RuntimeImp from './runtime_imp';\nimport ReportImp from './report_imp';\n\nconst ClockState = require('./util/clock_state');\nconst LogBuilder = require('./log_builder');\nconst coerce = require('./coerce');\nconst constants = require('../constants');\nconst globals = require('./globals');\nconst packageObject = require('../../package.json');\nconst util = require('./util/util');\n\nconst CARRIER_TRACER_STATE_PREFIX = 'ot-tracer-';\nconst CARRIER_BAGGAGE_PREFIX = 'ot-baggage-';\n\nconst DEFAULT_COLLECTOR_HOSTNAME = 'collector.lightstep.com';\nconst DEFAULT_COLLECTOR_PORT_TLS = 443;\nconst DEFAULT_COLLECTOR_PORT_PLAIN = 80;\nconst DEFAULT_COLLECTOR_PATH = '';\n\n// Internal errors should be rare. Set a low limit to ensure a cascading failure\n// does not compound an existing problem by trying to send a great deal of\n// internal error data.\nconst MAX_INTERNAL_LOGS = 20;\n\nlet _singleton = null;\n\nexport default class Tracer extends opentracing.Tracer {\n\n constructor(opts) {\n super();\n\n this._delegateEventEmitterMethods();\n\n opts = opts || {};\n\n if (!_singleton) {\n globals.setOptions(opts);\n _singleton = this;\n }\n\n // Platform abstraction layer\n this._platform = new Platform(this);\n this._runtimeGUID = opts.guid || this.override_runtime_guid || null; // Set once the group name is set\n this._plugins = {};\n this._options = {};\n this._optionDescs = [];\n this._makeOptionsTable();\n\n this._opentracing = opentracing;\n if (opts.opentracing_module) {\n this._opentracing = opts.opentracing_module;\n }\n\n let now = this._platform.nowMicros();\n\n // The thrift authentication and runtime struct are created as soon as\n // the necessary initialization options are available.\n this._startMicros = now;\n this._auth = null;\n this._runtime = null;\n\n let logger = {\n warn : (msg, payload) => { this._warn(msg, payload); },\n error : (err, payload) => { this._error(err, payload); },\n };\n\n if (opts) {\n this._transport = opts.override_transport;\n }\n\n this._reportingLoopActive = false;\n this._first_report_has_run = false;\n this._reportYoungestMicros = now;\n this._reportTimer = null;\n this._reportErrorStreak = 0; // Number of consecutive errors\n this._lastVisibleErrorMillis = 0;\n this._skippedVisibleErrors = 0;\n\n // Set addActiveRootSpan() for detail\n this._activeRootSpanSet = {};\n this._activeRootSpan = null;\n\n // Span reporting buffer and per-report data\n // These data are reset on every successful report.\n this._spanRecords = [];\n\n // The counter names need to match those accepted by the collector.\n // These are internal counters only.\n this._counters = {\n 'internal.errors' : 0,\n 'internal.warnings' : 0,\n 'spans.dropped' : 0,\n 'logs.dropped' : 0,\n 'logs.keys.over_limit' : 0,\n 'logs.values.over_limit' : 0,\n 'reports.errors.send' : 0,\n };\n\n // For internal (not client) logs reported to the collector\n this._internalLogs = [];\n\n // Current runtime state / status\n this._flushIsActive = false;\n\n // Built-in plugins\n this.addPlugin(require('../plugins/log_to_console'));\n\n // Initialize the platform options after the built-in plugins in\n // case any of those options affect the built-ins.\n this.addPlatformPlugins(opts);\n this.setPlatformOptions(opts);\n\n // Set constructor arguments\n if (opts) {\n this.options(opts);\n }\n\n if (typeof this._transport === 'undefined' || this._transport === null) {\n switch (this._options.transport) {\n case 'proto':\n this._transport = new ProtoTransport(logger);\n this._info('Using protobuf over HTTP transport per user-defined option.');\n break;\n case 'thrift':\n this._transport = new ThriftTransport(logger);\n this._info('Using thrift transport per user-defined option.');\n break;\n default:\n this._transport = new ProtoTransport(logger);\n this._info('Using protobuf over HTTP transport as no user-defined option was supplied.');\n }\n }\n\n // For clock skew adjustment.\n // Must be set after options have been set.\n this._useClockState = !this._options.disable_clock_skew_correction;\n this._clockState = new ClockState({\n nowMicros : () => this._platform.nowMicros(),\n localStoreGet : () => {\n let key = `clock_state/${this._options.collector_host}`;\n return this._platform.localStoreGet(key);\n },\n localStoreSet : (value) => {\n let key = `clock_state/${this._options.collector_host}`;\n return this._platform.localStoreSet(key, value);\n },\n });\n\n // This relies on the options being set: call this last.\n this._setupReportOnExit();\n\n this._info(`Tracer created with guid ${this._runtimeGUID}`);\n\n if (this._options.access_token.length === 0) {\n this._warn(\n `Access token not set -\n this requires a satellite with access token checking disabled,\n such as a developer satellite.`);\n }\n\n this.startPlugins();\n }\n\n // Morally speaking, Tracer also inherits from EventEmmiter, but we must\n // fake it via composition.\n //\n // If not obvious on inspection: a hack.\n _delegateEventEmitterMethods() {\n let self = this;\n this._ee = new EventEmitter();\n // The list of methods at https://nodejs.org/api/events.html\n _each([\n 'addListener',\n 'emit',\n 'eventNames',\n 'getMaxListeners',\n 'listenerCount',\n 'listeners',\n 'on',\n 'once',\n 'prependListener',\n 'prependOnceListener',\n 'removeAllListeners',\n 'removeListener',\n 'setMaxListeners',\n ], (methodName) => {\n self[methodName] = function () {\n if (self._ee[methodName]) {\n self._ee[methodName].apply(self._ee, arguments);\n }\n };\n });\n }\n\n _makeOptionsTable() {\n /* eslint-disable key-spacing, no-multi-spaces */\n\n // NOTE: make 'verbosity' the first option so it is processed first on\n // options changes and takes effect as soon as possible.\n this.addOption('verbosity', { type : 'int', min: 0, max: 9, defaultValue: 1 });\n\n // Core options\n this.addOption('access_token', { type: 'string', defaultValue: '' });\n this.addOption('component_name', { type: 'string', defaultValue: '' });\n this.addOption('collector_host', { type: 'string', defaultValue: DEFAULT_COLLECTOR_HOSTNAME });\n this.addOption('collector_port', { type: 'int', defaultValue: DEFAULT_COLLECTOR_PORT_TLS });\n this.addOption('collector_path', { type: 'string', defaultValue: DEFAULT_COLLECTOR_PATH });\n this.addOption('collector_encryption', { type: 'string', defaultValue: 'tls' });\n this.addOption('tags', { type: 'any', defaultValue: {} });\n this.addOption('max_reporting_interval_millis', { type: 'int', defaultValue: 2500 });\n this.addOption('disable_clock_skew_correction', { type: 'bool', defaultValue: false });\n this.addOption('transport', { type: 'string', defaultValue: 'proto' });\n\n // Non-standard, may be deprecated\n this.addOption('disabled', { type: 'bool', defaultValue: false });\n this.addOption('max_span_records', { type: 'int', defaultValue: 4096 });\n this.addOption('default_span_tags', { type: 'any', defaultValue: {} });\n this.addOption('report_timeout_millis', { type: 'int', defaultValue: 30000 });\n this.addOption('gzip_json_requests', { type: 'bool', defaultValue: true });\n this.addOption('disable_reporting_loop', { type: 'bool', defaultValue: false });\n this.addOption('disable_report_on_exit', { type: 'bool', defaultValue: false });\n this.addOption('delay_initial_report_millis', { type: 'int', defaultValue: 1000 });\n this.addOption('error_throttle_millis', { type: 'int', defaultValue: 60000 });\n this.addOption('logger', { type: 'function', defaultValue: this._printToConsole.bind(this) });\n\n // Debugging options\n //\n // These are not part of the supported public API.\n //\n // If false, SSL certificate verification is skipped. Useful for testing.\n this.addOption('certificate_verification', { type: 'bool', defaultValue: true });\n // I.e. report only on explicit calls to flush()\n\n // Unit testing options\n this.addOption('override_transport', { type : 'any', defaultValue: null });\n this.addOption('silent', { type : 'bool', defaultValue: false });\n\n // Hard upper limits to protect against worst-case scenarios for log field sizes.\n this.addOption('log_field_key_hard_limit', { type: 'int', defaultValue: 256 });\n this.addOption('log_field_value_hard_limit', { type: 'int', defaultValue: 1024 });\n\n // Meta Event reporting options\n this.addOption('disable_meta_event_reporting', { type: 'bool', defaultValue: false });\n\n /* eslint-disable key-spacing, no-multi-spaces */\n }\n\n // ---------------------------------------------------------------------- //\n // opentracing.Tracer SPI\n // ---------------------------------------------------------------------- //\n\n _startSpan(name, fields) {\n // First, assemble the SpanContextImp for our SpanImp.\n let parentCtxImp = null;\n fields = fields || {};\n if (fields.references) {\n for (let i = 0; i < fields.references.length; i++) {\n let ref = fields.references[i];\n let type = ref.type();\n if (type === this._opentracing.REFERENCE_CHILD_OF ||\n type === this._opentracing.REFERENCE_FOLLOWS_FROM) {\n let context = ref.referencedContext();\n if (!context) {\n this._error('Span reference has an invalid context', context);\n continue;\n }\n parentCtxImp = context;\n break;\n }\n }\n }\n\n let traceGUID = parentCtxImp ? parentCtxImp._traceGUID : this.generateTraceGUIDForRootSpan();\n let spanImp = new SpanImp(this, name, new SpanContextImp(this._platform.generateUUID(), traceGUID));\n spanImp.addTags(this._options.default_span_tags);\n\n _each(fields, (value, key) => {\n switch (key) {\n case 'references':\n // Ignore: handled before constructing the span\n break;\n case 'startTime':\n // startTime is in milliseconds\n spanImp.setBeginMicros(Math.floor(value * 1000));\n break;\n case 'tags':\n spanImp.addTags(value);\n break;\n default:\n this._warn(`Ignoring unknown field '${key}'`);\n break;\n }\n });\n\n if (parentCtxImp !== null) {\n spanImp.setParentGUID(parentCtxImp._guid);\n }\n\n this.emit('start_span', spanImp);\n\n if (util.shouldSendMetaSpan(this.options(), spanImp.getTags())) {\n this.startSpan(constants.LS_META_SP_START,\n {\n tags : {\n [constants.LS_META_EVENT_KEY]: true,\n [constants.LS_META_TRACE_KEY]: spanImp.traceGUID(),\n [constants.LS_META_SPAN_KEY]: spanImp.guid(),\n },\n })\n .finish();\n }\n return spanImp;\n }\n\n _inject(spanContext, format, carrier) {\n switch (format) {\n case this._opentracing.FORMAT_HTTP_HEADERS:\n case this._opentracing.FORMAT_TEXT_MAP:\n if (this.options().meta_event_reporting === true) {\n this.startSpan(constants.LS_META_INJECT,\n {\n tags: {\n [constants.LS_META_EVENT_KEY]: true,\n [constants.LS_META_TRACE_KEY]: spanContext._traceGUID,\n [constants.LS_META_SPAN_KEY]: spanContext._guid,\n [constants.LS_META_PROPAGATION_KEY]: format,\n },\n })\n .finish();\n }\n this._injectToTextMap(spanContext, carrier);\n break;\n\n case this._opentracing.FORMAT_BINARY:\n this._error(`Unsupported format: ${format}`);\n break;\n\n default:\n this._error(`Unknown format: ${format}`);\n break;\n }\n }\n\n _injectToTextMap(spanContext, carrier) {\n if (!carrier) {\n this._error('Unexpected null FORMAT_TEXT_MAP carrier in call to inject');\n return;\n }\n if (typeof carrier !== 'object') {\n this._error(`Unexpected '${typeof carrier}' FORMAT_TEXT_MAP carrier in call to inject`);\n return;\n }\n\n carrier[`${CARRIER_TRACER_STATE_PREFIX}spanid`] = spanContext._guid;\n carrier[`${CARRIER_TRACER_STATE_PREFIX}traceid`] = spanContext._traceGUID;\n spanContext.forEachBaggageItem((key, value) => {\n carrier[`${CARRIER_BAGGAGE_PREFIX}${key}`] = value;\n });\n carrier[`${CARRIER_TRACER_STATE_PREFIX}sampled`] = 'true';\n return carrier;\n }\n\n _extract(format, carrier) {\n let sc;\n switch (format) {\n case this._opentracing.FORMAT_HTTP_HEADERS:\n case this._opentracing.FORMAT_TEXT_MAP:\n sc = this._extractTextMap(format, carrier);\n if (this.options().meta_event_reporting === true) {\n this.startSpan(constants.LS_META_EXTRACT,\n {\n tags: {\n [constants.LS_META_EVENT_KEY]: true,\n [constants.LS_META_TRACE_KEY]: sc._traceGUID,\n [constants.LS_META_SPAN_KEY]: sc._guid,\n [constants.LS_META_PROPAGATION_KEY]: format,\n },\n })\n .finish();\n }\n return sc;\n case this._opentracing.FORMAT_BINARY:\n this._error(`Unsupported format: ${format}`);\n return null;\n\n default:\n this._error(`Unsupported format: ${format}`);\n return null;\n }\n }\n\n _extractTextMap(format, carrier) {\n // Begin with the empty SpanContextImp\n let spanContext = new SpanContextImp(null, null);\n\n // Iterate over the contents of the carrier and set the properties\n // accordingly.\n let foundFields = 0;\n _each(carrier, (value, key) => {\n key = key.toLowerCase();\n if (key.substr(0, CARRIER_TRACER_STATE_PREFIX.length) !== CARRIER_TRACER_STATE_PREFIX) {\n return;\n }\n let suffix = key.substr(CARRIER_TRACER_STATE_PREFIX.length);\n\n switch (suffix) {\n case 'traceid':\n foundFields++;\n spanContext._traceGUID = value;\n break;\n case 'spanid':\n foundFields++;\n spanContext._guid = value;\n break;\n case 'sampled':\n // Ignored. The carrier may be coming from a different client\n // library that sends this (even though it's not used).\n break;\n default:\n this._error(`Unrecognized carrier key '${key}' with recognized prefix. Ignoring.`);\n break;\n }\n });\n\n if (foundFields === 0) {\n // This is not an error per se, there was simply no SpanContext\n // in the carrier.\n return null;\n }\n if (foundFields < 2) {\n // A partial SpanContext suggests some sort of data corruption.\n this._error(`Only found a partial SpanContext: ${format}, ${carrier}`);\n return null;\n }\n\n _each(carrier, (value, key) => {\n key = key.toLowerCase();\n if (key.substr(0, CARRIER_BAGGAGE_PREFIX.length) !== CARRIER_BAGGAGE_PREFIX) {\n return;\n }\n let suffix = key.substr(CARRIER_BAGGAGE_PREFIX.length);\n spanContext.setBaggageItem(suffix, value);\n });\n return spanContext;\n }\n\n\n // ---------------------------------------------------------------------- //\n // LightStep extensions\n // ---------------------------------------------------------------------- //\n\n /**\n * Manually sends a report of all buffered data.\n *\n * @param {Function} done - callback function invoked when the report\n * either succeeds or fails.\n */\n flush(done) {\n if (!done) {\n done = function () {};\n }\n if (this._options.disabled) {\n this._warn('Manual flush() called in disabled state.');\n return done(null);\n }\n this._flushReport(true, false, done);\n }\n\n //-----------------------------------------------------------------------//\n // Options\n //-----------------------------------------------------------------------//\n\n guid() {\n return this._runtimeGUID;\n }\n\n verbosity() {\n // The 'undefined' handling below is for logs that may occur before the\n // options are initialized.\n let v = this._options.verbosity;\n return (v === undefined) ? 1 : v;\n }\n\n // Call to generate a new Trace GUID\n generateTraceGUIDForRootSpan() {\n let guid = this._platform.generateUUID();\n if (this._activeRootSpan) {\n guid = this._activeRootSpan.traceGUID();\n }\n return guid;\n }\n\n setPlatformOptions(userOptions) {\n let opts = this._platform.options(this) || {};\n _each(userOptions, (val, key) => {\n opts[key] = val;\n });\n this.options(opts);\n }\n\n // Register a new option. Used by plug-ins.\n addOption(name, desc) {\n desc.name = name;\n this._optionDescs.push(desc);\n this._options[desc.name] = desc.defaultValue;\n }\n\n options(opts) {\n if (arguments.length === 0) {\n console.assert(typeof this._options === 'object', // eslint-disable-line\n 'Internal error: _options field incorrect');\n return this._options;\n }\n if (typeof opts !== 'object') {\n throw new Error(`options() must be called with an object: type was ${typeof opts}`);\n }\n\n // \"collector_port\" 0 acts as an alias for \"use the default\".\n if (opts.collector_port === 0) {\n delete opts.collector_port;\n }\n\n // \"collector_encryption\" acts an alias for the common cases of 'collector_port'\n if (opts.collector_encryption !== undefined && opts.collector_port === undefined) {\n opts.collector_port = opts.collector_encryption !== 'none' ?\n DEFAULT_COLLECTOR_PORT_TLS :\n DEFAULT_COLLECTOR_PORT_PLAIN;\n }\n // set meta event reporting to false by default, it will be enabled by the satellite\n this.meta_event_reporting = false;\n\n // Track what options have been modified\n let modified = {};\n let unchanged = {};\n _each(this._optionDescs, (desc) => {\n this._setOptionInternal(modified, unchanged, opts, desc);\n });\n\n // Check for any invalid options: is there a key in the specified operation\n // that didn't result either in a change or a reset to the existing value?\n for (let key in opts) {\n if (modified[key] === undefined && unchanged[key] === undefined) {\n this._warn(`Invalid option ${key} with value ${opts[key]}`);\n }\n }\n\n //\n // Update the state information based on the changes\n //\n this._initReportingDataIfNeeded(modified);\n\n if (!this._reportingLoopActive) {\n this._startReportingLoop();\n }\n\n if (this.verbosity() >= 3) {\n let optionsString = '';\n let count = 0;\n _each(modified, (val, key) => {\n optionsString += `\\t${JSON.stringify(key)}: ${JSON.stringify(val.newValue)}\\n`;\n count++;\n });\n if (count > 0) {\n this._debug(`Options modified:\\n${optionsString}`);\n }\n }\n this.emit('options', modified, this._options, this);\n }\n\n _setOptionInternal(modified, unchanged, opts, desc) {\n let name = desc.name;\n let value = opts[name];\n let valueType = typeof value;\n if (value === undefined) {\n return;\n }\n\n // Parse the option (and check constraints)\n switch (desc.type) {\n\n case 'any':\n break;\n\n case 'bool':\n if (value !== true && value !== false) {\n this._error(`Invalid boolean option '${name}' '${value}'`);\n return;\n }\n break;\n\n case 'function':\n if (typeof value !== 'function') {\n this._error(`Invalid function option '${name}' '${value}'`);\n return;\n }\n break;\n\n case 'int':\n if (valueType !== 'number' || Math.floor(value) !== value) {\n this._error(`Invalid int option '${name}' '${value}'`);\n return;\n }\n if (desc.min !== undefined && desc.max !== undefined) {\n if (!(value >= desc.min && value <= desc.max)) {\n this._error(`Option '${name}' out of range '${value}' is not between ${desc.min} and ${desc.max}`); // eslint-disable-line max-len\n return;\n }\n }\n break;\n\n case 'string':\n switch (valueType) {\n case 'string':\n break;\n case 'number':\n value = coerce.toString(value);\n break;\n default:\n this._error(`Invalid string option ${name} ${value}`);\n return;\n }\n break;\n\n case 'array':\n // Per http://stackoverflow.com/questions/4775722/check-if-object-is-array\n if (Object.prototype.toString.call(value) !== '[object Array]') {\n this._error(`Invalid type for array option ${name}: found '${valueType}'`);\n return;\n }\n break;\n\n default:\n this._error(`Unknown option type '${desc.type}'`);\n return;\n }\n\n // Set the new value, recording any modifications\n let oldValue = this._options[name];\n if (oldValue === undefined) {\n throw new Error(`Attempt to set unknown option ${name}`);\n }\n\n // Ignore no-op changes for types that can be checked quickly\n if (valueType !== 'object' && oldValue === value) {\n unchanged[name] = true;\n return;\n }\n\n modified[name] = {\n oldValue : oldValue,\n newValue : value,\n };\n this._options[name] = value;\n }\n\n // The authorization and runtime information is initialized as soon\n // as it is available. This allows logs and spans to be buffered before\n // the library is initialized, which can be helpul in a complex setup with\n // many subsystems.\n //\n _initReportingDataIfNeeded(modified) {\n // Ignore redundant initialization; complaint on inconsistencies\n if (this._auth !== null) {\n if (!this._runtime) {\n return this._error('Inconsistent state: auth initialized without runtime.');\n }\n if (modified.access_token) {\n throw new Error('Cannot change access_token after it has been set.');\n }\n if (modified.component_name) {\n throw new Error('Cannot change component_name after it has been set.');\n }\n if (modified.collector_host) {\n throw new Error('Cannot change collector_host after the connection is established');\n }\n if (modified.collector_port) {\n throw new Error('Cannot change collector_port after the connection is established');\n }\n if (modified.collector_path) {\n throw new Error('Cannot change collector_path after the connection is established');\n }\n if (modified.collector_encryption) {\n throw new Error('Cannot change collector_encryption after the connection is established');\n }\n return;\n }\n\n this._runtimeGUID = this._platform.runtimeGUID(this._options.component_name);\n\n this._auth = new AuthImp(this._options.access_token);\n\n //\n // Assemble the tracer tags from the user-specified and automatic,\n // internal tags.\n //\n let tags = {};\n _each(this._options.tags, (value, key) => {\n if (typeof value !== 'string') {\n this._error(`Tracer tag value is not a string: key=${key}`);\n return;\n }\n tags[key] = value;\n });\n tags['lightstep.tracer_version'] = packageObject.version;\n let platformTags = this._platform.tracerTags();\n _each(platformTags, (val, key) => {\n tags[key] = val;\n });\n\n this._runtime = new RuntimeImp(this._runtimeGUID, this._startMicros, this._options.component_name, tags);\n\n this._info('Initializing reporting data', {\n component_name : this._options.component_name,\n access_token : this._auth.getAccessToken(),\n });\n this.emit('reporting_initialized');\n }\n\n getLogFieldKeyHardLimit() {\n return this._options.log_field_key_hard_limit;\n }\n\n getLogFieldValueHardLimit() {\n return this._options.log_field_value_hard_limit;\n }\n\n //-----------------------------------------------------------------------//\n // Plugins\n //-----------------------------------------------------------------------//\n\n addPlatformPlugins(opts) {\n let pluginSet = this._platform.plugins(opts);\n _each(pluginSet, (val) => {\n this.addPlugin(val);\n });\n }\n\n addPlugin(plugin) {\n // Don't add plug-ins twice\n let name = plugin.name();\n if (this._plugins[name]) {\n return;\n }\n\n this._plugins[name] = plugin;\n plugin.addOptions(this);\n }\n\n startPlugins() {\n _each(this._plugins, (val, key) => {\n this._plugins[key].start(this);\n });\n }\n\n //-----------------------------------------------------------------------//\n // Spans\n //-----------------------------------------------------------------------//\n\n // This is a LightStep-specific feature that should be used sparingly. It\n // sets a \"global\" root span such that spans that would *otherwise* be root\n // span instead inherit the trace GUID of the active root span. This is\n // best clarified by example:\n //\n // On document load in the browser, an \"active root span\" is created for\n // the page load process. Any spans started without an explicit parent\n // will the document load trace GUID instead of starting a trace GUID.\n // This implicit root remains active only until the page is done loading.\n //\n // Any span adding itself as a root span *must* remove itself along with\n // calling finish(). This will *not* be done automatically.\n //\n // NOTE: currently, only the trace GUID is transferred; it may or may not\n // make sure to make this a proper parent.\n //\n // NOTE: the root span tracking is handled as a set rather than a single\n // global to avoid conflicts between libraries.\n addActiveRootSpan(span) {\n this._activeRootSpanSet[span._guid] = span;\n this._setActiveRootSpanToYoungest();\n }\n\n removeActiveRootSpan(span) {\n delete this._activeRootSpanSet[span._guid];\n this._setActiveRootSpanToYoungest();\n }\n\n _setActiveRootSpanToYoungest() {\n // Set the _activeRootSpan to the youngest of the roots in case of\n // multiple.\n this._activeRootSpan = null;\n _each(this._activeRootSpanSet, (span) => {\n if (!this._activeRootSpan ||\n span._beginMicros > this._activeRootSpan._beginMicros) {\n this._activeRootSpan = span;\n }\n });\n }\n\n //-----------------------------------------------------------------------//\n // Encoding / decoding\n //-----------------------------------------------------------------------//\n\n _objectToUint8Array(obj) {\n let jsonString;\n try {\n // encodeURIComponent() is a *very* inefficient, but simple and\n // well-supported way to avoid having to think about Unicode in\n // in the conversion to a UInt8Array.\n //\n // Writing multiple bytes for String.charCodeAt and\n // String.codePointAt would be an alternate approach; again,\n // simplicitly is being preferred over efficiency for the moment.\n jsonString = encodeURIComponent(JSON.stringify(obj));\n } catch (e) {\n this._error('Could not binary encode carrier data.');\n return null;\n }\n\n let buffer = new ArrayBuffer(jsonString.length);\n let view = new Uint8Array(buffer);\n for (let i = 0; i < jsonString.length; i++) {\n let code = jsonString.charCodeAt(i);\n if (!(code >= 0 && code <= 255)) {\n this._error('Unexpected character code');\n return null;\n }\n view[i] = code;\n }\n return view;\n }\n\n _uint8ArrayToObject(arr) {\n if (!arr) {\n this._error('Array is null');\n return null;\n }\n\n let jsonString = '';\n for (let i = 0; i < arr.length; i++) {\n jsonString += String.fromCharCode(arr[i]);\n }\n try {\n return JSON.parse(decodeURIComponent(jsonString));\n } catch (e) {\n this._error('Could not decode binary data.');\n return null;\n }\n }\n\n //-----------------------------------------------------------------------//\n // Logging\n //-----------------------------------------------------------------------//\n\n log() {\n let b = new LogBuilder(this);\n return b;\n }\n\n //-----------------------------------------------------------------------//\n // Buffers\n //-----------------------------------------------------------------------//\n\n _clearBuffers() {\n this._spanRecords = [];\n this._internalLogs = [];\n\n // Create a new object to avoid overwriting the values in any references\n // to the old object\n let counters = {};\n _each(this._counters, (unused, key) => {\n counters[key] = 0;\n });\n this._counters = counters;\n }\n\n _buffersAreEmpty() {\n if (this._spanRecords.length > 0) {\n return false;\n }\n if (this._internalLogs.length > 0) {\n return false;\n }\n\n let countersAllZero = true;\n _each(this._counters, (val) => {\n if (val > 0) {\n countersAllZero = false;\n }\n });\n return countersAllZero;\n }\n\n _addSpanRecord(record) {\n this._internalAddSpanRecord(record);\n this.emit('span_added', record);\n }\n\n _internalAddSpanRecord(record) {\n if (!record) {\n this._error('Attempt to add null record to buffer');\n return;\n }\n\n if (this._spanRecords.length >= this._options.max_span_records) {\n let index = Math.floor(this._spanRecords.length * Math.random());\n this._spanRecords[index] = record;\n this._counters['spans.dropped']++;\n } else {\n this._spanRecords.push(record);\n }\n }\n\n _restoreRecords(spans, internalLogs, counters) {\n _each(spans, (span) => {\n this._internalAddSpanRecord(span);\n });\n\n let currentInternalLogs = this._internalLogs;\n this._internalLogs = [];\n let toAdd = internalLogs.concat(currentInternalLogs);\n _each(toAdd, (log) => {\n this._pushInternalLog(log);\n });\n\n _each(counters, (value, key) => {\n if (key in this._counters) {\n this._counters[key] += value;\n } else {\n this._error(`Bad counter name: ${key}`);\n }\n });\n }\n\n //-----------------------------------------------------------------------//\n // Reporting loop\n //-----------------------------------------------------------------------//\n\n _setupReportOnExit() {\n if (this._options.disable_report_on_exit) {\n this._debug('report-on-exit is disabled.');\n return;\n }\n\n // Do a final explicit flush. Note that the final flush may enqueue\n // asynchronous callbacks that cause the 'beforeExit' event to be\n // re-emitted when those callbacks finish.\n let finalFlushOnce = 0;\n let finalFlush = () => {\n if (finalFlushOnce++ > 0) { return; }\n this._info('Final flush before exit.');\n this._flushReport(false, true, (err) => {\n if (err) {\n this._warn('Final report before exit failed', {\n error : err,\n unflushed_spans : this._spanRecords.length,\n buffer_youngest_micros : this._reportYoungestMicros,\n });\n }\n });\n };\n this._platform.onBeforeExit(finalFlush);\n }\n\n _startReportingLoop() {\n if (this._options.disabled) {\n this._info('Not starting reporting loop: instrumentation is disabled.');\n return;\n }\n if (this._options.disable_reporting_loop) {\n this._info('Not starting reporting loop: reporting loop is disabled.');\n return;\n }\n if (this._auth === null) {\n // Don't start the loop until the thrift data necessary to do the\n // report is set up.\n return;\n }\n if (this._reportingLoopActive) {\n this._info('Reporting loop already started!');\n return;\n }\n\n this._info('Starting reporting loop:', this._runtime);\n this._reportingLoopActive = true;\n\n // Stop the reporting loop so the Node.js process does not become a\n // zombie waiting for the timers.\n let stopReportingOnce = 0;\n let stopReporting = () => {\n if (stopReportingOnce++ > 0) { return; }\n this._stopReportingLoop();\n };\n this._platform.onBeforeExit(stopReporting);\n\n // Begin the asynchronous reporting loop\n let loop = () => {\n this._enqueueNextReport((err) => {\n if (this._reportingLoopActive) {\n loop();\n }\n });\n };\n\n const delay = Math.floor(Math.random() * this._options.delay_initial_report_millis);\n util.detachedTimeout(() => {\n loop();\n }, delay);\n }\n\n _stopReportingLoop() {\n this._debug('Stopping reporting loop');\n\n this._reportingLoopActive = false;\n clearTimeout(this._reportTimer);\n this._reportTimer = null;\n }\n\n _enqueueNextReport(done) {\n // If there's already a report request enqueued, ignore this new\n // request.\n if (this._reportTimer) {\n return;\n }\n\n // If the clock state is still being primed, potentially use the\n // shorted report interval.\n //\n // However, do not use the shorter interval in the case of an error.\n // That does not provide sufficient backoff.\n let reportInterval = this._options.max_reporting_interval_millis;\n if (this._reportErrorStreak === 0 &&\n this._useClockState &&\n !this._clockState.isReady()) {\n reportInterval = Math.min(constants.CLOCK_STATE_REFRESH_INTERVAL_MS, reportInterval);\n }\n\n // After 3 consecutive errors, expand the retry delay up to 8x the\n // normal interval, jitter the delay by +/- 25%, and be sure to back off\n // *at least* the standard reporting interval in the case of an error.\n let backOff = 1 + Math.min(7, Math.max(0, this._reportErrorStreak));\n let basis = backOff * reportInterval;\n let jitter = 1.0 + (Math.random() * 0.5 - 0.25);\n let delay = Math.floor(Math.max(0, jitter * basis));\n\n this._debug(`Delaying next flush for ${delay}ms`);\n this._reportTimer = util.detachedTimeout(() => {\n this._reportTimer = null;\n this._flushReport(false, false, done);\n }, delay);\n }\n\n /**\n * Internal worker for a flush of buffered data into a report.\n *\n * @param {bool} manual - this is a manually invoked flush request. Don't\n * override this call with a clock state syncing flush, for example.\n * @param {bool} detached - this is an \"at exit\" flush that should not block\n * the calling process in any manner. This is specifically called\n * \"detached\" due to the browser use case where the report is done,\n * not just asynchronously, but as a script request that continues\n * to run even if the page is navigated away from mid-request.\n * @param {function} done - standard callback function called on success\n * or error.\n */\n _flushReport(manual, detached, done) {\n done = done || function (err) {};\n\n let clockReady = this._clockState.isReady();\n let clockOffsetMicros = this._clockState.offsetMicros();\n\n // Diagnostic information on the clock correction\n this._debug('time correction state', {\n offset_micros : clockOffsetMicros,\n active_samples : this._clockState.activeSampleCount(),\n ready : clockReady,\n });\n\n let spanRecords = this._spanRecords;\n let counters = this._counters;\n let internalLogs = this._internalLogs;\n\n // If the clock is not ready, do an \"empty\" flush to build more clock\n // samples before the real data is reported.\n // A detached flush (i.e. one intended to fire at exit or other \"last\n // ditch effort\" event) should always use the real data.\n if (this._useClockState && !manual && !clockReady && !detached) {\n this._debug('Flushing empty report to prime clock state');\n spanRecords = [];\n counters = {};\n internalLogs = [];\n } else {\n // Early out if we can.\n if (this._buffersAreEmpty()) {\n this._debug('Skipping empty report');\n return done(null);\n }\n\n // Clear the object buffers as the data is now in the local\n // variables\n this._clearBuffers();\n this._debug(`Flushing report (${spanRecords.length} spans)`);\n }\n\n this._transport.ensureConnection(this._options);\n\n // Ensure the runtime GUID is set as it is possible buffer logs and\n // spans before the GUID is necessarily set.\n console.assert(this._runtimeGUID !== null, 'No runtime GUID for Tracer'); // eslint-disable-line no-console\n\n let timestampOffset = this._useClockState ? clockOffsetMicros : 0;\n let now = this._platform.nowMicros();\n let report = new ReportImp(this._runtime, this._reportYoungestMicros, now,\n spanRecords, internalLogs, counters, timestampOffset);\n\n this.emit('prereport', report);\n let originMicros = this._platform.nowMicros();\n\n if (this._options.meta_event_reporting && !this._first_report_has_run) {\n this._first_report_has_run = true;\n this.startSpan(constants.LS_META_TRACER_CREATE, {\n tags: {\n [constants.LS_META_EVENT_KEY]: true,\n [constants.LS_META_TRACER_GUID_KEY]: this._runtimeGUID,\n },\n }).finish();\n }\n\n this._transport.report(detached, this._auth, report, (err, res) => {\n let destinationMicros = this._platform.nowMicros();\n let reportWindowSeconds = (now - report.oldest_micros) / 1e6;\n\n if (err) {\n // How many errors in a row? Influences the report backoff.\n this._reportErrorStreak++;\n\n // On a failed report, re-enqueue the data that was going to be\n // sent.\n let errString;\n if (err.message) {\n errString = `${err.message}`;\n } else {\n errString = `${err}`;\n }\n this._warn(`Error in report: ${errString}`, {\n last_report_seconds_ago : reportWindowSeconds,\n });\n\n this._restoreRecords(\n report.getSpanRecords(),\n report.getInternalLogs(),\n report.getCounters());\n\n // Increment the counter *after* the counters are restored\n this._counters['reports.errors.send']++;\n\n this.emit('report_error', err, {\n error : err,\n streak : this._reportErrorStreak,\n detached : detached,\n });\n } else {\n if (this.verbosity() >= 4) {\n this._debug(`Report flushed for last ${reportWindowSeconds} seconds`, {\n spans_reported : report.getSpanRecords().length,\n });\n }\n\n // Update internal data after the successful report\n this._reportErrorStreak = 0;\n this._reportYoungestMicros = now;\n\n // Update the clock state if there's info from the report\n if (res) {\n if (res.timing && res.timing.receive_micros && res.timing.transmit_micros) {\n this._clockState.addSample(\n originMicros,\n res.timing.receive_micros,\n res.timing.transmit_micros,\n destinationMicros);\n } else {\n // The response does not have timing information. Disable\n // the clock state assuming there'll never be timing data\n // to use.\n this._useClockState = false;\n }\n\n if (res.errors && res.errors.length > 0) {\n this._warn('Errors in report', res.errors);\n }\n\n if (res.commandsList && res.commandsList.length > 0) {\n if (res.commandsList[0].devMode && this.options().disable_meta_event_reporting !== true) {\n this.options().meta_event_reporting = true;\n }\n }\n } else {\n this._useClockState = false;\n }\n\n this.emit('report', report, res);\n }\n return done(err);\n });\n }\n\n //-----------------------------------------------------------------------//\n // Stats and metrics\n //-----------------------------------------------------------------------//\n\n /**\n * Internal API that returns some internal metrics.\n */\n stats() {\n return {\n counters : this._counters,\n };\n }\n\n //-----------------------------------------------------------------------//\n // Internal logging & errors\n //-----------------------------------------------------------------------//\n // The rules for how internal logs are processed:\n //\n // * Internal logs that are included in the Collector report:\n // - Always send errors logs along with the reports\n // - Never include any other logs\n // * Internal logs that are echoed to the host application:\n // - See the README.md :)\n //\n _debug(msg, payload) {\n if (this.verbosity() < 4) {\n return;\n }\n this._options.logger('debug', msg, payload);\n }\n\n _info(msg, payload) {\n if (this.verbosity() < 3) {\n return;\n }\n this._options.logger('info', msg, payload);\n }\n\n _warn(msg, payload) {\n this._counters['internal.warnings']++;\n\n if (this.verbosity() < 3) {\n return;\n }\n this._options.logger('warn', msg, payload);\n }\n\n _error(msg, payload) {\n this._counters['internal.errors']++;\n\n // Internal errors are always reported to the collector\n let record = this.log()\n .level(constants.LOG_ERROR)\n .message(msg)\n .payload(payload)\n .record();\n this._pushInternalLog(record);\n\n // Internal errors are reported to the host console conditionally based\n // on the verbosity level.\n let verbosity = this.verbosity();\n if (verbosity === 0) {\n return;\n }\n\n // Error messages are throttled in verbosity === 1 mode\n const now = Date.now();\n if (verbosity === 1) {\n const nextVisible = this._lastVisibleErrorMillis + this._options.error_throttle_millis;\n if (now < nextVisible) {\n this._skippedVisibleErrors++;\n return;\n }\n if (this._skippedVisibleErrors > 0) {\n /* eslint-disable max-len */\n const s = `${this._skippedVisibleErrors} errors masked since last logged error. Increase 'verbosity' option to see all errors.`;\n /* eslint-enable max-len */\n this._options.logger('error', s, payload);\n }\n }\n\n this._options.logger('error', msg, payload);\n this._lastVisibleErrorMillis = now;\n this._skippedVisibleErrors = 0;\n }\n\n _printToConsole(level, msg, payload) {\n let method = 'log';\n let message = `[LightStep:INFO] ${msg}`;\n if (level === 'debug') {\n method = 'log';\n message = `[LightStep:DEBUG] ${msg}`;\n } else if (level === 'info') {\n method = 'log';\n message = `[LightStep:INFO] ${msg}`;\n } else if (level === 'warn') {\n method = 'warn';\n message = `[LightStep:WARN] ${msg}`;\n } else if (level === 'error') {\n method = 'error';\n message = `[LightStep:ERROR] ${msg}`;\n }\n\n // Internal option to silence intentional errors generated by the unit\n // tests.\n if (this._options.silent) {\n return;\n }\n\n if (payload !== undefined) {\n console[method](message, payload); // eslint-disable-line no-console\n } else {\n console[method](message); // eslint-disable-line no-console\n }\n }\n\n _pushInternalLog(record) {\n if (!record) {\n return;\n }\n if (this._internalLogs.length >= MAX_INTERNAL_LOGS) {\n record.message = `MAX_INTERNAL_LOGS limit hit. Last error: ${record.message}`;\n this._internalLogs[this._internalLogs.length - 1] = record;\n } else {\n this._internalLogs.push(record);\n }\n }\n}\n","import _each from '../../_each';\n\n// How many updates before a sample is considered old. This happens to\n// be one less than the number of samples in our buffer but that's\n// somewhat arbitrary.\nconst kMaxOffsetAge = 7;\n\nconst kStoredSamplesTTLMicros = 60 * 60 * 1000 * 1000; // 1 hour\n\nclass ClockState {\n\n constructor(opts) {\n this._nowMicros = opts.nowMicros;\n this._localStoreGet = opts.localStoreGet;\n this._localStoreSet = opts.localStoreSet;\n\n // The last eight samples, computed from timing information in\n // RPCs.\n this._samples = [];\n this._currentOffsetMicros = 0;\n\n // How many updates since we've updated currentOffsetMicros.\n this._currentOffsetAge = kMaxOffsetAge + 1;\n\n // Try to load samples from the local store.\n // Only use the data if it's recent.\n let storedData = this._localStoreGet();\n if (storedData &&\n storedData.timestamp_micros &&\n storedData.timestamp_micros > this._nowMicros() - kStoredSamplesTTLMicros) {\n // Make sure there are no more than (kMaxOffsetAge+1) elements\n this._samples = storedData.samples.slice(-(kMaxOffsetAge + 1));\n }\n // Update the current offset based on these data.\n this.update();\n }\n\n // Add a new timing sample and update the offset.\n addSample(originMicros,\n receiveMicros,\n transmitMicros,\n destinationMicros\n ) {\n let latestDelayMicros = Number.MAX_VALUE;\n let latestOffsetMicros = 0;\n // Ensure that all of the data are valid before using them. If\n // not, we'll push a {0, MAX} record into the queue.\n if (originMicros > 0 && receiveMicros > 0 &&\n transmitMicros > 0 && destinationMicros > 0) {\n latestDelayMicros = (destinationMicros - originMicros) -\n (transmitMicros - receiveMicros);\n latestOffsetMicros = ((receiveMicros - originMicros) +\n (transmitMicros - destinationMicros)) / 2;\n }\n\n // Discard the oldest sample and push the new one.\n if (this._samples.length === kMaxOffsetAge + 1) {\n this._samples.shift();\n }\n this._samples.push({\n delayMicros : latestDelayMicros,\n offsetMicros : latestOffsetMicros,\n });\n this._currentOffsetAge++;\n\n // Update the local store with this new sample.\n this._localStoreSet({\n timestamp_micros : this._nowMicros(),\n samples : this._samples,\n });\n this.update();\n }\n\n // Update the time offset based on the current samples.\n update() {\n // This is simplified version of the clock filtering in Simple\n // NTP. It ignores precision and dispersion (frequency error). In\n // brief, it keeps the 8 (kMaxOffsetAge+1) most recent\n // delay-offset pairs, and considers the offset with the smallest\n // delay to be the best one. However, it only uses this new offset\n // if the change (relative to the last offset) is small compared\n // to the estimated error.\n //\n // See:\n // https://tools.ietf.org/html/rfc5905#appendix-A.5.2\n // http://books.google.com/books?id=pdTcJBfnbq8C\n // esp. section 3.5\n // http://www.eecis.udel.edu/~mills/ntp/html/filter.html\n // http://www.eecis.udel.edu/~mills/database/brief/algor/algor.pdf\n // http://www.eecis.udel.edu/~mills/ntp/html/stats.html\n\n // TODO: Consider huff-n'-puff if the delays are highly asymmetric.\n // http://www.eecis.udel.edu/~mills/ntp/html/huffpuff.html\n\n // Find the sample with the smallest delay; the corresponding\n // offset is the \"best\" one.\n let minDelayMicros = Number.MAX_VALUE;\n let bestOffsetMicros = 0;\n _each(this._samples, (sample) => {\n if (sample.delayMicros < minDelayMicros) {\n minDelayMicros = sample.delayMicros;\n bestOffsetMicros = sample.offsetMicros;\n }\n });\n\n // No update.\n if (bestOffsetMicros === this._currentOffsetMicros) {\n return;\n }\n\n // Now compute the jitter, i.e. the error relative to the new\n // offset were we to use it.\n let jitter = 0;\n _each(this._samples, (sample) => {\n jitter += Math.pow(bestOffsetMicros - sample.offsetMicros, 2);\n });\n jitter = Math.sqrt(jitter / this._samples.length);\n\n // Ignore spikes: only use the new offset if the change is not too\n // large... unless the current offset is too old. The \"too old\"\n // condition is also triggered when update() is called from the\n // constructor.\n const kSGATE = 3; // See RFC 5905\n if (this._currentOffsetAge > kMaxOffsetAge ||\n Math.abs(this._currentOffsetMicros - bestOffsetMicros) < kSGATE * jitter) {\n this._currentOffsetMicros = bestOffsetMicros;\n this._currentOffsetAge = 0;\n }\n }\n\n // Returns the difference in microseconds between the server's clock\n // and our clock. This should be added to any local timestamps before\n // sending them to the server. Note that a negative offset means that\n // the local clock is ahead of the server's.\n offsetMicros() {\n return Math.floor(this._currentOffsetMicros);\n }\n\n // Returns true if we've performed enough measurements to be confident\n // in the current offset.\n isReady() {\n return this._samples.length > 3;\n }\n\n activeSampleCount() {\n return this._samples.length;\n }\n}\n\nmodule.exports = ClockState;\n","class Util {\n // Similar to a regular setTimeout() call, but dereferences the timer so the\n // program execution will not be held up by this timer.\n detachedTimeout(callback, delay) {\n let timer = setTimeout(callback, delay);\n if (timer.unref) {\n timer.unref();\n }\n return timer;\n }\n\n shouldSendMetaSpan(opts, tags) {\n let shouldSendSpan = opts.meta_event_reporting === true && tags['lightstep.meta_event'] !== true;\n return shouldSendSpan;\n }\n}\n\nexport default new Util();\n","import Tracer from './imp/tracer_imp';\nimport { Platform } from './platform_abstraction_layer';\n\nconst library = {\n Tracer : Tracer,\n};\n\nPlatform.initLibrary(library);\nmodule.exports = library;\n","/* global PLATFORM_BROWSER */\n\n// Hide the differences in how the Thrift compiler generates code for the\n// different platforms as well as expose a Platform class to abstract a few\n// general differences in the platforms.\nif ((typeof PLATFORM_BROWSER !== 'undefined') && PLATFORM_BROWSER) {\n module.exports = {\n Platform : require('./imp/platform/browser/platform_browser.js'),\n ThriftTransport : require('./imp/platform/browser/transport_httpthrift.js'),\n ProtoTransport : require('./imp/platform/browser/transport_httpproto.js'),\n thrift : require('./imp/platform/browser/thrift.js'),\n crouton_thrift : require('./imp/platform/browser/crouton_thrift.js'),\n proto : require('./imp/generated_proto/collector_pb.js'),\n };\n} else {\n module.exports = {\n Platform : require('./imp/platform/node/platform_node.js'),\n ThriftTransport : require('./imp/platform/node/transport_httpthrift.js'),\n ProtoTransport : require('./imp/platform/node/transport_httpproto.js'),\n thrift : require('thrift'),\n crouton_thrift : require('./imp/platform/node/crouton_thrift.js'),\n proto : require('./imp/generated_proto/collector_pb.js'),\n };\n}\n","import _each from '../_each';\n\nclass InstrumentPageLoad {\n constructor() {\n this._inited = false;\n this._span = null;\n }\n\n name() {\n return 'instrument_page_load';\n }\n\n addOptions(tracerImp) {\n tracerImp.addOption('instrument_page_load', { type : 'bool', defaultValue : false });\n }\n\n start(tracerImp) {\n if (this._inited) {\n return;\n }\n this._inited = true;\n\n if (typeof window !== 'object' || typeof document !== 'object') {\n return;\n }\n\n const currentOptions = tracerImp.options();\n if (currentOptions.instrument_page_load) {\n this._ensureSpanStarted(tracerImp);\n document.addEventListener('readystatechange', this._handleReadyStateChange.bind(this));\n }\n }\n\n stop() {\n }\n\n _ensureSpanStarted(tracerImp) {\n if (!this._span) {\n this._span = tracerImp.startSpan('document/load');\n tracerImp.addActiveRootSpan(this._span);\n }\n }\n\n _handleReadyStateChange() {\n if (!this._span) {\n return;\n }\n\n let span = this._span;\n let state = document.readyState;\n let payload = undefined;\n if (state === 'complete') {\n payload = {};\n if (window.performance && performance.timing) {\n this._addTimingSpans(span, performance.timing);\n payload['window.performance.timing'] = performance.timing;\n }\n }\n\n span.logEvent(`document.readystatechange ${state}`, payload);\n\n if (state === 'complete') {\n if (span.tracer()) {\n span.tracer().removeActiveRootSpan(span.tracer());\n }\n span.finish();\n }\n }\n\n _copyNavigatorProperties(nav) {\n let dst = {};\n for (let key in nav) { // eslint-disable-line guard-for-in\n try {\n let value = nav[key];\n switch (key) {\n\n case 'plugins': {\n let p = [];\n for (let i = 0; i < value.length; i++) {\n let item = value.item(i);\n p.push({\n name : item.name,\n description : item.description,\n });\n }\n dst[key] = p;\n } break;\n\n case 'mimeTypes': {\n let p = [];\n for (let i = 0; i < value.length; i++) {\n let item = value.item(i);\n p.push({\n type : item.type,\n description : item.description,\n suffixes : item.suffixes,\n });\n }\n dst[key] = p;\n } break;\n\n default:\n dst[key] = value;\n break;\n }\n } catch (e) {\n // Skip, just in case\n }\n }\n return dst;\n }\n\n // Retroactively create the appropriate spans and logs\n _addTimingSpans(parentImp, timing) {\n // NOTE: this currently relies on LightStep-specific APIs\n if (!parentImp) {\n return;\n }\n\n parentImp.setTag('user_agent', navigator.userAgent);\n\n _each(timing, (value, key) => {\n // e.g. secureConnectionStart is not always set\n if (typeof value !== 'number' || value === 0) {\n return;\n }\n\n let payload = undefined;\n\n if (key === 'navigationStart' && typeof navigator === 'object') {\n payload = {\n navigator : this._copyNavigatorProperties(navigator),\n };\n }\n parentImp.log({\n message : `document ${key}`,\n payload : payload,\n }, value);\n });\n\n parentImp.setBeginMicros(timing.navigationStart * 1000.0);\n\n parentImp.tracer().startSpan('document/time_to_first_byte', { childOf : parentImp })\n .setBeginMicros(timing.requestStart * 1000.0)\n .setEndMicros(timing.responseStart * 1000.0)\n .finish();\n parentImp.tracer()\n .startSpan('document/response_transfer', { childOf : parentImp })\n .setBeginMicros(timing.responseStart * 1000.0)\n .setEndMicros(timing.responseEnd * 1000.0)\n .finish();\n parentImp.tracer().startSpan('document/dom_load', { childOf : parentImp })\n .setBeginMicros(timing.domLoading * 1000.0)\n .setEndMicros(timing.domInteractive * 1000.0)\n .finish();\n }\n}\n\nmodule.exports = new InstrumentPageLoad();\n","import * as opentracing from 'opentracing';\n\n// Capture the proxied values on script load (i.e. ASAP) in case there are\n// multiple layers of instrumentation.\nlet proxiedFetch;\nif (typeof window === 'object' && typeof window.fetch !== 'undefined') {\n proxiedFetch = window.fetch;\n}\n\nfunction getCookies() {\n if (typeof document === 'undefined' || !document.cookie) {\n return null;\n }\n let cookies = document.cookie.split(';');\n let data = {};\n let count = 0;\n for (let i = 0; i < cookies.length; i++) {\n let parts = cookies[i].split('=', 2);\n if (parts.length === 2) {\n let key = parts[0].replace(/^\\s+/, '').replace(/\\s+$/, '');\n data[key] = decodeURIComponent(parts[1]);\n try {\n data[key] = JSON.parse(data[key]);\n } catch (_ignored) { /* Ignored */ }\n count++;\n }\n }\n if (count > 0) {\n return data;\n }\n return null;\n}\n\n// Normalize the getAllResponseHeaders output\nfunction getResponseHeaders(response) {\n const result = {};\n for (let pair of response.headers.entries()) {\n result[pair[0]] = pair[1];\n }\n return result;\n}\n\n// Automatically create spans for all requests made via window.fetch.\n//\n// NOTE: this code currently works only with a single Tracer.\n//\nclass InstrumentFetch {\n constructor() {\n this._enabled = this._isValidContext();\n this._proxyInited = false;\n this._internalExclusions = [];\n this._tracer = null;\n this._handleOptions = this._handleOptions.bind(this);\n\n if (!this._enabled) {\n return;\n }\n }\n\n name() {\n return 'instrument_fetch';\n }\n\n addOptions(tracerImp) {\n tracerImp.addOption('fetch_instrumentation', { type : 'bool', defaultValue : false });\n tracerImp.addOption('fetch_url_inclusion_patterns', { type : 'array', defaultValue : [/.*/] });\n tracerImp.addOption('fetch_url_exclusion_patterns', { type : 'array', defaultValue : [] });\n tracerImp.addOption('include_cookies', { type : 'bool', defaultValue : true });\n }\n\n start(tracerImp) {\n if (!this._enabled) {\n return;\n }\n this._tracer = tracerImp;\n\n let currentOptions = tracerImp.options();\n this._addServiceHostToExclusions(currentOptions);\n this._handleOptions({}, currentOptions);\n tracerImp.on('options', this._handleOptions);\n }\n\n stop() {\n if (!this._enabled) {\n return;\n }\n window.fetch = proxiedFetch;\n }\n\n /**\n * Respond to options changes on the Tracer.\n *\n * Note that `modified` is the options that have changed in this call,\n * along with their previous and new values. `current` is the full set of\n * current options *including* the newly modified values.\n */\n _handleOptions(modified, current) {\n // Automatically add the service host itself to the list of exclusions\n // to avoid reporting on the reports themselves\n let serviceHost = modified.collector_host;\n if (serviceHost) {\n this._addServiceHostToExclusions(current);\n }\n\n // Set up the proxied fetch calls unless disabled\n if (!this._proxyInited && current.fetch_instrumentation) {\n this._proxyInited = true;\n window.fetch = this._instrumentFetch();\n }\n }\n\n /**\n * Ensure that the reports to the collector don't get instrumented as well,\n * as that recursive instrumentation is more confusing than valuable!\n */\n _addServiceHostToExclusions(opts) {\n if (opts.collector_host.length === 0) {\n return;\n }\n\n // http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex\n function escapeRegExp(str) {\n return (`${str}`).replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n }\n\n // Check against the hostname without the port as well as the canonicalized\n // URL may drop the standard port.\n let host = escapeRegExp(opts.collector_host);\n let port = escapeRegExp(opts.collector_port);\n let set = [new RegExp(`^https?://${host}:${port}`)];\n if (port === '80') {\n set.push(new RegExp(`^http://${host}`));\n } else if (port === '443') {\n set.push(new RegExp(`^https://${host}`));\n }\n this._internalExclusions = set;\n }\n\n /**\n * Check preconditions for the auto-instrumentation of fetch to work properly.\n * There are a lot of potential JavaScript platforms.\n */\n _isValidContext() {\n if (typeof window === 'undefined') {\n return false;\n }\n if (!window.fetch) {\n return false;\n }\n return true;\n }\n\n _instrumentFetch() {\n let self = this;\n let tracer = this._tracer;\n\n return function (request, options = {}) {\n const url = typeof request === 'string' ? request : request.url;\n const opts = tracer.options();\n\n if (!self._shouldTrace(tracer, url)) {\n return proxiedFetch.apply(null, arguments);\n }\n\n let span = tracer.startSpan('fetch');\n tracer.addActiveRootSpan(span);\n\n let tags = {\n method : options && options.method ? options.method : 'GET',\n url : url,\n };\n if (url) {\n tags.url_pathname = url.split('?')[0];\n }\n\n const fetchPayload = Object.assign({}, tags);\n if (opts.include_cookies) {\n fetchPayload.cookies = getCookies();\n }\n\n options.headers = new Headers(options.headers);\n // Add Open-Tracing headers\n const headersCarrier = {};\n tracer.inject(span.context(), opentracing.FORMAT_HTTP_HEADERS, headersCarrier);\n const keys = Object.keys(headersCarrier);\n keys.forEach((key) => {\n options.headers.append(key, headersCarrier[key]);\n });\n span.log({\n event : 'sending',\n method : options.method || 'GET',\n url : url,\n openPayload : fetchPayload,\n });\n span.addTags(tags);\n\n return proxiedFetch(request, options).then((response) => {\n if (!response.ok) {\n span.addTags({ error : true });\n }\n span.log({\n method : options.method || 'GET',\n headers : getResponseHeaders(response),\n status : response.status,\n statusText : response.statusText,\n responseType : response.type,\n url : response.url,\n });\n tracer.removeActiveRootSpan(span);\n span.finish();\n return response;\n }).catch((e) => {\n span.addTags({ error : true });\n tracer.removeActiveRootSpan(span);\n span.log({\n event : 'error',\n error : e,\n });\n span.finish();\n throw e;\n });\n };\n }\n\n _shouldTrace(tracer, url) {\n // This shouldn't be possible, but let's be paranoid\n if (!tracer) {\n return false;\n }\n\n let opts = tracer.options();\n if (opts.disabled) {\n return false;\n }\n if (!url) {\n return false;\n }\n for (let key in this._internalExclusions) {\n if (!this._internalExclusions.hasOwnProperty(key)) {\n continue;\n }\n const ex = this._internalExclusions[key];\n if (ex.test(url)) {\n return false;\n }\n }\n let include = false;\n for (let key in opts.fetch_url_inclusion_patterns) {\n if (!opts.fetch_url_inclusion_patterns.hasOwnProperty(key)) {\n continue;\n }\n const inc = opts.fetch_url_inclusion_patterns[key];\n if (inc.test(url)) {\n include = true;\n break;\n }\n }\n if (!include) {\n return false;\n }\n for (let key in opts.fetch_url_exclusion_patterns) {\n if (!opts.fetch_url_exclusion_patterns.hasOwnProperty(key)) {\n continue;\n }\n const ex = opts.fetch_url_exclusion_patterns[key];\n if (ex.test(url)) {\n return false;\n }\n }\n return true;\n }\n}\n\nmodule.exports = new InstrumentFetch();\n","import _each from '../_each';\nimport * as opentracing from 'opentracing';\n\n// Capture the proxied values on script load (i.e. ASAP) in case there are\n// multiple layers of instrumentation.\nlet proxied = {};\nif (typeof window === 'object' && typeof window.XMLHttpRequest !== 'undefined') {\n proxied = {\n XMLHttpRequest : XMLHttpRequest,\n open : XMLHttpRequest.prototype.open,\n send : XMLHttpRequest.prototype.send,\n setRequestHeader : XMLHttpRequest.prototype.setRequestHeader,\n };\n}\n\nfunction getCookies() {\n if (typeof document === 'undefined' || !document.cookie) {\n return null;\n }\n let cookies = document.cookie.split(';');\n let data = {};\n let count = 0;\n for (let i = 0; i < cookies.length; i++) {\n let parts = cookies[i].split('=', 2);\n if (parts.length === 2) {\n let key = parts[0].replace(/^\\s+/, '').replace(/\\s+$/, '');\n data[key] = decodeURIComponent(parts[1]);\n try {\n data[key] = JSON.parse(data[key]);\n } catch (_ignored) { /* Ignored */ }\n count++;\n }\n }\n if (count > 0) {\n return data;\n }\n return null;\n}\n\n// Normalize the getAllResponseHeaders output\nfunction getResponseHeaders(xhr) {\n let raw = xhr.getAllResponseHeaders();\n let parts = raw.replace(/\\s+$/, '').split(/\\n/);\n for (let i = 0; i < parts.length; i++) {\n parts[i] = parts[i].replace(/\\r/g, '').replace(/^\\s+/, '').replace(/\\s+$/, '');\n }\n return parts;\n}\n\n// Automatically create spans for all XMLHttpRequest objects.\n//\n// NOTE: this code currently works only with a single Tracer.\n//\nclass InstrumentXHR {\n constructor() {\n this._enabled = this._isValidContext();\n this._proxyInited = false;\n this._internalExclusions = [];\n this._tracer = null;\n this._handleOptions = this._handleOptions.bind(this);\n\n if (!this._enabled) {\n return;\n }\n }\n\n name() {\n return 'instrument_xhr';\n }\n\n addOptions(tracerImp) {\n tracerImp.addOption('xhr_instrumentation', { type : 'bool', defaultValue : false });\n tracerImp.addOption('xhr_url_inclusion_patterns', { type : 'array', defaultValue : [/.*/] });\n tracerImp.addOption('xhr_url_exclusion_patterns', { type : 'array', defaultValue : [] });\n tracerImp.addOption('include_cookies', { type : 'bool', defaultValue : true });\n }\n\n start(tracerImp) {\n if (!this._enabled) {\n return;\n }\n this._tracer = tracerImp;\n\n let currentOptions = tracerImp.options();\n this._addServiceHostToExclusions(currentOptions);\n this._handleOptions({}, currentOptions);\n tracerImp.on('options', this._handleOptions);\n }\n\n stop() {\n if (!this._enabled) {\n return;\n }\n let proto = proxied.XMLHttpRequest.prototype;\n proto.open = proxied.open;\n proto.send = proxied.send;\n }\n\n /**\n * Respond to options changes on the Tracer.\n *\n * Note that `modified` is the options that have changed in this call,\n * along with their previous and new values. `current` is the full set of\n * current options *including* the newly modified values.\n */\n _handleOptions(modified, current) {\n // Automatically add the service host itself to the list of exclusions\n // to avoid reporting on the reports themselves\n let serviceHost = modified.collector_host;\n if (serviceHost) {\n this._addServiceHostToExclusions(current);\n }\n\n // Set up the proxied XHR calls unless disabled\n if (!this._proxyInited && current.xhr_instrumentation) {\n this._proxyInited = true;\n let proto = proxied.XMLHttpRequest.prototype;\n proto.setRequestHeader = this._instrumentSetRequestHeader();\n proto.open = this._instrumentOpen();\n proto.send = this._instrumentSend();\n }\n }\n\n /**\n * Ensure that the reports to the collector don't get instrumented as well,\n * as that recursive instrumentation is more confusing than valuable!\n */\n _addServiceHostToExclusions(opts) {\n if (opts.collector_host.length === 0) {\n return;\n }\n\n // http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex\n function escapeRegExp(str) {\n return (`${str}`).replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n }\n\n // Check against the hostname without the port as well as the canonicalized\n // URL may drop the standard port.\n let host = escapeRegExp(opts.collector_host);\n let port = escapeRegExp(opts.collector_port);\n let set = [new RegExp(`^https?://${host}:${port}`)];\n if (port === '80') {\n set.push(new RegExp(`^http://${host}`));\n } else if (port === '443') {\n set.push(new RegExp(`^https://${host}`));\n }\n this._internalExclusions = set;\n }\n\n /**\n * Check preconditions for the auto-instrumentation of XHRs to work properly.\n * There are a lot of potential JavaScript platforms.\n */\n _isValidContext() {\n if (typeof window === 'undefined') {\n return false;\n }\n if (!window.XMLHttpRequest) {\n return false;\n }\n if (!window.XMLHttpRequest.prototype) {\n return false;\n }\n return true;\n }\n\n _instrumentSetRequestHeader() {\n return function (header, value) {\n this.__requestHeaders = this.__requestHeaders || {};\n this.__requestHeaders[header] = value;\n return proxied.setRequestHeader.apply(this, arguments);\n };\n }\n\n _instrumentOpen() {\n let self = this;\n let tracer = this._tracer;\n\n return function (method, url, asyncArg, user, password) {\n if (!self._shouldTrace(tracer, this, url)) {\n return proxied.open.apply(this, arguments);\n }\n const opts = tracer.options();\n\n let span = tracer.startSpan('XMLHttpRequest');\n tracer.addActiveRootSpan(span);\n this.__tracer_span = span;\n this.__tracer_url = url;\n\n let tags = {\n method : method,\n url : url,\n async : asyncArg,\n user : user,\n };\n if (url) {\n tags.url_pathname = url.split('?')[0];\n }\n\n let openPayload = {};\n _each(tags, (val, key) => {\n openPayload[key] = val;\n });\n if (opts.include_cookies) {\n openPayload.cookies = getCookies();\n }\n\n // Note: async defaults to true\n let async = (asyncArg === undefined ? true : asyncArg);\n if (async) {\n this.addEventListener('readystatechange', function () {\n if (this.readyState === 0) {\n span.log({\n readyState : 0,\n event : 'unsent',\n });\n } else if (this.readyState === 1) {\n span.log({\n readyState : 1,\n event : 'sending',\n });\n } else if (this.readyState === 2) {\n span.log({\n readyState : 2,\n event : 'headers received',\n method : method,\n url : url,\n openPayload : openPayload,\n headers : getResponseHeaders(this),\n });\n span.addTags(tags);\n } else if (this.readyState === 3) {\n span.log({\n readyState : 3,\n event : 'loading',\n });\n } else if (this.readyState === 4) {\n let responseType = this.responseType;\n span.log({\n readyState : 4,\n url : url,\n method : method,\n headers : getResponseHeaders(this),\n status : this.status,\n statusText : this.statusText,\n responseType : responseType,\n });\n tracer.removeActiveRootSpan(span);\n span.finish();\n } else {\n span.log({\n readyState : this.readyState,\n });\n }\n });\n }\n\n let result = proxied.open.apply(this, arguments);\n if (!async) {\n tracer.removeActiveRootSpan(span);\n span.finish();\n }\n return result;\n };\n }\n\n _instrumentSend() {\n let self = this;\n let tracer = this._tracer;\n return function () {\n if (!self._shouldTrace(tracer, this, this.__tracer_url)) {\n return proxied.send.apply(this, arguments);\n }\n\n let span = this.__tracer_span;\n if (!span) {\n return proxied.send.apply(this, arguments);\n }\n\n let data = Array.prototype.slice.call(arguments);\n let len = undefined;\n if (data.length === 1) {\n if (data[0] && data[0].length) {\n len = data[0].length;\n }\n try {\n data = JSON.parse(data[0]);\n } catch (e) {\n // Ignore the error\n }\n }\n let lenStr = (len === undefined) ? '' : `, data length=${len}`;\n span.log({\n event : 'send',\n data_length : lenStr,\n });\n\n // Add Open-Tracing headers\n const headersCarrier = {};\n tracer.inject(span.context(), opentracing.FORMAT_HTTP_HEADERS, headersCarrier);\n const keys = Object.keys(headersCarrier);\n keys.forEach((key) => {\n proxied.setRequestHeader.call(this, key, headersCarrier[key]);\n });\n\n return proxied.send.apply(this, arguments);\n };\n }\n\n _shouldTrace(tracer, xhr, url) {\n // This shouldn't be possible, but let's be paranoid\n if (!tracer) {\n return false;\n }\n\n let opts = tracer.options();\n if (opts.disabled) {\n return false;\n }\n if (!url) {\n return false;\n }\n for (let key in this._internalExclusions) {\n if (!this._internalExclusions.hasOwnProperty(key)) {\n continue;\n }\n const ex = this._internalExclusions[key];\n if (ex.test(url)) {\n return false;\n }\n }\n let include = false;\n for (let key in opts.xhr_url_inclusion_patterns) {\n if (!opts.xhr_url_inclusion_patterns.hasOwnProperty(key)) {\n continue;\n }\n const inc = opts.xhr_url_inclusion_patterns[key];\n if (inc.test(url)) {\n include = true;\n break;\n }\n }\n if (!include) {\n return false;\n }\n for (let key in opts.xhr_url_exclusion_patterns) {\n if (!opts.xhr_url_exclusion_patterns.hasOwnProperty(key)) {\n continue;\n }\n const ex = opts.xhr_url_exclusion_patterns[key];\n if (ex.test(url)) {\n return false;\n }\n }\n return true;\n }\n}\n\nmodule.exports = new InstrumentXHR();\n","const constants = require('../constants');\n\nclass LogToConsole {\n constructor() {\n this._enabled = false;\n this._tracer = null;\n this._optionsCb = this._handleOptions.bind(this);\n this._logAddedCb = this._handleLogAdded.bind(this);\n }\n\n name() {\n return 'log_to_console';\n }\n\n addOptions(tracerImp) {\n tracerImp.addOption('log_to_console', {\n type : 'bool',\n defaultValue : false,\n });\n tracerImp.on('options', this._optionsCb);\n }\n\n start(tracer, tracerImp) {\n this._tracer = tracer;\n }\n\n stop() {\n this._tracer.removeListener('options', this._optionsCb);\n }\n\n _handleOptions(modified, current, tracerImp) {\n let enabled = current.log_to_console;\n if (this._enabled === enabled) {\n return;\n }\n this._enabled = enabled;\n if (this._enabled) {\n tracerImp.on('log_added', this._logAddedCb);\n } else {\n tracerImp.removeListener('log_added', this._logAddedCb);\n }\n }\n\n _handleLogAdded(record) {\n let level = constants.LOG_STRING_TO_LEVEL[record.level];\n let message = record.message;\n\n // Ignore records without a message (e.g. a stable_name log record)\n if (!message) {\n return;\n }\n\n let payload = record.payload_json;\n if (payload) {\n try {\n payload = JSON.parse(payload);\n } catch (_ignored) { /* ignored */ }\n }\n\n switch (level) {\n case constants.LOG_ERROR:\n case constants.LOG_FATAL:\n if (payload !== undefined) {\n console.error(message, payload); // eslint-disable-line no-console\n } else {\n console.error(message); // eslint-disable-line no-console\n }\n break;\n case constants.LOG_WARN:\n if (payload !== undefined) {\n console.warn(message, payload); // eslint-disable-line no-console\n } else {\n console.warn(message); // eslint-disable-line no-console\n }\n break;\n case constants.LOG_INFO:\n default:\n if (payload !== undefined) {\n console.log(message, payload); // eslint-disable-line no-console\n } else {\n console.log(message); // eslint-disable-line no-console\n }\n break;\n }\n }\n}\n\nmodule.exports = new LogToConsole();\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://lightstep/webpack/universalModuleDefinition","webpack://lightstep/webpack/bootstrap","webpack://lightstep/./node_modules/base64-js/index.js","webpack://lightstep/./node_modules/buffer/index.js","webpack://lightstep/./node_modules/eventemitter3/index.js","webpack://lightstep/./node_modules/google-protobuf/google-protobuf.js","webpack://lightstep/./node_modules/google-protobuf/google/protobuf/descriptor_pb.js","webpack://lightstep/./node_modules/google-protobuf/google/protobuf/timestamp_pb.js","webpack://lightstep/./node_modules/hex2dec/index.js","webpack://lightstep/./node_modules/ieee754/index.js","webpack://lightstep/./node_modules/isarray/index.js","webpack://lightstep/./node_modules/opentracing/lib/binary_carrier.js","webpack://lightstep/./node_modules/opentracing/lib/constants.js","webpack://lightstep/./node_modules/opentracing/lib/ext/tags.js","webpack://lightstep/./node_modules/opentracing/lib/functions.js","webpack://lightstep/./node_modules/opentracing/lib/global_tracer.js","webpack://lightstep/./node_modules/opentracing/lib/index.js","webpack://lightstep/./node_modules/opentracing/lib/mock_tracer/index.js","webpack://lightstep/./node_modules/opentracing/lib/mock_tracer/mock_context.js","webpack://lightstep/./node_modules/opentracing/lib/mock_tracer/mock_report.js","webpack://lightstep/./node_modules/opentracing/lib/mock_tracer/mock_span.js","webpack://lightstep/./node_modules/opentracing/lib/mock_tracer/mock_tracer.js","webpack://lightstep/./node_modules/opentracing/lib/noop.js","webpack://lightstep/./node_modules/opentracing/lib/reference.js","webpack://lightstep/./node_modules/opentracing/lib/span.js","webpack://lightstep/./node_modules/opentracing/lib/span_context.js","webpack://lightstep/./node_modules/opentracing/lib/tracer.js","webpack://lightstep/(webpack)/buildin/global.js","webpack://lightstep/./src/_each.js","webpack://lightstep/./src/constants.js","webpack://lightstep/./src/imp/auth_imp.js","webpack://lightstep/./src/imp/coerce.js","webpack://lightstep/./src/imp/generated_proto/collector_pb.js","webpack://lightstep/./src/imp/generated_proto/google/api/annotations_pb.js","webpack://lightstep/./src/imp/generated_proto/google/api/http_pb.js","webpack://lightstep/./src/imp/globals.js","webpack://lightstep/./src/imp/log_builder.js","webpack://lightstep/./src/imp/log_record_imp.js","webpack://lightstep/./src/imp/platform/browser/crouton_thrift.js","webpack://lightstep/./src/imp/platform/browser/generated/thrift_all.js","webpack://lightstep/./src/imp/platform/browser/options_parser.js","webpack://lightstep/./src/imp/platform/browser/platform_browser.js","webpack://lightstep/./src/imp/platform/browser/thrift.js","webpack://lightstep/./src/imp/platform/browser/transport_httpproto.js","webpack://lightstep/./src/imp/platform/browser/transport_httpthrift.js","webpack://lightstep/./src/imp/platform/browser/util.js","webpack://lightstep/./src/imp/propagator.js","webpack://lightstep/./src/imp/propagator_b3.js","webpack://lightstep/./src/imp/propagator_ls.js","webpack://lightstep/./src/imp/report_imp.js","webpack://lightstep/./src/imp/runtime_imp.js","webpack://lightstep/./src/imp/span_context_imp.js","webpack://lightstep/./src/imp/span_imp.js","webpack://lightstep/./src/imp/tracer_imp.js","webpack://lightstep/./src/imp/util/clock_state.js","webpack://lightstep/./src/imp/util/util.js","webpack://lightstep/./src/lib.js","webpack://lightstep/./src/platform_abstraction_layer.js","webpack://lightstep/./src/plugins/instrument_document_load.js","webpack://lightstep/./src/plugins/instrument_fetch.js","webpack://lightstep/./src/plugins/instrument_xhr.js","webpack://lightstep/./src/plugins/log_to_console.js"],"names":["_each","obj","cb","key","hasOwnProperty","call","LOG_INFO","LOG_WARN","LOG_ERROR","LOG_FATAL","LOG_LEVEL_TO_STRING","LOG_STRING_TO_LEVEL","I","W","E","F","CLOCK_STATE_REFRESH_INTERVAL_MS","LIGHTSTEP_APP_URL_PREFIX","JOIN_ID_PREFIX","LS_META_EVENT_KEY","LS_META_PROPAGATION_KEY","LS_META_TRACE_KEY","LS_META_SPAN_KEY","LS_META_TRACER_GUID_KEY","LS_META_EXTRACT","LS_META_INJECT","LS_META_SP_START","LS_META_SP_FINISH","LS_META_TRACER_CREATE","FORMAT_B3","proto","require","AuthImp","accessToken","_accessToken","length","Auth","access_token","authProto","setAccessToken","toString","toNumber","toBoolean","value","Number","jspb","goog","global","Function","google_protobuf_timestamp_pb","google_api_annotations_pb","exportSymbol","lightstep","collector","SpanContext","opt_data","Message","initialize","inherits","DEBUG","COMPILED","displayName","GENERATE_TO_OBJECT","prototype","toObject","opt_includeInstance","includeInstance","msg","f","traceId","getFieldWithDefault","spanId","baggageMap","getBaggageMap","undefined","$jspbMessageInstance","deserializeBinary","bytes","reader","BinaryReader","deserializeBinaryFromReader","nextField","isEndGroup","field","getFieldNumber","readUint64String","setTraceId","setSpanId","readMessage","message","Map","readString","skipField","serializeBinary","writer","BinaryWriter","serializeBinaryToWriter","getResultBuffer","getTraceId","parseInt","writeUint64String","getSpanId","getLength","writeString","setProto3StringIntField","opt_noLazyCreate","getMapField","clearBaggageMap","clear","KeyValue","oneofGroups_","ValueCase","VALUE_NOT_SET","STRING_VALUE","INT_VALUE","DOUBLE_VALUE","BOOL_VALUE","JSON_VALUE","getValueCase","computeOneofCase","stringValue","intValue","doubleValue","boolValue","jsonValue","setKey","setStringValue","readInt64String","setIntValue","readDouble","setDoubleValue","readBool","setBoolValue","setJsonValue","getKey","getField","writeInt64String","writeDouble","writeBool","setProto3StringField","getStringValue","setOneofField","clearStringValue","hasStringValue","getIntValue","clearIntValue","hasIntValue","getDoubleValue","clearDoubleValue","hasDoubleValue","getBoolValue","clearBoolValue","hasBoolValue","getJsonValue","clearJsonValue","hasJsonValue","Log","repeatedFields_","timestamp","getTimestamp","Timestamp","fieldsList","toObjectList","getFieldsList","setTimestamp","addFields","writeMessage","writeRepeatedMessage","getWrapperField","setWrapperField","clearTimestamp","hasTimestamp","getRepeatedWrapperField","setFieldsList","setRepeatedWrapperField","opt_value","opt_index","addToRepeatedWrapperField","clearFieldsList","Reference","relationship","spanContext","getSpanContext","readEnum","setRelationship","setSpanContext","getRelationship","writeEnum","Relationship","CHILD_OF","FOLLOWS_FROM","setProto3EnumField","clearSpanContext","hasSpanContext","Span","operationName","referencesList","getReferencesList","startTimestamp","getStartTimestamp","durationMicros","tagsList","getTagsList","logsList","getLogsList","setOperationName","addReferences","setStartTimestamp","setDurationMicros","addTags","addLogs","getOperationName","getDurationMicros","setReferencesList","clearReferencesList","clearStartTimestamp","hasStartTimestamp","setTagsList","clearTagsList","setLogsList","clearLogsList","Reporter","reporterId","setReporterId","getReporterId","MetricsSample","name","setName","getName","InternalMetrics","countsList","getCountsList","gaugesList","getGaugesList","addCounts","addGauges","setCountsList","clearCountsList","setGaugesList","clearGaugesList","getAccessToken","ReportRequest","reporter","getReporter","auth","getAuth","spansList","getSpansList","timestampOffsetMicros","internalMetrics","getInternalMetrics","setReporter","setAuth","addSpans","setTimestampOffsetMicros","setInternalMetrics","getTimestampOffsetMicros","clearReporter","hasReporter","clearAuth","hasAuth","setSpansList","clearSpansList","clearInternalMetrics","hasInternalMetrics","Command","disable","devMode","setDisable","setDevMode","getDisable","getDevMode","setProto3BooleanField","ReportResponse","commandsList","getCommandsList","receiveTimestamp","getReceiveTimestamp","transmitTimestamp","getTransmitTimestamp","errorsList","getRepeatedField","warningsList","infosList","addCommands","setReceiveTimestamp","setTransmitTimestamp","addErrors","addWarnings","addInfos","getErrorsList","writeRepeatedString","getWarningsList","getInfosList","setCommandsList","clearCommandsList","clearReceiveTimestamp","hasReceiveTimestamp","clearTransmitTimestamp","hasTransmitTimestamp","setErrorsList","setField","addToRepeatedField","clearErrorsList","setWarningsList","clearWarningsList","setInfosList","clearInfosList","object","extend","exports","google_api_http_pb","google_protobuf_descriptor_pb","google","api","http","ExtensionFieldInfo","HttpRule","MethodOptions","extensionsBinary","ExtensionFieldBinaryInfo","extensions","Http","rulesList","getRulesList","fullyDecodeReservedExpansion","addRules","setFullyDecodeReservedExpansion","getFullyDecodeReservedExpansion","setRulesList","clearRulesList","PatternCase","PATTERN_NOT_SET","GET","PUT","POST","DELETE","PATCH","CUSTOM","getPatternCase","selector","get","put","post","pb_delete","patch","custom","getCustom","CustomHttpPattern","body","responseBody","additionalBindingsList","getAdditionalBindingsList","setSelector","setGet","setPut","setPost","setDelete","setPatch","setCustom","setBody","setResponseBody","addAdditionalBindings","getSelector","getBody","getResponseBody","getGet","clearGet","hasGet","getPut","clearPut","hasPut","getPost","clearPost","hasPost","getDelete","clearDelete","hasDelete","getPatch","clearPatch","hasPatch","setOneofWrapperField","clearCustom","hasCustom","setAdditionalBindingsList","clearAdditionalBindingsList","kind","path","setKind","setPath","getKind","getPath","PackageGlobals","options","opts","val","module","constants","coerce","LogBuilder","runtime","_runtime","_record","LogRecord","timestamp_micros","_platform","nowMicros","runtime_guid","span_guid","stable_name","level","thread_id","filename","line_number","stack_frames","payload_json","error_flag","_addLogRecord","micros","num","error","guid","stableName","flag","data","_encodePayload","payloadJSON","JSON","stringify","_ignored","googleProtobufTimestampPB","LogRecordImp","logFieldKeyHardLimit","logFieldValueHardLimit","timestampMicros","fields","Error","stack","_logFieldKeyHardLimit","_logFieldValueHardLimit","_timestampMicros","_fields","_keysOverLimit","_valuesOverLimit","_clearOverLimits","thriftFields","keyStr","getFieldKey","valStr","getFieldValue","push","Key","Value","substr","Object","getOwnPropertyNames","e","log","ts","millis","Math","floor","secs","nanos","setSeconds","setNanos","keyValues","keyValue","crouton_thrift","Thrift","args","TProtocolException","TProtocolExceptionType","UNKNOWN","read","write","NamedCounter","Name","Runtime","start_micros","group_name","attrs","TraceJoinId","TraceKey","SpanRecord","trace_guid","span_name","join_ids","oldest_micros","youngest_micros","attributes","log_records","Timing","receive_micros","transmit_micros","SampleCount","count","int64_value","double_value","Metrics","counts","gauges","span_records","timestamp_offset_micros","counters","internal_logs","internal_metrics","commands","timing","hostScriptElement","WorkerGlobalScope","self","scripts","document","getElementsByTagName","urlQueryParameters","defaults","vars","qi","window","location","href","indexOf","slice","hashes","replace","split","i","hash","decodeURIComponent","parseScriptElementOptions","browserOpts","dataset","componentName","component_name","collectorHost","collector_host","collectorPort","collector_port","collectorPath","collector_path","collectorEncryption","collector_encryption","enable","verbosity","init","init_global_tracer","xhr_instrumentation","instrument_page_load","parseURLQueryOptions","params","lightstep_verbosity","lightstep_log_to_console","log_to_console","optionsParser","util","kRuntimeGUIDCookiePrefix","kSessionIDCookieKey","kCookieTimeToLiveSeconds","nowMicrosImp","performance","now","navigationStart","start","Date","PlatformBrowser","groupName","cookieKey","encodeURIComponent","uuid","cookie","_generateLongUUID","sessionID","p0","abs","random","p1","addEventListener","imp","tracerOpts","sessionStorage","parse","getItem","setItem","lib","initGlobalTracer","opentracing","Tracer","TransportBrowser","_host","_port","_path","_encryption","detached","report","done","_reportAJAX","reportProto","toProto","protocol","url","xhr","XMLHttpRequest","responseType","open","setRequestHeader","onreadystatechange","readyState","err","resp","status","response","exception","serialized","send","_reportAsyncScript","payload","toThrift","responseText","authJSON","reportJSON","elem","createElement","async","defer","src","type","hostElem","appendChild","ttl","domain","secure","arguments","newCookie","toUTCString","UnsupportedPropagator","tracer","_tracer","_name","carrier","_error","CARRIER_B3_TRACER_STATE_PREFIX","B3Propagator","_carrierPrefix","_guid","traceGUID","_sampled","forEachBaggageItem","_baggagePrefix","CARRIER_TRACER_STATE_PREFIX","CARRIER_BAGGAGE_PREFIX","LightStepPropagator","_traceGUID","foundFields","spanGUID","sampled","toLowerCase","suffix","setBaggageItem","ReportImp","oldestMicros","youngestMicros","spanRecords","internalLogs","_oldestMicros","_youngestMicros","_spanRecords","_internalLogs","_counters","_timestampOffsetMicros","span","_runtimeGUID","thriftCounters","thriftSpanRecords","spanRecord","_toThrift","_toProto","metricSample","converter","packageObject","RuntimeImp","runtimeGUID","startMicros","_startMicros","_componentName","_attributes","thriftAttrs","tracerVersion","version","tracerPlatform","tracerPlatformVersion","commandLine","hostname","hexToDec","tracerTags","ttag","reporterTags","allTags","concat","reporterProto","SpanContextImp","_baggage","_upperTraceGUID","SpanImp","_tracerImp","_ctx","_operationName","keyValuePairs","_tags","argumentType","tsMicros","record","getLogFieldKeyHardLimit","getLogFieldValueHardLimit","_log_records","emit","finishTime","end","console","assert","_ended","_beginMicros","_endMicros","_errorFlag","parent_span_guid","urlPrefix","setEndMicros","shouldSendMetaSpan","getTags","startSpan","tags","finish","_addSpanRecord","logs","logRecord","logThrift","getNumKeysOverLimit","getNumValuesOverLimit","spanContextProto","spanProto","startMillis","startSeconds","startNanos","logProto","parentSpanGUID","strValue","strKey","tag","ref","parentSpanContext","ClockState","globals","DEFAULT_COLLECTOR_HOSTNAME","DEFAULT_COLLECTOR_PORT_TLS","DEFAULT_COLLECTOR_PORT_PLAIN","DEFAULT_COLLECTOR_PATH","MAX_INTERNAL_LOGS","_singleton","_delegateEventEmitterMethods","setOptions","override_runtime_guid","_plugins","_options","_optionDescs","_makeOptionsTable","_opentracing","opentracing_module","_auth","logger","warn","_warn","_transport","override_transport","_propagators","FORMAT_HTTP_HEADERS","FORMAT_TEXT_MAP","FORMAT_BINARY","propagators","assign","_reportingLoopActive","_first_report_has_run","_reportYoungestMicros","_reportTimer","_reportErrorStreak","_lastVisibleErrorMillis","_skippedVisibleErrors","_activeRootSpanSet","_activeRootSpan","_flushIsActive","addPlugin","addPlatformPlugins","setPlatformOptions","transport","_info","_useClockState","disable_clock_skew_correction","_clockState","localStoreGet","localStoreSet","_setupReportOnExit","startPlugins","_ee","methodName","apply","addOption","min","max","defaultValue","_printToConsole","bind","parentCtxImp","references","REFERENCE_CHILD_OF","REFERENCE_FOLLOWS_FROM","context","referencedContext","generateTraceGUIDForRootSpan","spanImp","generateUUID","default_span_tags","setBeginMicros","setParentGUID","format","meta_event_reporting","inject","sc","extract","disabled","_flushReport","v","userOptions","desc","modified","unchanged","_setOptionInternal","_initReportingDataIfNeeded","_startReportingLoop","optionsString","newValue","_debug","valueType","oldValue","platformTags","log_field_key_hard_limit","log_field_value_hard_limit","pluginSet","plugins","plugin","addOptions","_setActiveRootSpanToYoungest","jsonString","buffer","ArrayBuffer","view","Uint8Array","code","charCodeAt","arr","String","fromCharCode","b","unused","countersAllZero","_internalAddSpanRecord","max_span_records","index","spans","currentInternalLogs","toAdd","_pushInternalLog","disable_report_on_exit","finalFlushOnce","finalFlush","unflushed_spans","buffer_youngest_micros","onBeforeExit","disable_reporting_loop","stopReportingOnce","stopReporting","_stopReportingLoop","loop","_enqueueNextReport","delay","delay_initial_report_millis","detachedTimeout","clearTimeout","reportInterval","max_reporting_interval_millis","isReady","backOff","basis","jitter","manual","clockReady","clockOffsetMicros","offsetMicros","offset_micros","active_samples","activeSampleCount","ready","_buffersAreEmpty","_clearBuffers","ensureConnection","timestampOffset","originMicros","res","destinationMicros","reportWindowSeconds","errString","last_report_seconds_ago","_restoreRecords","getSpanRecords","getInternalLogs","getCounters","streak","spans_reported","addSample","errors","disable_meta_event_reporting","nextVisible","error_throttle_millis","s","method","silent","kMaxOffsetAge","kStoredSamplesTTLMicros","_nowMicros","_localStoreGet","_localStoreSet","_samples","_currentOffsetMicros","_currentOffsetAge","storedData","samples","update","receiveMicros","transmitMicros","latestDelayMicros","MAX_VALUE","latestOffsetMicros","shift","delayMicros","minDelayMicros","bestOffsetMicros","sample","pow","sqrt","kSGATE","Util","callback","timer","setTimeout","unref","shouldSendSpan","library","initLibrary","Platform","ThriftTransport","ProtoTransport","thrift","InstrumentPageLoad","_inited","_span","tracerImp","currentOptions","_ensureSpanStarted","_handleReadyStateChange","addActiveRootSpan","state","_addTimingSpans","logEvent","removeActiveRootSpan","nav","dst","p","item","description","suffixes","parentImp","setTag","navigator","userAgent","_copyNavigatorProperties","childOf","requestStart","responseStart","responseEnd","domLoading","domInteractive","proxiedFetch","fetch","getCookies","cookies","parts","getResponseHeaders","result","pair","headers","entries","InstrumentFetch","_enabled","_isValidContext","_proxyInited","_internalExclusions","_handleOptions","_addServiceHostToExclusions","on","current","serviceHost","fetch_instrumentation","_instrumentFetch","escapeRegExp","str","host","port","set","RegExp","request","_shouldTrace","url_pathname","fetchPayload","include_cookies","Headers","headersCarrier","keys","forEach","append","event","openPayload","then","ok","statusText","catch","ex","test","include","fetch_url_inclusion_patterns","inc","fetch_url_exclusion_patterns","proxied","raw","getAllResponseHeaders","InstrumentXHR","_instrumentSetRequestHeader","_instrumentOpen","_instrumentSend","header","__requestHeaders","asyncArg","user","password","__tracer_span","__tracer_url","Array","len","lenStr","data_length","xhr_url_inclusion_patterns","xhr_url_exclusion_patterns","LogToConsole","_optionsCb","_logAddedCb","_handleLogAdded","removeListener","enabled"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;AClFY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACtJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,oDAAW;AAChC,cAAc,mBAAO,CAAC,gDAAS;AAC/B,cAAc,mBAAO,CAAC,gDAAS;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;AC5vDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0DAA0D,OAAO;AACjE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;A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,6DAA6D,eAAe,qBAAqB,6BAA6B,uCAAuC,uCAAuC,mDAAmD,+DAA+D,uCAAuC,+BAA+B,gBAAgB,2BAA2B;;;;;;;;;;;;;AC5W5e;AACA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,0EAAiB;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,yCAAyC;AACpD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,yCAAyC;AACpD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,yCAAyC;AACpD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,2CAA2C;AACtD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,+CAA+C;AAClE;AACA;;;AAGA,YAAY,+CAA+C;AAC3D;AACA;AACA;;;AAGA;AACA,WAAW,wCAAwC;AACnD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,sDAAsD;AACzE;AACA;;;AAGA,YAAY,sDAAsD;AAClE;AACA;AACA;;;AAGA;AACA,WAAW,+CAA+C;AAC1D,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oDAAoD;AACvE;AACA;;;AAGA,YAAY,oDAAoD;AAChE;AACA;AACA;;;AAGA;AACA,WAAW,6CAA6C;AACxD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mCAAmC;AACtD;AACA;;;AAGA,YAAY,6CAA6C;AACzD;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;;;AAGA,YAAY,gDAAgD;AAC5D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,uCAAuC;AAClD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,uCAAuC;AAClD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,uCAAuC;AAClD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,sDAAsD;AACjE,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sDAAsD;AACjE,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sDAAsD;AACjE,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,6CAA6C;AAChE;AACA;;;AAGA,YAAY,uDAAuD;AACnE;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,qDAAqD;AAChE,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qDAAqD;AAChE,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qDAAqD;AAChE,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oDAAoD;AACvE;AACA;;;AAGA,YAAY,oDAAoD;AAChE;AACA;AACA;;;AAGA;AACA,WAAW,6CAA6C;AACxD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oDAAoD;AACvE;AACA;;;AAGA,YAAY,oDAAoD;AAChE;AACA;AACA;;;AAGA;AACA,WAAW,6CAA6C;AACxD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,+CAA+C;AAClE;AACA;;;AAGA,YAAY,+CAA+C;AAC3D;AACA;AACA;;;AAGA;AACA,WAAW,wCAAwC;AACnD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,8DAA8D;AACjF;AACA;;;AAGA,YAAY,8DAA8D;AAC1E;AACA;AACA;;;AAGA;AACA,WAAW,uDAAuD;AAClE,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oDAAoD;AACvE;AACA;;;AAGA,YAAY,oDAAoD;AAChE;AACA;AACA;;;AAGA;AACA,WAAW,6CAA6C;AACxD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;;;AAGA,YAAY,gDAAgD;AAC5D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,6DAA6D;AAChF;AACA;;;AAGA,YAAY,6DAA6D;AACzE;AACA;AACA;;;AAGA;AACA,WAAW,sDAAsD;AACjE,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,6CAA6C;AACxD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,4CAA4C;AACvD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,kDAAkD;AAC/E;AACA;AACA;AACA,6BAA6B,iDAAiD;AAC9E;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kDAAkD;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iDAAiD;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,kDAAkD;AACtE;;;AAGA,YAAY,kDAAkD;AAC9D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,iDAAiD;AACrE;;;AAGA,YAAY,iDAAiD;AAC7D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oCAAoC;AACvD;AACA;;;AAGA,YAAY,8CAA8C;AAC1D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,4CAA4C;AACvD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,oCAAoC;AACvD;AACA;;;AAGA,YAAY,8CAA8C;AAC1D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,2CAA2C;AACtD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,6DAA6D;AACxE,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6DAA6D;AACxE,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6DAA6D;AACxE,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,wDAAwD;AAC3E;AACA;;;AAGA,YAAY,wDAAwD;AACpE;AACA;AACA;;;AAGA;AACA,WAAW,iDAAiD;AAC5D,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mCAAmC;AACtD;AACA;;;AAGA,YAAY,6CAA6C;AACzD;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,qEAAqE;AACxF;AACA;;;AAGA,YAAY,qEAAqE;AACjF;AACA;AACA;;;AAGA;AACA,WAAW,8DAA8D;AACzE,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,gDAAgD;AAC3D,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,gDAAgD;AAC3D,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,gDAAgD;AAC3D,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,wCAAwC;AAC3D;AACA;;;AAGA,YAAY,kDAAkD;AAC9D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,8CAA8C;AACzD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,8CAA8C;AACzD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,qDAAqD;AACxE;AACA;;;AAGA,YAAY,qDAAqD;AACjE;AACA;AACA;;;AAGA;AACA,WAAW,8CAA8C;AACzD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;;;AAGA,YAAY,gDAAgD;AAC5D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,6CAA6C;AACxD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,qCAAqC;AACxD;AACA;;;AAGA,YAAY,+CAA+C;AAC3D;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,mCAAmC;AAC9C,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,gDAAgD;AAC7E;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gDAAgD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;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ACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,sCAAsC;AACjD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,oCAAoC;AAC/C,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0CAA0C;AACvE;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,2CAA2C;AACxE;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2CAA2C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,0CAA0C;AAC9D;;;AAGA,YAAY,0CAA0C;AACtD;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,2CAA2C;AAC/D;;;AAGA,YAAY,2CAA2C;AACvD;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,oCAAoC;AAC/C,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,mCAAmC;AAC9C,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,sCAAsC;AACjD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,qCAAqC;AAChD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,cAAc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA,6BAA6B,sDAAsD;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sDAAsD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,sDAAsD;AAC1E;;;AAGA,YAAY,sDAAsD;AAClE;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,mDAAmD;AACtE;AACA;;;AAGA,YAAY,mDAAmD;AAC/D;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,6BAA6B,iBAAiB,gCAAgC;AAC7F;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,2CAA2C;AACtD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,oDAAoD;AAC/D,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oDAAoD;AAC/D,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,QAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oDAAoD;AAC/D,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,YAAY;AACZ;AACA;AACA,oBAAoB,QAAQ;AAC5B;;;AAGA,YAAY,QAAQ;AACpB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,4DAA4D;AAC/E;AACA;;;AAGA,YAAY,4DAA4D;AACxE;AACA;AACA;;;AAGA;AACA,WAAW,qDAAqD;AAChE,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,qBAAqB;AACzC;;;AAGA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;;;AAGA,YAAY,qBAAqB;AACjC;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,sCAAsC;AACjD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,+CAA+C;AAC1D,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,+CAA+C;AAC1D,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,+CAA+C;AAC1D,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,uDAAuD;AAC1E;AACA;;;AAGA,YAAY,uDAAuD;AACnE;AACA;AACA;;;AAGA;AACA,WAAW,gDAAgD;AAC3D,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,yCAAyC;AACpD,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,yCAAyC;AACpD,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,yCAAyC;AACpD,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,oDAAoD;AAC/D,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oDAAoD;AAC/D,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,oDAAoD;AAC/D,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,eAAe;AACnC;;;AAGA,YAAY,eAAe;AAC3B;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,mBAAmB,4DAA4D;AAC/E;AACA;;;AAGA,YAAY,4DAA4D;AACxE;AACA;AACA;;;AAGA;AACA,WAAW,qDAAqD;AAChE,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;;;;;;;;;;;ACjzRA;AACA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,0EAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY;AACZ;AACA;AACA;AACA;;;AAGA;AACA,0BAA0B,cAAc;AACxC,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,iCAAiC;AAC5C,YAAY;AACZ,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,gBAAgB;AAC3B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,iCAAiC;AAC5C,WAAW,mBAAmB;AAC9B,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,iCAAiC;AAC5C,WAAW,mBAAmB;AAC9B,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA,YAAY,OAAO;AACnB;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,QAAQ,WAAW;;AAEnB;AACA;AACA,QAAQ,UAAU;;AAElB;AACA;;;;;;;;;;;;ACnFA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;;ACJa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;;;;;;ACfa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;AC9Da;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;;;;;;AC3Ga;AACb,8CAA8C,cAAc;AAC5D,gBAAgB,mBAAO,CAAC,gEAAa;AACrC,kBAAkB,mBAAO,CAAC,gEAAa;AACvC,aAAa,mBAAO,CAAC,sDAAQ;AAC7B;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;;ACnCa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D,eAAe,mBAAO,CAAC,0DAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yC;;;;;;;;;;;;ACvEa;AACb;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D,uBAAuB,mBAAO,CAAC,0EAAkB;AACjD;AACA,WAAW,mBAAO,CAAC,8DAAY;AAC/B;AACA,WAAW,mBAAO,CAAC,sDAAQ;AAC3B,kBAAkB,mBAAO,CAAC,gEAAa;AACvC;AACA,aAAa,mBAAO,CAAC,sDAAQ;AAC7B;AACA,qBAAqB,mBAAO,CAAC,sEAAgB;AAC7C;AACA,eAAe,mBAAO,CAAC,0DAAU;AACjC;AACA,oBAAoB,mBAAO,CAAC,0EAAe;AAC3C;AACA,SAAS,mBAAO,CAAC,wEAAiB;AAClC,SAAS,mBAAO,CAAC,gEAAa;AAC9B,SAAS,mBAAO,CAAC,gEAAa;AAC9B;AACA;AACA,iC;;;;;;;;;;;;ACzBa;AACb,8CAA8C,cAAc;AAC5D,qBAAqB,mBAAO,CAAC,kFAAgB;AAC7C;AACA,kBAAkB,mBAAO,CAAC,4EAAa;AACvC;AACA,oBAAoB,mBAAO,CAAC,gFAAe;AAC3C;AACA,iC;;;;;;;;;;;;ACRa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D,kBAAkB,mBAAO,CAAC,yDAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,wC;;;;;;;;;;;;ACpCa;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,uC;;;;;;;;;;;;AC5Ca;AACb;AACA;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D,kBAAkB,mBAAO,CAAC,yDAAU;AACpC,qBAAqB,mBAAO,CAAC,kFAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,oBAAoB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,qC;;;;;;;;;;;;ACtGa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA,kBAAkB,mBAAO,CAAC,yDAAU;AACpC,oBAAoB,mBAAO,CAAC,gFAAe;AAC3C,kBAAkB,mBAAO,CAAC,4EAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gBAAgB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,uC;;;;;;;;;;;;AC9Ea;AACb,8CAA8C,cAAc;AAC5D,aAAa,mBAAO,CAAC,sDAAQ;AAC7B,qBAAqB,mBAAO,CAAC,sEAAgB;AAC7C,eAAe,mBAAO,CAAC,0DAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;;;;;;;AChBa;AACb,8CAA8C,cAAc;AAC5D,aAAa,mBAAO,CAAC,sDAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;;;;;;AC1Ca;AACb,8CAA8C,cAAc;AAC5D,WAAW,mBAAO,CAAC,sDAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,YAAY;AACZ;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,qCAAqC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,gC;;;;;;;;;;;;AC9Ma;AACb,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,wC;;;;;;;;;;;;ACpCa;AACb,8CAA8C,cAAc;AAC5D,gBAAgB,mBAAO,CAAC,gEAAa;AACrC,WAAW,mBAAO,CAAC,sDAAQ;AAC3B,aAAa,mBAAO,CAAC,sDAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,eAAe,OAAO;AACtB,eAAe,YAAY;AAC3B,gBAAgB,KAAK;AACrB;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB,IAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,oBAAoB;AACzE;AACA,gBAAgB,OAAO;AACvB,gBAAgB,IAAI;AACpB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,kC;;;;;;;;;;;AClJA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA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","file":"lightstep-tracer.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"lightstep\"] = factory();\n\telse\n\t\troot[\"lightstep\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/lib.js\");\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict';\n\n//\n// We store our EE objects in a plain object whose properties are event names.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// `~` to make sure that the built-in object properties are not overridden or\n// used as an attack vector.\n// We also assume that `Object.create(null)` is available when the event name\n// is an ES6 Symbol.\n//\nvar prefix = typeof Object.create !== 'function' ? '~' : false;\n\n/**\n * Representation of a single EventEmitter function.\n *\n * @param {Function} fn Event handler to be called.\n * @param {Mixed} context Context for function execution.\n * @param {Boolean} once Only emit once\n * @api private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Minimal EventEmitter interface that is molded against the Node.js\n * EventEmitter interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() { /* Nothing to set */ }\n\n/**\n * Holds the assigned EventEmitters by name.\n *\n * @type {Object}\n * @private\n */\nEventEmitter.prototype._events = undefined;\n\n/**\n * Return a list of assigned event listeners.\n *\n * @param {String} event The events that should be listed.\n * @param {Boolean} exists We only need to know if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events && this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Emit an event to all registered event listeners.\n *\n * @param {String} event The name of the event.\n * @returns {Boolean} Indication if we've emitted an event.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events || !this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if ('function' === typeof listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Register a new EventListener for the given event.\n *\n * @param {String} event Name of the event.\n * @param {Functon} fn Callback function.\n * @param {Mixed} context The context of the function.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events) this._events = prefix ? {} : Object.create(null);\n if (!this._events[evt]) this._events[evt] = listener;\n else {\n if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [\n this._events[evt], listener\n ];\n }\n\n return this;\n};\n\n/**\n * Add an EventListener that's only called once.\n *\n * @param {String} event Name of the event.\n * @param {Function} fn Callback function.\n * @param {Mixed} context The context of the function.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events) this._events = prefix ? {} : Object.create(null);\n if (!this._events[evt]) this._events[evt] = listener;\n else {\n if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [\n this._events[evt], listener\n ];\n }\n\n return this;\n};\n\n/**\n * Remove event listeners.\n *\n * @param {String} event The event we want to remove.\n * @param {Function} fn The listener that we need to find.\n * @param {Mixed} context Only remove listeners matching this context.\n * @param {Boolean} once Only remove once listeners.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events || !this._events[evt]) return this;\n\n var listeners = this._events[evt]\n , events = [];\n\n if (fn) {\n if (listeners.fn) {\n if (\n listeners.fn !== fn\n || (once && !listeners.once)\n || (context && listeners.context !== context)\n ) {\n events.push(listeners);\n }\n } else {\n for (var i = 0, length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) {\n this._events[evt] = events.length === 1 ? events[0] : events;\n } else {\n delete this._events[evt];\n }\n\n return this;\n};\n\n/**\n * Remove all listeners or only the listeners for the specified event.\n *\n * @param {String} event The event want to remove all listeners for.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n if (!this._events) return this;\n\n if (event) delete this._events[prefix ? prefix + event : event];\n else this._events = prefix ? {} : Object.create(null);\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","var $jscomp={scope:{},getGlobal:function(a){return\"undefined\"!=typeof window&&window===a?a:\"undefined\"!=typeof global?global:a}};$jscomp.global=$jscomp.getGlobal(this);$jscomp.initSymbol=function(){$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol);$jscomp.initSymbol=function(){}};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(a){return\"jscomp_symbol_\"+a+$jscomp.symbolCounter_++};\n$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();$jscomp.global.Symbol.iterator||($jscomp.global.Symbol.iterator=$jscomp.global.Symbol(\"iterator\"));$jscomp.initSymbolIterator=function(){}};$jscomp.makeIterator=function(a){$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();var b=a[Symbol.iterator];if(b)return b.call(a);var c=0;return{next:function(){return cb;)--c in this?this[--a]=this[c]:delete this[a];return this};$jscomp.array.copyWithin$install=function(){$jscomp.array.installHelper_(\"copyWithin\",$jscomp.array.copyWithin)};\n$jscomp.array.fill=function(a,b,c){var d=this.length||0;0>b&&(b=Math.max(0,d+b));if(null==c||c>d)c=d;c=Number(c);0>c&&(c=Math.max(0,d+c));for(b=Number(b||0);b>>0;if(0===a)return 32;var b=0;0===(a&4294901760)&&(a<<=16,b+=16);0===(a&4278190080)&&(a<<=8,b+=8);0===(a&4026531840)&&(a<<=4,b+=4);0===(a&3221225472)&&(a<<=2,b+=2);0===(a&2147483648)&&b++;return b};$jscomp.math.imul=function(a,b){a=Number(a);b=Number(b);var c=a&65535,d=b&65535;return c*d+((a>>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};$jscomp.math.sign=function(a){a=Number(a);return 0===a||isNaN(a)?a:0a&&-.25a&&-.25a?-b:b};$jscomp.math.acosh=function(a){a=Number(a);return Math.log(a+Math.sqrt(a*a-1))};$jscomp.math.asinh=function(a){a=Number(a);if(0===a)return a;var b=Math.log(Math.abs(a)+Math.sqrt(a*a+1));return 0>a?-b:b};\n$jscomp.math.atanh=function(a){a=Number(a);return($jscomp.math.log1p(a)-$jscomp.math.log1p(-a))/2};$jscomp.math.hypot=function(a,b,c){a=Number(a);b=Number(b);var d,e,f,g=Math.max(Math.abs(a),Math.abs(b));for(d=2;dg){a/=g;b/=g;f=a*a+b*b;for(d=2;da?-b:b};$jscomp.math.cbrt=function(a){if(0===a)return a;a=Number(a);var b=Math.pow(Math.abs(a),1/3);return 0>a?-b:b};$jscomp.number=$jscomp.number||{};$jscomp.number.isFinite=function(a){return\"number\"!==typeof a?!1:!isNaN(a)&&Infinity!==a&&-Infinity!==a};$jscomp.number.isInteger=function(a){return $jscomp.number.isFinite(a)?a===Math.floor(a):!1};\n$jscomp.number.isNaN=function(a){return\"number\"===typeof a&&isNaN(a)};$jscomp.number.isSafeInteger=function(a){return $jscomp.number.isInteger(a)&&Math.abs(a)<=$jscomp.number.MAX_SAFE_INTEGER};$jscomp.number.EPSILON=function(){return Math.pow(2,-52)}();$jscomp.number.MAX_SAFE_INTEGER=function(){return 9007199254740991}();$jscomp.number.MIN_SAFE_INTEGER=function(){return-9007199254740991}();$jscomp.object=$jscomp.object||{};\n$jscomp.object.assign=function(a,b){for(var c=1;cd||1114111=d?b+=String.fromCharCode(d):(d-=65536,b+=String.fromCharCode(d>>>10&1023|55296),b+=String.fromCharCode(d&1023|56320))}return b};\n$jscomp.string.repeat=function(a){var b=$jscomp.checkStringArgs(this,null,\"repeat\");if(0>a||1342177279>>=1)b+=b;return c};$jscomp.string.repeat$install=function(){String.prototype.repeat||(String.prototype.repeat=$jscomp.string.repeat)};\n$jscomp.string.codePointAt=function(a){var b=$jscomp.checkStringArgs(this,null,\"codePointAt\"),c=b.length;a=Number(a)||0;if(0<=a&&ad||56319a||57343=e};\n$jscomp.string.startsWith$install=function(){String.prototype.startsWith||(String.prototype.startsWith=$jscomp.string.startsWith)};$jscomp.string.endsWith=function(a,b){var c=$jscomp.checkStringArgs(this,a,\"endsWith\");a+=\"\";void 0===b&&(b=c.length);for(var d=Math.max(0,Math.min(b|0,c.length)),e=a.length;0=e};$jscomp.string.endsWith$install=function(){String.prototype.endsWith||(String.prototype.endsWith=$jscomp.string.endsWith)};\nvar COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.exportPath_=function(a,b,c){a=a.split(\".\");c=c||goog.global;a[0]in c||!c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]?c[d]:c[d]={}};\ngoog.define=function(a,b){var c=b;COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?c=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(c=goog.global.CLOSURE_DEFINES[a]));goog.exportPath_(a,c)};goog.DEBUG=!0;goog.LOCALE=\"en\";goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;\ngoog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;goog.provide=function(a){if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace \"'+a+'\" already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(\".\")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;\ngoog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error(\"Invalid module identifier\");if(!goog.isInModuleLoader_())throw Error(\"Module \"+a+\" has been loaded incorrectly.\");if(goog.moduleLoaderState_.moduleName)throw Error(\"goog.module may only be called once per module.\");goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace \"'+a+'\" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};\ngoog.module.getInternal_=function(a){if(!COMPILED)return goog.isProvided_(a)?a in goog.loadedModules_?goog.loadedModules_[a]:goog.getObjectByName(a):null};goog.moduleLoaderState_=null;goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_};\ngoog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error(\"goog.module.declareLegacyNamespace must be called from within a goog.module\");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error(\"goog.module must be called prior to goog.module.declareLegacyNamespace.\");goog.moduleLoaderState_.declareLegacyNamespace=!0};\ngoog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||\"\",Error(\"Importing test-only code into non-debug environment\"+(a?\": \"+a:\".\"));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={\"goog.module\":!0});\ngoog.getObjectByName=function(a,b){for(var c=a.split(\".\"),d=b||goog.global,e;e=c.shift();)if(goog.isDefAndNotNull(d[e]))d=d[e];else return null;return d};goog.globalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};goog.addDependency=function(a,b,c,d){if(goog.DEPENDENCIES_ENABLED){var e;a=a.replace(/\\\\/g,\"/\");for(var f=goog.dependencies_,g=0;e=b[g];g++)f.nameToPath[e]=a,f.pathIsModule[a]=!!d;for(d=0;b=c[d];d++)a in f.requires||(f.requires[a]={}),f.requires[a][b]=!0}};\ngoog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)};goog.require=function(a){if(!COMPILED){goog.ENABLE_DEBUG_LOADER&&goog.IS_OLD_IE_&&goog.maybeProcessDeferredDep_(a);if(goog.isProvided_(a))return goog.isInModuleLoader_()?goog.module.getInternal_(a):null;if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b)return goog.writeScripts_(b),null}a=\"goog.require could not find: \"+a;goog.logToConsole_(a);throw Error(a);}};\ngoog.basePath=\"\";goog.nullFunction=function(){};goog.abstractMethod=function(){throw Error(\"unimplemented abstract method\");};goog.addSingletonGetter=function(a){a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;\ngoog.DEPENDENCIES_ENABLED&&(goog.dependencies_={pathIsModule:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&\"write\"in a},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_())for(var a=goog.global.document.getElementsByTagName(\"SCRIPT\"),b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf(\"?\"),d=-1==d?c.length:\nd;if(\"base.js\"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}},goog.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(a,b)&&(goog.dependencies_.written[a]=!0)},goog.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.importModule_=function(a){goog.importScript_(\"\",'goog.retrieveAndExecModule_(\"'+a+'\");')&&(goog.dependencies_.written[a]=!0)},goog.queuedModules_=[],goog.wrapModule_=function(a,b){return goog.LOAD_MODULE_USING_EVAL&&\ngoog.isDef(goog.global.JSON)?\"goog.loadModule(\"+goog.global.JSON.stringify(b+\"\\n//# sourceURL=\"+a+\"\\n\")+\");\":'goog.loadModule(function(exports) {\"use strict\";'+b+\"\\n;return exports});\\n//# sourceURL=\"+a+\"\\n\"},goog.loadQueuedModules_=function(){var a=goog.queuedModules_.length;if(0\\x3c/script>')},goog.appendScriptSrcNode_=function(a){var b=goog.global.document,\nc=b.createElement(\"script\");c.type=\"text/javascript\";c.src=a;c.defer=!1;c.async=!1;b.head.appendChild(c)},goog.writeScriptTag_=function(a,b){if(goog.inHtmlDocument_()){var c=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&\"complete\"==c.readyState){if(/\\bdeps.js$/.test(a))return!1;throw Error('Cannot write \"'+a+'\" after document load');}var d=goog.IS_OLD_IE_;void 0===b?d?(d=\" onreadystatechange='goog.onScriptLoad_(this, \"+ ++goog.lastNonModuleScriptIndex_+\")' \",c.write('\n//\n// Note: relies on the global hostScriptElement variable defined above.\n//\nmodule.exports.parseScriptElementOptions = function (opts, browserOpts) {\n if (!hostScriptElement) {\n return;\n }\n\n let dataset = hostScriptElement.dataset;\n\n let accessToken = dataset.access_token;\n if (typeof accessToken === 'string' && accessToken.length > 0) {\n opts.access_token = accessToken;\n }\n\n let componentName = dataset.component_name;\n if (typeof componentName === 'string' && componentName.length > 0) {\n opts.component_name = componentName;\n }\n\n let collectorHost = dataset.collector_host;\n if (typeof collectorHost === 'string' && collectorHost.length > 0) {\n opts.collector_host = collectorHost;\n }\n let collectorPort = dataset.collector_port;\n if (collectorPort) {\n opts.collector_port = parseInt(collectorPort, 10);\n }\n let collectorPath = dataset.collector_path;\n if (typeof collectorPath === 'string' && collectorPath.length > 0) {\n opts.collector_path = collectorPath;\n }\n let collectorEncryption = dataset.collector_encryption;\n if (collectorEncryption) {\n opts.collector_encryption = collectorEncryption;\n }\n\n let enable = dataset.enable;\n if (typeof enable === 'string') {\n if (enable === 'true') {\n opts.enable = true;\n } else if (enable === 'false') {\n opts.enable = false;\n }\n }\n let verbosity = dataset.verbosity;\n if (typeof verbosity === 'string') {\n opts.verbosity = parseInt(verbosity, 10);\n }\n\n let init = dataset.init_global_tracer;\n if (typeof init === 'string') {\n if (init === 'true') {\n browserOpts.init_global_tracer = true;\n } else if (init === 'false') {\n browserOpts.init_global_tracer = false;\n }\n }\n\n // NOTE: this is a little inelegant as this is hard-coding support for a\n // \"plug-in\" option.\n if (typeof dataset.xhr_instrumentation === 'string' && dataset.xhr_instrumentation === 'true') {\n opts.xhr_instrumentation = true;\n }\n\n if (typeof dataset.instrument_page_load === 'string' && dataset.instrument_page_load === 'true') {\n opts.instrument_page_load = true;\n }\n};\n\n// Parses options out of the current URL query string. The query parameters use\n// the 'lightstep_' prefix to reduce the chance of collision with\n// application-specific query parameters.\n//\n// This mechanism is particularly useful for debugging purposes as it does not\n// require any code or configuration changes.\n//\nmodule.exports.parseURLQueryOptions = function (opts) {\n if (!window) {\n return;\n }\n\n let params = urlQueryParameters();\n if (params.lightstep_verbosity) {\n try {\n opts.verbosity = parseInt(params.lightstep_verbosity, 10);\n } catch (_ignored) { /* Ignored */ }\n }\n if (params.lightstep_log_to_console) {\n opts.log_to_console = true;\n }\n};\n","const optionsParser = require('./options_parser.js');\nconst util = require('./util');\n\nconst kRuntimeGUIDCookiePrefix = 'lightstep_guid';\nconst kSessionIDCookieKey = 'lightstep_session_id';\nconst kCookieTimeToLiveSeconds = 7 * 24 * 60 * 60;\n\nlet nowMicrosImp = (function () {\n // Is a hi-res timer available?\n if (window.performance &&\n window.performance.now &&\n window.performance.timing &&\n window.performance.timing.navigationStart) {\n let start = performance.timing.navigationStart;\n return function () {\n return Math.floor((start + performance.now()) * 1000.0);\n };\n }\n // The low-res timer is the best we can do\n return function () {\n return Date.now() * 1000.0;\n };\n}());\n\nclass PlatformBrowser {\n\n name() {\n return 'browser';\n }\n\n nowMicros() {\n return nowMicrosImp();\n }\n\n // Return the GUID to use for the runtime. The intention is to reuse the\n // GUID so that logically a single browser session looks like a single\n // runtime.\n runtimeGUID(groupName) {\n // Account for the groupName in the same that multiple apps or services\n // are running on the same domain (and should not share the same\n // runtime GUID).\n let cookieKey = encodeURIComponent(`${kRuntimeGUIDCookiePrefix}/${groupName}`);\n let uuid = util.cookie(cookieKey) || this._generateLongUUID();\n util.cookie(cookieKey, uuid, kCookieTimeToLiveSeconds, '/');\n\n // Also create a session ID as well to give the server more information\n // to coordinate with.\n let sessionID = util.cookie(kSessionIDCookieKey) || this._generateLongUUID();\n util.cookie(kSessionIDCookieKey, sessionID, kCookieTimeToLiveSeconds, '/');\n\n return uuid;\n }\n\n generateUUID() {\n return this._generateLongUUID();\n }\n\n _generateLongUUID() {\n let p0 = `00000000${Math.abs((Math.random() * 0xFFFFFFFF) | 0).toString(16)}`.substr(-8);\n let p1 = `00000000${Math.abs((Math.random() * 0xFFFFFFFF) | 0).toString(16)}`.substr(-8);\n return `${p0}${p1}`;\n }\n\n onBeforeExit(...args) {\n if (window) {\n window.addEventListener('beforeunload', ...args);\n }\n }\n\n plugins(opts) {\n return [\n require('../../../plugins/instrument_xhr'),\n require('../../../plugins/instrument_fetch'),\n require('../../../plugins/instrument_document_load'),\n ];\n }\n\n options(imp) {\n let tracerOpts = {};\n let browserOpts = {};\n optionsParser.parseScriptElementOptions(tracerOpts, browserOpts);\n optionsParser.parseURLQueryOptions(tracerOpts, browserOpts);\n return tracerOpts;\n }\n\n static initLibrary(lib) {\n let tracerOpts = {};\n let browserOpts = {};\n optionsParser.parseScriptElementOptions(tracerOpts, browserOpts);\n\n if (browserOpts.init_global_tracer) {\n PlatformBrowser.initGlobalTracer(lib, tracerOpts);\n }\n }\n static initGlobalTracer(lib, opts) {\n if (typeof window !== 'object') {\n return;\n }\n if (typeof window.opentracing !== 'object') {\n return;\n }\n opentracing.initGlobalTracer(new lib.Tracer(opts)); // eslint-disable-line no-undef\n }\n\n tracerTags() {\n return {\n 'lightstep.tracer_platform' : 'browser',\n };\n }\n\n // There's no way to truly \"fatal\" on the browser; the best approximation\n // is an Error exception.\n fatal(message) {\n throw new Error(message);\n }\n\n localStoreGet(key) {\n if (!window.sessionStorage) {\n return null;\n }\n try {\n return JSON.parse(sessionStorage.getItem(`lightstep/${key}`));\n } catch (_ignored) {\n return null;\n }\n }\n\n localStoreSet(key, value) {\n if (!window.sessionStorage) {\n return;\n }\n try {\n sessionStorage.setItem(`lightstep/${key}`, JSON.stringify(value));\n } catch (_ignored) { /* Ignored */ }\n }\n}\n\nmodule.exports = PlatformBrowser;\n","module.exports = require('./generated/thrift_all.js').Thrift;\n","let proto = require('../../generated_proto/collector_pb.js');\n\nexport default class TransportBrowser {\n\n constructor() {\n this._host = '';\n this._port = 0;\n this._path = '';\n this._encryption = '';\n }\n\n ensureConnection(opts) {\n this._host = opts.collector_host;\n this._port = opts.collector_port;\n this._path = opts.collector_path;\n this._encryption = opts.collector_encryption;\n }\n\n report(detached, auth, report, done) {\n try {\n if (!detached) {\n this._reportAJAX(auth, report, done);\n }\n } catch (e) {\n return done(e, null);\n }\n }\n\n _reportAJAX(auth, report, done) {\n let reportProto = report.toProto(auth);\n let protocol = (this._encryption === 'none') ? 'http' : 'https';\n let url = `${protocol}://${this._host}:${this._port}${this._path}/api/v2/reports`;\n let xhr = new XMLHttpRequest();\n xhr.responseType = 'arraybuffer';\n xhr.open('POST', url);\n // Note: the browser automatically sets 'Connection' and 'Content-Length'\n // and *does not* allow they to be set manually\n xhr.setRequestHeader('Accept', 'application/octet-stream');\n xhr.setRequestHeader('Content-Type', 'application/octet-stream');\n xhr.onreadystatechange = function () {\n if (this.readyState === 4) {\n let err = null;\n let resp = null;\n if (this.status !== 200) {\n err = new Error(`status code = ${this.status}`);\n } else if (!this.response) {\n err = new Error('unexpected empty response');\n } else {\n try {\n resp = proto.ReportResponse.deserializeBinary(this.response).toObject();\n } catch (exception) {\n err = exception;\n }\n }\n return done(err, resp);\n }\n };\n let serialized = reportProto.serializeBinary();\n xhr.send(serialized);\n }\n}\n","export default class TransportBrowser {\n\n constructor() {\n this._host = '';\n this._port = 0;\n this._path = '';\n this._encryption = '';\n }\n\n ensureConnection(opts) {\n this._host = opts.collector_host;\n this._port = opts.collector_port;\n this._path = opts.collector_path;\n this._encryption = opts.collector_encryption;\n }\n\n report(detached, auth, report, done) {\n try {\n if (!detached) {\n this._reportAJAX(auth, report, done);\n } else {\n this._reportAsyncScript(auth, report, done);\n }\n } catch (e) {\n return done(e, null);\n }\n }\n\n _reportAJAX(auth, report, done) {\n let payload = JSON.stringify(report.toThrift());\n let protocol = (this._encryption === 'none') ? 'http' : 'https';\n let url = `${protocol}://${this._host}:${this._port}${this._path}/api/v0/reports`;\n let xhr = new XMLHttpRequest();\n xhr.open('POST', url);\n // Note: the browser automatically sets 'Connection' and 'Content-Length'\n // and *does not* allow they to be set manually\n xhr.setRequestHeader('LightStep-Access-Token', auth.getAccessToken());\n xhr.setRequestHeader('Content-Type', 'application/json');\n //req.setRequestHeader('Content-Encoding', 'gzip');\n xhr.onreadystatechange = function () {\n if (this.readyState === 4) {\n let err = null;\n let resp = null;\n if (this.status !== 200) {\n err = new Error(`status code = ${this.status}`);\n } else if (!this.responseText) {\n err = new Error('unexpected empty response');\n } else {\n try {\n resp = JSON.parse(this.responseText);\n } catch (exception) {\n err = exception;\n }\n }\n return done(err, resp);\n }\n };\n xhr.send(payload);\n }\n\n // Do a \"tail flush\" using an async browser script load. This does not get\n // interrupted as a normal Thirft RPC would when navigating away from\n // the page.\n _reportAsyncScript(auth, report, done) {\n let authJSON = JSON.stringify(auth.toThrift());\n let reportJSON = JSON.stringify(report.toThrift());\n let protocol = (this._encryption === 'none') ? 'http' : 'https';\n let url = `${protocol}://${this._host}:${this._port}${this._path}/_rpc/v1/reports/uri_encoded` +\n `?auth=${encodeURIComponent(authJSON)}` +\n `&report=${encodeURIComponent(reportJSON)}`;\n\n let elem = document.createElement('script');\n elem.async = true;\n elem.defer = true;\n elem.src = url;\n elem.type = 'text/javascript';\n\n let hostElem = document.getElementsByTagName('head')[0];\n if (hostElem) {\n hostElem.appendChild(elem);\n }\n return done(null, null);\n }\n}\n","/* eslint-disable */\n\n// This function is copied directly from https://github.com/litejs/browser-cookie-lite.\n// It is licensed under the MIT License and authored by Lauri Rooden.\nfunction cookie(name, value, ttl, path, domain, secure) {\n if (arguments.length > 1) {\n let newCookie = name + '=' + encodeURIComponent(value) +\n (ttl ? \"; expires=\" + new Date(+new Date()+(ttl*1000)).toUTCString() : '') +\n (path ? \"; path=\" + path : '') +\n (domain ? \"; domain=\" + domain : '') +\n (secure ? \"; secure\" : '');\n document.cookie = newCookie;\n return newCookie;\n }\n return decodeURIComponent(((\"; \"+document.cookie).split(\"; \"+name+\"=\")[1]||\"\").split(\";\")[0]);\n}\n\n/* eslint-enable */\n\nmodule.exports = {\n cookie : cookie,\n};\n","export default class UnsupportedPropagator {\n constructor(tracer, name) {\n this._tracer = tracer;\n this._name = name;\n }\n inject(spanContext, carrier) {\n this._tracer._error(`Unsupported format: ${this._name}`);\n return null;\n }\n extract(carrier) {\n this._tracer._error(`Unsupported format: ${this._name}`);\n }\n}\n\n","import LightStepPropagator from './propagator_ls';\n\nconst CARRIER_B3_TRACER_STATE_PREFIX = 'x-b3-';\n\nexport default class B3Propagator extends LightStepPropagator {\n constructor(tracer) {\n super(tracer);\n this._carrierPrefix = CARRIER_B3_TRACER_STATE_PREFIX;\n }\n\n inject(spanContext, carrier) {\n if (!carrier) {\n this._tracer._error('Unexpected null carrier in call to inject');\n return;\n }\n if (typeof carrier !== 'object') {\n this._tracer._error(`Unexpected '${typeof carrier}' FORMAT_TEXT_MAP carrier in call to inject`);\n return;\n }\n\n carrier[`${this._carrierPrefix}spanid`] = spanContext._guid;\n carrier[`${this._carrierPrefix}traceid`] = spanContext.traceGUID();\n if (spanContext._sampled) {\n carrier[`${this._carrierPrefix}sampled`] = '1';\n } else {\n carrier[`${this._carrierPrefix}sampled`] = '0';\n }\n spanContext.forEachBaggageItem((key, value) => {\n carrier[`${this._baggagePrefix}${key}`] = value;\n });\n return carrier;\n }\n}\n","import _each from '../_each';\nimport SpanContextImp from './span_context_imp';\n\nconst CARRIER_TRACER_STATE_PREFIX = 'ot-tracer-';\nconst CARRIER_BAGGAGE_PREFIX = 'ot-baggage-';\n\nexport default class LightStepPropagator {\n constructor(tracer) {\n this._tracer = tracer;\n this._carrierPrefix = CARRIER_TRACER_STATE_PREFIX;\n this._baggagePrefix = CARRIER_BAGGAGE_PREFIX;\n }\n\n inject(spanContext, carrier) {\n if (!carrier) {\n this._tracer._error('Unexpected null carrier in call to inject');\n return;\n }\n if (typeof carrier !== 'object') {\n this._tracer._error(`Unexpected '${typeof carrier}' FORMAT_TEXT_MAP carrier in call to inject`);\n return;\n }\n\n carrier[`${this._carrierPrefix}spanid`] = spanContext._guid;\n carrier[`${this._carrierPrefix}traceid`] = spanContext._traceGUID;\n carrier[`${this._carrierPrefix}sampled`] = 'true';\n spanContext.forEachBaggageItem((key, value) => {\n carrier[`${this._baggagePrefix}${key}`] = value;\n });\n return carrier;\n }\n\n extract(carrier) {\n // Iterate over the contents of the carrier and set the properties\n // accordingly.\n let foundFields = 0;\n let spanGUID = null;\n let traceGUID = null;\n let sampled = true;\n\n _each(carrier, (value, key) => {\n key = key.toLowerCase();\n if (key.substr(0, this._carrierPrefix.length) !== this._carrierPrefix) {\n return;\n }\n let suffix = key.substr(this._carrierPrefix.length);\n\n switch (suffix) {\n case 'traceid':\n foundFields++;\n traceGUID = value;\n break;\n case 'spanid':\n foundFields++;\n spanGUID = value;\n break;\n case 'sampled':\n switch (value) {\n case 0:\n case '0':\n case false:\n case 'false':\n sampled = false;\n break;\n default:\n sampled = true;\n break;\n }\n break;\n default:\n this._tracer._error(`Unrecognized carrier key '${key}' with recognized prefix. Ignoring.`);\n break;\n }\n });\n\n if (foundFields === 0) {\n // This is not an error per se, there was simply no SpanContext\n // in the carrier.\n return null;\n }\n if (foundFields < 2) {\n // A partial SpanContext suggests some sort of data corruption.\n this._tracer._error(`Only found a partial SpanContext: ${carrier}`);\n return null;\n }\n\n let spanContext = new SpanContextImp(spanGUID, traceGUID, sampled);\n\n _each(carrier, (value, key) => {\n key = key.toLowerCase();\n if (key.substr(0, this._baggagePrefix.length) !== this._baggagePrefix) {\n return;\n }\n let suffix = key.substr(this._baggagePrefix.length);\n spanContext.setBaggageItem(suffix, value);\n });\n return spanContext;\n }\n}\n","import { crouton_thrift } from '../platform_abstraction_layer'; // eslint-disable-line camelcase\nimport _each from '../_each'; // eslint-disable-line camelcase\nimport * as coerce from './coerce.js';\nlet proto = require('./generated_proto/collector_pb.js');\n\nexport default class ReportImp {\n constructor(runtime, oldestMicros, youngestMicros, spanRecords, internalLogs, counters, timestampOffsetMicros) {\n this._runtime = runtime;\n this._oldestMicros = oldestMicros;\n this._youngestMicros = youngestMicros;\n this._spanRecords = spanRecords;\n this._internalLogs = internalLogs;\n this._counters = counters;\n this._timestampOffsetMicros = timestampOffsetMicros;\n }\n\n getSpanRecords() {\n return this._spanRecords;\n }\n\n getInternalLogs() {\n return this._internalLogs;\n }\n\n getCounters() {\n return this._counters;\n }\n\n toThrift() {\n _each(this._spanRecords, (span) => {\n span.runtime_guid = this._runtimeGUID;\n });\n\n let thriftCounters = [];\n _each(this._counters, (value, key) => {\n if (value === 0) {\n return;\n }\n thriftCounters.push(new crouton_thrift.MetricsSample({\n name : coerce.toString(key),\n double_value : coerce.toNumber(value),\n }));\n });\n\n let thriftSpanRecords = [];\n _each(this._spanRecords, (spanRecord) => {\n thriftSpanRecords.push(spanRecord._toThrift());\n });\n\n return new crouton_thrift.ReportRequest({\n runtime : this._runtime.toThrift(),\n oldest_micros : this._oldestMicros,\n youngest_micros : this._youngestMicros,\n span_records : thriftSpanRecords,\n internal_logs : this._internalLogs,\n internal_metrics : new crouton_thrift.Metrics({\n counts : thriftCounters,\n }),\n timestamp_offset_micros : this._timestampOffsetMicros,\n });\n }\n\n toProto(auth) {\n let spansList = [];\n _each(this._spanRecords, (spanRecord) => {\n spansList.push(spanRecord._toProto());\n });\n\n let countsList = [];\n _each(this._counters, (count) => {\n let metricSample = new proto.MetricsSample();\n metricSample.setName(count.name);\n metricSample.setIntValue(count.int64_value);\n metricSample.setDoubleValue(count.double_value);\n countsList.push(metricSample);\n });\n\n let internalMetrics = new proto.InternalMetrics();\n internalMetrics.setCountsList(countsList);\n\n let reportProto = new proto.ReportRequest();\n reportProto.setAuth(auth.toProto());\n reportProto.setReporter(this._runtime.toProto());\n reportProto.setSpansList(spansList);\n reportProto.setTimestampOffsetMicros(this._timestampOffsetMicros);\n reportProto.setInternalMetrics(internalMetrics);\n return reportProto;\n }\n}\n","import { crouton_thrift } from '../platform_abstraction_layer'; // eslint-disable-line camelcase\nimport _each from '../_each'; // eslint-disable-line camelcase\nimport * as coerce from './coerce.js';\nlet proto = require('./generated_proto/collector_pb.js');\nlet converter = require('hex2dec');\nconst packageObject = require('../../package.json');\n\nexport default class RuntimeImp {\n constructor(runtimeGUID, startMicros, componentName, attributes) {\n this._runtimeGUID = runtimeGUID;\n this._startMicros = startMicros;\n this._componentName = componentName;\n this._attributes = attributes;\n }\n\n toThrift() {\n let thriftAttrs = [];\n _each(this._attributes, (val, key) => {\n thriftAttrs.push(new crouton_thrift.KeyValue({\n Key : coerce.toString(key),\n Value : coerce.toString(val),\n }));\n });\n\n // NOTE: for legacy reasons, the Thrift field is called \"group_name\"\n // but is semantically equivalent to the \"component_name\"\n return new crouton_thrift.Runtime({\n guid : this._runtimeGUID,\n start_micros : this._startMicros,\n group_name : this._componentName,\n attrs : thriftAttrs,\n });\n }\n\n toProto() {\n let tracerVersion = new proto.KeyValue();\n tracerVersion.setKey('lightstep.tracer_version');\n tracerVersion.setStringValue(packageObject.version);\n\n let tracerPlatform = new proto.KeyValue();\n tracerPlatform.setKey('lightstep.tracer_platform');\n tracerPlatform.setStringValue(this._attributes['lightstep.tracer_platform']);\n\n let tracerPlatformVersion = new proto.KeyValue();\n tracerPlatformVersion.setKey('lightstep.tracer_platform_version');\n tracerPlatformVersion.setStringValue(this._attributes['lightstep.tracer_platform_version']);\n\n let componentName = new proto.KeyValue();\n componentName.setKey('lightstep.component_name');\n componentName.setStringValue(this._componentName);\n\n let commandLine = new proto.KeyValue();\n commandLine.setKey('lightstep.command_line');\n commandLine.setStringValue(this._attributes['lightstep.command_line']);\n\n let hostname = new proto.KeyValue();\n hostname.setKey('lightstep.hostname');\n hostname.setStringValue(this._attributes['lightstep.hostname']);\n\n let reporterId = converter.hexToDec(this._runtimeGUID);\n\n let tracerTags = [];\n _each(this._attributes, (val, key) => {\n let ttag = new proto.KeyValue();\n ttag.setKey(key);\n ttag.setStringValue(val);\n tracerTags.push(ttag);\n });\n\n let reporterTags = [tracerVersion, tracerPlatform, componentName, commandLine, hostname, tracerPlatformVersion];\n let allTags = reporterTags.concat(tracerTags);\n\n let reporterProto = new proto.Reporter();\n reporterProto.setReporterId(reporterId);\n reporterProto.setTagsList(allTags);\n\n return reporterProto;\n }\n}\n","import _each from '../_each';\n\nexport default class SpanContextImp {\n\n // ---------------------------------------------------------------------- //\n // OpenTracing Implementation\n // ---------------------------------------------------------------------- //\n\n setBaggageItem(key, value) {\n this._baggage[key] = value;\n }\n\n getBaggageItem(key) {\n return this._baggage[key];\n }\n\n // ---------------------------------------------------------------------- //\n // LightStep Extensions\n // ---------------------------------------------------------------------- //\n\n // This is part of the formal OT API in Go; and will likely be supported\n // across platforms.\n //\n // https://github.com/opentracing/opentracing.github.io/issues/103\n forEachBaggageItem(f) {\n _each(this._baggage, (val, key) => {\n f(key, val);\n });\n }\n\n // traceGUID returns a 128 bit trace ID.\n traceGUID() {\n return `${this._upperTraceGUID}${this._traceGUID}`;\n }\n\n // ---------------------------------------------------------------------- //\n // Private methods\n // ---------------------------------------------------------------------- //\n\n constructor(spanGUID, traceGUID, sampled) {\n this._baggage = {};\n this._guid = spanGUID;\n this._sampled = true;\n // Ignore undefined or null when determining truthiness.\n if (sampled === false) {\n this._sampled = sampled;\n }\n // upperTraceGUID is the most significant 8 bytes of a B3/TraceContext\n // 16 byte trace ID. Represented in base16.\n this._upperTraceGUID = '0000000000000000';\n this._traceGUID = traceGUID;\n if (this._traceGUID && this._traceGUID.length === 32) {\n this._upperTraceGUID = traceGUID.substr(0, 16);\n this._traceGUID = traceGUID.substr(16);\n }\n }\n}\n","import * as coerce from './coerce.js';\nimport * as constants from '../constants';\nimport _each from '../_each';\nimport * as opentracing from 'opentracing';\nimport { crouton_thrift } from '../platform_abstraction_layer'; // eslint-disable-line camelcase\nimport LogRecordImp from './log_record_imp'; // eslint-disable-line camelcase\nimport util from './util/util.js';\nlet converter = require('hex2dec');\nlet proto = require('./generated_proto/collector_pb.js');\nlet googleProtobufTimestampPB = require('google-protobuf/google/protobuf/timestamp_pb.js');\n\nexport default class SpanImp extends opentracing.Span {\n\n // ---------------------------------------------------------------------- //\n // opentracing.Span SPI\n // ---------------------------------------------------------------------- //\n\n _tracer() {\n return this._tracerImp;\n }\n\n _context() {\n return this._ctx;\n }\n\n _setOperationName(name) {\n this._operationName = `${name}`;\n }\n\n _addTags(keyValuePairs) {\n let self = this;\n _each(keyValuePairs, (value, key) => {\n self._tags[key] = value;\n });\n }\n\n _log(keyValuePairs, timestamp) {\n let self = this;\n const argumentType = typeof keyValuePairs;\n if (argumentType !== 'object') {\n self._tracerImp._error('Span.log() expects an object as its first argument');\n return;\n }\n\n let tsMicros = timestamp ?\n (timestamp * 1000) :\n self._tracerImp._platform.nowMicros();\n\n let record = new LogRecordImp(\n self._tracerImp.getLogFieldKeyHardLimit(),\n self._tracerImp.getLogFieldValueHardLimit(),\n tsMicros,\n keyValuePairs);\n self._log_records = self._log_records || [];\n self._log_records.push(record);\n self._tracerImp.emit('log_added', record);\n }\n\n _finish(finishTime) {\n return this.end(finishTime);\n }\n\n // ---------------------------------------------------------------------- //\n // Private methods\n // ---------------------------------------------------------------------- //\n\n constructor(tracer, name, spanContext) {\n super();\n\n console.assert(typeof tracer === 'object', 'Invalid runtime'); // eslint-disable-line no-console\n\n this._tracerImp = tracer;\n this._ctx = spanContext;\n this._ended = false;\n\n this._operationName = name;\n this._tags = {};\n this._beginMicros = tracer._platform.nowMicros();\n this._endMicros = 0;\n this._errorFlag = false;\n this._log_records = null;\n }\n\n // ---------------------------------------------------------------------- //\n // LightStep Extensions\n // ---------------------------------------------------------------------- //\n\n getOperationName() {\n return this._operationName;\n }\n\n // Getter only. The GUID is immutable once set internally.\n guid() {\n return this._ctx._guid;\n }\n\n traceGUID() {\n return this._ctx._traceGUID;\n }\n\n parentGUID() {\n return this._tags.parent_span_guid;\n }\n\n setParentGUID(guid) {\n this._tags.parent_span_guid = coerce.toString(guid);\n return this;\n }\n\n beginMicros() {\n return this._beginMicros;\n }\n\n setBeginMicros(micros) {\n this._beginMicros = micros;\n return this;\n }\n\n endMicros() {\n return this._endMicros;\n }\n\n setEndMicros(micros) {\n this._endMicros = micros;\n return this;\n }\n\n /**\n * Returns a URL to the trace containing this span.\n *\n * Unlike most methods, it *is* safe to call this method after `finish()`.\n *\n * @return {string} the absolute URL for the span\n */\n generateTraceURL() {\n let micros;\n if (this._beginMicros > 0 && this._endMicros > 0) {\n micros = Math.floor((this._beginMicros + this._endMicros) / 2);\n } else {\n micros = this._tracerImp._platform.nowMicros();\n }\n\n let urlPrefix = constants.LIGHTSTEP_APP_URL_PREFIX;\n let accessToken = encodeURIComponent(this._tracerImp.options().access_token);\n let guid = encodeURIComponent(this.guid());\n return `${urlPrefix}/${accessToken}/trace?span_guid=${guid}&at_micros=${micros}`;\n }\n\n getTags() {\n return this._tags;\n }\n\n /**\n * Finishes the span.\n *\n * @param {Number} finishTime\n * \tOptional Unix timestamp in milliseconds setting an explicit\n * \tfinish time for the span.\n */\n end(finishTime) {\n // Ensure a single span is not recorded multiple times\n if (this._ended) {\n return;\n }\n this._ended = true;\n\n if (finishTime !== undefined) {\n this.setEndMicros(Math.floor(finishTime * 1000));\n }\n\n // Do not set endMicros if it has already been set. This accounts for\n // the case of a span that has had it's times set manually (i.e. allows\n // for retroactively created spans that might not be possible to create\n // in real-time).\n if (this._endMicros === 0) {\n this.setEndMicros(this._tracerImp._platform.nowMicros());\n }\n\n if (util.shouldSendMetaSpan(this._tracer().options(), this.getTags())) {\n this._tracerImp.startSpan(constants.LS_META_SP_FINISH, {\n tags : {\n [constants.LS_META_EVENT_KEY] : true,\n [constants.LS_META_TRACE_KEY] : this.traceGUID(),\n [constants.LS_META_SPAN_KEY] : this.guid(),\n },\n }).finish();\n }\n\n this._tracerImp._addSpanRecord(this);\n }\n\n _toThrift() {\n let attributes = [];\n _each(this._tags, (value, key) => {\n attributes.push(new crouton_thrift.KeyValue({\n Key : coerce.toString(key),\n Value : coerce.toString(value),\n }));\n });\n\n let logs = [];\n _each(this._log_records, (logRecord) => {\n let logThrift = logRecord.toThrift();\n this._tracerImp._counters['logs.keys.over_limit'] += logRecord.getNumKeysOverLimit();\n this._tracerImp._counters['logs.values.over_limit'] += logRecord.getNumValuesOverLimit();\n logs.push(logThrift);\n });\n\n return new crouton_thrift.SpanRecord({\n span_guid : this.guid(),\n trace_guid : this.traceGUID(),\n runtime_guid : this._tracerImp.guid(),\n span_name : this._operationName,\n oldest_micros : this._beginMicros,\n youngest_micros : this._endMicros,\n attributes : attributes,\n error_flag : this._errorFlag,\n log_records : logs,\n });\n }\n\n _toProto() {\n let spanContextProto = new proto.SpanContext();\n\n spanContextProto.setTraceId(converter.hexToDec(this.traceGUID()));\n spanContextProto.setSpanId(converter.hexToDec(this.guid()));\n\n let spanProto = new proto.Span();\n spanProto.setSpanContext(spanContextProto);\n spanProto.setOperationName(this._operationName);\n\n let startTimestamp = new googleProtobufTimestampPB.Timestamp();\n let startMillis = Math.floor(this._beginMicros / 1000);\n let startSeconds = Math.floor(startMillis / 1000);\n let startNanos = (startMillis % 1000) * 1000000;\n startTimestamp.setSeconds(startSeconds);\n startTimestamp.setNanos(startNanos);\n spanProto.setStartTimestamp(startTimestamp);\n spanProto.setDurationMicros((this._endMicros - this._beginMicros).toString());\n\n let logs = [];\n _each(this._log_records, (logRecord) => {\n let logProto = logRecord.toProto();\n this._tracerImp._counters['logs.keys.over_limit'] += logRecord.getNumKeysOverLimit();\n this._tracerImp._counters['logs.values.over_limit'] += logRecord.getNumValuesOverLimit();\n logs.push(logProto);\n });\n spanProto.setLogsList(logs);\n\n let parentSpanGUID = undefined;\n let tags = [];\n _each(this._tags, (value, key) => {\n let strValue = coerce.toString(value);\n let strKey = coerce.toString(key);\n let tag = new proto.KeyValue();\n if (strKey === 'parent_span_guid') {\n parentSpanGUID = strValue;\n }\n tag.setKey(strKey);\n tag.setStringValue(strValue);\n tags.push(tag);\n });\n spanProto.setTagsList(tags);\n\n if (parentSpanGUID !== undefined) {\n let ref = new proto.Reference();\n ref.setRelationship(proto.Reference.Relationship.CHILD_OF);\n let parentSpanContext = new proto.SpanContext();\n parentSpanContext.setSpanId(converter.hexToDec(parentSpanGUID));\n ref.setSpanContext(parentSpanContext);\n spanProto.setReferencesList([ref]);\n }\n\n return spanProto;\n }\n}\n","//============================================================================//\n// Imports\n//============================================================================//\n\nimport EventEmitter from 'eventemitter3';\nimport * as opentracing from 'opentracing';\n\nimport SpanContextImp from './span_context_imp';\nimport SpanImp from './span_imp';\nimport _each from '../_each';\nimport { Platform, ProtoTransport, ThriftTransport } from '../platform_abstraction_layer';\nimport AuthImp from './auth_imp';\nimport RuntimeImp from './runtime_imp';\nimport ReportImp from './report_imp';\nimport UnsupportedPropagator from './propagator';\nimport LightStepPropagator from './propagator_ls';\n\nconst ClockState = require('./util/clock_state');\nconst LogBuilder = require('./log_builder');\nconst coerce = require('./coerce');\nconst constants = require('../constants');\nconst globals = require('./globals');\nconst packageObject = require('../../package.json');\nconst util = require('./util/util');\n\nconst DEFAULT_COLLECTOR_HOSTNAME = 'collector.lightstep.com';\nconst DEFAULT_COLLECTOR_PORT_TLS = 443;\nconst DEFAULT_COLLECTOR_PORT_PLAIN = 80;\nconst DEFAULT_COLLECTOR_PATH = '';\n\n// Internal errors should be rare. Set a low limit to ensure a cascading failure\n// does not compound an existing problem by trying to send a great deal of\n// internal error data.\nconst MAX_INTERNAL_LOGS = 20;\n\nlet _singleton = null;\n\nexport default class Tracer extends opentracing.Tracer {\n\n constructor(opts) {\n super();\n\n this._delegateEventEmitterMethods();\n\n opts = opts || {};\n\n if (!_singleton) {\n globals.setOptions(opts);\n _singleton = this;\n }\n\n // Platform abstraction layer\n this._platform = new Platform(this);\n this._runtimeGUID = opts.guid || this.override_runtime_guid || null; // Set once the group name is set\n this._plugins = {};\n this._options = {};\n this._optionDescs = [];\n this._makeOptionsTable();\n\n this._opentracing = opentracing;\n if (opts.opentracing_module) {\n this._opentracing = opts.opentracing_module;\n }\n\n let now = this._platform.nowMicros();\n\n // The thrift authentication and runtime struct are created as soon as\n // the necessary initialization options are available.\n this._startMicros = now;\n this._auth = null;\n this._runtime = null;\n\n let logger = {\n warn : (msg, payload) => { this._warn(msg, payload); },\n error : (err, payload) => { this._error(err, payload); },\n };\n\n if (opts) {\n this._transport = opts.override_transport;\n }\n\n this._propagators = {};\n this._propagators[this._opentracing.FORMAT_HTTP_HEADERS] = new LightStepPropagator(this);\n this._propagators[this._opentracing.FORMAT_TEXT_MAP] = new LightStepPropagator(this);\n this._propagators[this._opentracing.FORMAT_BINARY] = new UnsupportedPropagator(this,\n this._opentracing.FORMAT_BINARY);\n\n if (opts && opts.propagators) {\n this._propagators = Object.assign({}, this._propagators, opts.propagators);\n }\n\n\n this._reportingLoopActive = false;\n this._first_report_has_run = false;\n this._reportYoungestMicros = now;\n this._reportTimer = null;\n this._reportErrorStreak = 0; // Number of consecutive errors\n this._lastVisibleErrorMillis = 0;\n this._skippedVisibleErrors = 0;\n\n\n // Set addActiveRootSpan() for detail\n this._activeRootSpanSet = {};\n this._activeRootSpan = null;\n\n // Span reporting buffer and per-report data\n // These data are reset on every successful report.\n this._spanRecords = [];\n\n // The counter names need to match those accepted by the collector.\n // These are internal counters only.\n this._counters = {\n 'internal.errors' : 0,\n 'internal.warnings' : 0,\n 'spans.dropped' : 0,\n 'logs.dropped' : 0,\n 'logs.keys.over_limit' : 0,\n 'logs.values.over_limit' : 0,\n 'reports.errors.send' : 0,\n };\n\n // For internal (not client) logs reported to the collector\n this._internalLogs = [];\n\n // Current runtime state / status\n this._flushIsActive = false;\n\n // Built-in plugins\n this.addPlugin(require('../plugins/log_to_console'));\n\n // Initialize the platform options after the built-in plugins in\n // case any of those options affect the built-ins.\n this.addPlatformPlugins(opts);\n this.setPlatformOptions(opts);\n\n // Set constructor arguments\n if (opts) {\n this.options(opts);\n }\n\n if (typeof this._transport === 'undefined' || this._transport === null) {\n switch (this._options.transport) {\n case 'proto':\n this._transport = new ProtoTransport(logger);\n this._info('Using protobuf over HTTP transport per user-defined option.');\n break;\n case 'thrift':\n this._transport = new ThriftTransport(logger);\n this._info('Using thrift transport per user-defined option.');\n break;\n default:\n this._transport = new ProtoTransport(logger);\n this._info('Using protobuf over HTTP transport as no user-defined option was supplied.');\n }\n }\n\n // For clock skew adjustment.\n // Must be set after options have been set.\n this._useClockState = !this._options.disable_clock_skew_correction;\n this._clockState = new ClockState({\n nowMicros : () => this._platform.nowMicros(),\n localStoreGet : () => {\n let key = `clock_state/${this._options.collector_host}`;\n return this._platform.localStoreGet(key);\n },\n localStoreSet : (value) => {\n let key = `clock_state/${this._options.collector_host}`;\n return this._platform.localStoreSet(key, value);\n },\n });\n\n // This relies on the options being set: call this last.\n this._setupReportOnExit();\n\n this._info(`Tracer created with guid ${this._runtimeGUID}`);\n\n if (this._options.access_token.length === 0) {\n this._warn(\n `Access token not set -\n this requires a satellite with access token checking disabled,\n such as a developer satellite.`);\n }\n\n this.startPlugins();\n }\n\n // Morally speaking, Tracer also inherits from EventEmmiter, but we must\n // fake it via composition.\n //\n // If not obvious on inspection: a hack.\n _delegateEventEmitterMethods() {\n let self = this;\n this._ee = new EventEmitter();\n // The list of methods at https://nodejs.org/api/events.html\n _each([\n 'addListener',\n 'emit',\n 'eventNames',\n 'getMaxListeners',\n 'listenerCount',\n 'listeners',\n 'on',\n 'once',\n 'prependListener',\n 'prependOnceListener',\n 'removeAllListeners',\n 'removeListener',\n 'setMaxListeners',\n ], (methodName) => {\n self[methodName] = function () {\n if (self._ee[methodName]) {\n self._ee[methodName].apply(self._ee, arguments);\n }\n };\n });\n }\n\n _makeOptionsTable() {\n /* eslint-disable key-spacing, no-multi-spaces */\n\n // NOTE: make 'verbosity' the first option so it is processed first on\n // options changes and takes effect as soon as possible.\n this.addOption('verbosity', { type : 'int', min: 0, max: 9, defaultValue: 1 });\n\n // Core options\n this.addOption('access_token', { type: 'string', defaultValue: '' });\n this.addOption('component_name', { type: 'string', defaultValue: '' });\n this.addOption('collector_host', { type: 'string', defaultValue: DEFAULT_COLLECTOR_HOSTNAME });\n this.addOption('collector_port', { type: 'int', defaultValue: DEFAULT_COLLECTOR_PORT_TLS });\n this.addOption('collector_path', { type: 'string', defaultValue: DEFAULT_COLLECTOR_PATH });\n this.addOption('collector_encryption', { type: 'string', defaultValue: 'tls' });\n this.addOption('tags', { type: 'any', defaultValue: {} });\n this.addOption('max_reporting_interval_millis', { type: 'int', defaultValue: 2500 });\n this.addOption('disable_clock_skew_correction', { type: 'bool', defaultValue: false });\n this.addOption('transport', { type: 'string', defaultValue: 'proto' });\n\n // Non-standard, may be deprecated\n this.addOption('disabled', { type: 'bool', defaultValue: false });\n this.addOption('max_span_records', { type: 'int', defaultValue: 4096 });\n this.addOption('default_span_tags', { type: 'any', defaultValue: {} });\n this.addOption('report_timeout_millis', { type: 'int', defaultValue: 30000 });\n this.addOption('gzip_json_requests', { type: 'bool', defaultValue: true });\n this.addOption('disable_reporting_loop', { type: 'bool', defaultValue: false });\n this.addOption('disable_report_on_exit', { type: 'bool', defaultValue: false });\n this.addOption('delay_initial_report_millis', { type: 'int', defaultValue: 1000 });\n this.addOption('error_throttle_millis', { type: 'int', defaultValue: 60000 });\n this.addOption('logger', { type: 'function', defaultValue: this._printToConsole.bind(this) });\n\n // Debugging options\n //\n // These are not part of the supported public API.\n //\n // If false, SSL certificate verification is skipped. Useful for testing.\n this.addOption('certificate_verification', { type: 'bool', defaultValue: true });\n // I.e. report only on explicit calls to flush()\n\n // Unit testing options\n this.addOption('override_transport', { type : 'any', defaultValue: null });\n this.addOption('silent', { type : 'bool', defaultValue: false });\n\n // Hard upper limits to protect against worst-case scenarios for log field sizes.\n this.addOption('log_field_key_hard_limit', { type: 'int', defaultValue: 256 });\n this.addOption('log_field_value_hard_limit', { type: 'int', defaultValue: 1024 });\n\n // Meta Event reporting options\n this.addOption('disable_meta_event_reporting', { type: 'bool', defaultValue: false });\n\n /* eslint-disable key-spacing, no-multi-spaces */\n }\n\n // ---------------------------------------------------------------------- //\n // opentracing.Tracer SPI\n // ---------------------------------------------------------------------- //\n\n _startSpan(name, fields) {\n // First, assemble the SpanContextImp for our SpanImp.\n let parentCtxImp = null;\n fields = fields || {};\n if (fields.references) {\n for (let i = 0; i < fields.references.length; i++) {\n let ref = fields.references[i];\n let type = ref.type();\n if (type === this._opentracing.REFERENCE_CHILD_OF ||\n type === this._opentracing.REFERENCE_FOLLOWS_FROM) {\n let context = ref.referencedContext();\n if (!context) {\n this._error('Span reference has an invalid context', context);\n continue;\n }\n parentCtxImp = context;\n break;\n }\n }\n }\n\n let traceGUID = parentCtxImp ? parentCtxImp.traceGUID() : this.generateTraceGUIDForRootSpan();\n let sampled = parentCtxImp ? parentCtxImp._sampled : true;\n let spanImp = new SpanImp(this, name, new SpanContextImp(this._platform.generateUUID(), traceGUID, sampled));\n spanImp.addTags(this._options.default_span_tags);\n\n _each(fields, (value, key) => {\n switch (key) {\n case 'references':\n // Ignore: handled before constructing the span\n break;\n case 'startTime':\n // startTime is in milliseconds\n spanImp.setBeginMicros(Math.floor(value * 1000));\n break;\n case 'tags':\n spanImp.addTags(value);\n break;\n default:\n this._warn(`Ignoring unknown field '${key}'`);\n break;\n }\n });\n\n if (parentCtxImp !== null) {\n spanImp.setParentGUID(parentCtxImp._guid);\n }\n\n this.emit('start_span', spanImp);\n\n if (util.shouldSendMetaSpan(this.options(), spanImp.getTags())) {\n this.startSpan(constants.LS_META_SP_START,\n {\n tags : {\n [constants.LS_META_EVENT_KEY]: true,\n [constants.LS_META_TRACE_KEY]: spanImp.traceGUID(),\n [constants.LS_META_SPAN_KEY]: spanImp.guid(),\n },\n })\n .finish();\n }\n return spanImp;\n }\n\n _inject(spanContext, format, carrier) {\n if (this.options().meta_event_reporting === true) {\n this.startSpan(constants.LS_META_INJECT,\n {\n tags: {\n [constants.LS_META_EVENT_KEY]: true,\n [constants.LS_META_TRACE_KEY]: spanContext._traceGUID,\n [constants.LS_META_SPAN_KEY]: spanContext._guid,\n [constants.LS_META_PROPAGATION_KEY]: format,\n },\n })\n .finish();\n }\n switch (format) {\n case this._opentracing.FORMAT_HTTP_HEADERS:\n this._propagators[this._opentracing.FORMAT_HTTP_HEADERS].inject(spanContext, carrier);\n break;\n case this._opentracing.FORMAT_TEXT_MAP:\n this._propagators[this._opentracing.FORMAT_TEXT_MAP].inject(spanContext, carrier);\n break;\n case this._opentracing.FORMAT_BINARY:\n this._propagators[this._opentracing.FORMAT_BINARY].inject(spanContext, carrier);\n break;\n default:\n this._error(`Unknown format: ${format}`);\n break;\n }\n }\n\n _extract(format, carrier) {\n let sc = null;\n switch (format) {\n case this._opentracing.FORMAT_HTTP_HEADERS:\n sc = this._propagators[this._opentracing.FORMAT_HTTP_HEADERS].extract(carrier);\n break;\n case this._opentracing.FORMAT_TEXT_MAP:\n sc = this._propagators[this._opentracing.FORMAT_TEXT_MAP].extract(carrier);\n break;\n case this._opentracing.FORMAT_BINARY:\n sc = this._propagators[this._opentracing.FORMAT_BINARY].extract(carrier);\n break;\n default:\n this._error(`Unsupported format: ${format}`);\n return null;\n }\n if (this.options().meta_event_reporting === true && sc) {\n this.startSpan(constants.LS_META_EXTRACT,\n {\n tags: {\n [constants.LS_META_EVENT_KEY]: true,\n [constants.LS_META_TRACE_KEY]: sc._traceGUID,\n [constants.LS_META_SPAN_KEY]: sc._guid,\n [constants.LS_META_PROPAGATION_KEY]: format,\n },\n })\n .finish();\n }\n return sc;\n }\n\n // ---------------------------------------------------------------------- //\n // LightStep extensions\n // ---------------------------------------------------------------------- //\n\n /**\n * Manually sends a report of all buffered data.\n *\n * @param {Function} done - callback function invoked when the report\n * either succeeds or fails.\n */\n flush(done) {\n if (!done) {\n done = function () {};\n }\n if (this._options.disabled) {\n this._warn('Manual flush() called in disabled state.');\n return done(null);\n }\n this._flushReport(true, false, done);\n }\n\n //-----------------------------------------------------------------------//\n // Options\n //-----------------------------------------------------------------------//\n\n guid() {\n return this._runtimeGUID;\n }\n\n verbosity() {\n // The 'undefined' handling below is for logs that may occur before the\n // options are initialized.\n let v = this._options.verbosity;\n return (v === undefined) ? 1 : v;\n }\n\n // Call to generate a new Trace GUID\n generateTraceGUIDForRootSpan() {\n let guid = this._platform.generateUUID();\n if (this._activeRootSpan) {\n guid = this._activeRootSpan.traceGUID();\n }\n return guid;\n }\n\n setPlatformOptions(userOptions) {\n let opts = this._platform.options(this) || {};\n _each(userOptions, (val, key) => {\n opts[key] = val;\n });\n this.options(opts);\n }\n\n // Register a new option. Used by plug-ins.\n addOption(name, desc) {\n desc.name = name;\n this._optionDescs.push(desc);\n this._options[desc.name] = desc.defaultValue;\n }\n\n options(opts) {\n if (arguments.length === 0) {\n console.assert(typeof this._options === 'object', // eslint-disable-line\n 'Internal error: _options field incorrect');\n return this._options;\n }\n if (typeof opts !== 'object') {\n throw new Error(`options() must be called with an object: type was ${typeof opts}`);\n }\n\n // \"collector_port\" 0 acts as an alias for \"use the default\".\n if (opts.collector_port === 0) {\n delete opts.collector_port;\n }\n\n // \"collector_encryption\" acts an alias for the common cases of 'collector_port'\n if (opts.collector_encryption !== undefined && opts.collector_port === undefined) {\n opts.collector_port = opts.collector_encryption !== 'none' ?\n DEFAULT_COLLECTOR_PORT_TLS :\n DEFAULT_COLLECTOR_PORT_PLAIN;\n }\n // set meta event reporting to false by default, it will be enabled by the satellite\n this.meta_event_reporting = false;\n\n // Track what options have been modified\n let modified = {};\n let unchanged = {};\n _each(this._optionDescs, (desc) => {\n this._setOptionInternal(modified, unchanged, opts, desc);\n });\n\n // Check for any invalid options: is there a key in the specified operation\n // that didn't result either in a change or a reset to the existing value?\n for (let key in opts) {\n if (modified[key] === undefined && unchanged[key] === undefined) {\n this._warn(`Invalid option ${key} with value ${opts[key]}`);\n }\n }\n\n //\n // Update the state information based on the changes\n //\n this._initReportingDataIfNeeded(modified);\n\n if (!this._reportingLoopActive) {\n this._startReportingLoop();\n }\n\n if (this.verbosity() >= 3) {\n let optionsString = '';\n let count = 0;\n _each(modified, (val, key) => {\n optionsString += `\\t${JSON.stringify(key)}: ${JSON.stringify(val.newValue)}\\n`;\n count++;\n });\n if (count > 0) {\n this._debug(`Options modified:\\n${optionsString}`);\n }\n }\n this.emit('options', modified, this._options, this);\n }\n\n _setOptionInternal(modified, unchanged, opts, desc) {\n let name = desc.name;\n let value = opts[name];\n let valueType = typeof value;\n if (value === undefined) {\n return;\n }\n\n // Parse the option (and check constraints)\n switch (desc.type) {\n\n case 'any':\n break;\n\n case 'bool':\n if (value !== true && value !== false) {\n this._error(`Invalid boolean option '${name}' '${value}'`);\n return;\n }\n break;\n\n case 'function':\n if (typeof value !== 'function') {\n this._error(`Invalid function option '${name}' '${value}'`);\n return;\n }\n break;\n\n case 'int':\n if (valueType !== 'number' || Math.floor(value) !== value) {\n this._error(`Invalid int option '${name}' '${value}'`);\n return;\n }\n if (desc.min !== undefined && desc.max !== undefined) {\n if (!(value >= desc.min && value <= desc.max)) {\n this._error(`Option '${name}' out of range '${value}' is not between ${desc.min} and ${desc.max}`); // eslint-disable-line max-len\n return;\n }\n }\n break;\n\n case 'string':\n switch (valueType) {\n case 'string':\n break;\n case 'number':\n value = coerce.toString(value);\n break;\n default:\n this._error(`Invalid string option ${name} ${value}`);\n return;\n }\n break;\n\n case 'array':\n // Per http://stackoverflow.com/questions/4775722/check-if-object-is-array\n if (Object.prototype.toString.call(value) !== '[object Array]') {\n this._error(`Invalid type for array option ${name}: found '${valueType}'`);\n return;\n }\n break;\n\n default:\n this._error(`Unknown option type '${desc.type}'`);\n return;\n }\n\n // Set the new value, recording any modifications\n let oldValue = this._options[name];\n if (oldValue === undefined) {\n throw new Error(`Attempt to set unknown option ${name}`);\n }\n\n // Ignore no-op changes for types that can be checked quickly\n if (valueType !== 'object' && oldValue === value) {\n unchanged[name] = true;\n return;\n }\n\n modified[name] = {\n oldValue : oldValue,\n newValue : value,\n };\n this._options[name] = value;\n }\n\n // The authorization and runtime information is initialized as soon\n // as it is available. This allows logs and spans to be buffered before\n // the library is initialized, which can be helpul in a complex setup with\n // many subsystems.\n //\n _initReportingDataIfNeeded(modified) {\n // Ignore redundant initialization; complaint on inconsistencies\n if (this._auth !== null) {\n if (!this._runtime) {\n return this._error('Inconsistent state: auth initialized without runtime.');\n }\n if (modified.access_token) {\n throw new Error('Cannot change access_token after it has been set.');\n }\n if (modified.component_name) {\n throw new Error('Cannot change component_name after it has been set.');\n }\n if (modified.collector_host) {\n throw new Error('Cannot change collector_host after the connection is established');\n }\n if (modified.collector_port) {\n throw new Error('Cannot change collector_port after the connection is established');\n }\n if (modified.collector_path) {\n throw new Error('Cannot change collector_path after the connection is established');\n }\n if (modified.collector_encryption) {\n throw new Error('Cannot change collector_encryption after the connection is established');\n }\n return;\n }\n\n this._runtimeGUID = this._platform.runtimeGUID(this._options.component_name);\n\n this._auth = new AuthImp(this._options.access_token);\n\n //\n // Assemble the tracer tags from the user-specified and automatic,\n // internal tags.\n //\n let tags = {};\n _each(this._options.tags, (value, key) => {\n if (typeof value !== 'string') {\n this._error(`Tracer tag value is not a string: key=${key}`);\n return;\n }\n tags[key] = value;\n });\n tags['lightstep.tracer_version'] = packageObject.version;\n let platformTags = this._platform.tracerTags();\n _each(platformTags, (val, key) => {\n tags[key] = val;\n });\n\n this._runtime = new RuntimeImp(this._runtimeGUID, this._startMicros, this._options.component_name, tags);\n\n this._info('Initializing reporting data', {\n component_name : this._options.component_name,\n access_token : this._auth.getAccessToken(),\n });\n this.emit('reporting_initialized');\n }\n\n getLogFieldKeyHardLimit() {\n return this._options.log_field_key_hard_limit;\n }\n\n getLogFieldValueHardLimit() {\n return this._options.log_field_value_hard_limit;\n }\n\n //-----------------------------------------------------------------------//\n // Plugins\n //-----------------------------------------------------------------------//\n\n addPlatformPlugins(opts) {\n let pluginSet = this._platform.plugins(opts);\n _each(pluginSet, (val) => {\n this.addPlugin(val);\n });\n }\n\n addPlugin(plugin) {\n // Don't add plug-ins twice\n let name = plugin.name();\n if (this._plugins[name]) {\n return;\n }\n\n this._plugins[name] = plugin;\n plugin.addOptions(this);\n }\n\n startPlugins() {\n _each(this._plugins, (val, key) => {\n this._plugins[key].start(this);\n });\n }\n\n //-----------------------------------------------------------------------//\n // Spans\n //-----------------------------------------------------------------------//\n\n // This is a LightStep-specific feature that should be used sparingly. It\n // sets a \"global\" root span such that spans that would *otherwise* be root\n // span instead inherit the trace GUID of the active root span. This is\n // best clarified by example:\n //\n // On document load in the browser, an \"active root span\" is created for\n // the page load process. Any spans started without an explicit parent\n // will the document load trace GUID instead of starting a trace GUID.\n // This implicit root remains active only until the page is done loading.\n //\n // Any span adding itself as a root span *must* remove itself along with\n // calling finish(). This will *not* be done automatically.\n //\n // NOTE: currently, only the trace GUID is transferred; it may or may not\n // make sure to make this a proper parent.\n //\n // NOTE: the root span tracking is handled as a set rather than a single\n // global to avoid conflicts between libraries.\n addActiveRootSpan(span) {\n this._activeRootSpanSet[span._guid] = span;\n this._setActiveRootSpanToYoungest();\n }\n\n removeActiveRootSpan(span) {\n delete this._activeRootSpanSet[span._guid];\n this._setActiveRootSpanToYoungest();\n }\n\n _setActiveRootSpanToYoungest() {\n // Set the _activeRootSpan to the youngest of the roots in case of\n // multiple.\n this._activeRootSpan = null;\n _each(this._activeRootSpanSet, (span) => {\n if (!this._activeRootSpan ||\n span._beginMicros > this._activeRootSpan._beginMicros) {\n this._activeRootSpan = span;\n }\n });\n }\n\n //-----------------------------------------------------------------------//\n // Encoding / decoding\n //-----------------------------------------------------------------------//\n\n _objectToUint8Array(obj) {\n let jsonString;\n try {\n // encodeURIComponent() is a *very* inefficient, but simple and\n // well-supported way to avoid having to think about Unicode in\n // in the conversion to a UInt8Array.\n //\n // Writing multiple bytes for String.charCodeAt and\n // String.codePointAt would be an alternate approach; again,\n // simplicitly is being preferred over efficiency for the moment.\n jsonString = encodeURIComponent(JSON.stringify(obj));\n } catch (e) {\n this._error('Could not binary encode carrier data.');\n return null;\n }\n\n let buffer = new ArrayBuffer(jsonString.length);\n let view = new Uint8Array(buffer);\n for (let i = 0; i < jsonString.length; i++) {\n let code = jsonString.charCodeAt(i);\n if (!(code >= 0 && code <= 255)) {\n this._error('Unexpected character code');\n return null;\n }\n view[i] = code;\n }\n return view;\n }\n\n _uint8ArrayToObject(arr) {\n if (!arr) {\n this._error('Array is null');\n return null;\n }\n\n let jsonString = '';\n for (let i = 0; i < arr.length; i++) {\n jsonString += String.fromCharCode(arr[i]);\n }\n try {\n return JSON.parse(decodeURIComponent(jsonString));\n } catch (e) {\n this._error('Could not decode binary data.');\n return null;\n }\n }\n\n //-----------------------------------------------------------------------//\n // Logging\n //-----------------------------------------------------------------------//\n\n log() {\n let b = new LogBuilder(this);\n return b;\n }\n\n //-----------------------------------------------------------------------//\n // Buffers\n //-----------------------------------------------------------------------//\n\n _clearBuffers() {\n this._spanRecords = [];\n this._internalLogs = [];\n\n // Create a new object to avoid overwriting the values in any references\n // to the old object\n let counters = {};\n _each(this._counters, (unused, key) => {\n counters[key] = 0;\n });\n this._counters = counters;\n }\n\n _buffersAreEmpty() {\n if (this._spanRecords.length > 0) {\n return false;\n }\n if (this._internalLogs.length > 0) {\n return false;\n }\n\n let countersAllZero = true;\n _each(this._counters, (val) => {\n if (val > 0) {\n countersAllZero = false;\n }\n });\n return countersAllZero;\n }\n\n _addSpanRecord(record) {\n this._internalAddSpanRecord(record);\n this.emit('span_added', record);\n }\n\n _internalAddSpanRecord(record) {\n if (!record) {\n this._error('Attempt to add null record to buffer');\n return;\n }\n\n if (this._spanRecords.length >= this._options.max_span_records) {\n let index = Math.floor(this._spanRecords.length * Math.random());\n this._spanRecords[index] = record;\n this._counters['spans.dropped']++;\n } else {\n this._spanRecords.push(record);\n }\n }\n\n _restoreRecords(spans, internalLogs, counters) {\n _each(spans, (span) => {\n this._internalAddSpanRecord(span);\n });\n\n let currentInternalLogs = this._internalLogs;\n this._internalLogs = [];\n let toAdd = internalLogs.concat(currentInternalLogs);\n _each(toAdd, (log) => {\n this._pushInternalLog(log);\n });\n\n _each(counters, (value, key) => {\n if (key in this._counters) {\n this._counters[key] += value;\n } else {\n this._error(`Bad counter name: ${key}`);\n }\n });\n }\n\n //-----------------------------------------------------------------------//\n // Reporting loop\n //-----------------------------------------------------------------------//\n\n _setupReportOnExit() {\n if (this._options.disable_report_on_exit) {\n this._debug('report-on-exit is disabled.');\n return;\n }\n\n // Do a final explicit flush. Note that the final flush may enqueue\n // asynchronous callbacks that cause the 'beforeExit' event to be\n // re-emitted when those callbacks finish.\n let finalFlushOnce = 0;\n let finalFlush = () => {\n if (finalFlushOnce++ > 0) { return; }\n this._info('Final flush before exit.');\n this._flushReport(false, true, (err) => {\n if (err) {\n this._warn('Final report before exit failed', {\n error : err,\n unflushed_spans : this._spanRecords.length,\n buffer_youngest_micros : this._reportYoungestMicros,\n });\n }\n });\n };\n this._platform.onBeforeExit(finalFlush);\n }\n\n _startReportingLoop() {\n if (this._options.disabled) {\n this._info('Not starting reporting loop: instrumentation is disabled.');\n return;\n }\n if (this._options.disable_reporting_loop) {\n this._info('Not starting reporting loop: reporting loop is disabled.');\n return;\n }\n if (this._auth === null) {\n // Don't start the loop until the thrift data necessary to do the\n // report is set up.\n return;\n }\n if (this._reportingLoopActive) {\n this._info('Reporting loop already started!');\n return;\n }\n\n this._info('Starting reporting loop:', this._runtime);\n this._reportingLoopActive = true;\n\n // Stop the reporting loop so the Node.js process does not become a\n // zombie waiting for the timers.\n let stopReportingOnce = 0;\n let stopReporting = () => {\n if (stopReportingOnce++ > 0) { return; }\n this._stopReportingLoop();\n };\n this._platform.onBeforeExit(stopReporting);\n\n // Begin the asynchronous reporting loop\n let loop = () => {\n this._enqueueNextReport((err) => {\n if (this._reportingLoopActive) {\n loop();\n }\n });\n };\n\n const delay = Math.floor(Math.random() * this._options.delay_initial_report_millis);\n util.detachedTimeout(() => {\n loop();\n }, delay);\n }\n\n _stopReportingLoop() {\n this._debug('Stopping reporting loop');\n\n this._reportingLoopActive = false;\n clearTimeout(this._reportTimer);\n this._reportTimer = null;\n }\n\n _enqueueNextReport(done) {\n // If there's already a report request enqueued, ignore this new\n // request.\n if (this._reportTimer) {\n return;\n }\n\n // If the clock state is still being primed, potentially use the\n // shorted report interval.\n //\n // However, do not use the shorter interval in the case of an error.\n // That does not provide sufficient backoff.\n let reportInterval = this._options.max_reporting_interval_millis;\n if (this._reportErrorStreak === 0 &&\n this._useClockState &&\n !this._clockState.isReady()) {\n reportInterval = Math.min(constants.CLOCK_STATE_REFRESH_INTERVAL_MS, reportInterval);\n }\n\n // After 3 consecutive errors, expand the retry delay up to 8x the\n // normal interval, jitter the delay by +/- 25%, and be sure to back off\n // *at least* the standard reporting interval in the case of an error.\n let backOff = 1 + Math.min(7, Math.max(0, this._reportErrorStreak));\n let basis = backOff * reportInterval;\n let jitter = 1.0 + (Math.random() * 0.5 - 0.25);\n let delay = Math.floor(Math.max(0, jitter * basis));\n\n this._debug(`Delaying next flush for ${delay}ms`);\n this._reportTimer = util.detachedTimeout(() => {\n this._reportTimer = null;\n this._flushReport(false, false, done);\n }, delay);\n }\n\n /**\n * Internal worker for a flush of buffered data into a report.\n *\n * @param {bool} manual - this is a manually invoked flush request. Don't\n * override this call with a clock state syncing flush, for example.\n * @param {bool} detached - this is an \"at exit\" flush that should not block\n * the calling process in any manner. This is specifically called\n * \"detached\" due to the browser use case where the report is done,\n * not just asynchronously, but as a script request that continues\n * to run even if the page is navigated away from mid-request.\n * @param {function} done - standard callback function called on success\n * or error.\n */\n _flushReport(manual, detached, done) {\n done = done || function (err) {};\n\n let clockReady = this._clockState.isReady();\n let clockOffsetMicros = this._clockState.offsetMicros();\n\n // Diagnostic information on the clock correction\n this._debug('time correction state', {\n offset_micros : clockOffsetMicros,\n active_samples : this._clockState.activeSampleCount(),\n ready : clockReady,\n });\n\n let spanRecords = this._spanRecords;\n let counters = this._counters;\n let internalLogs = this._internalLogs;\n\n // If the clock is not ready, do an \"empty\" flush to build more clock\n // samples before the real data is reported.\n // A detached flush (i.e. one intended to fire at exit or other \"last\n // ditch effort\" event) should always use the real data.\n if (this._useClockState && !manual && !clockReady && !detached) {\n this._debug('Flushing empty report to prime clock state');\n spanRecords = [];\n counters = {};\n internalLogs = [];\n } else {\n // Early out if we can.\n if (this._buffersAreEmpty()) {\n this._debug('Skipping empty report');\n return done(null);\n }\n\n // Clear the object buffers as the data is now in the local\n // variables\n this._clearBuffers();\n this._debug(`Flushing report (${spanRecords.length} spans)`);\n }\n\n this._transport.ensureConnection(this._options);\n\n // Ensure the runtime GUID is set as it is possible buffer logs and\n // spans before the GUID is necessarily set.\n console.assert(this._runtimeGUID !== null, 'No runtime GUID for Tracer'); // eslint-disable-line no-console\n\n let timestampOffset = this._useClockState ? clockOffsetMicros : 0;\n let now = this._platform.nowMicros();\n let report = new ReportImp(this._runtime, this._reportYoungestMicros, now,\n spanRecords, internalLogs, counters, timestampOffset);\n\n this.emit('prereport', report);\n let originMicros = this._platform.nowMicros();\n\n if (this._options.meta_event_reporting && !this._first_report_has_run) {\n this._first_report_has_run = true;\n this.startSpan(constants.LS_META_TRACER_CREATE, {\n tags: {\n [constants.LS_META_EVENT_KEY]: true,\n [constants.LS_META_TRACER_GUID_KEY]: this._runtimeGUID,\n },\n }).finish();\n }\n\n this._transport.report(detached, this._auth, report, (err, res) => {\n let destinationMicros = this._platform.nowMicros();\n let reportWindowSeconds = (now - report.oldest_micros) / 1e6;\n\n if (err) {\n // How many errors in a row? Influences the report backoff.\n this._reportErrorStreak++;\n\n // On a failed report, re-enqueue the data that was going to be\n // sent.\n let errString;\n if (err.message) {\n errString = `${err.message}`;\n } else {\n errString = `${err}`;\n }\n this._warn(`Error in report: ${errString}`, {\n last_report_seconds_ago : reportWindowSeconds,\n });\n\n this._restoreRecords(\n report.getSpanRecords(),\n report.getInternalLogs(),\n report.getCounters());\n\n // Increment the counter *after* the counters are restored\n this._counters['reports.errors.send']++;\n\n this.emit('report_error', err, {\n error : err,\n streak : this._reportErrorStreak,\n detached : detached,\n });\n } else {\n if (this.verbosity() >= 4) {\n this._debug(`Report flushed for last ${reportWindowSeconds} seconds`, {\n spans_reported : report.getSpanRecords().length,\n });\n }\n\n // Update internal data after the successful report\n this._reportErrorStreak = 0;\n this._reportYoungestMicros = now;\n\n // Update the clock state if there's info from the report\n if (res) {\n if (res.timing && res.timing.receive_micros && res.timing.transmit_micros) {\n this._clockState.addSample(\n originMicros,\n res.timing.receive_micros,\n res.timing.transmit_micros,\n destinationMicros);\n } else {\n // The response does not have timing information. Disable\n // the clock state assuming there'll never be timing data\n // to use.\n this._useClockState = false;\n }\n\n if (res.errors && res.errors.length > 0) {\n this._warn('Errors in report', res.errors);\n }\n\n if (res.commandsList && res.commandsList.length > 0) {\n if (res.commandsList[0].devMode && this.options().disable_meta_event_reporting !== true) {\n this.options().meta_event_reporting = true;\n }\n }\n } else {\n this._useClockState = false;\n }\n\n this.emit('report', report, res);\n }\n return done(err);\n });\n }\n\n //-----------------------------------------------------------------------//\n // Stats and metrics\n //-----------------------------------------------------------------------//\n\n /**\n * Internal API that returns some internal metrics.\n */\n stats() {\n return {\n counters : this._counters,\n };\n }\n\n //-----------------------------------------------------------------------//\n // Internal logging & errors\n //-----------------------------------------------------------------------//\n // The rules for how internal logs are processed:\n //\n // * Internal logs that are included in the Collector report:\n // - Always send errors logs along with the reports\n // - Never include any other logs\n // * Internal logs that are echoed to the host application:\n // - See the README.md :)\n //\n _debug(msg, payload) {\n if (this.verbosity() < 4) {\n return;\n }\n this._options.logger('debug', msg, payload);\n }\n\n _info(msg, payload) {\n if (this.verbosity() < 3) {\n return;\n }\n this._options.logger('info', msg, payload);\n }\n\n _warn(msg, payload) {\n this._counters['internal.warnings']++;\n\n if (this.verbosity() < 3) {\n return;\n }\n this._options.logger('warn', msg, payload);\n }\n\n _error(msg, payload) {\n this._counters['internal.errors']++;\n\n // Internal errors are always reported to the collector\n let record = this.log()\n .level(constants.LOG_ERROR)\n .message(msg)\n .payload(payload)\n .record();\n this._pushInternalLog(record);\n\n // Internal errors are reported to the host console conditionally based\n // on the verbosity level.\n let verbosity = this.verbosity();\n if (verbosity === 0) {\n return;\n }\n\n // Error messages are throttled in verbosity === 1 mode\n const now = Date.now();\n if (verbosity === 1) {\n const nextVisible = this._lastVisibleErrorMillis + this._options.error_throttle_millis;\n if (now < nextVisible) {\n this._skippedVisibleErrors++;\n return;\n }\n if (this._skippedVisibleErrors > 0) {\n /* eslint-disable max-len */\n const s = `${this._skippedVisibleErrors} errors masked since last logged error. Increase 'verbosity' option to see all errors.`;\n /* eslint-enable max-len */\n this._options.logger('error', s, payload);\n }\n }\n\n this._options.logger('error', msg, payload);\n this._lastVisibleErrorMillis = now;\n this._skippedVisibleErrors = 0;\n }\n\n _printToConsole(level, msg, payload) {\n let method = 'log';\n let message = `[LightStep:INFO] ${msg}`;\n if (level === 'debug') {\n method = 'log';\n message = `[LightStep:DEBUG] ${msg}`;\n } else if (level === 'info') {\n method = 'log';\n message = `[LightStep:INFO] ${msg}`;\n } else if (level === 'warn') {\n method = 'warn';\n message = `[LightStep:WARN] ${msg}`;\n } else if (level === 'error') {\n method = 'error';\n message = `[LightStep:ERROR] ${msg}`;\n }\n\n // Internal option to silence intentional errors generated by the unit\n // tests.\n if (this._options.silent) {\n return;\n }\n\n if (payload !== undefined) {\n console[method](message, payload); // eslint-disable-line no-console\n } else {\n console[method](message); // eslint-disable-line no-console\n }\n }\n\n _pushInternalLog(record) {\n if (!record) {\n return;\n }\n if (this._internalLogs.length >= MAX_INTERNAL_LOGS) {\n record.message = `MAX_INTERNAL_LOGS limit hit. Last error: ${record.message}`;\n this._internalLogs[this._internalLogs.length - 1] = record;\n } else {\n this._internalLogs.push(record);\n }\n }\n}\n","import _each from '../../_each';\n\n// How many updates before a sample is considered old. This happens to\n// be one less than the number of samples in our buffer but that's\n// somewhat arbitrary.\nconst kMaxOffsetAge = 7;\n\nconst kStoredSamplesTTLMicros = 60 * 60 * 1000 * 1000; // 1 hour\n\nclass ClockState {\n\n constructor(opts) {\n this._nowMicros = opts.nowMicros;\n this._localStoreGet = opts.localStoreGet;\n this._localStoreSet = opts.localStoreSet;\n\n // The last eight samples, computed from timing information in\n // RPCs.\n this._samples = [];\n this._currentOffsetMicros = 0;\n\n // How many updates since we've updated currentOffsetMicros.\n this._currentOffsetAge = kMaxOffsetAge + 1;\n\n // Try to load samples from the local store.\n // Only use the data if it's recent.\n let storedData = this._localStoreGet();\n if (storedData &&\n storedData.timestamp_micros &&\n storedData.timestamp_micros > this._nowMicros() - kStoredSamplesTTLMicros) {\n // Make sure there are no more than (kMaxOffsetAge+1) elements\n this._samples = storedData.samples.slice(-(kMaxOffsetAge + 1));\n }\n // Update the current offset based on these data.\n this.update();\n }\n\n // Add a new timing sample and update the offset.\n addSample(originMicros,\n receiveMicros,\n transmitMicros,\n destinationMicros\n ) {\n let latestDelayMicros = Number.MAX_VALUE;\n let latestOffsetMicros = 0;\n // Ensure that all of the data are valid before using them. If\n // not, we'll push a {0, MAX} record into the queue.\n if (originMicros > 0 && receiveMicros > 0 &&\n transmitMicros > 0 && destinationMicros > 0) {\n latestDelayMicros = (destinationMicros - originMicros) -\n (transmitMicros - receiveMicros);\n latestOffsetMicros = ((receiveMicros - originMicros) +\n (transmitMicros - destinationMicros)) / 2;\n }\n\n // Discard the oldest sample and push the new one.\n if (this._samples.length === kMaxOffsetAge + 1) {\n this._samples.shift();\n }\n this._samples.push({\n delayMicros : latestDelayMicros,\n offsetMicros : latestOffsetMicros,\n });\n this._currentOffsetAge++;\n\n // Update the local store with this new sample.\n this._localStoreSet({\n timestamp_micros : this._nowMicros(),\n samples : this._samples,\n });\n this.update();\n }\n\n // Update the time offset based on the current samples.\n update() {\n // This is simplified version of the clock filtering in Simple\n // NTP. It ignores precision and dispersion (frequency error). In\n // brief, it keeps the 8 (kMaxOffsetAge+1) most recent\n // delay-offset pairs, and considers the offset with the smallest\n // delay to be the best one. However, it only uses this new offset\n // if the change (relative to the last offset) is small compared\n // to the estimated error.\n //\n // See:\n // https://tools.ietf.org/html/rfc5905#appendix-A.5.2\n // http://books.google.com/books?id=pdTcJBfnbq8C\n // esp. section 3.5\n // http://www.eecis.udel.edu/~mills/ntp/html/filter.html\n // http://www.eecis.udel.edu/~mills/database/brief/algor/algor.pdf\n // http://www.eecis.udel.edu/~mills/ntp/html/stats.html\n\n // TODO: Consider huff-n'-puff if the delays are highly asymmetric.\n // http://www.eecis.udel.edu/~mills/ntp/html/huffpuff.html\n\n // Find the sample with the smallest delay; the corresponding\n // offset is the \"best\" one.\n let minDelayMicros = Number.MAX_VALUE;\n let bestOffsetMicros = 0;\n _each(this._samples, (sample) => {\n if (sample.delayMicros < minDelayMicros) {\n minDelayMicros = sample.delayMicros;\n bestOffsetMicros = sample.offsetMicros;\n }\n });\n\n // No update.\n if (bestOffsetMicros === this._currentOffsetMicros) {\n return;\n }\n\n // Now compute the jitter, i.e. the error relative to the new\n // offset were we to use it.\n let jitter = 0;\n _each(this._samples, (sample) => {\n jitter += Math.pow(bestOffsetMicros - sample.offsetMicros, 2);\n });\n jitter = Math.sqrt(jitter / this._samples.length);\n\n // Ignore spikes: only use the new offset if the change is not too\n // large... unless the current offset is too old. The \"too old\"\n // condition is also triggered when update() is called from the\n // constructor.\n const kSGATE = 3; // See RFC 5905\n if (this._currentOffsetAge > kMaxOffsetAge ||\n Math.abs(this._currentOffsetMicros - bestOffsetMicros) < kSGATE * jitter) {\n this._currentOffsetMicros = bestOffsetMicros;\n this._currentOffsetAge = 0;\n }\n }\n\n // Returns the difference in microseconds between the server's clock\n // and our clock. This should be added to any local timestamps before\n // sending them to the server. Note that a negative offset means that\n // the local clock is ahead of the server's.\n offsetMicros() {\n return Math.floor(this._currentOffsetMicros);\n }\n\n // Returns true if we've performed enough measurements to be confident\n // in the current offset.\n isReady() {\n return this._samples.length > 3;\n }\n\n activeSampleCount() {\n return this._samples.length;\n }\n}\n\nmodule.exports = ClockState;\n","class Util {\n // Similar to a regular setTimeout() call, but dereferences the timer so the\n // program execution will not be held up by this timer.\n detachedTimeout(callback, delay) {\n let timer = setTimeout(callback, delay);\n if (timer.unref) {\n timer.unref();\n }\n return timer;\n }\n\n shouldSendMetaSpan(opts, tags) {\n let shouldSendSpan = opts.meta_event_reporting === true && tags['lightstep.meta_event'] !== true;\n return shouldSendSpan;\n }\n}\n\nexport default new Util();\n","import Tracer from './imp/tracer_imp';\nimport LightStepPropagator from './imp/propagator_ls';\nimport B3Propagator from './imp/propagator_b3';\nimport { Platform } from './platform_abstraction_layer';\n\nconst library = {\n Tracer : Tracer,\n LightStepPropagator : LightStepPropagator,\n B3Propagator : B3Propagator,\n};\n\nPlatform.initLibrary(library);\nmodule.exports = library;\n","/* global PLATFORM_BROWSER */\n\n// Hide the differences in how the Thrift compiler generates code for the\n// different platforms as well as expose a Platform class to abstract a few\n// general differences in the platforms.\nif ((typeof PLATFORM_BROWSER !== 'undefined') && PLATFORM_BROWSER) {\n module.exports = {\n Platform : require('./imp/platform/browser/platform_browser.js'),\n ThriftTransport : require('./imp/platform/browser/transport_httpthrift.js'),\n ProtoTransport : require('./imp/platform/browser/transport_httpproto.js'),\n thrift : require('./imp/platform/browser/thrift.js'),\n crouton_thrift : require('./imp/platform/browser/crouton_thrift.js'),\n proto : require('./imp/generated_proto/collector_pb.js'),\n };\n} else {\n module.exports = {\n Platform : require('./imp/platform/node/platform_node.js'),\n ThriftTransport : require('./imp/platform/node/transport_httpthrift.js'),\n ProtoTransport : require('./imp/platform/node/transport_httpproto.js'),\n thrift : require('thrift'),\n crouton_thrift : require('./imp/platform/node/crouton_thrift.js'),\n proto : require('./imp/generated_proto/collector_pb.js'),\n };\n}\n","import _each from '../_each';\n\nclass InstrumentPageLoad {\n constructor() {\n this._inited = false;\n this._span = null;\n }\n\n name() {\n return 'instrument_page_load';\n }\n\n addOptions(tracerImp) {\n tracerImp.addOption('instrument_page_load', { type : 'bool', defaultValue : false });\n }\n\n start(tracerImp) {\n if (this._inited) {\n return;\n }\n this._inited = true;\n\n if (typeof window !== 'object' || typeof document !== 'object') {\n return;\n }\n\n const currentOptions = tracerImp.options();\n if (currentOptions.instrument_page_load) {\n this._ensureSpanStarted(tracerImp);\n document.addEventListener('readystatechange', this._handleReadyStateChange.bind(this));\n }\n }\n\n stop() {\n }\n\n _ensureSpanStarted(tracerImp) {\n if (!this._span) {\n this._span = tracerImp.startSpan('document/load');\n tracerImp.addActiveRootSpan(this._span);\n }\n }\n\n _handleReadyStateChange() {\n if (!this._span) {\n return;\n }\n\n let span = this._span;\n let state = document.readyState;\n let payload = undefined;\n if (state === 'complete') {\n payload = {};\n if (window.performance && performance.timing) {\n this._addTimingSpans(span, performance.timing);\n payload['window.performance.timing'] = performance.timing;\n }\n }\n\n span.logEvent(`document.readystatechange ${state}`, payload);\n\n if (state === 'complete') {\n if (span.tracer()) {\n span.tracer().removeActiveRootSpan(span.tracer());\n }\n span.finish();\n }\n }\n\n _copyNavigatorProperties(nav) {\n let dst = {};\n for (let key in nav) { // eslint-disable-line guard-for-in\n try {\n let value = nav[key];\n switch (key) {\n\n case 'plugins': {\n let p = [];\n for (let i = 0; i < value.length; i++) {\n let item = value.item(i);\n p.push({\n name : item.name,\n description : item.description,\n });\n }\n dst[key] = p;\n } break;\n\n case 'mimeTypes': {\n let p = [];\n for (let i = 0; i < value.length; i++) {\n let item = value.item(i);\n p.push({\n type : item.type,\n description : item.description,\n suffixes : item.suffixes,\n });\n }\n dst[key] = p;\n } break;\n\n default:\n dst[key] = value;\n break;\n }\n } catch (e) {\n // Skip, just in case\n }\n }\n return dst;\n }\n\n // Retroactively create the appropriate spans and logs\n _addTimingSpans(parentImp, timing) {\n // NOTE: this currently relies on LightStep-specific APIs\n if (!parentImp) {\n return;\n }\n\n parentImp.setTag('user_agent', navigator.userAgent);\n\n _each(timing, (value, key) => {\n // e.g. secureConnectionStart is not always set\n if (typeof value !== 'number' || value === 0) {\n return;\n }\n\n let payload = undefined;\n\n if (key === 'navigationStart' && typeof navigator === 'object') {\n payload = {\n navigator : this._copyNavigatorProperties(navigator),\n };\n }\n parentImp.log({\n message : `document ${key}`,\n payload : payload,\n }, value);\n });\n\n parentImp.setBeginMicros(timing.navigationStart * 1000.0);\n\n parentImp.tracer().startSpan('document/time_to_first_byte', { childOf : parentImp })\n .setBeginMicros(timing.requestStart * 1000.0)\n .setEndMicros(timing.responseStart * 1000.0)\n .finish();\n parentImp.tracer()\n .startSpan('document/response_transfer', { childOf : parentImp })\n .setBeginMicros(timing.responseStart * 1000.0)\n .setEndMicros(timing.responseEnd * 1000.0)\n .finish();\n parentImp.tracer().startSpan('document/dom_load', { childOf : parentImp })\n .setBeginMicros(timing.domLoading * 1000.0)\n .setEndMicros(timing.domInteractive * 1000.0)\n .finish();\n }\n}\n\nmodule.exports = new InstrumentPageLoad();\n","import * as opentracing from 'opentracing';\n\n// Capture the proxied values on script load (i.e. ASAP) in case there are\n// multiple layers of instrumentation.\nlet proxiedFetch;\nif (typeof window === 'object' && typeof window.fetch !== 'undefined') {\n proxiedFetch = window.fetch;\n}\n\nfunction getCookies() {\n if (typeof document === 'undefined' || !document.cookie) {\n return null;\n }\n let cookies = document.cookie.split(';');\n let data = {};\n let count = 0;\n for (let i = 0; i < cookies.length; i++) {\n let parts = cookies[i].split('=', 2);\n if (parts.length === 2) {\n let key = parts[0].replace(/^\\s+/, '').replace(/\\s+$/, '');\n data[key] = decodeURIComponent(parts[1]);\n try {\n data[key] = JSON.parse(data[key]);\n } catch (_ignored) { /* Ignored */ }\n count++;\n }\n }\n if (count > 0) {\n return data;\n }\n return null;\n}\n\n// Normalize the getAllResponseHeaders output\nfunction getResponseHeaders(response) {\n const result = {};\n for (let pair of response.headers.entries()) {\n result[pair[0]] = pair[1];\n }\n return result;\n}\n\n// Automatically create spans for all requests made via window.fetch.\n//\n// NOTE: this code currently works only with a single Tracer.\n//\nclass InstrumentFetch {\n constructor() {\n this._enabled = this._isValidContext();\n this._proxyInited = false;\n this._internalExclusions = [];\n this._tracer = null;\n this._handleOptions = this._handleOptions.bind(this);\n\n if (!this._enabled) {\n return;\n }\n }\n\n name() {\n return 'instrument_fetch';\n }\n\n addOptions(tracerImp) {\n tracerImp.addOption('fetch_instrumentation', { type : 'bool', defaultValue : false });\n tracerImp.addOption('fetch_url_inclusion_patterns', { type : 'array', defaultValue : [/.*/] });\n tracerImp.addOption('fetch_url_exclusion_patterns', { type : 'array', defaultValue : [] });\n tracerImp.addOption('include_cookies', { type : 'bool', defaultValue : true });\n }\n\n start(tracerImp) {\n if (!this._enabled) {\n return;\n }\n this._tracer = tracerImp;\n\n let currentOptions = tracerImp.options();\n this._addServiceHostToExclusions(currentOptions);\n this._handleOptions({}, currentOptions);\n tracerImp.on('options', this._handleOptions);\n }\n\n stop() {\n if (!this._enabled) {\n return;\n }\n window.fetch = proxiedFetch;\n }\n\n /**\n * Respond to options changes on the Tracer.\n *\n * Note that `modified` is the options that have changed in this call,\n * along with their previous and new values. `current` is the full set of\n * current options *including* the newly modified values.\n */\n _handleOptions(modified, current) {\n // Automatically add the service host itself to the list of exclusions\n // to avoid reporting on the reports themselves\n let serviceHost = modified.collector_host;\n if (serviceHost) {\n this._addServiceHostToExclusions(current);\n }\n\n // Set up the proxied fetch calls unless disabled\n if (!this._proxyInited && current.fetch_instrumentation) {\n this._proxyInited = true;\n window.fetch = this._instrumentFetch();\n }\n }\n\n /**\n * Ensure that the reports to the collector don't get instrumented as well,\n * as that recursive instrumentation is more confusing than valuable!\n */\n _addServiceHostToExclusions(opts) {\n if (opts.collector_host.length === 0) {\n return;\n }\n\n // http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex\n function escapeRegExp(str) {\n return (`${str}`).replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n }\n\n // Check against the hostname without the port as well as the canonicalized\n // URL may drop the standard port.\n let host = escapeRegExp(opts.collector_host);\n let port = escapeRegExp(opts.collector_port);\n let set = [new RegExp(`^https?://${host}:${port}`)];\n if (port === '80') {\n set.push(new RegExp(`^http://${host}`));\n } else if (port === '443') {\n set.push(new RegExp(`^https://${host}`));\n }\n this._internalExclusions = set;\n }\n\n /**\n * Check preconditions for the auto-instrumentation of fetch to work properly.\n * There are a lot of potential JavaScript platforms.\n */\n _isValidContext() {\n if (typeof window === 'undefined') {\n return false;\n }\n if (!window.fetch) {\n return false;\n }\n return true;\n }\n\n _instrumentFetch() {\n let self = this;\n let tracer = this._tracer;\n\n return function (request, options = {}) {\n const url = typeof request === 'string' ? request : request.url;\n const opts = tracer.options();\n\n if (!self._shouldTrace(tracer, url)) {\n return proxiedFetch.apply(null, arguments);\n }\n\n let span = tracer.startSpan('fetch');\n tracer.addActiveRootSpan(span);\n\n let tags = {\n method : options && options.method ? options.method : 'GET',\n url : url,\n };\n if (url) {\n tags.url_pathname = url.split('?')[0];\n }\n\n const fetchPayload = Object.assign({}, tags);\n if (opts.include_cookies) {\n fetchPayload.cookies = getCookies();\n }\n\n options.headers = new Headers(options.headers);\n // Add Open-Tracing headers\n const headersCarrier = {};\n tracer.inject(span.context(), opentracing.FORMAT_HTTP_HEADERS, headersCarrier);\n const keys = Object.keys(headersCarrier);\n keys.forEach((key) => {\n options.headers.append(key, headersCarrier[key]);\n });\n span.log({\n event : 'sending',\n method : options.method || 'GET',\n url : url,\n openPayload : fetchPayload,\n });\n span.addTags(tags);\n\n return proxiedFetch(request, options).then((response) => {\n if (!response.ok) {\n span.addTags({ error : true });\n }\n span.log({\n method : options.method || 'GET',\n headers : getResponseHeaders(response),\n status : response.status,\n statusText : response.statusText,\n responseType : response.type,\n url : response.url,\n });\n tracer.removeActiveRootSpan(span);\n span.finish();\n return response;\n }).catch((e) => {\n span.addTags({ error : true });\n tracer.removeActiveRootSpan(span);\n span.log({\n event : 'error',\n error : e,\n });\n span.finish();\n throw e;\n });\n };\n }\n\n _shouldTrace(tracer, url) {\n // This shouldn't be possible, but let's be paranoid\n if (!tracer) {\n return false;\n }\n\n let opts = tracer.options();\n if (opts.disabled) {\n return false;\n }\n if (!url) {\n return false;\n }\n for (let key in this._internalExclusions) {\n if (!this._internalExclusions.hasOwnProperty(key)) {\n continue;\n }\n const ex = this._internalExclusions[key];\n if (ex.test(url)) {\n return false;\n }\n }\n let include = false;\n for (let key in opts.fetch_url_inclusion_patterns) {\n if (!opts.fetch_url_inclusion_patterns.hasOwnProperty(key)) {\n continue;\n }\n const inc = opts.fetch_url_inclusion_patterns[key];\n if (inc.test(url)) {\n include = true;\n break;\n }\n }\n if (!include) {\n return false;\n }\n for (let key in opts.fetch_url_exclusion_patterns) {\n if (!opts.fetch_url_exclusion_patterns.hasOwnProperty(key)) {\n continue;\n }\n const ex = opts.fetch_url_exclusion_patterns[key];\n if (ex.test(url)) {\n return false;\n }\n }\n return true;\n }\n}\n\nmodule.exports = new InstrumentFetch();\n","import _each from '../_each';\nimport * as opentracing from 'opentracing';\n\n// Capture the proxied values on script load (i.e. ASAP) in case there are\n// multiple layers of instrumentation.\nlet proxied = {};\nif (typeof window === 'object' && typeof window.XMLHttpRequest !== 'undefined') {\n proxied = {\n XMLHttpRequest : XMLHttpRequest,\n open : XMLHttpRequest.prototype.open,\n send : XMLHttpRequest.prototype.send,\n setRequestHeader : XMLHttpRequest.prototype.setRequestHeader,\n };\n}\n\nfunction getCookies() {\n if (typeof document === 'undefined' || !document.cookie) {\n return null;\n }\n let cookies = document.cookie.split(';');\n let data = {};\n let count = 0;\n for (let i = 0; i < cookies.length; i++) {\n let parts = cookies[i].split('=', 2);\n if (parts.length === 2) {\n let key = parts[0].replace(/^\\s+/, '').replace(/\\s+$/, '');\n data[key] = decodeURIComponent(parts[1]);\n try {\n data[key] = JSON.parse(data[key]);\n } catch (_ignored) { /* Ignored */ }\n count++;\n }\n }\n if (count > 0) {\n return data;\n }\n return null;\n}\n\n// Normalize the getAllResponseHeaders output\nfunction getResponseHeaders(xhr) {\n let raw = xhr.getAllResponseHeaders();\n let parts = raw.replace(/\\s+$/, '').split(/\\n/);\n for (let i = 0; i < parts.length; i++) {\n parts[i] = parts[i].replace(/\\r/g, '').replace(/^\\s+/, '').replace(/\\s+$/, '');\n }\n return parts;\n}\n\n// Automatically create spans for all XMLHttpRequest objects.\n//\n// NOTE: this code currently works only with a single Tracer.\n//\nclass InstrumentXHR {\n constructor() {\n this._enabled = this._isValidContext();\n this._proxyInited = false;\n this._internalExclusions = [];\n this._tracer = null;\n this._handleOptions = this._handleOptions.bind(this);\n\n if (!this._enabled) {\n return;\n }\n }\n\n name() {\n return 'instrument_xhr';\n }\n\n addOptions(tracerImp) {\n tracerImp.addOption('xhr_instrumentation', { type : 'bool', defaultValue : false });\n tracerImp.addOption('xhr_url_inclusion_patterns', { type : 'array', defaultValue : [/.*/] });\n tracerImp.addOption('xhr_url_exclusion_patterns', { type : 'array', defaultValue : [] });\n tracerImp.addOption('include_cookies', { type : 'bool', defaultValue : true });\n }\n\n start(tracerImp) {\n if (!this._enabled) {\n return;\n }\n this._tracer = tracerImp;\n\n let currentOptions = tracerImp.options();\n this._addServiceHostToExclusions(currentOptions);\n this._handleOptions({}, currentOptions);\n tracerImp.on('options', this._handleOptions);\n }\n\n stop() {\n if (!this._enabled) {\n return;\n }\n let proto = proxied.XMLHttpRequest.prototype;\n proto.open = proxied.open;\n proto.send = proxied.send;\n }\n\n /**\n * Respond to options changes on the Tracer.\n *\n * Note that `modified` is the options that have changed in this call,\n * along with their previous and new values. `current` is the full set of\n * current options *including* the newly modified values.\n */\n _handleOptions(modified, current) {\n // Automatically add the service host itself to the list of exclusions\n // to avoid reporting on the reports themselves\n let serviceHost = modified.collector_host;\n if (serviceHost) {\n this._addServiceHostToExclusions(current);\n }\n\n // Set up the proxied XHR calls unless disabled\n if (!this._proxyInited && current.xhr_instrumentation) {\n this._proxyInited = true;\n let proto = proxied.XMLHttpRequest.prototype;\n proto.setRequestHeader = this._instrumentSetRequestHeader();\n proto.open = this._instrumentOpen();\n proto.send = this._instrumentSend();\n }\n }\n\n /**\n * Ensure that the reports to the collector don't get instrumented as well,\n * as that recursive instrumentation is more confusing than valuable!\n */\n _addServiceHostToExclusions(opts) {\n if (opts.collector_host.length === 0) {\n return;\n }\n\n // http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex\n function escapeRegExp(str) {\n return (`${str}`).replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n }\n\n // Check against the hostname without the port as well as the canonicalized\n // URL may drop the standard port.\n let host = escapeRegExp(opts.collector_host);\n let port = escapeRegExp(opts.collector_port);\n let set = [new RegExp(`^https?://${host}:${port}`)];\n if (port === '80') {\n set.push(new RegExp(`^http://${host}`));\n } else if (port === '443') {\n set.push(new RegExp(`^https://${host}`));\n }\n this._internalExclusions = set;\n }\n\n /**\n * Check preconditions for the auto-instrumentation of XHRs to work properly.\n * There are a lot of potential JavaScript platforms.\n */\n _isValidContext() {\n if (typeof window === 'undefined') {\n return false;\n }\n if (!window.XMLHttpRequest) {\n return false;\n }\n if (!window.XMLHttpRequest.prototype) {\n return false;\n }\n return true;\n }\n\n _instrumentSetRequestHeader() {\n return function (header, value) {\n this.__requestHeaders = this.__requestHeaders || {};\n this.__requestHeaders[header] = value;\n return proxied.setRequestHeader.apply(this, arguments);\n };\n }\n\n _instrumentOpen() {\n let self = this;\n let tracer = this._tracer;\n\n return function (method, url, asyncArg, user, password) {\n if (!self._shouldTrace(tracer, this, url)) {\n return proxied.open.apply(this, arguments);\n }\n const opts = tracer.options();\n\n let span = tracer.startSpan('XMLHttpRequest');\n tracer.addActiveRootSpan(span);\n this.__tracer_span = span;\n this.__tracer_url = url;\n\n let tags = {\n method : method,\n url : url,\n async : asyncArg,\n user : user,\n };\n if (url) {\n tags.url_pathname = url.split('?')[0];\n }\n\n let openPayload = {};\n _each(tags, (val, key) => {\n openPayload[key] = val;\n });\n if (opts.include_cookies) {\n openPayload.cookies = getCookies();\n }\n\n // Note: async defaults to true\n let async = (asyncArg === undefined ? true : asyncArg);\n if (async) {\n this.addEventListener('readystatechange', function () {\n if (this.readyState === 0) {\n span.log({\n readyState : 0,\n event : 'unsent',\n });\n } else if (this.readyState === 1) {\n span.log({\n readyState : 1,\n event : 'sending',\n });\n } else if (this.readyState === 2) {\n span.log({\n readyState : 2,\n event : 'headers received',\n method : method,\n url : url,\n openPayload : openPayload,\n headers : getResponseHeaders(this),\n });\n span.addTags(tags);\n } else if (this.readyState === 3) {\n span.log({\n readyState : 3,\n event : 'loading',\n });\n } else if (this.readyState === 4) {\n let responseType = this.responseType;\n span.log({\n readyState : 4,\n url : url,\n method : method,\n headers : getResponseHeaders(this),\n status : this.status,\n statusText : this.statusText,\n responseType : responseType,\n });\n tracer.removeActiveRootSpan(span);\n span.finish();\n } else {\n span.log({\n readyState : this.readyState,\n });\n }\n });\n }\n\n let result = proxied.open.apply(this, arguments);\n if (!async) {\n tracer.removeActiveRootSpan(span);\n span.finish();\n }\n return result;\n };\n }\n\n _instrumentSend() {\n let self = this;\n let tracer = this._tracer;\n return function () {\n if (!self._shouldTrace(tracer, this, this.__tracer_url)) {\n return proxied.send.apply(this, arguments);\n }\n\n let span = this.__tracer_span;\n if (!span) {\n return proxied.send.apply(this, arguments);\n }\n\n let data = Array.prototype.slice.call(arguments);\n let len = undefined;\n if (data.length === 1) {\n if (data[0] && data[0].length) {\n len = data[0].length;\n }\n try {\n data = JSON.parse(data[0]);\n } catch (e) {\n // Ignore the error\n }\n }\n let lenStr = (len === undefined) ? '' : `, data length=${len}`;\n span.log({\n event : 'send',\n data_length : lenStr,\n });\n\n // Add Open-Tracing headers\n const headersCarrier = {};\n tracer.inject(span.context(), opentracing.FORMAT_HTTP_HEADERS, headersCarrier);\n const keys = Object.keys(headersCarrier);\n keys.forEach((key) => {\n proxied.setRequestHeader.call(this, key, headersCarrier[key]);\n });\n\n return proxied.send.apply(this, arguments);\n };\n }\n\n _shouldTrace(tracer, xhr, url) {\n // This shouldn't be possible, but let's be paranoid\n if (!tracer) {\n return false;\n }\n\n let opts = tracer.options();\n if (opts.disabled) {\n return false;\n }\n if (!url) {\n return false;\n }\n for (let key in this._internalExclusions) {\n if (!this._internalExclusions.hasOwnProperty(key)) {\n continue;\n }\n const ex = this._internalExclusions[key];\n if (ex.test(url)) {\n return false;\n }\n }\n let include = false;\n for (let key in opts.xhr_url_inclusion_patterns) {\n if (!opts.xhr_url_inclusion_patterns.hasOwnProperty(key)) {\n continue;\n }\n const inc = opts.xhr_url_inclusion_patterns[key];\n if (inc.test(url)) {\n include = true;\n break;\n }\n }\n if (!include) {\n return false;\n }\n for (let key in opts.xhr_url_exclusion_patterns) {\n if (!opts.xhr_url_exclusion_patterns.hasOwnProperty(key)) {\n continue;\n }\n const ex = opts.xhr_url_exclusion_patterns[key];\n if (ex.test(url)) {\n return false;\n }\n }\n return true;\n }\n}\n\nmodule.exports = new InstrumentXHR();\n","const constants = require('../constants');\n\nclass LogToConsole {\n constructor() {\n this._enabled = false;\n this._tracer = null;\n this._optionsCb = this._handleOptions.bind(this);\n this._logAddedCb = this._handleLogAdded.bind(this);\n }\n\n name() {\n return 'log_to_console';\n }\n\n addOptions(tracerImp) {\n tracerImp.addOption('log_to_console', {\n type : 'bool',\n defaultValue : false,\n });\n tracerImp.on('options', this._optionsCb);\n }\n\n start(tracer, tracerImp) {\n this._tracer = tracer;\n }\n\n stop() {\n this._tracer.removeListener('options', this._optionsCb);\n }\n\n _handleOptions(modified, current, tracerImp) {\n let enabled = current.log_to_console;\n if (this._enabled === enabled) {\n return;\n }\n this._enabled = enabled;\n if (this._enabled) {\n tracerImp.on('log_added', this._logAddedCb);\n } else {\n tracerImp.removeListener('log_added', this._logAddedCb);\n }\n }\n\n _handleLogAdded(record) {\n let level = constants.LOG_STRING_TO_LEVEL[record.level];\n let message = record.message;\n\n // Ignore records without a message (e.g. a stable_name log record)\n if (!message) {\n return;\n }\n\n let payload = record.payload_json;\n if (payload) {\n try {\n payload = JSON.parse(payload);\n } catch (_ignored) { /* ignored */ }\n }\n\n switch (level) {\n case constants.LOG_ERROR:\n case constants.LOG_FATAL:\n if (payload !== undefined) {\n console.error(message, payload); // eslint-disable-line no-console\n } else {\n console.error(message); // eslint-disable-line no-console\n }\n break;\n case constants.LOG_WARN:\n if (payload !== undefined) {\n console.warn(message, payload); // eslint-disable-line no-console\n } else {\n console.warn(message); // eslint-disable-line no-console\n }\n break;\n case constants.LOG_INFO:\n default:\n if (payload !== undefined) {\n console.log(message, payload); // eslint-disable-line no-console\n } else {\n console.log(message); // eslint-disable-line no-console\n }\n break;\n }\n }\n}\n\nmodule.exports = new LogToConsole();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/lightstep-tracer.min.js b/dist/lightstep-tracer.min.js index 6e26f8fc..603104f0 100644 --- a/dist/lightstep-tracer.min.js +++ b/dist/lightstep-tracer.min.js @@ -1,8 +1,8 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.lightstep=t():e.lightstep=t()}(window,function(){return function(e){var t={};function o(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=e,o.c=t,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(r,i,function(t){return e[t]}.bind(null,i));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=22)}([function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!e)return;for(var o in e)hasOwnProperty.call(e,o)&&t(e[o],o)},e.exports=t.default},function(e,t,o){"use strict";e.exports={Platform:o(33),ThriftTransport:o(39),ProtoTransport:o(40),thrift:o(48),crouton_thrift:o(49),proto:o(3)}},function(e,t,o){"use strict";function r(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0});var i=o(25);t.BinaryCarrier=i.default;var n=o(26);t.Tags=n;var s=o(8),a=o(14);t.Reference=a.default;var p=o(5);t.Span=p.default;var g=o(11);t.SpanContext=g.default;var l=o(9);t.Tracer=l.Tracer;var u=o(27);t.MockTracer=u.MockTracer,r(o(30)),r(o(13)),r(o(12)),s.initialize()},function(e,t,o){"use strict";var r=o(6),i=r,n=Function("return this")(),s=o(10);o(45);i.exportSymbol("proto.lightstep.collector.Auth",null,n),i.exportSymbol("proto.lightstep.collector.Command",null,n),i.exportSymbol("proto.lightstep.collector.InternalMetrics",null,n),i.exportSymbol("proto.lightstep.collector.KeyValue",null,n),i.exportSymbol("proto.lightstep.collector.Log",null,n),i.exportSymbol("proto.lightstep.collector.MetricsSample",null,n),i.exportSymbol("proto.lightstep.collector.Reference",null,n),i.exportSymbol("proto.lightstep.collector.Reference.Relationship",null,n),i.exportSymbol("proto.lightstep.collector.ReportRequest",null,n),i.exportSymbol("proto.lightstep.collector.ReportResponse",null,n),i.exportSymbol("proto.lightstep.collector.Reporter",null,n),i.exportSymbol("proto.lightstep.collector.Span",null,n),i.exportSymbol("proto.lightstep.collector.SpanContext",null,n),proto.lightstep.collector.SpanContext=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.lightstep.collector.SpanContext,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.SpanContext.displayName="proto.lightstep.collector.SpanContext"),r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.SpanContext.prototype.toObject=function(e){return proto.lightstep.collector.SpanContext.toObject(e,this)},proto.lightstep.collector.SpanContext.toObject=function(e,t){var o,i={traceId:r.Message.getFieldWithDefault(t,1,"0"),spanId:r.Message.getFieldWithDefault(t,2,"0"),baggageMap:(o=t.getBaggageMap())?o.toObject(e,void 0):[]};return e&&(i.$jspbMessageInstance=t),i}),proto.lightstep.collector.SpanContext.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.SpanContext;return proto.lightstep.collector.SpanContext.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.SpanContext.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint64String();e.setTraceId(o);break;case 2:o=t.readUint64String();e.setSpanId(o);break;case 3:o=e.getBaggageMap();t.readMessage(o,function(e,t){r.Map.deserializeBinary(e,t,r.BinaryReader.prototype.readString,r.BinaryReader.prototype.readString,null,"")});break;default:t.skipField()}}return e},proto.lightstep.collector.SpanContext.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.SpanContext.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.SpanContext.serializeBinaryToWriter=function(e,t){var o=void 0;o=e.getTraceId(),0!==parseInt(o,10)&&t.writeUint64String(1,o),o=e.getSpanId(),0!==parseInt(o,10)&&t.writeUint64String(2,o),(o=e.getBaggageMap(!0))&&o.getLength()>0&&o.serializeBinary(3,t,r.BinaryWriter.prototype.writeString,r.BinaryWriter.prototype.writeString)},proto.lightstep.collector.SpanContext.prototype.getTraceId=function(){return r.Message.getFieldWithDefault(this,1,"0")},proto.lightstep.collector.SpanContext.prototype.setTraceId=function(e){r.Message.setProto3StringIntField(this,1,e)},proto.lightstep.collector.SpanContext.prototype.getSpanId=function(){return r.Message.getFieldWithDefault(this,2,"0")},proto.lightstep.collector.SpanContext.prototype.setSpanId=function(e){r.Message.setProto3StringIntField(this,2,e)},proto.lightstep.collector.SpanContext.prototype.getBaggageMap=function(e){return r.Message.getMapField(this,3,e,null)},proto.lightstep.collector.SpanContext.prototype.clearBaggageMap=function(){this.getBaggageMap().clear()},proto.lightstep.collector.KeyValue=function(e){r.Message.initialize(this,e,0,-1,null,proto.lightstep.collector.KeyValue.oneofGroups_)},i.inherits(proto.lightstep.collector.KeyValue,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.KeyValue.displayName="proto.lightstep.collector.KeyValue"),proto.lightstep.collector.KeyValue.oneofGroups_=[[2,3,4,5,6]],proto.lightstep.collector.KeyValue.ValueCase={VALUE_NOT_SET:0,STRING_VALUE:2,INT_VALUE:3,DOUBLE_VALUE:4,BOOL_VALUE:5,JSON_VALUE:6},proto.lightstep.collector.KeyValue.prototype.getValueCase=function(){return r.Message.computeOneofCase(this,proto.lightstep.collector.KeyValue.oneofGroups_[0])},r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.KeyValue.prototype.toObject=function(e){return proto.lightstep.collector.KeyValue.toObject(e,this)},proto.lightstep.collector.KeyValue.toObject=function(e,t){var o={key:r.Message.getFieldWithDefault(t,1,""),stringValue:r.Message.getFieldWithDefault(t,2,""),intValue:r.Message.getFieldWithDefault(t,3,"0"),doubleValue:+r.Message.getFieldWithDefault(t,4,0),boolValue:r.Message.getFieldWithDefault(t,5,!1),jsonValue:r.Message.getFieldWithDefault(t,6,"")};return e&&(o.$jspbMessageInstance=t),o}),proto.lightstep.collector.KeyValue.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.KeyValue;return proto.lightstep.collector.KeyValue.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.KeyValue.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setKey(o);break;case 2:o=t.readString();e.setStringValue(o);break;case 3:o=t.readInt64String();e.setIntValue(o);break;case 4:o=t.readDouble();e.setDoubleValue(o);break;case 5:o=t.readBool();e.setBoolValue(o);break;case 6:o=t.readString();e.setJsonValue(o);break;default:t.skipField()}}return e},proto.lightstep.collector.KeyValue.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.KeyValue.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.KeyValue.serializeBinaryToWriter=function(e,t){var o=void 0;(o=e.getKey()).length>0&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt64String(3,o),null!=(o=r.Message.getField(e,4))&&t.writeDouble(4,o),null!=(o=r.Message.getField(e,5))&&t.writeBool(5,o),null!=(o=r.Message.getField(e,6))&&t.writeString(6,o)},proto.lightstep.collector.KeyValue.prototype.getKey=function(){return r.Message.getFieldWithDefault(this,1,"")},proto.lightstep.collector.KeyValue.prototype.setKey=function(e){r.Message.setProto3StringField(this,1,e)},proto.lightstep.collector.KeyValue.prototype.getStringValue=function(){return r.Message.getFieldWithDefault(this,2,"")},proto.lightstep.collector.KeyValue.prototype.setStringValue=function(e){r.Message.setOneofField(this,2,proto.lightstep.collector.KeyValue.oneofGroups_[0],e)},proto.lightstep.collector.KeyValue.prototype.clearStringValue=function(){r.Message.setOneofField(this,2,proto.lightstep.collector.KeyValue.oneofGroups_[0],void 0)},proto.lightstep.collector.KeyValue.prototype.hasStringValue=function(){return null!=r.Message.getField(this,2)},proto.lightstep.collector.KeyValue.prototype.getIntValue=function(){return r.Message.getFieldWithDefault(this,3,"0")},proto.lightstep.collector.KeyValue.prototype.setIntValue=function(e){r.Message.setOneofField(this,3,proto.lightstep.collector.KeyValue.oneofGroups_[0],e)},proto.lightstep.collector.KeyValue.prototype.clearIntValue=function(){r.Message.setOneofField(this,3,proto.lightstep.collector.KeyValue.oneofGroups_[0],void 0)},proto.lightstep.collector.KeyValue.prototype.hasIntValue=function(){return null!=r.Message.getField(this,3)},proto.lightstep.collector.KeyValue.prototype.getDoubleValue=function(){return+r.Message.getFieldWithDefault(this,4,0)},proto.lightstep.collector.KeyValue.prototype.setDoubleValue=function(e){r.Message.setOneofField(this,4,proto.lightstep.collector.KeyValue.oneofGroups_[0],e)},proto.lightstep.collector.KeyValue.prototype.clearDoubleValue=function(){r.Message.setOneofField(this,4,proto.lightstep.collector.KeyValue.oneofGroups_[0],void 0)},proto.lightstep.collector.KeyValue.prototype.hasDoubleValue=function(){return null!=r.Message.getField(this,4)},proto.lightstep.collector.KeyValue.prototype.getBoolValue=function(){return r.Message.getFieldWithDefault(this,5,!1)},proto.lightstep.collector.KeyValue.prototype.setBoolValue=function(e){r.Message.setOneofField(this,5,proto.lightstep.collector.KeyValue.oneofGroups_[0],e)},proto.lightstep.collector.KeyValue.prototype.clearBoolValue=function(){r.Message.setOneofField(this,5,proto.lightstep.collector.KeyValue.oneofGroups_[0],void 0)},proto.lightstep.collector.KeyValue.prototype.hasBoolValue=function(){return null!=r.Message.getField(this,5)},proto.lightstep.collector.KeyValue.prototype.getJsonValue=function(){return r.Message.getFieldWithDefault(this,6,"")},proto.lightstep.collector.KeyValue.prototype.setJsonValue=function(e){r.Message.setOneofField(this,6,proto.lightstep.collector.KeyValue.oneofGroups_[0],e)},proto.lightstep.collector.KeyValue.prototype.clearJsonValue=function(){r.Message.setOneofField(this,6,proto.lightstep.collector.KeyValue.oneofGroups_[0],void 0)},proto.lightstep.collector.KeyValue.prototype.hasJsonValue=function(){return null!=r.Message.getField(this,6)},proto.lightstep.collector.Log=function(e){r.Message.initialize(this,e,0,-1,proto.lightstep.collector.Log.repeatedFields_,null)},i.inherits(proto.lightstep.collector.Log,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.Log.displayName="proto.lightstep.collector.Log"),proto.lightstep.collector.Log.repeatedFields_=[2],r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.Log.prototype.toObject=function(e){return proto.lightstep.collector.Log.toObject(e,this)},proto.lightstep.collector.Log.toObject=function(e,t){var o,i={timestamp:(o=t.getTimestamp())&&s.Timestamp.toObject(e,o),fieldsList:r.Message.toObjectList(t.getFieldsList(),proto.lightstep.collector.KeyValue.toObject,e)};return e&&(i.$jspbMessageInstance=t),i}),proto.lightstep.collector.Log.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.Log;return proto.lightstep.collector.Log.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.Log.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new s.Timestamp;t.readMessage(o,s.Timestamp.deserializeBinaryFromReader),e.setTimestamp(o);break;case 2:o=new proto.lightstep.collector.KeyValue;t.readMessage(o,proto.lightstep.collector.KeyValue.deserializeBinaryFromReader),e.addFields(o);break;default:t.skipField()}}return e},proto.lightstep.collector.Log.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.Log.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.Log.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getTimestamp())&&t.writeMessage(1,o,s.Timestamp.serializeBinaryToWriter),(o=e.getFieldsList()).length>0&&t.writeRepeatedMessage(2,o,proto.lightstep.collector.KeyValue.serializeBinaryToWriter)},proto.lightstep.collector.Log.prototype.getTimestamp=function(){return r.Message.getWrapperField(this,s.Timestamp,1)},proto.lightstep.collector.Log.prototype.setTimestamp=function(e){r.Message.setWrapperField(this,1,e)},proto.lightstep.collector.Log.prototype.clearTimestamp=function(){this.setTimestamp(void 0)},proto.lightstep.collector.Log.prototype.hasTimestamp=function(){return null!=r.Message.getField(this,1)},proto.lightstep.collector.Log.prototype.getFieldsList=function(){return r.Message.getRepeatedWrapperField(this,proto.lightstep.collector.KeyValue,2)},proto.lightstep.collector.Log.prototype.setFieldsList=function(e){r.Message.setRepeatedWrapperField(this,2,e)},proto.lightstep.collector.Log.prototype.addFields=function(e,t){return r.Message.addToRepeatedWrapperField(this,2,e,proto.lightstep.collector.KeyValue,t)},proto.lightstep.collector.Log.prototype.clearFieldsList=function(){this.setFieldsList([])},proto.lightstep.collector.Reference=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.lightstep.collector.Reference,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.Reference.displayName="proto.lightstep.collector.Reference"),r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.Reference.prototype.toObject=function(e){return proto.lightstep.collector.Reference.toObject(e,this)},proto.lightstep.collector.Reference.toObject=function(e,t){var o,i={relationship:r.Message.getFieldWithDefault(t,1,0),spanContext:(o=t.getSpanContext())&&proto.lightstep.collector.SpanContext.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.lightstep.collector.Reference.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.Reference;return proto.lightstep.collector.Reference.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.Reference.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readEnum();e.setRelationship(o);break;case 2:o=new proto.lightstep.collector.SpanContext;t.readMessage(o,proto.lightstep.collector.SpanContext.deserializeBinaryFromReader),e.setSpanContext(o);break;default:t.skipField()}}return e},proto.lightstep.collector.Reference.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.Reference.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.Reference.serializeBinaryToWriter=function(e,t){var o=void 0;0!==(o=e.getRelationship())&&t.writeEnum(1,o),null!=(o=e.getSpanContext())&&t.writeMessage(2,o,proto.lightstep.collector.SpanContext.serializeBinaryToWriter)},proto.lightstep.collector.Reference.Relationship={CHILD_OF:0,FOLLOWS_FROM:1},proto.lightstep.collector.Reference.prototype.getRelationship=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.lightstep.collector.Reference.prototype.setRelationship=function(e){r.Message.setProto3EnumField(this,1,e)},proto.lightstep.collector.Reference.prototype.getSpanContext=function(){return r.Message.getWrapperField(this,proto.lightstep.collector.SpanContext,2)},proto.lightstep.collector.Reference.prototype.setSpanContext=function(e){r.Message.setWrapperField(this,2,e)},proto.lightstep.collector.Reference.prototype.clearSpanContext=function(){this.setSpanContext(void 0)},proto.lightstep.collector.Reference.prototype.hasSpanContext=function(){return null!=r.Message.getField(this,2)},proto.lightstep.collector.Span=function(e){r.Message.initialize(this,e,0,-1,proto.lightstep.collector.Span.repeatedFields_,null)},i.inherits(proto.lightstep.collector.Span,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.Span.displayName="proto.lightstep.collector.Span"),proto.lightstep.collector.Span.repeatedFields_=[3,6,7],r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.Span.prototype.toObject=function(e){return proto.lightstep.collector.Span.toObject(e,this)},proto.lightstep.collector.Span.toObject=function(e,t){var o,i={spanContext:(o=t.getSpanContext())&&proto.lightstep.collector.SpanContext.toObject(e,o),operationName:r.Message.getFieldWithDefault(t,2,""),referencesList:r.Message.toObjectList(t.getReferencesList(),proto.lightstep.collector.Reference.toObject,e),startTimestamp:(o=t.getStartTimestamp())&&s.Timestamp.toObject(e,o),durationMicros:r.Message.getFieldWithDefault(t,5,"0"),tagsList:r.Message.toObjectList(t.getTagsList(),proto.lightstep.collector.KeyValue.toObject,e),logsList:r.Message.toObjectList(t.getLogsList(),proto.lightstep.collector.Log.toObject,e)};return e&&(i.$jspbMessageInstance=t),i}),proto.lightstep.collector.Span.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.Span;return proto.lightstep.collector.Span.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.Span.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.lightstep.collector.SpanContext;t.readMessage(o,proto.lightstep.collector.SpanContext.deserializeBinaryFromReader),e.setSpanContext(o);break;case 2:o=t.readString();e.setOperationName(o);break;case 3:o=new proto.lightstep.collector.Reference;t.readMessage(o,proto.lightstep.collector.Reference.deserializeBinaryFromReader),e.addReferences(o);break;case 4:o=new s.Timestamp;t.readMessage(o,s.Timestamp.deserializeBinaryFromReader),e.setStartTimestamp(o);break;case 5:o=t.readUint64String();e.setDurationMicros(o);break;case 6:o=new proto.lightstep.collector.KeyValue;t.readMessage(o,proto.lightstep.collector.KeyValue.deserializeBinaryFromReader),e.addTags(o);break;case 7:o=new proto.lightstep.collector.Log;t.readMessage(o,proto.lightstep.collector.Log.deserializeBinaryFromReader),e.addLogs(o);break;default:t.skipField()}}return e},proto.lightstep.collector.Span.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.Span.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.Span.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getSpanContext())&&t.writeMessage(1,o,proto.lightstep.collector.SpanContext.serializeBinaryToWriter),(o=e.getOperationName()).length>0&&t.writeString(2,o),(o=e.getReferencesList()).length>0&&t.writeRepeatedMessage(3,o,proto.lightstep.collector.Reference.serializeBinaryToWriter),null!=(o=e.getStartTimestamp())&&t.writeMessage(4,o,s.Timestamp.serializeBinaryToWriter),o=e.getDurationMicros(),0!==parseInt(o,10)&&t.writeUint64String(5,o),(o=e.getTagsList()).length>0&&t.writeRepeatedMessage(6,o,proto.lightstep.collector.KeyValue.serializeBinaryToWriter),(o=e.getLogsList()).length>0&&t.writeRepeatedMessage(7,o,proto.lightstep.collector.Log.serializeBinaryToWriter)},proto.lightstep.collector.Span.prototype.getSpanContext=function(){return r.Message.getWrapperField(this,proto.lightstep.collector.SpanContext,1)},proto.lightstep.collector.Span.prototype.setSpanContext=function(e){r.Message.setWrapperField(this,1,e)},proto.lightstep.collector.Span.prototype.clearSpanContext=function(){this.setSpanContext(void 0)},proto.lightstep.collector.Span.prototype.hasSpanContext=function(){return null!=r.Message.getField(this,1)},proto.lightstep.collector.Span.prototype.getOperationName=function(){return r.Message.getFieldWithDefault(this,2,"")},proto.lightstep.collector.Span.prototype.setOperationName=function(e){r.Message.setProto3StringField(this,2,e)},proto.lightstep.collector.Span.prototype.getReferencesList=function(){return r.Message.getRepeatedWrapperField(this,proto.lightstep.collector.Reference,3)},proto.lightstep.collector.Span.prototype.setReferencesList=function(e){r.Message.setRepeatedWrapperField(this,3,e)},proto.lightstep.collector.Span.prototype.addReferences=function(e,t){return r.Message.addToRepeatedWrapperField(this,3,e,proto.lightstep.collector.Reference,t)},proto.lightstep.collector.Span.prototype.clearReferencesList=function(){this.setReferencesList([])},proto.lightstep.collector.Span.prototype.getStartTimestamp=function(){return r.Message.getWrapperField(this,s.Timestamp,4)},proto.lightstep.collector.Span.prototype.setStartTimestamp=function(e){r.Message.setWrapperField(this,4,e)},proto.lightstep.collector.Span.prototype.clearStartTimestamp=function(){this.setStartTimestamp(void 0)},proto.lightstep.collector.Span.prototype.hasStartTimestamp=function(){return null!=r.Message.getField(this,4)},proto.lightstep.collector.Span.prototype.getDurationMicros=function(){return r.Message.getFieldWithDefault(this,5,"0")},proto.lightstep.collector.Span.prototype.setDurationMicros=function(e){r.Message.setProto3StringIntField(this,5,e)},proto.lightstep.collector.Span.prototype.getTagsList=function(){return r.Message.getRepeatedWrapperField(this,proto.lightstep.collector.KeyValue,6)},proto.lightstep.collector.Span.prototype.setTagsList=function(e){r.Message.setRepeatedWrapperField(this,6,e)},proto.lightstep.collector.Span.prototype.addTags=function(e,t){return r.Message.addToRepeatedWrapperField(this,6,e,proto.lightstep.collector.KeyValue,t)},proto.lightstep.collector.Span.prototype.clearTagsList=function(){this.setTagsList([])},proto.lightstep.collector.Span.prototype.getLogsList=function(){return r.Message.getRepeatedWrapperField(this,proto.lightstep.collector.Log,7)},proto.lightstep.collector.Span.prototype.setLogsList=function(e){r.Message.setRepeatedWrapperField(this,7,e)},proto.lightstep.collector.Span.prototype.addLogs=function(e,t){return r.Message.addToRepeatedWrapperField(this,7,e,proto.lightstep.collector.Log,t)},proto.lightstep.collector.Span.prototype.clearLogsList=function(){this.setLogsList([])},proto.lightstep.collector.Reporter=function(e){r.Message.initialize(this,e,0,-1,proto.lightstep.collector.Reporter.repeatedFields_,null)},i.inherits(proto.lightstep.collector.Reporter,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.Reporter.displayName="proto.lightstep.collector.Reporter"),proto.lightstep.collector.Reporter.repeatedFields_=[4],r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.Reporter.prototype.toObject=function(e){return proto.lightstep.collector.Reporter.toObject(e,this)},proto.lightstep.collector.Reporter.toObject=function(e,t){var o={reporterId:r.Message.getFieldWithDefault(t,1,"0"),tagsList:r.Message.toObjectList(t.getTagsList(),proto.lightstep.collector.KeyValue.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.lightstep.collector.Reporter.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.Reporter;return proto.lightstep.collector.Reporter.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.Reporter.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint64String();e.setReporterId(o);break;case 4:o=new proto.lightstep.collector.KeyValue;t.readMessage(o,proto.lightstep.collector.KeyValue.deserializeBinaryFromReader),e.addTags(o);break;default:t.skipField()}}return e},proto.lightstep.collector.Reporter.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.Reporter.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.Reporter.serializeBinaryToWriter=function(e,t){var o=void 0;o=e.getReporterId(),0!==parseInt(o,10)&&t.writeUint64String(1,o),(o=e.getTagsList()).length>0&&t.writeRepeatedMessage(4,o,proto.lightstep.collector.KeyValue.serializeBinaryToWriter)},proto.lightstep.collector.Reporter.prototype.getReporterId=function(){return r.Message.getFieldWithDefault(this,1,"0")},proto.lightstep.collector.Reporter.prototype.setReporterId=function(e){r.Message.setProto3StringIntField(this,1,e)},proto.lightstep.collector.Reporter.prototype.getTagsList=function(){return r.Message.getRepeatedWrapperField(this,proto.lightstep.collector.KeyValue,4)},proto.lightstep.collector.Reporter.prototype.setTagsList=function(e){r.Message.setRepeatedWrapperField(this,4,e)},proto.lightstep.collector.Reporter.prototype.addTags=function(e,t){return r.Message.addToRepeatedWrapperField(this,4,e,proto.lightstep.collector.KeyValue,t)},proto.lightstep.collector.Reporter.prototype.clearTagsList=function(){this.setTagsList([])},proto.lightstep.collector.MetricsSample=function(e){r.Message.initialize(this,e,0,-1,null,proto.lightstep.collector.MetricsSample.oneofGroups_)},i.inherits(proto.lightstep.collector.MetricsSample,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.MetricsSample.displayName="proto.lightstep.collector.MetricsSample"),proto.lightstep.collector.MetricsSample.oneofGroups_=[[2,3]],proto.lightstep.collector.MetricsSample.ValueCase={VALUE_NOT_SET:0,INT_VALUE:2,DOUBLE_VALUE:3},proto.lightstep.collector.MetricsSample.prototype.getValueCase=function(){return r.Message.computeOneofCase(this,proto.lightstep.collector.MetricsSample.oneofGroups_[0])},r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.MetricsSample.prototype.toObject=function(e){return proto.lightstep.collector.MetricsSample.toObject(e,this)},proto.lightstep.collector.MetricsSample.toObject=function(e,t){var o={name:r.Message.getFieldWithDefault(t,1,""),intValue:r.Message.getFieldWithDefault(t,2,"0"),doubleValue:+r.Message.getFieldWithDefault(t,3,0)};return e&&(o.$jspbMessageInstance=t),o}),proto.lightstep.collector.MetricsSample.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.MetricsSample;return proto.lightstep.collector.MetricsSample.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.MetricsSample.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setName(o);break;case 2:o=t.readInt64String();e.setIntValue(o);break;case 3:o=t.readDouble();e.setDoubleValue(o);break;default:t.skipField()}}return e},proto.lightstep.collector.MetricsSample.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.MetricsSample.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.MetricsSample.serializeBinaryToWriter=function(e,t){var o=void 0;(o=e.getName()).length>0&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt64String(2,o),null!=(o=r.Message.getField(e,3))&&t.writeDouble(3,o)},proto.lightstep.collector.MetricsSample.prototype.getName=function(){return r.Message.getFieldWithDefault(this,1,"")},proto.lightstep.collector.MetricsSample.prototype.setName=function(e){r.Message.setProto3StringField(this,1,e)},proto.lightstep.collector.MetricsSample.prototype.getIntValue=function(){return r.Message.getFieldWithDefault(this,2,"0")},proto.lightstep.collector.MetricsSample.prototype.setIntValue=function(e){r.Message.setOneofField(this,2,proto.lightstep.collector.MetricsSample.oneofGroups_[0],e)},proto.lightstep.collector.MetricsSample.prototype.clearIntValue=function(){r.Message.setOneofField(this,2,proto.lightstep.collector.MetricsSample.oneofGroups_[0],void 0)},proto.lightstep.collector.MetricsSample.prototype.hasIntValue=function(){return null!=r.Message.getField(this,2)},proto.lightstep.collector.MetricsSample.prototype.getDoubleValue=function(){return+r.Message.getFieldWithDefault(this,3,0)},proto.lightstep.collector.MetricsSample.prototype.setDoubleValue=function(e){r.Message.setOneofField(this,3,proto.lightstep.collector.MetricsSample.oneofGroups_[0],e)},proto.lightstep.collector.MetricsSample.prototype.clearDoubleValue=function(){r.Message.setOneofField(this,3,proto.lightstep.collector.MetricsSample.oneofGroups_[0],void 0)},proto.lightstep.collector.MetricsSample.prototype.hasDoubleValue=function(){return null!=r.Message.getField(this,3)},proto.lightstep.collector.InternalMetrics=function(e){r.Message.initialize(this,e,0,-1,proto.lightstep.collector.InternalMetrics.repeatedFields_,null)},i.inherits(proto.lightstep.collector.InternalMetrics,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.InternalMetrics.displayName="proto.lightstep.collector.InternalMetrics"),proto.lightstep.collector.InternalMetrics.repeatedFields_=[3,4,5],r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.InternalMetrics.prototype.toObject=function(e){return proto.lightstep.collector.InternalMetrics.toObject(e,this)},proto.lightstep.collector.InternalMetrics.toObject=function(e,t){var o,i={startTimestamp:(o=t.getStartTimestamp())&&s.Timestamp.toObject(e,o),durationMicros:r.Message.getFieldWithDefault(t,2,"0"),logsList:r.Message.toObjectList(t.getLogsList(),proto.lightstep.collector.Log.toObject,e),countsList:r.Message.toObjectList(t.getCountsList(),proto.lightstep.collector.MetricsSample.toObject,e),gaugesList:r.Message.toObjectList(t.getGaugesList(),proto.lightstep.collector.MetricsSample.toObject,e)};return e&&(i.$jspbMessageInstance=t),i}),proto.lightstep.collector.InternalMetrics.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.InternalMetrics;return proto.lightstep.collector.InternalMetrics.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.InternalMetrics.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new s.Timestamp;t.readMessage(o,s.Timestamp.deserializeBinaryFromReader),e.setStartTimestamp(o);break;case 2:o=t.readUint64String();e.setDurationMicros(o);break;case 3:o=new proto.lightstep.collector.Log;t.readMessage(o,proto.lightstep.collector.Log.deserializeBinaryFromReader),e.addLogs(o);break;case 4:o=new proto.lightstep.collector.MetricsSample;t.readMessage(o,proto.lightstep.collector.MetricsSample.deserializeBinaryFromReader),e.addCounts(o);break;case 5:o=new proto.lightstep.collector.MetricsSample;t.readMessage(o,proto.lightstep.collector.MetricsSample.deserializeBinaryFromReader),e.addGauges(o);break;default:t.skipField()}}return e},proto.lightstep.collector.InternalMetrics.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.InternalMetrics.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.InternalMetrics.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getStartTimestamp())&&t.writeMessage(1,o,s.Timestamp.serializeBinaryToWriter),o=e.getDurationMicros(),0!==parseInt(o,10)&&t.writeUint64String(2,o),(o=e.getLogsList()).length>0&&t.writeRepeatedMessage(3,o,proto.lightstep.collector.Log.serializeBinaryToWriter),(o=e.getCountsList()).length>0&&t.writeRepeatedMessage(4,o,proto.lightstep.collector.MetricsSample.serializeBinaryToWriter),(o=e.getGaugesList()).length>0&&t.writeRepeatedMessage(5,o,proto.lightstep.collector.MetricsSample.serializeBinaryToWriter)},proto.lightstep.collector.InternalMetrics.prototype.getStartTimestamp=function(){return r.Message.getWrapperField(this,s.Timestamp,1)},proto.lightstep.collector.InternalMetrics.prototype.setStartTimestamp=function(e){r.Message.setWrapperField(this,1,e)},proto.lightstep.collector.InternalMetrics.prototype.clearStartTimestamp=function(){this.setStartTimestamp(void 0)},proto.lightstep.collector.InternalMetrics.prototype.hasStartTimestamp=function(){return null!=r.Message.getField(this,1)},proto.lightstep.collector.InternalMetrics.prototype.getDurationMicros=function(){return r.Message.getFieldWithDefault(this,2,"0")},proto.lightstep.collector.InternalMetrics.prototype.setDurationMicros=function(e){r.Message.setProto3StringIntField(this,2,e)},proto.lightstep.collector.InternalMetrics.prototype.getLogsList=function(){return r.Message.getRepeatedWrapperField(this,proto.lightstep.collector.Log,3)},proto.lightstep.collector.InternalMetrics.prototype.setLogsList=function(e){r.Message.setRepeatedWrapperField(this,3,e)},proto.lightstep.collector.InternalMetrics.prototype.addLogs=function(e,t){return r.Message.addToRepeatedWrapperField(this,3,e,proto.lightstep.collector.Log,t)},proto.lightstep.collector.InternalMetrics.prototype.clearLogsList=function(){this.setLogsList([])},proto.lightstep.collector.InternalMetrics.prototype.getCountsList=function(){return r.Message.getRepeatedWrapperField(this,proto.lightstep.collector.MetricsSample,4)},proto.lightstep.collector.InternalMetrics.prototype.setCountsList=function(e){r.Message.setRepeatedWrapperField(this,4,e)},proto.lightstep.collector.InternalMetrics.prototype.addCounts=function(e,t){return r.Message.addToRepeatedWrapperField(this,4,e,proto.lightstep.collector.MetricsSample,t)},proto.lightstep.collector.InternalMetrics.prototype.clearCountsList=function(){this.setCountsList([])},proto.lightstep.collector.InternalMetrics.prototype.getGaugesList=function(){return r.Message.getRepeatedWrapperField(this,proto.lightstep.collector.MetricsSample,5)},proto.lightstep.collector.InternalMetrics.prototype.setGaugesList=function(e){r.Message.setRepeatedWrapperField(this,5,e)},proto.lightstep.collector.InternalMetrics.prototype.addGauges=function(e,t){return r.Message.addToRepeatedWrapperField(this,5,e,proto.lightstep.collector.MetricsSample,t)},proto.lightstep.collector.InternalMetrics.prototype.clearGaugesList=function(){this.setGaugesList([])},proto.lightstep.collector.Auth=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.lightstep.collector.Auth,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.Auth.displayName="proto.lightstep.collector.Auth"),r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.Auth.prototype.toObject=function(e){return proto.lightstep.collector.Auth.toObject(e,this)},proto.lightstep.collector.Auth.toObject=function(e,t){var o={accessToken:r.Message.getFieldWithDefault(t,1,"")};return e&&(o.$jspbMessageInstance=t),o}),proto.lightstep.collector.Auth.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.Auth;return proto.lightstep.collector.Auth.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.Auth.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setAccessToken(o);break;default:t.skipField()}}return e},proto.lightstep.collector.Auth.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.Auth.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.Auth.serializeBinaryToWriter=function(e,t){var o;(o=e.getAccessToken()).length>0&&t.writeString(1,o)},proto.lightstep.collector.Auth.prototype.getAccessToken=function(){return r.Message.getFieldWithDefault(this,1,"")},proto.lightstep.collector.Auth.prototype.setAccessToken=function(e){r.Message.setProto3StringField(this,1,e)},proto.lightstep.collector.ReportRequest=function(e){r.Message.initialize(this,e,0,-1,proto.lightstep.collector.ReportRequest.repeatedFields_,null)},i.inherits(proto.lightstep.collector.ReportRequest,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.ReportRequest.displayName="proto.lightstep.collector.ReportRequest"),proto.lightstep.collector.ReportRequest.repeatedFields_=[3],r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.ReportRequest.prototype.toObject=function(e){return proto.lightstep.collector.ReportRequest.toObject(e,this)},proto.lightstep.collector.ReportRequest.toObject=function(e,t){var o,i={reporter:(o=t.getReporter())&&proto.lightstep.collector.Reporter.toObject(e,o),auth:(o=t.getAuth())&&proto.lightstep.collector.Auth.toObject(e,o),spansList:r.Message.toObjectList(t.getSpansList(),proto.lightstep.collector.Span.toObject,e),timestampOffsetMicros:r.Message.getFieldWithDefault(t,5,"0"),internalMetrics:(o=t.getInternalMetrics())&&proto.lightstep.collector.InternalMetrics.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.lightstep.collector.ReportRequest.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.ReportRequest;return proto.lightstep.collector.ReportRequest.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.ReportRequest.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.lightstep.collector.Reporter;t.readMessage(o,proto.lightstep.collector.Reporter.deserializeBinaryFromReader),e.setReporter(o);break;case 2:o=new proto.lightstep.collector.Auth;t.readMessage(o,proto.lightstep.collector.Auth.deserializeBinaryFromReader),e.setAuth(o);break;case 3:o=new proto.lightstep.collector.Span;t.readMessage(o,proto.lightstep.collector.Span.deserializeBinaryFromReader),e.addSpans(o);break;case 5:o=t.readInt64String();e.setTimestampOffsetMicros(o);break;case 6:o=new proto.lightstep.collector.InternalMetrics;t.readMessage(o,proto.lightstep.collector.InternalMetrics.deserializeBinaryFromReader),e.setInternalMetrics(o);break;default:t.skipField()}}return e},proto.lightstep.collector.ReportRequest.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.ReportRequest.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.ReportRequest.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getReporter())&&t.writeMessage(1,o,proto.lightstep.collector.Reporter.serializeBinaryToWriter),null!=(o=e.getAuth())&&t.writeMessage(2,o,proto.lightstep.collector.Auth.serializeBinaryToWriter),(o=e.getSpansList()).length>0&&t.writeRepeatedMessage(3,o,proto.lightstep.collector.Span.serializeBinaryToWriter),o=e.getTimestampOffsetMicros(),0!==parseInt(o,10)&&t.writeInt64String(5,o),null!=(o=e.getInternalMetrics())&&t.writeMessage(6,o,proto.lightstep.collector.InternalMetrics.serializeBinaryToWriter)},proto.lightstep.collector.ReportRequest.prototype.getReporter=function(){return r.Message.getWrapperField(this,proto.lightstep.collector.Reporter,1)},proto.lightstep.collector.ReportRequest.prototype.setReporter=function(e){r.Message.setWrapperField(this,1,e)},proto.lightstep.collector.ReportRequest.prototype.clearReporter=function(){this.setReporter(void 0)},proto.lightstep.collector.ReportRequest.prototype.hasReporter=function(){return null!=r.Message.getField(this,1)},proto.lightstep.collector.ReportRequest.prototype.getAuth=function(){return r.Message.getWrapperField(this,proto.lightstep.collector.Auth,2)},proto.lightstep.collector.ReportRequest.prototype.setAuth=function(e){r.Message.setWrapperField(this,2,e)},proto.lightstep.collector.ReportRequest.prototype.clearAuth=function(){this.setAuth(void 0)},proto.lightstep.collector.ReportRequest.prototype.hasAuth=function(){return null!=r.Message.getField(this,2)},proto.lightstep.collector.ReportRequest.prototype.getSpansList=function(){return r.Message.getRepeatedWrapperField(this,proto.lightstep.collector.Span,3)},proto.lightstep.collector.ReportRequest.prototype.setSpansList=function(e){r.Message.setRepeatedWrapperField(this,3,e)},proto.lightstep.collector.ReportRequest.prototype.addSpans=function(e,t){return r.Message.addToRepeatedWrapperField(this,3,e,proto.lightstep.collector.Span,t)},proto.lightstep.collector.ReportRequest.prototype.clearSpansList=function(){this.setSpansList([])},proto.lightstep.collector.ReportRequest.prototype.getTimestampOffsetMicros=function(){return r.Message.getFieldWithDefault(this,5,"0")},proto.lightstep.collector.ReportRequest.prototype.setTimestampOffsetMicros=function(e){r.Message.setProto3StringIntField(this,5,e)},proto.lightstep.collector.ReportRequest.prototype.getInternalMetrics=function(){return r.Message.getWrapperField(this,proto.lightstep.collector.InternalMetrics,6)},proto.lightstep.collector.ReportRequest.prototype.setInternalMetrics=function(e){r.Message.setWrapperField(this,6,e)},proto.lightstep.collector.ReportRequest.prototype.clearInternalMetrics=function(){this.setInternalMetrics(void 0)},proto.lightstep.collector.ReportRequest.prototype.hasInternalMetrics=function(){return null!=r.Message.getField(this,6)},proto.lightstep.collector.Command=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.lightstep.collector.Command,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.Command.displayName="proto.lightstep.collector.Command"),r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.Command.prototype.toObject=function(e){return proto.lightstep.collector.Command.toObject(e,this)},proto.lightstep.collector.Command.toObject=function(e,t){var o={disable:r.Message.getFieldWithDefault(t,1,!1),devMode:r.Message.getFieldWithDefault(t,2,!1)};return e&&(o.$jspbMessageInstance=t),o}),proto.lightstep.collector.Command.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.Command;return proto.lightstep.collector.Command.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.Command.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readBool();e.setDisable(o);break;case 2:o=t.readBool();e.setDevMode(o);break;default:t.skipField()}}return e},proto.lightstep.collector.Command.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.Command.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.Command.serializeBinaryToWriter=function(e,t){var o=void 0;(o=e.getDisable())&&t.writeBool(1,o),(o=e.getDevMode())&&t.writeBool(2,o)},proto.lightstep.collector.Command.prototype.getDisable=function(){return r.Message.getFieldWithDefault(this,1,!1)},proto.lightstep.collector.Command.prototype.setDisable=function(e){r.Message.setProto3BooleanField(this,1,e)},proto.lightstep.collector.Command.prototype.getDevMode=function(){return r.Message.getFieldWithDefault(this,2,!1)},proto.lightstep.collector.Command.prototype.setDevMode=function(e){r.Message.setProto3BooleanField(this,2,e)},proto.lightstep.collector.ReportResponse=function(e){r.Message.initialize(this,e,0,-1,proto.lightstep.collector.ReportResponse.repeatedFields_,null)},i.inherits(proto.lightstep.collector.ReportResponse,r.Message),i.DEBUG&&!COMPILED&&(proto.lightstep.collector.ReportResponse.displayName="proto.lightstep.collector.ReportResponse"),proto.lightstep.collector.ReportResponse.repeatedFields_=[1,4,5,6],r.Message.GENERATE_TO_OBJECT&&(proto.lightstep.collector.ReportResponse.prototype.toObject=function(e){return proto.lightstep.collector.ReportResponse.toObject(e,this)},proto.lightstep.collector.ReportResponse.toObject=function(e,t){var o,i={commandsList:r.Message.toObjectList(t.getCommandsList(),proto.lightstep.collector.Command.toObject,e),receiveTimestamp:(o=t.getReceiveTimestamp())&&s.Timestamp.toObject(e,o),transmitTimestamp:(o=t.getTransmitTimestamp())&&s.Timestamp.toObject(e,o),errorsList:r.Message.getRepeatedField(t,4),warningsList:r.Message.getRepeatedField(t,5),infosList:r.Message.getRepeatedField(t,6)};return e&&(i.$jspbMessageInstance=t),i}),proto.lightstep.collector.ReportResponse.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.lightstep.collector.ReportResponse;return proto.lightstep.collector.ReportResponse.deserializeBinaryFromReader(o,t)},proto.lightstep.collector.ReportResponse.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.lightstep.collector.Command;t.readMessage(o,proto.lightstep.collector.Command.deserializeBinaryFromReader),e.addCommands(o);break;case 2:o=new s.Timestamp;t.readMessage(o,s.Timestamp.deserializeBinaryFromReader),e.setReceiveTimestamp(o);break;case 3:o=new s.Timestamp;t.readMessage(o,s.Timestamp.deserializeBinaryFromReader),e.setTransmitTimestamp(o);break;case 4:o=t.readString();e.addErrors(o);break;case 5:o=t.readString();e.addWarnings(o);break;case 6:o=t.readString();e.addInfos(o);break;default:t.skipField()}}return e},proto.lightstep.collector.ReportResponse.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.lightstep.collector.ReportResponse.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.lightstep.collector.ReportResponse.serializeBinaryToWriter=function(e,t){var o=void 0;(o=e.getCommandsList()).length>0&&t.writeRepeatedMessage(1,o,proto.lightstep.collector.Command.serializeBinaryToWriter),null!=(o=e.getReceiveTimestamp())&&t.writeMessage(2,o,s.Timestamp.serializeBinaryToWriter),null!=(o=e.getTransmitTimestamp())&&t.writeMessage(3,o,s.Timestamp.serializeBinaryToWriter),(o=e.getErrorsList()).length>0&&t.writeRepeatedString(4,o),(o=e.getWarningsList()).length>0&&t.writeRepeatedString(5,o),(o=e.getInfosList()).length>0&&t.writeRepeatedString(6,o)},proto.lightstep.collector.ReportResponse.prototype.getCommandsList=function(){return r.Message.getRepeatedWrapperField(this,proto.lightstep.collector.Command,1)},proto.lightstep.collector.ReportResponse.prototype.setCommandsList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.lightstep.collector.ReportResponse.prototype.addCommands=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.lightstep.collector.Command,t)},proto.lightstep.collector.ReportResponse.prototype.clearCommandsList=function(){this.setCommandsList([])},proto.lightstep.collector.ReportResponse.prototype.getReceiveTimestamp=function(){return r.Message.getWrapperField(this,s.Timestamp,2)},proto.lightstep.collector.ReportResponse.prototype.setReceiveTimestamp=function(e){r.Message.setWrapperField(this,2,e)},proto.lightstep.collector.ReportResponse.prototype.clearReceiveTimestamp=function(){this.setReceiveTimestamp(void 0)},proto.lightstep.collector.ReportResponse.prototype.hasReceiveTimestamp=function(){return null!=r.Message.getField(this,2)},proto.lightstep.collector.ReportResponse.prototype.getTransmitTimestamp=function(){return r.Message.getWrapperField(this,s.Timestamp,3)},proto.lightstep.collector.ReportResponse.prototype.setTransmitTimestamp=function(e){r.Message.setWrapperField(this,3,e)},proto.lightstep.collector.ReportResponse.prototype.clearTransmitTimestamp=function(){this.setTransmitTimestamp(void 0)},proto.lightstep.collector.ReportResponse.prototype.hasTransmitTimestamp=function(){return null!=r.Message.getField(this,3)},proto.lightstep.collector.ReportResponse.prototype.getErrorsList=function(){return r.Message.getRepeatedField(this,4)},proto.lightstep.collector.ReportResponse.prototype.setErrorsList=function(e){r.Message.setField(this,4,e||[])},proto.lightstep.collector.ReportResponse.prototype.addErrors=function(e,t){r.Message.addToRepeatedField(this,4,e,t)},proto.lightstep.collector.ReportResponse.prototype.clearErrorsList=function(){this.setErrorsList([])},proto.lightstep.collector.ReportResponse.prototype.getWarningsList=function(){return r.Message.getRepeatedField(this,5)},proto.lightstep.collector.ReportResponse.prototype.setWarningsList=function(e){r.Message.setField(this,5,e||[])},proto.lightstep.collector.ReportResponse.prototype.addWarnings=function(e,t){r.Message.addToRepeatedField(this,5,e,t)},proto.lightstep.collector.ReportResponse.prototype.clearWarningsList=function(){this.setWarningsList([])},proto.lightstep.collector.ReportResponse.prototype.getInfosList=function(){return r.Message.getRepeatedField(this,6)},proto.lightstep.collector.ReportResponse.prototype.setInfosList=function(e){r.Message.setField(this,6,e||[])},proto.lightstep.collector.ReportResponse.prototype.addInfos=function(e,t){r.Message.addToRepeatedField(this,6,e,t)},proto.lightstep.collector.ReportResponse.prototype.clearInfosList=function(){this.setInfosList([])},i.object.extend(t,proto.lightstep.collector)},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toString=function(e){return""+e},t.toNumber=function(e){return Number(e)},t.toBoolean=function(e){return!!e}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(8),i=function(){function e(){}return e.prototype.context=function(){return this._context()},e.prototype.tracer=function(){return this._tracer()},e.prototype.setOperationName=function(e){return this._setOperationName(e),this},e.prototype.setBaggageItem=function(e,t){return this._setBaggageItem(e,t),this},e.prototype.getBaggageItem=function(e){return this._getBaggageItem(e)},e.prototype.setTag=function(e,t){var o;return this._addTags(((o={})[e]=t,o)),this},e.prototype.addTags=function(e){return this._addTags(e),this},e.prototype.log=function(e,t){return this._log(e,t),this},e.prototype.logEvent=function(e,t){return this._log({event:e,payload:t})},e.prototype.finish=function(e){this._finish(e)},e.prototype._context=function(){return r.spanContext},e.prototype._tracer=function(){return r.tracer},e.prototype._setOperationName=function(e){},e.prototype._setBaggageItem=function(e,t){},e.prototype._getBaggageItem=function(e){},e.prototype._addTags=function(e){},e.prototype._log=function(e,t){},e.prototype._finish=function(e){},e}();t.Span=i,t.default=i},function(module,exports,__webpack_require__){(function(global,Buffer){var $jscomp={scope:{},getGlobal:function(e){return"undefined"!=typeof window&&window===e?e:void 0!==global?global:e}};$jscomp.global=$jscomp.getGlobal(this),$jscomp.initSymbol=function(){$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol),$jscomp.initSymbol=function(){}},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(e){return"jscomp_symbol_"+e+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol(),$jscomp.global.Symbol.iterator||($jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator")),$jscomp.initSymbolIterator=function(){}},$jscomp.makeIterator=function(e){$jscomp.initSymbolIterator(),$jscomp.initSymbol(),$jscomp.initSymbolIterator();var t=e[Symbol.iterator];if(t)return t.call(e);var o=0;return{next:function(){return ot;)--o in this?this[--e]=this[o]:delete this[e];return this},$jscomp.array.copyWithin$install=function(){$jscomp.array.installHelper_("copyWithin",$jscomp.array.copyWithin)},$jscomp.array.fill=function(e,t,o){var r=this.length||0;for(0>t&&(t=Math.max(0,r+t)),(null==o||o>r)&&(o=r),0>(o=Number(o))&&(o=Math.max(0,r+o)),t=Number(t||0);t>>0))return 32;var t=0;return 0==(4294901760&e)&&(e<<=16,t+=16),0==(4278190080&e)&&(e<<=8,t+=8),0==(4026531840&e)&&(e<<=4,t+=4),0==(3221225472&e)&&(e<<=2,t+=2),0==(2147483648&e)&&t++,t},$jscomp.math.imul=function(e,t){var o=65535&(e=Number(e)),r=65535&(t=Number(t));return o*r+((e>>>16&65535)*r+o*(t>>>16&65535)<<16>>>0)|0},$jscomp.math.sign=function(e){return 0===(e=Number(e))||isNaN(e)?e:0(e=Number(e))&&-.25(e=Number(e))&&-.25e?-t:t},$jscomp.math.acosh=function(e){return e=Number(e),Math.log(e+Math.sqrt(e*e-1))},$jscomp.math.asinh=function(e){if(0===(e=Number(e)))return e;var t=Math.log(Math.abs(e)+Math.sqrt(e*e+1));return 0>e?-t:t},$jscomp.math.atanh=function(e){return e=Number(e),($jscomp.math.log1p(e)-$jscomp.math.log1p(-e))/2},$jscomp.math.hypot=function(e,t,o){e=Number(e),t=Number(t);var r,i,n,s=Math.max(Math.abs(e),Math.abs(t));for(r=2;rs){for(n=(e/=s)*e+(t/=s)*t,r=2;re?-t:t},$jscomp.math.cbrt=function(e){if(0===e)return e;e=Number(e);var t=Math.pow(Math.abs(e),1/3);return 0>e?-t:t},$jscomp.number=$jscomp.number||{},$jscomp.number.isFinite=function(e){return"number"==typeof e&&(!isNaN(e)&&1/0!==e&&-1/0!==e)},$jscomp.number.isInteger=function(e){return!!$jscomp.number.isFinite(e)&&e===Math.floor(e)},$jscomp.number.isNaN=function(e){return"number"==typeof e&&isNaN(e)},$jscomp.number.isSafeInteger=function(e){return $jscomp.number.isInteger(e)&&Math.abs(e)<=$jscomp.number.MAX_SAFE_INTEGER},$jscomp.number.EPSILON=Math.pow(2,-52),$jscomp.number.MAX_SAFE_INTEGER=9007199254740991,$jscomp.number.MIN_SAFE_INTEGER=-9007199254740991,$jscomp.object=$jscomp.object||{},$jscomp.object.assign=function(e,t){for(var o=1;or||1114111=r?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode(r>>>10&1023|55296),t+=String.fromCharCode(1023&r|56320))}return t},$jscomp.string.repeat=function(e){var t=$jscomp.checkStringArgs(this,null,"repeat");if(0>e||1342177279>>=1)&&(t+=t);return o},$jscomp.string.repeat$install=function(){String.prototype.repeat||(String.prototype.repeat=$jscomp.string.repeat)},$jscomp.string.codePointAt=function(e){var t=$jscomp.checkStringArgs(this,null,"codePointAt"),o=t.length;if(0<=(e=Number(e)||0)&&er||56319(e=t.charCodeAt(e+1))||57343=i},$jscomp.string.startsWith$install=function(){String.prototype.startsWith||(String.prototype.startsWith=$jscomp.string.startsWith)},$jscomp.string.endsWith=function(e,t){var o=$jscomp.checkStringArgs(this,e,"endsWith");e+="",void 0===t&&(t=o.length);for(var r=Math.max(0,Math.min(0|t,o.length)),i=e.length;0=i},$jscomp.string.endsWith$install=function(){String.prototype.endsWith||(String.prototype.endsWith=$jscomp.string.endsWith)};var COMPILED=!0,goog=goog||{};goog.global=this,goog.isDef=function(e){return void 0!==e},goog.exportPath_=function(e,t,o){e=e.split("."),o=o||goog.global,e[0]in o||!o.execScript||o.execScript("var "+e[0]);for(var r;e.length&&(r=e.shift());)!e.length&&goog.isDef(t)?o[r]=t:o=o[r]?o[r]:o[r]={}},goog.define=function(e,t){var o=t;COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,e)?o=goog.global.CLOSURE_UNCOMPILED_DEFINES[e]:goog.global.CLOSURE_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,e)&&(o=goog.global.CLOSURE_DEFINES[e])),goog.exportPath_(e,o)},goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(e){if(!COMPILED&&goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');goog.constructNamespace_(e)},goog.constructNamespace_=function(e,t){if(!COMPILED){delete goog.implicitNamespaces_[e];for(var o=e;(o=o.substring(0,o.lastIndexOf(".")))&&!goog.getObjectByName(o);)goog.implicitNamespaces_[o]=!0}goog.exportPath_(e,t)},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(e){if(!goog.isString(e)||!e||-1==e.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInModuleLoader_())throw Error("Module "+e+" has been loaded incorrectly.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");if(goog.moduleLoaderState_.moduleName=e,!COMPILED){if(goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');delete goog.implicitNamespaces_[e]}},goog.module.get=function(e){return goog.module.getInternal_(e)},goog.module.getInternal_=function(e){if(!COMPILED)return goog.isProvided_(e)?e in goog.loadedModules_?goog.loadedModules_[e]:goog.getObjectByName(e):null},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_},goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.setTestOnly=function(e){if(goog.DISALLOW_TEST_ONLY_CODE)throw e=e||"",Error("Importing test-only code into non-debug environment"+(e?": "+e:"."))},goog.forwardDeclare=function(e){},COMPILED||(goog.isProvided_=function(e){return e in goog.loadedModules_||!goog.implicitNamespaces_[e]&&goog.isDefAndNotNull(goog.getObjectByName(e))},goog.implicitNamespaces_={"goog.module":!0}),goog.getObjectByName=function(e,t){for(var o,r=e.split("."),i=t||goog.global;o=r.shift();){if(!goog.isDefAndNotNull(i[o]))return null;i=i[o]}return i},goog.globalize=function(e,t){var o,r=t||goog.global;for(o in e)r[o]=e[o]},goog.addDependency=function(e,t,o,r){if(goog.DEPENDENCIES_ENABLED){var i;e=e.replace(/\\/g,"/");for(var n=goog.dependencies_,s=0;i=t[s];s++)n.nameToPath[i]=e,n.pathIsModule[e]=!!r;for(r=0;t=o[r];r++)e in n.requires||(n.requires[e]={}),n.requires[e][t]=!0}},goog.ENABLE_DEBUG_LOADER=!0,goog.logToConsole_=function(e){goog.global.console&&goog.global.console.error(e)},goog.require=function(e){if(!COMPILED){if(goog.ENABLE_DEBUG_LOADER&&goog.IS_OLD_IE_&&goog.maybeProcessDeferredDep_(e),goog.isProvided_(e))return goog.isInModuleLoader_()?goog.module.getInternal_(e):null;if(goog.ENABLE_DEBUG_LOADER){var t=goog.getPathFromDeps_(e);if(t)return goog.writeScripts_(t),null}throw e="goog.require could not find: "+e,goog.logToConsole_(e),Error(e)}},goog.basePath="",goog.nullFunction=function(){},goog.abstractMethod=function(){throw Error("unimplemented abstract method")},goog.addSingletonGetter=function(e){e.getInstance=function(){return e.instance_?e.instance_:(goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=e),e.instance_=new e)}},goog.instantiatedSingletons_=[],goog.LOAD_MODULE_USING_EVAL=!0,goog.SEAL_MODULE_EXPORTS=goog.DEBUG,goog.loadedModules_={},goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER,goog.DEPENDENCIES_ENABLED&&(goog.dependencies_={pathIsModule:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}},goog.inHtmlDocument_=function(){var e=goog.global.document;return null!=e&&"write"in e},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_())for(var e=goog.global.document.getElementsByTagName("SCRIPT"),t=e.length-1;0<=t;--t){var o=e[t].src,r=-1==(r=o.lastIndexOf("?"))?o.length:r;if("base.js"==o.substr(r-7,7)){goog.basePath=o.substr(0,r-7);break}}},goog.importScript_=function(e,t){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(e,t)&&(goog.dependencies_.written[e]=!0)},goog.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.importModule_=function(e){goog.importScript_("",'goog.retrieveAndExecModule_("'+e+'");')&&(goog.dependencies_.written[e]=!0)},goog.queuedModules_=[],goog.wrapModule_=function(e,t){return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(t+"\n//# sourceURL="+e+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+t+"\n;return exports});\n//# sourceURL="+e+"\n"},goog.loadQueuedModules_=function(){var e=goog.queuedModules_.length;if(0<\/script>')},goog.appendScriptSrcNode_=function(e){var t=goog.global.document,o=t.createElement("script");o.type="text/javascript",o.src=e,o.defer=!1,o.async=!1,t.head.appendChild(o)},goog.writeScriptTag_=function(e,t){if(goog.inHtmlDocument_()){var o=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&"complete"==o.readyState){if(/\bdeps.js$/.test(e))return!1;throw Error('Cannot write "'+e+'" after document load')}var r=goog.IS_OLD_IE_;return void 0===t?r?(r=" onreadystatechange='goog.onScriptLoad_(this, "+ ++goog.lastNonModuleScriptIndex_+")' ",o.write('