{"version":3,"file":"dist/979.js","mappings":"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","sources":["webpack://vaneckweb/./node_modules/lodash/now.js","webpack://vaneckweb/./node_modules/lodash/isObjectLike.js","webpack://vaneckweb/./node_modules/lodash/_getRawTag.js","webpack://vaneckweb/./node_modules/lodash/_trimmedEndIndex.js","webpack://vaneckweb/./node_modules/lodash/_Symbol.js","webpack://vaneckweb/./node_modules/lodash/_baseGetTag.js","webpack://vaneckweb/./node_modules/lodash/isObject.js","webpack://vaneckweb/./node_modules/lodash/_baseTrim.js","webpack://vaneckweb/./node_modules/lodash/isSymbol.js","webpack://vaneckweb/./node_modules/lodash/_freeGlobal.js","webpack://vaneckweb/../Static/us/js/src/insights/populate-jumplink-nav.js","webpack://vaneckweb/./node_modules/lodash/debounce.js","webpack://vaneckweb/./node_modules/lodash/_root.js","webpack://vaneckweb/./node_modules/lodash/_objectToString.js","webpack://vaneckweb/./node_modules/lodash/toNumber.js"],"sourcesContent":["var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nmodule.exports = baseTrim;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","const debounce = require('lodash/debounce');\r\n$(function () {\r\n    if ($('.page-class-insights .jump-link-nav, .look-for-jumplinks .jump-link-nav').length < 1) return;\r\n\r\n    //used to populate the jumplink navigation\r\n    window.populateJumpLinkNav = {\r\n        currentBlockId: '',\r\n        init: () => {\r\n            populateJumpLinkNav.populateStickyNav();\r\n            $(window).on('scroll', debounce(populateJumpLinkNav.showHideBanner,50));\r\n        },\r\n        //sticky nav for blog pages \r\n        populateStickyNav: () => {\r\n            _html_jumplinkNav = '<div class=\"secondary-nav loaded sticky\" id=\"sticky-waypoint\"><nav class=\"container\" id=\"secondary-nav\"><ul class=\"secondary-nav__nav-list nav nav-fill\">'\r\n            $(\"body\").attr(\"data-spy\", \"scroll\");\r\n            $(\"body\").attr(\"data-target\", \"#secondary-nav\");\r\n            $(\"body\").attr(\"data-offset\", \"20\");\r\n            $('.jump-link-nav').each(function () {\r\n                _html_jumplinkNav += '<li class=\"secondary-nav__nav-list-item nav-item\"><a href=\"#' + this.id.replace(/\\./g, \"\") + '\" class=\"secondary-nav__link nav-link\">' + $(this).attr(\"data-jumplink-title\") + '</a></li>';\r\n            })\r\n            _html_jumplinkNav += '</ul>';\r\n            _html_jumplinkNav += '<div class=\"dropdown secondary-nav__nav-list-mobile no-print\">'\r\n                + '<button data-display=\"static\" aria-haspopup=\"true\" aria-expanded=\"false\" class=\"dropdown__button text-util-sm dropdown__button-default\" data-toggle=\"dropdown\" type = \"button\" >'\r\n                + '<span class=\"dropdown__label\">Select Section</span>'\r\n                + '<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chevron-down\" class=\"svg-inline--fa fa-chevron-down fa-w-16 fa-2x dropdown__icon dropdown__icon-default\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\">'\r\n                + '<path fill=\"currentColor\" d=\"M2.26 4.88a.75.75 0 00-.54.21.75.75 0 000 1.07l6.75 6.75a.75.75 0 001.06 0l6.75-6.75a.75.75 0 000-1.07.75.75 0 00-1.06 0L9 11.31 2.78 5.1a.75.75 0 00-.52-.21z\">'\r\n                + '</path>'\r\n                + '</svg>'\r\n                + '</button >'\r\n                + '<div class=\"dropdown-menu dropdown__menu text-util-sm\" role=\"menu\">'\r\n\r\n            $('.jump-link-nav').each(function () {\r\n                _html_jumplinkNav += '<a href=\"#' + this.id.replace(/\\./g, \"\") + '\"class=\"dropdown-item dropdown__item text-util-sm\">' + $(this).attr(\"data-jumplink-title\") + '</a>';\r\n            })\r\n            _html_jumplinkNav += '</div></div>';\r\n            _html_jumplinkNav += '</nav></div>';\r\n            $(_html_jumplinkNav).insertAfter(\".sticky-wrapper\")\r\n            $(\"#secondary-nav\").hide();\r\n        },\r\n        showHideBanner: () => {\r\n            if ($(window).scrollTop() >= $(\".jump-link-nav\").first().offset().top - 50) {\r\n                $(\"#secondary-nav\").show();\r\n            }\r\n            else {\r\n                $(\"#secondary-nav\").hide();\r\n            }\r\n            adjustHeaderHeight();\r\n        }\r\n    }\r\n    //initializing the functions\r\n    populateJumpLinkNav.init()\r\n})\r\n\r\n//\r\nfunction adjustHeaderHeight() {\r\n    var headerHeight = $(\"header.site-header\").outerHeight();\r\n    let secondaryNavHeight = $(\"#secondary-nav:visible\").length > 0 ? $(\"#secondary-nav\").outerHeight() : 0;\r\n    var AlertBArsCumilativeHeights = $(\".alert-bar\").toArray().reduce((prev, curr) => { return $(curr).height() + prev }, 0)\r\n\r\n    //Dispatch an event on the Document level so everyone adjusting their heights (esp. React Secondary Navs) can adjust automatically.\r\n    const HeaderheightEvent = new CustomEvent(\"headerHeightEvent\", {\r\n        detail: {\r\n            headerHeight: headerHeight + secondaryNavHeight,\r\n            cumilativeAlertBarsHeight: AlertBArsCumilativeHeights\r\n        }\r\n    })\r\n    document.dispatchEvent(HeaderheightEvent);\r\n}","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var baseTrim = require('./_baseTrim'),\n    isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n"],"names":["root","module","exports","Date","now","value","Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","isOwn","call","tag","unmasked","e","result","reWhitespace","string","index","length","test","charAt","getRawTag","objectToString","type","trimmedEndIndex","reTrimStart","slice","replace","baseGetTag","isObjectLike","freeGlobal","g","debounce","require","$","window","populateJumpLinkNav","currentBlockId","init","populateStickyNav","on","showHideBanner","_html_jumplinkNav","attr","each","this","id","insertAfter","hide","scrollTop","first","offset","top","show","headerHeight","outerHeight","secondaryNavHeight","AlertBArsCumilativeHeights","toArray","reduce","prev","curr","height","HeaderheightEvent","CustomEvent","detail","cumilativeAlertBarsHeight","document","dispatchEvent","adjustHeaderHeight","isObject","toNumber","nativeMax","Math","max","nativeMin","min","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","timeWaiting","remainingWait","debounced","isInvoking","arguments","leadingEdge","clearTimeout","cancel","flush","freeSelf","self","Function","baseTrim","isSymbol","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary"],"sourceRoot":""}