· 6 years ago · Nov 01, 2019, 05:06 PM
1'use strict';
2window.NREUM || (NREUM = {}), __nr_require = function(e, t, r) {
3 /**
4 * @param {?} n
5 * @return {?}
6 */
7 function s(n) {
8 if (!t[n]) {
9 var u = t[n] = {
10 exports : {}
11 };
12 e[n][0].call(u.exports, function(ballNumber) {
13 var ball = e[n][1][ballNumber];
14 return s(ball || ballNumber);
15 }, u, u.exports);
16 }
17 return t[n].exports;
18 }
19 if ("function" == typeof __nr_require) {
20 return __nr_require;
21 }
22 /** @type {number} */
23 var o = 0;
24 for (; o < r.length; o++) {
25 s(r[o]);
26 }
27 return s;
28}({
29 1 : [function($, req, canCreateDiscussions) {
30 /**
31 * @return {undefined}
32 */
33 function HttpMethodElement() {
34 }
35 /**
36 * @param {string} label
37 * @param {boolean} err
38 * @param {string} val
39 * @return {?}
40 */
41 function callback(label, err, val) {
42 return function() {
43 return debug(label, [l.now()].concat(map(arguments)), err ? null : this, val), err ? void 0 : this;
44 };
45 }
46 var debug = $("handle");
47 var template = $(3);
48 var map = $(4);
49 var self = $("ee").get("tracer");
50 var l = $("loader");
51 var result = NREUM;
52 if ("undefined" == typeof window.newrelic) {
53 newrelic = result;
54 }
55 /** @type {!Array} */
56 var thinkspec = ["setPageViewName", "setCustomAttribute", "setErrorHandler", "finished", "addToTrace", "inlineHit", "addRelease"];
57 /** @type {string} */
58 var i = "api-";
59 /** @type {string} */
60 var prefix = i + "ixn-";
61 template(thinkspec, function(canCreateDiscussions, index) {
62 result[index] = callback(i + index, true, "api");
63 });
64 result.addPageAction = callback(i + "addPageAction", true);
65 result.setCurrentRouteName = callback(i + "routeName", true);
66 req.exports = newrelic;
67 /**
68 * @return {?}
69 */
70 result.interaction = function() {
71 return (new HttpMethodElement).get();
72 };
73 var xhrCallbacks = HttpMethodElement.prototype = {
74 createTracer : function(name, callback) {
75 var value = {};
76 var height = this;
77 /** @type {boolean} */
78 var result = "function" == typeof callback;
79 return debug(prefix + "tracer", [l.now(), name, value], height), function() {
80 if (self.emit((result ? "" : "no-") + "fn-start", [l.now(), height, result], value), result) {
81 try {
82 return callback.apply(this, arguments);
83 } catch (result) {
84 throw self.emit("fn-err", [arguments, this, result], value), result;
85 } finally {
86 self.emit("fn-end", [l.now()], value);
87 }
88 }
89 };
90 }
91 };
92 template("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","), function(canCreateDiscussions, key) {
93 xhrCallbacks[key] = callback(prefix + key);
94 });
95 /**
96 * @param {!Object} err
97 * @param {?} params
98 * @return {undefined}
99 */
100 newrelic.noticeError = function(err, params) {
101 if ("string" == typeof err) {
102 /** @type {!Error} */
103 err = new Error(err);
104 }
105 debug("err", [err, l.now(), false, params]);
106 };
107 }, {}],
108 2 : [function(canCreateDiscussions, module, isSlidingUp) {
109 /**
110 * @param {string} context
111 * @param {string} returned
112 * @return {?}
113 */
114 function r(context, returned) {
115 if (!name) {
116 return false;
117 }
118 if (context !== name) {
119 return false;
120 }
121 if (!returned) {
122 return true;
123 }
124 if (!API_VERSION) {
125 return false;
126 }
127 /** @type {!Array<string>} */
128 var completion = API_VERSION.split(".");
129 var commonPrefix = returned.split(".");
130 /** @type {number} */
131 var j = 0;
132 for (; j < commonPrefix.length; j++) {
133 if (commonPrefix[j] !== completion[j]) {
134 return false;
135 }
136 }
137 return true;
138 }
139 /** @type {null} */
140 var name = null;
141 /** @type {null} */
142 var API_VERSION = null;
143 /** @type {!RegExp} */
144 var p = /Version\/(\S+)\s+Safari/;
145 if (navigator.userAgent) {
146 /** @type {string} */
147 var ua = navigator.userAgent;
148 /** @type {(Array<string>|null)} */
149 var numpat = ua.match(p);
150 if (numpat && ua.indexOf("Chrome") === -1 && ua.indexOf("Chromium") === -1) {
151 /** @type {string} */
152 name = "Safari";
153 /** @type {string} */
154 API_VERSION = numpat[1];
155 }
156 }
157 module.exports = {
158 agent : name,
159 version : API_VERSION,
160 match : r
161 };
162 }, {}],
163 3 : [function(canCreateDiscussions, task, isSlidingUp) {
164 /**
165 * @param {!Object} o
166 * @param {?} f
167 * @return {?}
168 */
169 function r(o, f) {
170 /** @type {!Array} */
171 var res = [];
172 /** @type {string} */
173 var i = "";
174 /** @type {number} */
175 var name = 0;
176 for (i in o) {
177 if (hasOwn.call(o, i)) {
178 res[name] = f(i, o[i]);
179 /** @type {number} */
180 name = name + 1;
181 }
182 }
183 return res;
184 }
185 /** @type {function(this:Object, *): boolean} */
186 var hasOwn = Object.prototype.hasOwnProperty;
187 /** @type {function(!Object, ?): ?} */
188 task.exports = r;
189 }, {}],
190 4 : [function(canCreateDiscussions, task, isSlidingUp) {
191 /**
192 * @param {number} e
193 * @param {number} n
194 * @param {number} d
195 * @return {?}
196 */
197 function cb(e, n, d) {
198 if (!n) {
199 /** @type {number} */
200 n = 0;
201 }
202 if ("undefined" == typeof d) {
203 d = e ? e.length : 0;
204 }
205 /** @type {number} */
206 var i = -1;
207 /** @type {number} */
208 var length = d - n || 0;
209 /** @type {!Array} */
210 var p = Array(length < 0 ? 0 : length);
211 for (; ++i < length;) {
212 p[i] = e[n + i];
213 }
214 return p;
215 }
216 /** @type {function(number, number, number): ?} */
217 task.exports = cb;
218 }, {}],
219 5 : [function(canCreateDiscussions, self, isSlidingUp) {
220 self.exports = {
221 exists : "undefined" != typeof window.performance && window.performance.timing && "undefined" != typeof window.performance.timing.navigationStart
222 };
223 }, {}],
224 ee : [function($, blob, canCreateDiscussions) {
225 /**
226 * @return {undefined}
227 */
228 function Class() {
229 }
230 /**
231 * @param {!Function} cb
232 * @return {?}
233 */
234 function parse(cb) {
235 /**
236 * @param {string} value
237 * @return {?}
238 */
239 function convert(value) {
240 return value && value instanceof Class ? value : value ? callback(value, options, all) : all();
241 }
242 /**
243 * @param {string} key
244 * @param {!Array} arg
245 * @param {string} fn
246 * @param {boolean} data
247 * @return {?}
248 */
249 function handler(key, arg, fn, data) {
250 if (!self.aborted || data) {
251 if (cb) {
252 cb(key, arg, fn);
253 }
254 var y = convert(fn);
255 var handlers = require(key);
256 var handlerCount = handlers.length;
257 /** @type {number} */
258 var j = 0;
259 for (; j < handlerCount; j++) {
260 handlers[j].apply(y, arg);
261 }
262 var p = argv[aliases[key]];
263 return p && p.push([data, key, arg, y]), y;
264 }
265 }
266 /**
267 * @param {string} name
268 * @param {?} data
269 * @return {undefined}
270 */
271 function add(name, data) {
272 list[name] = require(name).concat(data);
273 }
274 /**
275 * @param {?} name
276 * @param {?} object
277 * @return {undefined}
278 */
279 function remove(name, object) {
280 var h = list[name];
281 if (h) {
282 /** @type {number} */
283 var i = 0;
284 for (; i < h.length; i++) {
285 if (h[i] === object) {
286 h.splice(i, 1);
287 }
288 }
289 }
290 }
291 /**
292 * @param {string} name
293 * @return {?}
294 */
295 function require(name) {
296 return list[name] || [];
297 }
298 /**
299 * @param {string} name
300 * @return {?}
301 */
302 function readEmbeddedObject(name) {
303 return lookupSoFar[name] = lookupSoFar[name] || parse(handler);
304 }
305 /**
306 * @param {!Array} callback
307 * @param {?} name
308 * @return {undefined}
309 */
310 function parse_buffer(callback, name) {
311 dispatch(callback, function(canCreateDiscussions, controlRef) {
312 name = name || "feature";
313 aliases[controlRef] = name;
314 if (!(name in argv)) {
315 /** @type {!Array} */
316 argv[name] = [];
317 }
318 });
319 }
320 var list = {};
321 var aliases = {};
322 var data = {
323 on : add,
324 addEventListener : add,
325 removeEventListener : remove,
326 emit : handler,
327 get : readEmbeddedObject,
328 listeners : require,
329 context : convert,
330 buffer : parse_buffer,
331 abort : init,
332 aborted : false
333 };
334 return data;
335 }
336 /**
337 * @return {?}
338 */
339 function all() {
340 return new Class;
341 }
342 /**
343 * @return {undefined}
344 */
345 function init() {
346 if (argv.api || argv.feature) {
347 /** @type {boolean} */
348 self.aborted = true;
349 argv = self.backlog = {};
350 }
351 }
352 /** @type {string} */
353 var options = "nr@context";
354 var callback = $("gos");
355 var dispatch = $(3);
356 var argv = {};
357 var lookupSoFar = {};
358 var self = blob.exports = parse();
359 self.backlog = argv;
360 }, {}],
361 gos : [function(canCreateDiscussions, module, isSlidingUp) {
362 /**
363 * @param {!NodeList} node
364 * @param {number} a
365 * @param {?} fn
366 * @return {?}
367 */
368 function main(node, a, fn) {
369 if (hasOwnProperty.call(node, a)) {
370 return node[a];
371 }
372 var n = fn();
373 if (Object.defineProperty && Object.keys) {
374 try {
375 return Object.defineProperty(node, a, {
376 value : n,
377 writable : true,
378 enumerable : false
379 }), n;
380 } catch (i) {
381 }
382 }
383 return node[a] = n, n;
384 }
385 /** @type {function(this:Object, *): boolean} */
386 var hasOwnProperty = Object.prototype.hasOwnProperty;
387 /** @type {function(!NodeList, number, ?): ?} */
388 module.exports = main;
389 }, {}],
390 handle : [function($, asset, canCreateDiscussions) {
391 /**
392 * @param {string} i
393 * @param {!Array} n
394 * @param {string} e
395 * @param {?} content
396 * @return {undefined}
397 */
398 function out(i, n, e, content) {
399 value.buffer([i], content);
400 value.emit(i, n, e);
401 }
402 var value = $("ee").get("handle");
403 /** @type {function(string, !Array, string, ?): undefined} */
404 asset.exports = out;
405 out.ee = value;
406 }, {}],
407 id : [function(require, task, canCreateDiscussions) {
408 /**
409 * @param {!Object} e
410 * @return {?}
411 */
412 function r(e) {
413 /** @type {string} */
414 var type = typeof e;
415 return !e || "object" !== type && "function" !== type ? -1 : e === window ? 0 : format(e, headLoad, function() {
416 return o++;
417 });
418 }
419 /** @type {number} */
420 var o = 1;
421 /** @type {string} */
422 var headLoad = "nr@id";
423 var format = require("gos");
424 /** @type {function(!Object): ?} */
425 task.exports = r;
426 }, {}],
427 loader : [function(check, self, canCreateDiscussions) {
428 /**
429 * @return {?}
430 */
431 function init() {
432 if (!E++) {
433 var opts = ret.info = NREUM.info;
434 var wafCss = document.getElementsByTagName("script")[0];
435 if (setTimeout(promise.abort, 3e4), !(opts && opts.licenseKey && opts.applicationID && wafCss)) {
436 return promise.abort();
437 }
438 error(options, function(pin_code, pinCode) {
439 if (!opts[pin_code]) {
440 opts[pin_code] = pinCode;
441 }
442 });
443 test("mark", ["onload", now() + ret.offset], null, "api");
444 var expScript = document.createElement("script");
445 /** @type {string} */
446 expScript.src = "https://" + opts.agent;
447 wafCss.parentNode.insertBefore(expScript, wafCss);
448 }
449 }
450 /**
451 * @return {undefined}
452 */
453 function onReadyStateChange() {
454 if ("complete" === document.readyState) {
455 cb();
456 }
457 }
458 /**
459 * @return {undefined}
460 */
461 function cb() {
462 test("mark", ["domContent", now() + ret.offset], null, "api");
463 }
464 /**
465 * @return {?}
466 */
467 function now() {
468 return global.exists && performance.now ? Math.round(performance.now()) : (d = Math.max((new Date).getTime(), d)) - ret.offset;
469 }
470 /** @type {number} */
471 var d = (new Date).getTime();
472 var test = check("handle");
473 var error = check(3);
474 var promise = check("ee");
475 var customUserAgent = check(2);
476 /** @type {!Window} */
477 var win = window;
478 var document = win.document;
479 /** @type {string} */
480 var addEventListener = "addEventListener";
481 /** @type {string} */
482 var ADD_EVENT_LISTENER = "attachEvent";
483 var parent = win.XMLHttpRequest;
484 var obj = parent && parent.prototype;
485 NREUM.o = {
486 ST : setTimeout,
487 SI : win.setImmediate,
488 CT : clearTimeout,
489 XHR : parent,
490 REQ : win.Request,
491 EV : win.Event,
492 PR : win.Promise,
493 MO : win.MutationObserver
494 };
495 /** @type {string} */
496 var url = "" + location;
497 var options = {
498 beacon : "bam.nr-data.net",
499 errorBeacon : "bam.nr-data.net",
500 agent : "js-agent.newrelic.com/nr-1130.min.js"
501 };
502 var b = parent && obj && obj[addEventListener] && !/CriOS/.test(navigator.userAgent);
503 var ret = self.exports = {
504 offset : d,
505 now : now,
506 origin : url,
507 features : {},
508 xhrWrappable : b,
509 userAgent : customUserAgent
510 };
511 check(1);
512 if (document[addEventListener]) {
513 document[addEventListener]("DOMContentLoaded", cb, false);
514 win[addEventListener]("load", init, false);
515 } else {
516 document[ADD_EVENT_LISTENER]("onreadystatechange", onReadyStateChange);
517 win[ADD_EVENT_LISTENER]("onload", init);
518 }
519 test("mark", ["firstbyte", d], null, "api");
520 /** @type {number} */
521 var E = 0;
522 var global = check(5);
523 }, {}]
524}, {}, ["loader"]);