{"version":3,"file":"vendors-node_modules_segment_analytics-next_dist_pkg_index_js.b76ee46be4b7ba91.0.4841.0.js","mappings":"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","sources":["webpack://aurora-new-frontend/./node_modules/@segment/analytics-core/dist/esm/emitter/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/callback/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/connection/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/logger/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/stats/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/context/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/stats/remote-metrics.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/environment/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/query-string/gracefulDecodeURIComponent.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/queue/delivery.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/user/tld.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/generated/version.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/plugins/validation/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/arguments-resolver/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/events/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/inspector/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/get-global.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/queue/event-queue.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/group-by.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/bind-all.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/user/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/analytics/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/plugins/page-enrichment/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/plugins/remote-loader/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/plugins/segmentio/batched-dispatcher.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/plugins/segmentio/fetch-dispatcher.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/plugins/segmentio/schedule-flush.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/plugins/segmentio/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/is-thenable.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/buffer/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/core/buffer/snippet.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/browser/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/get-process-env.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/node/node.browser.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/as-promise.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/load-script.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/merged-options.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/p-while.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/parse-cdn.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/priority-queue/index.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/priority-queue/backoff.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/priority-queue/persisted.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/lib/to-facade.js","webpack://aurora-new-frontend/./node_modules/@segment/analytics-next/dist/pkg/plugins/segmentio/normalize.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/address.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/alias.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/clone.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/delete.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/facade.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/group.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/identify.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/index.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/is-email.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/is-enabled.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/page.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/screen.js","webpack://aurora-new-frontend/./node_modules/@segment/facade/dist/track.js","webpack://aurora-new-frontend/./node_modules/@segment/isodate-traverse/lib/index.js","webpack://aurora-new-frontend/./node_modules/@segment/isodate/lib/index.js","webpack://aurora-new-frontend/./node_modules/new-date/lib/index.js","webpack://aurora-new-frontend/./node_modules/new-date/lib/milliseconds.js","webpack://aurora-new-frontend/./node_modules/new-date/lib/seconds.js","webpack://aurora-new-frontend/./node_modules/obj-case/index.js","webpack://aurora-new-frontend/./node_modules/spark-md5/spark-md5.js","webpack://aurora-new-frontend/./node_modules/unfetch/dist/unfetch.module.js","webpack://aurora-new-frontend/./node_modules/@lukeed/uuid/dist/index.mjs","webpack://aurora-new-frontend/./node_modules/dset/dist/index.mjs","webpack://aurora-new-frontend/./node_modules/js-cookie/dist/js.cookie.mjs"],"sourcesContent":["import { __spreadArray } from \"tslib\";\nvar Emitter = /** @class */ (function () {\n function Emitter() {\n this.callbacks = {};\n }\n Emitter.prototype.on = function (event, callback) {\n var _a;\n this.callbacks[event] = __spreadArray(__spreadArray([], ((_a = this.callbacks[event]) !== null && _a !== void 0 ? _a : []), true), [callback], false);\n return this;\n };\n Emitter.prototype.once = function (event, fn) {\n var _this = this;\n var on = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.off(event, on);\n fn.apply(_this, args);\n };\n this.on(event, on);\n return this;\n };\n Emitter.prototype.off = function (event, callback) {\n var _a;\n var fns = (_a = this.callbacks[event]) !== null && _a !== void 0 ? _a : [];\n var without = fns.filter(function (fn) { return fn !== callback; });\n this.callbacks[event] = without;\n return this;\n };\n Emitter.prototype.emit = function (event) {\n var _this = this;\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var callbacks = (_a = this.callbacks[event]) !== null && _a !== void 0 ? _a : [];\n callbacks.forEach(function (callback) {\n callback.apply(_this, args);\n });\n return this;\n };\n return Emitter;\n}());\nexport { Emitter };\n//# sourceMappingURL=index.js.map","import { asPromise } from '../../lib/as-promise';\nexport function pTimeout(cb, timeout) {\n return new Promise(function (resolve, reject) {\n var timeoutId = setTimeout(function () {\n reject(Error('Promise timed out'));\n }, timeout);\n cb.then(function (val) {\n clearTimeout(timeoutId);\n return resolve(val);\n }).catch(reject);\n });\n}\nfunction sleep(timeoutInMs) {\n return new Promise(function (resolve) { return setTimeout(resolve, timeoutInMs); });\n}\n/**\n * @param delayTimeout - The amount of time in ms to wait before invoking the callback.\n * @param timeout - The maximum amount of time in ms to allow the callback to run for.\n */\nexport function invokeCallback(ctx, callback, delayTimeout, timeout) {\n var cb = function () {\n try {\n return asPromise(callback(ctx));\n }\n catch (err) {\n return Promise.reject(err);\n }\n };\n return (sleep(delayTimeout)\n // pTimeout ensures that the callback can't cause the context to hang\n .then(function () { return pTimeout(cb(), timeout !== null && timeout !== void 0 ? timeout : 1000); })\n .catch(function (err) {\n ctx === null || ctx === void 0 ? void 0 : ctx.log('warn', 'Callback Error', { error: err });\n ctx === null || ctx === void 0 ? void 0 : ctx.stats.increment('callback_error');\n })\n .then(function () { return ctx; }));\n}\n//# sourceMappingURL=index.js.map","import { isBrowser } from '../environment';\nexport function isOnline() {\n if (isBrowser()) {\n return window.navigator.onLine;\n }\n return true;\n}\nexport function isOffline() {\n return !isOnline();\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nvar Logger = /** @class */ (function () {\n function Logger() {\n var _this = this;\n this._logs = [];\n this.log = function (level, message, extras) {\n var time = new Date();\n _this._logs.push({\n level: level,\n message: message,\n time: time,\n extras: extras,\n });\n };\n }\n Object.defineProperty(Logger.prototype, \"logs\", {\n get: function () {\n return this._logs;\n },\n enumerable: false,\n configurable: true\n });\n Logger.prototype.flush = function () {\n if (this.logs.length > 1) {\n var formatted = this._logs.reduce(function (logs, log) {\n var _a;\n var _b, _c;\n var line = __assign(__assign({}, log), { json: JSON.stringify(log.extras, null, ' '), extras: log.extras });\n delete line['time'];\n var key = (_c = (_b = log.time) === null || _b === void 0 ? void 0 : _b.toISOString()) !== null && _c !== void 0 ? _c : '';\n if (logs[key]) {\n key = \"\".concat(key, \"-\").concat(Math.random());\n }\n return __assign(__assign({}, logs), (_a = {}, _a[key] = line, _a));\n }, {});\n // ie doesn't like console.table\n if (console.table) {\n console.table(formatted);\n }\n else {\n console.log(formatted);\n }\n }\n else {\n this.logs.forEach(function (logEntry) {\n var level = logEntry.level, message = logEntry.message, extras = logEntry.extras;\n if (level === 'info' || level === 'debug') {\n console.log(message, extras !== null && extras !== void 0 ? extras : '');\n }\n else {\n console[level](message, extras !== null && extras !== void 0 ? extras : '');\n }\n });\n }\n this._logs = [];\n };\n return Logger;\n}());\nexport default Logger;\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nvar compactMetricType = function (type) {\n var enums = {\n gauge: 'g',\n counter: 'c',\n };\n return enums[type];\n};\nvar Stats = /** @class */ (function () {\n function Stats(remoteMetrics) {\n this.metrics = [];\n this.remoteMetrics = remoteMetrics;\n }\n Stats.prototype.increment = function (metric, by, tags) {\n var _a;\n if (by === void 0) { by = 1; }\n this.metrics.push({\n metric: metric,\n value: by,\n tags: tags !== null && tags !== void 0 ? tags : [],\n type: 'counter',\n timestamp: Date.now(),\n });\n (_a = this.remoteMetrics) === null || _a === void 0 ? void 0 : _a.increment(metric, tags !== null && tags !== void 0 ? tags : []);\n };\n Stats.prototype.gauge = function (metric, value, tags) {\n this.metrics.push({\n metric: metric,\n value: value,\n tags: tags !== null && tags !== void 0 ? tags : [],\n type: 'gauge',\n timestamp: Date.now(),\n });\n };\n Stats.prototype.flush = function () {\n var formatted = this.metrics.map(function (m) { return (__assign(__assign({}, m), { tags: m.tags.join(',') })); });\n // ie doesn't like console.table\n if (console.table) {\n console.table(formatted);\n }\n else {\n console.log(formatted);\n }\n this.metrics = [];\n };\n /**\n * compact keys for smaller payload\n */\n Stats.prototype.serialize = function () {\n return this.metrics.map(function (m) {\n return {\n m: m.metric,\n v: m.value,\n t: m.tags,\n k: compactMetricType(m.type),\n e: m.timestamp,\n };\n });\n };\n return Stats;\n}());\nexport default Stats;\n//# sourceMappingURL=index.js.map","import { v4 as uuid } from '@lukeed/uuid';\nimport { dset } from 'dset';\nimport Logger from '../logger';\nimport Stats from '../stats';\nimport { RemoteMetrics } from '../stats/remote-metrics';\nvar ContextCancelation = /** @class */ (function () {\n function ContextCancelation(options) {\n var _a, _b, _c;\n this.retry = (_a = options.retry) !== null && _a !== void 0 ? _a : true;\n this.type = (_b = options.type) !== null && _b !== void 0 ? _b : 'plugin Error';\n this.reason = (_c = options.reason) !== null && _c !== void 0 ? _c : '';\n }\n return ContextCancelation;\n}());\nexport { ContextCancelation };\nvar remoteMetrics;\nvar Context = /** @class */ (function () {\n function Context(event, id) {\n this.logger = new Logger();\n this.cancel = function (error) {\n if (error) {\n throw error;\n }\n throw new ContextCancelation({ reason: 'Context Cancel' });\n };\n this._attempts = 0;\n this._event = event;\n this._id = id !== null && id !== void 0 ? id : uuid();\n this.stats = new Stats(remoteMetrics);\n }\n Context.initMetrics = function (options) {\n remoteMetrics = new RemoteMetrics(options);\n };\n Context.system = function () {\n return new Context({ type: 'track', event: 'system' });\n };\n Context.prototype.isSame = function (other) {\n return other._id === this._id;\n };\n Context.prototype.log = function (level, message, extras) {\n this.logger.log(level, message, extras);\n };\n Object.defineProperty(Context.prototype, \"id\", {\n get: function () {\n return this._id;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"event\", {\n get: function () {\n return this._event;\n },\n set: function (evt) {\n this._event = evt;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Context.prototype, \"attempts\", {\n get: function () {\n return this._attempts;\n },\n set: function (attempts) {\n this._attempts = attempts;\n },\n enumerable: false,\n configurable: true\n });\n Context.prototype.updateEvent = function (path, val) {\n var _a;\n // Don't allow integrations that are set to false to be overwritten with integration settings.\n if (path.split('.')[0] === 'integrations') {\n var integrationName = path.split('.')[1];\n if (((_a = this._event.integrations) === null || _a === void 0 ? void 0 : _a[integrationName]) === false) {\n return this._event;\n }\n }\n dset(this._event, path, val);\n return this._event;\n };\n Context.prototype.failedDelivery = function () {\n return this._failedDelivery;\n };\n Context.prototype.setFailedDelivery = function (options) {\n this._failedDelivery = options;\n };\n Context.prototype.logs = function () {\n return this.logger.logs;\n };\n Context.prototype.flush = function () {\n this.logger.flush();\n this.stats.flush();\n };\n Context.prototype.toJSON = function () {\n return {\n id: this._id,\n event: this._event,\n logs: this.logger.logs,\n metrics: this.stats.metrics,\n };\n };\n return Context;\n}());\nexport { Context };\n//# sourceMappingURL=index.js.map","import { __awaiter, __generator } from \"tslib\";\nimport fetch from 'unfetch';\nimport { version } from '../../generated/version';\nimport { getVersionType } from '../../plugins/segmentio/normalize';\nvar RemoteMetrics = /** @class */ (function () {\n function RemoteMetrics(options) {\n var _this = this;\n var _a, _b, _c, _d;\n this.host = (_a = options === null || options === void 0 ? void 0 : options.host) !== null && _a !== void 0 ? _a : 'api.segment.io/v1';\n this.sampleRate = (_b = options === null || options === void 0 ? void 0 : options.sampleRate) !== null && _b !== void 0 ? _b : 1;\n this.flushTimer = (_c = options === null || options === void 0 ? void 0 : options.flushTimer) !== null && _c !== void 0 ? _c : 30 * 1000; /* 30s */\n this.maxQueueSize = (_d = options === null || options === void 0 ? void 0 : options.maxQueueSize) !== null && _d !== void 0 ? _d : 20;\n this.queue = [];\n if (this.sampleRate > 0) {\n var flushing_1 = false;\n var run_1 = function () {\n if (flushing_1) {\n return;\n }\n flushing_1 = true;\n _this.flush().catch(function (err) {\n console.error(err);\n });\n flushing_1 = false;\n setTimeout(run_1, _this.flushTimer);\n };\n run_1();\n }\n }\n RemoteMetrics.prototype.increment = function (metric, tags) {\n // All metrics are part of an allow list in Tracking API\n if (!metric.includes('analytics_js.')) {\n return;\n }\n // /m doesn't like empty tags\n if (tags.length === 0) {\n return;\n }\n if (Math.random() > this.sampleRate) {\n return;\n }\n if (this.queue.length >= this.maxQueueSize) {\n return;\n }\n var formatted = tags.reduce(function (acc, t) {\n var _a = t.split(':'), k = _a[0], v = _a[1];\n acc[k] = v;\n return acc;\n }, {});\n formatted['library'] = 'analytics.js';\n var type = getVersionType();\n if (type === 'web') {\n formatted['library_version'] = \"next-\".concat(version);\n }\n else {\n formatted['library_version'] = \"npm:next-\".concat(version);\n }\n this.queue.push({\n type: 'Counter',\n metric: metric,\n value: 1,\n tags: formatted,\n });\n if (metric.includes('error')) {\n this.flush().catch(function (err) { return console.error(err); });\n }\n };\n RemoteMetrics.prototype.flush = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.queue.length <= 0) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, this.send().catch(function (error) {\n console.error(error);\n _this.sampleRate = 0;\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n RemoteMetrics.prototype.send = function () {\n return __awaiter(this, void 0, void 0, function () {\n var payload, headers, url;\n return __generator(this, function (_a) {\n payload = { series: this.queue };\n this.queue = [];\n headers = { 'Content-Type': 'text/plain' };\n url = \"https://\".concat(this.host, \"/m\");\n return [2 /*return*/, fetch(url, {\n headers: headers,\n body: JSON.stringify(payload),\n method: 'POST',\n })];\n });\n });\n };\n return RemoteMetrics;\n}());\nexport { RemoteMetrics };\n//# sourceMappingURL=remote-metrics.js.map","export function isBrowser() {\n return typeof window !== 'undefined';\n}\nexport function isServer() {\n return !isBrowser();\n}\n//# sourceMappingURL=index.js.map","/**\n * Tries to gets the unencoded version of an encoded component of a\n * Uniform Resource Identifier (URI). If input string is malformed,\n * returns it back as-is.\n *\n * Note: All occurences of the `+` character become ` ` (spaces).\n **/\nexport function gracefulDecodeURIComponent(encodedURIComponent) {\n try {\n return decodeURIComponent(encodedURIComponent.replace(/\\+/g, ' '));\n }\n catch (_a) {\n return encodedURIComponent;\n }\n}\n//# sourceMappingURL=gracefulDecodeURIComponent.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { Context, ContextCancelation } from '../context';\nfunction tryOperation(op) {\n return __awaiter(this, void 0, void 0, function () {\n var err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, op()];\n case 1: return [2 /*return*/, _a.sent()];\n case 2:\n err_1 = _a.sent();\n return [2 /*return*/, Promise.reject(err_1)];\n case 3: return [2 /*return*/];\n }\n });\n });\n}\nexport function attempt(ctx, plugin) {\n ctx.log('debug', 'plugin', { plugin: plugin.name });\n var start = new Date().getTime();\n var hook = plugin[ctx.event.type];\n if (hook === undefined) {\n return Promise.resolve(ctx);\n }\n var newCtx = tryOperation(function () { return hook.apply(plugin, [ctx]); })\n .then(function (ctx) {\n var done = new Date().getTime() - start;\n ctx.stats.gauge('plugin_time', done, [\"plugin:\".concat(plugin.name)]);\n return ctx;\n })\n .catch(function (err) {\n if (err instanceof ContextCancelation &&\n err.type === 'middleware_cancellation') {\n throw err;\n }\n if (err instanceof ContextCancelation) {\n ctx.log('warn', err.type, {\n plugin: plugin.name,\n error: err,\n });\n return err;\n }\n ctx.log('error', 'plugin Error', {\n plugin: plugin.name,\n error: err,\n });\n ctx.stats.increment('plugin_error', 1, [\"plugin:\".concat(plugin.name)]);\n return err;\n });\n return newCtx;\n}\nexport function ensure(ctx, plugin) {\n return attempt(ctx, plugin).then(function (newContext) {\n if (newContext instanceof Context) {\n return newContext;\n }\n ctx.log('debug', 'Context canceled');\n ctx.stats.increment('context_canceled');\n ctx.cancel(newContext);\n });\n}\n//# sourceMappingURL=delivery.js.map","import cookie from 'js-cookie';\n/**\n * Levels returns all levels of the given url.\n *\n * @param {string} url\n * @return {Array}\n * @api public\n */\nfunction levels(url) {\n var host = url.hostname;\n var parts = host.split('.');\n var last = parts[parts.length - 1];\n var levels = [];\n // Ip address.\n if (parts.length === 4 && parseInt(last, 10) > 0) {\n return levels;\n }\n // Localhost.\n if (parts.length <= 1) {\n return levels;\n }\n // Create levels.\n for (var i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n return levels;\n}\nfunction parseUrl(url) {\n try {\n return new URL(url);\n }\n catch (_a) {\n return;\n }\n}\nexport function tld(url) {\n var parsedUrl = parseUrl(url);\n if (!parsedUrl)\n return;\n var lvls = levels(parsedUrl);\n // Lookup the real top level one.\n for (var i = 0; i < lvls.length; ++i) {\n var cname = '__tld__';\n var domain = lvls[i];\n var opts = { domain: '.' + domain };\n try {\n // cookie access throw an error if the library is ran inside a sandboxed environment (e.g. sandboxed iframe)\n cookie.set(cname, '1', opts);\n if (cookie.get(cname)) {\n cookie.remove(cname, opts);\n return domain;\n }\n }\n catch (_) {\n return;\n }\n }\n}\n//# sourceMappingURL=tld.js.map","// This file is generated.\nexport var version = '1.41.0';\n//# sourceMappingURL=version.js.map","import { __extends } from \"tslib\";\nexport function isString(obj) {\n return typeof obj === 'string';\n}\nexport function isNumber(obj) {\n return typeof obj === 'number';\n}\nexport function isFunction(obj) {\n return typeof obj === 'function';\n}\nexport function isPlainObject(obj) {\n return (Object.prototype.toString.call(obj).slice(8, -1).toLowerCase() === 'object');\n}\nfunction hasUser(event) {\n var _a, _b, _c;\n var id = (_c = (_b = (_a = event.userId) !== null && _a !== void 0 ? _a : event.anonymousId) !== null && _b !== void 0 ? _b : event.groupId) !== null && _c !== void 0 ? _c : event.previousId;\n return isString(id);\n}\nvar ValidationError = /** @class */ (function (_super) {\n __extends(ValidationError, _super);\n function ValidationError(field, message) {\n var _this = _super.call(this, message) || this;\n _this.field = field;\n return _this;\n }\n return ValidationError;\n}(Error));\nfunction validate(ctx) {\n var _a;\n var eventType = ctx && ctx.event && ctx.event.type;\n var event = ctx.event;\n if (event === undefined) {\n throw new ValidationError('event', 'Event is missing');\n }\n if (!isString(eventType)) {\n throw new ValidationError('event', 'Event is not a string');\n }\n if (eventType === 'track' && !isString(event.event)) {\n throw new ValidationError('event', 'Event is not a string');\n }\n var props = (_a = event.properties) !== null && _a !== void 0 ? _a : event.traits;\n if (eventType !== 'alias' && !isPlainObject(props)) {\n throw new ValidationError('properties', 'properties is not an object');\n }\n if (!hasUser(event)) {\n throw new ValidationError('userId', 'Missing userId or anonymousId');\n }\n return ctx;\n}\nexport var validation = {\n name: 'Event Validation',\n type: 'before',\n version: '1.0.0',\n isLoaded: function () { return true; },\n load: function () { return Promise.resolve(); },\n track: validate,\n identify: validate,\n page: validate,\n alias: validate,\n group: validate,\n screen: validate,\n};\n//# sourceMappingURL=index.js.map","import { isFunction, isPlainObject, isString, isNumber, } from '../../plugins/validation';\nexport function resolveArguments(eventName, properties, options, callback) {\n var _a;\n var args = [eventName, properties, options, callback];\n var name = isPlainObject(eventName) ? eventName.event : eventName;\n if (!name || !isString(name)) {\n throw new Error('Event missing');\n }\n var data = isPlainObject(eventName)\n ? (_a = eventName.properties) !== null && _a !== void 0 ? _a : {}\n : isPlainObject(properties)\n ? properties\n : {};\n var opts = {};\n if (isPlainObject(properties) && !isFunction(options)) {\n opts = options !== null && options !== void 0 ? options : {};\n }\n if (isPlainObject(eventName) && !isFunction(properties)) {\n opts = properties !== null && properties !== void 0 ? properties : {};\n }\n var cb = args.find(isFunction);\n return [name, data, opts, cb];\n}\nexport function resolvePageArguments(category, name, properties, options, callback) {\n var _a, _b;\n var resolvedCategory = null;\n var resolvedName = null;\n var args = [category, name, properties, options, callback];\n var strings = args.filter(isString);\n if (strings[0] !== undefined && strings[1] !== undefined) {\n resolvedCategory = strings[0];\n resolvedName = strings[1];\n }\n if (strings.length === 1) {\n resolvedCategory = null;\n resolvedName = strings[0];\n }\n var resolvedCallback = args.find(isFunction);\n var objects = args.filter(function (obj) {\n if (resolvedName === null) {\n return isPlainObject(obj);\n }\n return isPlainObject(obj) || obj === null;\n });\n var resolvedProperties = (_a = objects[0]) !== null && _a !== void 0 ? _a : {};\n var resolvedOptions = (_b = objects[1]) !== null && _b !== void 0 ? _b : {};\n return [\n resolvedCategory,\n resolvedName,\n resolvedProperties,\n resolvedOptions,\n resolvedCallback,\n ];\n}\nexport var resolveUserArguments = function (user) {\n return function () {\n var _a, _b, _c, _d, _e;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var id = null;\n id = (_c = (_a = args.find(isString)) !== null && _a !== void 0 ? _a : (_b = args.find(isNumber)) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : user.id();\n var objects = args.filter(function (obj) {\n if (id === null) {\n return isPlainObject(obj);\n }\n return isPlainObject(obj) || obj === null;\n });\n var data = (_d = objects[0]) !== null && _d !== void 0 ? _d : {};\n var opts = (_e = objects[1]) !== null && _e !== void 0 ? _e : {};\n var resolvedCallback = args.find(isFunction);\n return [id, data, opts, resolvedCallback];\n };\n};\nexport function resolveAliasArguments(to, from, options, callback) {\n if (isNumber(to))\n to = to.toString(); // Legacy behaviour - allow integers for alias calls\n if (isNumber(from))\n from = from.toString();\n var args = [to, from, options, callback];\n var _a = args.filter(isString), _b = _a[0], aliasTo = _b === void 0 ? to : _b, _c = _a[1], aliasFrom = _c === void 0 ? null : _c;\n var _d = args.filter(isPlainObject)[0], opts = _d === void 0 ? {} : _d;\n var resolvedCallback = args.find(isFunction);\n return [aliasTo, aliasFrom, opts, resolvedCallback];\n}\n//# sourceMappingURL=index.js.map","import { __assign, __rest } from \"tslib\";\nimport { v4 as uuid } from '@lukeed/uuid';\nimport { dset } from 'dset';\nimport md5 from 'spark-md5';\nexport * from './interfaces';\nvar EventFactory = /** @class */ (function () {\n function EventFactory(user) {\n this.user = user;\n }\n EventFactory.prototype.track = function (event, properties, options, globalIntegrations) {\n return this.normalize(__assign(__assign({}, this.baseEvent()), { event: event, type: 'track', properties: properties, options: __assign({}, options), integrations: __assign({}, globalIntegrations) }));\n };\n EventFactory.prototype.page = function (category, page, properties, options, globalIntegrations) {\n var _a;\n var event = {\n type: 'page',\n properties: __assign({}, properties),\n options: __assign({}, options),\n integrations: __assign({}, globalIntegrations),\n };\n if (category !== null) {\n event.category = category;\n event.properties = (_a = event.properties) !== null && _a !== void 0 ? _a : {};\n event.properties.category = category;\n }\n if (page !== null) {\n event.name = page;\n }\n return this.normalize(__assign(__assign({}, this.baseEvent()), event));\n };\n EventFactory.prototype.screen = function (category, screen, properties, options, globalIntegrations) {\n var event = {\n type: 'screen',\n properties: __assign({}, properties),\n options: __assign({}, options),\n integrations: __assign({}, globalIntegrations),\n };\n if (category !== null) {\n event.category = category;\n }\n if (screen !== null) {\n event.name = screen;\n }\n return this.normalize(__assign(__assign({}, this.baseEvent()), event));\n };\n EventFactory.prototype.identify = function (userId, traits, options, globalIntegrations) {\n return this.normalize(__assign(__assign({}, this.baseEvent()), { type: 'identify', userId: userId, traits: traits, options: __assign({}, options), integrations: __assign({}, globalIntegrations) }));\n };\n EventFactory.prototype.group = function (groupId, traits, options, globalIntegrations) {\n return this.normalize(__assign(__assign({}, this.baseEvent()), { type: 'group', traits: traits, options: __assign({}, options), integrations: __assign({}, globalIntegrations), groupId: groupId }));\n };\n EventFactory.prototype.alias = function (to, from, options, globalIntegrations) {\n var base = {\n userId: to,\n type: 'alias',\n options: __assign({}, options),\n integrations: __assign({}, globalIntegrations),\n };\n if (from !== null) {\n base.previousId = from;\n }\n if (to === undefined) {\n return this.normalize(__assign(__assign({}, base), this.baseEvent()));\n }\n return this.normalize(__assign(__assign({}, this.baseEvent()), base));\n };\n EventFactory.prototype.baseEvent = function () {\n var base = {\n integrations: {},\n options: {},\n };\n var user = this.user;\n if (user.id()) {\n base.userId = user.id();\n }\n if (user.anonymousId()) {\n base.anonymousId = user.anonymousId();\n }\n return base;\n };\n /**\n * Builds the context part of an event based on \"foreign\" keys that\n * are provided in the `Options` parameter for an Event\n */\n EventFactory.prototype.context = function (event) {\n var _a, _b, _c;\n var optionsKeys = ['integrations', 'anonymousId', 'timestamp', 'userId'];\n var options = (_a = event.options) !== null && _a !== void 0 ? _a : {};\n delete options['integrations'];\n var providedOptionsKeys = Object.keys(options);\n var context = (_c = (_b = event.options) === null || _b === void 0 ? void 0 : _b.context) !== null && _c !== void 0 ? _c : {};\n var overrides = {};\n providedOptionsKeys.forEach(function (key) {\n if (key === 'context') {\n return;\n }\n if (optionsKeys.includes(key)) {\n dset(overrides, key, options[key]);\n }\n else {\n dset(context, key, options[key]);\n }\n });\n return [context, overrides];\n };\n EventFactory.prototype.normalize = function (event) {\n var _a, _b;\n var integrationBooleans = Object.keys((_a = event.integrations) !== null && _a !== void 0 ? _a : {}).reduce(function (integrationNames, name) {\n var _a;\n var _b;\n return __assign(__assign({}, integrationNames), (_a = {}, _a[name] = Boolean((_b = event.integrations) === null || _b === void 0 ? void 0 : _b[name]), _a));\n }, {});\n // This is pretty trippy, but here's what's going on:\n // - a) We don't pass initial integration options as part of the event, only if they're true or false\n // - b) We do accept per integration overrides (like integrations.Amplitude.sessionId) at the event level\n // Hence the need to convert base integration options to booleans, but maintain per event integration overrides\n var allIntegrations = __assign(__assign({}, integrationBooleans), (_b = event.options) === null || _b === void 0 ? void 0 : _b.integrations);\n var _c = this.context(event), context = _c[0], overrides = _c[1];\n var options = event.options, rest = __rest(event, [\"options\"]);\n var body = __assign(__assign(__assign({ timestamp: new Date() }, rest), { context: context, integrations: allIntegrations }), overrides);\n var messageId = 'ajs-next-' + md5.hash(JSON.stringify(body) + uuid());\n var evt = __assign(__assign({}, body), { messageId: messageId });\n return evt;\n };\n return EventFactory;\n}());\nexport { EventFactory };\n//# sourceMappingURL=index.js.map","var _a;\nvar _b;\nimport { getGlobal } from '../../lib/get-global';\nvar env = getGlobal();\n// The code below assumes the inspector extension will use Object.assign\n// to add the inspect interface on to this object reference (unless the\n// extension code ran first and has already set up the variable)\nexport var inspectorHost = ((_a = (_b = env)['__SEGMENT_INSPECTOR__']) !== null && _a !== void 0 ? _a : (_b['__SEGMENT_INSPECTOR__'] = {}));\n//# sourceMappingURL=index.js.map","// This an imperfect polyfill for globalThis\nexport var getGlobal = function () {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n return null;\n};\n//# sourceMappingURL=get-global.js.map","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { groupBy } from '../../lib/group-by';\nimport { ON_REMOVE_FROM_FUTURE } from '../../lib/priority-queue';\nimport { PersistedPriorityQueue } from '../../lib/priority-queue/persisted';\nimport { isOnline } from '../connection';\nimport { Context, ContextCancelation } from '../context';\nimport { Emitter } from '@segment/analytics-core';\nimport { attempt, ensure } from './delivery';\nimport { inspectorHost } from '../inspector';\nvar EventQueue = /** @class */ (function (_super) {\n __extends(EventQueue, _super);\n function EventQueue(priorityQueue) {\n var _this = _super.call(this) || this;\n _this.plugins = [];\n _this.failedInitializations = [];\n _this.flushing = false;\n _this.queue = priorityQueue !== null && priorityQueue !== void 0 ? priorityQueue : new PersistedPriorityQueue(4, 'event-queue');\n _this.queue.on(ON_REMOVE_FROM_FUTURE, function () {\n _this.scheduleFlush(0);\n });\n return _this;\n }\n EventQueue.prototype.register = function (ctx, plugin, instance) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, Promise.resolve(plugin.load(ctx, instance))\n .then(function () {\n _this.plugins.push(plugin);\n })\n .catch(function (err) {\n if (plugin.type === 'destination') {\n _this.failedInitializations.push(plugin.name);\n console.warn(plugin.name, err);\n ctx.log('warn', 'Failed to load destination', {\n plugin: plugin.name,\n error: err,\n });\n return;\n }\n throw err;\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n EventQueue.prototype.deregister = function (ctx, plugin, instance) {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n if (!plugin.unload) return [3 /*break*/, 2];\n return [4 /*yield*/, Promise.resolve(plugin.unload(ctx, instance))];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n this.plugins = this.plugins.filter(function (p) { return p.name !== plugin.name; });\n return [3 /*break*/, 4];\n case 3:\n e_1 = _a.sent();\n ctx.log('warn', 'Failed to unload destination', {\n plugin: plugin.name,\n error: e_1,\n });\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n EventQueue.prototype.dispatch = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var willDeliver;\n return __generator(this, function (_a) {\n ctx.log('debug', 'Dispatching');\n ctx.stats.increment('message_dispatched');\n this.queue.push(ctx);\n willDeliver = this.subscribeToDelivery(ctx);\n this.scheduleFlush(0);\n return [2 /*return*/, willDeliver];\n });\n });\n };\n EventQueue.prototype.subscribeToDelivery = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) {\n var onDeliver = function (flushed, delivered) {\n if (flushed.isSame(ctx)) {\n _this.off('flush', onDeliver);\n if (delivered) {\n resolve(flushed);\n }\n else {\n resolve(flushed);\n }\n }\n };\n _this.on('flush', onDeliver);\n })];\n });\n });\n };\n EventQueue.prototype.dispatchSingle = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n ctx.log('debug', 'Dispatching');\n ctx.stats.increment('message_dispatched');\n this.queue.updateAttempts(ctx);\n ctx.attempts = 1;\n return [2 /*return*/, this.deliver(ctx).catch(function (err) {\n if (err instanceof ContextCancelation && err.retry === false) {\n ctx.setFailedDelivery({ reason: err });\n return ctx;\n }\n var accepted = _this.enqueuRetry(err, ctx);\n if (!accepted) {\n ctx.setFailedDelivery({ reason: err });\n return ctx;\n }\n return _this.subscribeToDelivery(ctx);\n })];\n });\n });\n };\n EventQueue.prototype.isEmpty = function () {\n return this.queue.length === 0;\n };\n EventQueue.prototype.scheduleFlush = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = 500; }\n if (this.flushing) {\n return;\n }\n this.flushing = true;\n setTimeout(function () {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n _this.flush().then(function () {\n setTimeout(function () {\n _this.flushing = false;\n if (_this.queue.length) {\n _this.scheduleFlush(0);\n }\n }, 0);\n });\n }, timeout);\n };\n EventQueue.prototype.deliver = function (ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var start, done, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n start = Date.now();\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.flushOne(ctx)];\n case 2:\n ctx = _a.sent();\n done = Date.now() - start;\n ctx.stats.gauge('delivered', done);\n ctx.log('debug', 'Delivered', ctx.event);\n return [2 /*return*/, ctx];\n case 3:\n err_1 = _a.sent();\n ctx.log('error', 'Failed to deliver', err_1);\n ctx.stats.increment('delivery_failed');\n throw err_1;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n EventQueue.prototype.enqueuRetry = function (err, ctx) {\n var notRetriable = err instanceof ContextCancelation && err.retry === false;\n var retriable = !notRetriable;\n if (retriable) {\n var accepted = this.queue.pushWithBackoff(ctx);\n return accepted;\n }\n return false;\n };\n EventQueue.prototype.flush = function () {\n return __awaiter(this, void 0, void 0, function () {\n var ctx, err_2, accepted;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.queue.length === 0 || !isOnline()) {\n return [2 /*return*/, []];\n }\n ctx = this.queue.pop();\n if (!ctx) {\n return [2 /*return*/, []];\n }\n ctx.attempts = this.queue.getAttempts(ctx);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.deliver(ctx)];\n case 2:\n ctx = _a.sent();\n this.emit('flush', ctx, true);\n return [3 /*break*/, 4];\n case 3:\n err_2 = _a.sent();\n accepted = this.enqueuRetry(err_2, ctx);\n if (!accepted) {\n ctx.setFailedDelivery({ reason: err_2 });\n this.emit('flush', ctx, false);\n }\n return [2 /*return*/, []];\n case 4: return [2 /*return*/, [ctx]];\n }\n });\n });\n };\n EventQueue.prototype.isReady = function () {\n // return this.plugins.every((p) => p.isLoaded())\n // should we wait for every plugin to load?\n return true;\n };\n EventQueue.prototype.availableExtensions = function (denyList) {\n var available = this.plugins.filter(function (p) {\n var _a;\n // Only filter out destination plugins or the Segment.io plugin\n if (p.type !== 'destination' && p.name !== 'Segment.io') {\n return true;\n }\n // Explicit integration option takes precedence, `All: false` does not apply to Segment.io\n return ((_a = denyList[p.name]) !== null && _a !== void 0 ? _a : (p.name === 'Segment.io' ? true : denyList.All) !== false);\n });\n var _a = groupBy(available, 'type'), _b = _a.before, before = _b === void 0 ? [] : _b, _c = _a.enrichment, enrichment = _c === void 0 ? [] : _c, _d = _a.destination, destination = _d === void 0 ? [] : _d, _e = _a.after, after = _e === void 0 ? [] : _e;\n return {\n before: before,\n enrichment: enrichment,\n destinations: destination,\n after: after,\n };\n };\n EventQueue.prototype.flushOne = function (ctx) {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function () {\n var _e, before, enrichment, _i, before_1, beforeWare, temp, _f, enrichment_1, enrichmentWare, temp, _g, destinations, after, afterCalls;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n if (!this.isReady()) {\n throw new Error('Not ready');\n }\n _e = this.availableExtensions((_a = ctx.event.integrations) !== null && _a !== void 0 ? _a : {}), before = _e.before, enrichment = _e.enrichment;\n _i = 0, before_1 = before;\n _h.label = 1;\n case 1:\n if (!(_i < before_1.length)) return [3 /*break*/, 4];\n beforeWare = before_1[_i];\n return [4 /*yield*/, ensure(ctx, beforeWare)];\n case 2:\n temp = _h.sent();\n if (temp instanceof Context) {\n ctx = temp;\n }\n _h.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4:\n _f = 0, enrichment_1 = enrichment;\n _h.label = 5;\n case 5:\n if (!(_f < enrichment_1.length)) return [3 /*break*/, 8];\n enrichmentWare = enrichment_1[_f];\n return [4 /*yield*/, attempt(ctx, enrichmentWare)];\n case 6:\n temp = _h.sent();\n if (temp instanceof Context) {\n ctx = temp;\n }\n _h.label = 7;\n case 7:\n _f++;\n return [3 /*break*/, 5];\n case 8:\n (_b = inspectorHost.enriched) === null || _b === void 0 ? void 0 : _b.call(inspectorHost, ctx);\n _g = this.availableExtensions((_c = ctx.event.integrations) !== null && _c !== void 0 ? _c : {}), destinations = _g.destinations, after = _g.after;\n return [4 /*yield*/, new Promise(function (resolve, reject) {\n setTimeout(function () {\n var attempts = destinations.map(function (destination) {\n return attempt(ctx, destination);\n });\n Promise.all(attempts).then(resolve).catch(reject);\n }, 0);\n })];\n case 9:\n _h.sent();\n ctx.stats.increment('message_delivered');\n // FIXME: Resolve browsers destinations that the event was sent to\n (_d = inspectorHost.delivered) === null || _d === void 0 ? void 0 : _d.call(inspectorHost, ctx, ['segment.io']);\n afterCalls = after.map(function (after) { return attempt(ctx, after); });\n return [4 /*yield*/, Promise.all(afterCalls)];\n case 10:\n _h.sent();\n return [2 /*return*/, ctx];\n }\n });\n });\n };\n return EventQueue;\n}(Emitter));\nexport { EventQueue };\n//# sourceMappingURL=event-queue.js.map","import { __spreadArray } from \"tslib\";\nexport function groupBy(collection, grouper) {\n var results = {};\n collection.forEach(function (item) {\n var _a;\n var key = undefined;\n if (typeof grouper === 'string') {\n var suggestedKey = item[grouper];\n key =\n typeof suggestedKey !== 'string'\n ? JSON.stringify(suggestedKey)\n : suggestedKey;\n }\n else if (grouper instanceof Function) {\n key = grouper(item);\n }\n if (key === undefined) {\n return;\n }\n results[key] = __spreadArray(__spreadArray([], ((_a = results[key]) !== null && _a !== void 0 ? _a : []), true), [item], false);\n });\n return results;\n}\n//# sourceMappingURL=group-by.js.map","export default function bindAll(obj) {\n var proto = obj.constructor.prototype;\n for (var _i = 0, _a = Object.getOwnPropertyNames(proto); _i < _a.length; _i++) {\n var key = _a[_i];\n if (key !== 'constructor') {\n var desc = Object.getOwnPropertyDescriptor(obj.constructor.prototype, key);\n if (!!desc && typeof desc.value === 'function') {\n obj[key] = obj[key].bind(obj);\n }\n }\n }\n return obj;\n}\n//# sourceMappingURL=bind-all.js.map","import { __assign, __extends } from \"tslib\";\nimport { v4 as uuid } from '@lukeed/uuid';\nimport jar from 'js-cookie';\nimport { tld } from './tld';\nimport autoBind from '../../lib/bind-all';\nvar defaults = {\n persist: true,\n cookie: {\n key: 'ajs_user_id',\n oldKey: 'ajs_user',\n },\n localStorage: {\n key: 'ajs_user_traits',\n },\n};\nvar Store = /** @class */ (function () {\n function Store() {\n this.cache = {};\n }\n Store.prototype.get = function (key) {\n return this.cache[key];\n };\n Store.prototype.set = function (key, value) {\n this.cache[key] = value;\n return value;\n };\n Store.prototype.remove = function (key) {\n delete this.cache[key];\n };\n return Store;\n}());\nvar ONE_YEAR = 365;\nvar Cookie = /** @class */ (function (_super) {\n __extends(Cookie, _super);\n function Cookie(options) {\n if (options === void 0) { options = Cookie.defaults; }\n var _this = _super.call(this) || this;\n _this.options = __assign(__assign({}, Cookie.defaults), options);\n return _this;\n }\n Cookie.available = function () {\n var cookieEnabled = window.navigator.cookieEnabled;\n if (!cookieEnabled) {\n jar.set('ajs:cookies', 'test');\n cookieEnabled = document.cookie.includes('ajs:cookies');\n jar.remove('ajs:cookies');\n }\n return cookieEnabled;\n };\n Object.defineProperty(Cookie, \"defaults\", {\n get: function () {\n return {\n maxage: ONE_YEAR,\n domain: tld(window.location.href),\n path: '/',\n sameSite: 'Lax',\n };\n },\n enumerable: false,\n configurable: true\n });\n Cookie.prototype.opts = function () {\n return {\n sameSite: this.options.sameSite,\n expires: this.options.maxage,\n domain: this.options.domain,\n path: this.options.path,\n };\n };\n Cookie.prototype.get = function (key) {\n try {\n var value = jar.get(key);\n if (!value) {\n return null;\n }\n try {\n return JSON.parse(value);\n }\n catch (e) {\n return value;\n }\n }\n catch (e) {\n return null;\n }\n };\n Cookie.prototype.set = function (key, value) {\n if (typeof value === 'string') {\n jar.set(key, value, this.opts());\n }\n else if (value === null) {\n jar.remove(key, this.opts());\n }\n else {\n jar.set(key, JSON.stringify(value), this.opts());\n }\n return value;\n };\n Cookie.prototype.remove = function (key) {\n return jar.remove(key, this.opts());\n };\n return Cookie;\n}(Store));\nexport { Cookie };\nvar NullStorage = /** @class */ (function (_super) {\n __extends(NullStorage, _super);\n function NullStorage() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.get = function (_key) { return null; };\n _this.set = function (_key, _val) { return null; };\n _this.remove = function (_key) { };\n return _this;\n }\n return NullStorage;\n}(Store));\nvar LocalStorage = /** @class */ (function (_super) {\n __extends(LocalStorage, _super);\n function LocalStorage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LocalStorage.available = function () {\n var test = 'test';\n try {\n localStorage.setItem(test, test);\n localStorage.removeItem(test);\n return true;\n }\n catch (e) {\n return false;\n }\n };\n LocalStorage.prototype.get = function (key) {\n var val = localStorage.getItem(key);\n if (val) {\n try {\n return JSON.parse(val);\n }\n catch (e) {\n return JSON.parse(JSON.stringify(val));\n }\n }\n return null;\n };\n LocalStorage.prototype.set = function (key, value) {\n try {\n localStorage.setItem(key, JSON.stringify(value));\n }\n catch (_a) {\n console.warn(\"Unable to set \".concat(key, \" in localStorage, storage may be full.\"));\n }\n return value;\n };\n LocalStorage.prototype.remove = function (key) {\n return localStorage.removeItem(key);\n };\n return LocalStorage;\n}(Store));\nexport { LocalStorage };\nvar User = /** @class */ (function () {\n function User(options, cookieOptions) {\n if (options === void 0) { options = defaults; }\n var _this = this;\n var _a, _b, _c, _d;\n this.options = {};\n this.id = function (id) {\n var _a, _b;\n if (_this.options.disable) {\n return null;\n }\n var prevId = _this.chainGet(_this.idKey);\n if (id !== undefined) {\n _this.trySet(_this.idKey, id);\n var changingIdentity = id !== prevId && prevId !== null && id !== null;\n if (changingIdentity) {\n _this.anonymousId(null);\n }\n }\n return ((_b = (_a = _this.chainGet(_this.idKey)) !== null && _a !== void 0 ? _a : _this.cookies.get(defaults.cookie.oldKey)) !== null && _b !== void 0 ? _b : null);\n };\n this.anonymousId = function (id) {\n var _a, _b;\n if (_this.options.disable) {\n return null;\n }\n if (id === undefined) {\n var val = (_a = _this.chainGet(_this.anonKey)) !== null && _a !== void 0 ? _a : (_b = _this.legacySIO()) === null || _b === void 0 ? void 0 : _b[0];\n if (val) {\n return val;\n }\n }\n if (id === null) {\n _this.trySet(_this.anonKey, null);\n return _this.chainGet(_this.anonKey);\n }\n _this.trySet(_this.anonKey, id !== null && id !== void 0 ? id : uuid());\n return _this.chainGet(_this.anonKey);\n };\n this.traits = function (traits) {\n var _a, _b;\n if (_this.options.disable) {\n return;\n }\n if (traits === null) {\n traits = {};\n }\n if (traits) {\n _this.mem.set(_this.traitsKey, traits !== null && traits !== void 0 ? traits : {});\n _this.localStorage.set(_this.traitsKey, traits !== null && traits !== void 0 ? traits : {});\n }\n return ((_b = (_a = _this.localStorage.get(_this.traitsKey)) !== null && _a !== void 0 ? _a : _this.mem.get(_this.traitsKey)) !== null && _b !== void 0 ? _b : {});\n };\n this.options = options;\n this.cookieOptions = cookieOptions;\n this.idKey = (_b = (_a = options.cookie) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : defaults.cookie.key;\n this.traitsKey = (_d = (_c = options.localStorage) === null || _c === void 0 ? void 0 : _c.key) !== null && _d !== void 0 ? _d : defaults.localStorage.key;\n this.anonKey = 'ajs_anonymous_id';\n var isDisabled = options.disable === true;\n var shouldPersist = options.persist !== false;\n this.localStorage =\n isDisabled ||\n options.localStorageFallbackDisabled ||\n !shouldPersist ||\n !LocalStorage.available()\n ? new NullStorage()\n : new LocalStorage();\n this.cookies =\n !isDisabled && shouldPersist && Cookie.available()\n ? new Cookie(cookieOptions)\n : new NullStorage();\n this.mem = isDisabled ? new NullStorage() : new Store();\n var legacyUser = this.cookies.get(defaults.cookie.oldKey);\n if (legacyUser) {\n legacyUser.id && this.id(legacyUser.id);\n legacyUser.traits && this.traits(legacyUser.traits);\n }\n autoBind(this);\n }\n User.prototype.chainGet = function (key) {\n var _a, _b, _c;\n var val = (_c = (_b = (_a = this.localStorage.get(key)) !== null && _a !== void 0 ? _a : this.cookies.get(key)) !== null && _b !== void 0 ? _b : this.mem.get(key)) !== null && _c !== void 0 ? _c : null;\n return this.trySet(key, typeof val === 'number' ? val.toString() : val);\n };\n User.prototype.trySet = function (key, value) {\n this.localStorage.set(key, value);\n this.cookies.set(key, value);\n this.mem.set(key, value);\n return value;\n };\n User.prototype.chainClear = function (key) {\n this.localStorage.remove(key);\n this.cookies.remove(key);\n this.mem.remove(key);\n };\n User.prototype.legacySIO = function () {\n var val = this.cookies.get('_sio');\n if (!val) {\n return null;\n }\n var _a = val.split('----'), anon = _a[0], user = _a[1];\n return [anon, user];\n };\n User.prototype.identify = function (id, traits) {\n if (this.options.disable) {\n return;\n }\n traits = traits !== null && traits !== void 0 ? traits : {};\n var currentId = this.id();\n if (currentId === null || currentId === id) {\n traits = __assign(__assign({}, this.traits()), traits);\n }\n if (id) {\n this.id(id);\n }\n this.traits(traits);\n };\n User.prototype.logout = function () {\n this.anonymousId(null);\n this.id(null);\n this.traits({});\n };\n User.prototype.reset = function () {\n this.logout();\n this.chainClear(this.idKey);\n this.chainClear(this.anonKey);\n this.chainClear(this.traitsKey);\n };\n User.prototype.load = function () {\n return new User(this.options, this.cookieOptions);\n };\n User.prototype.save = function () {\n return true;\n };\n User.defaults = defaults;\n return User;\n}());\nexport { User };\nvar groupDefaults = {\n persist: true,\n cookie: {\n key: 'ajs_group_id',\n },\n localStorage: {\n key: 'ajs_group_properties',\n },\n};\nvar Group = /** @class */ (function (_super) {\n __extends(Group, _super);\n function Group(options, cookie) {\n if (options === void 0) { options = groupDefaults; }\n var _this = _super.call(this, options, cookie) || this;\n _this.anonymousId = function (_id) {\n return undefined;\n };\n autoBind(_this);\n return _this;\n }\n return Group;\n}(User));\nexport { Group };\n//# sourceMappingURL=index.js.map","import { __assign, __awaiter, __extends, __generator, __spreadArray } from \"tslib\";\nimport { resolveAliasArguments, resolveArguments, resolvePageArguments, resolveUserArguments, } from '../arguments-resolver';\nimport { invokeCallback } from '../callback';\nimport { isOffline } from '../connection';\nimport { Context } from '../context';\nimport { Emitter } from '@segment/analytics-core';\nimport { EventFactory } from '../events';\nimport { EventQueue } from '../queue/event-queue';\nimport { Group, User } from '../user';\nimport autoBind from '../../lib/bind-all';\nimport { PersistedPriorityQueue } from '../../lib/priority-queue/persisted';\nimport { version } from '../../generated/version';\nimport { PriorityQueue } from '../../lib/priority-queue';\nimport { getGlobal } from '../../lib/get-global';\nimport { inspectorHost } from '../inspector';\nvar deprecationWarning = 'This is being deprecated and will be not be available in future releases of Analytics JS';\n// reference any pre-existing \"analytics\" object so a user can restore the reference\nvar global = getGlobal();\nvar _analytics = global === null || global === void 0 ? void 0 : global.analytics;\nfunction createDefaultQueue(retryQueue, disablePersistance) {\n if (retryQueue === void 0) { retryQueue = false; }\n if (disablePersistance === void 0) { disablePersistance = false; }\n var maxAttempts = retryQueue ? 4 : 1;\n var priorityQueue = disablePersistance\n ? new PriorityQueue(maxAttempts, [])\n : new PersistedPriorityQueue(maxAttempts, 'event-queue');\n return new EventQueue(priorityQueue);\n}\nvar Analytics = /** @class */ (function (_super) {\n __extends(Analytics, _super);\n function Analytics(settings, options, queue, user, group) {\n var _this = this;\n var _a, _b, _c;\n _this = _super.call(this) || this;\n _this._debug = false;\n _this.initialized = false;\n _this.user = function () {\n return _this._user;\n };\n _this.init = _this.initialize.bind(_this);\n var cookieOptions = options === null || options === void 0 ? void 0 : options.cookie;\n var disablePersistance = (_a = options === null || options === void 0 ? void 0 : options.disableClientPersistence) !== null && _a !== void 0 ? _a : false;\n _this.settings = settings;\n _this.settings.timeout = (_b = _this.settings.timeout) !== null && _b !== void 0 ? _b : 300;\n _this.queue =\n queue !== null && queue !== void 0 ? queue : createDefaultQueue(options === null || options === void 0 ? void 0 : options.retryQueue, disablePersistance);\n _this._user =\n user !== null && user !== void 0 ? user : new User(disablePersistance\n ? __assign(__assign({}, options === null || options === void 0 ? void 0 : options.user), { persist: false }) : options === null || options === void 0 ? void 0 : options.user, cookieOptions).load();\n _this._group =\n group !== null && group !== void 0 ? group : new Group(disablePersistance\n ? __assign(__assign({}, options === null || options === void 0 ? void 0 : options.group), { persist: false }) : options === null || options === void 0 ? void 0 : options.group, cookieOptions).load();\n _this.eventFactory = new EventFactory(_this._user);\n _this.integrations = (_c = options === null || options === void 0 ? void 0 : options.integrations) !== null && _c !== void 0 ? _c : {};\n _this.options = options !== null && options !== void 0 ? options : {};\n autoBind(_this);\n return _this;\n }\n Analytics.prototype.track = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, name, data, opts, cb, segmentEvent;\n var _this = this;\n return __generator(this, function (_b) {\n _a = resolveArguments.apply(void 0, args), name = _a[0], data = _a[1], opts = _a[2], cb = _a[3];\n segmentEvent = this.eventFactory.track(name, data, opts, this.integrations);\n return [2 /*return*/, this.dispatch(segmentEvent, cb).then(function (ctx) {\n _this.emit('track', name, ctx.event.properties, ctx.event.options);\n return ctx;\n })];\n });\n });\n };\n Analytics.prototype.page = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, category, page, properties, options, callback, segmentEvent;\n var _this = this;\n return __generator(this, function (_b) {\n _a = resolvePageArguments.apply(void 0, args), category = _a[0], page = _a[1], properties = _a[2], options = _a[3], callback = _a[4];\n segmentEvent = this.eventFactory.page(category, page, properties, options, this.integrations);\n return [2 /*return*/, this.dispatch(segmentEvent, callback).then(function (ctx) {\n _this.emit('page', category, page, ctx.event.properties, ctx.event.options);\n return ctx;\n })];\n });\n });\n };\n Analytics.prototype.identify = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, id, _traits, options, callback, segmentEvent;\n var _this = this;\n return __generator(this, function (_b) {\n _a = resolveUserArguments(this._user).apply(void 0, args), id = _a[0], _traits = _a[1], options = _a[2], callback = _a[3];\n this._user.identify(id, _traits);\n segmentEvent = this.eventFactory.identify(this._user.id(), this._user.traits(), options, this.integrations);\n return [2 /*return*/, this.dispatch(segmentEvent, callback).then(function (ctx) {\n _this.emit('identify', ctx.event.userId, ctx.event.traits, ctx.event.options);\n return ctx;\n })];\n });\n });\n };\n Analytics.prototype.group = function () {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (args.length === 0) {\n return this._group;\n }\n var _a = resolveUserArguments(this._group).apply(void 0, args), id = _a[0], _traits = _a[1], options = _a[2], callback = _a[3];\n this._group.identify(id, _traits);\n var groupId = this._group.id();\n var groupTraits = this._group.traits();\n var segmentEvent = this.eventFactory.group(groupId, groupTraits, options, this.integrations);\n return this.dispatch(segmentEvent, callback).then(function (ctx) {\n _this.emit('group', ctx.event.groupId, ctx.event.traits, ctx.event.options);\n return ctx;\n });\n };\n Analytics.prototype.alias = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, to, from, options, callback, segmentEvent;\n var _this = this;\n return __generator(this, function (_b) {\n _a = resolveAliasArguments.apply(void 0, args), to = _a[0], from = _a[1], options = _a[2], callback = _a[3];\n segmentEvent = this.eventFactory.alias(to, from, options, this.integrations);\n return [2 /*return*/, this.dispatch(segmentEvent, callback).then(function (ctx) {\n _this.emit('alias', to, from, ctx.event.options);\n return ctx;\n })];\n });\n });\n };\n Analytics.prototype.screen = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, category, page, properties, options, callback, segmentEvent;\n var _this = this;\n return __generator(this, function (_b) {\n _a = resolvePageArguments.apply(void 0, args), category = _a[0], page = _a[1], properties = _a[2], options = _a[3], callback = _a[4];\n segmentEvent = this.eventFactory.screen(category, page, properties, options, this.integrations);\n return [2 /*return*/, this.dispatch(segmentEvent, callback).then(function (ctx) {\n _this.emit('screen', category, page, ctx.event.properties, ctx.event.options);\n return ctx;\n })];\n });\n });\n };\n Analytics.prototype.trackClick = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var autotrack;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"auto-track\" */ '../auto-track')];\n case 1:\n autotrack = _b.sent();\n return [2 /*return*/, (_a = autotrack.link).call.apply(_a, __spreadArray([this], args, false))];\n }\n });\n });\n };\n Analytics.prototype.trackLink = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var autotrack;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"auto-track\" */ '../auto-track')];\n case 1:\n autotrack = _b.sent();\n return [2 /*return*/, (_a = autotrack.link).call.apply(_a, __spreadArray([this], args, false))];\n }\n });\n });\n };\n Analytics.prototype.trackSubmit = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var autotrack;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"auto-track\" */ '../auto-track')];\n case 1:\n autotrack = _b.sent();\n return [2 /*return*/, (_a = autotrack.form).call.apply(_a, __spreadArray([this], args, false))];\n }\n });\n });\n };\n Analytics.prototype.trackForm = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var autotrack;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"auto-track\" */ '../auto-track')];\n case 1:\n autotrack = _b.sent();\n return [2 /*return*/, (_a = autotrack.form).call.apply(_a, __spreadArray([this], args, false))];\n }\n });\n });\n };\n Analytics.prototype.register = function () {\n var plugins = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n plugins[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var ctx, registrations;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ctx = Context.system();\n registrations = plugins.map(function (xt) {\n return _this.queue.register(ctx, xt, _this);\n });\n return [4 /*yield*/, Promise.all(registrations)];\n case 1:\n _a.sent();\n return [2 /*return*/, ctx];\n }\n });\n });\n };\n Analytics.prototype.deregister = function () {\n var plugins = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n plugins[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var ctx, deregistrations;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ctx = Context.system();\n deregistrations = plugins.map(function (pl) { return __awaiter(_this, void 0, void 0, function () {\n var plugin;\n return __generator(this, function (_a) {\n plugin = this.queue.plugins.find(function (p) { return p.name === pl; });\n if (plugin) {\n return [2 /*return*/, this.queue.deregister(ctx, plugin, this)];\n }\n else {\n ctx.log('warn', \"plugin \".concat(pl, \" not found\"));\n }\n return [2 /*return*/];\n });\n }); });\n return [4 /*yield*/, Promise.all(deregistrations)];\n case 1:\n _a.sent();\n return [2 /*return*/, ctx];\n }\n });\n });\n };\n Analytics.prototype.debug = function (toggle) {\n // Make sure legacy ajs debug gets turned off if it was enabled before upgrading.\n if (toggle === false && localStorage.getItem('debug')) {\n localStorage.removeItem('debug');\n }\n this._debug = toggle;\n return this;\n };\n Analytics.prototype.reset = function () {\n this._user.reset();\n };\n Analytics.prototype.timeout = function (timeout) {\n this.settings.timeout = timeout;\n };\n Analytics.prototype.dispatch = function (event, callback) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var ctx, startTime, dispatched, elapsedTime, timeoutInMs;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n ctx = new Context(event);\n (_a = inspectorHost.triggered) === null || _a === void 0 ? void 0 : _a.call(inspectorHost, ctx);\n if (isOffline() && !this.options.retryQueue) {\n return [2 /*return*/, ctx];\n }\n startTime = Date.now();\n if (!this.queue.isEmpty()) return [3 /*break*/, 2];\n return [4 /*yield*/, this.queue.dispatchSingle(ctx)];\n case 1:\n dispatched = _b.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.queue.dispatch(ctx)];\n case 3:\n dispatched = _b.sent();\n _b.label = 4;\n case 4:\n elapsedTime = Date.now() - startTime;\n timeoutInMs = this.settings.timeout;\n if (!callback) return [3 /*break*/, 6];\n return [4 /*yield*/, invokeCallback(dispatched, callback, Math.max((timeoutInMs !== null && timeoutInMs !== void 0 ? timeoutInMs : 300) - elapsedTime, 0), timeoutInMs)];\n case 5:\n dispatched = _b.sent();\n _b.label = 6;\n case 6:\n if (this._debug) {\n dispatched.flush();\n }\n return [2 /*return*/, dispatched];\n }\n });\n });\n };\n Analytics.prototype.addSourceMiddleware = function (fn) {\n return __awaiter(this, void 0, void 0, function () {\n var sourceMiddlewarePlugin, integrations, plugin;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"middleware\" */ '../../plugins/middleware')];\n case 1:\n sourceMiddlewarePlugin = (_a.sent()).sourceMiddlewarePlugin;\n integrations = {};\n this.queue.plugins.forEach(function (plugin) {\n if (plugin.type === 'destination') {\n return (integrations[plugin.name] = true);\n }\n });\n plugin = sourceMiddlewarePlugin(fn, integrations);\n return [4 /*yield*/, this.register(plugin)];\n case 2:\n _a.sent();\n return [2 /*return*/, this];\n }\n });\n });\n };\n /* TODO: This does not have to return a promise? */\n Analytics.prototype.addDestinationMiddleware = function (integrationName) {\n var middlewares = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n middlewares[_i - 1] = arguments[_i];\n }\n var legacyDestinations = this.queue.plugins.filter(function (xt) {\n // xt instanceof LegacyDestination &&\n return xt.name.toLowerCase() === integrationName.toLowerCase();\n });\n legacyDestinations.forEach(function (destination) {\n destination.addMiddleware.apply(destination, middlewares);\n });\n return Promise.resolve(this);\n };\n Analytics.prototype.setAnonymousId = function (id) {\n return this._user.anonymousId(id);\n };\n Analytics.prototype.queryString = function (query) {\n return __awaiter(this, void 0, void 0, function () {\n var queryString;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, import(\n /* webpackChunkName: \"queryString\" */ '../query-string')];\n case 1:\n queryString = (_a.sent()).queryString;\n return [2 /*return*/, queryString(this, query)];\n }\n });\n });\n };\n /**\n * @deprecated This function does not register a destination plugin.\n *\n * Instantiates a legacy Analytics.js destination.\n *\n * This function does not register the destination as an Analytics.JS plugin,\n * all the it does it to invoke the factory function back.\n */\n Analytics.prototype.use = function (legacyPluginFactory) {\n legacyPluginFactory(this);\n return this;\n };\n Analytics.prototype.ready = function (callback) {\n if (callback === void 0) { callback = function (res) { return res; }; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, Promise.all(this.queue.plugins.map(function (i) { return (i.ready ? i.ready() : Promise.resolve()); })).then(function (res) {\n callback(res);\n return res;\n })];\n });\n });\n };\n // analytics-classic api\n Analytics.prototype.noConflict = function () {\n console.warn(deprecationWarning);\n window.analytics = _analytics !== null && _analytics !== void 0 ? _analytics : this;\n return this;\n };\n Analytics.prototype.normalize = function (msg) {\n console.warn(deprecationWarning);\n return this.eventFactory.normalize(msg);\n };\n Object.defineProperty(Analytics.prototype, \"failedInitializations\", {\n get: function () {\n console.warn(deprecationWarning);\n return this.queue.failedInitializations;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Analytics.prototype, \"VERSION\", {\n get: function () {\n return version;\n },\n enumerable: false,\n configurable: true\n });\n /* @deprecated - noop */\n Analytics.prototype.initialize = function (_settings, _options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n console.warn(deprecationWarning);\n return [2 /*return*/, Promise.resolve(this)];\n });\n });\n };\n Analytics.prototype.pageview = function (url) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n console.warn(deprecationWarning);\n return [4 /*yield*/, this.page({ path: url })];\n case 1:\n _a.sent();\n return [2 /*return*/, this];\n }\n });\n });\n };\n Object.defineProperty(Analytics.prototype, \"plugins\", {\n get: function () {\n var _a;\n console.warn(deprecationWarning);\n // @ts-expect-error\n return (_a = this._plugins) !== null && _a !== void 0 ? _a : {};\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Analytics.prototype, \"Integrations\", {\n get: function () {\n console.warn(deprecationWarning);\n var integrations = this.queue.plugins\n .filter(function (plugin) { return plugin.type === 'destination'; })\n .reduce(function (acc, plugin) {\n var name = \"\".concat(plugin.name\n .toLowerCase()\n .replace('.', '')\n .split(' ')\n .join('-'), \"Integration\");\n // @ts-expect-error\n var integration = window[name];\n if (!integration) {\n return acc;\n }\n var nested = integration.Integration; // hack - Google Analytics function resides in the \"Integration\" field\n if (nested) {\n acc[plugin.name] = nested;\n return acc;\n }\n acc[plugin.name] = integration;\n return acc;\n }, {});\n return integrations;\n },\n enumerable: false,\n configurable: true\n });\n // analytics-classic stubs\n Analytics.prototype.log = function () {\n console.warn(deprecationWarning);\n return;\n };\n Analytics.prototype.addIntegrationMiddleware = function () {\n console.warn(deprecationWarning);\n return;\n };\n Analytics.prototype.listeners = function () {\n console.warn(deprecationWarning);\n return;\n };\n Analytics.prototype.addEventListener = function () {\n console.warn(deprecationWarning);\n return;\n };\n Analytics.prototype.removeAllListeners = function () {\n console.warn(deprecationWarning);\n return;\n };\n Analytics.prototype.removeListener = function () {\n console.warn(deprecationWarning);\n return;\n };\n Analytics.prototype.removeEventListener = function () {\n console.warn(deprecationWarning);\n return;\n };\n Analytics.prototype.hasListeners = function () {\n console.warn(deprecationWarning);\n return;\n };\n // This function is only used to add GA and Appcue, but these are already being added to Integrations by AJSN\n Analytics.prototype.addIntegration = function () {\n console.warn(deprecationWarning);\n return;\n };\n Analytics.prototype.add = function () {\n console.warn(deprecationWarning);\n return;\n };\n // snippet function\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Analytics.prototype.push = function (args) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var an = this;\n var method = args.shift();\n if (method) {\n if (!an[method])\n return;\n }\n an[method].apply(this, args);\n };\n return Analytics;\n}(Emitter));\nexport { Analytics };\n//# sourceMappingURL=index.js.map","/**\n * Get the current page's canonical URL.\n *\n * @return {string|undefined}\n */\nfunction canonical() {\n var tags = document.getElementsByTagName('link');\n var canon = '';\n Array.prototype.slice.call(tags).forEach(function (tag) {\n if (tag.getAttribute('rel') === 'canonical') {\n canon = tag.getAttribute('href');\n }\n });\n return canon;\n}\n/**\n * Return the canonical path for the page.\n */\nfunction canonicalPath() {\n var canon = canonical();\n if (!canon) {\n return window.location.pathname;\n }\n var a = document.createElement('a');\n a.href = canon;\n var pathname = !a.pathname.startsWith('/') ? '/' + a.pathname : a.pathname;\n return pathname;\n}\n/**\n * Return the canonical URL for the page concat the given `search`\n * and strip the hash.\n */\nexport function canonicalUrl(search) {\n if (search === void 0) { search = ''; }\n var canon = canonical();\n if (canon) {\n return canon.includes('?') ? canon : \"\".concat(canon).concat(search);\n }\n var url = window.location.href;\n var i = url.indexOf('#');\n return i === -1 ? url : url.slice(0, i);\n}\n/**\n * Return a default `options.context.page` object.\n *\n * https://segment.com/docs/spec/page/#properties\n */\nexport function pageDefaults() {\n return {\n path: canonicalPath(),\n referrer: document.referrer,\n search: location.search,\n title: document.title,\n url: canonicalUrl(location.search),\n };\n}\nfunction enrichPageContext(ctx) {\n var _a;\n var event = ctx.event;\n event.context = event.context || {};\n var pageContext = pageDefaults();\n var pageProps = (_a = event.properties) !== null && _a !== void 0 ? _a : {};\n Object.keys(pageContext).forEach(function (key) {\n if (pageProps[key]) {\n pageContext[key] = pageProps[key];\n }\n });\n if (event.context.page) {\n pageContext = Object.assign({}, pageContext, event.context.page);\n }\n event.context = Object.assign({}, event.context, {\n page: pageContext,\n });\n ctx.event = event;\n return ctx;\n}\nexport var pageEnrichment = {\n name: 'Page Enrichment',\n version: '0.1.0',\n isLoaded: function () { return true; },\n load: function () { return Promise.resolve(); },\n type: 'before',\n page: function (ctx) {\n ctx.event.properties = Object.assign({}, pageDefaults(), ctx.event.properties);\n if (ctx.event.name) {\n ctx.event.properties.name = ctx.event.name;\n }\n return enrichPageContext(ctx);\n },\n alias: enrichPageContext,\n track: enrichPageContext,\n identify: enrichPageContext,\n group: enrichPageContext,\n};\n//# sourceMappingURL=index.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { asPromise } from '../../lib/as-promise';\nimport { loadScript } from '../../lib/load-script';\nimport { getCDN } from '../../lib/parse-cdn';\nfunction validate(pluginLike) {\n if (!Array.isArray(pluginLike)) {\n throw new Error('Not a valid list of plugins');\n }\n var required = ['load', 'isLoaded', 'name', 'version', 'type'];\n pluginLike.forEach(function (plugin) {\n required.forEach(function (method) {\n var _a;\n if (plugin[method] === undefined) {\n throw new Error(\"Plugin: \".concat((_a = plugin.name) !== null && _a !== void 0 ? _a : 'unknown', \" missing required function \").concat(method));\n }\n });\n });\n return true;\n}\nexport function remoteLoader(settings, userIntegrations, mergedIntegrations, obfuscate) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var allPlugins, cdn, pluginPromises;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n allPlugins = [];\n cdn = getCDN();\n pluginPromises = ((_a = settings.remotePlugins) !== null && _a !== void 0 ? _a : []).map(function (remotePlugin) { return __awaiter(_this, void 0, void 0, function () {\n var urlSplit, name_1, obfuscatedURL, error_1, libraryName, pluginFactory, plugin, plugins, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if ((userIntegrations.All === false &&\n !userIntegrations[remotePlugin.name]) ||\n userIntegrations[remotePlugin.name] === false)\n return [2 /*return*/];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 12, , 13]);\n if (!obfuscate) return [3 /*break*/, 7];\n urlSplit = remotePlugin.url.split('/');\n name_1 = urlSplit[urlSplit.length - 2];\n obfuscatedURL = remotePlugin.url.replace(name_1, btoa(name_1).replace(/=/g, ''));\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 6]);\n return [4 /*yield*/, loadScript(obfuscatedURL.replace('https://cdn.segment.com', cdn))];\n case 3:\n _a.sent();\n return [3 /*break*/, 6];\n case 4:\n error_1 = _a.sent();\n // Due to syncing concerns it is possible that the obfuscated action destination (or requested version) might not exist.\n // We should use the unobfuscated version as a fallback.\n return [4 /*yield*/, loadScript(remotePlugin.url.replace('https://cdn.segment.com', cdn))];\n case 5:\n // Due to syncing concerns it is possible that the obfuscated action destination (or requested version) might not exist.\n // We should use the unobfuscated version as a fallback.\n _a.sent();\n return [3 /*break*/, 6];\n case 6: return [3 /*break*/, 9];\n case 7: return [4 /*yield*/, loadScript(remotePlugin.url.replace('https://cdn.segment.com', cdn))];\n case 8:\n _a.sent();\n _a.label = 9;\n case 9:\n libraryName = remotePlugin.libraryName;\n if (!(typeof window[libraryName] === 'function')) return [3 /*break*/, 11];\n pluginFactory = window[libraryName];\n return [4 /*yield*/, asPromise(pluginFactory(__assign(__assign({}, remotePlugin.settings), mergedIntegrations[remotePlugin.name])))];\n case 10:\n plugin = _a.sent();\n plugins = Array.isArray(plugin) ? plugin : [plugin];\n validate(plugins);\n allPlugins.push.apply(allPlugins, plugins);\n _a.label = 11;\n case 11: return [3 /*break*/, 13];\n case 12:\n error_2 = _a.sent();\n console.warn('Failed to load Remote Plugin', error_2);\n return [3 /*break*/, 13];\n case 13: return [2 /*return*/];\n }\n });\n }); });\n return [4 /*yield*/, Promise.all(pluginPromises)];\n case 1:\n _b.sent();\n return [2 /*return*/, allPlugins.filter(Boolean)];\n }\n });\n });\n}\n//# sourceMappingURL=index.js.map","import { __awaiter, __generator } from \"tslib\";\nimport unfetch from 'unfetch';\nvar fetch = unfetch;\nif (typeof window !== 'undefined') {\n fetch = window.fetch || unfetch;\n}\nvar MAX_PAYLOAD_SIZE = 500;\nfunction kilobytes(buffer) {\n var size = encodeURI(JSON.stringify(buffer)).split(/%..|./).length - 1;\n return size / 1024;\n}\n/**\n * Checks if the payload is over or close to\n * the maximum payload size allowed by tracking\n * API.\n */\nfunction approachingTrackingAPILimit(buffer) {\n return kilobytes(buffer) >= MAX_PAYLOAD_SIZE - 50;\n}\nfunction chunks(batch) {\n var result = [];\n var index = 0;\n batch.forEach(function (item) {\n var size = kilobytes(result[index]);\n if (size >= 64) {\n index++;\n }\n if (result[index]) {\n result[index].push(item);\n }\n else {\n result[index] = [item];\n }\n });\n return result;\n}\nexport default function batch(apiHost, config) {\n var _a, _b;\n var buffer = [];\n var pageUnloaded = false;\n var limit = (_a = config === null || config === void 0 ? void 0 : config.size) !== null && _a !== void 0 ? _a : 10;\n var timeout = (_b = config === null || config === void 0 ? void 0 : config.timeout) !== null && _b !== void 0 ? _b : 5000;\n function sendBatch(batch) {\n var _a;\n if (batch.length === 0) {\n return;\n }\n var writeKey = (_a = batch[0]) === null || _a === void 0 ? void 0 : _a.writeKey;\n return fetch(\"https://\".concat(apiHost, \"/b\"), {\n keepalive: pageUnloaded,\n headers: {\n 'Content-Type': 'text/plain',\n },\n method: 'post',\n body: JSON.stringify({ batch: batch, writeKey: writeKey }),\n });\n }\n function flush() {\n return __awaiter(this, void 0, void 0, function () {\n var batch_1;\n return __generator(this, function (_a) {\n if (buffer.length) {\n batch_1 = buffer;\n buffer = [];\n return [2 /*return*/, sendBatch(batch_1)];\n }\n return [2 /*return*/];\n });\n });\n }\n var schedule;\n function scheduleFlush() {\n if (schedule) {\n return;\n }\n schedule = setTimeout(function () {\n schedule = undefined;\n flush().catch(console.error);\n }, timeout);\n }\n window.addEventListener('beforeunload', function () {\n pageUnloaded = true;\n if (buffer.length) {\n var reqs = chunks(buffer).map(sendBatch);\n Promise.all(reqs).catch(console.error);\n }\n });\n function dispatch(_url, body) {\n return __awaiter(this, void 0, void 0, function () {\n var bufferOverflow;\n return __generator(this, function (_a) {\n buffer.push(body);\n bufferOverflow = buffer.length >= limit || approachingTrackingAPILimit(buffer);\n return [2 /*return*/, bufferOverflow || pageUnloaded ? flush() : scheduleFlush()];\n });\n });\n }\n return {\n dispatch: dispatch,\n };\n}\n//# sourceMappingURL=batched-dispatcher.js.map","import unfetch from 'unfetch';\nvar fetch = unfetch;\nif (typeof window !== 'undefined') {\n fetch = window.fetch || unfetch;\n}\nexport default function () {\n function dispatch(url, body) {\n return fetch(url, {\n headers: { 'Content-Type': 'text/plain' },\n method: 'post',\n body: JSON.stringify(body),\n });\n }\n return {\n dispatch: dispatch,\n };\n}\n//# sourceMappingURL=fetch-dispatcher.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { isOffline } from '../../core/connection';\nimport { Context } from '../../core/context';\nimport { attempt } from '../../core/queue/delivery';\nimport { pWhile } from '../../lib/p-while';\nfunction flushQueue(xt, queue) {\n return __awaiter(this, void 0, void 0, function () {\n var failedQueue;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n failedQueue = [];\n if (isOffline()) {\n return [2 /*return*/, queue];\n }\n return [4 /*yield*/, pWhile(function () { return queue.length > 0 && !isOffline(); }, function () { return __awaiter(_this, void 0, void 0, function () {\n var ctx, result, success;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ctx = queue.pop();\n if (!ctx) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, attempt(ctx, xt)];\n case 1:\n result = _a.sent();\n success = result instanceof Context;\n if (!success) {\n failedQueue.push(ctx);\n }\n return [2 /*return*/];\n }\n });\n }); })\n // re-add failed tasks\n ];\n case 1:\n _a.sent();\n // re-add failed tasks\n failedQueue.map(function (failed) { return queue.pushWithBackoff(failed); });\n return [2 /*return*/, queue];\n }\n });\n });\n}\nexport function scheduleFlush(flushing, buffer, xt, scheduleFlush) {\n var _this = this;\n if (flushing) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n var isFlushing, newBuffer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isFlushing = true;\n return [4 /*yield*/, flushQueue(xt, buffer)];\n case 1:\n newBuffer = _a.sent();\n isFlushing = false;\n if (buffer.todo > 0) {\n scheduleFlush(isFlushing, newBuffer, xt, scheduleFlush);\n }\n return [2 /*return*/];\n }\n });\n }); }, Math.random() * 5000);\n}\n//# sourceMappingURL=schedule-flush.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { isOffline } from '../../core/connection';\nimport { PriorityQueue } from '../../lib/priority-queue';\nimport { PersistedPriorityQueue } from '../../lib/priority-queue/persisted';\nimport { toFacade } from '../../lib/to-facade';\nimport batch from './batched-dispatcher';\nimport standard from './fetch-dispatcher';\nimport { normalize } from './normalize';\nimport { scheduleFlush } from './schedule-flush';\nfunction onAlias(analytics, json) {\n var _a, _b, _c, _d;\n var user = analytics.user();\n json.previousId =\n (_c = (_b = (_a = json.previousId) !== null && _a !== void 0 ? _a : json.from) !== null && _b !== void 0 ? _b : user.id()) !== null && _c !== void 0 ? _c : user.anonymousId();\n json.userId = (_d = json.userId) !== null && _d !== void 0 ? _d : json.to;\n delete json.from;\n delete json.to;\n return json;\n}\nexport function segmentio(analytics, settings, integrations) {\n var _a, _b, _c, _d;\n var buffer = analytics.options.disableClientPersistence\n ? new PriorityQueue(analytics.queue.queue.maxAttempts, [])\n : new PersistedPriorityQueue(analytics.queue.queue.maxAttempts, \"dest-Segment.io\");\n var flushing = false;\n var apiHost = (_a = settings === null || settings === void 0 ? void 0 : settings.apiHost) !== null && _a !== void 0 ? _a : 'api.segment.io/v1';\n var protocol = (_b = settings === null || settings === void 0 ? void 0 : settings.protocol) !== null && _b !== void 0 ? _b : 'https';\n var remote = \"\".concat(protocol, \"://\").concat(apiHost);\n var client = ((_c = settings === null || settings === void 0 ? void 0 : settings.deliveryStrategy) === null || _c === void 0 ? void 0 : _c.strategy) === 'batching'\n ? batch(apiHost, (_d = settings === null || settings === void 0 ? void 0 : settings.deliveryStrategy) === null || _d === void 0 ? void 0 : _d.config)\n : standard();\n function send(ctx) {\n return __awaiter(this, void 0, void 0, function () {\n var path, json;\n return __generator(this, function (_a) {\n if (isOffline()) {\n buffer.push(ctx);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n scheduleFlush(flushing, buffer, segmentio, scheduleFlush);\n return [2 /*return*/, ctx];\n }\n path = ctx.event.type.charAt(0);\n json = toFacade(ctx.event).json();\n if (ctx.event.type === 'track') {\n delete json.traits;\n }\n if (ctx.event.type === 'alias') {\n json = onAlias(analytics, json);\n }\n return [2 /*return*/, client\n .dispatch(\"\".concat(remote, \"/\").concat(path), normalize(analytics, json, settings, integrations))\n .then(function () { return ctx; })\n .catch(function (err) {\n if (err.type === 'error' || err.message === 'Failed to fetch') {\n buffer.push(ctx);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n scheduleFlush(flushing, buffer, segmentio, scheduleFlush);\n }\n return ctx;\n })];\n });\n });\n }\n var segmentio = {\n name: 'Segment.io',\n type: 'after',\n version: '0.1.0',\n isLoaded: function () { return true; },\n load: function () { return Promise.resolve(); },\n track: send,\n identify: send,\n page: send,\n alias: send,\n group: send,\n };\n return segmentio;\n}\n//# sourceMappingURL=index.js.map","/**\n * Check if thenable\n * (instanceof Promise doesn't respect realms)\n */\nexport var isThenable = function (value) {\n return typeof value === 'object' &&\n value !== null &&\n 'then' in value &&\n typeof value.then === 'function';\n};\n//# sourceMappingURL=is-thenable.js.map","import { __awaiter, __generator } from \"tslib\";\nimport { isThenable } from '../../lib/is-thenable';\nvar flushSyncAnalyticsCalls = function (name, analytics, buffer) {\n buffer.getCalls(name).forEach(function (c) {\n // While the underlying methods are synchronous, the callAnalyticsMethod returns a promise,\n // which normalizes success and error states between async and non-async methods, with no perf penalty.\n callAnalyticsMethod(analytics, c).catch(console.error);\n });\n};\nexport var flushAddSourceMiddleware = function (analytics, buffer) { return __awaiter(void 0, void 0, void 0, function () {\n var _i, _a, c;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _i = 0, _a = buffer.getCalls('addSourceMiddleware');\n _b.label = 1;\n case 1:\n if (!(_i < _a.length)) return [3 /*break*/, 4];\n c = _a[_i];\n return [4 /*yield*/, callAnalyticsMethod(analytics, c).catch(console.error)];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n}); };\nexport var flushOn = flushSyncAnalyticsCalls.bind(this, 'on');\nexport var flushSetAnonymousID = flushSyncAnalyticsCalls.bind(this, 'setAnonymousId');\nexport var flushAnalyticsCallsInNewTask = function (analytics, buffer) {\n buffer.toArray().forEach(function (m) {\n setTimeout(function () {\n callAnalyticsMethod(analytics, m).catch(console.error);\n }, 0);\n });\n};\n/**\n * Represents any and all the buffered method calls that occurred before initialization.\n */\nvar PreInitMethodCallBuffer = /** @class */ (function () {\n function PreInitMethodCallBuffer() {\n this._value = {};\n }\n PreInitMethodCallBuffer.prototype.toArray = function () {\n return Object.values(this._value).reduce(function (acc, v) {\n return acc.concat.apply(acc, v);\n }, []);\n };\n PreInitMethodCallBuffer.prototype.getCalls = function (methodName) {\n var _a;\n return ((_a = this._value[methodName]) !== null && _a !== void 0 ? _a : []);\n };\n PreInitMethodCallBuffer.prototype.push = function () {\n var _this = this;\n var calls = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n calls[_i] = arguments[_i];\n }\n calls.forEach(function (call) {\n if (_this._value[call.method]) {\n _this._value[call.method].push(call);\n }\n else {\n _this._value[call.method] = [call];\n }\n });\n return this;\n };\n PreInitMethodCallBuffer.prototype.clear = function () {\n this._value = {};\n return this;\n };\n return PreInitMethodCallBuffer;\n}());\nexport { PreInitMethodCallBuffer };\n/**\n * Call method and mark as \"called\"\n * This function should never throw an error\n */\nexport function callAnalyticsMethod(analytics, call) {\n return __awaiter(this, void 0, void 0, function () {\n var result, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n if (call.called) {\n return [2 /*return*/, undefined];\n }\n call.called = true;\n result = analytics[call.method].apply(analytics, call.args);\n if (!isThenable(result)) return [3 /*break*/, 2];\n // do not defer for non-async methods\n return [4 /*yield*/, result];\n case 1:\n // do not defer for non-async methods\n _a.sent();\n _a.label = 2;\n case 2:\n call.resolve(result);\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n call.reject(err_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n}\nvar AnalyticsBuffered = /** @class */ (function () {\n function AnalyticsBuffered(loader) {\n var _this = this;\n this._preInitBuffer = new PreInitMethodCallBuffer();\n this.trackSubmit = this._createMethod('trackSubmit');\n this.trackClick = this._createMethod('trackClick');\n this.trackLink = this._createMethod('trackLink');\n this.pageView = this._createMethod('pageview');\n this.identify = this._createMethod('identify');\n this.reset = this._createMethod('reset');\n this.group = this._createMethod('group');\n this.track = this._createMethod('track');\n this.ready = this._createMethod('ready');\n this.alias = this._createMethod('alias');\n this.debug = this._createChainableMethod('debug');\n this.page = this._createMethod('page');\n this.once = this._createChainableMethod('once');\n this.off = this._createChainableMethod('off');\n this.on = this._createChainableMethod('on');\n this.addSourceMiddleware = this._createMethod('addSourceMiddleware');\n this.setAnonymousId = this._createMethod('setAnonymousId');\n this.addDestinationMiddleware = this._createMethod('addDestinationMiddleware');\n this._promise = loader(this._preInitBuffer);\n this._promise\n .then(function (_a) {\n var ajs = _a[0], ctx = _a[1];\n _this.instance = ajs;\n _this.ctx = ctx;\n })\n .catch(function () {\n // intentionally do nothing...\n // this result of this promise will be caught by the 'catch' block on this class.\n });\n }\n AnalyticsBuffered.prototype.then = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (_a = this._promise).then.apply(_a, args);\n };\n AnalyticsBuffered.prototype.catch = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (_a = this._promise).catch.apply(_a, args);\n };\n AnalyticsBuffered.prototype.finally = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (_a = this._promise).finally.apply(_a, args);\n };\n AnalyticsBuffered.prototype._createMethod = function (methodName) {\n var _this = this;\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (_this.instance) {\n return (_a = _this.instance)[methodName].apply(_a, args);\n }\n return new Promise(function (resolve, reject) {\n _this._preInitBuffer.push({\n method: methodName,\n args: args,\n resolve: resolve,\n reject: reject,\n called: false,\n });\n });\n };\n };\n /**\n * These are for methods that where determining when the method gets \"flushed\" is not important.\n * These methods will resolve when analytics is fully initialized, and return type (other than Analytics)will not be available.\n */\n AnalyticsBuffered.prototype._createChainableMethod = function (methodName) {\n var _this = this;\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (_this.instance) {\n void (_a = _this.instance)[methodName].apply(_a, args);\n return _this;\n }\n else {\n _this._preInitBuffer.push({\n method: methodName,\n args: args,\n resolve: function () { },\n reject: console.error,\n called: false,\n });\n }\n return _this;\n };\n };\n return AnalyticsBuffered;\n}());\nexport { AnalyticsBuffered };\n//# sourceMappingURL=index.js.map","export function transformSnippetCall(_a) {\n var methodName = _a[0], args = _a.slice(1);\n return {\n method: methodName,\n resolve: function () { },\n reject: console.error,\n args: args,\n called: false,\n };\n}\nvar normalizeSnippetBuffer = function (buffer) {\n return buffer.map(transformSnippetCall);\n};\n/**\n * Fetch the buffered method calls from the window object and normalize them.\n * This removes existing buffered calls from the window object.\n */\nexport var popSnippetWindowBuffer = function () {\n var wa = window.analytics;\n if (!Array.isArray(wa))\n return [];\n var buffered = wa.splice(0, wa.length);\n return normalizeSnippetBuffer(buffered);\n};\n//# sourceMappingURL=snippet.js.map","import { __assign, __awaiter, __extends, __generator, __spreadArray } from \"tslib\";\nimport { getProcessEnv } from '../lib/get-process-env';\nimport { getCDN, setGlobalCDNUrl } from '../lib/parse-cdn';\nimport fetch from 'unfetch';\nimport { Analytics } from '../core/analytics';\nimport { Context } from '../core/context';\nimport { mergedOptions } from '../lib/merged-options';\nimport { pageEnrichment } from '../plugins/page-enrichment';\nimport { remoteLoader } from '../plugins/remote-loader';\nimport { segmentio } from '../plugins/segmentio';\nimport { validation } from '../plugins/validation';\nimport { AnalyticsBuffered, flushAnalyticsCallsInNewTask, flushAddSourceMiddleware, flushSetAnonymousID, flushOn, } from '../core/buffer';\nimport { popSnippetWindowBuffer } from '../core/buffer/snippet';\nexport function loadLegacySettings(writeKey, cdnURL) {\n var baseUrl = cdnURL !== null && cdnURL !== void 0 ? cdnURL : getCDN();\n return fetch(\"\".concat(baseUrl, \"/v1/projects/\").concat(writeKey, \"/settings\"))\n .then(function (res) { return res.json(); })\n .catch(function (err) {\n console.warn('Failed to load settings', err);\n throw err;\n });\n}\nfunction hasLegacyDestinations(settings) {\n return (getProcessEnv().NODE_ENV !== 'test' &&\n // just one integration means segmentio\n Object.keys(settings.integrations).length > 1);\n}\n/**\n * With AJS classic, we allow users to call setAnonymousId before the library initialization.\n * This is important because some of the destinations will use the anonymousId during the initialization,\n * and if we set anonId afterwards, that wouldn’t impact the destination.\n *\n * Also Ensures events can be registered before library initialization.\n * This is important so users can register to 'initialize' and any events that may fire early during setup.\n */\nfunction flushPreBuffer(analytics, buffer) {\n buffer.push.apply(buffer, popSnippetWindowBuffer());\n flushSetAnonymousID(analytics, buffer);\n flushOn(analytics, buffer);\n}\n/**\n * Finish flushing buffer and cleanup.\n */\nfunction flushFinalBuffer(analytics, buffer) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n // Call popSnippetWindowBuffer before each flush task since there may be\n // analytics calls during async function calls.\n buffer.push.apply(buffer, popSnippetWindowBuffer());\n return [4 /*yield*/, flushAddSourceMiddleware(analytics, buffer)];\n case 1:\n _a.sent();\n buffer.push.apply(buffer, popSnippetWindowBuffer());\n flushAnalyticsCallsInNewTask(analytics, buffer);\n // Clear buffer, just in case analytics is loaded twice; we don't want to fire events off again.\n buffer.clear();\n return [2 /*return*/];\n }\n });\n });\n}\nfunction registerPlugins(legacySettings, analytics, opts, options, plugins) {\n var _a, _b, _c;\n return __awaiter(this, void 0, void 0, function () {\n var legacyDestinations, _d, schemaFilter, _e, mergedSettings, remotePlugins, toRegister, shouldIgnoreSegmentio, ctx;\n var _this = this;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (!hasLegacyDestinations(legacySettings)) return [3 /*break*/, 2];\n return [4 /*yield*/, import(\n /* webpackChunkName: \"ajs-destination\" */ '../plugins/ajs-destination').then(function (mod) {\n return mod.ajsDestinations(legacySettings, analytics.integrations, opts);\n })];\n case 1:\n _d = _f.sent();\n return [3 /*break*/, 3];\n case 2:\n _d = [];\n _f.label = 3;\n case 3:\n legacyDestinations = _d;\n if (!legacySettings.legacyVideoPluginsEnabled) return [3 /*break*/, 5];\n return [4 /*yield*/, import(\n /* webpackChunkName: \"legacyVideos\" */ '../plugins/legacy-video-plugins').then(function (mod) {\n return mod.loadLegacyVideoPlugins(analytics);\n })];\n case 4:\n _f.sent();\n _f.label = 5;\n case 5:\n if (!((_a = opts.plan) === null || _a === void 0 ? void 0 : _a.track)) return [3 /*break*/, 7];\n return [4 /*yield*/, import(\n /* webpackChunkName: \"schemaFilter\" */ '../plugins/schema-filter').then(function (mod) {\n var _a;\n return mod.schemaFilter((_a = opts.plan) === null || _a === void 0 ? void 0 : _a.track, legacySettings);\n })];\n case 6:\n _e = _f.sent();\n return [3 /*break*/, 8];\n case 7:\n _e = undefined;\n _f.label = 8;\n case 8:\n schemaFilter = _e;\n mergedSettings = mergedOptions(legacySettings, options);\n return [4 /*yield*/, remoteLoader(legacySettings, analytics.integrations, mergedSettings, options.obfuscate).catch(function () { return []; })];\n case 9:\n remotePlugins = _f.sent();\n toRegister = __spreadArray(__spreadArray(__spreadArray([\n validation,\n pageEnrichment\n ], plugins, true), legacyDestinations, true), remotePlugins, true);\n if (schemaFilter) {\n toRegister.push(schemaFilter);\n }\n shouldIgnoreSegmentio = (((_b = opts.integrations) === null || _b === void 0 ? void 0 : _b.All) === false && !opts.integrations['Segment.io']) ||\n (opts.integrations && opts.integrations['Segment.io'] === false);\n if (!shouldIgnoreSegmentio) {\n toRegister.push(segmentio(analytics, mergedSettings['Segment.io'], legacySettings.integrations));\n }\n return [4 /*yield*/, analytics.register.apply(analytics, toRegister)];\n case 10:\n ctx = _f.sent();\n if (!Object.entries((_c = legacySettings.enabledMiddleware) !== null && _c !== void 0 ? _c : {}).some(function (_a) {\n var enabled = _a[1];\n return enabled;\n })) return [3 /*break*/, 12];\n return [4 /*yield*/, import(\n /* webpackChunkName: \"remoteMiddleware\" */ '../plugins/remote-middleware').then(function (_a) {\n var remoteMiddlewares = _a.remoteMiddlewares;\n return __awaiter(_this, void 0, void 0, function () {\n var middleware, promises;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, remoteMiddlewares(ctx, legacySettings, options.obfuscate)];\n case 1:\n middleware = _b.sent();\n promises = middleware.map(function (mdw) {\n return analytics.addSourceMiddleware(mdw);\n });\n return [2 /*return*/, Promise.all(promises)];\n }\n });\n });\n })];\n case 11:\n _f.sent();\n _f.label = 12;\n case 12: return [2 /*return*/, ctx];\n }\n });\n });\n}\nfunction loadAnalytics(settings, options, preInitBuffer) {\n var _a, _b, _c, _d, _e, _f;\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var legacySettings, _g, retryQueue, opts, analytics, plugins, ctx, search, hash, term;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n // this is an ugly side-effect, but it's for the benefits of the plugins that get their cdn via getCDN()\n if (settings.cdnURL)\n setGlobalCDNUrl(settings.cdnURL);\n if (!((_a = settings.cdnSettings) !== null && _a !== void 0)) return [3 /*break*/, 1];\n _g = _a;\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, loadLegacySettings(settings.writeKey, settings.cdnURL)];\n case 2:\n _g = (_h.sent());\n _h.label = 3;\n case 3:\n legacySettings = _g;\n retryQueue = (_c = (_b = legacySettings.integrations['Segment.io']) === null || _b === void 0 ? void 0 : _b.retryQueue) !== null && _c !== void 0 ? _c : true;\n opts = __assign({ retryQueue: retryQueue }, options);\n analytics = new Analytics(settings, opts);\n plugins = (_d = settings.plugins) !== null && _d !== void 0 ? _d : [];\n Context.initMetrics(legacySettings.metrics);\n // needs to be flushed before plugins are registered\n flushPreBuffer(analytics, preInitBuffer);\n return [4 /*yield*/, registerPlugins(legacySettings, analytics, opts, options, plugins)];\n case 4:\n ctx = _h.sent();\n search = (_e = window.location.search) !== null && _e !== void 0 ? _e : '';\n hash = (_f = window.location.hash) !== null && _f !== void 0 ? _f : '';\n term = search.length ? search : hash.replace(/(?=#).*(?=\\?)/, '');\n if (!term.includes('ajs_')) return [3 /*break*/, 6];\n return [4 /*yield*/, analytics.queryString(term).catch(console.error)];\n case 5:\n _h.sent();\n _h.label = 6;\n case 6:\n analytics.initialized = true;\n analytics.emit('initialize', settings, options);\n if (options.initialPageview) {\n analytics.page().catch(console.error);\n }\n return [4 /*yield*/, flushFinalBuffer(analytics, preInitBuffer)];\n case 7:\n _h.sent();\n return [2 /*return*/, [analytics, ctx]];\n }\n });\n });\n}\n/**\n * The public browser interface for this package.\n * Use AnalyticsBrowser.load to create an instance.\n */\nvar AnalyticsBrowser = /** @class */ (function (_super) {\n __extends(AnalyticsBrowser, _super);\n function AnalyticsBrowser(loader) {\n return _super.call(this, loader) || this;\n }\n /**\n * Instantiates an object exposing Analytics methods.\n *\n * ```ts\n * const ajs = AnalyticsBrowser.load({ writeKey: '' })\n *\n * ajs.track(\"foo\")\n * ...\n * ```\n */\n AnalyticsBrowser.load = function (settings, options) {\n if (options === void 0) { options = {}; }\n return new this(function (preInitBuffer) {\n return loadAnalytics(settings, options, preInitBuffer);\n });\n };\n AnalyticsBrowser.standalone = function (writeKey, options) {\n return AnalyticsBrowser.load({ writeKey: writeKey }, options).then(function (res) { return res[0]; });\n };\n return AnalyticsBrowser;\n}(AnalyticsBuffered));\nexport { AnalyticsBrowser };\n//# sourceMappingURL=index.js.map","/**\n * Returns `process.env` if it is available in the environment.\n * Always returns an object make it similarly easy to use as `process.env`.\n */\nexport function getProcessEnv() {\n if (typeof process === 'undefined' || !process.env) {\n return {};\n }\n return process.env;\n}\n//# sourceMappingURL=get-process-env.js.map","var AnalyticsNode = /** @class */ (function () {\n function AnalyticsNode() {\n }\n AnalyticsNode.load = function () {\n return Promise.reject(new Error('AnalyticsNode is not available in browsers.'));\n };\n return AnalyticsNode;\n}());\nexport { AnalyticsNode };\n//# sourceMappingURL=node.browser.js.map","/**\n * Wraps an arbitrary value in a Promise so that it can be awaited on\n */\nexport function asPromise(value) {\n return Promise.resolve(value);\n}\n//# sourceMappingURL=as-promise.js.map","function findScript(src) {\n var scripts = Array.prototype.slice.call(window.document.querySelectorAll('script'));\n return scripts.find(function (s) { return s.src === src; });\n}\nexport function loadScript(src, attributes) {\n var found = findScript(src);\n if (found !== undefined) {\n var status_1 = found === null || found === void 0 ? void 0 : found.getAttribute('status');\n if (status_1 === 'loaded') {\n return Promise.resolve(found);\n }\n if (status_1 === 'loading') {\n return new Promise(function (resolve, reject) {\n found.addEventListener('load', function () { return resolve(found); });\n found.addEventListener('error', function (err) { return reject(err); });\n });\n }\n }\n return new Promise(function (resolve, reject) {\n var _a;\n var script = window.document.createElement('script');\n script.type = 'text/javascript';\n script.src = src;\n script.async = true;\n script.setAttribute('status', 'loading');\n for (var _i = 0, _b = Object.entries(attributes !== null && attributes !== void 0 ? attributes : {}); _i < _b.length; _i++) {\n var _c = _b[_i], k = _c[0], v = _c[1];\n script.setAttribute(k, v);\n }\n script.onload = function () {\n script.onerror = script.onload = null;\n script.setAttribute('status', 'loaded');\n resolve(script);\n };\n script.onerror = function () {\n script.onerror = script.onload = null;\n script.setAttribute('status', 'error');\n reject(new Error(\"Failed to load \".concat(src)));\n };\n var tag = window.document.getElementsByTagName('script')[0];\n (_a = tag.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(script, tag);\n });\n}\nexport function unloadScript(src) {\n var found = findScript(src);\n if (found !== undefined) {\n found.remove();\n }\n return Promise.resolve();\n}\n//# sourceMappingURL=load-script.js.map","import { __assign } from \"tslib\";\n/**\n * Merge legacy settings and initialized Integration option overrides.\n *\n * This will merge any options that were passed from initialization into\n * overrides for settings that are returned by the Segment CDN.\n *\n * i.e. this allows for passing options directly into destinations from\n * the Analytics constructor.\n */\nexport function mergedOptions(settings, options) {\n var _a;\n var optionOverrides = Object.entries((_a = options.integrations) !== null && _a !== void 0 ? _a : {}).reduce(function (overrides, _a) {\n var _b, _c;\n var integration = _a[0], options = _a[1];\n if (typeof options === 'object') {\n return __assign(__assign({}, overrides), (_b = {}, _b[integration] = options, _b));\n }\n return __assign(__assign({}, overrides), (_c = {}, _c[integration] = {}, _c));\n }, {});\n return Object.entries(settings.integrations).reduce(function (integrationSettings, _a) {\n var _b;\n var integration = _a[0], settings = _a[1];\n return __assign(__assign({}, integrationSettings), (_b = {}, _b[integration] = __assign(__assign({}, settings), optionOverrides[integration]), _b));\n }, {});\n}\n//# sourceMappingURL=merged-options.js.map","import { __awaiter, __generator } from \"tslib\";\nexport var pWhile = function (condition, action) { return __awaiter(void 0, void 0, void 0, function () {\n var loop;\n return __generator(this, function (_a) {\n loop = function (actionResult) { return __awaiter(void 0, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!condition(actionResult)) return [3 /*break*/, 2];\n _a = loop;\n return [4 /*yield*/, action()];\n case 1: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];\n case 2: return [2 /*return*/];\n }\n });\n }); };\n return [2 /*return*/, loop(undefined)];\n });\n}); };\n//# sourceMappingURL=p-while.js.map","import { embeddedWriteKey } from './embedded-write-key';\nvar analyticsScriptRegex = /(https:\\/\\/.*)\\/analytics\\.js\\/v1\\/(?:.*?)\\/(?:platform|analytics.*)?/;\nvar getCDNUrlFromScriptTag = function () {\n var cdn;\n var scripts = Array.prototype.slice.call(document.querySelectorAll('script'));\n scripts.forEach(function (s) {\n var _a;\n var src = (_a = s.getAttribute('src')) !== null && _a !== void 0 ? _a : '';\n var result = analyticsScriptRegex.exec(src);\n if (result && result[1]) {\n cdn = result[1];\n }\n });\n return cdn;\n};\nvar _globalCDN; // set globalCDN as in-memory singleton\nvar getGlobalCDNUrl = function () {\n var _a;\n var result = _globalCDN !== null && _globalCDN !== void 0 ? _globalCDN : (_a = window.analytics) === null || _a === void 0 ? void 0 : _a._cdn;\n return result;\n};\nexport var setGlobalCDNUrl = function (cdn) {\n if (window.analytics) {\n window.analytics._cdn = cdn;\n }\n _globalCDN = cdn;\n};\nexport var getCDN = function () {\n var globalCdnUrl = getGlobalCDNUrl();\n if (globalCdnUrl)\n return globalCdnUrl;\n var cdnFromScriptTag = getCDNUrlFromScriptTag();\n if (cdnFromScriptTag) {\n return cdnFromScriptTag;\n }\n else {\n // it's possible that the CDN is not found in the page because:\n // - the script is loaded through a proxy\n // - the script is removed after execution\n // in this case, we fall back to the default Segment CDN\n return \"https://cdn.segment.com\";\n }\n};\nexport var getNextIntegrationsURL = function () {\n var cdn = getCDN();\n return \"\".concat(cdn, \"/next-integrations\");\n};\n/**\n * Replaces the CDN URL in the script tag with the one from Analytics.js 1.0\n *\n * @returns the path to Analytics JS 1.0\n **/\nexport function getLegacyAJSPath() {\n var _a, _b;\n var writeKey = (_a = embeddedWriteKey()) !== null && _a !== void 0 ? _a : window.analytics._writeKey;\n var scripts = Array.prototype.slice.call(document.querySelectorAll('script'));\n var path = undefined;\n for (var _i = 0, scripts_1 = scripts; _i < scripts_1.length; _i++) {\n var s = scripts_1[_i];\n var src = (_b = s.getAttribute('src')) !== null && _b !== void 0 ? _b : '';\n var result = analyticsScriptRegex.exec(src);\n if (result && result[1]) {\n path = src;\n break;\n }\n }\n if (path) {\n return path.replace('analytics.min.js', 'analytics.classic.js');\n }\n return \"https://cdn.segment.com/analytics.js/v1/\".concat(writeKey, \"/analytics.classic.js\");\n}\n//# sourceMappingURL=parse-cdn.js.map","import { __extends } from \"tslib\";\nimport { Emitter } from '@segment/analytics-core';\nimport { backoff } from './backoff';\n/**\n * @internal\n */\nexport var ON_REMOVE_FROM_FUTURE = 'onRemoveFromFuture';\nvar PriorityQueue = /** @class */ (function (_super) {\n __extends(PriorityQueue, _super);\n function PriorityQueue(maxAttempts, queue, seen) {\n var _this = _super.call(this) || this;\n _this.future = [];\n _this.maxAttempts = maxAttempts;\n _this.queue = queue;\n _this.seen = seen !== null && seen !== void 0 ? seen : {};\n return _this;\n }\n PriorityQueue.prototype.push = function () {\n var _this = this;\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n var accepted = operations.map(function (operation) {\n var attempts = _this.updateAttempts(operation);\n if (attempts > _this.maxAttempts || _this.includes(operation)) {\n return false;\n }\n _this.queue.push(operation);\n return true;\n });\n this.queue = this.queue.sort(function (a, b) { return _this.getAttempts(a) - _this.getAttempts(b); });\n return accepted;\n };\n PriorityQueue.prototype.pushWithBackoff = function (operation) {\n var _this = this;\n if (this.getAttempts(operation) === 0) {\n return this.push(operation)[0];\n }\n var attempt = this.updateAttempts(operation);\n if (attempt > this.maxAttempts || this.includes(operation)) {\n return false;\n }\n var timeout = backoff({ attempt: attempt - 1 });\n setTimeout(function () {\n _this.queue.push(operation);\n // remove from future list\n _this.future = _this.future.filter(function (f) { return f.id !== operation.id; });\n // Lets listeners know that a 'future' message is now available in the queue\n _this.emit(ON_REMOVE_FROM_FUTURE);\n }, timeout);\n this.future.push(operation);\n return true;\n };\n PriorityQueue.prototype.getAttempts = function (operation) {\n var _a;\n return (_a = this.seen[operation.id]) !== null && _a !== void 0 ? _a : 0;\n };\n PriorityQueue.prototype.updateAttempts = function (operation) {\n this.seen[operation.id] = this.getAttempts(operation) + 1;\n return this.getAttempts(operation);\n };\n PriorityQueue.prototype.includes = function (operation) {\n return (this.queue.includes(operation) ||\n this.future.includes(operation) ||\n Boolean(this.queue.find(function (i) { return i.id === operation.id; })) ||\n Boolean(this.future.find(function (i) { return i.id === operation.id; })));\n };\n PriorityQueue.prototype.pop = function () {\n return this.queue.shift();\n };\n Object.defineProperty(PriorityQueue.prototype, \"length\", {\n get: function () {\n return this.queue.length;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PriorityQueue.prototype, \"todo\", {\n get: function () {\n return this.queue.length + this.future.length;\n },\n enumerable: false,\n configurable: true\n });\n return PriorityQueue;\n}(Emitter));\nexport { PriorityQueue };\n//# sourceMappingURL=index.js.map","export function backoff(params) {\n var random = Math.random() + 1;\n var _a = params.minTimeout, minTimeout = _a === void 0 ? 500 : _a, _b = params.factor, factor = _b === void 0 ? 2 : _b, attempt = params.attempt, _c = params.maxTimeout, maxTimeout = _c === void 0 ? Infinity : _c;\n return Math.min(random * minTimeout * Math.pow(factor, attempt), maxTimeout);\n}\n//# sourceMappingURL=backoff.js.map","import { __assign, __extends, __spreadArray } from \"tslib\";\nimport { PriorityQueue } from '.';\nimport { Context } from '../../core/context';\nimport { isBrowser } from '../../core/environment';\nvar loc = {\n getItem: function () { },\n setItem: function () { },\n removeItem: function () { },\n};\ntry {\n loc = isBrowser() && window.localStorage ? window.localStorage : loc;\n}\ncatch (err) {\n console.warn('Unable to access localStorage', err);\n}\nfunction persisted(key) {\n var items = loc.getItem(key);\n return (items ? JSON.parse(items) : []).map(function (p) { return new Context(p.event, p.id); });\n}\nfunction persistItems(key, items) {\n var existing = persisted(key);\n var all = __spreadArray(__spreadArray([], items, true), existing, true);\n var merged = all.reduce(function (acc, item) {\n var _a;\n return __assign(__assign({}, acc), (_a = {}, _a[item.id] = item, _a));\n }, {});\n loc.setItem(key, JSON.stringify(Object.values(merged)));\n}\nfunction seen(key) {\n var stored = loc.getItem(key);\n return stored ? JSON.parse(stored) : {};\n}\nfunction persistSeen(key, memory) {\n var stored = seen(key);\n loc.setItem(key, JSON.stringify(__assign(__assign({}, stored), memory)));\n}\nfunction remove(key) {\n loc.removeItem(key);\n}\nvar now = function () { return new Date().getTime(); };\nfunction mutex(key, onUnlock, attempt) {\n if (attempt === void 0) { attempt = 0; }\n var lockTimeout = 50;\n var lockKey = \"persisted-queue:v1:\".concat(key, \":lock\");\n var expired = function (lock) { return new Date().getTime() > lock; };\n var rawLock = loc.getItem(lockKey);\n var lock = rawLock ? JSON.parse(rawLock) : null;\n var allowed = lock === null || expired(lock);\n if (allowed) {\n loc.setItem(lockKey, JSON.stringify(now() + lockTimeout));\n onUnlock();\n loc.removeItem(lockKey);\n return;\n }\n if (!allowed && attempt < 3) {\n setTimeout(function () {\n mutex(key, onUnlock, attempt + 1);\n }, lockTimeout);\n }\n else {\n console.error('Unable to retrieve lock');\n }\n}\nvar PersistedPriorityQueue = /** @class */ (function (_super) {\n __extends(PersistedPriorityQueue, _super);\n function PersistedPriorityQueue(maxAttempts, key) {\n var _this = _super.call(this, maxAttempts, []) || this;\n var itemsKey = \"persisted-queue:v1:\".concat(key, \":items\");\n var seenKey = \"persisted-queue:v1:\".concat(key, \":seen\");\n var saved = [];\n var lastSeen = {};\n mutex(key, function () {\n try {\n saved = persisted(itemsKey);\n lastSeen = seen(seenKey);\n remove(itemsKey);\n remove(seenKey);\n _this.queue = __spreadArray(__spreadArray([], saved, true), _this.queue, true);\n _this.seen = __assign(__assign({}, lastSeen), _this.seen);\n }\n catch (err) {\n console.error(err);\n }\n });\n window.addEventListener('beforeunload', function () {\n if (_this.todo > 0) {\n var items_1 = __spreadArray(__spreadArray([], _this.queue, true), _this.future, true);\n try {\n mutex(key, function () {\n persistItems(itemsKey, items_1);\n persistSeen(seenKey, _this.seen);\n });\n }\n catch (err) {\n console.error(err);\n }\n }\n });\n return _this;\n }\n return PersistedPriorityQueue;\n}(PriorityQueue));\nexport { PersistedPriorityQueue };\n//# sourceMappingURL=persisted.js.map","import { Alias, Facade, Group, Identify, Page, Screen, Track, } from '@segment/facade';\nexport function toFacade(evt, options) {\n var fcd = new Facade(evt, options);\n if (evt.type === 'track') {\n fcd = new Track(evt, options);\n }\n if (evt.type === 'identify') {\n fcd = new Identify(evt, options);\n }\n if (evt.type === 'page') {\n fcd = new Page(evt, options);\n }\n if (evt.type === 'alias') {\n fcd = new Alias(evt, options);\n }\n if (evt.type === 'group') {\n fcd = new Group(evt, options);\n }\n if (evt.type === 'screen') {\n fcd = new Screen(evt, options);\n }\n Object.defineProperty(fcd, 'obj', {\n value: evt,\n writable: true,\n });\n return fcd;\n}\n//# sourceMappingURL=to-facade.js.map","import { __assign } from \"tslib\";\nimport jar from 'js-cookie';\nimport { gracefulDecodeURIComponent } from '../../core/query-string/gracefulDecodeURIComponent';\nimport { tld } from '../../core/user/tld';\nimport { version } from '../../generated/version';\nvar cookieOptions;\nfunction getCookieOptions() {\n if (cookieOptions) {\n return cookieOptions;\n }\n var domain = tld(window.location.href);\n cookieOptions = {\n expires: 31536000000,\n secure: false,\n path: '/',\n };\n if (domain) {\n cookieOptions.domain = domain;\n }\n return cookieOptions;\n}\n// Default value will be updated to 'web' in `bundle-umd.ts` for web build.\nvar _version = 'npm';\nexport function setVersionType(version) {\n _version = version;\n}\nexport function getVersionType() {\n return _version;\n}\nexport function ampId() {\n var ampId = jar.get('_ga');\n if (ampId && ampId.startsWith('amp')) {\n return ampId;\n }\n}\nexport function utm(query) {\n if (query.startsWith('?')) {\n query = query.substring(1);\n }\n query = query.replace(/\\?/g, '&');\n return query.split('&').reduce(function (acc, str) {\n var _a = str.split('='), k = _a[0], _b = _a[1], v = _b === void 0 ? '' : _b;\n if (k.includes('utm_') && k.length > 4) {\n var utmParam = k.substr(4);\n if (utmParam === 'campaign') {\n utmParam = 'name';\n }\n acc[utmParam] = gracefulDecodeURIComponent(v);\n }\n return acc;\n }, {});\n}\nfunction ads(query) {\n var queryIds = {\n btid: 'dataxu',\n urid: 'millennial-media',\n };\n if (query.startsWith('?')) {\n query = query.substring(1);\n }\n query = query.replace(/\\?/g, '&');\n var parts = query.split('&');\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var part = parts_1[_i];\n var _a = part.split('='), k = _a[0], v = _a[1];\n if (queryIds[k]) {\n return {\n id: v,\n type: queryIds[k],\n };\n }\n }\n}\nfunction referrerId(query, ctx, disablePersistance) {\n var stored = jar.get('s:context.referrer');\n var ad = ads(query);\n stored = stored ? JSON.parse(stored) : undefined;\n ad = ad !== null && ad !== void 0 ? ad : stored;\n if (!ad) {\n return;\n }\n if (ctx) {\n ctx.referrer = __assign(__assign({}, ctx.referrer), ad);\n }\n if (!disablePersistance) {\n jar.set('s:context.referrer', JSON.stringify(ad), getCookieOptions());\n }\n}\nexport function normalize(analytics, json, settings, integrations) {\n var _a, _b, _c, _d;\n var user = analytics.user();\n var query = window.location.search;\n json.context = (_b = (_a = json.context) !== null && _a !== void 0 ? _a : json.options) !== null && _b !== void 0 ? _b : {};\n var ctx = json.context;\n var anonId = json.anonymousId;\n delete json.options;\n json.writeKey = settings === null || settings === void 0 ? void 0 : settings.apiKey;\n ctx.userAgent = window.navigator.userAgent;\n // @ts-ignore\n var locale = navigator.userLanguage || navigator.language;\n if (typeof ctx.locale === 'undefined' && typeof locale !== 'undefined') {\n ctx.locale = locale;\n }\n if (!ctx.library) {\n var type = getVersionType();\n if (type === 'web') {\n ctx.library = {\n name: 'analytics.js',\n version: \"next-\".concat(version),\n };\n }\n else {\n ctx.library = {\n name: 'analytics.js',\n version: \"npm:next-\".concat(version),\n };\n }\n }\n if (query && !ctx.campaign) {\n ctx.campaign = utm(query);\n }\n referrerId(query, ctx, (_c = analytics.options.disableClientPersistence) !== null && _c !== void 0 ? _c : false);\n json.userId = json.userId || user.id();\n json.anonymousId = user.anonymousId(anonId);\n json.sentAt = new Date();\n var failed = analytics.queue.failedInitializations || [];\n if (failed.length > 0) {\n json._metadata = { failedInitializations: failed };\n }\n var bundled = [];\n var unbundled = [];\n for (var key in integrations) {\n var integration = integrations[key];\n if (key === 'Segment.io') {\n bundled.push(key);\n }\n if (integration.bundlingStatus === 'bundled') {\n bundled.push(key);\n }\n if (integration.bundlingStatus === 'unbundled') {\n unbundled.push(key);\n }\n }\n // This will make sure that the disabled cloud mode destinations will be\n // included in the unbundled list.\n for (var _i = 0, _e = (settings === null || settings === void 0 ? void 0 : settings.unbundledIntegrations) || []; _i < _e.length; _i++) {\n var settingsUnbundled = _e[_i];\n if (!unbundled.includes(settingsUnbundled)) {\n unbundled.push(settingsUnbundled);\n }\n }\n var configIds = (_d = settings === null || settings === void 0 ? void 0 : settings.maybeBundledConfigIds) !== null && _d !== void 0 ? _d : {};\n var bundledConfigIds = [];\n bundled.sort().forEach(function (name) {\n var _a;\n ;\n ((_a = configIds[name]) !== null && _a !== void 0 ? _a : []).forEach(function (id) {\n bundledConfigIds.push(id);\n });\n });\n if ((settings === null || settings === void 0 ? void 0 : settings.addBundledMetadata) !== false) {\n json._metadata = __assign(__assign({}, json._metadata), { bundled: bundled.sort(), unbundled: unbundled.sort(), bundledIds: bundledConfigIds });\n }\n var amp = ampId();\n if (amp) {\n ctx.amp = { id: amp };\n }\n return json;\n}\n//# sourceMappingURL=normalize.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar obj_case_1 = __importDefault(require(\"obj-case\"));\nfunction trait(a, b) {\n return function () {\n var traits = this.traits();\n var props = this.properties ? this.properties() : {};\n return (obj_case_1.default(traits, \"address.\" + a) ||\n obj_case_1.default(traits, a) ||\n (b ? obj_case_1.default(traits, \"address.\" + b) : null) ||\n (b ? obj_case_1.default(traits, b) : null) ||\n obj_case_1.default(props, \"address.\" + a) ||\n obj_case_1.default(props, a) ||\n (b ? obj_case_1.default(props, \"address.\" + b) : null) ||\n (b ? obj_case_1.default(props, b) : null));\n };\n}\nfunction default_1(proto) {\n proto.zip = trait(\"postalCode\", \"zip\");\n proto.country = trait(\"country\");\n proto.street = trait(\"street\");\n proto.state = trait(\"state\");\n proto.city = trait(\"city\");\n proto.region = trait(\"region\");\n}\nexports.default = default_1;\n//# sourceMappingURL=address.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Alias = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar facade_1 = require(\"./facade\");\nfunction Alias(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Alias = Alias;\ninherits_1.default(Alias, facade_1.Facade);\nAlias.prototype.action = function () {\n return \"alias\";\n};\nAlias.prototype.type = Alias.prototype.action;\nAlias.prototype.previousId = function () {\n return this.field(\"previousId\") || this.field(\"from\");\n};\nAlias.prototype.from = Alias.prototype.previousId;\nAlias.prototype.userId = function () {\n return this.field(\"userId\") || this.field(\"to\");\n};\nAlias.prototype.to = Alias.prototype.userId;\n//# sourceMappingURL=alias.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clone = void 0;\nfunction clone(properties) {\n if (Object.prototype.toString.call(properties) === '[object Object]') {\n var temp = {};\n for (var key in properties) {\n temp[key] = clone(properties[key]);\n }\n return temp;\n }\n else if (Array.isArray(properties)) {\n return properties.map(clone);\n }\n else {\n return properties;\n }\n}\nexports.clone = clone;\n//# sourceMappingURL=clone.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Delete = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar facade_1 = require(\"./facade\");\nfunction Delete(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Delete = Delete;\ninherits_1.default(Delete, facade_1.Facade);\nDelete.prototype.type = function () {\n return \"delete\";\n};\n//# sourceMappingURL=delete.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Facade = void 0;\nvar address_1 = __importDefault(require(\"./address\"));\nvar clone_1 = require(\"./clone\");\nvar is_enabled_1 = __importDefault(require(\"./is-enabled\"));\nvar new_date_1 = __importDefault(require(\"new-date\"));\nvar obj_case_1 = __importDefault(require(\"obj-case\"));\nvar isodate_traverse_1 = __importDefault(require(\"@segment/isodate-traverse\"));\nfunction Facade(obj, opts) {\n opts = opts || {};\n this.raw = clone_1.clone(obj);\n if (!(\"clone\" in opts))\n opts.clone = true;\n if (opts.clone)\n obj = clone_1.clone(obj);\n if (!(\"traverse\" in opts))\n opts.traverse = true;\n if (!(\"timestamp\" in obj))\n obj.timestamp = new Date();\n else\n obj.timestamp = new_date_1.default(obj.timestamp);\n if (opts.traverse)\n isodate_traverse_1.default(obj);\n this.opts = opts;\n this.obj = obj;\n}\nexports.Facade = Facade;\nvar f = Facade.prototype;\nf.proxy = function (field) {\n var fields = field.split(\".\");\n field = fields.shift();\n var obj = this[field] || this.field(field);\n if (!obj)\n return obj;\n if (typeof obj === \"function\")\n obj = obj.call(this) || {};\n if (fields.length === 0)\n return this.opts.clone ? transform(obj) : obj;\n obj = obj_case_1.default(obj, fields.join(\".\"));\n return this.opts.clone ? transform(obj) : obj;\n};\nf.field = function (field) {\n var obj = this.obj[field];\n return this.opts.clone ? transform(obj) : obj;\n};\nFacade.proxy = function (field) {\n return function () {\n return this.proxy(field);\n };\n};\nFacade.field = function (field) {\n return function () {\n return this.field(field);\n };\n};\nFacade.multi = function (path) {\n return function () {\n var multi = this.proxy(path + \"s\");\n if (Array.isArray(multi))\n return multi;\n var one = this.proxy(path);\n if (one)\n one = [this.opts.clone ? clone_1.clone(one) : one];\n return one || [];\n };\n};\nFacade.one = function (path) {\n return function () {\n var one = this.proxy(path);\n if (one)\n return one;\n var multi = this.proxy(path + \"s\");\n if (Array.isArray(multi))\n return multi[0];\n };\n};\nf.json = function () {\n var ret = this.opts.clone ? clone_1.clone(this.obj) : this.obj;\n if (this.type)\n ret.type = this.type();\n return ret;\n};\nf.rawEvent = function () {\n return this.raw;\n};\nf.options = function (integration) {\n var obj = this.obj.options || this.obj.context || {};\n var options = this.opts.clone ? clone_1.clone(obj) : obj;\n if (!integration)\n return options;\n if (!this.enabled(integration))\n return;\n var integrations = this.integrations();\n var value = integrations[integration] || obj_case_1.default(integrations, integration);\n if (typeof value !== \"object\")\n value = obj_case_1.default(this.options(), integration);\n return typeof value === \"object\" ? value : {};\n};\nf.context = f.options;\nf.enabled = function (integration) {\n var allEnabled = this.proxy(\"options.providers.all\");\n if (typeof allEnabled !== \"boolean\")\n allEnabled = this.proxy(\"options.all\");\n if (typeof allEnabled !== \"boolean\")\n allEnabled = this.proxy(\"integrations.all\");\n if (typeof allEnabled !== \"boolean\")\n allEnabled = true;\n var enabled = allEnabled && is_enabled_1.default(integration);\n var options = this.integrations();\n if (options.providers && options.providers.hasOwnProperty(integration)) {\n enabled = options.providers[integration];\n }\n if (options.hasOwnProperty(integration)) {\n var settings = options[integration];\n if (typeof settings === \"boolean\") {\n enabled = settings;\n }\n else {\n enabled = true;\n }\n }\n return !!enabled;\n};\nf.integrations = function () {\n return (this.obj.integrations || this.proxy(\"options.providers\") || this.options());\n};\nf.active = function () {\n var active = this.proxy(\"options.active\");\n if (active === null || active === undefined)\n active = true;\n return active;\n};\nf.anonymousId = function () {\n return this.field(\"anonymousId\") || this.field(\"sessionId\");\n};\nf.sessionId = f.anonymousId;\nf.groupId = Facade.proxy(\"options.groupId\");\nf.traits = function (aliases) {\n var ret = this.proxy(\"options.traits\") || {};\n var id = this.userId();\n aliases = aliases || {};\n if (id)\n ret.id = id;\n for (var alias in aliases) {\n var value = this[alias] == null\n ? this.proxy(\"options.traits.\" + alias)\n : this[alias]();\n if (value == null)\n continue;\n ret[aliases[alias]] = value;\n delete ret[alias];\n }\n return ret;\n};\nf.library = function () {\n var library = this.proxy(\"options.library\");\n if (!library)\n return { name: \"unknown\", version: null };\n if (typeof library === \"string\")\n return { name: library, version: null };\n return library;\n};\nf.device = function () {\n var device = this.proxy(\"context.device\");\n if (typeof device !== \"object\" || device === null) {\n device = {};\n }\n var library = this.library().name;\n if (device.type)\n return device;\n if (library.indexOf(\"ios\") > -1)\n device.type = \"ios\";\n if (library.indexOf(\"android\") > -1)\n device.type = \"android\";\n return device;\n};\nf.userAgent = Facade.proxy(\"context.userAgent\");\nf.timezone = Facade.proxy(\"context.timezone\");\nf.timestamp = Facade.field(\"timestamp\");\nf.channel = Facade.field(\"channel\");\nf.ip = Facade.proxy(\"context.ip\");\nf.userId = Facade.field(\"userId\");\naddress_1.default(f);\nfunction transform(obj) {\n return clone_1.clone(obj);\n}\n//# sourceMappingURL=facade.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Group = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar is_email_1 = __importDefault(require(\"./is-email\"));\nvar new_date_1 = __importDefault(require(\"new-date\"));\nvar facade_1 = require(\"./facade\");\nfunction Group(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Group = Group;\ninherits_1.default(Group, facade_1.Facade);\nvar g = Group.prototype;\ng.action = function () {\n return \"group\";\n};\ng.type = g.action;\ng.groupId = facade_1.Facade.field(\"groupId\");\ng.created = function () {\n var created = this.proxy(\"traits.createdAt\") ||\n this.proxy(\"traits.created\") ||\n this.proxy(\"properties.createdAt\") ||\n this.proxy(\"properties.created\");\n if (created)\n return new_date_1.default(created);\n};\ng.email = function () {\n var email = this.proxy(\"traits.email\");\n if (email)\n return email;\n var groupId = this.groupId();\n if (is_email_1.default(groupId))\n return groupId;\n};\ng.traits = function (aliases) {\n var ret = this.properties();\n var id = this.groupId();\n aliases = aliases || {};\n if (id)\n ret.id = id;\n for (var alias in aliases) {\n var value = this[alias] == null ? this.proxy(\"traits.\" + alias) : this[alias]();\n if (value == null)\n continue;\n ret[aliases[alias]] = value;\n delete ret[alias];\n }\n return ret;\n};\ng.name = facade_1.Facade.proxy(\"traits.name\");\ng.industry = facade_1.Facade.proxy(\"traits.industry\");\ng.employees = facade_1.Facade.proxy(\"traits.employees\");\ng.properties = function () {\n return this.field(\"traits\") || this.field(\"properties\") || {};\n};\n//# sourceMappingURL=group.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Identify = void 0;\nvar facade_1 = require(\"./facade\");\nvar obj_case_1 = __importDefault(require(\"obj-case\"));\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar is_email_1 = __importDefault(require(\"./is-email\"));\nvar new_date_1 = __importDefault(require(\"new-date\"));\nvar trim = function (str) { return str.trim(); };\nfunction Identify(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Identify = Identify;\ninherits_1.default(Identify, facade_1.Facade);\nvar i = Identify.prototype;\ni.action = function () {\n return \"identify\";\n};\ni.type = i.action;\ni.traits = function (aliases) {\n var ret = this.field(\"traits\") || {};\n var id = this.userId();\n aliases = aliases || {};\n if (id)\n ret.id = id;\n for (var alias in aliases) {\n var value = this[alias] == null ? this.proxy(\"traits.\" + alias) : this[alias]();\n if (value == null)\n continue;\n ret[aliases[alias]] = value;\n if (alias !== aliases[alias])\n delete ret[alias];\n }\n return ret;\n};\ni.email = function () {\n var email = this.proxy(\"traits.email\");\n if (email)\n return email;\n var userId = this.userId();\n if (is_email_1.default(userId))\n return userId;\n};\ni.created = function () {\n var created = this.proxy(\"traits.created\") || this.proxy(\"traits.createdAt\");\n if (created)\n return new_date_1.default(created);\n};\ni.companyCreated = function () {\n var created = this.proxy(\"traits.company.created\") ||\n this.proxy(\"traits.company.createdAt\");\n if (created) {\n return new_date_1.default(created);\n }\n};\ni.companyName = function () {\n return this.proxy(\"traits.company.name\");\n};\ni.name = function () {\n var name = this.proxy(\"traits.name\");\n if (typeof name === \"string\") {\n return trim(name);\n }\n var firstName = this.firstName();\n var lastName = this.lastName();\n if (firstName && lastName) {\n return trim(firstName + \" \" + lastName);\n }\n};\ni.firstName = function () {\n var firstName = this.proxy(\"traits.firstName\");\n if (typeof firstName === \"string\") {\n return trim(firstName);\n }\n var name = this.proxy(\"traits.name\");\n if (typeof name === \"string\") {\n return trim(name).split(\" \")[0];\n }\n};\ni.lastName = function () {\n var lastName = this.proxy(\"traits.lastName\");\n if (typeof lastName === \"string\") {\n return trim(lastName);\n }\n var name = this.proxy(\"traits.name\");\n if (typeof name !== \"string\") {\n return;\n }\n var space = trim(name).indexOf(\" \");\n if (space === -1) {\n return;\n }\n return trim(name.substr(space + 1));\n};\ni.uid = function () {\n return this.userId() || this.username() || this.email();\n};\ni.description = function () {\n return this.proxy(\"traits.description\") || this.proxy(\"traits.background\");\n};\ni.age = function () {\n var date = this.birthday();\n var age = obj_case_1.default(this.traits(), \"age\");\n if (age != null)\n return age;\n if (!(date instanceof Date))\n return;\n var now = new Date();\n return now.getFullYear() - date.getFullYear();\n};\ni.avatar = function () {\n var traits = this.traits();\n return (obj_case_1.default(traits, \"avatar\") || obj_case_1.default(traits, \"photoUrl\") || obj_case_1.default(traits, \"avatarUrl\"));\n};\ni.position = function () {\n var traits = this.traits();\n return obj_case_1.default(traits, \"position\") || obj_case_1.default(traits, \"jobTitle\");\n};\ni.username = facade_1.Facade.proxy(\"traits.username\");\ni.website = facade_1.Facade.one(\"traits.website\");\ni.websites = facade_1.Facade.multi(\"traits.website\");\ni.phone = facade_1.Facade.one(\"traits.phone\");\ni.phones = facade_1.Facade.multi(\"traits.phone\");\ni.address = facade_1.Facade.proxy(\"traits.address\");\ni.gender = facade_1.Facade.proxy(\"traits.gender\");\ni.birthday = facade_1.Facade.proxy(\"traits.birthday\");\n//# sourceMappingURL=identify.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Delete = exports.Screen = exports.Page = exports.Track = exports.Identify = exports.Group = exports.Alias = exports.Facade = void 0;\nvar facade_1 = require(\"./facade\");\nObject.defineProperty(exports, \"Facade\", { enumerable: true, get: function () { return facade_1.Facade; } });\nvar alias_1 = require(\"./alias\");\nObject.defineProperty(exports, \"Alias\", { enumerable: true, get: function () { return alias_1.Alias; } });\nvar group_1 = require(\"./group\");\nObject.defineProperty(exports, \"Group\", { enumerable: true, get: function () { return group_1.Group; } });\nvar identify_1 = require(\"./identify\");\nObject.defineProperty(exports, \"Identify\", { enumerable: true, get: function () { return identify_1.Identify; } });\nvar track_1 = require(\"./track\");\nObject.defineProperty(exports, \"Track\", { enumerable: true, get: function () { return track_1.Track; } });\nvar page_1 = require(\"./page\");\nObject.defineProperty(exports, \"Page\", { enumerable: true, get: function () { return page_1.Page; } });\nvar screen_1 = require(\"./screen\");\nObject.defineProperty(exports, \"Screen\", { enumerable: true, get: function () { return screen_1.Screen; } });\nvar delete_1 = require(\"./delete\");\nObject.defineProperty(exports, \"Delete\", { enumerable: true, get: function () { return delete_1.Delete; } });\nexports.default = __assign(__assign({}, facade_1.Facade), { Alias: alias_1.Alias,\n Group: group_1.Group,\n Identify: identify_1.Identify,\n Track: track_1.Track,\n Page: page_1.Page,\n Screen: screen_1.Screen,\n Delete: delete_1.Delete });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar matcher = /.+\\@.+\\..+/;\nfunction isEmail(string) {\n return matcher.test(string);\n}\nexports.default = isEmail;\n//# sourceMappingURL=is-email.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar disabled = {\n Salesforce: true,\n};\nfunction default_1(integration) {\n return !disabled[integration];\n}\nexports.default = default_1;\n//# sourceMappingURL=is-enabled.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Page = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar facade_1 = require(\"./facade\");\nvar track_1 = require(\"./track\");\nvar is_email_1 = __importDefault(require(\"./is-email\"));\nfunction Page(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Page = Page;\ninherits_1.default(Page, facade_1.Facade);\nvar p = Page.prototype;\np.action = function () {\n return \"page\";\n};\np.type = p.action;\np.category = facade_1.Facade.field(\"category\");\np.name = facade_1.Facade.field(\"name\");\np.title = facade_1.Facade.proxy(\"properties.title\");\np.path = facade_1.Facade.proxy(\"properties.path\");\np.url = facade_1.Facade.proxy(\"properties.url\");\np.referrer = function () {\n return (this.proxy(\"context.referrer.url\") ||\n this.proxy(\"context.page.referrer\") ||\n this.proxy(\"properties.referrer\"));\n};\np.properties = function (aliases) {\n var props = this.field(\"properties\") || {};\n var category = this.category();\n var name = this.name();\n aliases = aliases || {};\n if (category)\n props.category = category;\n if (name)\n props.name = name;\n for (var alias in aliases) {\n var value = this[alias] == null ? this.proxy(\"properties.\" + alias) : this[alias]();\n if (value == null)\n continue;\n props[aliases[alias]] = value;\n if (alias !== aliases[alias])\n delete props[alias];\n }\n return props;\n};\np.email = function () {\n var email = this.proxy(\"context.traits.email\") || this.proxy(\"properties.email\");\n if (email)\n return email;\n var userId = this.userId();\n if (is_email_1.default(userId))\n return userId;\n};\np.fullName = function () {\n var category = this.category();\n var name = this.name();\n return name && category ? category + \" \" + name : name;\n};\np.event = function (name) {\n return name ? \"Viewed \" + name + \" Page\" : \"Loaded a Page\";\n};\np.track = function (name) {\n var json = this.json();\n json.event = this.event(name);\n json.timestamp = this.timestamp();\n json.properties = this.properties();\n return new track_1.Track(json, this.opts);\n};\n//# sourceMappingURL=page.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Screen = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar page_1 = require(\"./page\");\nvar track_1 = require(\"./track\");\nfunction Screen(dictionary, opts) {\n page_1.Page.call(this, dictionary, opts);\n}\nexports.Screen = Screen;\ninherits_1.default(Screen, page_1.Page);\nScreen.prototype.action = function () {\n return \"screen\";\n};\nScreen.prototype.type = Screen.prototype.action;\nScreen.prototype.event = function (name) {\n return name ? \"Viewed \" + name + \" Screen\" : \"Loaded a Screen\";\n};\nScreen.prototype.track = function (name) {\n var json = this.json();\n json.event = this.event(name);\n json.timestamp = this.timestamp();\n json.properties = this.properties();\n return new track_1.Track(json, this.opts);\n};\n//# sourceMappingURL=screen.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Track = void 0;\nvar inherits_1 = __importDefault(require(\"inherits\"));\nvar facade_1 = require(\"./facade\");\nvar identify_1 = require(\"./identify\");\nvar is_email_1 = __importDefault(require(\"./is-email\"));\nvar obj_case_1 = __importDefault(require(\"obj-case\"));\nfunction Track(dictionary, opts) {\n facade_1.Facade.call(this, dictionary, opts);\n}\nexports.Track = Track;\ninherits_1.default(Track, facade_1.Facade);\nvar t = Track.prototype;\nt.action = function () {\n return \"track\";\n};\nt.type = t.action;\nt.event = facade_1.Facade.field(\"event\");\nt.value = facade_1.Facade.proxy(\"properties.value\");\nt.category = facade_1.Facade.proxy(\"properties.category\");\nt.id = facade_1.Facade.proxy(\"properties.id\");\nt.productId = function () {\n return (this.proxy(\"properties.product_id\") || this.proxy(\"properties.productId\"));\n};\nt.promotionId = function () {\n return (this.proxy(\"properties.promotion_id\") ||\n this.proxy(\"properties.promotionId\"));\n};\nt.cartId = function () {\n return this.proxy(\"properties.cart_id\") || this.proxy(\"properties.cartId\");\n};\nt.checkoutId = function () {\n return (this.proxy(\"properties.checkout_id\") || this.proxy(\"properties.checkoutId\"));\n};\nt.paymentId = function () {\n return (this.proxy(\"properties.payment_id\") || this.proxy(\"properties.paymentId\"));\n};\nt.couponId = function () {\n return (this.proxy(\"properties.coupon_id\") || this.proxy(\"properties.couponId\"));\n};\nt.wishlistId = function () {\n return (this.proxy(\"properties.wishlist_id\") || this.proxy(\"properties.wishlistId\"));\n};\nt.reviewId = function () {\n return (this.proxy(\"properties.review_id\") || this.proxy(\"properties.reviewId\"));\n};\nt.orderId = function () {\n return (this.proxy(\"properties.id\") ||\n this.proxy(\"properties.order_id\") ||\n this.proxy(\"properties.orderId\"));\n};\nt.sku = facade_1.Facade.proxy(\"properties.sku\");\nt.tax = facade_1.Facade.proxy(\"properties.tax\");\nt.name = facade_1.Facade.proxy(\"properties.name\");\nt.price = facade_1.Facade.proxy(\"properties.price\");\nt.total = facade_1.Facade.proxy(\"properties.total\");\nt.repeat = facade_1.Facade.proxy(\"properties.repeat\");\nt.coupon = facade_1.Facade.proxy(\"properties.coupon\");\nt.shipping = facade_1.Facade.proxy(\"properties.shipping\");\nt.discount = facade_1.Facade.proxy(\"properties.discount\");\nt.shippingMethod = function () {\n return (this.proxy(\"properties.shipping_method\") ||\n this.proxy(\"properties.shippingMethod\"));\n};\nt.paymentMethod = function () {\n return (this.proxy(\"properties.payment_method\") ||\n this.proxy(\"properties.paymentMethod\"));\n};\nt.description = facade_1.Facade.proxy(\"properties.description\");\nt.plan = facade_1.Facade.proxy(\"properties.plan\");\nt.subtotal = function () {\n var subtotal = obj_case_1.default(this.properties(), \"subtotal\");\n var total = this.total() || this.revenue();\n if (subtotal)\n return subtotal;\n if (!total)\n return 0;\n if (this.total()) {\n var n = this.tax();\n if (n)\n total -= n;\n n = this.shipping();\n if (n)\n total -= n;\n n = this.discount();\n if (n)\n total += n;\n }\n return total;\n};\nt.products = function () {\n var props = this.properties();\n var products = obj_case_1.default(props, \"products\");\n if (Array.isArray(products)) {\n return products.filter(function (item) { return item !== null; });\n }\n return [];\n};\nt.quantity = function () {\n var props = this.obj.properties || {};\n return props.quantity || 1;\n};\nt.currency = function () {\n var props = this.obj.properties || {};\n return props.currency || \"USD\";\n};\nt.referrer = function () {\n return (this.proxy(\"context.referrer.url\") ||\n this.proxy(\"context.page.referrer\") ||\n this.proxy(\"properties.referrer\"));\n};\nt.query = facade_1.Facade.proxy(\"options.query\");\nt.properties = function (aliases) {\n var ret = this.field(\"properties\") || {};\n aliases = aliases || {};\n for (var alias in aliases) {\n var value = this[alias] == null ? this.proxy(\"properties.\" + alias) : this[alias]();\n if (value == null)\n continue;\n ret[aliases[alias]] = value;\n delete ret[alias];\n }\n return ret;\n};\nt.username = function () {\n return (this.proxy(\"traits.username\") ||\n this.proxy(\"properties.username\") ||\n this.userId() ||\n this.sessionId());\n};\nt.email = function () {\n var email = this.proxy(\"traits.email\") ||\n this.proxy(\"properties.email\") ||\n this.proxy(\"options.traits.email\");\n if (email)\n return email;\n var userId = this.userId();\n if (is_email_1.default(userId))\n return userId;\n};\nt.revenue = function () {\n var revenue = this.proxy(\"properties.revenue\");\n var event = this.event();\n var orderCompletedRegExp = /^[ _]?completed[ _]?order[ _]?|^[ _]?order[ _]?completed[ _]?$/i;\n if (!revenue && event && event.match(orderCompletedRegExp)) {\n revenue = this.proxy(\"properties.total\");\n }\n return currency(revenue);\n};\nt.cents = function () {\n var revenue = this.revenue();\n return typeof revenue !== \"number\" ? this.value() || 0 : revenue * 100;\n};\nt.identify = function () {\n var json = this.json();\n json.traits = this.traits();\n return new identify_1.Identify(json, this.opts);\n};\nfunction currency(val) {\n if (!val)\n return;\n if (typeof val === \"number\") {\n return val;\n }\n if (typeof val !== \"string\") {\n return;\n }\n val = val.replace(/\\$/g, \"\");\n val = parseFloat(val);\n if (!isNaN(val)) {\n return val;\n }\n}\n//# sourceMappingURL=track.js.map","'use strict';\n\nvar isodate = require('@segment/isodate');\n\n/**\n * Expose `traverse`.\n */\nmodule.exports = traverse;\n\n/**\n * Recursively traverse an object or array, and convert\n * all ISO date strings parse into Date objects.\n *\n * @param {Object} input - object, array, or string to convert\n * @param {Boolean} strict - only convert strings with year, month, and date\n * @return {Object}\n */\nfunction traverse(input, strict) {\n if (strict === undefined) strict = true;\n if (input && typeof input === 'object') {\n return traverseObject(input, strict);\n } else if (Array.isArray(input)) {\n return traverseArray(input, strict);\n } else if (isodate.is(input, strict)) {\n return isodate.parse(input);\n }\n return input;\n}\n\n/**\n * Object traverser helper function.\n *\n * @param {Object} obj - object to traverse\n * @param {Boolean} strict - only convert strings with year, month, and date\n * @return {Object}\n */\nfunction traverseObject(obj, strict) {\n Object.keys(obj).forEach(function(key) {\n obj[key] = traverse(obj[key], strict);\n });\n return obj;\n}\n\n/**\n * Array traverser helper function\n *\n * @param {Array} arr - array to traverse\n * @param {Boolean} strict - only convert strings with year, month, and date\n * @return {Array}\n */\nfunction traverseArray(arr, strict) {\n arr.forEach(function(value, index) {\n arr[index] = traverse(value, strict);\n });\n return arr;\n}\n","'use strict';\n\n/**\n * Matcher, slightly modified from:\n *\n * https://github.com/csnover/js-iso8601/blob/lax/iso8601.js\n */\n\nvar matcher = /^(\\d{4})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:([ T])(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,\\.](\\d{1,}))?)?(?:(Z)|([+\\-])(\\d{2})(?::?(\\d{2}))?)?)?$/;\n\n/**\n * Convert an ISO date string to a date. Fallback to native `Date.parse`.\n *\n * https://github.com/csnover/js-iso8601/blob/lax/iso8601.js\n *\n * @param {String} iso\n * @return {Date}\n */\n\nexports.parse = function(iso) {\n var numericKeys = [1, 5, 6, 7, 11, 12];\n var arr = matcher.exec(iso);\n var offset = 0;\n\n // fallback to native parsing\n if (!arr) {\n return new Date(iso);\n }\n\n /* eslint-disable no-cond-assign */\n // remove undefined values\n for (var i = 0, val; val = numericKeys[i]; i++) {\n arr[val] = parseInt(arr[val], 10) || 0;\n }\n /* eslint-enable no-cond-assign */\n\n // allow undefined days and months\n arr[2] = parseInt(arr[2], 10) || 1;\n arr[3] = parseInt(arr[3], 10) || 1;\n\n // month is 0-11\n arr[2]--;\n\n // allow abitrary sub-second precision\n arr[8] = arr[8] ? (arr[8] + '00').substring(0, 3) : 0;\n\n // apply timezone if one exists\n if (arr[4] === ' ') {\n offset = new Date().getTimezoneOffset();\n } else if (arr[9] !== 'Z' && arr[10]) {\n offset = arr[11] * 60 + arr[12];\n if (arr[10] === '+') {\n offset = 0 - offset;\n }\n }\n\n var millis = Date.UTC(arr[1], arr[2], arr[3], arr[5], arr[6] + offset, arr[7], arr[8]);\n return new Date(millis);\n};\n\n\n/**\n * Checks whether a `string` is an ISO date string. `strict` mode requires that\n * the date string at least have a year, month and date.\n *\n * @param {String} string\n * @param {Boolean} strict\n * @return {Boolean}\n */\n\nexports.is = function(string, strict) {\n if (typeof string !== 'string') {\n return false;\n }\n if (strict && (/^\\d{4}-\\d{2}-\\d{2}/).test(string) === false) {\n return false;\n }\n return matcher.test(string);\n};\n","\"use strict\";\n\nvar isodate = require(\"@segment/isodate\");\nvar milliseconds = require(\"./milliseconds\");\nvar seconds = require(\"./seconds\");\n\nvar objProto = Object.prototype;\nvar toStr = objProto.toString;\n\nfunction isDate(value) {\n return toStr.call(value) === \"[object Date]\";\n}\n\nfunction isNumber(value) {\n return toStr.call(value) === \"[object Number]\";\n}\n\n/**\n * Returns a new Javascript Date object, allowing a variety of extra input types\n * over the native Date constructor.\n *\n * @param {Date|string|number} val\n */\nmodule.exports = function newDate(val) {\n if (isDate(val)) return val;\n if (isNumber(val)) return new Date(toMs(val));\n\n // date strings\n if (isodate.is(val)) {\n return isodate.parse(val);\n }\n if (milliseconds.is(val)) {\n return milliseconds.parse(val);\n }\n if (seconds.is(val)) {\n return seconds.parse(val);\n }\n\n // fallback to Date.parse\n return new Date(val);\n};\n\n/**\n * If the number passed val is seconds from the epoch, turn it into milliseconds.\n * Milliseconds would be greater than 31557600000 (December 31, 1970).\n *\n * @param {number} num\n */\nfunction toMs(num) {\n if (num < 31557600000) return num * 1000;\n return num;\n}\n","\"use strict\";\n\n/**\n * Matcher.\n */\n\nvar matcher = /\\d{13}/;\n\n/**\n * Check whether a string is a millisecond date string.\n *\n * @param {string} string\n * @return {boolean}\n */\nexports.is = function (string) {\n return matcher.test(string);\n};\n\n/**\n * Convert a millisecond string to a date.\n *\n * @param {string} millis\n * @return {Date}\n */\nexports.parse = function (millis) {\n millis = parseInt(millis, 10);\n return new Date(millis);\n};\n","\"use strict\";\n\n/**\n * Matcher.\n */\n\nvar matcher = /\\d{10}/;\n\n/**\n * Check whether a string is a second date string.\n *\n * @param {string} string\n * @return {Boolean}\n */\nexports.is = function (string) {\n return matcher.test(string);\n};\n\n/**\n * Convert a second string to a date.\n *\n * @param {string} seconds\n * @return {Date}\n */\nexports.parse = function (seconds) {\n var millis = parseInt(seconds, 10) * 1000;\n return new Date(millis);\n};\n","\nvar identity = function(_){ return _; };\n\n\n/**\n * Module exports, export\n */\n\nmodule.exports = multiple(find);\nmodule.exports.find = module.exports;\n\n\n/**\n * Export the replacement function, return the modified object\n */\n\nmodule.exports.replace = function (obj, key, val, options) {\n multiple(replace).call(this, obj, key, val, options);\n return obj;\n};\n\n\n/**\n * Export the delete function, return the modified object\n */\n\nmodule.exports.del = function (obj, key, options) {\n multiple(del).call(this, obj, key, null, options);\n return obj;\n};\n\n\n/**\n * Compose applying the function to a nested key\n */\n\nfunction multiple (fn) {\n return function (obj, path, val, options) {\n var normalize = options && isFunction(options.normalizer) ? options.normalizer : defaultNormalize;\n path = normalize(path);\n\n var key;\n var finished = false;\n\n while (!finished) loop();\n\n function loop() {\n for (key in obj) {\n var normalizedKey = normalize(key);\n if (0 === path.indexOf(normalizedKey)) {\n var temp = path.substr(normalizedKey.length);\n if (temp.charAt(0) === '.' || temp.length === 0) {\n path = temp.substr(1);\n var child = obj[key];\n\n // we're at the end and there is nothing.\n if (null == child) {\n finished = true;\n return;\n }\n\n // we're at the end and there is something.\n if (!path.length) {\n finished = true;\n return;\n }\n\n // step into child\n obj = child;\n\n // but we're done here\n return;\n }\n }\n }\n\n key = undefined;\n // if we found no matching properties\n // on the current object, there's no match.\n finished = true;\n }\n\n if (!key) return;\n if (null == obj) return obj;\n\n // the `obj` and `key` is one above the leaf object and key, so\n // start object: { a: { 'b.c': 10 } }\n // end object: { 'b.c': 10 }\n // end key: 'b.c'\n // this way, you can do `obj[key]` and get `10`.\n return fn(obj, key, val);\n };\n}\n\n\n/**\n * Find an object by its key\n *\n * find({ first_name : 'Calvin' }, 'firstName')\n */\n\nfunction find (obj, key) {\n if (obj.hasOwnProperty(key)) return obj[key];\n}\n\n\n/**\n * Delete a value for a given key\n *\n * del({ a : 'b', x : 'y' }, 'X' }) -> { a : 'b' }\n */\n\nfunction del (obj, key) {\n if (obj.hasOwnProperty(key)) delete obj[key];\n return obj;\n}\n\n\n/**\n * Replace an objects existing value with a new one\n *\n * replace({ a : 'b' }, 'a', 'c') -> { a : 'c' }\n */\n\nfunction replace (obj, key, val) {\n if (obj.hasOwnProperty(key)) obj[key] = val;\n return obj;\n}\n\n/**\n * Normalize a `dot.separated.path`.\n *\n * A.HELL(!*&#(!)O_WOR LD.bar => ahelloworldbar\n *\n * @param {String} path\n * @return {String}\n */\n\nfunction defaultNormalize(path) {\n return path.replace(/[^a-zA-Z0-9\\.]+/g, '').toLowerCase();\n}\n\n/**\n * Check if a value is a function.\n *\n * @param {*} val\n * @return {boolean} Returns `true` if `val` is a function, otherwise `false`.\n */\n\nfunction isFunction(val) {\n return typeof val === 'function';\n}\n","(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n","export default function(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||\"get\",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+\",\"+t:t}),t(a())},s.onerror=r,s.withCredentials=\"include\"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)})}\n//# sourceMappingURL=unfetch.module.js.map\n","var IDX=256, HEX=[], BUFFER;\nwhile (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);\n\nexport function v4() {\n\tvar i=0, num, out='';\n\n\tif (!BUFFER || ((IDX + 16) > 256)) {\n\t\tBUFFER = Array(i=256);\n\t\twhile (i--) BUFFER[i] = 256 * Math.random() | 0;\n\t\ti = IDX = 0;\n\t}\n\n\tfor (; i < 16; i++) {\n\t\tnum = BUFFER[IDX + i];\n\t\tif (i==6) out += HEX[num & 15 | 64];\n\t\telse if (i==8) out += HEX[num & 63 | 128];\n\t\telse out += HEX[num];\n\n\t\tif (i & 1 && i > 1 && i < 11) out += '-';\n\t}\n\n\tIDX++;\n\treturn out;\n}\n","export function dset(obj, keys, val) {\n\tkeys.split && (keys=keys.split('.'));\n\tvar i=0, l=keys.length, t=obj, x, k;\n\twhile (i < l) {\n\t\tk = keys[i++];\n\t\tif (k === '__proto__' || k === 'constructor' || k === 'prototype') break;\n\t\tt = t[k] = (i === l) ? val : (typeof(x=t[k])===typeof(keys)) ? x : (keys[i]*0 !== 0 || !!~(''+keys[i]).indexOf('.')) ? {} : [];\n\t}\n}\n","/*! js-cookie v3.0.1 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport default api;\n"],"names":["Emitter","this","callbacks","prototype","on","event","callback","_a","once","fn","_this","args","_i","arguments","length","off","apply","without","filter","emit","forEach","pTimeout","cb","timeout","Promise","resolve","reject","timeoutId","setTimeout","Error","then","val","clearTimeout","catch","invokeCallback","ctx","delayTimeout","timeoutInMs","err","log","error","stats","increment","isOnline","window","navigator","onLine","isOffline","Logger","_logs","level","message","extras","time","Date","push","Object","defineProperty","get","enumerable","configurable","flush","logs","formatted","reduce","_b","_c","line","json","JSON","stringify","key","toISOString","concat","Math","random","console","table","logEntry","Stats","remoteMetrics","metrics","metric","by","tags","value","type","timestamp","now","gauge","map","m","join","serialize","v","t","k","counter","e","RemoteMetrics","options","_d","host","sampleRate","flushTimer","maxQueueSize","queue","flushing_1","run_1","includes","acc","split","version","label","send","sent","payload","headers","url","series","body","method","ContextCancelation","retry","reason","Context","id","logger","cancel","_attempts","_event","_id","initMetrics","system","isSame","other","set","evt","attempts","updateEvent","path","integrationName","integrations","failedDelivery","_failedDelivery","setFailedDelivery","toJSON","isBrowser","isServer","gracefulDecodeURIComponent","encodedURIComponent","decodeURIComponent","replace","attempt","plugin","name","start","getTime","hook","undefined","op","err_1","trys","tryOperation","done","ensure","newContext","tld","parsedUrl","URL","parseUrl","lvls","parts","hostname","last","levels","parseInt","i","slice","cname","domain","opts","_","isString","obj","isNumber","isFunction","isPlainObject","toString","call","toLowerCase","ValidationError","_super","field","validate","eventType","props","properties","traits","userId","anonymousId","groupId","previousId","hasUser","validation","isLoaded","load","track","identify","page","alias","group","screen","resolveArguments","eventName","data","find","resolvePageArguments","category","resolvedCategory","resolvedName","strings","resolvedCallback","objects","resolvedProperties","resolvedOptions","resolveUserArguments","user","_e","resolveAliasArguments","to","from","aliasTo","aliasFrom","EventFactory","globalIntegrations","normalize","baseEvent","base","context","optionsKeys","providedOptionsKeys","keys","overrides","integrationBooleans","integrationNames","Boolean","allIntegrations","rest","messageId","getGlobal","globalThis","self","g","inspectorHost","EventQueue","priorityQueue","plugins","failedInitializations","flushing","scheduleFlush","register","instance","warn","deregister","e_1","unload","p","dispatch","willDeliver","subscribeToDelivery","onDeliver","flushed","delivered","dispatchSingle","updateAttempts","deliver","enqueuRetry","isEmpty","flushOne","pushWithBackoff","err_2","pop","getAttempts","isReady","availableExtensions","denyList","grouper","results","available","All","item","suggestedKey","Function","before","enrichment","destination","after","destinations","before_1","beforeWare","_f","enrichment_1","enrichmentWare","temp","_g","afterCalls","_h","a","enriched","all","bindAll","proto","constructor","getOwnPropertyNames","desc","getOwnPropertyDescriptor","bind","defaults","persist","cookie","oldKey","localStorage","Store","cache","remove","Cookie","cookieEnabled","document","maxage","location","href","sameSite","expires","parse","NullStorage","_key","_val","LocalStorage","test","setItem","removeItem","getItem","User","cookieOptions","disable","prevId","chainGet","idKey","trySet","cookies","anonKey","legacySIO","mem","traitsKey","isDisabled","shouldPersist","localStorageFallbackDisabled","legacyUser","chainClear","currentId","logout","reset","save","groupDefaults","Group","deprecationWarning","global","_analytics","analytics","Analytics","settings","_debug","initialized","_user","init","initialize","disablePersistance","disableClientPersistence","retryQueue","maxAttempts","createDefaultQueue","_group","eventFactory","segmentEvent","_traits","groupTraits","trackClick","autotrack","link","trackLink","trackSubmit","form","trackForm","registrations","xt","deregistrations","pl","debug","toggle","startTime","dispatched","elapsedTime","triggered","max","addSourceMiddleware","sourceMiddlewarePlugin","addDestinationMiddleware","middlewares","legacyDestinations","addMiddleware","setAnonymousId","queryString","query","use","legacyPluginFactory","ready","res","noConflict","msg","_settings","_options","pageview","_plugins","integration","nested","Integration","addIntegrationMiddleware","listeners","addEventListener","removeAllListeners","removeListener","removeEventListener","hasListeners","addIntegration","add","shift","canonical","getElementsByTagName","canon","Array","tag","getAttribute","canonicalPath","pathname","createElement","startsWith","canonicalUrl","search","indexOf","pageDefaults","referrer","title","enrichPageContext","pageContext","pageProps","assign","pageEnrichment","remoteLoader","userIntegrations","mergedIntegrations","obfuscate","allPlugins","cdn","pluginPromises","remotePlugins","remotePlugin","urlSplit","name_1","obfuscatedURL","libraryName","pluginFactory","error_2","btoa","pluginLike","isArray","required","fetch","kilobytes","buffer","encodeURI","batch","apiHost","config","schedule","pageUnloaded","limit","size","sendBatch","writeKey","keepalive","batch_1","reqs","result","index","chunks","_url","bufferOverflow","MAX_PAYLOAD_SIZE","approachingTrackingAPILimit","flushQueue","failedQueue","failed","isFlushing","newBuffer","todo","segmentio","protocol","remote","client","deliveryStrategy","strategy","charAt","onAlias","flushSyncAnalyticsCalls","getCalls","c","callAnalyticsMethod","flushAddSourceMiddleware","flushOn","flushSetAnonymousID","PreInitMethodCallBuffer","_value","toArray","values","methodName","calls","clear","called","AnalyticsBuffered","loader","_preInitBuffer","_createMethod","pageView","_createChainableMethod","_promise","ajs","finally","transformSnippetCall","popSnippetWindowBuffer","wa","buffered","splice","loadLegacySettings","cdnURL","baseUrl","hasLegacyDestinations","process","env","NODE_ENV","flushFinalBuffer","flushAnalyticsCallsInNewTask","registerPlugins","legacySettings","schemaFilter","mergedSettings","toRegister","mod","ajsDestinations","legacyVideoPluginsEnabled","loadLegacyVideoPlugins","plan","entries","enabledMiddleware","some","remoteMiddlewares","middleware","promises","mdw","loadAnalytics","preInitBuffer","hash","term","cdnSettings","flushPreBuffer","initialPageview","AnalyticsBrowser","standalone","AnalyticsNode","asPromise","findScript","src","querySelectorAll","s","loadScript","attributes","found","status_1","script","async","setAttribute","onload","onerror","parentElement","insertBefore","unloadScript","mergedOptions","optionOverrides","integrationSettings","pWhile","condition","action","loop","actionResult","_globalCDN","analyticsScriptRegex","setGlobalCDNUrl","_cdn","getCDN","globalCdnUrl","cdnFromScriptTag","exec","getNextIntegrationsURL","ON_REMOVE_FROM_FUTURE","PriorityQueue","seen","future","operations","accepted","operation","sort","b","params","minTimeout","factor","maxTimeout","Infinity","min","pow","backoff","f","loc","persisted","items","stored","mutex","onUnlock","lockKey","rawLock","lock","allowed","expired","PersistedPriorityQueue","itemsKey","seenKey","saved","lastSeen","items_1","existing","merged","persistItems","memory","persistSeen","toFacade","fcd","Facade","Track","Identify","Page","Alias","Screen","writable","_version","getVersionType","referrerId","ad","queryIds","btid","urid","substring","parts_1","ads","secure","getCookieOptions","anonId","apiKey","userAgent","locale","userLanguage","language","library","campaign","str","utmParam","substr","utm","sentAt","_metadata","bundled","unbundled","bundlingStatus","unbundledIntegrations","settingsUnbundled","configIds","maybeBundledConfigIds","bundledConfigIds","addBundledMetadata","bundledIds","amp","ampId","__importDefault","__esModule","exports","obj_case_1","trait","default","zip","country","street","state","city","region","inherits_1","facade_1","dictionary","clone","Delete","address_1","clone_1","is_enabled_1","new_date_1","isodate_traverse_1","raw","traverse","transform","proxy","fields","multi","one","ret","rawEvent","enabled","allEnabled","providers","hasOwnProperty","active","sessionId","aliases","device","timezone","channel","ip","is_email_1","created","email","industry","employees","trim","companyCreated","companyName","firstName","lastName","space","uid","username","description","age","date","birthday","getFullYear","avatar","position","website","websites","phone","phones","address","gender","__assign","n","alias_1","group_1","identify_1","track_1","page_1","screen_1","delete_1","matcher","string","disabled","Salesforce","fullName","productId","promotionId","cartId","checkoutId","paymentId","couponId","wishlistId","reviewId","orderId","sku","tax","price","total","repeat","coupon","shipping","discount","shippingMethod","paymentMethod","subtotal","revenue","products","quantity","currency","match","parseFloat","isNaN","cents","isodate","input","strict","traverseObject","arr","traverseArray","is","module","iso","numericKeys","offset","getTimezoneOffset","millis","UTC","milliseconds","seconds","toStr","num","multiple","normalizer","defaultNormalize","finished","normalizedKey","child","del","hex_chr","md5cycle","x","d","md5blk","md5blks","charCodeAt","md5blk_array","md51","tail","tmp","lo","hi","md51_array","subarray","Uint8Array","rhex","j","hex","toUtf8","unescape","encodeURIComponent","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arrayBuffer2Utf8Str","String","fromCharCode","concatenateArrayBuffers","first","second","byteLength","hexToBinaryString","bytes","SparkMD5","clamp","target","targetArray","sourceArray","begin","end","append","appendBinary","contents","_buff","_length","_hash","_finish","getState","setState","destroy","hashBinary","content","factory","r","XMLHttpRequest","o","u","ok","status","statusText","responseURL","text","responseText","blob","Blob","response","has","l","open","getAllResponseHeaders","withCredentials","credentials","setRequestHeader","BUFFER","IDX","HEX","v4","out","dset","source","api","converter","defaultAttributes","toUTCString","escape","stringifiedAttributes","attributeName","write","create","jar","foundKey","read","withAttributes","withConverter","freeze"],"sourceRoot":""}