<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/* _a-search.js 
/* x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x */
/* x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x */
/* x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x */


_p(document).ready(function () {
	var timeoutId = 0;
	var searchArea = _p('.search-area');
	var searchInput = _p('.search-input');
	var returnedResultsText = _p('.returnedResults');
	var autocompleteArea = _p('.autocomplete-area');
	var autocompleteList = _p('.autocomplete-list');
	var skipToFilterOptionsLink = _p('.skip-to-filter-options');
	var skipToSearchResultsLink = _p('.skip-to-search-results');

	searchArea.on("focusReturnedResultsText", focusReturnedResultsText);
	searchArea.on("focusSearchInput", focusSearchInput);
	searchArea.on("resetOnClose", resetOnClose);

	searchInput.on('keydown', function (e) {
		var keyCode = e.which || e.keyCode;
		if (keyCode == key["down"]) {
			e.preventDefault();
			//console.log('down arrow pressed');
			if (autocompleteArea.hasClass('has-results') &amp;&amp; autocompleteArea.hasClass('is-visible')) {
				if (_p('.autocomplete-button.has-visual-focus').length == 0) {
					autocompleteList.find('li:first-child').find('.autocomplete-button').addClass('has-visual-focus');
				} else {
					//visual focus next button
					var button = _p('.autocomplete-button.has-visual-focus');
					button.removeClass('has-visual-focus');
					if (button.parent('li').next('li').length == 0) {
						autocompleteList.find('li:first-child').find('.autocomplete-button').addClass('has-visual-focus');
					} else {
						button.parent('li').next('li').find('.autocomplete-button').addClass('has-visual-focus');
					}
				}
				searchInput.attr('aria-activedescendant', _p('.autocomplete-button.has-visual-focus').attr('id'));
			}
		} else if (keyCode == key["up"]) {
			e.preventDefault();
			//console.log('down arrow pressed');
			if (autocompleteArea.hasClass('has-results') &amp;&amp; autocompleteArea.hasClass('is-visible')) {
				if (_p('.autocomplete-button.has-visual-focus').length == 0) {
					autocompleteList.find('li:last-child').find('.autocomplete-button').addClass('has-visual-focus');
				} else {
					//visual focus previous button
					var button = _p('.autocomplete-button.has-visual-focus');
					button.removeClass('has-visual-focus');
					if (button.parent('li').prev('li').length == 0) {
						autocompleteList.find('li:last-child').find('.autocomplete-button').addClass('has-visual-focus');
					} else {
						button.parent('li').prev('li').find('.autocomplete-button').addClass('has-visual-focus');
					}
				}
				searchInput.attr('aria-activedescendant', _p('.autocomplete-button.has-visual-focus').attr('id'));
			}
		} else if (keyCode == key["enter"]) { //submit search query if enter key pressed
			e.preventDefault();
			var button = _p('.autocomplete-button.has-visual-focus');
			if (button.length &gt; 0) {
				//console.log('button is visual focused');
				searchInput.val(button.text());
			}
			searchArea.trigger('submitSearch', { detail: { module: 'search-bar' } });
		} else if (keyCode == key["escape"]) { 
			if (autocompleteArea.hasClass('is-visible') &amp;&amp; autocompleteArea.hasClass('has-results')) {
				//hide autocomplete if escape key pressed on input 
				searchArea.trigger('closeResults');
			} else {
				//clear input value if escape key pressed on input 
				searchInput.val('');
			}
		} else if (keyCode == key["tab"]) {
			resetOnClose();
		} else {
			clearTimeout(timeoutId);
			timeoutId = setTimeout(function () {
				var inputEvent = _p(e.target);

				if (inputEvent.val() == '') { //close if input value is empty
					searchArea.trigger('closeResults');
				} else {
					if (inputEvent.val().length &gt; 3) { //search if input value has more than 3 characters in query
						searchArea.trigger('submitAutocomplete');
					}
				}
			}, 300);	
		}
		if (_p('.autocomplete-button.has-visual-focus').length &gt; 0) {
			searchInput.addClass('focus-style-disabled');
		} else {
			searchInput.removeClass('focus-style-disabled');
		}
	});

	_p('.search-box').on('keydown', function (e) {
		var keyCode = e.which || e.keyCode;
		if (keyCode == key["escape"]) {
			if (_p(':focus').hasClass('autocomplete-button') ) {
				searchInput.focus();
			}
			searchArea.trigger('closeResults');
		}
	});

	_p('.search-box').on('focusin', function (e) {
		e.preventDefault();
		clearTimeout(timeoutId);
		//console.log('search-box focus in');
		if (_p('.autocomplete-list li').length &gt; 0 &amp;&amp; searchInput.val() != '') {
			searchArea.trigger('showResults');
		}
	});

	_p('.search-box').on('focusout', function (e) {
		e.preventDefault();
		clearTimeout(timeoutId);
		timeoutId = setTimeout(function () {
			//console.log('search-box focus out');
			searchArea.trigger('closeResults');
		}, 500);
	});

	skipToFilterOptionsLink.on('keydown', function (e) {
		var keyCode = e.which || e.keyCode;
		if (keyCode == key["enter"]) {
			e.preventDefault();
			if (_p('.filter-button').css('display') == 'flex') {
				_p('.filter-button').focus();
			} else {
				_p('#filterResults').focus();
			}
		}
	});

	skipToFilterOptionsLink.on('click', function (e) {
		e.preventDefault();
		if (_p('.filter-button').css('display') == 'flex') {
			_p('.filter-button').focus();
		} else {
			_p('#filterResults').focus();
		}
	});

	skipToSearchResultsLink.on('keydown', function (e) {
		var keyCode = e.which || e.keyCode;
		if (keyCode == key["enter"]) {
			e.preventDefault();
			_p('.results &gt; li:first-child a').focus();
		}
	});

	skipToSearchResultsLink.on('click', function (e) {
		e.preventDefault();
		_p('.results &gt; li:first-child a').focus();
	});


	function focusReturnedResultsText() {
		returnedResultsText.focus();
	}

	function focusSearchInput() {
		searchInput.focus();
	}

	function resetOnClose() {
		_p('.autocomplete-button.has-visual-focus').removeClass('has-visual-focus');
		searchInput.attr('aria-activedescendant', '');
		searchInput.removeClass('focus-style-disabled');
	}
});
/* _f-search.js 
/* x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x */
/* x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x */
/* x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x */


