/*!selectize.js - v0.12.1 | https://github.com/brianreavis/selectize.js | Apache License (v2)*/!function(t,e){"function"==typeof define&&define.amd?define("sifter",e):"object"==typeof exports?module.exports=e():t.Sifter=e()}(this,(function(){var t=function(t,e){this.items=t,this.settings=e||{diacritics:!0}};t.prototype.tokenize=function(t){if(!(t=i(String(t||"").toLowerCase()))||!t.length)return[];var e,n,r,a,l=[],p=t.split(/ +/);for(e=0,n=p.length;n>e;e++){if(r=o(p[e]),this.settings.diacritics)for(a in s)s.hasOwnProperty(a)&&(r=r.replace(new RegExp(a,"g"),s[a]));l.push({string:p[e],regex:new RegExp(r,"i")})}return l},t.prototype.iterator=function(t,e){var n;n=r(t)?Array.prototype.forEach||function(t){for(var e=0,n=this.length;n>e;e++)t(this[e],e,this)}:function(t){for(var e in this)this.hasOwnProperty(e)&&t(this[e],e,this)},n.apply(t,[e])},t.prototype.getScoreFunction=function(t,e){var n,i,o;t=this.prepareSearch(t,e),i=t.tokens,n=t.options.fields,o=i.length;var r=function(t,e){var n,i;return t?-1===(i=(t=String(t||"")).search(e.regex))?0:(n=e.string.length/t.length,0===i&&(n+=.5),n):0},s=function(){var t=n.length;return t?1===t?function(t,e){return r(e[n[0]],t)}:function(e,i){for(var o=0,s=0;t>o;o++)s+=r(i[n[o]],e);return s/t}:function(){return 0}}();return o?1===o?function(t){return s(i[0],t)}:"and"===t.options.conjunction?function(t){for(var e,n=0,r=0;o>n;n++){if(0>=(e=s(i[n],t)))return 0;r+=e}return r/o}:function(t){for(var e=0,n=0;o>e;e++)n+=s(i[e],t);return n/o}:function(){return 0}},t.prototype.getSortFunction=function(t,n){var i,o,r,s,a,l,p,u,c,d,h;if(h=!(t=(r=this).prepareSearch(t,n)).query&&n.sort_empty||n.sort,c=function(t,e){return"$score"===t?e.score:r.items[e.id][t]},a=[],h)for(i=0,o=h.length;o>i;i++)(t.query||"$score"!==h[i].field)&&a.push(h[i]);if(t.query){for(d=!0,i=0,o=a.length;o>i;i++)if("$score"===a[i].field){d=!1;break}d&&a.unshift({field:"$score",direction:"desc"})}else for(i=0,o=a.length;o>i;i++)if("$score"===a[i].field){a.splice(i,1);break}for(u=[],i=0,o=a.length;o>i;i++)u.push("desc"===a[i].direction?-1:1);return(l=a.length)?1===l?(s=a[0].field,p=u[0],function(t,n){return p*e(c(s,t),c(s,n))}):function(t,n){var i,o,r;for(i=0;l>i;i++)if(r=a[i].field,o=u[i]*e(c(r,t),c(r,n)))return o;return 0}:null},t.prototype.prepareSearch=function(t,e){if("object"==typeof t)return t;var i=(e=n({},e)).fields,o=e.sort,s=e.sort_empty;return i&&!r(i)&&(e.fields=[i]),o&&!r(o)&&(e.sort=[o]),s&&!r(s)&&(e.sort_empty=[s]),{options:e,query:String(t||"").toLowerCase(),tokens:this.tokenize(t),total:0,items:[]}},t.prototype.search=function(t,e){var n,i,o,r,s=this;return i=this.prepareSearch(t,e),e=i.options,t=i.query,r=e.score||s.getScoreFunction(i),t.length?s.iterator(s.items,(function(t,o){n=r(t),(!1===e.filter||n>0)&&i.items.push({score:n,id:o})})):s.iterator(s.items,(function(t,e){i.items.push({score:1,id:e})})),(o=s.getSortFunction(i,e))&&i.items.sort(o),i.total=i.items.length,"number"==typeof e.limit&&(i.items=i.items.slice(0,e.limit)),i};var e=function(t,e){return"number"==typeof t&&"number"==typeof e||(t=a(String(t||"")),e=a(String(e||""))),t>e?1:e>t?-1:0},n=function(t){var e,n,i,o;for(e=1,n=arguments.length;n>e;e++)if(o=arguments[e])for(i in o)o.hasOwnProperty(i)&&(t[i]=o[i]);return t},i=function(t){return(t+"").replace(/^\s+|\s+$|/g,"")},o=function(t){return(t+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},r=Array.isArray||$&&$.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},s={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ŽžżŻźŹ]"},a=function(){var t,e,n,i,o="",r={};for(n in s)if(s.hasOwnProperty(n))for(o+=i=s[n].substring(2,s[n].length-1),t=0,e=i.length;e>t;t++)r[i.charAt(t)]=n;var a=new RegExp("["+o+"]","g");return function(t){return t.replace(a,(function(t){return r[t]})).toLowerCase()}}();return t})),function(t,e){"function"==typeof define&&define.amd?define("microplugin",e):"object"==typeof exports?module.exports=e():t.MicroPlugin=e()}(this,(function(){var t={mixin:function(t){t.plugins={},t.prototype.initializePlugins=function(t){var n,i,o,r=this,s=[];if(r.plugins={names:[],settings:{},requested:{},loaded:{}},e.isArray(t))for(n=0,i=t.length;i>n;n++)"string"==typeof t[n]?s.push(t[n]):(r.plugins.settings[t[n].name]=t[n].options,s.push(t[n].name));else if(t)for(o in t)t.hasOwnProperty(o)&&(r.plugins.settings[o]=t[o],s.push(o));for(;s.length;)r.require(s.shift())},t.prototype.loadPlugin=function(e){var n=this,i=n.plugins,o=t.plugins[e];if(!t.plugins.hasOwnProperty(e))throw new Error('Unable to find "'+e+'" plugin');i.requested[e]=!0,i.loaded[e]=o.fn.apply(n,[n.plugins.settings[e]||{}]),i.names.push(e)},t.prototype.require=function(t){var e=this,n=e.plugins;if(!e.plugins.loaded.hasOwnProperty(t)){if(n.requested[t])throw new Error('Plugin has circular dependency ("'+t+'")');e.loadPlugin(t)}return n.loaded[t]},t.define=function(e,n){t.plugins[e]={name:e,fn:n}}}},e={isArray:Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}};return t})),function(t,e){"function"==typeof define&&define.amd?define("selectize",["jquery","sifter","microplugin"],e):"object"==typeof exports?module.exports=e(require("jquery"),require("sifter"),require("microplugin")):t.Selectize=e(t.jQuery,t.Sifter,t.MicroPlugin)}(this,(function(t,e,n){"use strict";var i=function(t,e){if("string"!=typeof e||e.length){var n="string"==typeof e?new RegExp(e,"i"):e,i=function(t){var e=0;if(3===t.nodeType){var o=t.data.search(n);if(o>=0&&t.data.length>0){var r=t.data.match(n),s=document.createElement("span");s.className="highlight";var a=t.splitText(o),l=(a.splitText(r[0].length),a.cloneNode(!0));s.appendChild(l),a.parentNode.replaceChild(s,a),e=1}}else if(1===t.nodeType&&t.childNodes&&!/(script|style)/i.test(t.tagName))for(var p=0;p<t.childNodes.length;++p)p+=i(t.childNodes[p]);return e};return t.each((function(){i(this)}))}},o=function(){};o.prototype={on:function(t,e){this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e)},off:function(t,e){var n=arguments.length;return 0===n?delete this._events:1===n?delete this._events[t]:(this._events=this._events||{},void(t in this._events!=0&&this._events[t].splice(this._events[t].indexOf(e),1)))},trigger:function(t){if(this._events=this._events||{},t in this._events!=0)for(var e=0;e<this._events[t].length;e++)this._events[t][e].apply(this,Array.prototype.slice.call(arguments,1))}},o.mixin=function(t){for(var e=["on","off","trigger"],n=0;n<e.length;n++)t.prototype[e[n]]=o.prototype[e[n]]};var r=/Mac/.test(navigator.userAgent),s=r?91:17,a=r?18:17,l=!/android/i.test(window.navigator.userAgent)&&!!document.createElement("form").validity,p=function(t){return void 0!==t},u=function(t){return null==t?null:"boolean"==typeof t?t?"1":"0":t+""},c=function(t){return(t+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},d=function(t){return(t+"").replace(/\$/g,"$$$$")},h={before:function(t,e,n){var i=t[e];t[e]=function(){return n.apply(t,arguments),i.apply(t,arguments)}},after:function(t,e,n){var i=t[e];t[e]=function(){var e=i.apply(t,arguments);return n.apply(t,arguments),e}}},g=function(t,e){var n;return function(){var i=this,o=arguments;window.clearTimeout(n),n=window.setTimeout((function(){t.apply(i,o)}),e)}},f=function(t,e,n){var i,o=t.trigger,r={};for(i in t.trigger=function(){var n=arguments[0];return-1===e.indexOf(n)?o.apply(t,arguments):void(r[n]=arguments)},n.apply(t,[]),t.trigger=o,r)r.hasOwnProperty(i)&&o.apply(t,r[i])},v=function(t){var e={};if("selectionStart"in t)e.start=t.selectionStart,e.length=t.selectionEnd-e.start;else if(document.selection){t.focus();var n=document.selection.createRange(),i=document.selection.createRange().text.length;n.moveStart("character",-t.value.length),e.start=n.text.length-i,e.length=i}return e},m=function(e,n){if(!e)return 0;var i=t("<test>").css({position:"absolute",top:-99999,left:-99999,width:"auto",padding:0,whiteSpace:"pre"}).text(e).appendTo("body");!function(t,e,n){var i,o,r={};if(n)for(i=0,o=n.length;o>i;i++)r[n[i]]=t.css(n[i]);else r=t.css();e.css(r)}(n,i,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]);var o=i.width();return i.remove(),o},y=function(t){var e=null,n=function(n,i){var o,r,s,a,l,p,u,c;i=i||{},(n=n||window.event||{}).metaKey||n.altKey||(i.force||!1!==t.data("grow"))&&(o=t.val(),n.type&&"keydown"===n.type.toLowerCase()&&(s=(r=n.keyCode)>=97&&122>=r||r>=65&&90>=r||r>=48&&57>=r||32===r,46===r||8===r?(c=v(t[0])).length?o=o.substring(0,c.start)+o.substring(c.start+c.length):8===r&&c.start?o=o.substring(0,c.start-1)+o.substring(c.start+1):46===r&&void 0!==c.start&&(o=o.substring(0,c.start)+o.substring(c.start+1)):s&&(p=n.shiftKey,u=String.fromCharCode(n.keyCode),o+=u=p?u.toUpperCase():u.toLowerCase())),a=t.attr("placeholder"),!o&&a&&(o=a),(l=m(o,t)+4)!==e&&(e=l,t.width(l),t.triggerHandler("resize")))};t.on("keydown keyup update blur",n),n()},w=function(n,i){var o,r,s,a,l=this;(a=n[0]).selectize=l;var p=window.getComputedStyle&&window.getComputedStyle(a,null);if(s=(s=p?p.getPropertyValue("direction"):a.currentStyle&&a.currentStyle.direction)||n.parents("[dir]:first").attr("dir")||"",t.extend(l,{order:0,settings:i,$input:n,tabIndex:n.attr("tabindex")||"",tagType:"select"===a.tagName.toLowerCase()?1:2,rtl:/rtl/i.test(s),eventNS:".selectize"+ ++w.count,highlightedValue:null,isOpen:!1,isDisabled:!1,isRequired:n.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:null===i.loadThrottle?l.onSearchChange:g(l.onSearchChange,i.loadThrottle)}),l.sifter=new e(this.options,{diacritics:i.diacritics}),l.settings.options){for(o=0,r=l.settings.options.length;r>o;o++)l.registerOption(l.settings.options[o]);delete l.settings.options}if(l.settings.optgroups){for(o=0,r=l.settings.optgroups.length;r>o;o++)l.registerOptionGroup(l.settings.optgroups[o]);delete l.settings.optgroups}l.settings.mode=l.settings.mode||(1===l.settings.maxItems?"single":"multi"),"boolean"!=typeof l.settings.hideSelected&&(l.settings.hideSelected="multi"===l.settings.mode),l.initializePlugins(l.settings.plugins),l.setupCallbacks(),l.setupTemplates(),l.setup()};return o.mixin(w),n.mixin(w),t.extend(w.prototype,{setup:function(){var e,n,i,o,p,u,c,d,h,g=this,f=g.settings,v=g.eventNS,m=t(window),w=t(document),O=g.$input;if(c=g.settings.mode,d=O.attr("class")||"",e=t("<div>").addClass(f.wrapperClass).addClass(d).addClass(c),n=t("<div>").addClass(f.inputClass).addClass("items").appendTo(e),i=t('<input type="text" autocomplete="off" />').appendTo(n).attr("tabindex",O.is(":disabled")?"-1":g.tabIndex),u=t(f.dropdownParent||e),o=t("<div>").addClass(f.dropdownClass).addClass(c).hide().appendTo(u),p=t("<div>").addClass(f.dropdownContentClass).appendTo(o),g.settings.copyClassesToDropdown&&o.addClass(d),e.css({width:O[0].style.width}),g.plugins.names.length&&(h="plugin-"+g.plugins.names.join(" plugin-"),e.addClass(h),o.addClass(h)),(null===f.maxItems||f.maxItems>1)&&1===g.tagType&&O.attr("multiple","multiple"),g.settings.placeholder&&i.attr("placeholder",f.placeholder),!g.settings.splitOn&&g.settings.delimiter){var $=g.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");g.settings.splitOn=new RegExp("\\s*"+$+"+\\s*")}O.attr("autocorrect")&&i.attr("autocorrect",O.attr("autocorrect")),O.attr("autocapitalize")&&i.attr("autocapitalize",O.attr("autocapitalize")),g.$wrapper=e,g.$control=n,g.$control_input=i,g.$dropdown=o,g.$dropdown_content=p,o.on("mouseenter","[data-selectable]",(function(){return g.onOptionHover.apply(g,arguments)})),o.on("mousedown click","[data-selectable]",(function(){return g.onOptionSelect.apply(g,arguments)})),function(t,e,n,i){t.on(e,n,(function(e){for(var n=e.target;n&&n.parentNode!==t[0];)n=n.parentNode;return e.currentTarget=n,i.apply(this,[e])}))}(n,"mousedown","*:not(input)",(function(){return g.onItemSelect.apply(g,arguments)})),y(i),n.on({mousedown:function(){return g.onMouseDown.apply(g,arguments)},click:function(){return g.onClick.apply(g,arguments)}}),i.on({mousedown:function(t){t.stopPropagation()},keydown:function(){return g.onKeyDown.apply(g,arguments)},keyup:function(){return g.onKeyUp.apply(g,arguments)},keypress:function(){return g.onKeyPress.apply(g,arguments)},resize:function(){g.positionDropdown.apply(g,[])},blur:function(){return g.onBlur.apply(g,arguments)},focus:function(){return g.ignoreBlur=!1,g.onFocus.apply(g,arguments)},paste:function(){return g.onPaste.apply(g,arguments)}}),w.on("keydown"+v,(function(t){g.isCmdDown=t[r?"metaKey":"ctrlKey"],g.isCtrlDown=t[r?"altKey":"ctrlKey"],g.isShiftDown=t.shiftKey})),w.on("keyup"+v,(function(t){t.keyCode===a&&(g.isCtrlDown=!1),16===t.keyCode&&(g.isShiftDown=!1),t.keyCode===s&&(g.isCmdDown=!1)})),w.on("mousedown"+v,(function(t){if(g.isFocused){if(t.target===g.$dropdown[0]||t.target.parentNode===g.$dropdown[0])return!1;g.$control.has(t.target).length||t.target===g.$control[0]||g.blur(t.target)}})),m.on(["scroll"+v,"resize"+v].join(" "),(function(){g.isOpen&&g.positionDropdown.apply(g,arguments)})),m.on("mousemove"+v,(function(){g.ignoreHover=!1})),this.revertSettings={$children:O.children().detach(),tabindex:O.attr("tabindex")},O.attr("tabindex",-1).hide().after(g.$wrapper),t.isArray(f.items)&&(g.setValue(f.items),delete f.items),l&&O.on("invalid"+v,(function(t){t.preventDefault(),g.isInvalid=!0,g.refreshState()})),g.updateOriginalInput(),g.refreshItems(),g.refreshState(),g.updatePlaceholder(),g.isSetup=!0,O.is(":disabled")&&g.disable(),g.on("change",this.onChange),O.data("selectize",g),O.addClass("selectized"),g.trigger("initialize"),!0===f.preload&&g.onSearchChange("")},setupTemplates:function(){var e=this,n=e.settings.labelField,i=e.settings.optgroupLabelField,o={optgroup:function(t){return'<div class="optgroup">'+t.html+"</div>"},optgroup_header:function(t,e){return'<div class="optgroup-header">'+e(t[i])+"</div>"},option:function(t,e){return'<div class="option">'+e(t[n])+"</div>"},item:function(t,e){return'<div class="item">'+e(t[n])+"</div>"},option_create:function(t,e){return'<div class="create">Add <strong>'+e(t.input)+"</strong>&hellip;</div>"}};e.settings.render=t.extend({},o,e.settings.render)},setupCallbacks:function(){var t,e,n={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(t in n)n.hasOwnProperty(t)&&((e=this.settings[n[t]])&&this.on(t,e))},onClick:function(t){this.isFocused||(this.focus(),t.preventDefault())},onMouseDown:function(e){var n=this,i=e.isDefaultPrevented();if(t(e.target),n.isFocused){if(e.target!==n.$control_input[0])return"single"===n.settings.mode?n.isOpen?n.close():n.open():i||n.setActiveItem(null),!1}else i||window.setTimeout((function(){n.focus()}),0)},onChange:function(){this.$input.trigger("change")},onPaste:function(e){var n=this;n.isFull()||n.isInputHidden||n.isLocked?e.preventDefault():n.settings.splitOn&&setTimeout((function(){for(var e=t.trim(n.$control_input.val()||"").split(n.settings.splitOn),i=0,o=e.length;o>i;i++)n.createItem(e[i])}),0)},onKeyPress:function(t){if(this.isLocked)return t&&t.preventDefault();var e=String.fromCharCode(t.keyCode||t.which);return this.settings.create&&"multi"===this.settings.mode&&e===this.settings.delimiter?(this.createItem(),t.preventDefault(),!1):void 0},onKeyDown:function(t){var e=(t.target,this.$control_input[0],this);if(!e.isLocked){switch(t.keyCode){case 65:if(e.isCmdDown)return void e.selectAll();break;case 27:return void(e.isOpen&&(t.preventDefault(),t.stopPropagation(),e.close()));case 78:if(!t.ctrlKey||t.altKey)break;case 40:if(!e.isOpen&&e.hasOptions)e.open();else if(e.$activeOption){e.ignoreHover=!0;var n=e.getAdjacentOption(e.$activeOption,1);n.length&&e.setActiveOption(n,!0,!0)}return void t.preventDefault();case 80:if(!t.ctrlKey||t.altKey)break;case 38:if(e.$activeOption){e.ignoreHover=!0;var i=e.getAdjacentOption(e.$activeOption,-1);i.length&&e.setActiveOption(i,!0,!0)}return void t.preventDefault();case 13:return void(e.isOpen&&e.$activeOption&&(e.onOptionSelect({currentTarget:e.$activeOption}),t.preventDefault()));case 37:return void e.advanceSelection(-1,t);case 39:return void e.advanceSelection(1,t);case 9:return e.settings.selectOnTab&&e.isOpen&&e.$activeOption&&(e.onOptionSelect({currentTarget:e.$activeOption}),e.isFull()||t.preventDefault()),void(e.settings.create&&e.createItem()&&t.preventDefault());case 8:case 46:return void e.deleteSelection(t)}return!e.isFull()&&!e.isInputHidden||(r?t.metaKey:t.ctrlKey)?void 0:void t.preventDefault()}9!==t.keyCode&&t.preventDefault()},onKeyUp:function(t){var e=this;if(e.isLocked)return t&&t.preventDefault();var n=e.$control_input.val()||"";e.lastValue!==n&&(e.lastValue=n,e.onSearchChange(n),e.refreshOptions(),e.trigger("type",n))},onSearchChange:function(t){var e=this,n=e.settings.load;n&&(e.loadedSearches.hasOwnProperty(t)||(e.loadedSearches[t]=!0,e.load((function(i){n.apply(e,[t,i])}))))},onFocus:function(t){var e=this,n=e.isFocused;return e.isDisabled?(e.blur(),t&&t.preventDefault(),!1):void(e.ignoreFocus||(e.isFocused=!0,"focus"===e.settings.preload&&e.onSearchChange(""),n||e.trigger("focus"),e.$activeItems.length||(e.showInput(),e.setActiveItem(null),e.refreshOptions(!!e.settings.openOnFocus)),e.refreshState()))},onBlur:function(t,e){var n=this;if(n.isFocused&&(n.isFocused=!1,!n.ignoreFocus)){if(!n.ignoreBlur&&document.activeElement===n.$dropdown_content[0])return n.ignoreBlur=!0,void n.onFocus(t);var i=function(){n.close(),n.setTextboxValue(""),n.setActiveItem(null),n.setActiveOption(null),n.setCaret(n.items.length),n.refreshState(),(e||document.body).focus(),n.ignoreFocus=!1,n.trigger("blur")};n.ignoreFocus=!0,n.settings.create&&n.settings.createOnBlur?n.createItem(null,!1,i):i()}},onOptionHover:function(t){this.ignoreHover||this.setActiveOption(t.currentTarget,!1)},onOptionSelect:function(e){var n,i,o=this;e.preventDefault&&(e.preventDefault(),e.stopPropagation()),(i=t(e.currentTarget)).hasClass("create")?o.createItem(null,(function(){o.settings.closeAfterSelect&&o.close()})):void 0!==(n=i.attr("data-value"))&&(o.lastQuery=null,o.setTextboxValue(""),o.addItem(n),o.settings.closeAfterSelect?o.close():!o.settings.hideSelected&&e.type&&/mouse/.test(e.type)&&o.setActiveOption(o.getOption(n)))},onItemSelect:function(t){var e=this;e.isLocked||"multi"===e.settings.mode&&(t.preventDefault(),e.setActiveItem(t.currentTarget,t))},load:function(t){var e=this,n=e.$wrapper.addClass(e.settings.loadingClass);e.loading++,t.apply(e,[function(t){e.loading=Math.max(e.loading-1,0),t&&t.length&&(e.addOption(t),e.refreshOptions(e.isFocused&&!e.isInputHidden)),e.loading||n.removeClass(e.settings.loadingClass),e.trigger("load",t)}])},setTextboxValue:function(t){var e=this.$control_input;e.val()!==t&&(e.val(t).triggerHandler("update"),this.lastValue=t)},getValue:function(){return 1===this.tagType&&this.$input.attr("multiple")?this.items:this.items.join(this.settings.delimiter)},setValue:function(t,e){f(this,e?[]:["change"],(function(){this.clear(e),this.addItems(t,e)}))},setActiveItem:function(e,n){var i,o,r,s,a,l,p,u,c=this;if("single"!==c.settings.mode){if(!(e=t(e)).length)return t(c.$activeItems).removeClass("active"),c.$activeItems=[],void(c.isFocused&&c.showInput());if("mousedown"===(i=n&&n.type.toLowerCase())&&c.isShiftDown&&c.$activeItems.length){for(u=c.$control.children(".active:last"),(s=Array.prototype.indexOf.apply(c.$control[0].childNodes,[u[0]]))>(a=Array.prototype.indexOf.apply(c.$control[0].childNodes,[e[0]]))&&(p=s,s=a,a=p),o=s;a>=o;o++)l=c.$control[0].childNodes[o],-1===c.$activeItems.indexOf(l)&&(t(l).addClass("active"),c.$activeItems.push(l));n.preventDefault()}else"mousedown"===i&&c.isCtrlDown||"keydown"===i&&this.isShiftDown?e.hasClass("active")?(r=c.$activeItems.indexOf(e[0]),c.$activeItems.splice(r,1),e.removeClass("active")):c.$activeItems.push(e.addClass("active")[0]):(t(c.$activeItems).removeClass("active"),c.$activeItems=[e.addClass("active")[0]]);c.hideInput(),this.isFocused||c.focus()}},setActiveOption:function(e,n,i){var o,r,s,a,l,u=this;u.$activeOption&&u.$activeOption.removeClass("active"),u.$activeOption=null,(e=t(e)).length&&(u.$activeOption=e.addClass("active"),(n||!p(n))&&(o=u.$dropdown_content.height(),r=u.$activeOption.outerHeight(!0),n=u.$dropdown_content.scrollTop()||0,a=s=u.$activeOption.offset().top-u.$dropdown_content.offset().top+n,l=s-o+r,s+r>o+n?u.$dropdown_content.stop().animate({scrollTop:l},i?u.settings.scrollDuration:0):n>s&&u.$dropdown_content.stop().animate({scrollTop:a},i?u.settings.scrollDuration:0)))},selectAll:function(){var t=this;"single"!==t.settings.mode&&(t.$activeItems=Array.prototype.slice.apply(t.$control.children(":not(input)").addClass("active")),t.$activeItems.length&&(t.hideInput(),t.close()),t.focus())},hideInput:function(){var t=this;t.setTextboxValue(""),t.$control_input.css({opacity:0,position:"absolute",left:t.rtl?1e4:-1e4}),t.isInputHidden=!0},showInput:function(){this.$control_input.css({opacity:1,position:"relative",left:0}),this.isInputHidden=!1},focus:function(){var t=this;t.isDisabled||(t.ignoreFocus=!0,t.$control_input[0].focus(),window.setTimeout((function(){t.ignoreFocus=!1,t.onFocus()}),0))},blur:function(t){this.$control_input[0].blur(),this.onBlur(null,t)},getScoreFunction:function(t){return this.sifter.getScoreFunction(t,this.getSearchOptions())},getSearchOptions:function(){var t=this.settings,e=t.sortField;return"string"==typeof e&&(e=[{field:e}]),{fields:t.searchField,conjunction:t.searchConjunction,sort:e}},search:function(e){var n,i,o,r=this,s=r.settings,a=this.getSearchOptions();if(s.score&&"function"!=typeof(o=r.settings.score.apply(this,[e])))throw new Error('Selectize "score" setting must be a function that returns a function');if(e!==r.lastQuery?(r.lastQuery=e,i=r.sifter.search(e,t.extend(a,{score:o})),r.currentResults=i):i=t.extend(!0,{},r.currentResults),s.hideSelected)for(n=i.items.length-1;n>=0;n--)-1!==r.items.indexOf(u(i.items[n].id))&&i.items.splice(n,1);return i},refreshOptions:function(e){var n,o,r,s,a,l,p,c,d,h,g,f,v,m,y,w;void 0===e&&(e=!0);var O=this,$=t.trim(O.$control_input.val()),C=O.search($),b=O.$dropdown_content,x=O.$activeOption&&u(O.$activeOption.attr("data-value"));for(s=C.items.length,"number"==typeof O.settings.maxOptions&&(s=Math.min(s,O.settings.maxOptions)),a={},l=[],n=0;s>n;n++)for(p=O.options[C.items[n].id],c=O.render("option",p),d=p[O.settings.optgroupField]||"",o=0,r=(h=t.isArray(d)?d:[d])&&h.length;r>o;o++)d=h[o],O.optgroups.hasOwnProperty(d)||(d=""),a.hasOwnProperty(d)||(a[d]=[],l.push(d)),a[d].push(c);for(this.settings.lockOptgroupOrder&&l.sort((function(t,e){return(O.optgroups[t].$order||0)-(O.optgroups[e].$order||0)})),g=[],n=0,s=l.length;s>n;n++)d=l[n],O.optgroups.hasOwnProperty(d)&&a[d].length?(f=O.render("optgroup_header",O.optgroups[d])||"",f+=a[d].join(""),g.push(O.render("optgroup",t.extend({},O.optgroups[d],{html:f})))):g.push(a[d].join(""));if(b.html(g.join("")),O.settings.highlight&&C.query.length&&C.tokens.length)for(n=0,s=C.tokens.length;s>n;n++)i(b,C.tokens[n].regex);if(!O.settings.hideSelected)for(n=0,s=O.items.length;s>n;n++)O.getOption(O.items[n]).addClass("selected");(v=O.canCreate($))&&(b.prepend(O.render("option_create",{input:$})),w=t(b[0].childNodes[0])),O.hasOptions=C.items.length>0||v,O.hasOptions?(C.items.length>0?((y=x&&O.getOption(x))&&y.length?m=y:"single"===O.settings.mode&&O.items.length&&(m=O.getOption(O.items[0])),m&&m.length||(m=w&&!O.settings.addPrecedence?O.getAdjacentOption(w,1):b.find("[data-selectable]:first"))):m=w,O.setActiveOption(m),e&&!O.isOpen&&O.open()):(O.setActiveOption(null),e&&O.isOpen&&O.close())},addOption:function(e){var n,i,o,r=this;if(t.isArray(e))for(n=0,i=e.length;i>n;n++)r.addOption(e[n]);else(o=r.registerOption(e))&&(r.userOptions[o]=!0,r.lastQuery=null,r.trigger("option_add",o,e))},registerOption:function(t){var e=u(t[this.settings.valueField]);return!(!e||this.options.hasOwnProperty(e))&&(t.$order=t.$order||++this.order,this.options[e]=t,e)},registerOptionGroup:function(t){var e=u(t[this.settings.optgroupValueField]);return!!e&&(t.$order=t.$order||++this.order,this.optgroups[e]=t,e)},addOptionGroup:function(t,e){e[this.settings.optgroupValueField]=t,(t=this.registerOptionGroup(e))&&this.trigger("optgroup_add",t,e)},removeOptionGroup:function(t){this.optgroups.hasOwnProperty(t)&&(delete this.optgroups[t],this.renderCache={},this.trigger("optgroup_remove",t))},clearOptionGroups:function(){this.optgroups={},this.renderCache={},this.trigger("optgroup_clear")},updateOption:function(e,n){var i,o,r,s,a,l,p,c=this;if(e=u(e),r=u(n[c.settings.valueField]),null!==e&&c.options.hasOwnProperty(e)){if("string"!=typeof r)throw new Error("Value must be set in option data");p=c.options[e].$order,r!==e&&(delete c.options[e],-1!==(s=c.items.indexOf(e))&&c.items.splice(s,1,r)),n.$order=n.$order||p,c.options[r]=n,a=c.renderCache.item,l=c.renderCache.option,a&&(delete a[e],delete a[r]),l&&(delete l[e],delete l[r]),-1!==c.items.indexOf(r)&&(i=c.getItem(e),o=t(c.render("item",n)),i.hasClass("active")&&o.addClass("active"),i.replaceWith(o)),c.lastQuery=null,c.isOpen&&c.refreshOptions(!1)}},removeOption:function(t,e){var n=this;t=u(t);var i=n.renderCache.item,o=n.renderCache.option;i&&delete i[t],o&&delete o[t],delete n.userOptions[t],delete n.options[t],n.lastQuery=null,n.trigger("option_remove",t),n.removeItem(t,e)},clearOptions:function(){var t=this;t.loadedSearches={},t.userOptions={},t.renderCache={},t.options=t.sifter.items={},t.lastQuery=null,t.trigger("option_clear"),t.clear()},getOption:function(t){return this.getElementWithValue(t,this.$dropdown_content.find("[data-selectable]"))},getAdjacentOption:function(e,n){var i=this.$dropdown.find("[data-selectable]"),o=i.index(e)+n;return o>=0&&o<i.length?i.eq(o):t()},getElementWithValue:function(e,n){if(null!=(e=u(e)))for(var i=0,o=n.length;o>i;i++)if(n[i].getAttribute("data-value")===e)return t(n[i]);return t()},getItem:function(t){return this.getElementWithValue(t,this.$control.children())},addItems:function(e,n){for(var i=t.isArray(e)?e:[e],o=0,r=i.length;r>o;o++)this.isPending=r-1>o,this.addItem(i[o],n)},addItem:function(e,n){f(this,n?[]:["change"],(function(){var i,o,r,s,a,l=this,p=l.settings.mode;return e=u(e),-1!==l.items.indexOf(e)?void("single"===p&&l.close()):void(l.options.hasOwnProperty(e)&&("single"===p&&l.clear(n),"multi"===p&&l.isFull()||(i=t(l.render("item",l.options[e])),a=l.isFull(),l.items.splice(l.caretPos,0,e),l.insertAtCaret(i),(!l.isPending||!a&&l.isFull())&&l.refreshState(),l.isSetup&&(r=l.$dropdown_content.find("[data-selectable]"),l.isPending||(o=l.getOption(e),s=l.getAdjacentOption(o,1).attr("data-value"),l.refreshOptions(l.isFocused&&"single"!==p),s&&l.setActiveOption(l.getOption(s))),!r.length||l.isFull()?l.close():l.positionDropdown(),l.updatePlaceholder(),l.trigger("item_add",e,i),l.updateOriginalInput({silent:n})))))}))},removeItem:function(t,e){var n,i,o,r=this;n="object"==typeof t?t:r.getItem(t),t=u(n.attr("data-value")),-1!==(i=r.items.indexOf(t))&&(n.remove(),n.hasClass("active")&&(o=r.$activeItems.indexOf(n[0]),r.$activeItems.splice(o,1)),r.items.splice(i,1),r.lastQuery=null,!r.settings.persist&&r.userOptions.hasOwnProperty(t)&&r.removeOption(t,e),i<r.caretPos&&r.setCaret(r.caretPos-1),r.refreshState(),r.updatePlaceholder(),r.updateOriginalInput({silent:e}),r.positionDropdown(),r.trigger("item_remove",t,n))},createItem:function(e,n){var i=this,o=i.caretPos;e=e||t.trim(i.$control_input.val()||"");var r=arguments[arguments.length-1];if("function"!=typeof r&&(r=function(){}),"boolean"!=typeof n&&(n=!0),!i.canCreate(e))return r(),!1;i.lock();var s="function"==typeof i.settings.create?this.settings.create:function(t){var e={};return e[i.settings.labelField]=t,e[i.settings.valueField]=t,e},a=function(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}((function(t){if(i.unlock(),!t||"object"!=typeof t)return r();var e=u(t[i.settings.valueField]);return"string"!=typeof e?r():(i.setTextboxValue(""),i.addOption(t),i.setCaret(o),i.addItem(e),i.refreshOptions(n&&"single"!==i.settings.mode),void r(t))})),l=s.apply(this,[e,a]);return void 0!==l&&a(l),!0},refreshItems:function(){this.lastQuery=null,this.isSetup&&this.addItem(this.items),this.refreshState(),this.updateOriginalInput()},refreshState:function(){var t=this;t.isRequired&&(t.items.length&&(t.isInvalid=!1),t.$control_input.prop("required",undefined)),t.refreshClasses()},refreshClasses:function(){var e=this,n=e.isFull(),i=e.isLocked;e.$wrapper.toggleClass("rtl",e.rtl),e.$control.toggleClass("focus",e.isFocused).toggleClass("disabled",e.isDisabled).toggleClass("required",e.isRequired).toggleClass("invalid",e.isInvalid).toggleClass("locked",i).toggleClass("full",n).toggleClass("not-full",!n).toggleClass("input-active",e.isFocused&&!e.isInputHidden).toggleClass("dropdown-active",e.isOpen).toggleClass("has-options",!t.isEmptyObject(e.options)).toggleClass("has-items",e.items.length>0),e.$control_input.data("grow",!n&&!i)},isFull:function(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(t){var e,n,i,o,r=this;if(t=t||{},1===r.tagType){for(i=[],e=0,n=r.items.length;n>e;e++)o=r.options[r.items[e]][r.settings.labelField]||"",i.push('<option value="'+c(r.items[e])+'" selected="selected">'+c(o)+"</option>");i.length||this.$input.attr("multiple")||i.push('<option value="" selected="selected"></option>'),r.$input.html(i.join(""))}else r.$input.val(r.getValue()),r.$input.attr("value",r.$input.val());r.isSetup&&(t.silent||r.trigger("change",r.$input.val()))},updatePlaceholder:function(){if(this.settings.placeholder){var t=this.$control_input;this.items.length?t.removeAttr("placeholder"):t.attr("placeholder",this.settings.placeholder),t.triggerHandler("update",{force:!0})}},open:function(){var t=this;t.isLocked||t.isOpen||"multi"===t.settings.mode&&t.isFull()||(t.focus(),t.isOpen=!0,t.refreshState(),t.$dropdown.css({visibility:"hidden",display:"block"}),t.positionDropdown(),t.$dropdown.css({visibility:"visible"}),t.trigger("dropdown_open",t.$dropdown))},close:function(){var t=this,e=t.isOpen;"single"===t.settings.mode&&t.items.length&&t.hideInput(),t.isOpen=!1,t.$dropdown.hide(),t.setActiveOption(null),t.refreshState(),e&&t.trigger("dropdown_close",t.$dropdown)},positionDropdown:function(){var t=this.$control,e="body"===this.settings.dropdownParent?t.offset():t.position();e.top+=t.outerHeight(!0),this.$dropdown.css({width:t.outerWidth(),top:e.top,left:e.left})},clear:function(t){var e=this;e.items.length&&(e.$control.children(":not(input)").remove(),e.items=[],e.lastQuery=null,e.setCaret(0),e.setActiveItem(null),e.updatePlaceholder(),e.updateOriginalInput({silent:t}),e.refreshState(),e.showInput(),e.trigger("clear"))},insertAtCaret:function(e){var n=Math.min(this.caretPos,this.items.length);0===n?this.$control.prepend(e):t(this.$control[0].childNodes[n]).before(e),this.setCaret(n+1)},deleteSelection:function(e){var n,i,o,r,s,a,l,p,u,c=this;if(o=e&&8===e.keyCode?-1:1,r=v(c.$control_input[0]),c.$activeOption&&!c.settings.hideSelected&&(l=c.getAdjacentOption(c.$activeOption,-1).attr("data-value")),s=[],c.$activeItems.length){for(u=c.$control.children(".active:"+(o>0?"last":"first")),a=c.$control.children(":not(input)").index(u),o>0&&a++,n=0,i=c.$activeItems.length;i>n;n++)s.push(t(c.$activeItems[n]).attr("data-value"));e&&(e.preventDefault(),e.stopPropagation())}else(c.isFocused||"single"===c.settings.mode)&&c.items.length&&(0>o&&0===r.start&&0===r.length?s.push(c.items[c.caretPos-1]):o>0&&r.start===c.$control_input.val().length&&s.push(c.items[c.caretPos]));if(!s.length||"function"==typeof c.settings.onDelete&&!1===c.settings.onDelete.apply(c,[s]))return!1;for(void 0!==a&&c.setCaret(a);s.length;)c.removeItem(s.pop());return c.showInput(),c.positionDropdown(),c.refreshOptions(!0),l&&((p=c.getOption(l)).length&&c.setActiveOption(p)),!0},advanceSelection:function(t,e){var n,i,o,r,s,a=this;0!==t&&(a.rtl&&(t*=-1),n=t>0?"last":"first",i=v(a.$control_input[0]),a.isFocused&&!a.isInputHidden?(r=a.$control_input.val().length,(0>t?0===i.start&&0===i.length:i.start===r)&&!r&&a.advanceCaret(t,e)):(s=a.$control.children(".active:"+n)).length&&(o=a.$control.children(":not(input)").index(s),a.setActiveItem(null),a.setCaret(t>0?o+1:o)))},advanceCaret:function(t,e){var n,i,o=this;0!==t&&(n=t>0?"next":"prev",o.isShiftDown?(i=o.$control_input[n]()).length&&(o.hideInput(),o.setActiveItem(i),e&&e.preventDefault()):o.setCaret(o.caretPos+t))},setCaret:function(e){var n,i,o,r,s=this;if(e="single"===s.settings.mode?s.items.length:Math.max(0,Math.min(s.items.length,e)),!s.isPending)for(n=0,i=(o=s.$control.children(":not(input)")).length;i>n;n++)r=t(o[n]).detach(),e>n?s.$control_input.before(r):s.$control.append(r);s.caretPos=e},lock:function(){this.close(),this.isLocked=!0,this.refreshState()},unlock:function(){this.isLocked=!1,this.refreshState()},disable:function(){var t=this;t.$input.prop("disabled",!0),t.$control_input.prop("disabled",!0).prop("tabindex",-1),t.isDisabled=!0,t.lock()},enable:function(){var t=this;t.$input.prop("disabled",!1),t.$control_input.prop("disabled",!1).prop("tabindex",t.tabIndex),t.isDisabled=!1,t.unlock()},destroy:function(){var e=this,n=e.eventNS,i=e.revertSettings;e.trigger("destroy"),e.off(),e.$wrapper.remove(),e.$dropdown.remove(),e.$input.html("").append(i.$children).removeAttr("tabindex").removeClass("selectized").attr({tabindex:i.tabindex}).show(),e.$control_input.removeData("grow"),e.$input.removeData("selectize"),t(window).off(n),t(document).off(n),t(document.body).off(n),delete e.$input[0].selectize},render:function(t,e){var n,i,o="",r=!1,s=this,a=/^[\t \r\n]*<([a-z][a-z0-9\-_]*(?:\:[a-z][a-z0-9\-_]*)?)/i;return("option"===t||"item"===t)&&(r=!!(n=u(e[s.settings.valueField]))),r&&(p(s.renderCache[t])||(s.renderCache[t]={}),s.renderCache[t].hasOwnProperty(n))?s.renderCache[t][n]:(o=s.settings.render[t].apply(this,[e,c]),("option"===t||"option_create"===t)&&(o=o.replace(a,"<$1 data-selectable")),"optgroup"===t&&(i=e[s.settings.optgroupValueField]||"",o=o.replace(a,'<$1 data-group="'+d(c(i))+'"')),("option"===t||"item"===t)&&(o=o.replace(a,'<$1 data-value="'+d(c(n||""))+'"')),r&&(s.renderCache[t][n]=o),o)},clearCache:function(t){void 0===t?this.renderCache={}:delete this.renderCache[t]},canCreate:function(t){var e=this;if(!e.settings.create)return!1;var n=e.settings.createFilter;return!(!t.length||"function"==typeof n&&!n.apply(e,[t])||"string"==typeof n&&!new RegExp(n).test(t)||n instanceof RegExp&&!n.test(t))}}),w.count=0,w.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:{}},t.fn.selectize=function(e){var n=t.fn.selectize.defaults,i=t.extend({},n,e),o=i.dataAttr,r=i.labelField,s=i.valueField,a=i.optgroupField,l=i.optgroupLabelField,p=i.optgroupValueField,c=function(e,n){var a,l,p,u,c=e.attr(o);if(c)for(n.options=JSON.parse(c),a=0,l=n.options.length;l>a;a++)n.items.push(n.options[a][s]);else{var d=t.trim(e.val()||"");if(!i.allowEmptyOption&&!d.length)return;for(a=0,l=(p=d.split(i.delimiter)).length;l>a;a++)(u={})[r]=p[a],u[s]=p[a],n.options.push(u);n.items=p}},d=function(e,n){var c,d,h,g,f=n.options,v={},m=function(t){var e=o&&t.attr(o);return"string"==typeof e&&e.length?JSON.parse(e):null},y=function(e,o){e=t(e);var l=u(e.attr("value"));if(l||i.allowEmptyOption)if(v.hasOwnProperty(l)){if(o){var p=v[l][a];p?t.isArray(p)?p.push(o):v[l][a]=[p,o]:v[l][a]=o}}else{var c=m(e)||{};c[r]=c[r]||e.text(),c[s]=c[s]||l,c[a]=c[a]||o,v[l]=c,f.push(c),e.is(":selected")&&n.items.push(l)}},w=function(e){var i,o,r,s,a;for((r=(e=t(e)).attr("label"))&&((s=m(e)||{})[l]=r,s[p]=r,n.optgroups.push(s)),i=0,o=(a=t("option",e)).length;o>i;i++)y(a[i],r)};for(n.maxItems=e.attr("multiple")?null:1,c=0,d=(g=e.children()).length;d>c;c++)"optgroup"===(h=g[c].tagName.toLowerCase())?w(g[c]):"option"===h&&y(g[c])};return this.each((function(){if(!this.selectize){var o=t(this),r=this.tagName.toLowerCase(),s=o.attr("placeholder")||o.attr("data-placeholder");s||i.allowEmptyOption||(s=o.children('option[value=""]').text());var a={placeholder:s,options:[],optgroups:[],items:[]};"select"===r?d(o,a):c(o,a),new w(o,t.extend(!0,{},n,a,e))}}))},t.fn.selectize.defaults=w.defaults,t.fn.selectize.support={validity:l},w.define("drag_drop",(function(){if(!t.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".');if("multi"===this.settings.mode){var e=this;e.lock=function(){var t=e.lock;return function(){var n=e.$control.data("sortable");return n&&n.disable(),t.apply(e,arguments)}}(),e.unlock=function(){var t=e.unlock;return function(){var n=e.$control.data("sortable");return n&&n.enable(),t.apply(e,arguments)}}(),e.setup=function(){var n=e.setup;return function(){n.apply(this,arguments);var i=e.$control.sortable({items:"[data-value]",forcePlaceholderSize:!0,disabled:e.isLocked,start:function(t,e){e.placeholder.css("width",e.helper.css("width")),i.css({overflow:"visible"})},stop:function(){i.css({overflow:"hidden"});var n=e.$activeItems?e.$activeItems.slice():null,o=[];i.children("[data-value]").each((function(){o.push(t(this).attr("data-value"))})),e.setValue(o),e.setActiveItem(n)}})}}()}})),w.define("dropdown_header",(function(e){var n=this;e=t.extend({title:"Untitled",headerClass:"selectize-dropdown-header",titleRowClass:"selectize-dropdown-header-title",labelClass:"selectize-dropdown-header-label",closeClass:"selectize-dropdown-header-close",html:function(t){return'<div class="'+t.headerClass+'"><div class="'+t.titleRowClass+'"><span class="'+t.labelClass+'">'+t.title+'</span><a href="javascript:void(0)" class="'+t.closeClass+'">&times;</a></div></div>'}},e),n.setup=function(){var i=n.setup;return function(){i.apply(n,arguments),n.$dropdown_header=t(e.html(e)),n.$dropdown.prepend(n.$dropdown_header)}}()})),w.define("optgroup_columns",(function(e){var n=this;e=t.extend({equalizeWidth:!0,equalizeHeight:!0},e),this.getAdjacentOption=function(e,n){var i=e.closest("[data-group]").find("[data-selectable]"),o=i.index(e)+n;return o>=0&&o<i.length?i.eq(o):t()},this.onKeyDown=function(){var t=n.onKeyDown;return function(e){var i,o,r,s;return!this.isOpen||37!==e.keyCode&&39!==e.keyCode?t.apply(this,arguments):(n.ignoreHover=!0,i=(s=this.$activeOption.closest("[data-group]")).find("[data-selectable]").index(this.$activeOption),void((o=(r=(s=37===e.keyCode?s.prev("[data-group]"):s.next("[data-group]")).find("[data-selectable]")).eq(Math.min(r.length-1,i))).length&&this.setActiveOption(o)))}}();var i=function(){var t,e=i.width,n=document;return void 0===e&&((t=n.createElement("div")).innerHTML='<div style="width:50px;height:50px;position:absolute;left:-50px;top:-50px;overflow:auto;"><div style="width:1px;height:100px;"></div></div>',t=t.firstChild,n.body.appendChild(t),e=i.width=t.offsetWidth-t.clientWidth,n.body.removeChild(t)),e},o=function(){var o,r,s,a,l,p,u;if((r=(u=t("[data-group]",n.$dropdown_content)).length)&&n.$dropdown_content.width()){if(e.equalizeHeight){for(s=0,o=0;r>o;o++)s=Math.max(s,u.eq(o).height());u.css({height:s})}e.equalizeWidth&&(p=n.$dropdown_content.innerWidth()-i(),a=Math.round(p/r),u.css({width:a}),r>1&&(l=p-a*(r-1),u.eq(r-1).css({width:l})))}};(e.equalizeHeight||e.equalizeWidth)&&(h.after(this,"positionDropdown",o),h.after(this,"refreshOptions",o))})),w.define("remove_button",(function(e){if("single"!==this.settings.mode){e=t.extend({label:"&times;",title:"Remove",className:"remove",append:!0},e);var n=this,i='<a href="javascript:void(0)" class="'+e.className+'" tabindex="-1" title="'+c(e.title)+'">'+e.label+"</a>";this.setup=function(){var o=n.setup;return function(){if(e.append){var r=n.settings.render.item;n.settings.render.item=function(){return function(t,e){var n=t.search(/(<\/[^>]+>\s*)$/);return t.substring(0,n)+e+t.substring(n)}(r.apply(this,arguments),i)}}o.apply(this,arguments),this.$control.on("click","."+e.className,(function(e){if(e.preventDefault(),!n.isLocked){var i=t(e.currentTarget).parent();n.setActiveItem(i),n.deleteSelection()&&n.setCaret(n.items.length)}}))}}()}})),w.define("restore_on_backspace",(function(t){var e=this;t.text=t.text||function(t){return t[this.settings.labelField]},this.onKeyDown=function(){var n=e.onKeyDown;return function(e){var i,o;return 8===e.keyCode&&""===this.$control_input.val()&&!this.$activeItems.length&&((i=this.caretPos-1)>=0&&i<this.items.length)?(o=this.options[this.items[i]],this.deleteSelection(e)&&(this.setTextboxValue(t.text.apply(this,[o])),this.refreshOptions(!0)),void e.preventDefault()):n.apply(this,arguments)}}()})),w}));