{"version":3,"file":"6333.a09bac85a6cf69e6635e.js","mappings":"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e,aACf,cAAe,aACf,cAAe,cACf,cAAe,aACf,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,cAAe,aACf,cAAe,cACf,cAAe,cACf,cAAe,cACf,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,cACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,cACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,cAAe,cACf,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,cACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,WAAY,aACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,aACf,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,cACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,WAAY,cACZ,WAAY,cACZ,WAAY,aACZ,cAAe,cACf,cAAe,cACf,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,cACV,SAAU,cACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,cACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,aACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,WAA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","sources":["webpack://servicemanagement.app/./scripts/add-job/common.js","webpack://servicemanagement.app/./scripts/add-job/globalizeCommon.js","webpack://servicemanagement.app/./scripts/bootstrap-multiselect.js","webpack://servicemanagement.app/./scripts/labels.js","webpack://servicemanagement.app/./scripts/rating/rating.js","webpack://servicemanagement.app/./scripts/setupGlobals.js","webpack://servicemanagement.app/./app/utils/pageNavigator.ts","webpack://servicemanagement.app/./app/utils/urlBuilder.ts","webpack://servicemanagement.app/./app/utils/utils.ts","webpack://servicemanagement.app/./scripts/pnotify-common.ts"],"sourcesContent":["import { labels } from '../labels.js';\nimport { loadGlobalize } from './globalizeCommon';\nimport { initRating, setRating } from '../rating/rating';\nimport { showNotification } from '../pnotify-common';\nimport { redirectToLoginPage } from '../../app/utils/pageNavigator';\n\n$(function () {\n loadGlobalize();\n addHandlerForSetPositionToDefaultForAllModalDialog();\n fixArrayFunctionsForIE();\n initValidation();\n initMainMenu();\n initNotifyMessageAlerts();\n initLinksWithDateGroup();\n initJqueryAjaxGlobal();\n $.nt = $.nt || {};\n initSendAnalyticsEvents();\n disallowSpaces();\n});\n\nfunction initJqueryAjaxGlobal() {\n $.ajaxSetup({\n beforeSend: function (xhr, settings) {\n var dateVal = $('#datepicker').val();\n var groupVal = $('#current-group').val();\n xhr.setRequestHeader('Current-Date', dateVal ? dateVal : '');\n xhr.setRequestHeader('Current-Group', groupVal ? groupVal : '');\n\n var antiForgeryToken = $(\"[name='__RequestVerificationToken']\").val();\n\n var nonIdempotentHttpMethods = ['post', 'put', 'delete'];\n if (nonIdempotentHttpMethods.indexOf(settings.type.toLowerCase()) > -1) {\n xhr.setRequestHeader('x-csrf-token', antiForgeryToken);\n }\n },\n error: function (xhr) {\n switch (xhr.status) {\n case 401: // HTTP 401 Unauthorized\n redirectToLoginPage(xhr.status.toString());\n break;\n }\n },\n });\n}\n\nfunction getGroupForUrl() {\n var group = $('#current-group').val();\n if (!group) {\n var groups = $('#selected-groups').val();\n if (typeof groups !== 'undefined' && groups !== null && groups.length > 0) {\n group = groups[0];\n } else {\n group = currentGroup;\n }\n }\n return group;\n}\n\nfunction getDateForUrl() {\n var date = $('#datepicker').val();\n if (!date) {\n date = currentDate;\n }\n return date;\n}\n\nfunction initLinksWithDateGroup() {\n $('a.js-url-include-date').on('mousedown', function () {\n var $this = $(this);\n if ($this.hasClass('js-url-include-group')) {\n return;\n }\n var url = decodeURI($this.data('url')).format(getDateForUrl());\n $this.attr('href', encodeURI(url));\n });\n\n $('a.js-url-include-group').on('mousedown', function () {\n var $this = $(this);\n if ($this.hasClass('js-url-include-date')) {\n return;\n }\n var url = decodeURI($this.data('url')).format(getGroupForUrl());\n $this.attr('href', encodeURI(url));\n });\n\n $('a.js-url-include-date.js-url-include-group').mousedown(function () {\n var $this = $(this);\n var url = decodeURI($this.data('url')).format(getDateForUrl(), getGroupForUrl());\n $this.attr('href', encodeURI(url));\n });\n}\n\nexport const setSearchHistory = function setSearchHistory() {\n var location = window.location;\n var url = location.origin + location.pathname + getSearchStr();\n window.history.replaceState({}, null, url);\n};\n\nfunction getSearchStr() {\n var dateVal = getDateForUrl();\n var groupVal = getGroupForUrl();\n var searchStr = '?';\n if (dateVal) {\n searchStr += 'date={0}&'.format(dateVal);\n }\n if (groupVal) {\n searchStr += 'groupId={0}&'.format(groupVal);\n }\n return searchStr.substring(0, searchStr.length - 1);\n}\n\nfunction documentKeydownHandler(e) {\n var code = e.keyCode ? e.keyCode : e.which;\n if (code == 27) {\n // escape\n removeLastModal();\n }\n}\n\nexport const initDocumentRatings = function initDocumentRatings(control) {\n setRating($(control), initRating($(control), true));\n};\n\nfunction addHandlerForSetPositionToDefaultForAllModalDialog() {\n $('.modal').each(function (index, control) {\n $(control).on('hidden.bs.modal', function (cntrl) {\n $('.modal-dialog', cntrl.target).css({\n top: 'auto',\n left: 'auto',\n });\n\n $('.modal-title', cntrl.target).css({\n cursor: 'auto',\n });\n });\n });\n}\n\nfunction initNotifyMessageAlerts() {\n $('body').on('click', '.pnotify', function (e) {\n var pauseButtonName = 'icon-pause',\n playButtonName = 'icon-play',\n removeButtonName = 'icon-remove',\n tickMessageName = 'voice-message-read',\n tickMessageName2 = 'not-read',\n target = $(e.target);\n\n if (\n target.hasClass(playButtonName) ||\n target.hasClass(removeButtonName) ||\n target.hasClass(pauseButtonName) ||\n target.hasClass(tickMessageName) ||\n target.hasClass(tickMessageName2)\n ) {\n return;\n }\n\n var $this = $(this),\n pauseButton = $('.{0}'.format(pauseButtonName), $this);\n\n pauseButton.click();\n });\n}\n\nfunction initMainMenu() {\n var url = document.location.pathname;\n var menu = $('#menu-not-logged');\n\n if (menu.length == 0) {\n return;\n }\n\n var activeLink = $('a', menu).filter(function () {\n return $(this).attr('href') && $(this).attr('href').toLowerCase() == url.toLowerCase();\n });\n\n $('li', menu).removeClass('active');\n\n activeLink.parents('li').addClass('active');\n}\n\nfunction initValidation() {\n $.extend($.validator.messages, {\n required: requiredMessage,\n number: shouldBeANumber,\n min: shouldBePositive,\n minlength: $.validator.format(atLeastNCharacters),\n regex: 'Please check your input',\n });\n\n $('#RecoverPasswordViewModel_Email').validate({\n onkeyup: false,\n });\n\n $.validator.addMethod(\n 'lettersonly',\n function (value, element) {\n return this.optional(element) || /^[\\.a-zA-Z0-9@-]+$/i.test(value);\n },\n spacesAreNotAllowed,\n );\n\n $.validator.addMethod(\n 'dateindefaultformat',\n function (value, element) {\n return this.optional(element) || parseDateInDefaultFormat(value) != null;\n },\n dateNotValid,\n );\n\n $.validator.addMethod(\n 'regex',\n function (value, element, regexpr) {\n return this.optional(element) || regexpr.test(value);\n },\n $.validator.messages.regex,\n );\n}\n\nfunction removeLastModal() {\n if (modals.length > 0) {\n var index = modals.length - 1;\n $(modals[index - 1]).focus();\n modals.splice(index, 1);\n }\n\n if (modals.length > 0) {\n var body = $('body');\n if (!body.hasClass('modal-open')) {\n body.addClass('modal-open');\n }\n }\n}\n\nexport const showModal = function showModal(dialog, options) {\n if (typeof options === 'undefined' || !options) {\n options = {\n keyboard: true,\n backdrop: false,\n };\n }\n\n dialog.modal(options);\n\n if (options.asDraggable) {\n var zIndex =\n Math.max.apply(\n null,\n [].map.call(document.querySelectorAll('*'), function (el) {\n var val = getComputedStyle(el).zIndex;\n if (isNaN(val)) {\n return 0;\n }\n return val;\n }),\n ) + 10;\n dialog.css('z-index', zIndex);\n }\n\n modals.push(dialog);\n\n dialog.off('keypress');\n dialog.keypress(function (e) {\n var code = e.keyCode ? e.keyCode : e.which;\n if (code == 13) {\n //Enter keycode\n $('.save-popup-button', dialog).click();\n return false;\n }\n\n if (code == 27) {\n // escape\n $('.btn-close-popup', dialog).click();\n dialog.modal('hide');\n }\n });\n\n dialog.off('hidden.bs.modal', removeLastModal);\n dialog.on('hidden.bs.modal', removeLastModal);\n\n // make modal draggable by header\n if (options.asDraggable) {\n $('.modal-title', $(dialog).target).css({\n cursor: 'default',\n });\n\n dialog.find('.modal-dialog').draggable({\n handle: $('.modal-title', $('.modal-dialog')),\n });\n }\n};\n\nfunction cleanUpFormFields(form) {\n $('form input[type=text], form input[type=password]', form).val('');\n\n var selects = $('select:not(\".keep-selection\")', form);\n\n $.each(selects, function (i, select) {\n var $select = $(select);\n if ($select.hasClass('labels')) {\n labels.setVal(null, $select.parent());\n } else {\n $('option', select).eq(0).prop('selected', true);\n }\n });\n}\n\nvar modals = [];\n\nwindow.showAddEditForm = function showAddEditForm(form, title, options) {\n showModal(form, options);\n\n form.find('input, select, .multiselect')\n .off('keydown.modal')\n .on('keydown.modal', function (e) {\n var code = e.keyCode ? e.keyCode : e.which;\n if (code == 27) {\n // escape\n form.modal('hide');\n }\n });\n\n $('.form-title', form).html(title);\n cleanUpFormFields(form);\n\n $('.btn-close-popup').click(function (e) {\n e.preventDefault();\n $(this).closest('.manage-popup-wrapper').modal('hide');\n });\n\n var validator = $('form', form).validate();\n if (validator) {\n validator.resetForm();\n }\n\n $('input[type=\"text\"]:eq(0)', form).focus();\n};\n\nfunction getDialogTopPosition(dialog) {\n var windowHeight = $(window).height(),\n dialogHeight = dialog.height(),\n scrollTop = $(document).scrollTop();\n\n if (windowHeight < dialogHeight) {\n return scrollTop;\n }\n\n var top = scrollTop + 200;\n\n return top;\n}\n\n// multiLevel means we want to show next popup after clicking 'action' button.\n// the only difference is to hide this popup before doing action.\nwindow.showConfirmPopup = function showConfirmPopup(action, multiLevel, texts, dialogSelector, actionOnCancel) {\n if (!dialogSelector) {\n dialogSelector = '#dialog-confirm';\n }\n\n var dialog = $(dialogSelector),\n buttonDoAction = $('.btn-do-action', dialog).length ? $('.btn-do-action', dialog) : $('.js-confirmation-popup-action', dialog),\n buttonCancel = $('.btn-cancel', dialog).length ? $('.btn-cancel', dialog) : $('.js-confirmation-popup-action', dialog);\n\n showModal(dialog, {\n backdrop: 'static',\n keyboard: true,\n });\n\n if (typeof texts !== 'undefined' && texts) {\n if (typeof texts.title !== 'undefined' && texts.title) {\n $('.modal-body p', dialog).html(texts.title);\n }\n if (typeof texts.doActionButtonText !== 'undefined' && texts.doActionButtonText) {\n buttonDoAction.text(texts.doActionButtonText);\n }\n }\n\n buttonDoAction.off('click');\n buttonCancel.off('click');\n\n buttonDoAction.click(function (e) {\n e.preventDefault();\n\n if (multiLevel) {\n hideModal(dialog, buttonDoAction);\n }\n\n action(function () {\n if (!multiLevel) {\n hideModal(dialog, buttonDoAction);\n }\n });\n });\n\n buttonCancel.click(function (e) {\n e.preventDefault();\n hideModal(dialog, buttonDoAction);\n\n if (typeof actionOnCancel === 'function' && actionOnCancel) {\n actionOnCancel();\n }\n });\n};\n\nwindow.showActionPopup = function showActionPopup(action1, action2, dialogSelector) {\n if (dialogSelector == undefined) {\n dialogSelector = '.dialog-actions';\n }\n\n var dialog = $(dialogSelector),\n buttonAction1 = $('.btn-action-1', dialog),\n buttonAction2 = $('.btn-action-2', dialog),\n buttonCancel = $('.btn-cancel', dialog);\n\n buttonAction1.off('click');\n buttonAction2.off('click');\n buttonCancel.off('click');\n\n showModal(dialog, {\n backdrop: false,\n keyboard: true,\n });\n\n buttonAction1.click(function (e) {\n e.preventDefault();\n\n var $self = $(this);\n action1(function () {\n hideModal(dialog, $self);\n });\n });\n\n buttonAction2.click(function (e) {\n e.preventDefault();\n\n var $self = $(this);\n action2(function () {\n hideModal(dialog, $self);\n });\n });\n\n buttonCancel.click(function (e) {\n e.preventDefault();\n hideModal(dialog);\n });\n};\n\nwindow.hideModal = function hideModal(dialog, doButton) {\n dialog.modal('hide');\n\n if (doButton) {\n doButton.off('click');\n }\n};\n\n// get query string param by name\nwindow.getParameterByName = function getParameterByName(name) {\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n var regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)'),\n results = regex.exec(location.search);\n return results == null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n};\n\nfunction displayStringVehicleProperty(target, data) {\n data = data ? data : '{0}'.format(notSet);\n $(target).html(data);\n}\n\nfunction loadVehicleShortDetails(id, date) {\n // make request to load details and load\n $.ajax({\n cache: false,\n url: vehicleShortDetailsUrl,\n dataType: 'html',\n type: 'GET',\n data: { id: id, dateTime: date },\n success: function (data) {\n var selectedInfoContainer = $('#selected-vehicle-info');\n selectedInfoContainer.html('');\n\n var tableContainer = $('
');\n var row = $('');\n\n row.append(data);\n tableContainer.append(row);\n selectedInfoContainer.append(tableContainer);\n $('.not-allocated').hide();\n },\n });\n}\n\nwindow.initPictureFileUpload = function initPictureFileUpload(buttonId, logoType, pictureContainer, callback) {\n var $buttonId = $(buttonId);\n\n if ($buttonId.length == 0) {\n return;\n }\n\n $buttonId.attr('href', 'javascript: void(0)');\n\n var uploader = new qq.FineUploader({\n element: $buttonId[0],\n multiple: false,\n debug: false,\n request: {\n // path to server-side upload script\n endpoint: uploadLogoUrl,\n paramsInBody: true,\n params: {\n logoType: logoType,\n __RequestVerificationToken: $buttonId.closest('form').find(\"[name='__RequestVerificationToken']\").val(),\n },\n },\n\n validation: {\n allowedExtensions: ['jpg', 'jpeg', 'png', 'bmp'],\n sizeLimit: 2097152,\n },\n\n callbacks: {\n onComplete: function (id, fileName, response) {\n var pictContainer = $(pictureContainer);\n var oldPict = pictContainer.attr('src');\n $.post(deleteLogo, {\n logo: oldPict,\n });\n\n pictContainer.attr('src', response.obj.fileUrl);\n\n if (callback && typeof callback === 'function') {\n callback(response);\n }\n },\n },\n });\n};\n\n// is used to set time to pickup/dropoff.\n// control can be either span or input\nfunction setControlValue(control, value) {\n var $control = $(control);\n\n if ($control.is('input')) {\n $control.val(value);\n } else {\n $control.html(value);\n }\n}\n\n// add 'format' method to string's prototype\nif (!String.prototype.format) {\n String.prototype.format = function () {\n var args = arguments;\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] != 'undefined' ? args[number] : match;\n });\n };\n}\n\nif (typeof String.prototype.startsWith != 'function') {\n // see below for better implementation!\n String.prototype.startsWith = function (str) {\n return this.indexOf(str) == 0;\n };\n}\n\nif (typeof String.prototype.endsWith != 'function') {\n String.prototype.endsWith = function (str) {\n return this.slice(-str.length) == str;\n };\n}\n\nwindow.setSelectedValue = function setSelectedValue(select, value) {\n $('{0} option'.format(select))\n .filter(function () {\n //may want to use $.trim in here\n return $(this).text() == value;\n })\n .prop('selected', true);\n};\n\nfunction fixArrayFunctionsForIE() {\n if (!Array.prototype.indexOf) {\n Array.prototype.indexOf = function (obj, start) {\n for (var i = start || 0, j = this.length; i < j; i++) {\n if (this[i] === obj) {\n return i;\n }\n }\n return -1;\n };\n }\n}\n\nwindow.getValueFromHash = function getValueFromHash(rawHash, key) {\n var hash = rawHash.replace(/^.*?#/, '');\n var pairs = hash.split('&');\n\n key = key.trim();\n\n var value;\n\n $.each(pairs, function (i, pair) {\n var keyValue = pair.split('=');\n\n if (keyValue && keyValue.length == 2 && keyValue[0] === key) {\n value = keyValue[1];\n return false;\n }\n });\n\n return value;\n};\n\nwindow.replaceIntValueInString = function replaceIntValueInString(originalString, key, value) {\n var regExp = new RegExp('{0}=[0-9]*'.format(key), 'g');\n return originalString.replace(regExp, value);\n};\n\nwindow.showActivityIndicator = function showActivityIndicator(selector, left, top, indicator) {\n var activityIndicator = indicator || $('#loading-indicator'),\n input = $(selector);\n\n if (typeof left !== 'undefined') {\n activityIndicator.css('left', left + 'px');\n } else {\n activityIndicator.css('left', '');\n }\n\n if (typeof top !== 'undefined') {\n activityIndicator.css('top', top + 'px');\n } else {\n activityIndicator.css('top', '');\n }\n\n activityIndicator.insertAfter(input);\n activityIndicator.show();\n};\n\nvar activityIndicatorHorizontalAdjustment = 3;\nvar activityIndicatorVerticalAdjustment = 2;\n\nfunction showActivityIndicatorInsideTarget(selector, position, activityIndicator) {\n if (typeof activityIndicator === 'undefined') {\n activityIndicator = $('#loading-indicator');\n }\n var activityIndicatorHeight = activityIndicator.outerHeight(),\n $selector = $(selector),\n width = $selector.position().left + $selector.outerWidth() - 20,\n height = $selector.closest('.loading-wrapper').outerHeight();\n\n position = position || {};\n var x = typeof position.x !== 'undefined' ? position.x : width;\n var y = typeof position.y !== 'undefined' ? position.y : (height - activityIndicatorHeight - activityIndicatorVerticalAdjustment) / 2;\n\n activityIndicator.css('left', x);\n activityIndicator.css('top', y);\n\n activityIndicator.insertAfter($selector);\n activityIndicator.show();\n}\n\nwindow.showActivityIndicatorNextToTarget = function showActivityIndicatorNextToTarget(selector, position, activityIndicator) {\n if (typeof activityIndicator === 'undefined') {\n activityIndicator = $('#loading-indicator');\n }\n var activityIndicatorHeight = activityIndicator.outerHeight(),\n $selector = $(selector),\n width = $selector.position().left + $selector.outerWidth(),\n height = $selector.outerHeight();\n\n position = position || {};\n\n var x = typeof position.x !== 'undefined' ? position.x : width + activityIndicatorHorizontalAdjustment;\n var y = typeof position.y !== 'undefined' ? position.y : (height - activityIndicatorHeight - activityIndicatorVerticalAdjustment) / 2;\n\n activityIndicator.css('left', x);\n activityIndicator.css('top', y);\n\n activityIndicator.insertAfter($selector);\n activityIndicator.show();\n};\n\nwindow.showActivityIndicatorBeforeTarget = function showActivityIndicatorBeforeTarget(selector, position, activityIndicator) {\n if (typeof activityIndicator === 'undefined') {\n activityIndicator = $('#loading-indicator');\n }\n var activityIndicatorHeight = activityIndicator.outerHeight(),\n $selector = $(selector),\n width = $selector.position().left - activityIndicator.outerWidth(),\n height = $selector.outerHeight();\n\n var xAtRight;\n var y;\n\n if (typeof position !== 'undefined' && position) {\n xAtRight = typeof position.x !== 'undefined' ? position.x : width - activityIndicatorHorizontalAdjustment;\n y = typeof position.y !== 'undefined' ? position.y : (height - activityIndicatorHeight - activityIndicatorVerticalAdjustment) / 2;\n } else {\n xAtRight = width - activityIndicatorHorizontalAdjustment;\n y = (height - activityIndicatorHeight - activityIndicatorVerticalAdjustment) / 2;\n }\n\n activityIndicator.css('left', xAtRight);\n activityIndicator.css('top', y);\n\n activityIndicator.insertBefore($selector);\n activityIndicator.show();\n};\n\nfunction showActivityIndicatorInWrapper(wrapper, position) {\n var activityIndicator = $('#loading-indicator'),\n $wrapper = $(wrapper),\n width = $wrapper.outerWidth(),\n height = $wrapper.outerHeight(),\n activityIndicatorHeight = activityIndicator.outerHeight(),\n activityIndicatorWidth = activityIndicator.outerWidth();\n\n position = position || {};\n\n var x;\n var y;\n if (typeof position.x !== 'undefined') {\n x = position.x;\n }\n\n if (typeof x == 'undefined' && typeof position.rightX !== 'undefined') {\n x = width - position.rightX - activityIndicatorWidth;\n }\n\n if (typeof x == 'undefined') {\n x = width / 2 - activityIndicatorWidth / 2;\n }\n\n y = typeof position.y !== 'undefined' ? position.y : (height - activityIndicatorHeight - activityIndicatorVerticalAdjustment) / 2;\n\n activityIndicator.css('left', x);\n activityIndicator.css('top', y);\n\n $wrapper.append(activityIndicator);\n activityIndicator.show();\n}\n\nwindow.showCalendarActivityIndicator = function showCalendarActivityIndicator() {\n var activityIndicator = $('#calendar-loading-indicator'),\n appendTo = $('body'),\n $calendar = $('#calendar'),\n calendarWidth = $calendar.width(),\n offsetToInsert = $calendar.offset();\n\n activityIndicator.css('left', offsetToInsert.left + calendarWidth + 10);\n\n // determine top\n var scrollTop = $(document).scrollTop();\n\n var minimumTop = 10;\n var activityIndicatorPadding = 38;\n\n if (scrollTop <= offsetToInsert.top) {\n activityIndicator.css('top', offsetToInsert.top - scrollTop + activityIndicatorPadding);\n } else {\n activityIndicator.css('top', minimumTop);\n }\n appendTo.append(activityIndicator);\n activityIndicator.show();\n};\n\nwindow.hideActivityIndicator = function hideActivityIndicator(loadingIndicator) {\n var activityIndicator = loadingIndicator || $('#loading-indicator');\n // hide loading indicator\n activityIndicator.hide();\n};\n\nfunction showNotificationInternal(options) {\n var longDelay = notificationsDelay,\n shortDelay = 2000,\n delay = typeof options.longNotification != 'undefined' && options.longNotification ? longDelay : shortDelay,\n hide = typeof options.hide === 'undefined' || options.hide;\n\n if (typeof options.delay != 'undefined' && options.delay != null) {\n delay = options.delay;\n }\n\n const iconOptions = options.icon ? { icon: options.icon } : {};\n\n showNotification({\n title: options.title,\n text: options.message,\n type: options.type,\n shadow: false,\n delay: delay,\n sticker: false,\n hide: hide,\n ...iconOptions,\n });\n}\n\nwindow.showNotification = function showNotification(title, message, big, longNotification, optionalData) {\n var messageId = typeof optionalData !== 'undefined' && optionalData != null ? optionalData.messageId : null;\n showNotificationInternal({ message: message, messageId: messageId, type: 'success', longNotification: longNotification, big: big });\n};\n\nwindow.showErrorNotification = function showErrorNotification(title, message, big) {\n showNotificationInternal({ message: message, type: 'error', longNotification: true, big: big });\n};\n\nwindow.showStickyErrorNotification = function showStickyErrorNotification(message) {\n showNotificationInternal({ message: message, type: 'error', hide: false });\n};\n\nwindow.showNoticeNotification = function showNoticeNotification(message, big) {\n showNotificationInternal({ message: message, type: 'notice', longNotification: true, big: big });\n};\n\nwindow.showMessageNotification = function showMessageNotification(options) {\n var originalMessage = options.message.trim();\n\n var isVoiceMessage = originalMessage.startsWith('http') && (originalMessage.endsWith('mp3') || originalMessage.endsWith('mp4'));\n\n var message = '
' + '{0}: {1}
{2}
'.format(mlFrom, options.sender, options.timeStamp);\n\n if (isVoiceMessage) {\n message += '
'.format(\n originalMessage,\n audioNotSupportedByBrowser,\n );\n } else {\n message += originalMessage;\n }\n\n message +=\n '
'.format(\n options.messageId,\n uncheckedIconUrl,\n uncheckedIconTitle,\n );\n\n showNotificationInternal({\n title: false,\n message: message,\n type: 'info',\n longNotification: true,\n icon: false,\n delay: 10000,\n closer: true,\n closer_hover: false,\n });\n};\n\nwindow.sendRequest = function sendRequest(settings) {\n if (typeof settings.dontShowNotification === 'undefined') {\n settings.dontShowNotification = false;\n }\n\n if (typeof settings.target !== 'undefined') {\n settings.position = settings.position || {};\n\n if (typeof settings.targetSide !== 'undefined' && settings.targetSide === 'left') {\n showActivityIndicatorBeforeTarget(settings.target, settings.position);\n } else {\n if (typeof settings.targetSide !== 'undefined' && settings.targetSide === 'wrapper') {\n showActivityIndicatorInWrapper(settings.target, settings.position);\n } else {\n if (typeof settings.targetSide !== 'undefined' && settings.targetSide === 'insideTarget') {\n showActivityIndicatorInsideTarget(settings.target, settings.position);\n } else {\n showActivityIndicatorNextToTarget(settings.target, settings.position);\n }\n }\n }\n }\n\n settings.cache = settings.cache || false;\n settings.type = settings.type || 'POST';\n settings.dataType = settings.dataType || 'json';\n settings.traditional = settings.traditional || false;\n //settings.contentType = settings.contentType || \"application/json; charset=utf-8\";\n\n var requestId = $.ajax({\n cache: settings.cache,\n url: settings.url,\n dataType: settings.dataType,\n type: settings.type,\n contentType: settings.contentType,\n data: settings.data,\n traditional: settings.traditional,\n success: function (response) {\n hideActivityIndicator();\n\n if (typeof settings.success === 'function') {\n settings.success(response);\n }\n\n if (response.success) {\n var bigNotification = false;\n if (typeof settings.notificationSize !== 'undefined' && settings.notificationSize === 'big') {\n bigNotification = true;\n }\n\n if (!settings.dontShowNotification) {\n window.showNotification(mlSuccess, settings.successMessage, bigNotification);\n }\n }\n },\n error: function (response) {\n var showNotification = true;\n if (typeof settings.errorCallback === 'function') {\n showNotification = settings.errorCallback(response);\n }\n\n hideActivityIndicator();\n\n if (response.statusText != 'abort') {\n if (response.status == 401) {\n window.showNotification('', requestUnauthorized);\n return;\n }\n\n if (showNotification) {\n var errorMessage = settings.errorMessage || mlError;\n window.showNotification('', errorMessage);\n }\n }\n },\n });\n\n return requestId;\n};\n\n// returns time in format 'xx'\nwindow.formatTime = function formatTime(hour) {\n var hourString = hour.toString();\n\n if (hourString.length == 1) {\n return '0{0}'.format(hourString);\n }\n\n return '{0}'.format(hourString);\n};\n\nwindow.format2DigitDateMonth = function format2DigitDateMonth(data) {\n var dataString = data.toString();\n\n if (dataString.length == 1) {\n return '0{0}'.format(dataString);\n }\n\n return dataString;\n};\n\nfunction measureTextInPixels(text, fontSize) {\n var $measureContainer = $('#measure-container');\n $measureContainer.html(text);\n\n $measureContainer.css('font-size', fontSize);\n\n var width = $measureContainer.outerWidth() + 1;\n\n return width;\n}\n\nwindow.getTextWidth = function getTextWidth(text, font) {\n var f = font || '12px arial',\n o = $('
' + text + '
')\n .css({ position: 'absolute', float: 'left', 'white-space': 'nowrap', visibility: 'hidden', font: f })\n .appendTo($('body')),\n w = o.width();\n\n o.remove();\n\n return w;\n};\n\nwindow.capitaliseFirstLetter = function capitaliseFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nwindow.fixBool = function fixBool(parameterName, data) {\n var originalTrueValue = parameterName + '=on';\n var originalFalseValue = parameterName + '=off';\n var trueValue = parameterName + '=true';\n var falseValue = parameterName + '=false';\n\n if (data.indexOf(originalTrueValue) != -1) {\n return data.replace(originalTrueValue, trueValue);\n } else {\n return data.replace(originalFalseValue, falseValue);\n }\n};\n\nDate.prototype.isSameDateAs = function (pDate) {\n return this.getFullYear() === pDate.getFullYear() && this.getMonth() === pDate.getMonth() && this.getDate() === pDate.getDate();\n};\n\nDate.prototype.toServerParameterString = function () {\n return new Date(this.getTime() - this.getTimezoneOffset() * 60 * 1000).toISOString();\n};\n\nwindow.parseDateTimeInDefaultFormat = function parseDateTimeInDefaultFormat(dateTimeString) {\n var dateTimeParts = dateTimeString.split(' ');\n var datePart = dateTimeParts[0];\n var timePart = dateTimeParts[1];\n\n var hour = null;\n var min = null;\n\n if (timePart) {\n var timeParts = timePart.split(':');\n\n if (timeParts.length == 2) {\n hour = timeParts[0];\n min = timeParts[1];\n }\n }\n\n var day = null;\n var month = null;\n var year = null;\n\n if (datePart) {\n var dateParts = datePart.split('.');\n\n if (dateParts.length == 3) {\n day = dateParts[0];\n month = dateParts[1] - 1;\n year = dateParts[2];\n }\n }\n\n if (year && month && day && hour && min) {\n var result = new Date(year, month, day, hour, min);\n return result;\n }\n return null;\n};\n\nfunction parseDateInDefaultFormat(dateString) {\n var day = null;\n var month = null;\n var year = null;\n\n if (dateString) {\n var dateParts = dateString.split('.');\n\n if (dateParts.length == 3) {\n day = dateParts[0];\n month = dateParts[1] - 1;\n year = dateParts[2];\n }\n }\n\n if ((year || year == 0) && (month || month == 0) && (day || day == 0)) {\n var result = new Date(year, month, day, 0, 0);\n\n if (isNaN(result.getTime())) {\n return null;\n }\n\n return result;\n }\n return null;\n}\n\nwindow.confirmOnPageExit = function (e) {\n // If we haven't been passed the event get the window.event\n e = e || window.event;\n\n // For IE6-8 and Firefox prior to version 4\n if (e) {\n e.returnValue = leavePageWarning;\n }\n\n // For Chrome, Safari, IE8+ and Opera 12+\n return leavePageWarning;\n};\n\nwindow.clearLeavePageWarning = function clearLeavePageWarning() {\n window.onbeforeunload = null;\n};\n\nwindow.initLeavePageWarning = function initLeavePageWarning(form) {\n $('select', form).change(function () {\n window.onbeforeunload = confirmOnPageExit;\n });\n\n $('input, textarea', form).keyup(function () {\n window.onbeforeunload = confirmOnPageExit;\n });\n};\n\nwindow.showHideTableRowsBasedOnAtttribute = function showHideTableRowsBasedOnAtttribute($table, attribute, isChecked, isNegative) {\n var $rows = $('tr[data-{0}]'.format(attribute), $table);\n\n $rows.show();\n\n if (!isChecked) {\n return;\n }\n\n var rowsToHide = $.grep($rows, function (row) {\n var fits = $(row).data(attribute);\n return fits === isNegative ? false : true;\n });\n\n $.each(rowsToHide, function (i, rowToHide) {\n $(rowToHide).hide();\n });\n};\n\nvar updateShowOnlyactiveDriversRequest;\n\nwindow.initShowOnlyActiveDrivers = function initShowOnlyActiveDrivers(control, value, callback) {\n var showOnlyActiveDriversCheckbox = control;\n showOnlyActiveDriversCheckbox.prop('checked', value);\n\n showOnlyActiveDriversCheckbox.change(function () {\n if (typeof callback === 'function') {\n callback();\n }\n\n if (updateShowOnlyactiveDriversRequest) {\n updateShowOnlyactiveDriversRequest.abort();\n }\n\n var onlyActive = showOnlyActiveDriversCheckbox.is(':checked');\n updateShowOnlyactiveDriversRequest = sendRequest({\n url: updateShowOnlyActiveDriversUrl,\n type: 'POST',\n dontShowNotification: true,\n data: { onlyActive: onlyActive },\n });\n });\n};\n\nfunction createCookie(name, value, days) {\n var expires;\n\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = '; expires=' + date.toGMTString();\n } else {\n expires = '';\n }\n document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value) + expires + '; path=/';\n}\n\nfunction readCookie(name) {\n var nameEQ = encodeURIComponent(name) + '=';\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length));\n }\n return null;\n}\n\nfunction eraseCookie(name) {\n createCookie(name, '', -1);\n}\n\nwindow.isNullOrWhitespace = function isNullOrWhitespace(input) {\n if (typeof input === 'undefined' || input == null) return true;\n\n return input.replace(/\\s/g, '').length < 1;\n};\n\nwindow.clip = function clip(text) {\n var copyElement = document.createElement('textarea');\n $(copyElement).text(text);\n copyElement = document.body.appendChild(copyElement);\n copyElement.select();\n try {\n if (!document.execCommand('copy')) throw 'Not allowed.';\n } catch (e) {\n copyElement.remove();\n console.log(\"document.execCommand('copy'); is not supported\");\n prompt('Copy the text below. (ctrl c, enter)', text);\n } finally {\n if (typeof e == 'undefined') {\n copyElement.remove();\n }\n }\n};\n\nwindow.momentRoundUp = function momentRoundUp(momentObj, roundBy) {\n if (momentObj.millisecond() != 1) {\n momentObj.subtract(1, 'millisecond');\n }\n return momentObj.add(1, roundBy).startOf(roundBy);\n};\n\nfunction getScrollBarSize() {\n var inner = document.createElement('p');\n inner.style.width = '100%';\n inner.style.height = '100%';\n\n var outer = document.createElement('div');\n outer.style.position = 'absolute';\n outer.style.top = '0px';\n outer.style.left = '0px';\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n outer.style.height = '100px';\n outer.style.overflow = 'hidden';\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n var w1 = inner.offsetWidth;\n var h1 = inner.offsetHeight;\n outer.style.overflow = 'scroll';\n var w2 = inner.offsetWidth;\n var h2 = inner.offsetHeight;\n if (w1 == w2) w2 = outer.clientWidth;\n if (h1 == h2) h2 = outer.clientHeight;\n\n document.body.removeChild(outer);\n\n return [w1 - w2, h1 - h2];\n}\n\nwindow.getFileFromBytes = function getFileFromBytes(data, type, filename) {\n var blob = new Blob([new Uint8Array(data)], { type: type });\n\n if (typeof window.navigator.msSaveBlob !== 'undefined') {\n // IE workaround for \"HTML7007: One or more blob URLs were revoked by closing the blob for which they were created. These URLs will no longer resolve as the data backing the URL has been freed.\"\n window.navigator.msSaveBlob(blob, filename);\n } else {\n var URL = window.URL || window.webkitURL;\n var downloadUrl = URL.createObjectURL(blob);\n var a = document.createElement('a');\n // safari doesn't support this yet\n if (typeof a.download === 'undefined') {\n window.location = downloadUrl;\n } else {\n a.href = downloadUrl;\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n }\n\n setTimeout(function () {\n URL.revokeObjectURL(downloadUrl);\n }, 100); // cleanup\n }\n};\n\n$.fn.serializeObject = function () {\n var o = {};\n var a = this.serializeArray();\n $.each(a, function () {\n if (o[this.name] !== undefined) {\n if (!o[this.name].push) {\n o[this.name] = [o[this.name]];\n }\n o[this.name].push(this.value || '');\n } else {\n o[this.name] = this.value || '';\n }\n });\n return o;\n};\n\nwindow.sendAnalyticsEvent = function sendAnalyticsEvent(eventAction, eventLabel) {\n ga('send', 'event', document.title, eventAction, eventLabel);\n};\n\nfunction initSendAnalyticsEvents() {\n $(document).on('click', '.js-send-analytics-event:not(input[type=\"checkbox\"])', function () {\n var $this = $(this);\n sendAnalyticsEvent($this.data('event-action'), $this.data('event-label'));\n });\n\n $(document).on('change', 'input[type=\"checkbox\"].js-send-analytics-event', function () {\n var $this = $(this);\n sendAnalyticsEvent($this.data('event-action'), $this.is(':checked'));\n });\n}\n\nwindow.clearQueryString = function clearQueryString() {\n history.pushState(null, '', location.href.split('?')[0]);\n};\n\nwindow.hidePopovers = function hidePopovers(except) {\n var popovers = $('[data-toggle=\"popover\"]');\n if (except) {\n popovers = popovers.not(except);\n }\n popovers.each(function () {\n (($(this).popover('hide').data('bs.popover') || {}).inState || {}).click = false; // fix for BS 3.3.6\n });\n};\n\nwindow.initPopoverHide = function initPopoverHide() {\n $('body').on('click', function (e) {\n var $target = $(e.target);\n if ($target.data('toggle') !== 'popover' && $target.parents('.popover.in, [data-toggle=\"popover\"]').length === 0) {\n hidePopovers();\n }\n });\n};\n\nfunction wrapTextInBoldHtml(text, boldText) {\n var regExp = new RegExp('(' + boldText + ')', 'gi');\n return text.replace(regExp, function (match) {\n return '' + match + '';\n });\n}\n\nwindow.showRequiredRelatedMaritialState = function showRequiredRelatedMaritialState() {\n $('#MaritialStateValidFrom').prop('required', true);\n $('label[for=MaritialStateValidFrom]').append(' *');\n $('label[for=MaritialStateValidFrom]').show();\n $('#MaritialStateValidFrom').show();\n};\n\nwindow.hideRequiredRelatedMaritialState = function hideRequiredRelatedMaritialState() {\n var maritialStateValidFromText = $('label[for=MaritialStateValidFrom]').text().replace(' *', '');\n $('label[for=MaritialStateValidFrom]').text(maritialStateValidFromText);\n $('#MaritialStateValidFrom').prop('required', false);\n $('#MaritialStateValidFrom').parent().removeClass('has-error');\n $('#MaritialStateValidFrom').hide();\n $('label[for=MaritialStateValidFrom]').hide();\n $('span[for=MaritialStateValidFrom]').hide();\n};\n\nwindow.fillClothingSizeDataForm = function fillClothingSizeDataForm(clotzingSizeData) {\n $('#user-token').val(clotzingSizeData.Token);\n if (clotzingSizeData.VestSize) {\n $('#clothing-size-data #t-shirt').removeClass('required-clothing');\n var tShirt = $('.btn[value=' + clotzingSizeData.VestSize + ']', '#t-shirt');\n tShirt.addClass('active-clothing');\n }\n\n if (clotzingSizeData.PhoneCaseSize) {\n $('#clothing-size-data #phone-case').removeClass('required-clothing');\n var phoneSize = $('.btn[value=' + clotzingSizeData.PhoneCaseSize + ']', '#phone-case');\n phoneSize.addClass('active-clothing');\n }\n};\n\nwindow.makeFieldRequired = function makeFieldRequired(field) {\n $('#' + field + '').prop('required', true);\n $('label[for=' + field + ']').append(' *');\n};\n\nwindow.makeFieldOptional = function makeFieldOptional(field) {\n var labelText = $('label[for=' + field + ']')\n .text()\n .replace(' *', '');\n $('label[for=' + field + ']').text(labelText);\n $('#' + field + '').prop('required', false);\n $('#' + field + '')\n .parent()\n .removeClass('has-error');\n};\n\nwindow.activateSkeleton = function activateSkeleton(selector) {\n $(selector)\n .find('.skeleton')\n .each(function (i, el) {\n $(el).parent().addClass('skeletized');\n });\n};\n\nwindow.deactivateSkeleton = function deactivateSkeleton(selector) {\n $(selector)\n .find('.skeleton')\n .each(function (i, el) {\n $(el).parent().removeClass('skeletized');\n });\n};\n\nwindow.createTooltip = function createTooltip(controlName, text, placement) {\n var labelControlType = $('label[for=' + controlName + ']');\n labelControlType.append(\n ' 

',\n );\n labelControlType.find('p').addClass('cursor-help');\n labelControlType.find('[data-toggle=\"tooltip\"]').attr('data-original-title', text).attr('data-html', true);\n $('[data-toggle=\"tooltip\"]').tooltip();\n};\n\nwindow.strongPasswordValidation = function strongPasswordValidation(password, element) {\n var isValid = false;\n\n var hasAtLeastOneLowerCase = false;\n var hasAtLeastOneUpperCase = false;\n var hasAtLeastOneNumber = false;\n var hasAtLeastOneSpecialChar = false;\n var hasAtLeastTenChars = false;\n\n var tooltipElement = element.parentNode.getElementsByClassName('glyphicon glyphicon-question-sign cursor-help');\n var currentToolTipValue = tooltipElement.length > 0 ? tooltipElement[0].getAttribute('data-original-title') : '';\n\n if (password.length === 0) {\n //no changes\n isValid = true;\n } else {\n hasAtLeastOneLowerCase = password.match(/[a-z]+/);\n hasAtLeastOneUpperCase = password.match(/[A-Z]+/);\n hasAtLeastOneNumber = password.match(/[0-9]+/);\n hasAtLeastOneSpecialChar = password.match(/[!,@,#,$,%,\\^,&,*,?,_,~,-,+]+/);\n hasAtLeastTenChars = password.replace(/\\s/g, '').length >= 10;\n\n isValid = hasAtLeastOneLowerCase && hasAtLeastOneUpperCase && hasAtLeastOneNumber && hasAtLeastOneSpecialChar && hasAtLeastTenChars;\n }\n\n if (currentToolTipValue !== '') {\n currentToolTipValue = setToolTipLineGreenOrNot(hasAtLeastOneNumber, currentToolTipValue, 'hasAtLeastOneNumber');\n currentToolTipValue = setToolTipLineGreenOrNot(hasAtLeastOneLowerCase, currentToolTipValue, 'hasAtLeastOneLowerCase');\n currentToolTipValue = setToolTipLineGreenOrNot(hasAtLeastOneUpperCase, currentToolTipValue, 'hasAtLeastOneUpperCase');\n currentToolTipValue = setToolTipLineGreenOrNot(hasAtLeastOneSpecialChar, currentToolTipValue, 'hasAtLeastOneSpecialChar');\n currentToolTipValue = setToolTipLineGreenOrNot(hasAtLeastTenChars, currentToolTipValue, 'hasAtLeastTenChars');\n\n tooltipElement[0].setAttribute('data-original-title', currentToolTipValue);\n }\n\n return isValid;\n};\n\nfunction setToolTipLineGreenOrNot(setToGreen, toolTipText, pElementId) {\n var elementIdCurrent = setToGreen ? pElementId : pElementId + 'Green';\n var elementIdNew = setToGreen ? pElementId + 'Green' : pElementId;\n\n var symbolCurrent = setToGreen ? '-' : '✓';\n var symbolNew = setToGreen ? '✓' : '-';\n\n var elementAndSymbolCurrent = ['id=\"', elementIdCurrent, '\">', symbolCurrent].join('');\n var elementAndSymbolNew = ['id=\"', elementIdNew, '\">', symbolNew].join('');\n\n toolTipText = toolTipText.replace(elementAndSymbolCurrent, elementAndSymbolNew);\n\n return toolTipText;\n}\n\nwindow.passwordValidation = function passwordValidation() {\n jQuery.validator.addMethod(\n 'passwordValidation',\n function (value, element, params) {\n return strongPasswordValidation(value, element);\n },\n notStrongPasswordMsg,\n );\n};\n\nfunction disallowSpaces() {\n $('#Password, #RecoverPasswordViewModel_Password').on({\n keydown: function (e) {\n if (e.which === 32) return false;\n },\n });\n}\n\nexport const memoize = (fn) => {\n var cache = {};\n\n return function () {\n var key = JSON.stringify(arguments);\n\n if (!cache[key]) {\n cache[key] = fn.apply(this, arguments);\n }\n\n return cache[key];\n };\n};\n","import Globalize from 'globalize';\n\nexport const loadGlobalize = function () {\n Globalize.load({\n main: {\n en: {\n identity: {\n version: {\n _cldrVersion: '26',\n _number: '$Revision: 10887 $',\n },\n generation: {\n _date: '$Date: 2014-08-31 14:23:52 -0500 (Sun, 31 Aug 2014) $',\n },\n language: 'en',\n },\n numbers: {\n defaultNumberingSystem: 'latn',\n otherNumberingSystems: {\n native: 'latn',\n },\n minimumGroupingDigits: '1',\n 'symbols-numberSystem-latn': {\n decimal: '.',\n group: ',',\n list: ';',\n percentSign: '%',\n plusSign: '+',\n minusSign: '-',\n exponential: 'E',\n superscriptingExponent: '×',\n perMille: '‰',\n infinity: '∞',\n nan: 'NaN',\n timeSeparator: ':',\n },\n 'decimalFormats-numberSystem-latn': {\n standard: '#,##0.###',\n long: {\n decimalFormat: {\n '1000-count-one': '0 thousand',\n '1000-count-other': '0 thousand',\n '10000-count-one': '00 thousand',\n '10000-count-other': '00 thousand',\n '100000-count-one': '000 thousand',\n '100000-count-other': '000 thousand',\n '1000000-count-one': '0 million',\n '1000000-count-other': '0 million',\n '10000000-count-one': '00 million',\n '10000000-count-other': '00 million',\n '100000000-count-one': '000 million',\n '100000000-count-other': '000 million',\n '1000000000-count-one': '0 billion',\n '1000000000-count-other': '0 billion',\n '10000000000-count-one': '00 billion',\n '10000000000-count-other': '00 billion',\n '100000000000-count-one': '000 billion',\n '100000000000-count-other': '000 billion',\n '1000000000000-count-one': '0 trillion',\n '1000000000000-count-other': '0 trillion',\n '10000000000000-count-one': '00 trillion',\n '10000000000000-count-other': '00 trillion',\n '100000000000000-count-one': '000 trillion',\n '100000000000000-count-other': '000 trillion',\n },\n },\n short: {\n decimalFormat: {\n '1000-count-one': '0K',\n '1000-count-other': '0K',\n '10000-count-one': '00K',\n '10000-count-other': '00K',\n '100000-count-one': '000K',\n '100000-count-other': '000K',\n '1000000-count-one': '0M',\n '1000000-count-other': '0M',\n '10000000-count-one': '00M',\n '10000000-count-other': '00M',\n '100000000-count-one': '000M',\n '100000000-count-other': '000M',\n '1000000000-count-one': '0B',\n '1000000000-count-other': '0B',\n '10000000000-count-one': '00B',\n '10000000000-count-other': '00B',\n '100000000000-count-one': '000B',\n '100000000000-count-other': '000B',\n '1000000000000-count-one': '0T',\n '1000000000000-count-other': '0T',\n '10000000000000-count-one': '00T',\n '10000000000000-count-other': '00T',\n '100000000000000-count-one': '000T',\n '100000000000000-count-other': '000T',\n },\n },\n },\n 'scientificFormats-numberSystem-latn': {\n standard: '#E0',\n },\n 'percentFormats-numberSystem-latn': {\n standard: '#,##0%',\n },\n 'currencyFormats-numberSystem-latn': {\n currencySpacing: {\n beforeCurrency: {\n currencyMatch: '[:^S:]',\n surroundingMatch: '[:digit:]',\n insertBetween: ' ',\n },\n afterCurrency: {\n currencyMatch: '[:^S:]',\n surroundingMatch: '[:digit:]',\n insertBetween: ' ',\n },\n },\n accounting: '¤#,##0.00;(¤#,##0.00)',\n standard: '¤#,##0.00',\n 'unitPattern-count-one': '{0} {1}',\n 'unitPattern-count-other': '{0} {1}',\n },\n 'miscPatterns-numberSystem-latn': {\n atLeast: '{0}+',\n range: '{0}–{1}',\n },\n },\n },\n de: {\n identity: {\n version: {\n _cldrVersion: '26',\n _number: '$Revision: 10809 $',\n },\n generation: {\n _date: '$Date: 2014-08-14 15:10:07 -0500 (Thu, 14 Aug 2014) $',\n },\n language: 'de',\n },\n numbers: {\n defaultNumberingSystem: 'latn',\n otherNumberingSystems: {\n native: 'latn',\n },\n minimumGroupingDigits: '1',\n 'symbols-numberSystem-latn': {\n decimal: ',',\n group: '.',\n list: ';',\n percentSign: '%',\n plusSign: '+',\n minusSign: '-',\n exponential: 'E',\n superscriptingExponent: '·',\n perMille: '‰',\n infinity: '∞',\n nan: 'NaN',\n timeSeparator: ':',\n },\n 'decimalFormats-numberSystem-latn': {\n standard: '#,##0.###',\n long: {\n decimalFormat: {\n '1000-count-one': '0 Tausend',\n '1000-count-other': '0 Tausend',\n '10000-count-one': '00 Tausend',\n '10000-count-other': '00 Tausend',\n '100000-count-one': '000 Tausend',\n '100000-count-other': '000 Tausend',\n '1000000-count-one': '0 Million',\n '1000000-count-other': '0 Millionen',\n '10000000-count-one': '00 Millionen',\n '10000000-count-other': '00 Millionen',\n '100000000-count-one': '000 Millionen',\n '100000000-count-other': '000 Millionen',\n '1000000000-count-one': '0 Milliarde',\n '1000000000-count-other': '0 Milliarden',\n '10000000000-count-one': '00 Milliarden',\n '10000000000-count-other': '00 Milliarden',\n '100000000000-count-one': '000 Milliarden',\n '100000000000-count-other': '000 Milliarden',\n '1000000000000-count-one': '0 Billion',\n '1000000000000-count-other': '0 Billionen',\n '10000000000000-count-one': '00 Billionen',\n '10000000000000-count-other': '00 Billionen',\n '100000000000000-count-one': '000 Billionen',\n '100000000000000-count-other': '000 Billionen',\n },\n },\n short: {\n decimalFormat: {\n '1000-count-one': \"0 Tsd'.'\",\n '1000-count-other': \"0 Tsd'.'\",\n '10000-count-one': \"00 Tsd'.'\",\n '10000-count-other': \"00 Tsd'.'\",\n '100000-count-one': \"000 Tsd'.'\",\n '100000-count-other': \"000 Tsd'.'\",\n '1000000-count-one': '0 Mio',\n '1000000-count-other': '0 Mio',\n '10000000-count-one': '00 Mio',\n '10000000-count-other': '00 Mio',\n '100000000-count-one': '000 Mio',\n '100000000-count-other': '000 Mio',\n '1000000000-count-one': '0 Mrd',\n '1000000000-count-other': '0 Mrd',\n '10000000000-count-one': '00 Mrd',\n '10000000000-count-other': '00 Mrd',\n '100000000000-count-one': '000 Mrd',\n '100000000000-count-other': '000 Mrd',\n '1000000000000-count-one': \"0 Bio'.'\",\n '1000000000000-count-other': \"0 Bio'.'\",\n '10000000000000-count-one': \"00 Bio'.'\",\n '10000000000000-count-other': \"00 Bio'.'\",\n '100000000000000-count-one': \"000 Bio'.'\",\n '100000000000000-count-other': \"000 Bio'.'\",\n },\n },\n },\n 'scientificFormats-numberSystem-latn': {\n standard: '#E0',\n },\n 'percentFormats-numberSystem-latn': {\n standard: '#,##0 %',\n },\n 'currencyFormats-numberSystem-latn': {\n currencySpacing: {\n beforeCurrency: {\n currencyMatch: '[:^S:]',\n surroundingMatch: '[:digit:]',\n insertBetween: ' ',\n },\n afterCurrency: {\n currencyMatch: '[:^S:]',\n surroundingMatch: '[:digit:]',\n insertBetween: ' ',\n },\n },\n accounting: '#,##0.00 ¤',\n standard: '#,##0.00 ¤',\n 'unitPattern-count-one': '{0} {1}',\n 'unitPattern-count-other': '{0} {1}',\n },\n 'miscPatterns-numberSystem-latn': {\n atLeast: '{0}+',\n range: '{0}–{1}',\n },\n },\n },\n fr: {\n identity: {\n version: {\n _cldrVersion: '26',\n _number: '$Revision: 10809 $',\n },\n generation: {\n _date: '$Date: 2014-08-14 15:10:07 -0500 (Thu, 14 Aug 2014) $',\n },\n language: 'fr',\n },\n numbers: {\n defaultNumberingSystem: 'latn',\n otherNumberingSystems: {\n native: 'latn',\n },\n minimumGroupingDigits: '1',\n 'symbols-numberSystem-latn': {\n decimal: ',',\n group: ' ',\n list: ';',\n percentSign: '%',\n plusSign: '+',\n minusSign: '-',\n exponential: 'E',\n superscriptingExponent: '×',\n perMille: '‰',\n infinity: '∞',\n nan: 'NaN',\n timeSeparator: ':',\n },\n 'decimalFormats-numberSystem-latn': {\n standard: '#,##0.###',\n long: {\n decimalFormat: {\n '1000-count-one': '0 millier',\n '1000-count-other': '0 mille',\n '10000-count-one': '00 millier',\n '10000-count-other': '00 mille',\n '100000-count-one': '000 millier',\n '100000-count-other': '000 mille',\n '1000000-count-one': '0 million',\n '1000000-count-other': '0 millions',\n '10000000-count-one': '00 million',\n '10000000-count-other': '00 millions',\n '100000000-count-one': '000 million',\n '100000000-count-other': '000 millions',\n '1000000000-count-one': '0 milliard',\n '1000000000-count-other': '0 milliards',\n '10000000000-count-one': '00 milliard',\n '10000000000-count-other': '00 milliards',\n '100000000000-count-one': '000 milliards',\n '100000000000-count-other': '000 milliards',\n '1000000000000-count-one': '0 billion',\n '1000000000000-count-other': '0 billions',\n '10000000000000-count-one': '00 billions',\n '10000000000000-count-other': '00 billions',\n '100000000000000-count-one': '000 billions',\n '100000000000000-count-other': '000 billions',\n },\n },\n short: {\n decimalFormat: {\n '1000-count-one': '0 k',\n '1000-count-other': '0 k',\n '10000-count-one': '00 k',\n '10000-count-other': '00 k',\n '100000-count-one': '000 k',\n '100000-count-other': '000 k',\n '1000000-count-one': '0 M',\n '1000000-count-other': '0 M',\n '10000000-count-one': '00 M',\n '10000000-count-other': '00 M',\n '100000000-count-one': '000 M',\n '100000000-count-other': '000 M',\n '1000000000-count-one': '0 Md',\n '1000000000-count-other': '0 Md',\n '10000000000-count-one': '00 Md',\n '10000000000-count-other': '00 Md',\n '100000000000-count-one': '000 Md',\n '100000000000-count-other': '000 Md',\n '1000000000000-count-one': '0 Bn',\n '1000000000000-count-other': '0 Bn',\n '10000000000000-count-one': '00 Bn',\n '10000000000000-count-other': '00 Bn',\n '100000000000000-count-one': '000 Bn',\n '100000000000000-count-other': '000 Bn',\n },\n },\n },\n 'scientificFormats-numberSystem-latn': {\n standard: '#E0',\n },\n 'percentFormats-numberSystem-latn': {\n standard: '#,##0 %',\n },\n 'currencyFormats-numberSystem-latn': {\n currencySpacing: {\n beforeCurrency: {\n currencyMatch: '[:^S:]',\n surroundingMatch: '[:digit:]',\n insertBetween: ' ',\n },\n afterCurrency: {\n currencyMatch: '[:^S:]',\n surroundingMatch: '[:digit:]',\n insertBetween: ' ',\n },\n },\n accounting: '#,##0.00 ¤;(#,##0.00 ¤)',\n standard: '#,##0.00 ¤',\n 'unitPattern-count-one': '{0} {1}',\n 'unitPattern-count-other': '{0} {1}',\n },\n 'miscPatterns-numberSystem-latn': {\n atLeast: 'au moins {0}',\n range: '{0}–{1}',\n },\n },\n },\n },\n supplemental: {\n version: {\n _cldrVersion: '26',\n _number: '$Revision: 10969 $',\n },\n generation: {\n _date: '$Date: 2014-09-11 12:17:53 -0500 (Thu, 11 Sep 2014) $',\n },\n likelySubtags: {\n aa: 'aa-Latn-ET',\n ab: 'ab-Cyrl-GE',\n abr: 'abr-Latn-GH',\n ace: 'ace-Latn-ID',\n ach: 'ach-Latn-UG',\n ady: 'ady-Cyrl-RU',\n ae: 'ae-Avst-IR',\n aeb: 'aeb-Arab-TN',\n af: 'af-Latn-ZA',\n agq: 'agq-Latn-CM',\n ak: 'ak-Latn-GH',\n akk: 'akk-Xsux-IQ',\n aln: 'aln-Latn-XK',\n alt: 'alt-Cyrl-RU',\n am: 'am-Ethi-ET',\n amo: 'amo-Latn-NG',\n aoz: 'aoz-Latn-ID',\n ar: 'ar-Arab-EG',\n arc: 'arc-Armi-IR',\n 'arc-Nbat': 'arc-Nbat-JO',\n 'arc-Palm': 'arc-Palm-SY',\n arn: 'arn-Latn-CL',\n aro: 'aro-Latn-BO',\n arq: 'arq-Arab-DZ',\n ary: 'ary-Arab-MA',\n arz: 'arz-Arab-EG',\n as: 'as-Beng-IN',\n asa: 'asa-Latn-TZ',\n ast: 'ast-Latn-ES',\n atj: 'atj-Latn-CA',\n av: 'av-Cyrl-RU',\n awa: 'awa-Deva-IN',\n ay: 'ay-Latn-BO',\n az: 'az-Latn-AZ',\n 'az-Arab': 'az-Arab-IR',\n 'az-IR': 'az-Arab-IR',\n 'az-RU': 'az-Cyrl-RU',\n azb: 'azb-Arab-IR',\n ba: 'ba-Cyrl-RU',\n bal: 'bal-Arab-PK',\n ban: 'ban-Latn-ID',\n bap: 'bap-Deva-NP',\n bar: 'bar-Latn-AT',\n bas: 'bas-Latn-CM',\n bax: 'bax-Bamu-CM',\n bbc: 'bbc-Latn-ID',\n bbj: 'bbj-Latn-CM',\n bci: 'bci-Latn-CI',\n be: 'be-Cyrl-BY',\n bem: 'bem-Latn-ZM',\n bew: 'bew-Latn-ID',\n bez: 'bez-Latn-TZ',\n bfd: 'bfd-Latn-CM',\n bfq: 'bfq-Taml-IN',\n bft: 'bft-Arab-PK',\n bfy: 'bfy-Deva-IN',\n bg: 'bg-Cyrl-BG',\n bgc: 'bgc-Deva-IN',\n bgx: 'bgx-Grek-TR',\n bh: 'bh-Kthi-IN',\n bhb: 'bhb-Deva-IN',\n bhi: 'bhi-Deva-IN',\n bhk: 'bhk-Latn-PH',\n bho: 'bho-Deva-IN',\n bi: 'bi-Latn-VU',\n bik: 'bik-Latn-PH',\n bin: 'bin-Latn-NG',\n bjj: 'bjj-Deva-IN',\n bjn: 'bjn-Latn-ID',\n bkm: 'bkm-Latn-CM',\n bku: 'bku-Latn-PH',\n blt: 'blt-Tavt-VN',\n bm: 'bm-Latn-ML',\n bmq: 'bmq-Latn-ML',\n bn: 'bn-Beng-BD',\n bo: 'bo-Tibt-CN',\n bpy: 'bpy-Beng-IN',\n bqi: 'bqi-Arab-IR',\n bqv: 'bqv-Latn-CI',\n br: 'br-Latn-FR',\n bra: 'bra-Deva-IN',\n brh: 'brh-Arab-PK',\n brx: 'brx-Deva-IN',\n bs: 'bs-Latn-BA',\n bsq: 'bsq-Bass-LR',\n bss: 'bss-Latn-CM',\n bto: 'bto-Latn-PH',\n btv: 'btv-Deva-PK',\n bua: 'bua-Cyrl-RU',\n buc: 'buc-Latn-YT',\n bug: 'bug-Latn-ID',\n bum: 'bum-Latn-CM',\n bvb: 'bvb-Latn-GQ',\n byn: 'byn-Ethi-ER',\n byv: 'byv-Latn-CM',\n bze: 'bze-Latn-ML',\n ca: 'ca-Latn-ES',\n cch: 'cch-Latn-NG',\n ccp: 'ccp-Beng-IN',\n 'ccp-Cakm': 'ccp-Cakm-BD',\n ce: 'ce-Cyrl-RU',\n ceb: 'ceb-Latn-PH',\n cgg: 'cgg-Latn-UG',\n ch: 'ch-Latn-GU',\n chk: 'chk-Latn-FM',\n chm: 'chm-Cyrl-RU',\n chp: 'chp-Latn-CA',\n chr: 'chr-Cher-US',\n cja: 'cja-Arab-KH',\n cjm: 'cjm-Cham-VN',\n ckb: 'ckb-Arab-IQ',\n co: 'co-Latn-FR',\n cop: 'cop-Copt-EG',\n cps: 'cps-Latn-PH',\n cr: 'cr-Cans-CA',\n crj: 'crj-Cans-CA',\n crk: 'crk-Cans-CA',\n crl: 'crl-Cans-CA',\n crm: 'crm-Cans-CA',\n crs: 'crs-Latn-SC',\n cs: 'cs-Latn-CZ',\n csb: 'csb-Latn-PL',\n csw: 'csw-Cans-CA',\n ctd: 'ctd-Pauc-MM',\n cu: 'cu-Cyrl-RU',\n 'cu-Glag': 'cu-Glag-BG',\n cv: 'cv-Cyrl-RU',\n cy: 'cy-Latn-GB',\n da: 'da-Latn-DK',\n dar: 'dar-Cyrl-RU',\n dav: 'dav-Latn-KE',\n dcc: 'dcc-Arab-IN',\n de: 'de-Latn-DE',\n den: 'den-Latn-CA',\n dgr: 'dgr-Latn-CA',\n dje: 'dje-Latn-NE',\n dnj: 'dnj-Latn-CI',\n doi: 'doi-Arab-IN',\n dsb: 'dsb-Latn-DE',\n dtm: 'dtm-Latn-ML',\n dtp: 'dtp-Latn-MY',\n dua: 'dua-Latn-CM',\n dv: 'dv-Thaa-MV',\n dyo: 'dyo-Latn-SN',\n dyu: 'dyu-Latn-BF',\n dz: 'dz-Tibt-BT',\n ebu: 'ebu-Latn-KE',\n ee: 'ee-Latn-GH',\n efi: 'efi-Latn-NG',\n egl: 'egl-Latn-IT',\n egy: 'egy-Egyp-EG',\n eky: 'eky-Kali-MM',\n el: 'el-Grek-GR',\n en: 'en-Latn-US',\n 'en-Shaw': 'en-Shaw-GB',\n eo: 'eo-Latn-001',\n es: 'es-Latn-ES',\n esu: 'esu-Latn-US',\n et: 'et-Latn-EE',\n ett: 'ett-Ital-IT',\n eu: 'eu-Latn-ES',\n ewo: 'ewo-Latn-CM',\n ext: 'ext-Latn-ES',\n fa: 'fa-Arab-IR',\n fan: 'fan-Latn-GQ',\n ff: 'ff-Latn-SN',\n ffm: 'ffm-Latn-ML',\n fi: 'fi-Latn-FI',\n fil: 'fil-Latn-PH',\n fit: 'fit-Latn-SE',\n fj: 'fj-Latn-FJ',\n fo: 'fo-Latn-FO',\n fon: 'fon-Latn-BJ',\n fr: 'fr-Latn-FR',\n frc: 'frc-Latn-US',\n frp: 'frp-Latn-FR',\n frr: 'frr-Latn-DE',\n frs: 'frs-Latn-DE',\n fud: 'fud-Latn-WF',\n fuq: 'fuq-Latn-NE',\n fur: 'fur-Latn-IT',\n fuv: 'fuv-Latn-NG',\n fy: 'fy-Latn-NL',\n ga: 'ga-Latn-IE',\n gaa: 'gaa-Latn-GH',\n gag: 'gag-Latn-MD',\n gan: 'gan-Hans-CN',\n gbm: 'gbm-Deva-IN',\n gbz: 'gbz-Arab-IR',\n gcr: 'gcr-Latn-GF',\n gd: 'gd-Latn-GB',\n gez: 'gez-Ethi-ET',\n ggn: 'ggn-Deva-NP',\n gil: 'gil-Latn-KI',\n gjk: 'gjk-Arab-PK',\n gju: 'gju-Arab-PK',\n gl: 'gl-Latn-ES',\n glk: 'glk-Arab-IR',\n gn: 'gn-Latn-PY',\n gom: 'gom-Deva-IN',\n gon: 'gon-Telu-IN',\n gor: 'gor-Latn-ID',\n gos: 'gos-Latn-NL',\n got: 'got-Goth-UA',\n grc: 'grc-Cprt-CY',\n 'grc-Linb': 'grc-Linb-GR',\n grt: 'grt-Beng-IN',\n gsw: 'gsw-Latn-CH',\n gu: 'gu-Gujr-IN',\n gub: 'gub-Latn-BR',\n guc: 'guc-Latn-CO',\n gur: 'gur-Latn-GH',\n guz: 'guz-Latn-KE',\n gv: 'gv-Latn-IM',\n gvr: 'gvr-Deva-NP',\n gwi: 'gwi-Latn-CA',\n ha: 'ha-Latn-NG',\n 'ha-CM': 'ha-Arab-CM',\n 'ha-SD': 'ha-Arab-SD',\n hak: 'hak-Hans-CN',\n haw: 'haw-Latn-US',\n haz: 'haz-Arab-AF',\n he: 'he-Hebr-IL',\n hi: 'hi-Deva-IN',\n hif: 'hif-Deva-FJ',\n hil: 'hil-Latn-PH',\n hmd: 'hmd-Plrd-CN',\n hnd: 'hnd-Arab-PK',\n hne: 'hne-Deva-IN',\n hnj: 'hnj-Hmng-LA',\n hnn: 'hnn-Latn-PH',\n hno: 'hno-Arab-PK',\n ho: 'ho-Latn-PG',\n hoc: 'hoc-Deva-IN',\n hoj: 'hoj-Deva-IN',\n hr: 'hr-Latn-HR',\n hsb: 'hsb-Latn-DE',\n hsn: 'hsn-Hans-CN',\n ht: 'ht-Latn-HT',\n hu: 'hu-Latn-HU',\n hy: 'hy-Armn-AM',\n ia: 'ia-Latn-FR',\n ibb: 'ibb-Latn-NG',\n id: 'id-Latn-ID',\n ig: 'ig-Latn-NG',\n ii: 'ii-Yiii-CN',\n ik: 'ik-Latn-US',\n ikt: 'ikt-Latn-CA',\n ilo: 'ilo-Latn-PH',\n in: 'in-Latn-ID',\n inh: 'inh-Cyrl-RU',\n is: 'is-Latn-IS',\n it: 'it-Latn-IT',\n iu: 'iu-Cans-CA',\n iw: 'iw-Hebr-IL',\n izh: 'izh-Latn-RU',\n ja: 'ja-Jpan-JP',\n jam: 'jam-Latn-JM',\n jgo: 'jgo-Latn-CM',\n ji: 'ji-Hebr-UA',\n jmc: 'jmc-Latn-TZ',\n jml: 'jml-Deva-NP',\n jut: 'jut-Latn-DK',\n jv: 'jv-Latn-ID',\n jw: 'jw-Latn-ID',\n ka: 'ka-Geor-GE',\n kaa: 'kaa-Cyrl-UZ',\n kab: 'kab-Latn-DZ',\n kaj: 'kaj-Latn-NG',\n kam: 'kam-Latn-KE',\n kao: 'kao-Latn-ML',\n kbd: 'kbd-Cyrl-RU',\n kcg: 'kcg-Latn-NG',\n kck: 'kck-Latn-ZW',\n kde: 'kde-Latn-TZ',\n kdt: 'kdt-Thai-TH',\n kea: 'kea-Latn-CV',\n ken: 'ken-Latn-CM',\n kfo: 'kfo-Latn-CI',\n kfr: 'kfr-Deva-IN',\n kfy: 'kfy-Deva-IN',\n kg: 'kg-Latn-CD',\n kge: 'kge-Latn-ID',\n kgp: 'kgp-Latn-BR',\n kha: 'kha-Latn-IN',\n khb: 'khb-Talu-CN',\n khn: 'khn-Deva-IN',\n khq: 'khq-Latn-ML',\n kht: 'kht-Mymr-IN',\n khw: 'khw-Arab-PK',\n ki: 'ki-Latn-KE',\n kiu: 'kiu-Latn-TR',\n kj: 'kj-Latn-NA',\n kjg: 'kjg-Laoo-LA',\n kk: 'kk-Cyrl-KZ',\n 'kk-AF': 'kk-Arab-AF',\n 'kk-Arab': 'kk-Arab-CN',\n 'kk-CN': 'kk-Arab-CN',\n 'kk-IR': 'kk-Arab-IR',\n 'kk-MN': 'kk-Arab-MN',\n kkj: 'kkj-Latn-CM',\n kl: 'kl-Latn-GL',\n kln: 'kln-Latn-KE',\n km: 'km-Khmr-KH',\n kmb: 'kmb-Latn-AO',\n kn: 'kn-Knda-IN',\n ko: 'ko-Kore-KR',\n koi: 'koi-Cyrl-RU',\n kok: 'kok-Deva-IN',\n kos: 'kos-Latn-FM',\n kpe: 'kpe-Latn-LR',\n krc: 'krc-Cyrl-RU',\n kri: 'kri-Latn-SL',\n krj: 'krj-Latn-PH',\n krl: 'krl-Latn-RU',\n kru: 'kru-Deva-IN',\n ks: 'ks-Arab-IN',\n ksb: 'ksb-Latn-TZ',\n ksf: 'ksf-Latn-CM',\n ksh: 'ksh-Latn-DE',\n ku: 'ku-Latn-TR',\n 'ku-Arab': 'ku-Arab-IQ',\n 'ku-LB': 'ku-Arab-LB',\n kum: 'kum-Cyrl-RU',\n kv: 'kv-Cyrl-RU',\n kvr: 'kvr-Latn-ID',\n kvx: 'kvx-Arab-PK',\n kw: 'kw-Latn-GB',\n kxm: 'kxm-Thai-TH',\n kxp: 'kxp-Arab-PK',\n ky: 'ky-Cyrl-KG',\n 'ky-Arab': 'ky-Arab-CN',\n 'ky-CN': 'ky-Arab-CN',\n 'ky-Latn': 'ky-Latn-TR',\n 'ky-TR': 'ky-Latn-TR',\n la: 'la-Latn-VA',\n lab: 'lab-Lina-GR',\n lad: 'lad-Hebr-IL',\n lag: 'lag-Latn-TZ',\n lah: 'lah-Arab-PK',\n laj: 'laj-Latn-UG',\n lb: 'lb-Latn-LU',\n lbe: 'lbe-Cyrl-RU',\n lbw: 'lbw-Latn-ID',\n lcp: 'lcp-Thai-CN',\n lep: 'lep-Lepc-IN',\n lez: 'lez-Cyrl-RU',\n lg: 'lg-Latn-UG',\n li: 'li-Latn-NL',\n lif: 'lif-Deva-NP',\n 'lif-Limb': 'lif-Limb-IN',\n lij: 'lij-Latn-IT',\n lis: 'lis-Lisu-CN',\n ljp: 'ljp-Latn-ID',\n lki: 'lki-Arab-IR',\n lkt: 'lkt-Latn-US',\n lmn: 'lmn-Telu-IN',\n lmo: 'lmo-Latn-IT',\n ln: 'ln-Latn-CD',\n lo: 'lo-Laoo-LA',\n lol: 'lol-Latn-CD',\n loz: 'loz-Latn-ZM',\n lrc: 'lrc-Arab-IR',\n lt: 'lt-Latn-LT',\n ltg: 'ltg-Latn-LV',\n lu: 'lu-Latn-CD',\n lua: 'lua-Latn-CD',\n luo: 'luo-Latn-KE',\n luy: 'luy-Latn-KE',\n luz: 'luz-Arab-IR',\n lv: 'lv-Latn-LV',\n lwl: 'lwl-Thai-TH',\n lzh: 'lzh-Hans-CN',\n lzz: 'lzz-Latn-TR',\n mad: 'mad-Latn-ID',\n maf: 'maf-Latn-CM',\n mag: 'mag-Deva-IN',\n mai: 'mai-Deva-IN',\n mak: 'mak-Latn-ID',\n man: 'man-Latn-GM',\n 'man-GN': 'man-Nkoo-GN',\n 'man-Nkoo': 'man-Nkoo-GN',\n mas: 'mas-Latn-KE',\n maz: 'maz-Latn-MX',\n mdf: 'mdf-Cyrl-RU',\n mdh: 'mdh-Latn-PH',\n mdr: 'mdr-Latn-ID',\n men: 'men-Latn-SL',\n mer: 'mer-Latn-KE',\n mfa: 'mfa-Arab-TH',\n mfe: 'mfe-Latn-MU',\n mg: 'mg-Latn-MG',\n mgh: 'mgh-Latn-MZ',\n mgo: 'mgo-Latn-CM',\n mgp: 'mgp-Deva-NP',\n mgy: 'mgy-Latn-TZ',\n mh: 'mh-Latn-MH',\n mi: 'mi-Latn-NZ',\n min: 'min-Latn-ID',\n mk: 'mk-Cyrl-MK',\n ml: 'ml-Mlym-IN',\n mn: 'mn-Cyrl-MN',\n 'mn-CN': 'mn-Mong-CN',\n 'mn-Mong': 'mn-Mong-CN',\n mni: 'mni-Beng-IN',\n mnw: 'mnw-Mymr-MM',\n moe: 'moe-Latn-CA',\n moh: 'moh-Latn-CA',\n mos: 'mos-Latn-BF',\n mr: 'mr-Deva-IN',\n mrd: 'mrd-Deva-NP',\n mrj: 'mrj-Cyrl-RU',\n mru: 'mru-Mroo-BD',\n ms: 'ms-Latn-MY',\n 'ms-CC': 'ms-Arab-CC',\n 'ms-ID': 'ms-Arab-ID',\n mt: 'mt-Latn-MT',\n mtr: 'mtr-Deva-IN',\n mua: 'mua-Latn-CM',\n mvy: 'mvy-Arab-PK',\n mwk: 'mwk-Latn-ML',\n mwr: 'mwr-Deva-IN',\n mwv: 'mwv-Latn-ID',\n mxc: 'mxc-Latn-ZW',\n my: 'my-Mymr-MM',\n myv: 'myv-Cyrl-RU',\n myx: 'myx-Latn-UG',\n myz: 'myz-Mand-IR',\n mzn: 'mzn-Arab-IR',\n na: 'na-Latn-NR',\n nan: 'nan-Hans-CN',\n nap: 'nap-Latn-IT',\n naq: 'naq-Latn-NA',\n nb: 'nb-Latn-NO',\n nch: 'nch-Latn-MX',\n nd: 'nd-Latn-ZW',\n ndc: 'ndc-Latn-MZ',\n nds: 'nds-Latn-DE',\n ne: 'ne-Deva-NP',\n new: 'new-Deva-NP',\n ng: 'ng-Latn-NA',\n ngl: 'ngl-Latn-MZ',\n nhe: 'nhe-Latn-MX',\n nhw: 'nhw-Latn-MX',\n nij: 'nij-Latn-ID',\n niu: 'niu-Latn-NU',\n njo: 'njo-Latn-IN',\n nl: 'nl-Latn-NL',\n nmg: 'nmg-Latn-CM',\n nn: 'nn-Latn-NO',\n nnh: 'nnh-Latn-CM',\n no: 'no-Latn-NO',\n nod: 'nod-Lana-TH',\n noe: 'noe-Deva-IN',\n non: 'non-Runr-SE',\n nqo: 'nqo-Nkoo-GN',\n nr: 'nr-Latn-ZA',\n nsk: 'nsk-Cans-CA',\n nso: 'nso-Latn-ZA',\n nus: 'nus-Latn-SD',\n nv: 'nv-Latn-US',\n nxq: 'nxq-Latn-CN',\n ny: 'ny-Latn-MW',\n nym: 'nym-Latn-TZ',\n nyn: 'nyn-Latn-UG',\n oc: 'oc-Latn-FR',\n om: 'om-Latn-ET',\n or: 'or-Orya-IN',\n os: 'os-Cyrl-GE',\n otk: 'otk-Orkh-MN',\n pa: 'pa-Guru-IN',\n 'pa-Arab': 'pa-Arab-PK',\n 'pa-PK': 'pa-Arab-PK',\n pag: 'pag-Latn-PH',\n pal: 'pal-Phli-IR',\n 'pal-Phlp': 'pal-Phlp-CN',\n pam: 'pam-Latn-PH',\n pap: 'pap-Latn-AW',\n pau: 'pau-Latn-PW',\n pcd: 'pcd-Latn-FR',\n pcm: 'pcm-Latn-NG',\n pdc: 'pdc-Latn-US',\n pdt: 'pdt-Latn-CA',\n peo: 'peo-Xpeo-IR',\n pfl: 'pfl-Latn-DE',\n phn: 'phn-Phnx-LB',\n pka: 'pka-Brah-IN',\n pko: 'pko-Latn-KE',\n pl: 'pl-Latn-PL',\n pms: 'pms-Latn-IT',\n pnt: 'pnt-Grek-GR',\n pon: 'pon-Latn-FM',\n pra: 'pra-Khar-PK',\n prd: 'prd-Arab-IR',\n prg: 'prg-Latn-001',\n ps: 'ps-Arab-AF',\n pt: 'pt-Latn-BR',\n puu: 'puu-Latn-GA',\n qu: 'qu-Latn-PE',\n quc: 'quc-Latn-GT',\n qug: 'qug-Latn-EC',\n raj: 'raj-Latn-IN',\n rcf: 'rcf-Latn-RE',\n rej: 'rej-Latn-ID',\n rgn: 'rgn-Latn-IT',\n ria: 'ria-Latn-IN',\n rif: 'rif-Tfng-MA',\n 'rif-NL': 'rif-Latn-NL',\n rjs: 'rjs-Deva-NP',\n rkt: 'rkt-Beng-BD',\n rm: 'rm-Latn-CH',\n rmf: 'rmf-Latn-FI',\n rmo: 'rmo-Latn-CH',\n rmt: 'rmt-Arab-IR',\n rmu: 'rmu-Latn-SE',\n rn: 'rn-Latn-BI',\n rng: 'rng-Latn-MZ',\n ro: 'ro-Latn-RO',\n rob: 'rob-Latn-ID',\n rof: 'rof-Latn-TZ',\n rtm: 'rtm-Latn-FJ',\n ru: 'ru-Cyrl-RU',\n rue: 'rue-Cyrl-UA',\n rug: 'rug-Latn-SB',\n rw: 'rw-Latn-RW',\n rwk: 'rwk-Latn-TZ',\n ryu: 'ryu-Kana-JP',\n sa: 'sa-Deva-IN',\n saf: 'saf-Latn-GH',\n sah: 'sah-Cyrl-RU',\n saq: 'saq-Latn-KE',\n sas: 'sas-Latn-ID',\n sat: 'sat-Latn-IN',\n saz: 'saz-Saur-IN',\n sbp: 'sbp-Latn-TZ',\n sc: 'sc-Latn-IT',\n sck: 'sck-Deva-IN',\n scn: 'scn-Latn-IT',\n sco: 'sco-Latn-GB',\n scs: 'scs-Latn-CA',\n sd: 'sd-Arab-PK',\n 'sd-Deva': 'sd-Deva-IN',\n 'sd-Khoj': 'sd-Khoj-IN',\n 'sd-Sind': 'sd-Sind-IN',\n sdc: 'sdc-Latn-IT',\n se: 'se-Latn-NO',\n sef: 'sef-Latn-CI',\n seh: 'seh-Latn-MZ',\n sei: 'sei-Latn-MX',\n ses: 'ses-Latn-ML',\n sg: 'sg-Latn-CF',\n sga: 'sga-Ogam-IE',\n sgs: 'sgs-Latn-LT',\n shi: 'shi-Tfng-MA',\n shn: 'shn-Mymr-MM',\n si: 'si-Sinh-LK',\n sid: 'sid-Latn-ET',\n sk: 'sk-Latn-SK',\n skr: 'skr-Arab-PK',\n sl: 'sl-Latn-SI',\n sli: 'sli-Latn-PL',\n sly: 'sly-Latn-ID',\n sm: 'sm-Latn-WS',\n sma: 'sma-Latn-SE',\n smj: 'smj-Latn-SE',\n smn: 'smn-Latn-FI',\n smp: 'smp-Samr-IL',\n sms: 'sms-Latn-FI',\n sn: 'sn-Latn-ZW',\n snk: 'snk-Latn-ML',\n so: 'so-Latn-SO',\n sou: 'sou-Thai-TH',\n sq: 'sq-Latn-AL',\n sr: 'sr-Cyrl-RS',\n 'sr-ME': 'sr-Latn-ME',\n 'sr-RO': 'sr-Latn-RO',\n 'sr-RU': 'sr-Latn-RU',\n 'sr-TR': 'sr-Latn-TR',\n srb: 'srb-Sora-IN',\n srn: 'srn-Latn-SR',\n srr: 'srr-Latn-SN',\n srx: 'srx-Deva-IN',\n ss: 'ss-Latn-ZA',\n ssy: 'ssy-Latn-ER',\n st: 'st-Latn-ZA',\n stq: 'stq-Latn-DE',\n su: 'su-Latn-ID',\n suk: 'suk-Latn-TZ',\n sus: 'sus-Latn-GN',\n sv: 'sv-Latn-SE',\n sw: 'sw-Latn-TZ',\n swb: 'swb-Arab-YT',\n swc: 'swc-Latn-CD',\n swv: 'swv-Deva-IN',\n sxn: 'sxn-Latn-ID',\n syl: 'syl-Beng-BD',\n syr: 'syr-Syrc-IQ',\n szl: 'szl-Latn-PL',\n ta: 'ta-Taml-IN',\n taj: 'taj-Deva-NP',\n tbw: 'tbw-Latn-PH',\n tcy: 'tcy-Knda-IN',\n tdd: 'tdd-Tale-CN',\n tdg: 'tdg-Deva-NP',\n tdh: 'tdh-Deva-NP',\n te: 'te-Telu-IN',\n tem: 'tem-Latn-SL',\n teo: 'teo-Latn-UG',\n tet: 'tet-Latn-TL',\n tg: 'tg-Cyrl-TJ',\n 'tg-Arab': 'tg-Arab-PK',\n 'tg-PK': 'tg-Arab-PK',\n th: 'th-Thai-TH',\n thl: 'thl-Deva-NP',\n thq: 'thq-Deva-NP',\n thr: 'thr-Deva-NP',\n ti: 'ti-Ethi-ET',\n tig: 'tig-Ethi-ER',\n tiv: 'tiv-Latn-NG',\n tk: 'tk-Latn-TM',\n tkl: 'tkl-Latn-TK',\n tkr: 'tkr-Latn-AZ',\n tkt: 'tkt-Deva-NP',\n tl: 'tl-Latn-PH',\n tly: 'tly-Latn-AZ',\n tmh: 'tmh-Latn-NE',\n tn: 'tn-Latn-ZA',\n to: 'to-Latn-TO',\n tpi: 'tpi-Latn-PG',\n tr: 'tr-Latn-TR',\n tru: 'tru-Latn-TR',\n trv: 'trv-Latn-TW',\n ts: 'ts-Latn-ZA',\n tsd: 'tsd-Grek-GR',\n tsf: 'tsf-Deva-NP',\n tsg: 'tsg-Latn-PH',\n tsj: 'tsj-Tibt-BT',\n tt: 'tt-Cyrl-RU',\n ttj: 'ttj-Latn-UG',\n tts: 'tts-Thai-TH',\n ttt: 'ttt-Latn-AZ',\n tum: 'tum-Latn-MW',\n tvl: 'tvl-Latn-TV',\n twq: 'twq-Latn-NE',\n ty: 'ty-Latn-PF',\n tyv: 'tyv-Cyrl-RU',\n tzm: 'tzm-Latn-MA',\n udm: 'udm-Cyrl-RU',\n ug: 'ug-Arab-CN',\n 'ug-Cyrl': 'ug-Cyrl-KZ',\n 'ug-KZ': 'ug-Cyrl-KZ',\n 'ug-MN': 'ug-Cyrl-MN',\n uga: 'uga-Ugar-SY',\n uk: 'uk-Cyrl-UA',\n uli: 'uli-Latn-FM',\n umb: 'umb-Latn-AO',\n und: 'en-Latn-US',\n 'und-002': 'en-Latn-NG',\n 'und-003': 'en-Latn-US',\n 'und-005': 'pt-Latn-BR',\n 'und-009': 'en-Latn-AU',\n 'und-011': 'en-Latn-NG',\n 'und-013': 'es-Latn-MX',\n 'und-014': 'en-Latn-KE',\n 'und-015': 'ar-Arab-EG',\n 'und-017': 'sw-Latn-CD',\n 'und-018': 'en-Latn-ZA',\n 'und-019': 'en-Latn-US',\n 'und-021': 'en-Latn-US',\n 'und-029': 'es-Latn-CU',\n 'und-030': 'zh-Hans-CN',\n 'und-034': 'hi-Deva-IN',\n 'und-035': 'id-Latn-ID',\n 'und-039': 'it-Latn-IT',\n 'und-053': 'en-Latn-AU',\n 'und-054': 'en-Latn-PG',\n 'und-057': 'en-Latn-KI',\n 'und-061': 'sm-Latn-WS',\n 'und-142': 'zh-Hans-CN',\n 'und-143': 'uz-Latn-UZ',\n 'und-145': 'ar-Arab-SA',\n 'und-150': 'ru-Cyrl-RU',\n 'und-151': 'ru-Cyrl-RU',\n 'und-154': 'en-Latn-GB',\n 'und-155': 'de-Latn-DE',\n 'und-419': 'es-Latn-419',\n 'und-AD': 'ca-Latn-AD',\n 'und-AE': 'ar-Arab-AE',\n 'und-AF': 'fa-Arab-AF',\n 'und-AL': 'sq-Latn-AL',\n 'und-AM': 'hy-Armn-AM',\n 'und-AO': 'pt-Latn-AO',\n 'und-AQ': 'und-Latn-AQ',\n 'und-AR': 'es-Latn-AR',\n 'und-AS': 'sm-Latn-AS',\n 'und-AT': 'de-Latn-AT',\n 'und-AW': 'nl-Latn-AW',\n 'und-AX': 'sv-Latn-AX',\n 'und-AZ': 'az-Latn-AZ',\n 'und-Aghb': 'lez-Aghb-RU',\n 'und-Arab': 'ar-Arab-EG',\n 'und-Arab-CC': 'ms-Arab-CC',\n 'und-Arab-CN': 'ug-Arab-CN',\n 'und-Arab-GB': 'ks-Arab-GB',\n 'und-Arab-ID': 'ms-Arab-ID',\n 'und-Arab-IN': 'ur-Arab-IN',\n 'und-Arab-KH': 'cja-Arab-KH',\n 'und-Arab-MN': 'kk-Arab-MN',\n 'und-Arab-MU': 'ur-Arab-MU',\n 'und-Arab-NG': 'ha-Arab-NG',\n 'und-Arab-PK': 'ur-Arab-PK',\n 'und-Arab-TH': 'mfa-Arab-TH',\n 'und-Arab-TJ': 'fa-Arab-TJ',\n 'und-Arab-YT': 'swb-Arab-YT',\n 'und-Armi': 'arc-Armi-IR',\n 'und-Armn': 'hy-Armn-AM',\n 'und-Avst': 'ae-Avst-IR',\n 'und-BA': 'bs-Latn-BA',\n 'und-BD': 'bn-Beng-BD',\n 'und-BE': 'nl-Latn-BE',\n 'und-BF': 'fr-Latn-BF',\n 'und-BG': 'bg-Cyrl-BG',\n 'und-BH': 'ar-Arab-BH',\n 'und-BI': 'rn-Latn-BI',\n 'und-BJ': 'fr-Latn-BJ',\n 'und-BL': 'fr-Latn-BL',\n 'und-BN': 'ms-Latn-BN',\n 'und-BO': 'es-Latn-BO',\n 'und-BQ': 'pap-Latn-BQ',\n 'und-BR': 'pt-Latn-BR',\n 'und-BT': 'dz-Tibt-BT',\n 'und-BV': 'und-Latn-BV',\n 'und-BY': 'be-Cyrl-BY',\n 'und-Bali': 'ban-Bali-ID',\n 'und-Bamu': 'bax-Bamu-CM',\n 'und-Bass': 'bsq-Bass-LR',\n 'und-Batk': 'bbc-Batk-ID',\n 'und-Beng': 'bn-Beng-BD',\n 'und-Bopo': 'zh-Bopo-TW',\n 'und-Brah': 'pka-Brah-IN',\n 'und-Brai': 'fr-Brai-FR',\n 'und-Bugi': 'bug-Bugi-ID',\n 'und-Buhd': 'bku-Buhd-PH',\n 'und-CD': 'sw-Latn-CD',\n 'und-CF': 'fr-Latn-CF',\n 'und-CG': 'fr-Latn-CG',\n 'und-CH': 'de-Latn-CH',\n 'und-CI': 'fr-Latn-CI',\n 'und-CL': 'es-Latn-CL',\n 'und-CM': 'fr-Latn-CM',\n 'und-CN': 'zh-Hans-CN',\n 'und-CO': 'es-Latn-CO',\n 'und-CP': 'und-Latn-CP',\n 'und-CR': 'es-Latn-CR',\n 'und-CU': 'es-Latn-CU',\n 'und-CV': 'pt-Latn-CV',\n 'und-CW': 'pap-Latn-CW',\n 'und-CY': 'el-Grek-CY',\n 'und-CZ': 'cs-Latn-CZ',\n 'und-Cakm': 'ccp-Cakm-BD',\n 'und-Cans': 'cr-Cans-CA',\n 'und-Cari': 'xcr-Cari-TR',\n 'und-Cham': 'cjm-Cham-VN',\n 'und-Cher': 'chr-Cher-US',\n 'und-Copt': 'cop-Copt-EG',\n 'und-Cprt': 'grc-Cprt-CY',\n 'und-Cyrl': 'ru-Cyrl-RU',\n 'und-Cyrl-AL': 'mk-Cyrl-AL',\n 'und-Cyrl-BA': 'sr-Cyrl-BA',\n 'und-Cyrl-GE': 'ab-Cyrl-GE',\n 'und-Cyrl-GR': 'mk-Cyrl-GR',\n 'und-Cyrl-MD': 'uk-Cyrl-MD',\n 'und-Cyrl-PL': 'be-Cyrl-PL',\n 'und-Cyrl-RO': 'bg-Cyrl-RO',\n 'und-Cyrl-SK': 'uk-Cyrl-SK',\n 'und-Cyrl-TR': 'kbd-Cyrl-TR',\n 'und-Cyrl-XK': 'sr-Cyrl-XK',\n 'und-DE': 'de-Latn-DE',\n 'und-DJ': 'aa-Latn-DJ',\n 'und-DK': 'da-Latn-DK',\n 'und-DO': 'es-Latn-DO',\n 'und-DZ': 'ar-Arab-DZ',\n 'und-Deva': 'hi-Deva-IN',\n 'und-Deva-BT': 'ne-Deva-BT',\n 'und-Deva-FJ': 'hif-Deva-FJ',\n 'und-Deva-MU': 'bho-Deva-MU',\n 'und-Deva-PK': 'btv-Deva-PK',\n 'und-Dupl': 'fr-Dupl-FR',\n 'und-EA': 'es-Latn-EA',\n 'und-EC': 'es-Latn-EC',\n 'und-EE': 'et-Latn-EE',\n 'und-EG': 'ar-Arab-EG',\n 'und-EH': 'ar-Arab-EH',\n 'und-ER': 'ti-Ethi-ER',\n 'und-ES': 'es-Latn-ES',\n 'und-ET': 'am-Ethi-ET',\n 'und-EU': 'en-Latn-GB',\n 'und-Egyp': 'egy-Egyp-EG',\n 'und-Elba': 'sq-Elba-AL',\n 'und-Ethi': 'am-Ethi-ET',\n 'und-FI': 'fi-Latn-FI',\n 'und-FM': 'chk-Latn-FM',\n 'und-FO': 'fo-Latn-FO',\n 'und-FR': 'fr-Latn-FR',\n 'und-GA': 'fr-Latn-GA',\n 'und-GE': 'ka-Geor-GE',\n 'und-GF': 'fr-Latn-GF',\n 'und-GH': 'ak-Latn-GH',\n 'und-GL': 'kl-Latn-GL',\n 'und-GN': 'fr-Latn-GN',\n 'und-GP': 'fr-Latn-GP',\n 'und-GQ': 'es-Latn-GQ',\n 'und-GR': 'el-Grek-GR',\n 'und-GS': 'und-Latn-GS',\n 'und-GT': 'es-Latn-GT',\n 'und-GW': 'pt-Latn-GW',\n 'und-Geor': 'ka-Geor-GE',\n 'und-Glag': 'cu-Glag-BG',\n 'und-Goth': 'got-Goth-UA',\n 'und-Gran': 'sa-Gran-IN',\n 'und-Grek': 'el-Grek-GR',\n 'und-Grek-TR': 'bgx-Grek-TR',\n 'und-Gujr': 'gu-Gujr-IN',\n 'und-Guru': 'pa-Guru-IN',\n 'und-HK': 'zh-Hant-HK',\n 'und-HM': 'und-Latn-HM',\n 'und-HN': 'es-Latn-HN',\n 'und-HR': 'hr-Latn-HR',\n 'und-HT': 'ht-Latn-HT',\n 'und-HU': 'hu-Latn-HU',\n 'und-Hang': 'ko-Hang-KR',\n 'und-Hani': 'zh-Hani-CN',\n 'und-Hano': 'hnn-Hano-PH',\n 'und-Hans': 'zh-Hans-CN',\n 'und-Hant': 'zh-Hant-TW',\n 'und-Hebr': 'he-Hebr-IL',\n 'und-Hebr-CA': 'yi-Hebr-CA',\n 'und-Hebr-GB': 'yi-Hebr-GB',\n 'und-Hebr-SE': 'yi-Hebr-SE',\n 'und-Hebr-UA': 'yi-Hebr-UA',\n 'und-Hebr-US': 'yi-Hebr-US',\n 'und-Hira': 'ja-Hira-JP',\n 'und-Hmng': 'hnj-Hmng-LA',\n 'und-IC': 'es-Latn-IC',\n 'und-ID': 'id-Latn-ID',\n 'und-IL': 'he-Hebr-IL',\n 'und-IN': 'hi-Deva-IN',\n 'und-IQ': 'ar-Arab-IQ',\n 'und-IR': 'fa-Arab-IR',\n 'und-IS': 'is-Latn-IS',\n 'und-IT': 'it-Latn-IT',\n 'und-Ital': 'ett-Ital-IT',\n 'und-JO': 'ar-Arab-JO',\n 'und-JP': 'ja-Jpan-JP',\n 'und-Java': 'jv-Java-ID',\n 'und-Jpan': 'ja-Jpan-JP',\n 'und-KG': 'ky-Cyrl-KG',\n 'und-KH': 'km-Khmr-KH',\n 'und-KM': 'ar-Arab-KM',\n 'und-KP': 'ko-Kore-KP',\n 'und-KR': 'ko-Kore-KR',\n 'und-KW': 'ar-Arab-KW',\n 'und-KZ': 'ru-Cyrl-KZ',\n 'und-Kali': 'eky-Kali-MM',\n 'und-Kana': 'ja-Kana-JP',\n 'und-Khar': 'pra-Khar-PK',\n 'und-Khmr': 'km-Khmr-KH',\n 'und-Khoj': 'sd-Khoj-IN',\n 'und-Knda': 'kn-Knda-IN',\n 'und-Kore': 'ko-Kore-KR',\n 'und-Kthi': 'bh-Kthi-IN',\n 'und-LA': 'lo-Laoo-LA',\n 'und-LB': 'ar-Arab-LB',\n 'und-LI': 'de-Latn-LI',\n 'und-LK': 'si-Sinh-LK',\n 'und-LS': 'st-Latn-LS',\n 'und-LT': 'lt-Latn-LT',\n 'und-LU': 'fr-Latn-LU',\n 'und-LV': 'lv-Latn-LV',\n 'und-LY': 'ar-Arab-LY',\n 'und-Lana': 'nod-Lana-TH',\n 'und-Laoo': 'lo-Laoo-LA',\n 'und-Latn-AF': 'tk-Latn-AF',\n 'und-Latn-AM': 'ku-Latn-AM',\n 'und-Latn-BG': 'tr-Latn-BG',\n 'und-Latn-CN': 'za-Latn-CN',\n 'und-Latn-CY': 'tr-Latn-CY',\n 'und-Latn-DZ': 'fr-Latn-DZ',\n 'und-Latn-ET': 'en-Latn-ET',\n 'und-Latn-GE': 'ku-Latn-GE',\n 'und-Latn-GR': 'tr-Latn-GR',\n 'und-Latn-IL': 'ro-Latn-IL',\n 'und-Latn-IR': 'tk-Latn-IR',\n 'und-Latn-KM': 'fr-Latn-KM',\n 'und-Latn-KZ': 'de-Latn-KZ',\n 'und-Latn-LB': 'fr-Latn-LB',\n 'und-Latn-MA': 'fr-Latn-MA',\n 'und-Latn-MK': 'sq-Latn-MK',\n 'und-Latn-MO': 'pt-Latn-MO',\n 'und-Latn-MR': 'fr-Latn-MR',\n 'und-Latn-RU': 'krl-Latn-RU',\n 'und-Latn-SY': 'fr-Latn-SY',\n 'und-Latn-TN': 'fr-Latn-TN',\n 'und-Latn-TW': 'trv-Latn-TW',\n 'und-Latn-UA': 'pl-Latn-UA',\n 'und-Lepc': 'lep-Lepc-IN',\n 'und-Limb': 'lif-Limb-IN',\n 'und-Lina': 'lab-Lina-GR',\n 'und-Linb': 'grc-Linb-GR',\n 'und-Lisu': 'lis-Lisu-CN',\n 'und-Lyci': 'xlc-Lyci-TR',\n 'und-Lydi': 'xld-Lydi-TR',\n 'und-MA': 'ar-Arab-MA',\n 'und-MC': 'fr-Latn-MC',\n 'und-MD': 'ro-Latn-MD',\n 'und-ME': 'sr-Latn-ME',\n 'und-MF': 'fr-Latn-MF',\n 'und-MG': 'mg-Latn-MG',\n 'und-MK': 'mk-Cyrl-MK',\n 'und-ML': 'bm-Latn-ML',\n 'und-MM': 'my-Mymr-MM',\n 'und-MN': 'mn-Cyrl-MN',\n 'und-MO': 'zh-Hant-MO',\n 'und-MQ': 'fr-Latn-MQ',\n 'und-MR': 'ar-Arab-MR',\n 'und-MT': 'mt-Latn-MT',\n 'und-MU': 'mfe-Latn-MU',\n 'und-MV': 'dv-Thaa-MV',\n 'und-MX': 'es-Latn-MX',\n 'und-MY': 'ms-Latn-MY',\n 'und-MZ': 'pt-Latn-MZ',\n 'und-Mahj': 'hi-Mahj-IN',\n 'und-Mand': 'myz-Mand-IR',\n 'und-Mani': 'xmn-Mani-CN',\n 'und-Mend': 'men-Mend-SL',\n 'und-Merc': 'xmr-Merc-SD',\n 'und-Mero': 'xmr-Mero-SD',\n 'und-Mlym': 'ml-Mlym-IN',\n 'und-Modi': 'mr-Modi-IN',\n 'und-Mong': 'mn-Mong-CN',\n 'und-Mroo': 'mru-Mroo-BD',\n 'und-Mtei': 'mni-Mtei-IN',\n 'und-Mymr': 'my-Mymr-MM',\n 'und-Mymr-IN': 'kht-Mymr-IN',\n 'und-Mymr-TH': 'mnw-Mymr-TH',\n 'und-NA': 'af-Latn-NA',\n 'und-NC': 'fr-Latn-NC',\n 'und-NE': 'ha-Latn-NE',\n 'und-NI': 'es-Latn-NI',\n 'und-NL': 'nl-Latn-NL',\n 'und-NO': 'nb-Latn-NO',\n 'und-NP': 'ne-Deva-NP',\n 'und-Narb': 'xna-Narb-SA',\n 'und-Nbat': 'arc-Nbat-JO',\n 'und-Nkoo': 'man-Nkoo-GN',\n 'und-OM': 'ar-Arab-OM',\n 'und-Ogam': 'sga-Ogam-IE',\n 'und-Olck': 'sat-Olck-IN',\n 'und-Orkh': 'otk-Orkh-MN',\n 'und-Orya': 'or-Orya-IN',\n 'und-Osma': 'so-Osma-SO',\n 'und-PA': 'es-Latn-PA',\n 'und-PE': 'es-Latn-PE',\n 'und-PF': 'fr-Latn-PF',\n 'und-PG': 'tpi-Latn-PG',\n 'und-PH': 'fil-Latn-PH',\n 'und-PK': 'ur-Arab-PK',\n 'und-PL': 'pl-Latn-PL',\n 'und-PM': 'fr-Latn-PM',\n 'und-PR': 'es-Latn-PR',\n 'und-PS': 'ar-Arab-PS',\n 'und-PT': 'pt-Latn-PT',\n 'und-PW': 'pau-Latn-PW',\n 'und-PY': 'gn-Latn-PY',\n 'und-Palm': 'arc-Palm-SY',\n 'und-Pauc': 'ctd-Pauc-MM',\n 'und-Perm': 'kv-Perm-RU',\n 'und-Phag': 'lzh-Phag-CN',\n 'und-Phli': 'pal-Phli-IR',\n 'und-Phlp': 'pal-Phlp-CN',\n 'und-Phnx': 'phn-Phnx-LB',\n 'und-Plrd': 'hmd-Plrd-CN',\n 'und-Prti': 'xpr-Prti-IR',\n 'und-QA': 'ar-Arab-QA',\n 'und-QO': 'en-Latn-IO',\n 'und-RE': 'fr-Latn-RE',\n 'und-RO': 'ro-Latn-RO',\n 'und-RS': 'sr-Cyrl-RS',\n 'und-RU': 'ru-Cyrl-RU',\n 'und-RW': 'rw-Latn-RW',\n 'und-Rjng': 'rej-Rjng-ID',\n 'und-Runr': 'non-Runr-SE',\n 'und-SA': 'ar-Arab-SA',\n 'und-SC': 'fr-Latn-SC',\n 'und-SD': 'ar-Arab-SD',\n 'und-SE': 'sv-Latn-SE',\n 'und-SI': 'sl-Latn-SI',\n 'und-SJ': 'nb-Latn-SJ',\n 'und-SK': 'sk-Latn-SK',\n 'und-SM': 'it-Latn-SM',\n 'und-SN': 'fr-Latn-SN',\n 'und-SO': 'so-Latn-SO',\n 'und-SR': 'nl-Latn-SR',\n 'und-ST': 'pt-Latn-ST',\n 'und-SV': 'es-Latn-SV',\n 'und-SY': 'ar-Arab-SY',\n 'und-Samr': 'smp-Samr-IL',\n 'und-Sarb': 'xsa-Sarb-YE',\n 'und-Saur': 'saz-Saur-IN',\n 'und-Shaw': 'en-Shaw-GB',\n 'und-Shrd': 'sa-Shrd-IN',\n 'und-Sidd': 'sa-Sidd-IN',\n 'und-Sind': 'sd-Sind-IN',\n 'und-Sinh': 'si-Sinh-LK',\n 'und-Sora': 'srb-Sora-IN',\n 'und-Sund': 'su-Sund-ID',\n 'und-Sylo': 'syl-Sylo-BD',\n 'und-Syrc': 'syr-Syrc-IQ',\n 'und-TD': 'fr-Latn-TD',\n 'und-TF': 'fr-Latn-TF',\n 'und-TG': 'fr-Latn-TG',\n 'und-TH': 'th-Thai-TH',\n 'und-TJ': 'tg-Cyrl-TJ',\n 'und-TK': 'tkl-Latn-TK',\n 'und-TL': 'pt-Latn-TL',\n 'und-TM': 'tk-Latn-TM',\n 'und-TN': 'ar-Arab-TN',\n 'und-TO': 'to-Latn-TO',\n 'und-TR': 'tr-Latn-TR',\n 'und-TV': 'tvl-Latn-TV',\n 'und-TW': 'zh-Hant-TW',\n 'und-TZ': 'sw-Latn-TZ',\n 'und-Tagb': 'tbw-Tagb-PH',\n 'und-Takr': 'doi-Takr-IN',\n 'und-Tale': 'tdd-Tale-CN',\n 'und-Talu': 'khb-Talu-CN',\n 'und-Taml': 'ta-Taml-IN',\n 'und-Tavt': 'blt-Tavt-VN',\n 'und-Telu': 'te-Telu-IN',\n 'und-Tfng': 'zgh-Tfng-MA',\n 'und-Tglg': 'fil-Tglg-PH',\n 'und-Thaa': 'dv-Thaa-MV',\n 'und-Thai': 'th-Thai-TH',\n 'und-Thai-CN': 'lcp-Thai-CN',\n 'und-Thai-KH': 'kdt-Thai-KH',\n 'und-Thai-LA': 'kdt-Thai-LA',\n 'und-Tibt': 'bo-Tibt-CN',\n 'und-Tirh': 'mai-Tirh-IN',\n 'und-UA': 'uk-Cyrl-UA',\n 'und-UG': 'sw-Latn-UG',\n 'und-UY': 'es-Latn-UY',\n 'und-UZ': 'uz-Latn-UZ',\n 'und-Ugar': 'uga-Ugar-SY',\n 'und-VA': 'it-Latn-VA',\n 'und-VE': 'es-Latn-VE',\n 'und-VN': 'vi-Latn-VN',\n 'und-VU': 'bi-Latn-VU',\n 'und-Vaii': 'vai-Vaii-LR',\n 'und-WF': 'fr-Latn-WF',\n 'und-WS': 'sm-Latn-WS',\n 'und-Wara': 'hoc-Wara-IN',\n 'und-XK': 'sq-Latn-XK',\n 'und-Xpeo': 'peo-Xpeo-IR',\n 'und-Xsux': 'akk-Xsux-IQ',\n 'und-YE': 'ar-Arab-YE',\n 'und-YT': 'fr-Latn-YT',\n 'und-Yiii': 'ii-Yiii-CN',\n unr: 'unr-Beng-IN',\n 'unr-Deva': 'unr-Deva-NP',\n 'unr-NP': 'unr-Deva-NP',\n unx: 'unx-Beng-IN',\n ur: 'ur-Arab-PK',\n uz: 'uz-Latn-UZ',\n 'uz-AF': 'uz-Arab-AF',\n 'uz-Arab': 'uz-Arab-AF',\n 'uz-CN': 'uz-Cyrl-CN',\n vai: 'vai-Vaii-LR',\n ve: 've-Latn-ZA',\n vec: 'vec-Latn-IT',\n vep: 'vep-Latn-RU',\n vi: 'vi-Latn-VN',\n vic: 'vic-Latn-SX',\n vls: 'vls-Latn-BE',\n vmf: 'vmf-Latn-DE',\n vmw: 'vmw-Latn-MZ',\n vo: 'vo-Latn-001',\n vro: 'vro-Latn-EE',\n vun: 'vun-Latn-TZ',\n wa: 'wa-Latn-BE',\n wae: 'wae-Latn-CH',\n wal: 'wal-Ethi-ET',\n war: 'war-Latn-PH',\n wbq: 'wbq-Telu-IN',\n wbr: 'wbr-Deva-IN',\n wls: 'wls-Latn-WF',\n wo: 'wo-Latn-SN',\n wtm: 'wtm-Deva-IN',\n wuu: 'wuu-Hans-CN',\n xav: 'xav-Latn-BR',\n xcr: 'xcr-Cari-TR',\n xh: 'xh-Latn-ZA',\n xlc: 'xlc-Lyci-TR',\n xld: 'xld-Lydi-TR',\n xmf: 'xmf-Geor-GE',\n xmn: 'xmn-Mani-CN',\n xmr: 'xmr-Merc-SD',\n xna: 'xna-Narb-SA',\n xnr: 'xnr-Deva-IN',\n xog: 'xog-Latn-UG',\n xpr: 'xpr-Prti-IR',\n xsa: 'xsa-Sarb-YE',\n xsr: 'xsr-Deva-NP',\n yao: 'yao-Latn-MZ',\n yap: 'yap-Latn-FM',\n yav: 'yav-Latn-CM',\n ybb: 'ybb-Latn-CM',\n yi: 'yi-Hebr-001',\n yo: 'yo-Latn-NG',\n yrl: 'yrl-Latn-BR',\n yua: 'yua-Latn-MX',\n za: 'za-Latn-CN',\n zdj: 'zdj-Arab-KM',\n zea: 'zea-Latn-NL',\n zgh: 'zgh-Tfng-MA',\n zh: 'zh-Hans-CN',\n 'zh-AU': 'zh-Hant-AU',\n 'zh-BN': 'zh-Hant-BN',\n 'zh-Bopo': 'zh-Bopo-TW',\n 'zh-GB': 'zh-Hant-GB',\n 'zh-GF': 'zh-Hant-GF',\n 'zh-HK': 'zh-Hant-HK',\n 'zh-Hant': 'zh-Hant-TW',\n 'zh-ID': 'zh-Hant-ID',\n 'zh-MO': 'zh-Hant-MO',\n 'zh-MY': 'zh-Hant-MY',\n 'zh-PA': 'zh-Hant-PA',\n 'zh-PF': 'zh-Hant-PF',\n 'zh-PH': 'zh-Hant-PH',\n 'zh-SR': 'zh-Hant-SR',\n 'zh-TH': 'zh-Hant-TH',\n 'zh-TW': 'zh-Hant-TW',\n 'zh-US': 'zh-Hant-US',\n 'zh-VN': 'zh-Hant-VN',\n zmi: 'zmi-Latn-MY',\n zu: 'zu-Latn-ZA',\n zza: 'zza-Latn-TR',\n },\n numberingSystems: {\n arab: {\n _digits: '٠١٢٣٤٥٦٧٨٩',\n _type: 'numeric',\n },\n arabext: {\n _digits: '۰۱۲۳۴۵۶۷۸۹',\n _type: 'numeric',\n },\n bali: {\n _digits: '᭐᭑᭒᭓᭔᭕᭖᭗᭘᭙',\n _type: 'numeric',\n },\n beng: {\n _digits: '০১২৩৪৫৬৭৮৯',\n _type: 'numeric',\n },\n brah: {\n _digits: '𑁦𑁧𑁨𑁩𑁪𑁫𑁬𑁭𑁮𑁯',\n _type: 'numeric',\n },\n cakm: {\n _digits: '𑄶𑄷𑄸𑄹𑄺𑄻𑄼𑄽𑄾𑄿',\n _type: 'numeric',\n },\n cham: {\n _digits: '꩐꩑꩒꩓꩔꩕꩖꩗꩘꩙',\n _type: 'numeric',\n },\n deva: {\n _digits: '०१२३४५६७८९',\n _type: 'numeric',\n },\n fullwide: {\n _digits: '0123456789',\n _type: 'numeric',\n },\n gujr: {\n _digits: '૦૧૨૩૪૫૬૭૮૯',\n _type: 'numeric',\n },\n guru: {\n _digits: '੦੧੨੩੪੫੬੭੮੯',\n _type: 'numeric',\n },\n hanidec: {\n _digits: '〇一二三四五六七八九',\n _type: 'numeric',\n },\n java: {\n _digits: '꧐꧑꧒꧓꧔꧕꧖꧗꧘꧙',\n _type: 'numeric',\n },\n kali: {\n _digits: '꤀꤁꤂꤃꤄꤅꤆꤇꤈꤉',\n _type: 'numeric',\n },\n khmr: {\n _digits: '០១២៣៤៥៦៧៨៩',\n _type: 'numeric',\n },\n knda: {\n _digits: '೦೧೨೩೪೫೬೭೮೯',\n _type: 'numeric',\n },\n lana: {\n _digits: '᪀᪁᪂᪃᪄᪅᪆᪇᪈᪉',\n _type: 'numeric',\n },\n lanatham: {\n _digits: '᪐᪑᪒᪓᪔᪕᪖᪗᪘᪙',\n _type: 'numeric',\n },\n laoo: {\n _digits: '໐໑໒໓໔໕໖໗໘໙',\n _type: 'numeric',\n },\n latn: {\n _digits: '0123456789',\n _type: 'numeric',\n },\n lepc: {\n _digits: '᱀᱁᱂᱃᱄᱅᱆᱇᱈᱉',\n _type: 'numeric',\n },\n limb: {\n _digits: '᥆᥇᥈᥉᥊᥋᥌᥍᥎᥏',\n _type: 'numeric',\n },\n mlym: {\n _digits: '൦൧൨൩൪൫൬൭൮൯',\n _type: 'numeric',\n },\n mong: {\n _digits: '᠐᠑᠒᠓᠔᠕᠖᠗᠘᠙',\n _type: 'numeric',\n },\n mtei: {\n _digits: '꯰꯱꯲꯳꯴꯵꯶꯷꯸꯹',\n _type: 'numeric',\n },\n mymr: {\n _digits: '၀၁၂၃၄၅၆၇၈၉',\n _type: 'numeric',\n },\n mymrshan: {\n _digits: '႐႑႒႓႔႕႖႗႘႙',\n _type: 'numeric',\n },\n nkoo: {\n _digits: '߀߁߂߃߄߅߆߇߈߉',\n _type: 'numeric',\n },\n olck: {\n _digits: '᱐᱑᱒᱓᱔᱕᱖᱗᱘᱙',\n _type: 'numeric',\n },\n orya: {\n _digits: '୦୧୨୩୪୫୬୭୮୯',\n _type: 'numeric',\n },\n osma: {\n _digits: '𐒠𐒡𐒢𐒣𐒤𐒥𐒦𐒧𐒨𐒩',\n _type: 'numeric',\n },\n saur: {\n _digits: '꣐꣑꣒꣓꣔꣕꣖꣗꣘꣙',\n _type: 'numeric',\n },\n shrd: {\n _digits: '𑇐𑇑𑇒𑇓𑇔𑇕𑇖𑇗𑇘𑇙',\n _type: 'numeric',\n },\n sora: {\n _digits: '𑃰𑃱𑃲𑃳𑃴𑃵𑃶𑃷𑃸𑃹',\n _type: 'numeric',\n },\n sund: {\n _digits: '᮰᮱᮲᮳᮴᮵᮶᮷᮸᮹',\n _type: 'numeric',\n },\n takr: {\n _digits: '𑛀𑛁𑛂𑛃𑛄𑛅𑛆𑛇𑛈𑛉',\n _type: 'numeric',\n },\n talu: {\n _digits: '᧐᧑᧒᧓᧔᧕᧖᧗᧘᧙',\n _type: 'numeric',\n },\n tamldec: {\n _digits: '௦௧௨௩௪௫௬௭௮௯',\n _type: 'numeric',\n },\n telu: {\n _digits: '౦౧౨౩౪౫౬౭౮౯',\n _type: 'numeric',\n },\n thai: {\n _digits: '๐๑๒๓๔๕๖๗๘๙',\n _type: 'numeric',\n },\n tibt: {\n _digits: '༠༡༢༣༤༥༦༧༨༩',\n _type: 'numeric',\n },\n vaii: {\n _digits: '꘠꘡꘢꘣꘤꘥꘦꘧꘨꘩',\n _type: 'numeric',\n },\n armn: {\n _type: 'algorithmic',\n _rules: 'armenian-upper',\n },\n armnlow: {\n _type: 'algorithmic',\n _rules: 'armenian-lower',\n },\n ethi: {\n _type: 'algorithmic',\n _rules: 'ethiopic',\n },\n geor: {\n _type: 'algorithmic',\n _rules: 'georgian',\n },\n grek: {\n _type: 'algorithmic',\n _rules: 'greek-upper',\n },\n greklow: {\n _type: 'algorithmic',\n _rules: 'greek-lower',\n },\n hanidays: {\n _type: 'algorithmic',\n _rules: 'zh/SpelloutRules/spellout-numbering-days',\n },\n hans: {\n _type: 'algorithmic',\n _rules: 'zh/SpelloutRules/spellout-cardinal',\n },\n hansfin: {\n _type: 'algorithmic',\n _rules: 'zh/SpelloutRules/spellout-cardinal-financial',\n },\n hant: {\n _type: 'algorithmic',\n _rules: 'zh_Hant/SpelloutRules/spellout-cardinal',\n },\n hantfin: {\n _type: 'algorithmic',\n _rules: 'zh_Hant/SpelloutRules/spellout-cardinal-financial',\n },\n hebr: {\n _type: 'algorithmic',\n _rules: 'hebrew',\n },\n jpan: {\n _type: 'algorithmic',\n _rules: 'ja/SpelloutRules/spellout-cardinal',\n },\n jpanfin: {\n _type: 'algorithmic',\n _rules: 'ja/SpelloutRules/spellout-cardinal-financial',\n },\n roman: {\n _type: 'algorithmic',\n _rules: 'roman-upper',\n },\n romanlow: {\n _type: 'algorithmic',\n _rules: 'roman-lower',\n },\n taml: {\n _type: 'algorithmic',\n _rules: 'tamil',\n },\n },\n },\n });\n};\n","/**\n * Bootstrap Multiselect (https://github.com/davidstutz/bootstrap-multiselect)\n * \n * Apache License, Version 2.0:\n * Copyright (c) 2012 - 2015 David Stutz\n * \n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a\n * copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n * \n * BSD 3-Clause License:\n * Copyright (c) 2012 - 2015 David Stutz\n * All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * - Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n * - Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n * - Neither the name of David Stutz nor the names of its contributors may be\n * used to endorse or promote products derived from this software without\n * specific prior written permission.\n * \n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\n * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\n * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n!function ($) {\n\t\"use strict\";// jshint ;_;\n\n\tif (typeof ko !== 'undefined' && ko.bindingHandlers && !ko.bindingHandlers.multiselect) {\n\t\tko.bindingHandlers.multiselect = {\n\t\t\tafter: ['options', 'value', 'selectedOptions'],\n\n\t\t\tinit: function (element, valueAccessor, allBindings, viewModel, bindingContext) {\n\t\t\t\tvar $element = $(element);\n\t\t\t\tvar config = ko.toJS(valueAccessor());\n\n\t\t\t\t$element.multiselect(config);\n\n\t\t\t\tif (allBindings.has('options')) {\n\t\t\t\t\tvar options = allBindings.get('options');\n\t\t\t\t\tif (ko.isObservable(options)) {\n\t\t\t\t\t\tko.computed({\n\t\t\t\t\t\t\tread: function () {\n\t\t\t\t\t\t\t\toptions();\n\t\t\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\t\t\tvar ms = $element.data('multiselect');\n\t\t\t\t\t\t\t\t\tif (ms)\n\t\t\t\t\t\t\t\t\t\tms.updateOriginalOptions();//Not sure how beneficial this is.\n\t\t\t\t\t\t\t\t\t$element.multiselect('rebuild');\n\t\t\t\t\t\t\t\t}, 1);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdisposeWhenNodeIsRemoved: element\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t//value and selectedOptions are two-way, so these will be triggered even by our own actions.\n\t\t\t\t//It needs some way to tell if they are triggered because of us or because of outside change.\n\t\t\t\t//It doesn't loop but it's a waste of processing.\n\t\t\t\tif (allBindings.has('value')) {\n\t\t\t\t\tvar value = allBindings.get('value');\n\t\t\t\t\tif (ko.isObservable(value)) {\n\t\t\t\t\t\tko.computed({\n\t\t\t\t\t\t\tread: function () {\n\t\t\t\t\t\t\t\tvalue();\n\t\t\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\t\t\t$element.multiselect('refresh');\n\t\t\t\t\t\t\t\t}, 1);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdisposeWhenNodeIsRemoved: element\n\t\t\t\t\t\t}).extend({ rateLimit: 100, notifyWhenChangesStop: true });\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t//Switched from arrayChange subscription to general subscription using 'refresh'.\n\t\t\t\t//Not sure performance is any better using 'select' and 'deselect'.\n\t\t\t\tif (allBindings.has('selectedOptions')) {\n\t\t\t\t\tvar selectedOptions = allBindings.get('selectedOptions');\n\t\t\t\t\tif (ko.isObservable(selectedOptions)) {\n\t\t\t\t\t\tko.computed({\n\t\t\t\t\t\t\tread: function () {\n\t\t\t\t\t\t\t\tselectedOptions();\n\t\t\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\t\t\t$element.multiselect('refresh');\n\t\t\t\t\t\t\t\t}, 1);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdisposeWhenNodeIsRemoved: element\n\t\t\t\t\t\t}).extend({ rateLimit: 100, notifyWhenChangesStop: true });\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tko.utils.domNodeDisposal.addDisposeCallback(element, function () {\n\t\t\t\t\t$element.multiselect('destroy');\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tupdate: function (element, valueAccessor, allBindings, viewModel, bindingContext) {\n\t\t\t\tvar $element = $(element);\n\t\t\t\tvar config = ko.toJS(valueAccessor());\n\n\t\t\t\t$element.multiselect('setOptions', config);\n\t\t\t\t$element.multiselect('rebuild');\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction forEach(array, callback) {\n\t\tfor (var index = 0; index < array.length; ++index) {\n\t\t\tcallback(array[index], index);\n\t\t}\n\t}\n\n\t/**\n * Constructor to create a new multiselect using the given select.\n *\n * @param {jQuery} select\n * @param {Object} options\n * @returns {Multiselect}\n */\n\tfunction Multiselect(select, options) {\n\n\t\tthis.$select = $(select);\n\n\t\t// Placeholder via data attributes\n\t\tif (this.$select.attr(\"data-placeholder\")) {\n\t\t\toptions.nonSelectedText = this.$select.data(\"placeholder\");\n\t\t}\n\n\t\tthis.options = this.mergeOptions($.extend({}, options, this.$select.data()));\n\n\t\t// Initialization.\n\t\t// We have to clone to create a new reference.\n\t\tthis.originalOptions = this.$select.clone()[0].options;\n\t\tthis.query = '';\n\t\tthis.searchTimeout = null;\n\t\tthis.lastToggledInput = null\n\n\t\tthis.options.multiple = this.$select.attr('multiple') === \"multiple\";\n\t\tthis.options.onChange = $.proxy(this.options.onChange, this);\n\t\tthis.options.onDropdownShow = $.proxy(this.options.onDropdownShow, this);\n\t\tthis.options.onDropdownHide = $.proxy(this.options.onDropdownHide, this);\n\t\tthis.options.onDropdownShown = $.proxy(this.options.onDropdownShown, this);\n\t\tthis.options.onDropdownHidden = $.proxy(this.options.onDropdownHidden, this);\n\n\t\t// Build select all if enabled.\n\t\tthis.buildContainer();\n\t\tthis.buildButton();\n\t\tthis.buildDropdown();\n\t\tthis.buildSelectAll();\n\t\tthis.buildDropdownOptions();\n\t\tthis.buildFilter();\n\n\t\tthis.updateButtonText();\n\t\tthis.updateSelectAll();\n\n\t\tif (this.options.disableIfEmpty && $('option', this.$select).length <= 0) {\n\t\t\tthis.disable();\n\t\t}\n\n\t\tthis.$select.hide().after(this.$container);\n\t};\n\n\tMultiselect.prototype = {\n\n\t\tdefaults: {\n\t\t\t/**\n * Default text function will either print 'None selected' in case no\n * option is selected or a list of the selected options up to a length\n * of 3 selected options.\n * \n * @param {jQuery} options\n * @param {jQuery} select\n * @returns {String}\n */\n\t\t\tbuttonText: function (options, select, maxNumberDisplayed) {\n\n\t\t\t\tif (typeof maxNumberDisplayed === 'undefined') {\n\t\t\t\t\tmaxNumberDisplayed = this.numberDisplayed;\n\t\t\t\t}\n\n\t\t\t\tif (options.length === 0) {\n\t\t\t\t\treturn this.nonSelectedText;\n\t\t\t\t}\n\t\t\t\telse if (this.allSelectedText\n && options.length === $('option', $(select)).length\n && $('option', $(select)).length !== 1\n && this.multiple) {\n\n\t\t\t\t\tif (this.selectAllNumber) {\n\t\t\t\t\t\treturn this.allSelectedText + ' (' + options.length + ')';\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treturn this.allSelectedText;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (options.length > maxNumberDisplayed) {\n\t\t\t\t\treturn options.length + ' ' + this.nSelectedText;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar selected = '';\n\t\t\t\t\tvar delimiter = this.delimiterText;\n\n\t\t\t\t\toptions.each(function () {\n\t\t\t\t\t\tvar label = ($(this).attr('label') !== undefined) ? $(this).attr('label') : $(this).text();\n\t\t\t\t\t\tselected += label + delimiter;\n\t\t\t\t\t});\n\n\t\t\t\t\treturn selected.substr(0, selected.length - 2);\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n * Updates the title of the button similar to the buttonText function.\n * \n * @param {jQuery} options\n * @param {jQuery} select\n * @returns {@exp;selected@call;substr}\n */\n\t\t\tbuttonTitle: function (options, select) {\n\t\t\t\tif (options.length === 0) {\n\t\t\t\t\treturn this.nonSelectedText;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar selected = '';\n\t\t\t\t\tvar delimiter = this.delimiterText;\n\n\t\t\t\t\toptions.each(function () {\n\t\t\t\t\t\tvar label = ($(this).attr('label') !== undefined) ? $(this).attr('label') : $(this).text();\n\t\t\t\t\t\tselected += label + delimiter;\n\t\t\t\t\t});\n\t\t\t\t\treturn selected.substr(0, selected.length - 2);\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n * Create a label.\n *\n * @param {jQuery} element\n * @returns {String}\n */\n\t\t\toptionLabel: function (element) {\n\t\t\t\treturn $(element).attr('label') || $(element).text();\n\t\t\t},\n\t\t\t/**\n * Triggered on change of the multiselect.\n * \n * Not triggered when selecting/deselecting options manually.\n * \n * @param {jQuery} option\n * @param {Boolean} checked\n */\n\t\t\tonChange: function (option, checked) {\n\n\t\t\t},\n\t\t\t/**\n * Triggered when the dropdown is shown.\n *\n * @param {jQuery} event\n */\n\t\t\tonDropdownShow: function (event) {\n\n\t\t\t},\n\t\t\t/**\n * Triggered when the dropdown is hidden.\n *\n * @param {jQuery} event\n */\n\t\t\tonDropdownHide: function (event) {\n\n\t\t\t},\n\t\t\t/**\n * Triggered after the dropdown is shown.\n * \n * @param {jQuery} event\n */\n\t\t\tonDropdownShown: function (event) {\n\n\t\t\t},\n\t\t\t/**\n * Triggered after the dropdown is hidden.\n * \n * @param {jQuery} event\n */\n\t\t\tonDropdownHidden: function (event) {\n\n\t\t\t},\n\t\t\t/**\n * Triggered on select all.\n */\n\t\t\tonSelectAll: function () {\n\n\t\t\t},\n\t\t\tenableHTML: false,\n\t\t\tbuttonClass: 'btn btn-default',\n\t\t\tinheritClass: false,\n\t\t\tbuttonWidth: 'auto',\n\t\t\tbuttonContainer: '
',\n\t\t\tdropRight: false,\n\t\t\tselectedClass: 'active',\n\t\t\t// Maximum height of the dropdown menu.\n\t\t\t// If maximum height is exceeded a scrollbar will be displayed.\n\t\t\tmaxHeight: false,\n\t\t\tcheckboxName: false,\n\t\t\tincludeSelectAllOption: false,\n\t\t\tincludeSelectAllIfMoreThan: 0,\n\t\t\tselectAllText: ' Select all',\n\t\t\tselectAllValue: 'multiselect-all',\n\t\t\tselectAllName: false,\n\t\t\tselectAllNumber: true,\n\t\t\tenableFiltering: false,\n\t\t\tenableCaseInsensitiveFiltering: false,\n\t\t\tenableClickableOptGroups: false,\n\t\t\tfilterPlaceholder: 'Search',\n\t\t\t// possible options: 'text', 'value', 'both'\n\t\t\tfilterBehavior: 'text',\n\t\t\tincludeFilterClearBtn: true,\n\t\t\tpreventInputChangeEvent: false,\n\t\t\tnonSelectedText: 'None selected',\n\t\t\tnSelectedText: 'selected',\n\t\t\tallSelectedText: allSelectedMessage,\n\t\t\tnumberDisplayed: 3,\n\t\t\tdisableIfEmpty: false,\n\t\t\tdelimiterText: ', ',\n\t\t\ttemplates: {\n\t\t\t\tbutton: '',\n\t\t\t\tul: '',\n\t\t\t\tfilter: '
  • ',\n\t\t\t\tfilterClearBtn: '',\n\t\t\t\tli: '
  • ',\n\t\t\t\tdivider: '
  • ',\n\t\t\t\tliGroup: '
  • '\n\t\t\t}\n\t\t},\n\n\t\tconstructor: Multiselect,\n\n\t\t/**\n * Builds the container of the multiselect.\n */\n\t\tbuildContainer: function () {\n\t\t\tthis.$container = $(this.options.buttonContainer);\n\t\t\tthis.$container.on('show.bs.dropdown', this.options.onDropdownShow);\n\t\t\tthis.$container.on('hide.bs.dropdown', this.options.onDropdownHide);\n\t\t\tthis.$container.on('shown.bs.dropdown', this.options.onDropdownShown);\n\t\t\tthis.$container.on('hidden.bs.dropdown', this.options.onDropdownHidden);\n\t\t},\n\n\t\t/**\n * Builds the button of the multiselect.\n */\n\t\tbuildButton: function () {\n\t\t\tthis.$button = $(this.options.templates.button).addClass(this.options.buttonClass);\n\t\t\tif (this.$select.attr('class') && this.options.inheritClass) {\n\t\t\t\tthis.$button.addClass(this.$select.attr('class'));\n\t\t\t}\n\t\t\t// Adopt active state.\n\t\t\tif (this.$select.prop('disabled')) {\n\t\t\t\tthis.disable();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.enable();\n\t\t\t}\n\n\t\t\t// Manually add button width if set.\n\t\t\tif (this.options.buttonWidth && this.options.buttonWidth !== 'auto') {\n\t\t\t\tthis.$button.css({\n\t\t\t\t\t'width': this.options.buttonWidth,\n\t\t\t\t\t'overflow': 'hidden',\n\t\t\t\t\t'text-overflow': 'ellipsis'\n\t\t\t\t});\n\t\t\t\tthis.$container.css({\n\t\t\t\t\t'width': this.options.buttonWidth\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Keep the tab index from the select.\n\t\t\tvar tabindex = this.$select.attr('tabindex');\n\t\t\tif (tabindex) {\n\t\t\t\tthis.$button.attr('tabindex', tabindex);\n\t\t\t}\n\n\t\t\tthis.$container.prepend(this.$button);\n\t\t},\n\n\t\t/**\n * Builds the ul representing the dropdown menu.\n */\n\t\tbuildDropdown: function () {\n\n\t\t\t// Build ul.\n\t\t\tthis.$ul = $(this.options.templates.ul);\n\n\t\t\tif (this.options.dropRight) {\n\t\t\t\tthis.$ul.addClass('pull-right');\n\t\t\t}\n\n\t\t\t// Set max height of dropdown menu to activate auto scrollbar.\n\t\t\tif (this.options.maxHeight) {\n\t\t\t\t// TODO: Add a class for this option to move the css declarations.\n\t\t\t\tthis.$ul.css({\n\t\t\t\t\t'max-height': this.options.maxHeight + 'px',\n\t\t\t\t\t'overflow-y': 'auto',\n\t\t\t\t\t'overflow-x': 'hidden'\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.$container.append(this.$ul);\n\t\t},\n\n\t\t/**\n * Build the dropdown options and binds all nessecary events.\n * \n * Uses createDivider and createOptionValue to create the necessary options.\n */\n\t\tbuildDropdownOptions: function () {\n\n\t\t\tthis.$select.children().each($.proxy(function (index, element) {\n\n\t\t\t\tvar $element = $(element);\n\t\t\t\t// Support optgroups and options without a group simultaneously.\n\t\t\t\tvar tag = $element.prop('tagName')\n .toLowerCase();\n\n\t\t\t\tif ($element.prop('value') === this.options.selectAllValue) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (tag === 'optgroup') {\n\t\t\t\t\tthis.createOptgroup(element);\n\t\t\t\t}\n\t\t\t\telse if (tag === 'option') {\n\n\t\t\t\t\tif ($element.data('role') === 'divider') {\n\t\t\t\t\t\tthis.createDivider();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.createOptionValue(element);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t\t// Other illegal tags will be ignored.\n\t\t\t}, this));\n\n\t\t\t// Bind the change event on the dropdown elements.\n\t\t\t$('li input', this.$ul).on('change', $.proxy(function (event) {\n\t\t\t\tvar $target = $(event.target);\n\n\t\t\t\tvar checked = $target.prop('checked') || false;\n\t\t\t\tvar isSelectAllOption = $target.val() === this.options.selectAllValue;\n\n\t\t\t\t// Apply or unapply the configured selected class.\n\t\t\t\tif (this.options.selectedClass) {\n\t\t\t\t\tif (checked) {\n\t\t\t\t\t\t$target.closest('li')\n .addClass(this.options.selectedClass);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t$target.closest('li')\n .removeClass(this.options.selectedClass);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Get the corresponding option.\n\t\t\t\tvar value = $target.val();\n\t\t\t\tvar $option = this.getOptionByValue(value);\n\n\t\t\t\tvar $optionsNotThis = $('option', this.$select).not($option);\n\t\t\t\tvar $checkboxesNotThis = $('input', this.$container).not($target);\n\n\t\t\t\tif (isSelectAllOption) {\n\t\t\t\t\tif (checked) {\n\t\t\t\t\t\tthis.selectAll();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.deselectAll();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!isSelectAllOption) {\n\t\t\t\t\tif (checked) {\n\t\t\t\t\t\t$option.prop('selected', true);\n\n\t\t\t\t\t\tif (this.options.multiple) {\n\t\t\t\t\t\t\t// Simply select additional option.\n\t\t\t\t\t\t\t$option.prop('selected', true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t// Unselect all other options and corresponding checkboxes.\n\t\t\t\t\t\t\tif (this.options.selectedClass) {\n\t\t\t\t\t\t\t\t$($checkboxesNotThis).closest('li').removeClass(this.options.selectedClass);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t$($checkboxesNotThis).prop('checked', false);\n\t\t\t\t\t\t\t$optionsNotThis.prop('selected', false);\n\n\t\t\t\t\t\t\t// It's a single selection, so close.\n\t\t\t\t\t\t\tthis.$button.click();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (this.options.selectedClass === \"active\") {\n\t\t\t\t\t\t\t$optionsNotThis.closest(\"a\").css(\"outline\", \"\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t// Unselect option.\n\t\t\t\t\t\t$option.prop('selected', false);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.$select.change();\n\n\t\t\t\tthis.updateButtonText();\n\t\t\t\tthis.updateSelectAll();\n\n\t\t\t\tthis.options.onChange($option, checked);\n\n\t\t\t\tif (this.options.preventInputChangeEvent) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}, this));\n\n\t\t\t$('li a', this.$ul).on('mousedown', function (e) {\n\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t// Prevent selecting text by Shift+click\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t$('li a', this.$ul).on('touchstart click', $.proxy(function (event) {\n\t\t\t\tevent.stopPropagation();\n\n\t\t\t\tvar $target = $(event.target);\n\n\t\t\t\tif (event.shiftKey && this.options.multiple) {\n\t\t\t\t\tif ($target.is(\"label\")) { // Handles checkbox selection manually (see https://github.com/davidstutz/bootstrap-multiselect/issues/431)\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t$target = $target.find(\"input\");\n\t\t\t\t\t\t$target.prop(\"checked\", !$target.prop(\"checked\"));\n\t\t\t\t\t}\n\t\t\t\t\tvar checked = $target.prop('checked') || false;\n\n\t\t\t\t\tif (this.lastToggledInput !== null && this.lastToggledInput !== $target) { // Make sure we actually have a range\n\t\t\t\t\t\tvar from = $target.closest(\"li\").index();\n\t\t\t\t\t\tvar to = this.lastToggledInput.closest(\"li\").index();\n\n\t\t\t\t\t\tif (from > to) { // Swap the indices\n\t\t\t\t\t\t\tvar tmp = to;\n\t\t\t\t\t\t\tto = from;\n\t\t\t\t\t\t\tfrom = tmp;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Make sure we grab all elements since slice excludes the last index\n\t\t\t\t\t\t++to;\n\n\t\t\t\t\t\t// Change the checkboxes and underlying options\n\t\t\t\t\t\tvar range = this.$ul.find(\"li\").slice(from, to).find(\"input\");\n\n\t\t\t\t\t\trange.prop('checked', checked);\n\n\t\t\t\t\t\tif (this.options.selectedClass) {\n\t\t\t\t\t\t\trange.closest('li')\n .toggleClass(this.options.selectedClass, checked);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfor (var i = 0, j = range.length; i < j; i++) {\n\t\t\t\t\t\t\tvar $checkbox = $(range[i]);\n\n\t\t\t\t\t\t\tvar $option = this.getOptionByValue($checkbox.val());\n\n\t\t\t\t\t\t\t$option.prop('selected', checked);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trigger the select \"change\" event\n\t\t\t\t\t$target.trigger(\"change\");\n\t\t\t\t}\n\n\t\t\t\t// Remembers last clicked option\n\t\t\t\tif ($target.is(\"input\") && !$target.closest(\"li\").is(\".multiselect-item\")) {\n\t\t\t\t\tthis.lastToggledInput = $target;\n\t\t\t\t}\n\n\t\t\t\t$target.blur();\n\t\t\t}, this));\n\n\t\t\t// Keyboard support.\n\t\t\tthis.$container.off('keydown.multiselect').on('keydown.multiselect', $.proxy(function (event) {\n\t\t\t\tif ($('input[type=\"text\"]', this.$container).is(':focus')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (event.keyCode === 9 && this.$container.hasClass('open')) {\n\t\t\t\t\tthis.$button.click();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tvar $items = $(this.$container).find(\"li:not(.divider):not(.disabled) a\").filter(\":visible\");\n\n\t\t\t\t\tif (!$items.length) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar index = $items.index($items.filter(':focus'));\n\n\t\t\t\t\t// Navigation up.\n\t\t\t\t\tif (event.keyCode === 38 && index > 0) {\n\t\t\t\t\t\tindex--;\n\t\t\t\t\t}\n\t\t\t\t\t\t// Navigate down.\n\t\t\t\t\telse if (event.keyCode === 40 && index < $items.length - 1) {\n\t\t\t\t\t\tindex++;\n\t\t\t\t\t}\n\t\t\t\t\telse if (!~index) {\n\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar $current = $items.eq(index);\n\t\t\t\t\t$current.focus();\n\n\t\t\t\t\tif (event.keyCode === 32 || event.keyCode === 13) {\n\t\t\t\t\t\tvar $checkbox = $current.find('input');\n\n\t\t\t\t\t\t$checkbox.prop(\"checked\", !$checkbox.prop(\"checked\"));\n\t\t\t\t\t\t$checkbox.change();\n\t\t\t\t\t}\n\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}, this));\n\n\t\t\tif (this.options.enableClickableOptGroups && this.options.multiple) {\n\t\t\t\t$('li.multiselect-group', this.$ul).on('click', $.proxy(function (event) {\n\t\t\t\t\tevent.stopPropagation();\n\n\t\t\t\t\tvar group = $(event.target).parent();\n\n\t\t\t\t\t// Search all option in optgroup\n\t\t\t\t\tvar $options = group.nextUntil('li.multiselect-group');\n\t\t\t\t\tvar $visibleOptions = $options.filter(\":visible:not(.disabled)\");\n\n\t\t\t\t\t// check or uncheck items\n\t\t\t\t\tvar allChecked = true;\n\t\t\t\t\tvar optionInputs = $visibleOptions.find('input');\n\t\t\t\t\toptionInputs.each(function () {\n\t\t\t\t\t\tallChecked = allChecked && $(this).prop('checked');\n\t\t\t\t\t});\n\n\t\t\t\t\toptionInputs.prop('checked', !allChecked).trigger('change');\n\t\t\t\t}, this));\n\t\t\t}\n\t\t},\n\n\t\t/**\n * Create an option using the given select option.\n *\n * @param {jQuery} element\n */\n\t\tcreateOptionValue: function (element) {\n\t\t\tvar $element = $(element);\n\t\t\tif ($element.is(':selected')) {\n\t\t\t\t$element.prop('selected', true);\n\t\t\t}\n\n\t\t\t// Support the label attribute on options.\n\t\t\tvar label = this.options.optionLabel(element);\n\t\t\tvar value = $element.val();\n\t\t\tvar inputType = this.options.multiple ? \"checkbox\" : \"radio\";\n\n\t\t\tvar $li = $(this.options.templates.li);\n\t\t\tvar $label = $('label', $li);\n\t\t\t$label.addClass(inputType);\n\n\t\t\tif (this.options.enableHTML) {\n\t\t\t\t$label.html(\" \" + label);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$label.text(\" \" + label);\n\t\t\t}\n\n\t\t\tvar $checkbox = $('').attr('type', inputType);\n\n\t\t\tif (this.options.checkboxName) {\n\t\t\t\t$checkbox.attr('name', this.options.checkboxName);\n\t\t\t}\n\t\t\t$label.prepend($checkbox);\n\n\t\t\tvar selected = $element.prop('selected') || false;\n\t\t\t$checkbox.val(value);\n\n\t\t\tif (value === this.options.selectAllValue) {\n\t\t\t\t$li.addClass(\"multiselect-item multiselect-all\");\n\t\t\t\t$checkbox.parent().parent()\n .addClass('multiselect-all');\n\t\t\t}\n\n\t\t\t$label.attr('title', $element.attr('title'));\n\n\t\t\tthis.$ul.append($li);\n\n\t\t\tif ($element.is(':disabled')) {\n\t\t\t\t$checkbox.attr('disabled', 'disabled')\n .prop('disabled', true)\n .closest('a')\n .attr(\"tabindex\", \"-1\")\n .closest('li')\n .addClass('disabled');\n\t\t\t}\n\n\t\t\t$checkbox.prop('checked', selected);\n\n\t\t\tif (selected && this.options.selectedClass) {\n\t\t\t\t$checkbox.closest('li')\n .addClass(this.options.selectedClass);\n\t\t\t}\n\t\t},\n\n\t\t/**\n * Creates a divider using the given select option.\n *\n * @param {jQuery} element\n */\n\t\tcreateDivider: function (element) {\n\t\t\tvar $divider = $(this.options.templates.divider);\n\t\t\tthis.$ul.append($divider);\n\t\t},\n\n\t\t/**\n * Creates an optgroup.\n *\n * @param {jQuery} group\n */\n\t\tcreateOptgroup: function (group) {\n\t\t\tvar groupName = $(group).prop('label');\n\n\t\t\t// Add a header for the group.\n\t\t\tvar $li = $(this.options.templates.liGroup);\n\n\t\t\tif (this.options.enableHTML) {\n\t\t\t\t$('label', $li).html(groupName);\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$('label', $li).text(groupName);\n\t\t\t}\n\n\t\t\tif (this.options.enableClickableOptGroups) {\n\t\t\t\t$li.addClass('multiselect-group-clickable');\n\t\t\t}\n\n\t\t\tthis.$ul.append($li);\n\n\t\t\tif ($(group).is(':disabled')) {\n\t\t\t\t$li.addClass('disabled');\n\t\t\t}\n\n\t\t\t// Add the options of the group.\n\t\t\t$('option', group).each($.proxy(function (index, element) {\n\t\t\t\tthis.createOptionValue(element);\n\t\t\t}, this));\n\t\t},\n\n\t\t/**\n * Build the selct all.\n * \n * Checks if a select all has already been created.\n */\n\t\tbuildSelectAll: function () {\n\t\t\tif (typeof this.options.selectAllValue === 'number') {\n\t\t\t\tthis.options.selectAllValue = this.options.selectAllValue.toString();\n\t\t\t}\n\n\t\t\tvar alreadyHasSelectAll = this.hasSelectAll();\n\n\t\t\tif (!alreadyHasSelectAll && this.options.includeSelectAllOption && this.options.multiple\n && $('option', this.$select).length > this.options.includeSelectAllIfMoreThan) {\n\n\t\t\t\t// Check whether to add a divider after the select all.\n\t\t\t\tif (this.options.includeSelectAllDivider) {\n\t\t\t\t\tthis.$ul.prepend($(this.options.templates.divider));\n\t\t\t\t}\n\n\t\t\t\tvar $li = $(this.options.templates.li);\n\t\t\t\t$('label', $li).addClass(\"checkbox\");\n\n\t\t\t\tif (this.options.enableHTML) {\n\t\t\t\t\t$('label', $li).html(\" \" + this.options.selectAllText);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$('label', $li).text(\" \" + this.options.selectAllText);\n\t\t\t\t}\n\n\t\t\t\tif (this.options.selectAllName) {\n\t\t\t\t\t$('label', $li).prepend('');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$('label', $li).prepend('');\n\t\t\t\t}\n\n\t\t\t\tvar $checkbox = $('input', $li);\n\t\t\t\t$checkbox.val(this.options.selectAllValue);\n\n\t\t\t\t$li.addClass(\"multiselect-item multiselect-all\");\n\t\t\t\t$checkbox.parent().parent()\n .addClass('multiselect-all');\n\n\t\t\t\tthis.$ul.prepend($li);\n\n\t\t\t\t$checkbox.prop('checked', false);\n\t\t\t}\n\t\t},\n\n\t\t/**\n * Builds the filter.\n */\n\t\tbuildFilter: function () {\n\n\t\t\t// Build filter if filtering OR case insensitive filtering is enabled and the number of options exceeds (or equals) enableFilterLength.\n\t\t\tif (this.options.enableFiltering || this.options.enableCaseInsensitiveFiltering) {\n\t\t\t\tvar enableFilterLength = Math.max(this.options.enableFiltering, this.options.enableCaseInsensitiveFiltering);\n\n\t\t\t\tif (this.$select.find('option').length >= enableFilterLength) {\n\n\t\t\t\t\tthis.$filter = $(this.options.templates.filter);\n\t\t\t\t\t$('input', this.$filter).attr('placeholder', this.options.filterPlaceholder);\n\n\t\t\t\t\t// Adds optional filter clear button\n\t\t\t\t\tif (this.options.includeFilterClearBtn) {\n\t\t\t\t\t\tvar clearBtn = $(this.options.templates.filterClearBtn);\n\t\t\t\t\t\tclearBtn.on('click', $.proxy(function (event) {\n\t\t\t\t\t\t\tclearTimeout(this.searchTimeout);\n\t\t\t\t\t\t\tthis.$filter.find('.multiselect-search').val('');\n\t\t\t\t\t\t\t$('li', this.$ul).show().removeClass(\"filter-hidden\");\n\t\t\t\t\t\t\tthis.updateSelectAll();\n\t\t\t\t\t\t}, this));\n\t\t\t\t\t\tthis.$filter.find('.input-group').append(clearBtn);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.$ul.prepend(this.$filter);\n\n\t\t\t\t\tthis.$filter.val(this.query).on('click', function (event) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t}).on('input keydown', $.proxy(function (event) {\n\t\t\t\t\t\t// Cancel enter key default behaviour\n\t\t\t\t\t\tif (event.which === 13) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// This is useful to catch \"keydown\" events after the browser has updated the control.\n\t\t\t\t\t\tclearTimeout(this.searchTimeout);\n\n\t\t\t\t\t\tthis.searchTimeout = this.asyncFunction($.proxy(function () {\n\n\t\t\t\t\t\t\tif (this.query !== event.target.value) {\n\t\t\t\t\t\t\t\tthis.query = event.target.value;\n\n\t\t\t\t\t\t\t\tvar currentGroup, currentGroupVisible;\n\t\t\t\t\t\t\t\t$.each($('li', this.$ul), $.proxy(function (index, element) {\n\t\t\t\t\t\t\t\t\tvar value = $('input', element).length > 0 ? $('input', element).val() : \"\";\n\t\t\t\t\t\t\t\t\tvar text = $('label', element).text();\n\n\t\t\t\t\t\t\t\t\tvar filterCandidate = '';\n\t\t\t\t\t\t\t\t\tif ((this.options.filterBehavior === 'text')) {\n\t\t\t\t\t\t\t\t\t\tfilterCandidate = text;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if ((this.options.filterBehavior === 'value')) {\n\t\t\t\t\t\t\t\t\t\tfilterCandidate = value;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (this.options.filterBehavior === 'both') {\n\t\t\t\t\t\t\t\t\t\tfilterCandidate = text + '\\n' + value;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif (value !== this.options.selectAllValue && text) {\n\t\t\t\t\t\t\t\t\t\t// By default lets assume that element is not\n\t\t\t\t\t\t\t\t\t\t// interesting for this search.\n\t\t\t\t\t\t\t\t\t\tvar showElement = false;\n\n\t\t\t\t\t\t\t\t\t\tif (this.options.enableCaseInsensitiveFiltering && filterCandidate.toLowerCase().indexOf(this.query.toLowerCase()) > -1) {\n\t\t\t\t\t\t\t\t\t\t\tshowElement = true;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (filterCandidate.indexOf(this.query) > -1) {\n\t\t\t\t\t\t\t\t\t\t\tshowElement = true;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Toggle current element (group or group item) according to showElement boolean.\n\t\t\t\t\t\t\t\t\t\t$(element).toggle(showElement).toggleClass('filter-hidden', !showElement);\n\n\t\t\t\t\t\t\t\t\t\t// Differentiate groups and group items.\n\t\t\t\t\t\t\t\t\t\tif ($(element).hasClass('multiselect-group')) {\n\t\t\t\t\t\t\t\t\t\t\t// Remember group status.\n\t\t\t\t\t\t\t\t\t\t\tcurrentGroup = element;\n\t\t\t\t\t\t\t\t\t\t\tcurrentGroupVisible = showElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\t// Show group name when at least one of its items is visible.\n\t\t\t\t\t\t\t\t\t\t\tif (showElement) {\n\t\t\t\t\t\t\t\t\t\t\t\t$(currentGroup).show().removeClass('filter-hidden');\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Show all group items when group name satisfies filter.\n\t\t\t\t\t\t\t\t\t\t\tif (!showElement && currentGroupVisible) {\n\t\t\t\t\t\t\t\t\t\t\t\t$(element).show().removeClass('filter-hidden');\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}, this));\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthis.updateSelectAll();\n\t\t\t\t\t\t}, this), 300, this);\n\t\t\t\t\t}, this));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n * Unbinds the whole plugin.\n */\n\t\tdestroy: function () {\n\t\t\tthis.$container.remove();\n\t\t\tthis.$select.show();\n\t\t\tthis.$select.data('multiselect', null);\n\t\t},\n\n\t\t/**\n * Refreshs the multiselect based on the selected options of the select.\n */\n\t\trefresh: function () {\n\t\t\t$('option', this.$select).each($.proxy(function (index, element) {\n\t\t\t\tvar $input = $('li input', this.$ul).filter(function () {\n\t\t\t\t\treturn $(this).val() === $(element).val();\n\t\t\t\t});\n\n\t\t\t\tif ($(element).is(':selected')) {\n\t\t\t\t\t$input.prop('checked', true);\n\n\t\t\t\t\tif (this.options.selectedClass) {\n\t\t\t\t\t\t$input.closest('li')\n .addClass(this.options.selectedClass);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$input.prop('checked', false);\n\n\t\t\t\t\tif (this.options.selectedClass) {\n\t\t\t\t\t\t$input.closest('li')\n .removeClass(this.options.selectedClass);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ($(element).is(\":disabled\")) {\n\t\t\t\t\t$input.attr('disabled', 'disabled')\n .prop('disabled', true)\n .closest('li')\n .addClass('disabled');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$input.prop('disabled', false)\n .closest('li')\n .removeClass('disabled');\n\t\t\t\t}\n\t\t\t}, this));\n\n\t\t\tthis.updateButtonText();\n\t\t\tthis.updateSelectAll();\n\t\t},\n\n\t\t/**\n * Select all options of the given values.\n * \n * If triggerOnChange is set to true, the on change event is triggered if\n * and only if one value is passed.\n * \n * @param {Array} selectValues\n * @param {Boolean} triggerOnChange\n */\n\t\tselect: function (selectValues, triggerOnChange) {\n\t\t\tif (!$.isArray(selectValues)) {\n\t\t\t\tselectValues = [selectValues];\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < selectValues.length; i++) {\n\t\t\t\tvar value = selectValues[i];\n\n\t\t\t\tif (value === null || value === undefined) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tvar $option = this.getOptionByValue(value);\n\t\t\t\tvar $checkbox = this.getInputByValue(value);\n\n\t\t\t\tif ($option === undefined || $checkbox === undefined) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!this.options.multiple) {\n\t\t\t\t\tthis.deselectAll(false);\n\t\t\t\t}\n\n\t\t\t\tif (this.options.selectedClass) {\n\t\t\t\t\t$checkbox.closest('li')\n .addClass(this.options.selectedClass);\n\t\t\t\t}\n\n\t\t\t\t$checkbox.prop('checked', true);\n\t\t\t\t$option.prop('selected', true);\n\n\t\t\t\tif (triggerOnChange) {\n\t\t\t\t\tthis.options.onChange($option, true);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.updateButtonText();\n\t\t\tthis.updateSelectAll();\n\t\t},\n\n\t\t/**\n * Clears all selected items.\n */\n\t\tclearSelection: function () {\n\t\t\tthis.deselectAll(false);\n\t\t\tthis.updateButtonText();\n\t\t\tthis.updateSelectAll();\n\t\t},\n\n\t\t/**\n * Deselects all options of the given values.\n * \n * If triggerOnChange is set to true, the on change event is triggered, if\n * and only if one value is passed.\n * \n * @param {Array} deselectValues\n * @param {Boolean} triggerOnChange\n */\n\t\tdeselect: function (deselectValues, triggerOnChange) {\n\t\t\tif (!$.isArray(deselectValues)) {\n\t\t\t\tdeselectValues = [deselectValues];\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < deselectValues.length; i++) {\n\t\t\t\tvar value = deselectValues[i];\n\n\t\t\t\tif (value === null || value === undefined) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tvar $option = this.getOptionByValue(value);\n\t\t\t\tvar $checkbox = this.getInputByValue(value);\n\n\t\t\t\tif ($option === undefined || $checkbox === undefined) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (this.options.selectedClass) {\n\t\t\t\t\t$checkbox.closest('li')\n .removeClass(this.options.selectedClass);\n\t\t\t\t}\n\n\t\t\t\t$checkbox.prop('checked', false);\n\t\t\t\t$option.prop('selected', false);\n\n\t\t\t\tif (triggerOnChange) {\n\t\t\t\t\tthis.options.onChange($option, false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.updateButtonText();\n\t\t\tthis.updateSelectAll();\n\t\t},\n\n\t\t/**\n * Selects all enabled & visible options.\n *\n * If justVisible is true or not specified, only visible options are selected.\n *\n * @param {Boolean} justVisible\n * @param {Boolean} triggerOnSelectAll\n */\n\t\tselectAll: function (justVisible, triggerOnSelectAll) {\n\t\t\tvar justVisible = typeof justVisible === 'undefined' ? true : justVisible;\n\t\t\tvar allCheckboxes = $(\"li input[type='checkbox']:enabled\", this.$ul);\n\t\t\tvar visibleCheckboxes = allCheckboxes.filter(\":visible\");\n\t\t\tvar allCheckboxesCount = allCheckboxes.length;\n\t\t\tvar visibleCheckboxesCount = visibleCheckboxes.length;\n\n\t\t\tif (justVisible) {\n\t\t\t\tvisibleCheckboxes.prop('checked', true);\n\t\t\t\t$(\"li:not(.divider):not(.disabled)\", this.$ul).filter(\":visible\").addClass(this.options.selectedClass);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tallCheckboxes.prop('checked', true);\n\t\t\t\t$(\"li:not(.divider):not(.disabled)\", this.$ul).addClass(this.options.selectedClass);\n\t\t\t}\n\n\t\t\tif (allCheckboxesCount === visibleCheckboxesCount || justVisible === false) {\n\t\t\t\t$(\"option:enabled\", this.$select).prop('selected', true);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar values = visibleCheckboxes.map(function () {\n\t\t\t\t\treturn $(this).val();\n\t\t\t\t}).get();\n\n\t\t\t\t$(\"option:enabled\", this.$select).filter(function (index) {\n\t\t\t\t\treturn $.inArray($(this).val(), values) !== -1;\n\t\t\t\t}).prop('selected', true);\n\t\t\t}\n\n\t\t\tif (triggerOnSelectAll) {\n\t\t\t\tthis.options.onSelectAll();\n\t\t\t}\n\t\t},\n\n\t\t/**\n * Deselects all options.\n * \n * If justVisible is true or not specified, only visible options are deselected.\n * \n * @param {Boolean} justVisible\n */\n\t\tdeselectAll: function (justVisible) {\n\t\t\tvar justVisible = typeof justVisible === 'undefined' ? true : justVisible;\n\n\t\t\tif (justVisible) {\n\t\t\t\tvar visibleCheckboxes = $(\"li input[type='checkbox']:not(:disabled)\", this.$ul).filter(\":visible\");\n\t\t\t\tvisibleCheckboxes.prop('checked', false);\n\n\t\t\t\tvar values = visibleCheckboxes.map(function () {\n\t\t\t\t\treturn $(this).val();\n\t\t\t\t}).get();\n\n\t\t\t\t$(\"option:enabled\", this.$select).filter(function (index) {\n\t\t\t\t\treturn $.inArray($(this).val(), values) !== -1;\n\t\t\t\t}).prop('selected', false);\n\n\t\t\t\tif (this.options.selectedClass) {\n\t\t\t\t\t$(\"li:not(.divider):not(.disabled)\", this.$ul).filter(\":visible\").removeClass(this.options.selectedClass);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$(\"li input[type='checkbox']:enabled\", this.$ul).prop('checked', false);\n\t\t\t\t$(\"option:enabled\", this.$select).prop('selected', false);\n\n\t\t\t\tif (this.options.selectedClass) {\n\t\t\t\t\t$(\"li:not(.divider):not(.disabled)\", this.$ul).removeClass(this.options.selectedClass);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n * Rebuild the plugin.\n * \n * Rebuilds the dropdown, the filter and the select all option.\n */\n\t\trebuild: function () {\n\t\t\tthis.$ul.html('');\n\n\t\t\t// Important to distinguish between radios and checkboxes.\n\t\t\tthis.options.multiple = this.$select.attr('multiple') === \"multiple\";\n\n\t\t\tthis.buildSelectAll();\n\t\t\tthis.buildDropdownOptions();\n\t\t\tthis.buildFilter();\n\n\t\t\tthis.updateButtonText();\n\t\t\tthis.updateSelectAll();\n\n\t\t\tif (this.options.disableIfEmpty && $('option', this.$select).length <= 0) {\n\t\t\t\tthis.disable();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.enable();\n\t\t\t}\n\n\t\t\tif (this.options.dropRight) {\n\t\t\t\tthis.$ul.addClass('pull-right');\n\t\t\t}\n\t\t},\n\n\t\t/**\n * The provided data will be used to build the dropdown.\n */\n\t\tdataprovider: function (dataprovider) {\n\n\t\t\tvar groupCounter = 0;\n\t\t\tvar $select = this.$select.empty();\n\n\t\t\t$.each(dataprovider, function (index, option) {\n\t\t\t\tvar $tag;\n\n\t\t\t\tif ($.isArray(option.children)) { // create optiongroup tag\n\t\t\t\t\tgroupCounter++;\n\n\t\t\t\t\t$tag = $('').attr({\n\t\t\t\t\t\tlabel: option.label || 'Group ' + groupCounter,\n\t\t\t\t\t\tdisabled: !!option.disabled\n\t\t\t\t\t});\n\n\t\t\t\t\tforEach(option.children, function (subOption) { // add children option tags\n\t\t\t\t\t\t$tag.append($('