var MicroEvent=function(){};MicroEvent.prototype={bind:function(n,t){this._events=this._events||{};this._events[n]=this._events[n]||[];this._events[n].push(t)},unbind:function(n,t){(this._events=this._events||{},n in this._events!=!1)&&this._events[n].splice(this._events[n].indexOf(t),1)},trigger:function(n){if(this._events=this._events||{},n in this._events!=!1)for(var t=0;t<this._events[n].length;t++)this._events[n][t].apply(this,Array.prototype.slice.call(arguments,1))}};MicroEvent.mixin=function(n){for(var i=["bind","unbind","trigger"],t=0;t<i.length;t++)typeof n=="function"?n.prototype[i[t]]=MicroEvent.prototype[i[t]]:n[i[t]]=MicroEvent.prototype[i[t]];return n};typeof module!="undefined"&&"exports"in module&&(module.exports=MicroEvent),function(n,t){typeof define=="function"&&define.amd?define(t):typeof exports=="object"?module.exports=t():n.MicroPlugin=t()}(this,function(){var n={},t;return n.mixin=function(n){n.plugins={};n.prototype.initializePlugins=function(n){var i,e,r,f=this,u=[];if(f.plugins={names:[],settings:{},requested:{},loaded:{}},t.isArray(n))for(i=0,e=n.length;i<e;i++)typeof n[i]=="string"?u.push(n[i]):(f.plugins.settings[n[i].name]=n[i].options,u.push(n[i].name));else if(n)for(r in n)n.hasOwnProperty(r)&&(f.plugins.settings[r]=n[r],u.push(r));while(u.length)f.require(u.shift())};n.prototype.loadPlugin=function(t){var i=this,r=i.plugins,u=n.plugins[t];if(!n.plugins.hasOwnProperty(t))throw new Error('Unable to find "'+t+'" plugin');r.requested[t]=!0;r.loaded[t]=u.fn.apply(i,[i.plugins.settings[t]||{}]);r.names.push(t)};n.prototype.require=function(n){var t=this,i=t.plugins;if(!t.plugins.loaded.hasOwnProperty(n)){if(i.requested[n])throw new Error('Plugin has circular dependency ("'+n+'")');t.loadPlugin(n)}return i.loaded[n]};n.define=function(t,i){n.plugins[t]={name:t,fn:i}}},t={isArray:Array.isArray||function(n){return Object.prototype.toString.call(n)==="[object Array]"}},n}),function(n,t){typeof define=="function"&&define.amd?define("sifter",t):typeof exports=="object"?module.exports=t():n.Sifter=t()}(this,function(){var n=function(n,t){this.items=n;this.settings=t||{diacritics:!0}};n.prototype.tokenize=function(n){if(n=e(String(n||"").toLowerCase()),!n||!n.length)return[];for(var r,u,h=[],f=n.split(/ +/),i=0,s=f.length;i<s;i++){if(r=o(f[i]),this.settings.diacritics)for(u in t)t.hasOwnProperty(u)&&(r=r.replace(new RegExp(u,"g"),t[u]));h.push({string:f[i],regex:new RegExp(r,"i")})}return h};n.prototype.iterator=function(n,t){var r;r=i(n)?Array.prototype.forEach||function(n){for(var t=0,i=this.length;t<i;t++)n(this[t],t,this)}:function(n){for(var t in this)this.hasOwnProperty(t)&&n(this[t],t,this)};r.apply(n,[t])};n.prototype.getScoreFunction=function(n,t){var o,u,r,i,e,f;return(o=this,n=o.prepareSearch(n,t),r=n.tokens,u=n.options.fields,i=r.length,e=function(n,t){var i,r;return n?(n=String(n||""),r=n.search(t.regex),r===-1)?0:(i=t.string.length/n.length,r===0&&(i+=.5),i):0},f=function(){var n=u.length;return n?n===1?function(n,t){return e(t[u[0]],n)}:function(t,i){for(var r=0,f=0;r<n;r++)f+=e(i[u[r]],t);return f/n}:function(){return 0}}(),!i)?function(){return 0}:i===1?function(n){return f(r[0],n)}:n.options.conjunction==="and"?function(n){for(var t,u=0,e=0;u<i;u++){if(t=f(r[u],n),t<=0)return 0;e+=t}return e/i}:function(n){for(var t=0,u=0;t<i;t++)u+=f(r[t],n);return u/i}};n.prototype.getSortFunction=function(n,t){var i,f,c,l,u,s,v,h,e,a,o;if(c=this,n=c.prepareSearch(n,t),o=!n.query&&t.sort_empty||t.sort,e=function(n,t){return n==="$score"?t.score:c.items[t.id][n]},u=[],o)for(i=0,f=o.length;i<f;i++)(n.query||o[i].field!=="$score")&&u.push(o[i]);if(n.query){for(a=!0,i=0,f=u.length;i<f;i++)if(u[i].field==="$score"){a=!1;break}a&&u.unshift({field:"$score",direction:"desc"})}else for(i=0,f=u.length;i<f;i++)if(u[i].field==="$score"){u.splice(i,1);break}for(h=[],i=0,f=u.length;i<f;i++)h.push(u[i].direction==="desc"?-1:1);return s=u.length,s?s===1?(l=u[0].field,v=h[0],function(n,t){return v*r(e(l,n),e(l,t))}):function(n,t){for(var f,o,i=0;i<s;i++)if(o=u[i].field,f=h[i]*r(e(o,n),e(o,t)),f)return f;return 0}:null};n.prototype.prepareSearch=function(n,t){if(typeof n=="object")return n;t=f({},t);var r=t.fields,u=t.sort,e=t.sort_empty;return r&&!i(r)&&(t.fields=[r]),u&&!i(u)&&(t.sort=[u]),e&&!i(e)&&(t.sort_empty=[e]),{options:t,query:String(n||"").toLowerCase(),tokens:this.tokenize(n),total:0,items:[]}};n.prototype.search=function(n,t){var r=this,u,i,f,e;return i=this.prepareSearch(n,t),t=i.options,n=i.query,e=t.score||r.getScoreFunction(i),n.length?r.iterator(r.items,function(n,r){u=e(n);(t.filter===!1||u>0)&&i.items.push({score:u,id:r})}):r.iterator(r.items,function(n,t){i.items.push({score:1,id:t})}),f=r.getSortFunction(i,t),f&&i.items.sort(f),i.total=i.items.length,typeof t.limit=="number"&&(i.items=i.items.slice(0,t.limit)),i};var r=function(n,t){return typeof n=="number"&&typeof t=="number"?n>t?1:n<t?-1:0:(n=u(String(n||"")),t=u(String(t||"")),n>t)?1:t>n?-1:0},f=function(n){for(var r,t,i=1,u=arguments.length;i<u;i++)if(t=arguments[i],t)for(r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);return n},e=function(n){return(n+"").replace(/^\s+|\s+$|/g,"")},o=function(n){return(n+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},i=Array.isArray||$&&$.isArray||function(n){return Object.prototype.toString.call(n)==="[object Array]"},t={a:"[aÀÁÂÃÄÅàáâãäåĀāąĄ]",c:"[cÇçćĆčČ]",d:"[dđĐďĎ]",e:"[eÈÉÊËèéêëěĚĒēęĘ]",i:"[iÌÍÎÏìíîïĪī]",l:"[lłŁ]",n:"[nÑñňŇńŃ]",o:"[oÒÓÔÕÕÖØòóôõöøŌō]",r:"[rřŘ]",s:"[sŠšśŚ]",t:"[tťŤ]",u:"[uÙÚÛÜùúûüůŮŪū]",y:"[yŸÿýÝ]",z:"[zŽžżŻźŹ]"},u=function(){var i,u,n,r,f="",e={},o;for(n in t)if(t.hasOwnProperty(n))for(r=t[n].substring(2,t[n].length-1),f+=r,i=0,u=r.length;i<u;i++)e[r.charAt(i)]=n;return o=new RegExp("["+f+"]","g"),function(n){return n.replace(o,function(n){return e[n]}).toLowerCase()}}();return n}),function(n,t){typeof define=="function"&&define.amd?define("microplugin",t):typeof exports=="object"?module.exports=t():n.MicroPlugin=t()}(this,function(){var n={},t;return n.mixin=function(n){n.plugins={};n.prototype.initializePlugins=function(n){var i,e,r,f=this,u=[];if(f.plugins={names:[],settings:{},requested:{},loaded:{}},t.isArray(n))for(i=0,e=n.length;i<e;i++)typeof n[i]=="string"?u.push(n[i]):(f.plugins.settings[n[i].name]=n[i].options,u.push(n[i].name));else if(n)for(r in n)n.hasOwnProperty(r)&&(f.plugins.settings[r]=n[r],u.push(r));while(u.length)f.require(u.shift())};n.prototype.loadPlugin=function(t){var i=this,r=i.plugins,u=n.plugins[t];if(!n.plugins.hasOwnProperty(t))throw new Error('Unable to find "'+t+'" plugin');r.requested[t]=!0;r.loaded[t]=u.fn.apply(i,[i.plugins.settings[t]||{}]);r.names.push(t)};n.prototype.require=function(n){var t=this,i=t.plugins;if(!t.plugins.loaded.hasOwnProperty(n)){if(i.requested[n])throw new Error('Plugin has circular dependency ("'+n+'")');t.loadPlugin(n)}return i.loaded[n]};n.define=function(t,i){n.plugins[t]={name:t,fn:i}}},t={isArray:Array.isArray||function(n){return Object.prototype.toString.call(n)==="[object Array]"}},n}),function(n,t){typeof define=="function"&&define.amd?define("selectize",["jquery","sifter","microplugin"],t):typeof exports=="object"?module.exports=t(require("jquery"),require("sifter"),require("microplugin")):n.Selectize=t(n.jQuery,n.Sifter,n.MicroPlugin)}(this,function(n,t,i){"use strict";var nt=function(n,t){if(typeof t!="string"||t.length){var i=typeof t=="string"?new RegExp(t,"i"):t,r=function(n){var o=0,e,s,u,t;if(n.nodeType===3){if(e=n.data.search(i),e>=0&&n.data.length>0){s=n.data.match(i);u=document.createElement("span");u.className="highlight";var f=n.splitText(e),c=f.splitText(s[0].length),h=f.cloneNode(!0);u.appendChild(h);f.parentNode.replaceChild(u,f);o=1}}else if(n.nodeType===1&&n.childNodes&&!/(script|style)/i.test(n.tagName))for(t=0;t<n.childNodes.length;++t)t+=r(n.childNodes[t]);return o};return n.each(function(){r(this)})}},s=function(){};s.prototype={on:function(n,t){this._events=this._events||{};this._events[n]=this._events[n]||[];this._events[n].push(t)},off:function(n,t){var i=arguments.length;if(i===0)return delete this._events;if(i===1)return delete this._events[n];(this._events=this._events||{},n in this._events!=!1)&&this._events[n].splice(this._events[n].indexOf(t),1)},trigger:function(n){if(this._events=this._events||{},n in this._events!=!1)for(var t=0;t<this._events[n].length;t++)this._events[n][t].apply(this,Array.prototype.slice.call(arguments,1))}};s.mixin=function(n){for(var i=["on","off","trigger"],t=0;t<i.length;t++)n.prototype[i[t]]=s.prototype[i[t]]};var o=/Mac/.test(navigator.userAgent),tt=65,it=13,rt=27,l=37,ut=38,ft=80,p=39,et=40,ot=78,f=8,a=46,w=16,st=o?91:17,ht=o?18:17,v=9,h=1,ct=2,b=!/android/i.test(window.navigator.userAgent)&&!!document.createElement("form").validity,k=function(n){return typeof n!="undefined"},u=function(n){return typeof n=="undefined"||n===null?null:typeof n=="boolean"?n?"1":"0":n+""},e=function(n){return(n+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},d=function(n){return(n+"").replace(/\$/g,"$$$$")},c={};c.before=function(n,t,i){var r=n[t];n[t]=function(){return i.apply(n,arguments),r.apply(n,arguments)}};c.after=function(n,t,i){var r=n[t];n[t]=function(){var t=r.apply(n,arguments);return i.apply(n,arguments),t}};var lt=function(n){var t=!1;return function(){t||(t=!0,n.apply(this,arguments))}},at=function(n,t){var i;return function(){var r=this,u=arguments;window.clearTimeout(i);i=window.setTimeout(function(){n.apply(r,u)},t)}},g=function(n,t,i){var u,f=n.trigger,r={};n.trigger=function(){var i=arguments[0];if(t.indexOf(i)!==-1)r[i]=arguments;else return f.apply(n,arguments)};i.apply(n,[]);n.trigger=f;for(u in r)r.hasOwnProperty(u)&&f.apply(n,r[u])},vt=function(n,t,i,r){n.on(t,i,function(t){for(var i=t.target;i&&i.parentNode!==n[0];)i=i.parentNode;return t.currentTarget=i,r.apply(this,[t])})},y=function(n){var t={},i,r;return"selectionStart"in n?(t.start=n.selectionStart,t.length=n.selectionEnd-t.start):document.selection&&(n.focus(),i=document.selection.createRange(),r=document.selection.createRange().text.length,i.moveStart("character",-n.value.length),t.start=i.text.length-r,t.length=r),t},yt=function(n,t,i){var r,f,u={};if(i)for(r=0,f=i.length;r<f;r++)u[i[r]]=n.css(i[r]);else u=n.css();t.css(u)},pt=function(t,i){var r,u;return t?(r=n("<test>").css({position:"absolute",top:-99999,left:-99999,width:"auto",padding:0,whiteSpace:"pre"}).text(t).appendTo("body"),yt(i,r,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]),u=r.width(),r.remove(),u):0},wt=function(n){var t=null,i=function(i,r){var u,e,l,c,h,v,s,o;(i=i||window.event||{},r=r||{},i.metaKey||i.altKey)||(r.force||n.data("grow")!==!1)&&(u=n.val(),i.type&&i.type.toLowerCase()==="keydown"&&(e=i.keyCode,l=e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57||e===32,e===a||e===f?(o=y(n[0]),o.length?u=u.substring(0,o.start)+u.substring(o.start+o.length):e===f&&o.start?u=u.substring(0,o.start-1)+u.substring(o.start+1):e===a&&typeof o.start!="undefined"&&(u=u.substring(0,o.start)+u.substring(o.start+1))):l&&(v=i.shiftKey,s=String.fromCharCode(i.keyCode),s=v?s.toUpperCase():s.toLowerCase(),u+=s)),c=n.attr("placeholder"),!u&&c&&(u=c),h=pt(u,n)+4,h!==t&&(t=h,n.width(h),n.triggerHandler("resize")))};n.on("keydown keyup update blur",i);i()},r=function(i,u){var e,s,c,o,f=this,l;if(o=i[0],o.selectize=f,l=window.getComputedStyle&&window.getComputedStyle(o,null),c=l?l.getPropertyValue("direction"):o.currentStyle&&o.currentStyle.direction,c=c||i.parents("[dir]:first").attr("dir")||"",n.extend(f,{order:0,settings:u,$input:i,tabIndex:i.attr("tabindex")||"",tagType:o.tagName.toLowerCase()==="select"?h:ct,rtl:/rtl/i.test(c),eventNS:".selectize"+ ++r.count,highlightedValue:null,isOpen:!1,isDisabled:!1,isRequired:i.is("[required]"),isInvalid:!1,isLocked:!1,isFocused:!1,isInputHidden:!1,isSetup:!1,isShiftDown:!1,isCmdDown:!1,isCtrlDown:!1,ignoreFocus:!1,ignoreBlur:!1,ignoreHover:!1,hasOptions:!1,currentResults:null,lastValue:"",caretPos:0,loading:0,loadedSearches:{},$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:u.loadThrottle===null?f.onSearchChange:at(f.onSearchChange,u.loadThrottle)}),f.sifter=new t(this.options,{diacritics:u.diacritics}),f.settings.options){for(e=0,s=f.settings.options.length;e<s;e++)f.registerOption(f.settings.options[e]);delete f.settings.options}if(f.settings.optgroups){for(e=0,s=f.settings.optgroups.length;e<s;e++)f.registerOptionGroup(f.settings.optgroups[e]);delete f.settings.optgroups}f.settings.mode=f.settings.mode||(f.settings.maxItems===1?"single":"multi");typeof f.settings.hideSelected!="boolean"&&(f.settings.hideSelected=f.settings.mode==="multi");f.initializePlugins(f.settings.plugins);f.setupCallbacks();f.setupTemplates();f.setup()};return s.mixin(r),i.mixin(r),n.extend(r.prototype,{setup:function(){var t=this,r=t.settings,u=t.eventNS,p=n(window),l=n(document),i=t.$input,s,c,f,e,k,d,a,v,y,g;a=t.settings.mode;v=i.attr("class")||"";s=n("<div>").addClass(r.wrapperClass).addClass(v).addClass(a);c=n("<div>").addClass(r.inputClass).addClass("items").appendTo(s);f=n('<input type="text" autocomplete="off" />').appendTo(c).attr("tabindex",i.is(":disabled")?"-1":t.tabIndex);d=n(r.dropdownParent||s);e=n("<div>").addClass(r.dropdownClass).addClass(a).hide().appendTo(d);k=n("<div>").addClass(r.dropdownContentClass).appendTo(e);t.settings.copyClassesToDropdown&&e.addClass(v);s.css({width:i[0].style.width});t.plugins.names.length&&(y="plugin-"+t.plugins.names.join(" plugin-"),s.addClass(y),e.addClass(y));(r.maxItems===null||r.maxItems>1)&&t.tagType===h&&i.attr("multiple","multiple");t.settings.placeholder&&f.attr("placeholder",r.placeholder);!t.settings.splitOn&&t.settings.delimiter&&(g=t.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),t.settings.splitOn=new RegExp("\\s*"+g+"+\\s*"));i.attr("autocorrect")&&f.attr("autocorrect",i.attr("autocorrect"));i.attr("autocapitalize")&&f.attr("autocapitalize",i.attr("autocapitalize"));t.$wrapper=s;t.$control=c;t.$control_input=f;t.$dropdown=e;t.$dropdown_content=k;e.on("mouseenter","[data-selectable]",function(){return t.onOptionHover.apply(t,arguments)});e.on("mousedown click","[data-selectable]",function(){return t.onOptionSelect.apply(t,arguments)});vt(c,"mousedown","*:not(input)",function(){return t.onItemSelect.apply(t,arguments)});wt(f);c.on({mousedown:function(){return t.onMouseDown.apply(t,arguments)},click:function(){return t.onClick.apply(t,arguments)}});f.on({mousedown:function(n){n.stopPropagation()},keydown:function(){return t.onKeyDown.apply(t,arguments)},keyup:function(){return t.onKeyUp.apply(t,arguments)},keypress:function(){return t.onKeyPress.apply(t,arguments)},resize:function(){t.positionDropdown.apply(t,[])},blur:function(){return t.onBlur.apply(t,arguments)},focus:function(){return t.ignoreBlur=!1,t.onFocus.apply(t,arguments)},paste:function(){return t.onPaste.apply(t,arguments)}});l.on("keydown"+u,function(n){t.isCmdDown=n[o?"metaKey":"ctrlKey"];t.isCtrlDown=n[o?"altKey":"ctrlKey"];t.isShiftDown=n.shiftKey});l.on("keyup"+u,function(n){n.keyCode===ht&&(t.isCtrlDown=!1);n.keyCode===w&&(t.isShiftDown=!1);n.keyCode===st&&(t.isCmdDown=!1)});l.on("mousedown"+u,function(n){if(t.isFocused){if(n.target===t.$dropdown[0]||n.target.parentNode===t.$dropdown[0])return!1;t.$control.has(n.target).length||n.target===t.$control[0]||t.blur(n.target)}});p.on(["scroll"+u,"resize"+u].join(" "),function(){t.isOpen&&t.positionDropdown.apply(t,arguments)});p.on("mousemove"+u,function(){t.ignoreHover=!1});if(this.revertSettings={$children:i.children().detach(),tabindex:i.attr("tabindex")},i.attr("tabindex",-1).hide().after(t.$wrapper),n.isArray(r.items)&&(t.setValue(r.items),delete r.items),b)i.on("invalid"+u,function(n){n.preventDefault();t.isInvalid=!0;t.refreshState()});t.updateOriginalInput();t.refreshItems();t.refreshState();t.updatePlaceholder();t.isSetup=!0;i.is(":disabled")&&t.disable();t.on("change",this.onChange);if(i.data("selectize",t),i.addClass("selectized"),t.trigger("initialize"),r.preload===!0)t.onSearchChange("")},setupTemplates:function(){var t=this,i=t.settings.labelField,r=t.settings.optgroupLabelField,u={optgroup:function(n){return'<div class="optgroup">'+n.html+"<\/div>"},optgroup_header:function(n,t){return'<div class="optgroup-header" aria-label="'+t(n[r])+'">'+t(n[r])+"<\/div>"},option:function(n,t){return'<div class="option" aria-label="'+t(n[i])+'">'+t(n[i])+"<\/div>"},item:function(n,t){return'<div class="item" aria-label="'+t(n[i])+'">'+t(n[i])+"<\/div>"},option_create:function(n,t){return'<div class="create">Add <strong>'+t(n.input)+"<\/strong>&hellip;<\/div>"}};t.settings.render=n.extend({},u,t.settings.render)},setupCallbacks:function(){var n,t,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"};for(n in i)if(i.hasOwnProperty(n)&&(t=this.settings[i[n]],t))this.on(n,t)},onClick:function(n){var t=this;t.isFocused||(t.focus(),n.preventDefault())},onMouseDown:function(t){var i=this,r=t.isDefaultPrevented(),u=n(t.target);if(i.isFocused){if(t.target!==i.$control_input[0])return i.settings.mode==="single"?i.isOpen?i.close():i.open():r||i.setActiveItem(null),!1}else r||window.setTimeout(function(){i.focus()},0)},onChange:function(){this.$input.trigger("change")},onPaste:function(t){var i=this;i.isFull()||i.isInputHidden||i.isLocked?t.preventDefault():i.settings.splitOn&&setTimeout(function(){for(var r=n.trim(i.$control_input.val()||"").split(i.settings.splitOn),t=0,u=r.length;t<u;t++)i.createItem(r[t])},0)},onKeyPress:function(n){if(this.isLocked)return n&&n.preventDefault();var t=String.fromCharCode(n.keyCode||n.which);if(this.settings.create&&this.settings.mode==="multi"&&t===this.settings.delimiter)return this.createItem(),n.preventDefault(),!1},onKeyDown:function(n){var u=n.target===this.$control_input[0],t=this,i,r;if(t.isLocked){n.keyCode!==v&&n.preventDefault();return}switch(n.keyCode){case tt:if(t.isCmdDown){t.selectAll();return}break;case rt:t.isOpen&&(n.preventDefault(),n.stopPropagation(),t.close());return;case ot:if(!n.ctrlKey||n.altKey)break;case et:!t.isOpen&&t.hasOptions?t.open():t.$activeOption&&(t.ignoreHover=!0,i=t.getAdjacentOption(t.$activeOption,1),i.length&&t.setActiveOption(i,!0,!0));n.preventDefault();return;case ft:if(!n.ctrlKey||n.altKey)break;case ut:t.$activeOption&&(t.ignoreHover=!0,r=t.getAdjacentOption(t.$activeOption,-1),r.length&&t.setActiveOption(r,!0,!0));n.preventDefault();return;case it:if(t.isOpen&&t.$activeOption){t.onOptionSelect({currentTarget:t.$activeOption});n.preventDefault()}return;case l:t.advanceSelection(-1,n);return;case p:t.advanceSelection(1,n);return;case v:if(t.settings.selectOnTab&&t.isOpen&&t.$activeOption){t.onOptionSelect({currentTarget:t.$activeOption});t.isFull()||n.preventDefault()}t.settings.create&&t.createItem()&&n.preventDefault();return;case f:case a:t.deleteSelection(n);return}if((t.isFull()||t.isInputHidden)&&!(o?n.metaKey:n.ctrlKey)){n.preventDefault();return}},onKeyUp:function(n){var t=this,i;if(t.isLocked)return n&&n.preventDefault();if(i=t.$control_input.val()||"",t.lastValue!==i){t.lastValue=i;t.onSearchChange(i);t.refreshOptions();t.trigger("type",i)}},onSearchChange:function(n){var t=this,i=t.settings.load;i&&(t.loadedSearches.hasOwnProperty(n)||(t.loadedSearches[n]=!0,t.load(function(r){i.apply(t,[n,r])})))},onFocus:function(n){var t=this,i=t.isFocused;if(t.isDisabled)return t.blur(),n&&n.preventDefault(),!1;if(!t.ignoreFocus){if(t.isFocused=!0,t.settings.preload==="focus")t.onSearchChange("");i||t.trigger("focus");t.$activeItems.length||(t.showInput(),t.setActiveItem(null),t.refreshOptions(!!t.settings.openOnFocus));t.refreshState()}},onBlur:function(n,t){var i=this,r;if(i.isFocused&&(i.isFocused=!1,!i.ignoreFocus)){if(!i.ignoreBlur&&document.activeElement===i.$dropdown_content[0]){i.ignoreBlur=!0;i.onFocus(n);return}r=function(){i.close();i.setTextboxValue("");i.setActiveItem(null);i.setActiveOption(null);i.setCaret(i.items.length);i.refreshState();(t||document.body).focus();i.ignoreFocus=!1;i.trigger("blur")};i.ignoreFocus=!0;i.settings.create&&i.settings.createOnBlur?i.createItem(null,!1,r):r()}},onOptionHover:function(n){this.ignoreHover||this.setActiveOption(n.currentTarget,!1)},onOptionSelect:function(t){var r,u,i=this;t.preventDefault&&(t.preventDefault(),t.stopPropagation());u=n(t.currentTarget);u.hasClass("create")?i.createItem(null,function(){i.settings.closeAfterSelect&&i.close()}):(r=u.attr("data-value"),typeof r!="undefined"&&(i.lastQuery=null,i.setTextboxValue(""),i.addItem(r),i.settings.closeAfterSelect?i.close():!i.settings.hideSelected&&t.type&&/mouse/.test(t.type)&&i.setActiveOption(i.getOption(r))))},onItemSelect:function(n){var t=this;t.isLocked||t.settings.mode==="multi"&&(n.preventDefault(),t.setActiveItem(n.currentTarget,n))},load:function(n){var t=this,i=t.$wrapper.addClass(t.settings.loadingClass);t.loading++;n.apply(t,[function(n){t.loading=Math.max(t.loading-1,0);n&&n.length&&(t.addOption(n),t.refreshOptions(t.isFocused&&!t.isInputHidden));t.loading||i.removeClass(t.settings.loadingClass);t.trigger("load",n)}])},setTextboxValue:function(n){var t=this.$control_input,i=t.val()!==n;i&&(t.val(n).triggerHandler("update"),this.lastValue=n)},getValue:function(){return this.tagType===h&&this.$input.attr("multiple")?this.items:this.items.join(this.settings.delimiter)},setValue:function(n,t){var i=t?[]:["change"];g(this,i,function(){this.clear(t);this.addItems(n,t)})},setActiveItem:function(t,i){var r=this,e,o,h,u,f,s,c,l;if(r.settings.mode!=="single"){if(t=n(t),!t.length){n(r.$activeItems).removeClass("active");r.$activeItems=[];r.isFocused&&r.showInput();return}if(e=i&&i.type.toLowerCase(),e==="mousedown"&&r.isShiftDown&&r.$activeItems.length){for(l=r.$control.children(".active:last"),u=Array.prototype.indexOf.apply(r.$control[0].childNodes,[l[0]]),f=Array.prototype.indexOf.apply(r.$control[0].childNodes,[t[0]]),u>f&&(c=u,u=f,f=c),o=u;o<=f;o++)s=r.$control[0].childNodes[o],r.$activeItems.indexOf(s)===-1&&(n(s).addClass("active"),r.$activeItems.push(s));i.preventDefault()}else e==="mousedown"&&r.isCtrlDown||e==="keydown"&&this.isShiftDown?t.hasClass("active")?(h=r.$activeItems.indexOf(t[0]),r.$activeItems.splice(h,1),t.removeClass("active")):r.$activeItems.push(t.addClass("active")[0]):(n(r.$activeItems).removeClass("active"),r.$activeItems=[t.addClass("active")[0]]);r.hideInput();this.isFocused||r.focus()}},setActiveOption:function(t,i,r){var e,o,f,s,h,u=this;(u.$activeOption&&u.$activeOption.removeClass("active"),u.$activeOption=null,t=n(t),t.length)&&(u.$activeOption=t.addClass("active"),(i||!k(i))&&(e=u.$dropdown_content.height(),o=u.$activeOption.outerHeight(!0),i=u.$dropdown_content.scrollTop()||0,f=u.$activeOption.offset().top-u.$dropdown_content.offset().top+i,s=f,h=f-e+o,f+o>e+i?u.$dropdown_content.stop().animate({scrollTop:h},r?u.settings.scrollDuration:0):f<i&&u.$dropdown_content.stop().animate({scrollTop:s},r?u.settings.scrollDuration:0)))},selectAll:function(){var n=this;n.settings.mode!=="single"&&(n.$activeItems=Array.prototype.slice.apply(n.$control.children(":not(input)").addClass("active")),n.$activeItems.length&&(n.hideInput(),n.close()),n.focus())},hideInput:function(){var n=this;n.setTextboxValue("");n.$control_input.css({opacity:0,position:"absolute",left:n.rtl?1e4:-1e4});n.isInputHidden=!0},showInput:function(){this.$control_input.css({opacity:1,position:"relative",left:0});this.isInputHidden=!1},focus:function(){var n=this;n.isDisabled||(n.ignoreFocus=!0,n.$control_input[0].focus(),window.setTimeout(function(){n.ignoreFocus=!1;n.onFocus()},0))},blur:function(n){this.$control_input[0].blur();this.onBlur(null,n)},getScoreFunction:function(n){return this.sifter.getScoreFunction(n,this.getSearchOptions())},getSearchOptions:function(){var t=this.settings,n=t.sortField;return typeof n=="string"&&(n=[{field:n}]),{fields:t.searchField,conjunction:t.searchConjunction,sort:n}},search:function(t){var f,r,e,i=this,o=i.settings,s=this.getSearchOptions();if(o.score&&(e=i.settings.score.apply(this,[t]),typeof e!="function"))throw new Error('Selectize "score" setting must be a function that returns a function');if(t!==i.lastQuery?(i.lastQuery=t,r=i.sifter.search(t,n.extend(s,{score:e})),i.currentResults=r):r=n.extend(!0,{},i.currentResults),o.hideSelected)for(f=r.items.length-1;f>=0;f--)i.items.indexOf(u(r.items[f].id))!==-1&&r.items.splice(f,1);return r},refreshOptions:function(t){var f,a,tt,e,s,c,b,it,r,v,y,k,d,h,p,w;typeof t=="undefined"&&(t=!0);var i=this,g=n.trim(i.$control_input.val()),o=i.search(g),l=i.$dropdown_content,rt=i.$activeOption&&u(i.$activeOption.attr("data-value"));for(e=o.items.length,typeof i.settings.maxOptions=="number"&&(e=Math.min(e,i.settings.maxOptions)),s={},c=[],f=0;f<e;f++)for(b=i.options[o.items[f].id],it=i.render("option",b),r=b[i.settings.optgroupField]||"",v=n.isArray(r)?r:[r],a=0,tt=v&&v.length;a<tt;a++)r=v[a],i.optgroups.hasOwnProperty(r)||(r=""),s.hasOwnProperty(r)||(s[r]=[],c.push(r)),s[r].push(it);for(this.settings.lockOptgroupOrder&&c.sort(function(n,t){var r=i.optgroups[n].$order||0,u=i.optgroups[t].$order||0;return r-u}),y=[],f=0,e=c.length;f<e;f++)r=c[f],i.optgroups.hasOwnProperty(r)&&s[r].length?(k=i.render("optgroup_header",i.optgroups[r])||"",k+=s[r].join(""),y.push(i.render("optgroup",n.extend({},i.optgroups[r],{html:k})))):y.push(s[r].join(""));if(l.html(y.join("")),i.settings.highlight&&o.query.length&&o.tokens.length)for(f=0,e=o.tokens.length;f<e;f++)nt(l,o.tokens[f].regex);if(!i.settings.hideSelected)for(f=0,e=i.items.length;f<e;f++)i.getOption(i.items[f]).addClass("selected");d=i.canCreate(g);d&&(l.prepend(i.render("option_create",{input:g})),w=n(l[0].childNodes[0]));i.hasOptions=o.items.length>0||d;i.hasOptions?(o.items.length>0?(p=rt&&i.getOption(rt),p&&p.length?h=p:i.settings.mode==="single"&&i.items.length&&(h=i.getOption(i.items[0])),h&&h.length||(h=w&&!i.settings.addPrecedence?i.getAdjacentOption(w,1):l.find("[data-selectable]:first"))):h=w,i.setActiveOption(h),t&&!i.isOpen&&i.open()):(i.setActiveOption(null),t&&i.isOpen&&i.close())},addOption:function(t){var r,f,u,i=this;if(n.isArray(t)){for(r=0,f=t.length;r<f;r++)i.addOption(t[r]);return}(u=i.registerOption(t))&&(i.userOptions[u]=!0,i.lastQuery=null,i.trigger("option_add",u,t))},registerOption:function(n){var t=u(n[this.settings.valueField]);return!t||this.options.hasOwnProperty(t)?!1:(n.$order=n.$order||++this.order,this.options[t]=n,t)},registerOptionGroup:function(n){var t=u(n[this.settings.optgroupValueField]);return t?(n.$order=n.$order||++this.order,this.optgroups[t]=n,t):!1},addOptionGroup:function(n,t){t[this.settings.optgroupValueField]=n;(n=this.registerOptionGroup(t))&&this.trigger("optgroup_add",n,t)},removeOptionGroup:function(n){this.optgroups.hasOwnProperty(n)&&(delete this.optgroups[n],this.renderCache={},this.trigger("optgroup_remove",n))},clearOptionGroups:function(){this.optgroups={};this.renderCache={};this.trigger("optgroup_clear")},updateOption:function(t,i){var r=this,s,h,f,c,e,o,l;if((t=u(t),f=u(i[r.settings.valueField]),t!==null)&&r.options.hasOwnProperty(t)){if(typeof f!="string")throw new Error("Value must be set in option data");l=r.options[t].$order;f!==t&&(delete r.options[t],c=r.items.indexOf(t),c!==-1&&r.items.splice(c,1,f));i.$order=i.$order||l;r.options[f]=i;e=r.renderCache.item;o=r.renderCache.option;e&&(delete e[t],delete e[f]);o&&(delete o[t],delete o[f]);r.items.indexOf(f)!==-1&&(s=r.getItem(t),h=n(r.render("item",i)),s.hasClass("active")&&h.addClass("active"),s.replaceWith(h));r.lastQuery=null;r.isOpen&&r.refreshOptions(!1)}},removeOption:function(n,t){var i=this,r,f;n=u(n);r=i.renderCache.item;f=i.renderCache.option;r&&delete r[n];f&&delete f[n];delete i.userOptions[n];delete i.options[n];i.lastQuery=null;i.trigger("option_remove",n);i.removeItem(n,t)},clearOptions:function(){var n=this;n.loadedSearches={};n.userOptions={};n.renderCache={};n.options=n.sifter.items={};n.lastQuery=null;n.trigger("option_clear");n.clear()},getOption:function(n){return this.getElementWithValue(n,this.$dropdown_content.find("[data-selectable]"))},getAdjacentOption:function(t,i){var r=this.$dropdown.find("[data-selectable]"),u=r.index(t)+i;return u>=0&&u<r.length?r.eq(u):n()},getElementWithValue:function(t,i){if(t=u(t),typeof t!="undefined"&&t!==null)for(var r=0,f=i.length;r<f;r++)if(i[r].getAttribute("data-value")===t)return n(i[r]);return n()},getItem:function(n){return this.getElementWithValue(n,this.$control.children())},addItems:function(t,i){for(var u=n.isArray(t)?t:[t],r=0,f=u.length;r<f;r++)this.isPending=r<f-1,this.addItem(u[r],i)},addItem:function(t,i){var r=i?[]:["change"];g(this,r,function(){var e,s,h,r=this,f=r.settings.mode,o,c;if(t=u(t),r.items.indexOf(t)!==-1){f==="single"&&r.close();return}r.options.hasOwnProperty(t)&&((f==="single"&&r.clear(i),f==="multi"&&r.isFull())||(e=n(r.render("item",r.options[t])),c=r.isFull(),r.items.splice(r.caretPos,0,t),r.insertAtCaret(e),r.isPending&&(c||!r.isFull())||r.refreshState(),r.isSetup&&(h=r.$dropdown_content.find("[data-selectable]"),r.isPending||(s=r.getOption(t),o=r.getAdjacentOption(s,1).attr("data-value"),r.refreshOptions(r.isFocused&&f!=="single"),o&&r.setActiveOption(r.getOption(o))),!h.length||r.isFull()?r.close():r.positionDropdown(),r.updatePlaceholder(),r.trigger("item_add",t,e),r.updateOriginalInput({silent:i}))))})},removeItem:function(n,t){var i=this,r,f,e;r=typeof n=="object"?n:i.getItem(n);n=u(r.attr("data-value"));f=i.items.indexOf(n);f!==-1&&(r.remove(),r.hasClass("active")&&(e=i.$activeItems.indexOf(r[0]),i.$activeItems.splice(e,1)),i.items.splice(f,1),i.lastQuery=null,!i.settings.persist&&i.userOptions.hasOwnProperty(n)&&i.removeOption(n,t),f<i.caretPos&&i.setCaret(i.caretPos-1),i.refreshState(),i.updatePlaceholder(),i.updateOriginalInput({silent:t}),i.positionDropdown(),i.trigger("item_remove",n,r))},createItem:function(t,i){var r=this,s=r.caretPos,f;if(t=t||n.trim(r.$control_input.val()||""),f=arguments[arguments.length-1],typeof f!="function"&&(f=function(){}),typeof i!="boolean"&&(i=!0),!r.canCreate(t))return f(),!1;r.lock();var h=typeof r.settings.create=="function"?this.settings.create:function(n){var t={};return t[r.settings.labelField]=n,t[r.settings.valueField]=n,t},e=lt(function(n){if(r.unlock(),!n||typeof n!="object")return f();var t=u(n[r.settings.valueField]);if(typeof t!="string")return f();r.setTextboxValue("");r.addOption(n);r.setCaret(s);r.addItem(t);r.refreshOptions(i&&r.settings.mode!=="single");f(n)}),o=h.apply(this,[t,e]);return typeof o!="undefined"&&e(o),!0},refreshItems:function(){this.lastQuery=null;this.isSetup&&this.addItem(this.items);this.refreshState();this.updateOriginalInput()},refreshState:function(){var t,n=this;n.isRequired&&(n.items.length&&(n.isInvalid=!1),n.$control_input.prop("required",t));n.refreshClasses()},refreshClasses:function(){var t=this,i=t.isFull(),r=t.isLocked;t.$wrapper.toggleClass("rtl",t.rtl);t.$control.toggleClass("focus",t.isFocused).toggleClass("disabled",t.isDisabled).toggleClass("required",t.isRequired).toggleClass("invalid",t.isInvalid).toggleClass("locked",r).toggleClass("full",i).toggleClass("not-full",!i).toggleClass("input-active",t.isFocused&&!t.isInputHidden).toggleClass("dropdown-active",t.isOpen).toggleClass("has-options",!n.isEmptyObject(t.options)).toggleClass("has-items",t.items.length>0);t.$control_input.data("grow",!i&&!r)},isFull:function(){return this.settings.maxItems!==null&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(n){var i,u,r,f,t=this;if(n=n||{},t.tagType===h){for(r=[],i=0,u=t.items.length;i<u;i++)f=t.options[t.items[i]][t.settings.labelField]||"",r.push('<option value="'+e(t.items[i])+'" selected="selected">'+e(f)+"<\/option>");r.length||this.$input.attr("multiple")||r.push('<option value="" selected="selected"><\/option>');t.$input.html(r.join(""))}else t.$input.val(t.getValue()),t.$input.attr("value",t.$input.val());t.isSetup&&(n.silent||t.trigger("change",t.$input.val()))},updatePlaceholder:function(){if(this.settings.placeholder){var n=this.$control_input;this.items.length?n.removeAttr("placeholder"):n.attr("placeholder",this.settings.placeholder);n.triggerHandler("update",{force:!0})}},open:function(){var n=this;n.isLocked||n.isOpen||n.settings.mode==="multi"&&n.isFull()||(n.focus(),n.isOpen=!0,n.refreshState(),n.$dropdown.css({visibility:"hidden",display:"block"}),n.positionDropdown(),n.$dropdown.css({visibility:"visible"}),n.trigger("dropdown_open",n.$dropdown))},close:function(){var n=this,t=n.isOpen;n.settings.mode==="single"&&n.items.length&&n.hideInput();n.isOpen=!1;n.$dropdown.hide();n.setActiveOption(null);n.refreshState();t&&n.trigger("dropdown_close",n.$dropdown)},positionDropdown:function(){var n=this.$control,t=this.settings.dropdownParent==="body"?n.offset():n.position();t.top+=n.outerHeight(!0);this.$dropdown.css({width:n.outerWidth(),top:t.top,left:t.left})},clear:function(n){var t=this;t.items.length&&(t.$control.children(":not(input)").remove(),t.items=[],t.lastQuery=null,t.setCaret(0),t.setActiveItem(null),t.updatePlaceholder(),t.updateOriginalInput({silent:n}),t.refreshState(),t.showInput(),t.trigger("clear"))},insertAtCaret:function(t){var i=Math.min(this.caretPos,this.items.length);i===0?this.$control.prepend(t):n(this.$control[0].childNodes[i]).before(t);this.setCaret(i+1)},deleteSelection:function(t){var e,l,u,o,r,s,h,c,a,i=this;if(u=t&&t.keyCode===f?-1:1,o=y(i.$control_input[0]),i.$activeOption&&!i.settings.hideSelected&&(h=i.getAdjacentOption(i.$activeOption,-1).attr("data-value")),r=[],i.$activeItems.length){for(a=i.$control.children(".active:"+(u>0?"last":"first")),s=i.$control.children(":not(input)").index(a),u>0&&s++,e=0,l=i.$activeItems.length;e<l;e++)r.push(n(i.$activeItems[e]).attr("data-value"));t&&(t.preventDefault(),t.stopPropagation())}else(i.isFocused||i.settings.mode==="single")&&i.items.length&&(u<0&&o.start===0&&o.length===0?r.push(i.items[i.caretPos-1]):u>0&&o.start===i.$control_input.val().length&&r.push(i.items[i.caretPos]));if(!r.length||typeof i.settings.onDelete=="function"&&i.settings.onDelete.apply(i,[r])===!1)return!1;for(typeof s!="undefined"&&i.setCaret(s);r.length;)i.removeItem(r.pop());return i.showInput(),i.positionDropdown(),i.refreshOptions(!0),h&&(c=i.getOption(h),c.length&&i.setActiveOption(c)),!0},advanceSelection:function(n,t){var o,r,u,f,s,e,i=this;n!==0&&(i.rtl&&(n*=-1),o=n>0?"last":"first",r=y(i.$control_input[0]),i.isFocused&&!i.isInputHidden?(f=i.$control_input.val().length,s=n<0?r.start===0&&r.length===0:r.start===f,s&&!f&&i.advanceCaret(n,t)):(e=i.$control.children(".active:"+o),e.length&&(u=i.$control.children(":not(input)").index(e),i.setActiveItem(null),i.setCaret(n>0?u+1:u))))},advanceCaret:function(n,t){var i=this,u,r;n!==0&&(u=n>0?"next":"prev",i.isShiftDown?(r=i.$control_input[u](),r.length&&(i.hideInput(),i.setActiveItem(r),t&&t.preventDefault())):i.setCaret(i.caretPos+n))},setCaret:function(t){var i=this,r,e,u,f;if(t=i.settings.mode==="single"?i.items.length:Math.max(0,Math.min(i.items.length,t)),!i.isPending)for(u=i.$control.children(":not(input)"),r=0,e=u.length;r<e;r++)f=n(u[r]).detach(),r<t?i.$control_input.before(f):i.$control.append(f);i.caretPos=t},lock:function(){this.close();this.isLocked=!0;this.refreshState()},unlock:function(){this.isLocked=!1;this.refreshState()},disable:function(){var n=this;n.$input.prop("disabled",!0);n.$control_input.prop("disabled",!0).prop("tabindex",-1);n.isDisabled=!0;n.lock()},enable:function(){var n=this;n.$input.prop("disabled",!1);n.$control_input.prop("disabled",!1).prop("tabindex",n.tabIndex);n.isDisabled=!1;n.unlock()},destroy:function(){var t=this,i=t.eventNS,r=t.revertSettings;t.trigger("destroy");t.off();t.$wrapper.remove();t.$dropdown.remove();t.$input.html("").append(r.$children).removeAttr("tabindex").removeClass("selectized").attr({tabindex:r.tabindex}).show();t.$control_input.removeData("grow");t.$input.removeData("selectize");n(window).off(i);n(document).off(i);n(document.body).off(i);delete t.$input[0].selectize},render:function(n,t){var f,h,i="",o=!1,r=this,s=/^[\t \r\n]*<([a-z][a-z0-9\-_]*(?:\:[a-z][a-z0-9\-_]*)?)/i;return((n==="option"||n==="item")&&(f=u(t[r.settings.valueField]),o=!!f),o&&(k(r.renderCache[n])||(r.renderCache[n]={}),r.renderCache[n].hasOwnProperty(f)))?r.renderCache[n][f]:(i=r.settings.render[n].apply(this,[t,e]),(n==="option"||n==="option_create")&&(i=i.replace(s,"<$1 data-selectable")),n==="optgroup"&&(h=t[r.settings.optgroupValueField]||"",i=i.replace(s,'<$1 data-group="'+d(e(h))+'"')),(n==="option"||n==="item")&&(i=i.replace(s,'<$1 data-value="'+d(e(f||""))+'"')),o&&(r.renderCache[n][f]=i),i)},clearCache:function(n){var t=this;typeof n=="undefined"?t.renderCache={}:delete t.renderCache[n]},canCreate:function(n){var i=this,t;return i.settings.create?(t=i.settings.createFilter,n.length&&(typeof t!="function"||t.apply(i,[n]))&&(typeof t!="string"||new RegExp(t).test(n))&&(!(t instanceof RegExp)||t.test(n))):!1}}),r.count=0,r.defaults={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:!1,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,maxOptions:1e3,maxItems:null,hideSelected:null,addPrecedence:!1,selectOnTab:!1,preload:!1,allowEmptyOption:!1,closeAfterSelect:!1,scrollDuration:60,loadThrottle:300,loadingClass:"loading",dataAttr:"data-data",optgroupField:"optgroup",valueField:"value",labelField:"text",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"selectize-control",inputClass:"selectize-input",dropdownClass:"selectize-dropdown",dropdownContentClass:"selectize-dropdown-content",dropdownParent:null,copyClassesToDropdown:!0,render:{}},n.fn.selectize=function(t){var h=n.fn.selectize.defaults,i=n.extend({},h,t),o=i.dataAttr,s=i.labelField,e=i.valueField,f=i.optgroupField,c=i.optgroupLabelField,l=i.optgroupValueField,a=function(t,r){var u,h,f,c,a=t.attr(o),l;if(a)for(r.options=JSON.parse(a),u=0,h=r.options.length;u<h;u++)r.items.push(r.options[u][e]);else{if(l=n.trim(t.val()||""),!i.allowEmptyOption&&!l.length)return;for(f=l.split(i.delimiter),u=0,h=f.length;u<h;u++)c={},c[s]=f[u],c[e]=f[u],r.options.push(c);r.items=f}},v=function(t,r){var h,p,y,a,k=r.options,v={},w=function(n){var t=o&&n.attr(o);return typeof t=="string"&&t.length?JSON.parse(t):null},b=function(t,o){var h,l,c;if(t=n(t),h=u(t.attr("value")),h||i.allowEmptyOption){if(v.hasOwnProperty(h)){o&&(l=v[h][f],l?n.isArray(l)?l.push(o):v[h][f]=[l,o]:v[h][f]=o);return}c=w(t)||{};c[s]=c[s]||t.text();c[e]=c[e]||h;c[f]=c[f]||o;v[h]=c;k.push(c);t.is(":selected")&&r.items.push(h)}},d=function(t){var u,o,i,f,e;for(t=n(t),i=t.attr("label"),i&&(f=w(t)||{},f[c]=i,f[l]=i,r.optgroups.push(f)),e=n("option",t),u=0,o=e.length;u<o;u++)b(e[u],i)};for(r.maxItems=t.attr("multiple")?null:1,a=t.children(),h=0,p=a.length;h<p;h++)y=a[h].tagName.toLowerCase(),y==="optgroup"?d(a[h]):y==="option"&&b(a[h])};return this.each(function(){var f;if(!this.selectize){var o,u=n(this),s=this.tagName.toLowerCase(),e=u.attr("placeholder")||u.attr("data-placeholder");e||i.allowEmptyOption||(e=u.children('option[value=""]').text());f={placeholder:e,options:[],optgroups:[],items:[]};s==="select"?v(u,f):a(u,f);o=new r(u,n.extend(!0,{},h,f,t))}})},n.fn.selectize.defaults=r.defaults,n.fn.selectize.support={validity:b},r.define("drag_drop",function(){if(!n.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".');if(this.settings.mode==="multi"){var t=this;t.lock=function(){var n=t.lock;return function(){var i=t.$control.data("sortable");return i&&i.disable(),n.apply(t,arguments)}}();t.unlock=function(){var n=t.unlock;return function(){var i=t.$control.data("sortable");return i&&i.enable(),n.apply(t,arguments)}}();t.setup=function(){var i=t.setup;return function(){i.apply(this,arguments);var r=t.$control.sortable({items:"[data-value]",forcePlaceholderSize:!0,disabled:t.isLocked,start:function(n,t){t.placeholder.css("width",t.helper.css("width"));r.css({overflow:"visible"})},stop:function(){r.css({overflow:"hidden"});var u=t.$activeItems?t.$activeItems.slice():null,i=[];r.children("[data-value]").each(function(){i.push(n(this).attr("data-value"))});t.setValue(i);t.setActiveItem(u)}})}}()}}),r.define("dropdown_header",function(t){var i=this;t=n.extend({title:"Untitled",headerClass:"selectize-dropdown-header",titleRowClass:"selectize-dropdown-header-title",labelClass:"selectize-dropdown-header-label",closeClass:"selectize-dropdown-header-close",html:function(n){return'<div class="'+n.headerClass+'"><div class="'+n.titleRowClass+'"><span class="'+n.labelClass+'">'+n.title+'<\/span><a href="javascript:void(0)" class="'+n.closeClass+'">&times;<\/a><\/div><\/div>'}},t);i.setup=function(){var r=i.setup;return function(){r.apply(i,arguments);i.$dropdown_header=n(t.html(t));i.$dropdown.prepend(i.$dropdown_header)}}()}),r.define("optgroup_columns",function(t){var i=this,r,u;t=n.extend({equalizeWidth:!0,equalizeHeight:!0},t);this.getAdjacentOption=function(t,i){var r=t.closest("[data-group]").find("[data-selectable]"),u=r.index(t)+i;return u>=0&&u<r.length?r.eq(u):n()};this.onKeyDown=function(){var n=i.onKeyDown;return function(t){var e,u,f,r;if(this.isOpen&&(t.keyCode===l||t.keyCode===p)){i.ignoreHover=!0;r=this.$activeOption.closest("[data-group]");e=r.find("[data-selectable]").index(this.$activeOption);r=t.keyCode===l?r.prev("[data-group]"):r.next("[data-group]");f=r.find("[data-selectable]");u=f.eq(Math.min(f.length-1,e));u.length&&this.setActiveOption(u);return}return n.apply(this,arguments)}}();r=function(){var n,t=r.width,i=document;return typeof t=="undefined"&&(n=i.createElement("div"),n.innerHTML='<div style="width:50px;height:50px;position:absolute;left:-50px;top:-50px;overflow:auto;"><div style="width:1px;height:100px;"><\/div><\/div>',n=n.firstChild,i.body.appendChild(n),t=r.width=n.offsetWidth-n.clientWidth,i.body.removeChild(n)),t};u=function(){var e,u,o,s,c,h,f;if(f=n("[data-group]",i.$dropdown_content),u=f.length,u&&i.$dropdown_content.width()){if(t.equalizeHeight){for(o=0,e=0;e<u;e++)o=Math.max(o,f.eq(e).height());f.css({height:o})}t.equalizeWidth&&(h=i.$dropdown_content.innerWidth()-r(),s=Math.round(h/u),f.css({width:s}),u>1&&(c=h-s*(u-1),f.eq(u-1).css({width:c})))}};(t.equalizeHeight||t.equalizeWidth)&&(c.after(this,"positionDropdown",u),c.after(this,"refreshOptions",u))}),r.define("remove_button",function(t){if(this.settings.mode!=="single"){t=n.extend({label:"&times;",title:"Remove",className:"remove",append:!0},t);var i=this,r='<a href="javascript:void(0)" class="'+t.className+'" tabindex="-1" title="'+e(t.title)+'">'+t.label+"<\/a>",u=function(n,t){var i=n.search(/(<\/[^>]+>\s*)$/);return n.substring(0,i)+t+n.substring(i)};this.setup=function(){var f=i.setup;return function(){if(t.append){var e=i.settings.render.item;i.settings.render.item=function(){return u(e.apply(this,arguments),r)}}f.apply(this,arguments);this.$control.on("click","."+t.className,function(t){if(t.preventDefault(),!i.isLocked){var r=n(t.currentTarget).parent();i.setActiveItem(r);i.deleteSelection()&&i.setCaret(i.items.length)}})}}()}}),r.define("restore_on_backspace",function(t){var i=this;t.text=t.text||function(n){return n[this.settings.labelField]};this.onKeyDown=function(){var r=i.onKeyDown;return function(i){var u,e;if(i.keyCode!=v&&i.keyCode!=w&&this.$control_input.val()===""&&!this.$activeItems.length&&(u=this.caretPos-1,u>=0&&u<this.items.length)){e=this.options[this.items[u]];this.deleteSelection(i)&&(i.keyCode!=f&&(n.Event("keydown"),i.keyCode=f,this.deleteSelection(i)),this.setTextboxValue(t.text.apply(this,[e])),this.refreshOptions(!0));i.preventDefault();return}return r.apply(this,arguments)}}()}),r})