{"version":3,"sources":["selectize.js"],"names":["root","factory","define","amd","exports","module","Sifter","this","items","settings","diacritics","prototype","tokenize","query","trim","String","toLowerCase","length","i","n","regex","letter","tokens","words","split","escape_regex","DIACRITICS","hasOwnProperty","replace","RegExp","push","string","iterator","object","callback","is_array","Array","forEach","key","apply","getScoreFunction","search","options","fields","token_count","nesting","prepareSearch","field_count","scoreValue","value","token","score","pos","scoreObject","data","getattr","sum","conjunction","getSortFunction","self","field","fields_count","multiplier","multipliers","get_field","implicit_score","sort","sort_empty","name","result","id","unshift","direction","splice","a","b","cmp","option_fields","extend","option_sort","option_sort_empty","total","fn_sort","fn_score","item","filter","limit","slice","asciifold","k","arguments","obj","names","shift","str","isArray","$","Object","toString","call","c","d","e","f","g","h","j","l","o","p","q","r","s","t","u","v","w","x","y","z","chunk","foreignletters","lookup","substring","charAt","regexp","foreignletter","MicroPlugin","mixin","Interface","plugins","initializePlugins","queue","requested","loaded","utils","require","loadPlugin","plugin","Error","fn","vArg","Selectize","jQuery","highlight","$element","pattern","node","skip","nodeType","match","spannode","document","createElement","className","middlebit","splitText","middleclone","cloneNode","appendChild","parentNode","replaceChild","childNodes","test","tagName","each","removeHighlight","find","firstChild","nodeName","parent","normalize","end","MicroEvent","on","event","fct","_events","off","indexOf","trigger","destObject","props","IS_MAC","navigator","userAgent","KEY_CMD","KEY_CTRL","SUPPORTS_VALIDITY_API","window","validity","isset","hash_key","escape_html","hook","before","method","original","after","once","called","debounce_events","types","type","event_args","getSelection","input","start","selectionStart","selectionEnd","selection","focus","sel","createRange","selLen","text","moveStart","autoGrow","$input","currentWidth","update","keyCode","printable","placeholder","width","character","$parent","metaKey","altKey","force","val","shiftKey","fromCharCode","toUpperCase","attr","$testInput","css","position","top","left","padding","whiteSpace","appendTo","$from","$to","properties","styles","transferStyles","triggerHandler","dir","selectize","delay","timeout","computedStyle","getComputedStyle","getPropertyValue","currentStyle","parents","order","tabIndex","tagType","rtl","eventNS","count","highlightedValue","isBlurring","isOpen","isDisabled","isRequired","is","isInvalid","isLocked","isFocused","isInputHidden","isSetup","isShiftDown","isCmdDown","isCtrlDown","ignoreFocus","ignoreBlur","ignoreHover","hasOptions","currentResults","lastValue","caretPos","loading","loadedSearches","$activeOption","$activeItems","optgroups","userOptions","renderCache","onSearchChange","loadThrottle","args","clearTimeout","setTimeout","sifter","registerOption","registerOptionGroup","mode","maxItems","hideSelected","setupCallbacks","setupTemplates","setup","message","console","error","component","explanation","group","groupEnd","logError","$wrapper","$control","$control_input","$dropdown","$dropdown_content","$dropdown_parent","inputMode","classes","classes_plugins","inputId","selector","$window","$document","addClass","wrapperClass","inputClass","dropdownParent","dropdownClass","hide","dropdownContentClass","copyClassesToDropdown","style","join","splitOn","delimiter","delimiterEscaped","stopImmediatePropagation","onOptionHover","onOptionSelect","onItemSelect","child","target","currentTarget","mousedown","onMouseDown","click","onClick","stopPropagation","keydown","onKeyDown","keyup","onKeyUp","keypress","onKeyPress","resize","positionDropdown","blur","onBlur","onFocus","paste","onPaste","has","revertSettings","$children","children","detach","tabindex","setValue","preventDefault","refreshState","updateOriginalInput","refreshItems","updatePlaceholder","disable","onChange","preload","field_label","labelField","field_optgroup","optgroupLabelField","templates","optgroup","html","optgroup_header","escape","option","option_create","render","callbacks","initialize","change","item_add","item_remove","clear","option_add","option_remove","option_clear","optgroup_add","optgroup_remove","optgroup_clear","dropdown_open","dropdown_close","load","defaultPrevented","isDefaultPrevented","close","open","setActiveItem","isFull","pastedText","splitInput","createItem","which","create","selectAll","ctrlKey","$next","getAdjacentOption","setActiveOption","$prev","advanceSelection","selectOnTab","deleteSelection","refreshOptions","wasFocused","showInput","openOnFocus","dest","activeElement","deactivate","setTextboxValue","setCaret","createOnBlur","$target","hasClass","closeAfterSelect","lastQuery","addItem","getOption","loadingClass","results","Math","max","addOption","removeClass","getValue","silent","addItems","$item","eventName","idx","begin","swap","$last","hideInput","$option","scroll","animate","height_menu","height_item","scroll_top","scroll_bottom","height","outerHeight","scrollTop","offset","stop","scrollDuration","opacity","getSearchOptions","sortField","searchField","searchConjunction","calculateScore","triggerDropdown","groups","groups_order","option_html","html_children","has_create_option","$active","$active_before","$create","tmp","active_before","maxOptions","min","optgroupField","createDocumentFragment","lockOptgroupOrder","$order","innerHTML","dom","canCreate","prepend","addPrecedence","valueField","optgroupValueField","addOptionGroup","removeOptionGroup","clearOptionGroups","updateOption","$item_new","value_new","index_item","cache_items","cache_options","order_old","getItem","replaceWith","removeOption","removeItem","clearOptions","getElementWithValue","$options","index","eq","$els","getAttribute","values","buffer","isPending","control","insertBefore","value_next","wasFull","insertAtCaret","remove","persist","caret","lock","unlock","output","refreshValidityState","refreshClasses","invalid","prop","toggleClass","isEmptyObject","opts","label","removeAttr","visibility","display","getBoundingClientRect","$el","el","option_select","$option_select","$tail","onDelete","pop","tail","valueLength","advanceCaret","$adj","$child","append","enable","destroy","show","removeData","undefined","body","templateName","cache","disabledField","clearCache","createFilter","defaults","allowEmptyOption","dataAttr","settings_user","attr_data","field_value","field_disabled","field_optgroup_label","field_optgroup_value","tag_name","settings_element","optionsMap","readData","JSON","parse","arr","addGroup","$optgroup","init_select","data_raw","init_textbox","support","sortable","forcePlaceholderSize","disabled","ui","helper","overflow","active","title","headerClass","titleRowClass","labelClass","closeClass","$dropdown_header","equalizeWidth","equalizeHeight","closest","prev","next","getScrollbarWidth","div","doc","offsetWidth","clientWidth","removeChild","equalizeSizes","height_max","width_last","width_parent","$optgroups","innerWidth","round","thisRef","html_container","html_element","render_item","multiClose","context","singleClose"],"mappings":"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","file":"selectize.js","sourcesContent":["/**\n * sifter.js\n * Copyright (c) 2013 Brian Reavis & contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n * @author Brian Reavis \n */\n\n(function(root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine('sifter', factory);\n\t} else if (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t} else {\n\t\troot.Sifter = factory();\n\t}\n}(this, function() {\n\n\t/**\n\t * Textually searches arrays and hashes of objects\n\t * by property (or multiple properties). Designed\n\t * specifically for autocomplete.\n\t *\n\t * @constructor\n\t * @param {array|object} items\n\t * @param {object} items\n\t */\n\tvar Sifter = function(items, settings) {\n\t\tthis.items = items;\n\t\tthis.settings = settings || {diacritics: true};\n\t};\n\n\t/**\n\t * Splits a search string into an array of individual\n\t * regexps to be used to match results.\n\t *\n\t * @param {string} query\n\t * @returns {array}\n\t */\n\tSifter.prototype.tokenize = function(query) {\n\t\tquery = trim(String(query || '').toLowerCase());\n\t\tif (!query || !query.length) return [];\n\n\t\tvar i, n, regex, letter;\n\t\tvar tokens = [];\n\t\tvar words = query.split(/ +/);\n\n\t\tfor (i = 0, n = words.length; i < n; i++) {\n\t\t\tregex = escape_regex(words[i]);\n\t\t\tif (this.settings.diacritics) {\n\t\t\t\tfor (letter in DIACRITICS) {\n\t\t\t\t\tif (DIACRITICS.hasOwnProperty(letter)) {\n\t\t\t\t\t\tregex = regex.replace(new RegExp(letter, 'g'), DIACRITICS[letter]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttokens.push({\n\t\t\t\tstring : words[i],\n\t\t\t\tregex : new RegExp(regex, 'i')\n\t\t\t});\n\t\t}\n\n\t\treturn tokens;\n\t};\n\n\t/**\n\t * Iterates over arrays and hashes.\n\t *\n\t * ```\n\t * this.iterator(this.items, function(item, id) {\n\t * // invoked for each item\n\t * });\n\t * ```\n\t *\n\t * @param {array|object} object\n\t */\n\tSifter.prototype.iterator = function(object, callback) {\n\t\tvar iterator;\n\t\tif (is_array(object)) {\n\t\t\titerator = Array.prototype.forEach || function(callback) {\n\t\t\t\tfor (var i = 0, n = this.length; i < n; i++) {\n\t\t\t\t\tcallback(this[i], i, this);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\titerator = function(callback) {\n\t\t\t\tfor (var key in this) {\n\t\t\t\t\tif (this.hasOwnProperty(key)) {\n\t\t\t\t\t\tcallback(this[key], key, this);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\titerator.apply(object, [callback]);\n\t};\n\n\t/**\n\t * Returns a function to be used to score individual results.\n\t *\n\t * Good matches will have a higher score than poor matches.\n\t * If an item is not a match, 0 will be returned by the function.\n\t *\n\t * @param {object|string} search\n\t * @param {object} options (optional)\n\t * @returns {function}\n\t */\n\tSifter.prototype.getScoreFunction = function(search, options) {\n\t\tvar self, fields, tokens, token_count, nesting;\n\n\t\tself = this;\n\t\tsearch = self.prepareSearch(search, options);\n\t\ttokens = search.tokens;\n\t\tfields = search.options.fields;\n\t\ttoken_count = tokens.length;\n\t\tnesting = search.options.nesting;\n\n\t\t/**\n\t\t * Calculates how close of a match the\n\t\t * given value is against a search token.\n\t\t *\n\t\t * @param {mixed} value\n\t\t * @param {object} token\n\t\t * @return {number}\n\t\t */\n\t\tvar scoreValue = function(value, token) {\n\t\t\tvar score, pos;\n\n\t\t\tif (!value) return 0;\n\t\t\tvalue = String(value || '');\n\t\t\tpos = value.search(token.regex);\n\t\t\tif (pos === -1) return 0;\n\t\t\tscore = token.string.length / value.length;\n\t\t\tif (pos === 0) score += 0.5;\n\t\t\treturn score;\n\t\t};\n\n\t\t/**\n\t\t * Calculates the score of an object\n\t\t * against the search query.\n\t\t *\n\t\t * @param {object} token\n\t\t * @param {object} data\n\t\t * @return {number}\n\t\t */\n\t\tvar scoreObject = (function() {\n\t\t\tvar field_count = fields.length;\n\t\t\tif (!field_count) {\n\t\t\t\treturn function() { return 0; };\n\t\t\t}\n\t\t\tif (field_count === 1) {\n\t\t\t\treturn function(token, data) {\n\t\t\t\t\treturn scoreValue(getattr(data, fields[0], nesting), token);\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn function(token, data) {\n\t\t\t\tfor (var i = 0, sum = 0; i < field_count; i++) {\n\t\t\t\t\tsum += scoreValue(getattr(data, fields[i], nesting), token);\n\t\t\t\t}\n\t\t\t\treturn sum / field_count;\n\t\t\t};\n\t\t})();\n\n\t\tif (!token_count) {\n\t\t\treturn function() { return 0; };\n\t\t}\n\t\tif (token_count === 1) {\n\t\t\treturn function(data) {\n\t\t\t\treturn scoreObject(tokens[0], data);\n\t\t\t};\n\t\t}\n\n\t\tif (search.options.conjunction === 'and') {\n\t\t\treturn function(data) {\n\t\t\t\tvar score;\n\t\t\t\tfor (var i = 0, sum = 0; i < token_count; i++) {\n\t\t\t\t\tscore = scoreObject(tokens[i], data);\n\t\t\t\t\tif (score <= 0) return 0;\n\t\t\t\t\tsum += score;\n\t\t\t\t}\n\t\t\t\treturn sum / token_count;\n\t\t\t};\n\t\t} else {\n\t\t\treturn function(data) {\n\t\t\t\tfor (var i = 0, sum = 0; i < token_count; i++) {\n\t\t\t\t\tsum += scoreObject(tokens[i], data);\n\t\t\t\t}\n\t\t\t\treturn sum / token_count;\n\t\t\t};\n\t\t}\n\t};\n\n\t/**\n\t * Returns a function that can be used to compare two\n\t * results, for sorting purposes. If no sorting should\n\t * be performed, `null` will be returned.\n\t *\n\t * @param {string|object} search\n\t * @param {object} options\n\t * @return function(a,b)\n\t */\n\tSifter.prototype.getSortFunction = function(search, options) {\n\t\tvar i, n, self, field, fields, fields_count, multiplier, multipliers, get_field, implicit_score, sort;\n\n\t\tself = this;\n\t\tsearch = self.prepareSearch(search, options);\n\t\tsort = (!search.query && options.sort_empty) || options.sort;\n\n\t\t/**\n\t\t * Fetches the specified sort field value\n\t\t * from a search result item.\n\t\t *\n\t\t * @param {string} name\n\t\t * @param {object} result\n\t\t * @return {mixed}\n\t\t */\n\t\tget_field = function(name, result) {\n\t\t\tif (name === '$score') return result.score;\n\t\t\treturn getattr(self.items[result.id], name, options.nesting);\n\t\t};\n\n\t\t// parse options\n\t\tfields = [];\n\t\tif (sort) {\n\t\t\tfor (i = 0, n = sort.length; i < n; i++) {\n\t\t\t\tif (search.query || sort[i].field !== '$score') {\n\t\t\t\t\tfields.push(sort[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// the \"$score\" field is implied to be the primary\n\t\t// sort field, unless it's manually specified\n\t\tif (search.query) {\n\t\t\timplicit_score = true;\n\t\t\tfor (i = 0, n = fields.length; i < n; i++) {\n\t\t\t\tif (fields[i].field === '$score') {\n\t\t\t\t\timplicit_score = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (implicit_score) {\n\t\t\t\tfields.unshift({field: '$score', direction: 'desc'});\n\t\t\t}\n\t\t} else {\n\t\t\tfor (i = 0, n = fields.length; i < n; i++) {\n\t\t\t\tif (fields[i].field === '$score') {\n\t\t\t\t\tfields.splice(i, 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tmultipliers = [];\n\t\tfor (i = 0, n = fields.length; i < n; i++) {\n\t\t\tmultipliers.push(fields[i].direction === 'desc' ? -1 : 1);\n\t\t}\n\n\t\t// build function\n\t\tfields_count = fields.length;\n\t\tif (!fields_count) {\n\t\t\treturn null;\n\t\t} else if (fields_count === 1) {\n\t\t\tfield = fields[0].field;\n\t\t\tmultiplier = multipliers[0];\n\t\t\treturn function(a, b) {\n\t\t\t\treturn multiplier * cmp(\n\t\t\t\t\tget_field(field, a),\n\t\t\t\t\tget_field(field, b)\n\t\t\t\t);\n\t\t\t};\n\t\t} else {\n\t\t\treturn function(a, b) {\n\t\t\t\tvar i, result, a_value, b_value, field;\n\t\t\t\tfor (i = 0; i < fields_count; i++) {\n\t\t\t\t\tfield = fields[i].field;\n\t\t\t\t\tresult = multipliers[i] * cmp(\n\t\t\t\t\t\tget_field(field, a),\n\t\t\t\t\t\tget_field(field, b)\n\t\t\t\t\t);\n\t\t\t\t\tif (result) return result;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t};\n\t\t}\n\t};\n\n\t/**\n\t * Parses a search query and returns an object\n\t * with tokens and fields ready to be populated\n\t * with results.\n\t *\n\t * @param {string} query\n\t * @param {object} options\n\t * @returns {object}\n\t */\n\tSifter.prototype.prepareSearch = function(query, options) {\n\t\tif (typeof query === 'object') return query;\n\n\t\toptions = extend({}, options);\n\n\t\tvar option_fields = options.fields;\n\t\tvar option_sort = options.sort;\n\t\tvar option_sort_empty = options.sort_empty;\n\n\t\tif (option_fields && !is_array(option_fields)) options.fields = [option_fields];\n\t\tif (option_sort && !is_array(option_sort)) options.sort = [option_sort];\n\t\tif (option_sort_empty && !is_array(option_sort_empty)) options.sort_empty = [option_sort_empty];\n\n\t\treturn {\n\t\t\toptions : options,\n\t\t\tquery : String(query || '').toLowerCase(),\n\t\t\ttokens : this.tokenize(query),\n\t\t\ttotal : 0,\n\t\t\titems : []\n\t\t};\n\t};\n\n\t/**\n\t * Searches through all items and returns a sorted array of matches.\n\t *\n\t * The `options` parameter can contain:\n\t *\n\t * - fields {string|array}\n\t * - sort {array}\n\t * - score {function}\n\t * - filter {bool}\n\t * - limit {integer}\n\t *\n\t * Returns an object containing:\n\t *\n\t * - options {object}\n\t * - query {string}\n\t * - tokens {array}\n\t * - total {int}\n\t * - items {array}\n\t *\n\t * @param {string} query\n\t * @param {object} options\n\t * @returns {object}\n\t */\n\tSifter.prototype.search = function(query, options) {\n\t\tvar self = this, value, score, search, calculateScore;\n\t\tvar fn_sort;\n\t\tvar fn_score;\n\n\t\tsearch = this.prepareSearch(query, options);\n\t\toptions = search.options;\n\t\tquery = search.query;\n\n\t\t// generate result scoring function\n\t\tfn_score = options.score || self.getScoreFunction(search);\n\n\t\t// perform search and sort\n\t\tif (query.length) {\n\t\t\tself.iterator(self.items, function(item, id) {\n\t\t\t\tscore = fn_score(item);\n\t\t\t\tif (options.filter === false || score > 0) {\n\t\t\t\t\tsearch.items.push({'score': score, 'id': id});\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tself.iterator(self.items, function(item, id) {\n\t\t\t\tsearch.items.push({'score': 1, 'id': id});\n\t\t\t});\n\t\t}\n\n\t\tfn_sort = self.getSortFunction(search, options);\n\t\tif (fn_sort) search.items.sort(fn_sort);\n\n\t\t// apply limits\n\t\tsearch.total = search.items.length;\n\t\tif (typeof options.limit === 'number') {\n\t\t\tsearch.items = search.items.slice(0, options.limit);\n\t\t}\n\n\t\treturn search;\n\t};\n\n\t// utilities\n\t// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n\tvar cmp = function(a, b) {\n\t\tif (typeof a === 'number' && typeof b === 'number') {\n\t\t\treturn a > b ? 1 : (a < b ? -1 : 0);\n\t\t}\n\t\ta = asciifold(String(a || ''));\n\t\tb = asciifold(String(b || ''));\n\t\tif (a > b) return 1;\n\t\tif (b > a) return -1;\n\t\treturn 0;\n\t};\n\n\tvar extend = function(a, b) {\n\t\tvar i, n, k, object;\n\t\tfor (i = 1, n = arguments.length; i < n; i++) {\n\t\t\tobject = arguments[i];\n\t\t\tif (!object) continue;\n\t\t\tfor (k in object) {\n\t\t\t\tif (object.hasOwnProperty(k)) {\n\t\t\t\t\ta[k] = object[k];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn a;\n\t};\n\n\t/**\n\t * A property getter resolving dot-notation\n\t * @param {Object} obj The root object to fetch property on\n\t * @param {String} name The optionally dotted property name to fetch\n\t * @param {Boolean} nesting Handle nesting or not\n\t * @return {Object} The resolved property value\n\t */\n\tvar getattr = function(obj, name, nesting) {\n\t if (!obj || !name) return;\n\t if (!nesting) return obj[name];\n\t var names = name.split(\".\");\n\t while(names.length && (obj = obj[names.shift()]));\n\t return obj;\n\t};\n\n\tvar trim = function(str) {\n\t\treturn (str + '').replace(/^\\s+|\\s+$|/g, '');\n\t};\n\n\tvar escape_regex = function(str) {\n\t\treturn (str + '').replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n\t};\n\n\tvar is_array = Array.isArray || (typeof $ !== 'undefined' && $.isArray) || function(object) {\n\t\treturn Object.prototype.toString.call(object) === '[object Array]';\n\t};\n\n\tvar DIACRITICS = {\n\t\t'a': '[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]',\n\t\t'b': '[b␢βΒB฿𐌁ᛒ]',\n\t\t'c': '[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄCc]',\n\t\t'd': '[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅDdð]',\n\t\t'e': '[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇEeɘǝƏƐε]',\n\t\t'f': '[fƑƒḞḟ]',\n\t\t'g': '[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]',\n\t\t'h': '[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]',\n\t\t'i': '[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪIi]',\n\t\t'j': '[jȷĴĵɈɉʝɟʲ]',\n\t\t'k': '[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]',\n\t\t'l': '[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟLl]',\n\t\t'n': '[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴNnŊŋ]',\n\t\t'o': '[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]',\n\t\t'p': '[pṔṕṖṗⱣᵽƤƥᵱ]',\n\t\t'q': '[qꝖꝗʠɊɋꝘꝙq̃]',\n\t\t'r': '[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]',\n\t\t's': '[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]',\n\t\t't': '[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]',\n\t\t'u': '[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]',\n\t\t'v': '[vṼṽṾṿƲʋꝞꝟⱱʋ]',\n\t\t'w': '[wẂẃẀẁŴŵẄẅẆẇẈẉ]',\n\t\t'x': '[xẌẍẊẋχ]',\n\t\t'y': '[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]',\n\t\t'z': '[zŹźẐẑŽžŻżẒẓẔẕƵƶ]'\n\t};\n\n\tvar asciifold = (function() {\n\t\tvar i, n, k, chunk;\n\t\tvar foreignletters = '';\n\t\tvar lookup = {};\n\t\tfor (k in DIACRITICS) {\n\t\t\tif (DIACRITICS.hasOwnProperty(k)) {\n\t\t\t\tchunk = DIACRITICS[k].substring(2, DIACRITICS[k].length - 1);\n\t\t\t\tforeignletters += chunk;\n\t\t\t\tfor (i = 0, n = chunk.length; i < n; i++) {\n\t\t\t\t\tlookup[chunk.charAt(i)] = k;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tvar regexp = new RegExp('[' + foreignletters + ']', 'g');\n\t\treturn function(str) {\n\t\t\treturn str.replace(regexp, function(foreignletter) {\n\t\t\t\treturn lookup[foreignletter];\n\t\t\t}).toLowerCase();\n\t\t};\n\t})();\n\n\n\t// export\n\t// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n\treturn Sifter;\n}));\n\n\n\n/**\n * microplugin.js\n * Copyright (c) 2013 Brian Reavis & contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n * @author Brian Reavis \n */\n\n(function(root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine('microplugin', factory);\n\t} else if (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t} else {\n\t\troot.MicroPlugin = factory();\n\t}\n}(this, function() {\n\tvar MicroPlugin = {};\n\n\tMicroPlugin.mixin = function(Interface) {\n\t\tInterface.plugins = {};\n\n\t\t/**\n\t\t * Initializes the listed plugins (with options).\n\t\t * Acceptable formats:\n\t\t *\n\t\t * List (without options):\n\t\t * ['a', 'b', 'c']\n\t\t *\n\t\t * List (with options):\n\t\t * [{'name': 'a', options: {}}, {'name': 'b', options: {}}]\n\t\t *\n\t\t * Hash (with options):\n\t\t * {'a': { ... }, 'b': { ... }, 'c': { ... }}\n\t\t *\n\t\t * @param {mixed} plugins\n\t\t */\n\t\tInterface.prototype.initializePlugins = function(plugins) {\n\t\t\tvar i, n, key;\n\t\t\tvar self = this;\n\t\t\tvar queue = [];\n\n\t\t\tself.plugins = {\n\t\t\t\tnames : [],\n\t\t\t\tsettings : {},\n\t\t\t\trequested : {},\n\t\t\t\tloaded : {}\n\t\t\t};\n\n\t\t\tif (utils.isArray(plugins)) {\n\t\t\t\tfor (i = 0, n = plugins.length; i < n; i++) {\n\t\t\t\t\tif (typeof plugins[i] === 'string') {\n\t\t\t\t\t\tqueue.push(plugins[i]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.plugins.settings[plugins[i].name] = plugins[i].options;\n\t\t\t\t\t\tqueue.push(plugins[i].name);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (plugins) {\n\t\t\t\tfor (key in plugins) {\n\t\t\t\t\tif (plugins.hasOwnProperty(key)) {\n\t\t\t\t\t\tself.plugins.settings[key] = plugins[key];\n\t\t\t\t\t\tqueue.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\twhile (queue.length) {\n\t\t\t\tself.require(queue.shift());\n\t\t\t}\n\t\t};\n\n\t\tInterface.prototype.loadPlugin = function(name) {\n\t\t\tvar self = this;\n\t\t\tvar plugins = self.plugins;\n\t\t\tvar plugin = Interface.plugins[name];\n\n\t\t\tif (!Interface.plugins.hasOwnProperty(name)) {\n\t\t\t\tthrow new Error('Unable to find \"' + name + '\" plugin');\n\t\t\t}\n\n\t\t\tplugins.requested[name] = true;\n\t\t\tplugins.loaded[name] = plugin.fn.apply(self, [self.plugins.settings[name] || {}]);\n\t\t\tplugins.names.push(name);\n\t\t};\n\n\t\t/**\n\t\t * Initializes a plugin.\n\t\t *\n\t\t * @param {string} name\n\t\t */\n\t\tInterface.prototype.require = function(name) {\n\t\t\tvar self = this;\n\t\t\tvar plugins = self.plugins;\n\n\t\t\tif (!self.plugins.loaded.hasOwnProperty(name)) {\n\t\t\t\tif (plugins.requested[name]) {\n\t\t\t\t\tthrow new Error('Plugin has circular dependency (\"' + name + '\")');\n\t\t\t\t}\n\t\t\t\tself.loadPlugin(name);\n\t\t\t}\n\n\t\t\treturn plugins.loaded[name];\n\t\t};\n\n\t\t/**\n\t\t * Registers a plugin.\n\t\t *\n\t\t * @param {string} name\n\t\t * @param {function} fn\n\t\t */\n\t\tInterface.define = function(name, fn) {\n\t\t\tInterface.plugins[name] = {\n\t\t\t\t'name' : name,\n\t\t\t\t'fn' : fn\n\t\t\t};\n\t\t};\n\t};\n\n\tvar utils = {\n\t\tisArray: Array.isArray || function(vArg) {\n\t\t\treturn Object.prototype.toString.call(vArg) === '[object Array]';\n\t\t}\n\t};\n\n\treturn MicroPlugin;\n}));\n\n/**\n * selectize.js (v0.12.6)\n * Copyright (c) 2013–2015 Brian Reavis & contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n * @author Brian Reavis \n */\n\n/*jshint curly:false */\n/*jshint browser:true */\n\n(function(root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine('selectize', ['jquery','sifter','microplugin'], factory);\n\t} else if (typeof exports === 'object') {\n\t\tmodule.exports = factory(require('jquery'), require('sifter'), require('microplugin'));\n\t} else {\n\t\troot.Selectize = factory(root.jQuery, root.Sifter, root.MicroPlugin);\n\t}\n}(this, function($, Sifter, MicroPlugin) {\n\t'use strict';\n\n\tvar highlight = function($element, pattern) {\n\t\tif (typeof pattern === 'string' && !pattern.length) return;\n\t\tvar regex = (typeof pattern === 'string') ? new RegExp(pattern, 'i') : pattern;\n\t\n\t\tvar highlight = function(node) {\n\t\t\tvar skip = 0;\n\t\t\t// Wrap matching part of text node with highlighting , e.g.\n\t\t\t// Soccer -> Soccer for regex = /soc/i\n\t\t\tif (node.nodeType === 3) {\n\t\t\t\tvar pos = node.data.search(regex);\n\t\t\t\tif (pos >= 0 && node.data.length > 0) {\n\t\t\t\t\tvar match = node.data.match(regex);\n\t\t\t\t\tvar spannode = document.createElement('span');\n\t\t\t\t\tspannode.className = 'highlight';\n\t\t\t\t\tvar middlebit = node.splitText(pos);\n\t\t\t\t\tvar endbit = middlebit.splitText(match[0].length);\n\t\t\t\t\tvar middleclone = middlebit.cloneNode(true);\n\t\t\t\t\tspannode.appendChild(middleclone);\n\t\t\t\t\tmiddlebit.parentNode.replaceChild(spannode, middlebit);\n\t\t\t\t\tskip = 1;\n\t\t\t\t}\n\t\t\t} \n\t\t\t// Recurse element node, looking for child text nodes to highlight, unless element \n\t\t\t// is childless,