_p(document).ready(function () {
	var searchArea = _p('.search-area');
	var totalResponses = 0;
	var totalPages = null;
	var count = 10;
	var resultStartIndex = 0;
	var firstResults = true; //Used to determine if this is the initial search request for any given search term
	var userClientId = (document.cookie.match(/^(?:.*;)?\s*BingSearchClientId\s*=\s*([^;]+)(?:.*)?$/) || [, null])[1];
	var paramsString = window.location.search;
	var searchParams = new URLSearchParams(paramsString); //Get the URL data for the search term passed in via the footer input

	searchArea.on("closeResults", closeResults);
	searchArea.on("showResults", showResults);
	searchArea.on("submitSearch", submitSearch);
	searchArea.on("submitAutocomplete", submitAutocomplete);

	if (searchParams.has('q') &amp;&amp; firstResults) {
		var queryString = searchParams.get('q');
		_p('#search-input').val(queryString);
		doXhr(queryString, null);
	} else {
		_p('#search-input').val('auto');
		doXhr('auto', null);
	}

	function displayResults(results, query) {
		var offsetStart = resultStartIndex;
		var offsetEnd = resultStartIndex + count - 1;
		totalResponses = results.value.length;

		//console.log('Total responses: ' + totalResponses);
		//console.log('offsetStart: ' + offsetStart);
		//console.log('offsetEnd: ' + offsetEnd);

		_p(".results").show();
		_p('.results-span').hide();
		_p('.results-span').text('');
        _p(".results").output.forEach(function (el) {
            el.innerHTML = '';
        });

		results.value.forEach(function (el, index) {
			var resultIndex = index + 1;

			if (index &gt;= offsetStart &amp;&amp; index &lt; (offsetEnd + 1)) {
				//console.log('Result index: ' + index);
				//console.log(el);
				_p(".results").output[0].innerHTML += "&lt;li class=\"result-listing\"&gt;" +
                "&lt;h3&gt;&lt;a href=\"" + el.url + "\" data-result-index=\"" + resultIndex + "\"&gt;" + el.name + "&lt;/a&gt;&lt;/h3&gt;" +
                "&lt;p&gt;" + el.snippet.replace(/&lt;b&gt;/g, '&lt;strong&gt;').replace(/&lt;\/b&gt;/g, '&lt;/strong&gt;') + "&lt;/p&gt;" +
					"&lt;/li&gt;";

				// If last result, set offsetEnd to last result
				if ((index + 1) == totalResponses) {
					offsetEnd = (totalResponses - 1);
				}
			} else {
				//console.log('No result index: ' + index);
			}
		});

		_p('.result-listing a').on('click', function () {
			var resultIndex = _p(this).attr('data-result-index');
			var resultLabel = _p(this).text().replace(/\W/g, '').toLowerCase();

			_p(window).trigger('resultClickTracking', { detail: { resultIndex: resultIndex, resultLabel: resultLabel } });
		});

		_p('.returnedResults').output[0].innerHTML = ('Search results ' + (offsetStart + 1) + ' &lt;span class="sr-only"&gt;through &lt;/span&gt;&lt;span aria-hidden="true"&gt;-&lt;/span&gt; ' + (offsetEnd + 1) + ' of ' + totalResponses)
		_p('.returnedResults').attr('data-num-results', totalResponses);

		if (firstResults) {
			setQueryStringInURL(query);

			//Logic for adding next button and handling click with pagination
			paginate(totalResponses);

			//handle paging through results
			_p('.pagination a').on('click', function (e) {
				var link = _p(this);

				if (link.hasClass('nextBtn')) {
					link = link.siblings('.disabled').next();
				} else if (link.hasClass('prevBtn')) {
					link = link.siblings('.disabled').prev();
				}

				resultStartIndex = (parseInt(link.text()) * count) - count;
				//console.log('New start index: ' + resultStartIndex);

				//hide or show prev and next buttons if on first or last page
				if (link.text() == totalPages) {
					_p('.nextBtn').css('display', 'none');
					_p('.prevBtn').css('display', 'inline');
				} else if (link.text() == 1) {
					_p('.prevBtn').css('display', 'none');
					_p('.nextBtn').css('display', 'inline');
				} else {
					_p('.prevBtn').css('display', 'inline');
					_p('.nextBtn').css('display', 'inline');
				}

				_p('.pagination a').removeClass('disabled').attr('aria-disabled', 'false').attr('aria-current', '');
				link.addClass("disabled").attr('aria-disabled', 'true').attr('aria-current', 'page');

				displayResults(results, query);
				searchArea.trigger("focusReturnedResultsText");
				e.preventDefault();
			});
		}
	}

	function displayNoResults() {
		_p('.results').hide();
		_p('.results-span').text('Sorry, no results.');
		_p('.results-span').show();
		_p('.returnedResults').text('Search results 0 of 0').attr('data-num-results', 0);
		_p('.pagination').output[0].innerHTML = '';
		setQueryStringInURL(_p("#search-input").val());
	}

	function paginate(totalResponses) {
		totalPages = Math.ceil(totalResponses / count);
		//console.log('Total pages: ' + totalPages);
		var pagination = _p('.pagination');

		for (var i = 1; i &lt;= totalPages; i++) {
			var disabled = false;
			var classStr = '';
			var ariaCurrent = '';

			if (i === 1) {
				pagination.output[0].innerHTML = '';
				disabled = true;
				classStr = 'class="disabled"';
				ariaCurrent = 'page';
			}

			pagination.append("&lt;a href='#' " + classStr + " aria-current=\"" + ariaCurrent + "\" aria-disabled=\"" + disabled + "\"&gt;" + i + "&lt;/a&gt;");
		}

		pagination.append("&lt;a href='#' class='nextBtn' data-tracking-override&gt;Next&lt;/a&gt;");
		pagination.prepend("&lt;a href='#' class='prevBtn' data-tracking-override&gt;Previous&lt;/a&gt;");

		if (totalPages == 1) {
			_p('.prevBtn').css('display', 'none');
			_p('.nextBtn').css('display', 'none');
		}

		firstResults = false;

		_p('.nextBtn, .prevBtn').on('click', function () {
			var label = _p(this).text().toLowerCase();
			var module = _p(this).closest('[data-module]').attr('data-module');
			var pageIndex = Number(_p('.pagination .disabled').text());

			if (label == 'next') {
				pageIndex++;
			} else {
				pageIndex--;
			}

			_p(window).trigger('paginateTracking', { detail: { label: label, module: module, pageIndex: pageIndex } });
		});
	}

	function setQueryStringInURL(query) {
		//console.log('set query string');
		searchParams.set('q', query);
		window.history.replaceState({}, '', `${location.pathname}?${searchParams}`);
	}

	function doXhr(query, type, module) {
		var xhr = new XMLHttpRequest();
		var url = "";
		
		xhr.withCredentials = false;
		xhr.responseType = "json";

        switch (type) {
			case 'autosuggest':
				url = searchApiDomain + '/bingCustom/suggestions/search?q=' + encodeURIComponent(query) + '&amp;customconfig=d117a55f-5060-4b88-a968-d6d354d88145';
				
				xhr.addEventListener("readystatechange", function () {
					if (this.readyState === 4) {
						autocompleteData = this.response;
						createMarkup();
					}
				});
				
                break;
			default:
				url = searchApiDomain + '/bingCustom/search?q=' + encodeURIComponent(query) + '&amp;customconfig=daf0d422-e25c-40bf-8f52-624d448fdd72&amp;mkt=en-US&amp;textDecorations=true&amp;textFormat=html&amp;count=50&amp;offset=0';
				 
				xhr.addEventListener("readystatechange", function () {
                    if (this.readyState === 4) {
						var results = this.response.webPages;

						if (userClientId == null) {
							//Create initial cookie with ClientID
							if (this.getAllResponseHeaders().indexOf("x-msedge-clientid") &gt;= 0) {
								createCookie("BingSearchClientId", this.getResponseHeader("x-msedge-clientid"));
							} else {
								console.log('Error: X-MSEdge-ClientID is not an available header.');
							}
						} else {
							//Update cookie with new expiration
							createCookie("BingSearchClientId", userClientId)
						}

						if (results == null) {
							displayNoResults();
						} else {
							resultStartIndex = 0;
							displayResults(results, query);
						}

						if (module) {
							var numResults = 0;

							if (results != null) {
								numResults = results.value.length;
							}

							_p(window).trigger('newSearchTracking', { detail: { query: query.replace(/\W/g, '').toLowerCase(), numResults: numResults, module: module } });
						}
                    }
                }); 
		}
		
		xhr.open("GET", url);
		xhr.setRequestHeader("Authorization", "Bearer " + searchApiToken);

		if (userClientId != null) {
			xhr.setRequestHeader("X-MSEdge-ClientID", userClientId);
		}

        xhr.send();
    }

	function createCookie(name, value) {
		var d = new Date();
		d.setTime(d.getTime() + (1 * 24 * 60 * 60 * 1000));

		var expires = "; expires=" + d.toGMTString();
		document.cookie = name + "=" + value + expires + "; path=/";
	}

	function submitSearch(e, module) {
		var searchModule = module;

		if (e) {
			searchModule = e.detail.module;
		}

		firstResults = true;
		doXhr(_p("#search-input").val(), null, searchModule);

		if (_p('.autocomplete-button.has-visual-focus').length &gt; 0) {
			searchArea.trigger("focusSearchInput");
		} else {
			searchArea.trigger("focusReturnedResultsText");
		}
		
		closeResults();
	}

	function submitAutocomplete() {
		doXhr(_p("#search-input").val(), 'autosuggest');
	}

    //Auto complete code start
	var autocompleteData;

	_p(".search-button").on('click', function (e) {
		var module = _p(this).closest('[data-module]').attr('data-module'); //For tracking closest module

		e.preventDefault();
		submitSearch(null, module);
	});

	function createMarkup() {
		_p('.autocomplete-list li').remove();
		_p('.no-results-message').hide();
		_p('.no-results-message').text('');

		if (autocompleteData != undefined) {
			if (!autocompleteData.hasOwnProperty('errors')) {
				if (autocompleteData.suggestionGroups[0].searchSuggestions.length &gt; 0) {
					var markup = '';
					var totalAutocompleteResults;

					if (autocompleteData.suggestionGroups[0].searchSuggestions.length &gt; 5) {
						totalAutocompleteResults = 5;
					} else {
						totalAutocompleteResults = autocompleteData.suggestionGroups[0].searchSuggestions.length;
					}

					_p(autocompleteData.suggestionGroups[0].searchSuggestions).each(function (i, result) {
						if (i &lt; 5) {
							markup = markup + '&lt;li role="presentation"&gt;&lt;button id="autocomplete-result-' + (i + 1) +'" class="autocomplete-button h3-subhead" type="button" role="option" aria-posinset="'+ (i+1) +'" aria-setsize="'+ totalAutocompleteResults +'" tabindex="-1" data-query-string="' + result.query + '"&gt;' + result.displayText + '&lt;/button&gt;&lt;/li&gt;';
						}
					});
					
					_p('.autocomplete-list').html(markup);

					applyButtonClickListener();
					showResults();
				} else {
					closeResults();
				}
			} else {
				_p('.no-results-message').text('Sorry, no results.');
				_p('.no-results-message').show();
				showResults();
			}
		} else {
			closeResults();
		}
	}

	function applyButtonClickListener() {
		_p(".autocomplete-button").on('click', function (e) {
			var button = _p(this);
			var module = _p(this).closest('[data-module]').attr('data-module');

			_p("#search-input").val(button.attr('data-query-string'));
			submitSearch(null, module);
		});
	}

	function showResults() {
		var results = _p('.autocomplete-area');

		results.addClass('has-results');
		timeoutId = setTimeout(function () {
			results.addClass('is-visible');
			_p('#search-input').attr('aria-expanded', 'true');
		}, 10);
	}

	function closeResults() {
		var results = _p('.autocomplete-area');

		results.removeClass('is-visible');
		searchArea.trigger('resetOnClose');
		timeoutId = setTimeout(function () {
			results.removeClass('has-results');
			_p('#search-input').attr('aria-expanded', 'false');
		}, 50);
	}
    //Auto complete code end

	//Filters code start
	_p(".filter-button").on('click', function (event) {
		var buttonText = _p(this).find("span");

		if (_p(".filter-wrapper").hasClass("is-visible")) {
			_p(".filter-wrapper").removeClass("is-visible");
			buttonText.text("Show popular searches");
			_p(this).attr('aria-expanded', 'false');
		} else {
			_p(".filter-wrapper").addClass("is-visible");
			buttonText.text("Hide popular searches");
			_p(this).attr('aria-expanded', 'true');
		}
	});

	_p(".filter-wrapper ul &gt; li button").on('click', function (event) {
		var module = _p(this).closest('[data-module]').attr('data-module'); //For tracking closest module

		_p(".search-input").val(_p(this).text());
		submitSearch(null, module);
	});
	//Filters code end
});
/* _t-search.js 
/* x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x */
/* x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x */
/* x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x */


_p(document).ready(function () {
	//Filter button tracking based on visibility (only displayed on smaller screens/mobile)
	_p('.filter-button').on('click', function () {
		var label = '';
		var btnText = _p(this).text().toLowerCase();
		var numResults = _p('.returnedResults').attr('data-num-results');

		if (btnText == 'hide popular searches') {
			label = 'showfilters';
		} else if (btnText == 'show popular searches') {
			label = 'hidefilters';
		}

		_gaObj.GATrackEvent(null, 'ButtonClick', label, numResults, false, { pgPosition: 'search-filter' }, false);
	});

	//Tracking click on a results link
	_p(window).on('resultClickTracking', function (e) {
		var label = e.detail.resultLabel;
		var value = e.detail.resultIndex;

		_gaObj.GATrackEvent(null, 'LinkClick', label, value, false, { pgPosition: 'search-results' }, false);
	});

	//Fires on every interactive search action (refresh and page load excluded)
	_p(window).on('newSearchTracking', function (e) {
		var label = 'searchprogressive';
		var value = e.detail.numResults;
		var module = e.detail.module;
		var dataValue = e.detail.query;

		_gaObj.GATrackEvent(null, 'ButtonClick', label, value, false, { pgPosition: module, dataValue: dataValue }, false);
	});

	//Next/Prev pagination link clicks, logs the page you're navigating to
	_p(window).on('paginateTracking', function (e) {
		var label = e.detail.label;
		var value = e.detail.pageIndex;
		var module = e.detail.module;

		_gaObj.GATrackEvent(null, 'ButtonClick', label, value, false, { pgPosition: module }, false);
	});
});</pre></body></html>