{"version":3,"sources":["webpack:////builds/gitlab/gitlabhq/node_modules/select2/select2.js"],"names":["jQuery","$","fn","each2","extend","c","j","i","l","this","length","context","call","undefined","window","Select2","AbstractSelect2","SingleSelect2","MultiSelect2","nextUid","sizer","$document","scrollBarDimensions","counter","lastMousePosition","x","y","KEY","TAB","ENTER","ESC","SPACE","LEFT","UP","RIGHT","DOWN","SHIFT","CTRL","ALT","PAGE_UP","PAGE_DOWN","HOME","END","BACKSPACE","DELETE","isArrow","k","which","isControl","e","metaKey","isFunctionKey","MEASURE_SCROLLBAR_TEMPLATE","DIACRITICS","Ⓐ","A","À","Á","Â","Ầ","Ấ","Ẫ","Ẩ","Ã","Ā","Ă","Ằ","Ắ","Ẵ","Ẳ","Ȧ","Ǡ","Ä","Ǟ","Ả","Å","Ǻ","Ǎ","Ȁ","Ȃ","Ạ","Ậ","Ặ","Ḁ","Ą","Ⱥ","Ɐ","Ꜳ","Æ","Ǽ","Ǣ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ⓑ","B","Ḃ","Ḅ","Ḇ","Ƀ","Ƃ","Ɓ","Ⓒ","C","Ć","Ĉ","Ċ","Č","Ç","Ḉ","Ƈ","Ȼ","Ꜿ","Ⓓ","D","Ḋ","Ď","Ḍ","Ḑ","Ḓ","Ḏ","Đ","Ƌ","Ɗ","Ɖ","Ꝺ","DZ","DŽ","Dz","Dž","Ⓔ","E","È","É","Ê","Ề","Ế","Ễ","Ể","Ẽ","Ē","Ḕ","Ḗ","Ĕ","Ė","Ë","Ẻ","Ě","Ȅ","Ȇ","Ẹ","Ệ","Ȩ","Ḝ","Ę","Ḙ","Ḛ","Ɛ","Ǝ","Ⓕ","F","Ḟ","Ƒ","Ꝼ","Ⓖ","G","Ǵ","Ĝ","Ḡ","Ğ","Ġ","Ǧ","Ģ","Ǥ","Ɠ","Ꞡ","Ᵹ","Ꝿ","Ⓗ","H","Ĥ","Ḣ","Ḧ","Ȟ","Ḥ","Ḩ","Ḫ","Ħ","Ⱨ","Ⱶ","Ɥ","Ⓘ","I","Ì","Í","Î","Ĩ","Ī","Ĭ","İ","Ï","Ḯ","Ỉ","Ǐ","Ȉ","Ȋ","Ị","Į","Ḭ","Ɨ","Ⓙ","J","Ĵ","Ɉ","Ⓚ","K","Ḱ","Ǩ","Ḳ","Ķ","Ḵ","Ƙ","Ⱪ","Ꝁ","Ꝃ","Ꝅ","Ꞣ","Ⓛ","L","Ŀ","Ĺ","Ľ","Ḷ","Ḹ","Ļ","Ḽ","Ḻ","Ł","Ƚ","Ɫ","Ⱡ","Ꝉ","Ꝇ","Ꞁ","LJ","Lj","Ⓜ","M","Ḿ","Ṁ","Ṃ","Ɱ","Ɯ","Ⓝ","N","Ǹ","Ń","Ñ","Ṅ","Ň","Ṇ","Ņ","Ṋ","Ṉ","Ƞ","Ɲ","Ꞑ","Ꞥ","NJ","Nj","Ⓞ","O","Ò","Ó","Ô","Ồ","Ố","Ỗ","Ổ","Õ","Ṍ","Ȭ","Ṏ","Ō","Ṑ","Ṓ","Ŏ","Ȯ","Ȱ","Ö","Ȫ","Ỏ","Ő","Ǒ","Ȍ","Ȏ","Ơ","Ờ","Ớ","Ỡ","Ở","Ợ","Ọ","Ộ","Ǫ","Ǭ","Ø","Ǿ","Ɔ","Ɵ","Ꝋ","Ꝍ","Ƣ","Ꝏ","Ȣ","Ⓟ","P","Ṕ","Ṗ","Ƥ","Ᵽ","Ꝑ","Ꝓ","Ꝕ","Ⓠ","Q","Ꝗ","Ꝙ","Ɋ","Ⓡ","R","Ŕ","Ṙ","Ř","Ȑ","Ȓ","Ṛ","Ṝ","Ŗ","Ṟ","Ɍ","Ɽ","Ꝛ","Ꞧ","Ꞃ","Ⓢ","S","ẞ","Ś","Ṥ","Ŝ","Ṡ","Š","Ṧ","Ṣ","Ṩ","Ș","Ş","Ȿ","Ꞩ","Ꞅ","Ⓣ","T","Ṫ","Ť","Ṭ","Ț","Ţ","Ṱ","Ṯ","Ŧ","Ƭ","Ʈ","Ⱦ","Ꞇ","Ꜩ","Ⓤ","U","Ù","Ú","Û","Ũ","Ṹ","Ū","Ṻ","Ŭ","Ü","Ǜ","Ǘ","Ǖ","Ǚ","Ủ","Ů","Ű","Ǔ","Ȕ","Ȗ","Ư","Ừ","Ứ","Ữ","Ử","Ự","Ụ","Ṳ","Ų","Ṷ","Ṵ","Ʉ","Ⓥ","V","Ṽ","Ṿ","Ʋ","Ꝟ","Ʌ","Ꝡ","Ⓦ","W","Ẁ","Ẃ","Ŵ","Ẇ","Ẅ","Ẉ","Ⱳ","Ⓧ","X","Ẋ","Ẍ","Ⓨ","Y","Ỳ","Ý","Ŷ","Ỹ","Ȳ","Ẏ","Ÿ","Ỷ","Ỵ","Ƴ","Ɏ","Ỿ","Ⓩ","Z","Ź","Ẑ","Ż","Ž","Ẓ","Ẕ","Ƶ","Ȥ","Ɀ","Ⱬ","Ꝣ","ⓐ","a","ẚ","à","á","â","ầ","ấ","ẫ","ẩ","ã","ā","ă","ằ","ắ","ẵ","ẳ","ȧ","ǡ","ä","ǟ","ả","å","ǻ","ǎ","ȁ","ȃ","ạ","ậ","ặ","ḁ","ą","ⱥ","ɐ","ꜳ","æ","ǽ","ǣ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ⓑ","b","ḃ","ḅ","ḇ","ƀ","ƃ","ɓ","ⓒ","c","ć","ĉ","ċ","č","ç","ḉ","ƈ","ȼ","ꜿ","ↄ","ⓓ","d","ḋ","ď","ḍ","ḑ","ḓ","ḏ","đ","ƌ","ɖ","ɗ","ꝺ","dz","dž","ⓔ","e","è","é","ê","ề","ế","ễ","ể","ẽ","ē","ḕ","ḗ","ĕ","ė","ë","ẻ","ě","ȅ","ȇ","ẹ","ệ","ȩ","ḝ","ę","ḙ","ḛ","ɇ","ɛ","ǝ","ⓕ","f","ḟ","ƒ","ꝼ","ⓖ","g","ǵ","ĝ","ḡ","ğ","ġ","ǧ","ģ","ǥ","ɠ","ꞡ","ᵹ","ꝿ","ⓗ","h","ĥ","ḣ","ḧ","ȟ","ḥ","ḩ","ḫ","ẖ","ħ","ⱨ","ⱶ","ɥ","ƕ","ⓘ","i","ì","í","î","ĩ","ī","ĭ","ï","ḯ","ỉ","ǐ","ȉ","ȋ","ị","į","ḭ","ɨ","ı","ⓙ","j","ĵ","ǰ","ɉ","ⓚ","k","ḱ","ǩ","ḳ","ķ","ḵ","ƙ","ⱪ","ꝁ","ꝃ","ꝅ","ꞣ","ⓛ","l","ŀ","ĺ","ľ","ḷ","ḹ","ļ","ḽ","ḻ","ſ","ł","ƚ","ɫ","ⱡ","ꝉ","ꞁ","ꝇ","lj","ⓜ","m","ḿ","ṁ","ṃ","ɱ","ɯ","ⓝ","n","ǹ","ń","ñ","ṅ","ň","ṇ","ņ","ṋ","ṉ","ƞ","ɲ","ʼn","ꞑ","ꞥ","nj","ⓞ","o","ò","ó","ô","ồ","ố","ỗ","ổ","õ","ṍ","ȭ","ṏ","ō","ṑ","ṓ","ŏ","ȯ","ȱ","ö","ȫ","ỏ","ő","ǒ","ȍ","ȏ","ơ","ờ","ớ","ỡ","ở","ợ","ọ","ộ","ǫ","ǭ","ø","ǿ","ɔ","ꝋ","ꝍ","ɵ","ƣ","ȣ","ꝏ","ⓟ","p","ṕ","ṗ","ƥ","ᵽ","ꝑ","ꝓ","ꝕ","ⓠ","q","ɋ","ꝗ","ꝙ","ⓡ","r","ŕ","ṙ","ř","ȑ","ȓ","ṛ","ṝ","ŗ","ṟ","ɍ","ɽ","ꝛ","ꞧ","ꞃ","ⓢ","s","ß","ś","ṥ","ŝ","ṡ","š","ṧ","ṣ","ṩ","ș","ş","ȿ","ꞩ","ꞅ","ẛ","ⓣ","t","ṫ","ẗ","ť","ṭ","ț","ţ","ṱ","ṯ","ŧ","ƭ","ʈ","ⱦ","ꞇ","ꜩ","ⓤ","u","ù","ú","û","ũ","ṹ","ū","ṻ","ŭ","ü","ǜ","ǘ","ǖ","ǚ","ủ","ů","ű","ǔ","ȕ","ȗ","ư","ừ","ứ","ữ","ử","ự","ụ","ṳ","ų","ṷ","ṵ","ʉ","ⓥ","v","ṽ","ṿ","ʋ","ꝟ","ʌ","ꝡ","ⓦ","w","ẁ","ẃ","ŵ","ẇ","ẅ","ẘ","ẉ","ⱳ","ⓧ","x","ẋ","ẍ","ⓨ","y","ỳ","ý","ŷ","ỹ","ȳ","ẏ","ÿ","ỷ","ẙ","ỵ","ƴ","ɏ","ỿ","ⓩ","z","ź","ẑ","ż","ž","ẓ","ẕ","ƶ","ȥ","ɀ","ⱬ","ꝣ","Ά","Έ","Ή","Ί","Ϊ","Ό","Ύ","Ϋ","Ώ","ά","έ","ή","ί","ϊ","ΐ","ό","ύ","ϋ","ΰ","ω","ς","document","clazz","Object","bind","func","self","apply","arguments","init","opts","results","search","prepareOpts","id","element","data","destroy","container","createContainer","liveRegion","role","aria-live","addClass","appendTo","body","containerId","attr","containerEventName","replace","syncCssClasses","adaptContainerCssClass","css","evaluate","containerCss","containerCssClass","elementTabIndex","before","on","killEvent","dropdown","find","adaptDropdownCssClass","dropdownCssClass","queryCount","resultsPage","initContainer","lastpos","pageX","pageY","target","trigger","highlightUnderEvent","event","_touchEvent","touchMoved","clearTouchMoved","selectHighlighted","threshold","notify","debounce","indexOf","get","installDebouncedScroll","loadMoreIfNeeded","stopPropagation","mousewheel","delta","deltaX","deltaY","top","scrollTop","scrollHeight","height","installKeyUpChangeEvent","updateResults","removeClass","closest","nextSearchTerm","isFunction","initSelection","monitorSource","maximumInputLength","disabled","prop","enable","readonly","$template","dim","width","clientWidth","clientHeight","remove","measureScrollbar","autofocus","focus","searchInputPlaceholder","select2","close","detachEvent","_sync","each","propertyObserver","disconnect","show","removeData","off","tabindex","removeAttr","cleanupJQueryElements","optionToData","is","text","locked","equal","children","select","idKey","ajaxUrl","tagName","toLowerCase","Error","populateResults","query","populate","depth","result","selectable","compound","node","label","innerContainer","formatted","nodes","sortResults","formatResultCssClass","createElement","formatResult","escapeMarkup","html","append","push","formatMatches","defaults","isArray","tags","placeholderOption","process","more","term","collection","group","matcher","elm","getPlaceholder","getPlaceholderOption","not","callback","ajax","url","local","createSearchChoice","trim","splitVal","val","separator","transformVal","obj","createSearchChoicePosition","list","item","unshift","observer","el","attachEvent","MutationObserver","WebKitMutationObserver","MozMutationObserver","mutations","observe","attributes","subtree","triggerSelect","evt","Event","object","choice","isDefaultPrevented","triggerChange","details","type","click","blurOnChange","blur","isInterfaceEnabled","enabledInterface","enableInterface","enabled","_enabled","_readonly","toggleClass","disable","opened","hasClass","positionDropdown","bodyOffset","above","changeDirection","resultsListNode","$dropdown","offset","outerHeight","outerWidth","dropHeight","$window","windowWidth","windowHeight","viewPortRight","scrollLeft","viewportBottom","dropTop","dropLeft","left","enoughRoomBelow","enoughRoomAbove","dropWidth","hide","focusSearch","dropdownAutoWidth","bottom","dropdownCss","shouldOpen","clearDropdownAlignmentPreference","open","opening","mask","cid","scroll","resize","orient","last","detach","reinsertElement","selectOnBlur","noFocus","preventDefault","prev","that","parents","add","empty","clearSearch","externalSearch","getMaximumSelectionSize","maximumSelectionSize","ensureHighlightVisible","index","child","hb","rb","topOffset","highlight","findHighlightableChoices","moveHighlight","choices","filter","removeHighlight","_touchMoved","countSelectableResults","page","loadMorePadding","postprocessResults","formatLoadMore","setTimeout","items","tokenize","initial","input","queryNumber","lastTerm","showSearchInput","maxSelSize","checkFormatter","formatSelectionTooBig","minimumInputLength","formatInputTooShort","render","showSearch","formatInputTooLong","formatSearching","def","hasError","formatAjaxError","jqXHR","textStatus","errorThrown","formatNoMatches","postRender","cancel","activeElement","selection","$el","range","pos","offsetWidth","offsetHeight","setSelectionRange","createTextRange","collapse","options","onSelect","placeholder","firstOption","first","initContainerWidth","style","attrs","matches","split","match","class","join","parent","focusser","len","minimumResultsForSearch","shouldFocusInput","isFocused","elementLabel","idSuffix","originalTitle","keyCode","openOnEnter","altKey","ctrlKey","shiftKey","allowClear","clear","stopImmediatePropagation","setPlaceholder","removed","isPlaceholderOptionSelected","updateSelection","selected","is_match","noop","noHighlightUpdate","min","countResults","count","old","oldData","added","cssClass","formatSelection","formatSelectionCssClass","value","ids","grep","ordered","splice","selectChoice","selector","searchContainer","_this","keydowns","next","selectionStart","selectionEnd","sel","createRange","moveStart","getCursorInfo","selectedChoice","unselect","resizeSearch","clearPlaceholder","maxWidth","getMaxSearchWidth","getVal","filtered","addSelectedChoice","tokenizer","closeOnSelect","enableChoice","enabledItem","disabledItem","replaceWith","insertBefore","setVal","getSideBorderPadding","minimumWidth","searchWidth","sideBorderPadding","currentStyle","getComputedStyle","position","display","fontSize","fontFamily","fontStyle","fontWeight","letterSpacing","textTransform","whiteSpace","measureTextWidth","Math","floor","unique","buildChangeDetails","current","slice","map","onSortStart","onSortEnd","values","method","multiple","args","Array","prototype","allowedMethods","valueMethods","propertyMethods","methodsMap","multi","single","markup","markMatch","stripDiacritics","toUpperCase","tokenSeparators","selectCallback","token","original","dupe","substring","defaultEscapeMarkup","selectedObject","currentSearchTerm","instance","navigator","msMaxTouchPoints","locales","n","max","limit","pageNumber","ajaxDefaults","transport","params","cache","dataType","util","abstract","createTextNode","str","a","array","b","constructor","String","string","transform","key","quietMillis","ctx","timeout","clearTimeout","dest","src","adapter","classes","adapted","replacements","tl","replace_map","\\","&","<",">","\"","'","/","handler","deprecated","jsonpCallback","abort","success","error","dataText","tmp","dataItem","t","datum","hasOwnProperty","childDatum","isFunc","isObject","formatter","formatterName","SuperClass","methods"],"mappings":"4EAAA,SAAAA,GAoBA,IAAAC,OACA,KADAA,EAkBCD,GAjBDE,GAAAC,OACAF,EAAAG,OAAAH,EAAAC,GAAA,CAKAC,MAAA,SAAAE,GAEA,IADA,IAAAC,EAAAL,EAAA,KAAAM,GAAA,EAAAC,EAAAC,KAAAC,SAEAH,EAAAC,IACAF,EAAAK,QAAAL,EAAA,GAAAG,KAAAF,MACA,IAAAF,EAAAO,KAAAN,EAAA,GAAAC,EAAAD,KAEA,OAAAG,QAMA,SAAAR,EAAAY,GACA,aAGA,GAAAC,OAAAC,UAAAF,EAAA,CAIA,IAAAG,EAAAC,EAAAC,EAAAC,EAAAC,EACmCC,EAAAC,EAuDVC,EAvDzBC,EAAA,CAA2BC,EAAA,EAAAC,EAAA,GAE3BC,EAAA,CACAC,IAAA,EACAC,MAAA,GACAC,IAAA,GACAC,MAAA,GACAC,KAAA,GACAC,GAAA,GACAC,MAAA,GACAC,KAAA,GACAC,MAAA,GACAC,KAAA,GACAC,IAAA,GACAC,QAAA,GACAC,UAAA,GACAC,KAAA,GACAC,IAAA,GACAC,UAAA,EACAC,OAAA,GACAC,QAAA,SAAAC,GAEA,OADAA,IAAAC,MAAAD,EAAAC,MAAAD,GAEA,KAAAnB,EAAAK,KACA,KAAAL,EAAAO,MACA,KAAAP,EAAAM,GACA,KAAAN,EAAAQ,KACA,SAEA,UAEAa,UAAA,SAAAC,GAEA,OADAA,EAAAF,OAEA,KAAApB,EAAAS,MACA,KAAAT,EAAAU,KACA,KAAAV,EAAAW,IACA,SAGA,QAAAW,EAAAC,SAIAC,cAAA,SAAAL,GAEA,OADAA,IAAAC,MAAAD,EAAAC,MAAAD,IACA,KAAAA,GAAA,MAGAM,EAAA,gDAEAC,EAAA,CAAkBC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,KAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,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","file":"vendors~select2.3435491a.chunk.js","sourcesContent":["/*\nCopyright 2012 Igor Vaynberg\n\nVersion: 3.5.2 Timestamp: Sat Nov 1 14:43:36 EDT 2014\n\nThis software is licensed under the Apache License, Version 2.0 (the \"Apache License\") or the GNU\nGeneral Public License version 2 (the \"GPL License\"). You may choose either license to govern your\nuse of this software only upon the condition that you accept all of the terms of either the Apache\nLicense or the GPL License.\n\nYou may obtain a copy of the Apache License and the GPL License at:\n\n http://www.apache.org/licenses/LICENSE-2.0\n http://www.gnu.org/licenses/gpl-2.0.html\n\nUnless required by applicable law or agreed to in writing, software distributed under the\nApache License or the GPL License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for\nthe specific language governing permissions and limitations under the Apache License and the GPL License.\n*/\n(function ($) {\n if(typeof $.fn.each2 == \"undefined\") {\n $.extend($.fn, {\n /*\n * 4-10 times faster .each replacement\n * use it carefully, as it overrides jQuery context of element on each iteration\n */\n each2 : function (c) {\n var j = $([0]), i = -1, l = this.length;\n while (\n ++i < l\n && (j.context = j[0] = this[i])\n && c.call(j[0], i, j) !== false //\"this\"=DOM, i=index, j=jQuery object\n );\n return this;\n }\n });\n }\n})(jQuery);\n\n(function ($, undefined) {\n \"use strict\";\n /*global document, window, jQuery, console */\n\n if (window.Select2 !== undefined) {\n return;\n }\n\n var AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,\n lastMousePosition={x:0,y:0}, $document, scrollBarDimensions,\n\n KEY = {\n TAB: 9,\n ENTER: 13,\n ESC: 27,\n SPACE: 32,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n HOME: 36,\n END: 35,\n BACKSPACE: 8,\n DELETE: 46,\n isArrow: function (k) {\n k = k.which ? k.which : k;\n switch (k) {\n case KEY.LEFT:\n case KEY.RIGHT:\n case KEY.UP:\n case KEY.DOWN:\n return true;\n }\n return false;\n },\n isControl: function (e) {\n var k = e.which;\n switch (k) {\n case KEY.SHIFT:\n case KEY.CTRL:\n case KEY.ALT:\n return true;\n }\n\n if (e.metaKey) return true;\n\n return false;\n },\n isFunctionKey: function (k) {\n k = k.which ? k.which : k;\n return k >= 112 && k <= 123;\n }\n },\n MEASURE_SCROLLBAR_TEMPLATE = \"
\",\n\n DIACRITICS = {\"\\u24B6\":\"A\",\"\\uFF21\":\"A\",\"\\u00C0\":\"A\",\"\\u00C1\":\"A\",\"\\u00C2\":\"A\",\"\\u1EA6\":\"A\",\"\\u1EA4\":\"A\",\"\\u1EAA\":\"A\",\"\\u1EA8\":\"A\",\"\\u00C3\":\"A\",\"\\u0100\":\"A\",\"\\u0102\":\"A\",\"\\u1EB0\":\"A\",\"\\u1EAE\":\"A\",\"\\u1EB4\":\"A\",\"\\u1EB2\":\"A\",\"\\u0226\":\"A\",\"\\u01E0\":\"A\",\"\\u00C4\":\"A\",\"\\u01DE\":\"A\",\"\\u1EA2\":\"A\",\"\\u00C5\":\"A\",\"\\u01FA\":\"A\",\"\\u01CD\":\"A\",\"\\u0200\":\"A\",\"\\u0202\":\"A\",\"\\u1EA0\":\"A\",\"\\u1EAC\":\"A\",\"\\u1EB6\":\"A\",\"\\u1E00\":\"A\",\"\\u0104\":\"A\",\"\\u023A\":\"A\",\"\\u2C6F\":\"A\",\"\\uA732\":\"AA\",\"\\u00C6\":\"AE\",\"\\u01FC\":\"AE\",\"\\u01E2\":\"AE\",\"\\uA734\":\"AO\",\"\\uA736\":\"AU\",\"\\uA738\":\"AV\",\"\\uA73A\":\"AV\",\"\\uA73C\":\"AY\",\"\\u24B7\":\"B\",\"\\uFF22\":\"B\",\"\\u1E02\":\"B\",\"\\u1E04\":\"B\",\"\\u1E06\":\"B\",\"\\u0243\":\"B\",\"\\u0182\":\"B\",\"\\u0181\":\"B\",\"\\u24B8\":\"C\",\"\\uFF23\":\"C\",\"\\u0106\":\"C\",\"\\u0108\":\"C\",\"\\u010A\":\"C\",\"\\u010C\":\"C\",\"\\u00C7\":\"C\",\"\\u1E08\":\"C\",\"\\u0187\":\"C\",\"\\u023B\":\"C\",\"\\uA73E\":\"C\",\"\\u24B9\":\"D\",\"\\uFF24\":\"D\",\"\\u1E0A\":\"D\",\"\\u010E\":\"D\",\"\\u1E0C\":\"D\",\"\\u1E10\":\"D\",\"\\u1E12\":\"D\",\"\\u1E0E\":\"D\",\"\\u0110\":\"D\",\"\\u018B\":\"D\",\"\\u018A\":\"D\",\"\\u0189\":\"D\",\"\\uA779\":\"D\",\"\\u01F1\":\"DZ\",\"\\u01C4\":\"DZ\",\"\\u01F2\":\"Dz\",\"\\u01C5\":\"Dz\",\"\\u24BA\":\"E\",\"\\uFF25\":\"E\",\"\\u00C8\":\"E\",\"\\u00C9\":\"E\",\"\\u00CA\":\"E\",\"\\u1EC0\":\"E\",\"\\u1EBE\":\"E\",\"\\u1EC4\":\"E\",\"\\u1EC2\":\"E\",\"\\u1EBC\":\"E\",\"\\u0112\":\"E\",\"\\u1E14\":\"E\",\"\\u1E16\":\"E\",\"\\u0114\":\"E\",\"\\u0116\":\"E\",\"\\u00CB\":\"E\",\"\\u1EBA\":\"E\",\"\\u011A\":\"E\",\"\\u0204\":\"E\",\"\\u0206\":\"E\",\"\\u1EB8\":\"E\",\"\\u1EC6\":\"E\",\"\\u0228\":\"E\",\"\\u1E1C\":\"E\",\"\\u0118\":\"E\",\"\\u1E18\":\"E\",\"\\u1E1A\":\"E\",\"\\u0190\":\"E\",\"\\u018E\":\"E\",\"\\u24BB\":\"F\",\"\\uFF26\":\"F\",\"\\u1E1E\":\"F\",\"\\u0191\":\"F\",\"\\uA77B\":\"F\",\"\\u24BC\":\"G\",\"\\uFF27\":\"G\",\"\\u01F4\":\"G\",\"\\u011C\":\"G\",\"\\u1E20\":\"G\",\"\\u011E\":\"G\",\"\\u0120\":\"G\",\"\\u01E6\":\"G\",\"\\u0122\":\"G\",\"\\u01E4\":\"G\",\"\\u0193\":\"G\",\"\\uA7A0\":\"G\",\"\\uA77D\":\"G\",\"\\uA77E\":\"G\",\"\\u24BD\":\"H\",\"\\uFF28\":\"H\",\"\\u0124\":\"H\",\"\\u1E22\":\"H\",\"\\u1E26\":\"H\",\"\\u021E\":\"H\",\"\\u1E24\":\"H\",\"\\u1E28\":\"H\",\"\\u1E2A\":\"H\",\"\\u0126\":\"H\",\"\\u2C67\":\"H\",\"\\u2C75\":\"H\",\"\\uA78D\":\"H\",\"\\u24BE\":\"I\",\"\\uFF29\":\"I\",\"\\u00CC\":\"I\",\"\\u00CD\":\"I\",\"\\u00CE\":\"I\",\"\\u0128\":\"I\",\"\\u012A\":\"I\",\"\\u012C\":\"I\",\"\\u0130\":\"I\",\"\\u00CF\":\"I\",\"\\u1E2E\":\"I\",\"\\u1EC8\":\"I\",\"\\u01CF\":\"I\",\"\\u0208\":\"I\",\"\\u020A\":\"I\",\"\\u1ECA\":\"I\",\"\\u012E\":\"I\",\"\\u1E2C\":\"I\",\"\\u0197\":\"I\",\"\\u24BF\":\"J\",\"\\uFF2A\":\"J\",\"\\u0134\":\"J\",\"\\u0248\":\"J\",\"\\u24C0\":\"K\",\"\\uFF2B\":\"K\",\"\\u1E30\":\"K\",\"\\u01E8\":\"K\",\"\\u1E32\":\"K\",\"\\u0136\":\"K\",\"\\u1E34\":\"K\",\"\\u0198\":\"K\",\"\\u2C69\":\"K\",\"\\uA740\":\"K\",\"\\uA742\":\"K\",\"\\uA744\":\"K\",\"\\uA7A2\":\"K\",\"\\u24C1\":\"L\",\"\\uFF2C\":\"L\",\"\\u013F\":\"L\",\"\\u0139\":\"L\",\"\\u013D\":\"L\",\"\\u1E36\":\"L\",\"\\u1E38\":\"L\",\"\\u013B\":\"L\",\"\\u1E3C\":\"L\",\"\\u1E3A\":\"L\",\"\\u0141\":\"L\",\"\\u023D\":\"L\",\"\\u2C62\":\"L\",\"\\u2C60\":\"L\",\"\\uA748\":\"L\",\"\\uA746\":\"L\",\"\\uA780\":\"L\",\"\\u01C7\":\"LJ\",\"\\u01C8\":\"Lj\",\"\\u24C2\":\"M\",\"\\uFF2D\":\"M\",\"\\u1E3E\":\"M\",\"\\u1E40\":\"M\",\"\\u1E42\":\"M\",\"\\u2C6E\":\"M\",\"\\u019C\":\"M\",\"\\u24C3\":\"N\",\"\\uFF2E\":\"N\",\"\\u01F8\":\"N\",\"\\u0143\":\"N\",\"\\u00D1\":\"N\",\"\\u1E44\":\"N\",\"\\u0147\":\"N\",\"\\u1E46\":\"N\",\"\\u0145\":\"N\",\"\\u1E4A\":\"N\",\"\\u1E48\":\"N\",\"\\u0220\":\"N\",\"\\u019D\":\"N\",\"\\uA790\":\"N\",\"\\uA7A4\":\"N\",\"\\u01CA\":\"NJ\",\"\\u01CB\":\"Nj\",\"\\u24C4\":\"O\",\"\\uFF2F\":\"O\",\"\\u00D2\":\"O\",\"\\u00D3\":\"O\",\"\\u00D4\":\"O\",\"\\u1ED2\":\"O\",\"\\u1ED0\":\"O\",\"\\u1ED6\":\"O\",\"\\u1ED4\":\"O\",\"\\u00D5\":\"O\",\"\\u1E4C\":\"O\",\"\\u022C\":\"O\",\"\\u1E4E\":\"O\",\"\\u014C\":\"O\",\"\\u1E50\":\"O\",\"\\u1E52\":\"O\",\"\\u014E\":\"O\",\"\\u022E\":\"O\",\"\\u0230\":\"O\",\"\\u00D6\":\"O\",\"\\u022A\":\"O\",\"\\u1ECE\":\"O\",\"\\u0150\":\"O\",\"\\u01D1\":\"O\",\"\\u020C\":\"O\",\"\\u020E\":\"O\",\"\\u01A0\":\"O\",\"\\u1EDC\":\"O\",\"\\u1EDA\":\"O\",\"\\u1EE0\":\"O\",\"\\u1EDE\":\"O\",\"\\u1EE2\":\"O\",\"\\u1ECC\":\"O\",\"\\u1ED8\":\"O\",\"\\u01EA\":\"O\",\"\\u01EC\":\"O\",\"\\u00D8\":\"O\",\"\\u01FE\":\"O\",\"\\u0186\":\"O\",\"\\u019F\":\"O\",\"\\uA74A\":\"O\",\"\\uA74C\":\"O\",\"\\u01A2\":\"OI\",\"\\uA74E\":\"OO\",\"\\u0222\":\"OU\",\"\\u24C5\":\"P\",\"\\uFF30\":\"P\",\"\\u1E54\":\"P\",\"\\u1E56\":\"P\",\"\\u01A4\":\"P\",\"\\u2C63\":\"P\",\"\\uA750\":\"P\",\"\\uA752\":\"P\",\"\\uA754\":\"P\",\"\\u24C6\":\"Q\",\"\\uFF31\":\"Q\",\"\\uA756\":\"Q\",\"\\uA758\":\"Q\",\"\\u024A\":\"Q\",\"\\u24C7\":\"R\",\"\\uFF32\":\"R\",\"\\u0154\":\"R\",\"\\u1E58\":\"R\",\"\\u0158\":\"R\",\"\\u0210\":\"R\",\"\\u0212\":\"R\",\"\\u1E5A\":\"R\",\"\\u1E5C\":\"R\",\"\\u0156\":\"R\",\"\\u1E5E\":\"R\",\"\\u024C\":\"R\",\"\\u2C64\":\"R\",\"\\uA75A\":\"R\",\"\\uA7A6\":\"R\",\"\\uA782\":\"R\",\"\\u24C8\":\"S\",\"\\uFF33\":\"S\",\"\\u1E9E\":\"S\",\"\\u015A\":\"S\",\"\\u1E64\":\"S\",\"\\u015C\":\"S\",\"\\u1E60\":\"S\",\"\\u0160\":\"S\",\"\\u1E66\":\"S\",\"\\u1E62\":\"S\",\"\\u1E68\":\"S\",\"\\u0218\":\"S\",\"\\u015E\":\"S\",\"\\u2C7E\":\"S\",\"\\uA7A8\":\"S\",\"\\uA784\":\"S\",\"\\u24C9\":\"T\",\"\\uFF34\":\"T\",\"\\u1E6A\":\"T\",\"\\u0164\":\"T\",\"\\u1E6C\":\"T\",\"\\u021A\":\"T\",\"\\u0162\":\"T\",\"\\u1E70\":\"T\",\"\\u1E6E\":\"T\",\"\\u0166\":\"T\",\"\\u01AC\":\"T\",\"\\u01AE\":\"T\",\"\\u023E\":\"T\",\"\\uA786\":\"T\",\"\\uA728\":\"TZ\",\"\\u24CA\":\"U\",\"\\uFF35\":\"U\",\"\\u00D9\":\"U\",\"\\u00DA\":\"U\",\"\\u00DB\":\"U\",\"\\u0168\":\"U\",\"\\u1E78\":\"U\",\"\\u016A\":\"U\",\"\\u1E7A\":\"U\",\"\\u016C\":\"U\",\"\\u00DC\":\"U\",\"\\u01DB\":\"U\",\"\\u01D7\":\"U\",\"\\u01D5\":\"U\",\"\\u01D9\":\"U\",\"\\u1EE6\":\"U\",\"\\u016E\":\"U\",\"\\u0170\":\"U\",\"\\u01D3\":\"U\",\"\\u0214\":\"U\",\"\\u0216\":\"U\",\"\\u01AF\":\"U\",\"\\u1EEA\":\"U\",\"\\u1EE8\":\"U\",\"\\u1EEE\":\"U\",\"\\u1EEC\":\"U\",\"\\u1EF0\":\"U\",\"\\u1EE4\":\"U\",\"\\u1E72\":\"U\",\"\\u0172\":\"U\",\"\\u1E76\":\"U\",\"\\u1E74\":\"U\",\"\\u0244\":\"U\",\"\\u24CB\":\"V\",\"\\uFF36\":\"V\",\"\\u1E7C\":\"V\",\"\\u1E7E\":\"V\",\"\\u01B2\":\"V\",\"\\uA75E\":\"V\",\"\\u0245\":\"V\",\"\\uA760\":\"VY\",\"\\u24CC\":\"W\",\"\\uFF37\":\"W\",\"\\u1E80\":\"W\",\"\\u1E82\":\"W\",\"\\u0174\":\"W\",\"\\u1E86\":\"W\",\"\\u1E84\":\"W\",\"\\u1E88\":\"W\",\"\\u2C72\":\"W\",\"\\u24CD\":\"X\",\"\\uFF38\":\"X\",\"\\u1E8A\":\"X\",\"\\u1E8C\":\"X\",\"\\u24CE\":\"Y\",\"\\uFF39\":\"Y\",\"\\u1EF2\":\"Y\",\"\\u00DD\":\"Y\",\"\\u0176\":\"Y\",\"\\u1EF8\":\"Y\",\"\\u0232\":\"Y\",\"\\u1E8E\":\"Y\",\"\\u0178\":\"Y\",\"\\u1EF6\":\"Y\",\"\\u1EF4\":\"Y\",\"\\u01B3\":\"Y\",\"\\u024E\":\"Y\",\"\\u1EFE\":\"Y\",\"\\u24CF\":\"Z\",\"\\uFF3A\":\"Z\",\"\\u0179\":\"Z\",\"\\u1E90\":\"Z\",\"\\u017B\":\"Z\",\"\\u017D\":\"Z\",\"\\u1E92\":\"Z\",\"\\u1E94\":\"Z\",\"\\u01B5\":\"Z\",\"\\u0224\":\"Z\",\"\\u2C7F\":\"Z\",\"\\u2C6B\":\"Z\",\"\\uA762\":\"Z\",\"\\u24D0\":\"a\",\"\\uFF41\":\"a\",\"\\u1E9A\":\"a\",\"\\u00E0\":\"a\",\"\\u00E1\":\"a\",\"\\u00E2\":\"a\",\"\\u1EA7\":\"a\",\"\\u1EA5\":\"a\",\"\\u1EAB\":\"a\",\"\\u1EA9\":\"a\",\"\\u00E3\":\"a\",\"\\u0101\":\"a\",\"\\u0103\":\"a\",\"\\u1EB1\":\"a\",\"\\u1EAF\":\"a\",\"\\u1EB5\":\"a\",\"\\u1EB3\":\"a\",\"\\u0227\":\"a\",\"\\u01E1\":\"a\",\"\\u00E4\":\"a\",\"\\u01DF\":\"a\",\"\\u1EA3\":\"a\",\"\\u00E5\":\"a\",\"\\u01FB\":\"a\",\"\\u01CE\":\"a\",\"\\u0201\":\"a\",\"\\u0203\":\"a\",\"\\u1EA1\":\"a\",\"\\u1EAD\":\"a\",\"\\u1EB7\":\"a\",\"\\u1E01\":\"a\",\"\\u0105\":\"a\",\"\\u2C65\":\"a\",\"\\u0250\":\"a\",\"\\uA733\":\"aa\",\"\\u00E6\":\"ae\",\"\\u01FD\":\"ae\",\"\\u01E3\":\"ae\",\"\\uA735\":\"ao\",\"\\uA737\":\"au\",\"\\uA739\":\"av\",\"\\uA73B\":\"av\",\"\\uA73D\":\"ay\",\"\\u24D1\":\"b\",\"\\uFF42\":\"b\",\"\\u1E03\":\"b\",\"\\u1E05\":\"b\",\"\\u1E07\":\"b\",\"\\u0180\":\"b\",\"\\u0183\":\"b\",\"\\u0253\":\"b\",\"\\u24D2\":\"c\",\"\\uFF43\":\"c\",\"\\u0107\":\"c\",\"\\u0109\":\"c\",\"\\u010B\":\"c\",\"\\u010D\":\"c\",\"\\u00E7\":\"c\",\"\\u1E09\":\"c\",\"\\u0188\":\"c\",\"\\u023C\":\"c\",\"\\uA73F\":\"c\",\"\\u2184\":\"c\",\"\\u24D3\":\"d\",\"\\uFF44\":\"d\",\"\\u1E0B\":\"d\",\"\\u010F\":\"d\",\"\\u1E0D\":\"d\",\"\\u1E11\":\"d\",\"\\u1E13\":\"d\",\"\\u1E0F\":\"d\",\"\\u0111\":\"d\",\"\\u018C\":\"d\",\"\\u0256\":\"d\",\"\\u0257\":\"d\",\"\\uA77A\":\"d\",\"\\u01F3\":\"dz\",\"\\u01C6\":\"dz\",\"\\u24D4\":\"e\",\"\\uFF45\":\"e\",\"\\u00E8\":\"e\",\"\\u00E9\":\"e\",\"\\u00EA\":\"e\",\"\\u1EC1\":\"e\",\"\\u1EBF\":\"e\",\"\\u1EC5\":\"e\",\"\\u1EC3\":\"e\",\"\\u1EBD\":\"e\",\"\\u0113\":\"e\",\"\\u1E15\":\"e\",\"\\u1E17\":\"e\",\"\\u0115\":\"e\",\"\\u0117\":\"e\",\"\\u00EB\":\"e\",\"\\u1EBB\":\"e\",\"\\u011B\":\"e\",\"\\u0205\":\"e\",\"\\u0207\":\"e\",\"\\u1EB9\":\"e\",\"\\u1EC7\":\"e\",\"\\u0229\":\"e\",\"\\u1E1D\":\"e\",\"\\u0119\":\"e\",\"\\u1E19\":\"e\",\"\\u1E1B\":\"e\",\"\\u0247\":\"e\",\"\\u025B\":\"e\",\"\\u01DD\":\"e\",\"\\u24D5\":\"f\",\"\\uFF46\":\"f\",\"\\u1E1F\":\"f\",\"\\u0192\":\"f\",\"\\uA77C\":\"f\",\"\\u24D6\":\"g\",\"\\uFF47\":\"g\",\"\\u01F5\":\"g\",\"\\u011D\":\"g\",\"\\u1E21\":\"g\",\"\\u011F\":\"g\",\"\\u0121\":\"g\",\"\\u01E7\":\"g\",\"\\u0123\":\"g\",\"\\u01E5\":\"g\",\"\\u0260\":\"g\",\"\\uA7A1\":\"g\",\"\\u1D79\":\"g\",\"\\uA77F\":\"g\",\"\\u24D7\":\"h\",\"\\uFF48\":\"h\",\"\\u0125\":\"h\",\"\\u1E23\":\"h\",\"\\u1E27\":\"h\",\"\\u021F\":\"h\",\"\\u1E25\":\"h\",\"\\u1E29\":\"h\",\"\\u1E2B\":\"h\",\"\\u1E96\":\"h\",\"\\u0127\":\"h\",\"\\u2C68\":\"h\",\"\\u2C76\":\"h\",\"\\u0265\":\"h\",\"\\u0195\":\"hv\",\"\\u24D8\":\"i\",\"\\uFF49\":\"i\",\"\\u00EC\":\"i\",\"\\u00ED\":\"i\",\"\\u00EE\":\"i\",\"\\u0129\":\"i\",\"\\u012B\":\"i\",\"\\u012D\":\"i\",\"\\u00EF\":\"i\",\"\\u1E2F\":\"i\",\"\\u1EC9\":\"i\",\"\\u01D0\":\"i\",\"\\u0209\":\"i\",\"\\u020B\":\"i\",\"\\u1ECB\":\"i\",\"\\u012F\":\"i\",\"\\u1E2D\":\"i\",\"\\u0268\":\"i\",\"\\u0131\":\"i\",\"\\u24D9\":\"j\",\"\\uFF4A\":\"j\",\"\\u0135\":\"j\",\"\\u01F0\":\"j\",\"\\u0249\":\"j\",\"\\u24DA\":\"k\",\"\\uFF4B\":\"k\",\"\\u1E31\":\"k\",\"\\u01E9\":\"k\",\"\\u1E33\":\"k\",\"\\u0137\":\"k\",\"\\u1E35\":\"k\",\"\\u0199\":\"k\",\"\\u2C6A\":\"k\",\"\\uA741\":\"k\",\"\\uA743\":\"k\",\"\\uA745\":\"k\",\"\\uA7A3\":\"k\",\"\\u24DB\":\"l\",\"\\uFF4C\":\"l\",\"\\u0140\":\"l\",\"\\u013A\":\"l\",\"\\u013E\":\"l\",\"\\u1E37\":\"l\",\"\\u1E39\":\"l\",\"\\u013C\":\"l\",\"\\u1E3D\":\"l\",\"\\u1E3B\":\"l\",\"\\u017F\":\"l\",\"\\u0142\":\"l\",\"\\u019A\":\"l\",\"\\u026B\":\"l\",\"\\u2C61\":\"l\",\"\\uA749\":\"l\",\"\\uA781\":\"l\",\"\\uA747\":\"l\",\"\\u01C9\":\"lj\",\"\\u24DC\":\"m\",\"\\uFF4D\":\"m\",\"\\u1E3F\":\"m\",\"\\u1E41\":\"m\",\"\\u1E43\":\"m\",\"\\u0271\":\"m\",\"\\u026F\":\"m\",\"\\u24DD\":\"n\",\"\\uFF4E\":\"n\",\"\\u01F9\":\"n\",\"\\u0144\":\"n\",\"\\u00F1\":\"n\",\"\\u1E45\":\"n\",\"\\u0148\":\"n\",\"\\u1E47\":\"n\",\"\\u0146\":\"n\",\"\\u1E4B\":\"n\",\"\\u1E49\":\"n\",\"\\u019E\":\"n\",\"\\u0272\":\"n\",\"\\u0149\":\"n\",\"\\uA791\":\"n\",\"\\uA7A5\":\"n\",\"\\u01CC\":\"nj\",\"\\u24DE\":\"o\",\"\\uFF4F\":\"o\",\"\\u00F2\":\"o\",\"\\u00F3\":\"o\",\"\\u00F4\":\"o\",\"\\u1ED3\":\"o\",\"\\u1ED1\":\"o\",\"\\u1ED7\":\"o\",\"\\u1ED5\":\"o\",\"\\u00F5\":\"o\",\"\\u1E4D\":\"o\",\"\\u022D\":\"o\",\"\\u1E4F\":\"o\",\"\\u014D\":\"o\",\"\\u1E51\":\"o\",\"\\u1E53\":\"o\",\"\\u014F\":\"o\",\"\\u022F\":\"o\",\"\\u0231\":\"o\",\"\\u00F6\":\"o\",\"\\u022B\":\"o\",\"\\u1ECF\":\"o\",\"\\u0151\":\"o\",\"\\u01D2\":\"o\",\"\\u020D\":\"o\",\"\\u020F\":\"o\",\"\\u01A1\":\"o\",\"\\u1EDD\":\"o\",\"\\u1EDB\":\"o\",\"\\u1EE1\":\"o\",\"\\u1EDF\":\"o\",\"\\u1EE3\":\"o\",\"\\u1ECD\":\"o\",\"\\u1ED9\":\"o\",\"\\u01EB\":\"o\",\"\\u01ED\":\"o\",\"\\u00F8\":\"o\",\"\\u01FF\":\"o\",\"\\u0254\":\"o\",\"\\uA74B\":\"o\",\"\\uA74D\":\"o\",\"\\u0275\":\"o\",\"\\u01A3\":\"oi\",\"\\u0223\":\"ou\",\"\\uA74F\":\"oo\",\"\\u24DF\":\"p\",\"\\uFF50\":\"p\",\"\\u1E55\":\"p\",\"\\u1E57\":\"p\",\"\\u01A5\":\"p\",\"\\u1D7D\":\"p\",\"\\uA751\":\"p\",\"\\uA753\":\"p\",\"\\uA755\":\"p\",\"\\u24E0\":\"q\",\"\\uFF51\":\"q\",\"\\u024B\":\"q\",\"\\uA757\":\"q\",\"\\uA759\":\"q\",\"\\u24E1\":\"r\",\"\\uFF52\":\"r\",\"\\u0155\":\"r\",\"\\u1E59\":\"r\",\"\\u0159\":\"r\",\"\\u0211\":\"r\",\"\\u0213\":\"r\",\"\\u1E5B\":\"r\",\"\\u1E5D\":\"r\",\"\\u0157\":\"r\",\"\\u1E5F\":\"r\",\"\\u024D\":\"r\",\"\\u027D\":\"r\",\"\\uA75B\":\"r\",\"\\uA7A7\":\"r\",\"\\uA783\":\"r\",\"\\u24E2\":\"s\",\"\\uFF53\":\"s\",\"\\u00DF\":\"s\",\"\\u015B\":\"s\",\"\\u1E65\":\"s\",\"\\u015D\":\"s\",\"\\u1E61\":\"s\",\"\\u0161\":\"s\",\"\\u1E67\":\"s\",\"\\u1E63\":\"s\",\"\\u1E69\":\"s\",\"\\u0219\":\"s\",\"\\u015F\":\"s\",\"\\u023F\":\"s\",\"\\uA7A9\":\"s\",\"\\uA785\":\"s\",\"\\u1E9B\":\"s\",\"\\u24E3\":\"t\",\"\\uFF54\":\"t\",\"\\u1E6B\":\"t\",\"\\u1E97\":\"t\",\"\\u0165\":\"t\",\"\\u1E6D\":\"t\",\"\\u021B\":\"t\",\"\\u0163\":\"t\",\"\\u1E71\":\"t\",\"\\u1E6F\":\"t\",\"\\u0167\":\"t\",\"\\u01AD\":\"t\",\"\\u0288\":\"t\",\"\\u2C66\":\"t\",\"\\uA787\":\"t\",\"\\uA729\":\"tz\",\"\\u24E4\":\"u\",\"\\uFF55\":\"u\",\"\\u00F9\":\"u\",\"\\u00FA\":\"u\",\"\\u00FB\":\"u\",\"\\u0169\":\"u\",\"\\u1E79\":\"u\",\"\\u016B\":\"u\",\"\\u1E7B\":\"u\",\"\\u016D\":\"u\",\"\\u00FC\":\"u\",\"\\u01DC\":\"u\",\"\\u01D8\":\"u\",\"\\u01D6\":\"u\",\"\\u01DA\":\"u\",\"\\u1EE7\":\"u\",\"\\u016F\":\"u\",\"\\u0171\":\"u\",\"\\u01D4\":\"u\",\"\\u0215\":\"u\",\"\\u0217\":\"u\",\"\\u01B0\":\"u\",\"\\u1EEB\":\"u\",\"\\u1EE9\":\"u\",\"\\u1EEF\":\"u\",\"\\u1EED\":\"u\",\"\\u1EF1\":\"u\",\"\\u1EE5\":\"u\",\"\\u1E73\":\"u\",\"\\u0173\":\"u\",\"\\u1E77\":\"u\",\"\\u1E75\":\"u\",\"\\u0289\":\"u\",\"\\u24E5\":\"v\",\"\\uFF56\":\"v\",\"\\u1E7D\":\"v\",\"\\u1E7F\":\"v\",\"\\u028B\":\"v\",\"\\uA75F\":\"v\",\"\\u028C\":\"v\",\"\\uA761\":\"vy\",\"\\u24E6\":\"w\",\"\\uFF57\":\"w\",\"\\u1E81\":\"w\",\"\\u1E83\":\"w\",\"\\u0175\":\"w\",\"\\u1E87\":\"w\",\"\\u1E85\":\"w\",\"\\u1E98\":\"w\",\"\\u1E89\":\"w\",\"\\u2C73\":\"w\",\"\\u24E7\":\"x\",\"\\uFF58\":\"x\",\"\\u1E8B\":\"x\",\"\\u1E8D\":\"x\",\"\\u24E8\":\"y\",\"\\uFF59\":\"y\",\"\\u1EF3\":\"y\",\"\\u00FD\":\"y\",\"\\u0177\":\"y\",\"\\u1EF9\":\"y\",\"\\u0233\":\"y\",\"\\u1E8F\":\"y\",\"\\u00FF\":\"y\",\"\\u1EF7\":\"y\",\"\\u1E99\":\"y\",\"\\u1EF5\":\"y\",\"\\u01B4\":\"y\",\"\\u024F\":\"y\",\"\\u1EFF\":\"y\",\"\\u24E9\":\"z\",\"\\uFF5A\":\"z\",\"\\u017A\":\"z\",\"\\u1E91\":\"z\",\"\\u017C\":\"z\",\"\\u017E\":\"z\",\"\\u1E93\":\"z\",\"\\u1E95\":\"z\",\"\\u01B6\":\"z\",\"\\u0225\":\"z\",\"\\u0240\":\"z\",\"\\u2C6C\":\"z\",\"\\uA763\":\"z\",\"\\u0386\":\"\\u0391\",\"\\u0388\":\"\\u0395\",\"\\u0389\":\"\\u0397\",\"\\u038A\":\"\\u0399\",\"\\u03AA\":\"\\u0399\",\"\\u038C\":\"\\u039F\",\"\\u038E\":\"\\u03A5\",\"\\u03AB\":\"\\u03A5\",\"\\u038F\":\"\\u03A9\",\"\\u03AC\":\"\\u03B1\",\"\\u03AD\":\"\\u03B5\",\"\\u03AE\":\"\\u03B7\",\"\\u03AF\":\"\\u03B9\",\"\\u03CA\":\"\\u03B9\",\"\\u0390\":\"\\u03B9\",\"\\u03CC\":\"\\u03BF\",\"\\u03CD\":\"\\u03C5\",\"\\u03CB\":\"\\u03C5\",\"\\u03B0\":\"\\u03C5\",\"\\u03C9\":\"\\u03C9\",\"\\u03C2\":\"\\u03C3\"};\n\n $document = $(document);\n\n nextUid=(function() { var counter=1; return function() { return counter++; }; }());\n\n\n function reinsertElement(element) {\n var placeholder = $(document.createTextNode(''));\n\n element.before(placeholder);\n placeholder.before(element);\n placeholder.remove();\n }\n\n function stripDiacritics(str) {\n // Used 'uni range + named function' from http://jsperf.com/diacritics/18\n function match(a) {\n return DIACRITICS[a] || a;\n }\n\n return str.replace(/[^\\u0000-\\u007E]/g, match);\n }\n\n function indexOf(value, array) {\n var i = 0, l = array.length;\n for (; i < l; i = i + 1) {\n if (equal(value, array[i])) return i;\n }\n return -1;\n }\n\n function measureScrollbar () {\n var $template = $( MEASURE_SCROLLBAR_TEMPLATE );\n $template.appendTo(document.body);\n\n var dim = {\n width: $template.width() - $template[0].clientWidth,\n height: $template.height() - $template[0].clientHeight\n };\n $template.remove();\n\n return dim;\n }\n\n /**\n * Compares equality of a and b\n * @param a\n * @param b\n */\n function equal(a, b) {\n if (a === b) return true;\n if (a === undefined || b === undefined) return false;\n if (a === null || b === null) return false;\n // Check whether 'a' or 'b' is a string (primitive or object).\n // The concatenation of an empty string (+'') converts its argument to a string's primitive.\n if (a.constructor === String) return a+'' === b+''; // a+'' - in case 'a' is a String object\n if (b.constructor === String) return b+'' === a+''; // b+'' - in case 'b' is a String object\n return false;\n }\n\n /**\n * Splits the string into an array of values, transforming each value. An empty array is returned for nulls or empty\n * strings\n * @param string\n * @param separator\n */\n function splitVal(string, separator, transform) {\n var val, i, l;\n if (string === null || string.length < 1) return [];\n val = string.split(separator);\n for (i = 0, l = val.length; i < l; i = i + 1) val[i] = transform(val[i]);\n return val;\n }\n\n function getSideBorderPadding(element) {\n return element.outerWidth(false) - element.width();\n }\n\n function installKeyUpChangeEvent(element) {\n var key=\"keyup-change-value\";\n element.on(\"keydown\", function () {\n if ($.data(element, key) === undefined) {\n $.data(element, key, element.val());\n }\n });\n element.on(\"keyup\", function () {\n var val= $.data(element, key);\n if (val !== undefined && element.val() !== val) {\n $.removeData(element, key);\n element.trigger(\"keyup-change\");\n }\n });\n }\n\n\n /**\n * filters mouse events so an event is fired only if the mouse moved.\n *\n * filters out mouse events that occur when mouse is stationary but\n * the elements under the pointer are scrolled.\n */\n function installFilteredMouseMove(element) {\n element.on(\"mousemove\", function (e) {\n var lastpos = lastMousePosition;\n if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {\n $(e.target).trigger(\"mousemove-filtered\", e);\n }\n });\n }\n\n /**\n * Debounces a function. Returns a function that calls the original fn function only if no invocations have been made\n * within the last quietMillis milliseconds.\n *\n * @param quietMillis number of milliseconds to wait before invoking fn\n * @param fn function to be debounced\n * @param ctx object to be used as this reference within fn\n * @return debounced version of fn\n */\n function debounce(quietMillis, fn, ctx) {\n ctx = ctx || undefined;\n var timeout;\n return function () {\n var args = arguments;\n window.clearTimeout(timeout);\n timeout = window.setTimeout(function() {\n fn.apply(ctx, args);\n }, quietMillis);\n };\n }\n\n function installDebouncedScroll(threshold, element) {\n var notify = debounce(threshold, function (e) { element.trigger(\"scroll-debounced\", e);});\n element.on(\"scroll\", function (e) {\n if (indexOf(e.target, element.get()) >= 0) notify(e);\n });\n }\n\n function focus($el) {\n if ($el[0] === document.activeElement) return;\n\n /* set the focus in a 0 timeout - that way the focus is set after the processing\n of the current event has finished - which seems like the only reliable way\n to set focus */\n window.setTimeout(function() {\n var el=$el[0], pos=$el.val().length, range;\n\n $el.focus();\n\n /* make sure el received focus so we do not error out when trying to manipulate the caret.\n sometimes modals or others listeners may steal it after its set */\n var isVisible = (el.offsetWidth > 0 || el.offsetHeight > 0);\n if (isVisible && el === document.activeElement) {\n\n /* after the focus is set move the caret to the end, necessary when we val()\n just before setting focus */\n if(el.setSelectionRange)\n {\n el.setSelectionRange(pos, pos);\n }\n else if (el.createTextRange) {\n range = el.createTextRange();\n range.collapse(false);\n range.select();\n }\n }\n }, 0);\n }\n\n function getCursorInfo(el) {\n el = $(el)[0];\n var offset = 0;\n var length = 0;\n if ('selectionStart' in el) {\n offset = el.selectionStart;\n length = el.selectionEnd - offset;\n } else if ('selection' in document) {\n el.focus();\n var sel = document.selection.createRange();\n length = document.selection.createRange().text.length;\n sel.moveStart('character', -el.value.length);\n offset = sel.text.length - length;\n }\n return { offset: offset, length: length };\n }\n\n function killEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n }\n function killEventImmediately(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n function measureTextWidth(e) {\n if (!sizer){\n var style = e[0].currentStyle || window.getComputedStyle(e[0], null);\n sizer = $(document.createElement(\"div\")).css({\n position: \"absolute\",\n left: \"-10000px\",\n top: \"-10000px\",\n display: \"none\",\n fontSize: style.fontSize,\n fontFamily: style.fontFamily,\n fontStyle: style.fontStyle,\n fontWeight: style.fontWeight,\n letterSpacing: style.letterSpacing,\n textTransform: style.textTransform,\n whiteSpace: \"nowrap\"\n });\n sizer.attr(\"class\",\"select2-sizer\");\n $(document.body).append(sizer);\n }\n sizer.text(e.val());\n return sizer.width();\n }\n\n function syncCssClasses(dest, src, adapter) {\n var classes, replacements = [], adapted;\n\n classes = $.trim(dest.attr(\"class\"));\n\n if (classes) {\n classes = '' + classes; // for IE which returns object\n\n $(classes.split(/\\s+/)).each2(function() {\n if (this.indexOf(\"select2-\") === 0) {\n replacements.push(this);\n }\n });\n }\n\n classes = $.trim(src.attr(\"class\"));\n\n if (classes) {\n classes = '' + classes; // for IE which returns object\n\n $(classes.split(/\\s+/)).each2(function() {\n if (this.indexOf(\"select2-\") !== 0) {\n adapted = adapter(this);\n\n if (adapted) {\n replacements.push(adapted);\n }\n }\n });\n }\n\n dest.attr(\"class\", replacements.join(\" \"));\n }\n\n\n function markMatch(text, term, markup, escapeMarkup) {\n var match=stripDiacritics(text.toUpperCase()).indexOf(stripDiacritics(term.toUpperCase())),\n tl=term.length;\n\n if (match<0) {\n markup.push(escapeMarkup(text));\n return;\n }\n\n markup.push(escapeMarkup(text.substring(0, match)));\n markup.push(\"\");\n markup.push(escapeMarkup(text.substring(match, match + tl)));\n markup.push(\"\");\n markup.push(escapeMarkup(text.substring(match + tl, text.length)));\n }\n\n function defaultEscapeMarkup(markup) {\n var replace_map = {\n '\\\\': '\',\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n \"/\": '/'\n };\n\n return String(markup).replace(/[&<>\"'\\/\\\\]/g, function (match) {\n return replace_map[match];\n });\n }\n\n /**\n * Produces an ajax-based query function\n *\n * @param options object containing configuration parameters\n * @param options.params parameter map for the transport ajax call, can contain such options as cache, jsonpCallback, etc. see $.ajax\n * @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax\n * @param options.url url for the data\n * @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.\n * @param options.dataType request data type: ajax, jsonp, other datatypes supported by jQuery's $.ajax function or the transport function if specified\n * @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often\n * @param options.results a function(remoteData, pageNumber, query) that converts data returned form the remote request to the format expected by Select2.\n * The expected format is an object containing the following keys:\n * results array of objects that will be used as choices\n * more (optional) boolean indicating whether there are more results available\n * Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}\n */\n function ajax(options) {\n var timeout, // current scheduled but not yet executed request\n handler = null,\n quietMillis = options.quietMillis || 100,\n ajaxUrl = options.url,\n self = this;\n\n return function (query) {\n window.clearTimeout(timeout);\n timeout = window.setTimeout(function () {\n var data = options.data, // ajax data function\n url = ajaxUrl, // ajax url string or function\n transport = options.transport || $.fn.select2.ajaxDefaults.transport,\n // deprecated - to be removed in 4.0 - use params instead\n deprecated = {\n type: options.type || 'GET', // set type of request (GET or POST)\n cache: options.cache || false,\n jsonpCallback: options.jsonpCallback||undefined,\n dataType: options.dataType||\"json\"\n },\n params = $.extend({}, $.fn.select2.ajaxDefaults.params, deprecated);\n\n data = data ? data.call(self, query.term, query.page, query.context) : null;\n url = (typeof url === 'function') ? url.call(self, query.term, query.page, query.context) : url;\n\n if (handler && typeof handler.abort === \"function\") { handler.abort(); }\n\n if (options.params) {\n if ($.isFunction(options.params)) {\n $.extend(params, options.params.call(self));\n } else {\n $.extend(params, options.params);\n }\n }\n\n $.extend(params, {\n url: url,\n dataType: options.dataType,\n data: data,\n success: function (data) {\n // TODO - replace query.page with query so users have access to term, page, etc.\n // added query as third paramter to keep backwards compatibility\n var results = options.results(data, query.page, query);\n query.callback(results);\n },\n error: function(jqXHR, textStatus, errorThrown){\n var results = {\n hasError: true,\n jqXHR: jqXHR,\n textStatus: textStatus,\n errorThrown: errorThrown\n };\n\n query.callback(results);\n }\n });\n handler = transport.call(self, params);\n }, quietMillis);\n };\n }\n\n /**\n * Produces a query function that works with a local array\n *\n * @param options object containing configuration parameters. The options parameter can either be an array or an\n * object.\n *\n * If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.\n *\n * If the object form is used it is assumed that it contains 'data' and 'text' keys. The 'data' key should contain\n * an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'\n * key can either be a String in which case it is expected that each element in the 'data' array has a key with the\n * value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract\n * the text.\n */\n function local(options) {\n var data = options, // data elements\n dataText,\n tmp,\n text = function (item) { return \"\"+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search\n\n if ($.isArray(data)) {\n tmp = data;\n data = { results: tmp };\n }\n\n if ($.isFunction(data) === false) {\n tmp = data;\n data = function() { return tmp; };\n }\n\n var dataItem = data();\n if (dataItem.text) {\n text = dataItem.text;\n // if text is not a function we assume it to be a key name\n if (!$.isFunction(text)) {\n dataText = dataItem.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available\n text = function (item) { return item[dataText]; };\n }\n }\n\n return function (query) {\n var t = query.term, filtered = { results: [] }, process;\n if (t === \"\") {\n query.callback(data());\n return;\n }\n\n process = function(datum, collection) {\n var group, attr;\n datum = datum[0];\n if (datum.children) {\n group = {};\n for (attr in datum) {\n if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];\n }\n group.children=[];\n $(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });\n if (group.children.length || query.matcher(t, text(group), datum)) {\n collection.push(group);\n }\n } else {\n if (query.matcher(t, text(datum), datum)) {\n collection.push(datum);\n }\n }\n };\n\n $(data().results).each2(function(i, datum) { process(datum, filtered.results); });\n query.callback(filtered);\n };\n }\n\n // TODO javadoc\n function tags(data) {\n var isFunc = $.isFunction(data);\n return function (query) {\n var t = query.term, filtered = {results: []};\n var result = isFunc ? data(query) : data;\n if ($.isArray(result)) {\n $(result).each(function () {\n var isObject = this.text !== undefined,\n text = isObject ? this.text : this;\n if (t === \"\" || query.matcher(t, text)) {\n filtered.results.push(isObject ? this : {id: this, text: this});\n }\n });\n query.callback(filtered);\n }\n };\n }\n\n /**\n * Checks if the formatter function should be used.\n *\n * Throws an error if it is not a function. Returns true if it should be used,\n * false if no formatting should be performed.\n *\n * @param formatter\n */\n function checkFormatter(formatter, formatterName) {\n if ($.isFunction(formatter)) return true;\n if (!formatter) return false;\n if (typeof(formatter) === 'string') return true;\n throw new Error(formatterName +\" must be a string, function, or falsy value\");\n }\n\n /**\n * Returns a given value\n * If given a function, returns its output\n *\n * @param val string|function\n * @param context value of \"this\" to be passed to function\n * @returns {*}\n */\n function evaluate(val, context) {\n if ($.isFunction(val)) {\n var args = Array.prototype.slice.call(arguments, 2);\n return val.apply(context, args);\n }\n return val;\n }\n\n function countResults(results) {\n var count = 0;\n $.each(results, function(i, item) {\n if (item.children) {\n count += countResults(item.children);\n } else {\n count++;\n }\n });\n return count;\n }\n\n /**\n * Default tokenizer. This function uses breaks the input on substring match of any string from the\n * opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those\n * two options have to be defined in order for the tokenizer to work.\n *\n * @param input text user has typed so far or pasted into the search field\n * @param selection currently selected choices\n * @param selectCallback function(choice) callback tho add the choice to selection\n * @param opts select2's opts\n * @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value\n */\n function defaultTokenizer(input, selection, selectCallback, opts) {\n var original = input, // store the original so we can compare and know if we need to tell the search to update its text\n dupe = false, // check for whether a token we extracted represents a duplicate selected choice\n token, // token\n index, // position at which the separator was found\n i, l, // looping variables\n separator; // the matched separator\n\n if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;\n\n while (true) {\n index = -1;\n\n for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {\n separator = opts.tokenSeparators[i];\n index = input.indexOf(separator);\n if (index >= 0) break;\n }\n\n if (index < 0) break; // did not find any token separator in the input string, bail\n\n token = input.substring(0, index);\n input = input.substring(index + separator.length);\n\n if (token.length > 0) {\n token = opts.createSearchChoice.call(this, token, selection);\n if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {\n dupe = false;\n for (i = 0, l = selection.length; i < l; i++) {\n if (equal(opts.id(token), opts.id(selection[i]))) {\n dupe = true; break;\n }\n }\n\n if (!dupe) selectCallback(token);\n }\n }\n }\n\n if (original!==input) return input;\n }\n\n function cleanupJQueryElements() {\n var self = this;\n\n $.each(arguments, function (i, element) {\n self[element].remove();\n self[element] = null;\n });\n }\n\n /**\n * Creates a new class\n *\n * @param superClass\n * @param methods\n */\n function clazz(SuperClass, methods) {\n var constructor = function () {};\n constructor.prototype = new SuperClass;\n constructor.prototype.constructor = constructor;\n constructor.prototype.parent = SuperClass.prototype;\n constructor.prototype = $.extend(constructor.prototype, methods);\n return constructor;\n }\n\n AbstractSelect2 = clazz(Object, {\n\n // abstract\n bind: function (func) {\n var self = this;\n return function () {\n func.apply(self, arguments);\n };\n },\n\n // abstract\n init: function (opts) {\n var results, search, resultsSelector = \".select2-results\";\n\n // prepare options\n this.opts = opts = this.prepareOpts(opts);\n\n this.id=opts.id;\n\n // destroy if called on an existing component\n if (opts.element.data(\"select2\") !== undefined &&\n opts.element.data(\"select2\") !== null) {\n opts.element.data(\"select2\").destroy();\n }\n\n this.container = this.createContainer();\n\n this.liveRegion = $('.select2-hidden-accessible');\n if (this.liveRegion.length == 0) {\n this.liveRegion = $(\"\", {\n role: \"status\",\n \"aria-live\": \"polite\"\n })\n .addClass(\"select2-hidden-accessible\")\n .appendTo(document.body);\n }\n\n this.containerId=\"s2id_\"+(opts.element.attr(\"id\") || \"autogen\"+nextUid());\n this.containerEventName= this.containerId\n .replace(/([.])/g, '_')\n .replace(/([;&,\\-\\.\\+\\*\\~':\"\\!\\^#$%@\\[\\]\\(\\)=>\\|])/g, '\\\\$1');\n this.container.attr(\"id\", this.containerId);\n\n this.container.attr(\"title\", opts.element.attr(\"title\"));\n\n this.body = $(document.body);\n\n syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);\n\n this.container.attr(\"style\", opts.element.attr(\"style\"));\n this.container.css(evaluate(opts.containerCss, this.opts.element));\n this.container.addClass(evaluate(opts.containerCssClass, this.opts.element));\n\n this.elementTabIndex = this.opts.element.attr(\"tabindex\");\n\n // swap container for the element\n this.opts.element\n .data(\"select2\", this)\n .attr(\"tabindex\", \"-1\")\n .before(this.container)\n .on(\"click.select2\", killEvent); // do not leak click events\n\n this.container.data(\"select2\", this);\n\n this.dropdown = this.container.find(\".select2-drop\");\n\n syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);\n\n this.dropdown.addClass(evaluate(opts.dropdownCssClass, this.opts.element));\n this.dropdown.data(\"select2\", this);\n this.dropdown.on(\"click\", killEvent);\n\n this.results = results = this.container.find(resultsSelector);\n this.search = search = this.container.find(\"input.select2-input\");\n\n this.queryCount = 0;\n this.resultsPage = 0;\n this.context = null;\n\n // initialize the container\n this.initContainer();\n\n this.container.on(\"click\", killEvent);\n\n installFilteredMouseMove(this.results);\n\n this.dropdown.on(\"mousemove-filtered\", resultsSelector, this.bind(this.highlightUnderEvent));\n this.dropdown.on(\"touchstart touchmove touchend\", resultsSelector, this.bind(function (event) {\n this._touchEvent = true;\n this.highlightUnderEvent(event);\n }));\n this.dropdown.on(\"touchmove\", resultsSelector, this.bind(this.touchMoved));\n this.dropdown.on(\"touchstart touchend\", resultsSelector, this.bind(this.clearTouchMoved));\n\n // Waiting for a click event on touch devices to select option and hide dropdown\n // otherwise click will be triggered on an underlying element\n this.dropdown.on('click', this.bind(function (event) {\n if (this._touchEvent) {\n this._touchEvent = false;\n this.selectHighlighted();\n }\n }));\n\n installDebouncedScroll(80, this.results);\n this.dropdown.on(\"scroll-debounced\", resultsSelector, this.bind(this.loadMoreIfNeeded));\n\n // do not propagate change event from the search field out of the component\n $(this.container).on(\"change\", \".select2-input\", function(e) {e.stopPropagation();});\n $(this.dropdown).on(\"change\", \".select2-input\", function(e) {e.stopPropagation();});\n\n // if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel\n if ($.fn.mousewheel) {\n results.mousewheel(function (e, delta, deltaX, deltaY) {\n var top = results.scrollTop();\n if (deltaY > 0 && top - deltaY <= 0) {\n results.scrollTop(0);\n killEvent(e);\n } else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {\n results.scrollTop(results.get(0).scrollHeight - results.height());\n killEvent(e);\n }\n });\n }\n\n installKeyUpChangeEvent(search);\n search.on(\"keyup-change input paste\", this.bind(this.updateResults));\n search.on(\"focus\", function () { search.addClass(\"select2-focused\"); });\n search.on(\"blur\", function () { search.removeClass(\"select2-focused\");});\n\n this.dropdown.on(\"mouseup\", resultsSelector, this.bind(function (e) {\n if ($(e.target).closest(\".select2-result-selectable\").length > 0) {\n this.highlightUnderEvent(e);\n this.selectHighlighted(e);\n }\n }));\n\n // trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening\n // for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's\n // dom it will trigger the popup close, which is not what we want\n // focusin can cause focus wars between modals and select2 since the dropdown is outside the modal.\n this.dropdown.on(\"click mouseup mousedown touchstart touchend focusin\", function (e) { e.stopPropagation(); });\n\n this.nextSearchTerm = undefined;\n\n if ($.isFunction(this.opts.initSelection)) {\n // initialize selection based on the current value of the source element\n this.initSelection();\n\n // if the user has provided a function that can set selection based on the value of the source element\n // we monitor the change event on the element and trigger it, allowing for two way synchronization\n this.monitorSource();\n }\n\n if (opts.maximumInputLength !== null) {\n this.search.attr(\"maxlength\", opts.maximumInputLength);\n }\n\n var disabled = opts.element.prop(\"disabled\");\n if (disabled === undefined) disabled = false;\n this.enable(!disabled);\n\n var readonly = opts.element.prop(\"readonly\");\n if (readonly === undefined) readonly = false;\n this.readonly(readonly);\n\n // Calculate size of scrollbar\n scrollBarDimensions = scrollBarDimensions || measureScrollbar();\n\n this.autofocus = opts.element.prop(\"autofocus\");\n opts.element.prop(\"autofocus\", false);\n if (this.autofocus) this.focus();\n\n this.search.attr(\"placeholder\", opts.searchInputPlaceholder);\n },\n\n // abstract\n destroy: function () {\n var element=this.opts.element, select2 = element.data(\"select2\"), self = this;\n\n this.close();\n\n if (element.length && element[0].detachEvent && self._sync) {\n element.each(function () {\n if (self._sync) {\n this.detachEvent(\"onpropertychange\", self._sync);\n }\n });\n }\n if (this.propertyObserver) {\n this.propertyObserver.disconnect();\n this.propertyObserver = null;\n }\n this._sync = null;\n\n if (select2 !== undefined) {\n select2.container.remove();\n select2.liveRegion.remove();\n select2.dropdown.remove();\n element\n .show()\n .removeData(\"select2\")\n .off(\".select2\")\n .prop(\"autofocus\", this.autofocus || false);\n if (this.elementTabIndex) {\n element.attr({tabindex: this.elementTabIndex});\n } else {\n element.removeAttr(\"tabindex\");\n }\n element.show();\n }\n\n cleanupJQueryElements.call(this,\n \"container\",\n \"liveRegion\",\n \"dropdown\",\n \"results\",\n \"search\"\n );\n },\n\n // abstract\n optionToData: function(element) {\n if (element.is(\"option\")) {\n return {\n id:element.prop(\"value\"),\n text:element.text(),\n element: element.get(),\n css: element.attr(\"class\"),\n disabled: element.prop(\"disabled\"),\n locked: equal(element.attr(\"locked\"), \"locked\") || equal(element.data(\"locked\"), true)\n };\n } else if (element.is(\"optgroup\")) {\n return {\n text:element.attr(\"label\"),\n children:[],\n element: element.get(),\n css: element.attr(\"class\")\n };\n }\n },\n\n // abstract\n prepareOpts: function (opts) {\n var element, select, idKey, ajaxUrl, self = this;\n\n element = opts.element;\n\n if (element.get(0).tagName.toLowerCase() === \"select\") {\n this.select = select = opts.element;\n }\n\n if (select) {\n // these options are not allowed when attached to a select because they are picked up off the element itself\n $.each([\"id\", \"multiple\", \"ajax\", \"query\", \"createSearchChoice\", \"initSelection\", \"data\", \"tags\"], function () {\n if (this in opts) {\n throw new Error(\"Option '\" + this + \"' is not allowed for Select2 when attached to a \",\n \"
\",\n \" \",\n \" \",\n \"
\"].join(\"\"));\n return container;\n },\n\n // single\n enableInterface: function() {\n if (this.parent.enableInterface.apply(this, arguments)) {\n this.focusser.prop(\"disabled\", !this.isInterfaceEnabled());\n }\n },\n\n // single\n opening: function () {\n var el, range, len;\n\n if (this.opts.minimumResultsForSearch >= 0) {\n this.showSearch(true);\n }\n\n this.parent.opening.apply(this, arguments);\n\n if (this.showSearchInput !== false) {\n // IE appends focusser.val() at the end of field :/ so we manually insert it at the beginning using a range\n // all other browsers handle this just fine\n\n this.search.val(this.focusser.val());\n }\n if (this.opts.shouldFocusInput(this)) {\n this.search.focus();\n // move the cursor to the end after focussing, otherwise it will be at the beginning and\n // new text will appear *before* focusser.val()\n el = this.search.get(0);\n if (el.createTextRange) {\n range = el.createTextRange();\n range.collapse(false);\n range.select();\n } else if (el.setSelectionRange) {\n len = this.search.val().length;\n el.setSelectionRange(len, len);\n }\n }\n\n // initializes search's value with nextSearchTerm (if defined by user)\n // ignore nextSearchTerm if the dropdown is opened by the user pressing a letter\n if(this.search.val() === \"\") {\n if(this.nextSearchTerm != undefined){\n this.search.val(this.nextSearchTerm);\n this.search.select();\n }\n }\n\n this.focusser.prop(\"disabled\", true).val(\"\");\n this.updateResults(true);\n this.opts.element.trigger($.Event(\"select2-open\"));\n },\n\n // single\n close: function () {\n if (!this.opened()) return;\n this.parent.close.apply(this, arguments);\n\n this.focusser.prop(\"disabled\", false);\n\n if (this.opts.shouldFocusInput(this)) {\n this.focusser.focus();\n }\n },\n\n // single\n focus: function () {\n if (this.opened()) {\n this.close();\n } else {\n this.focusser.prop(\"disabled\", false);\n if (this.opts.shouldFocusInput(this)) {\n this.focusser.focus();\n }\n }\n },\n\n // single\n isFocused: function () {\n return this.container.hasClass(\"select2-container-active\");\n },\n\n // single\n cancel: function () {\n this.parent.cancel.apply(this, arguments);\n this.focusser.prop(\"disabled\", false);\n\n if (this.opts.shouldFocusInput(this)) {\n this.focusser.focus();\n }\n },\n\n // single\n destroy: function() {\n $(\"label[for='\" + this.focusser.attr('id') + \"']\")\n .attr('for', this.opts.element.attr(\"id\"));\n this.parent.destroy.apply(this, arguments);\n\n cleanupJQueryElements.call(this,\n \"selection\",\n \"focusser\"\n );\n },\n\n // single\n initContainer: function () {\n\n var selection,\n container = this.container,\n dropdown = this.dropdown,\n idSuffix = nextUid(),\n elementLabel;\n\n if (this.opts.minimumResultsForSearch < 0) {\n this.showSearch(false);\n } else {\n this.showSearch(true);\n }\n\n this.selection = selection = container.find(\".select2-choice\");\n\n this.focusser = container.find(\".select2-focusser\");\n\n // add aria associations\n selection.find(\".select2-chosen\").attr(\"id\", \"select2-chosen-\"+idSuffix);\n this.focusser.attr(\"aria-labelledby\", \"select2-chosen-\"+idSuffix);\n this.results.attr(\"id\", \"select2-results-\"+idSuffix);\n this.search.attr(\"aria-owns\", \"select2-results-\"+idSuffix);\n\n // rewrite labels from original element to focusser\n this.focusser.attr(\"id\", \"s2id_autogen\"+idSuffix);\n\n elementLabel = $(\"label[for='\" + this.opts.element.attr(\"id\") + \"']\");\n this.opts.element.focus(this.bind(function () { this.focus(); }));\n\n this.focusser.prev()\n .text(elementLabel.text())\n .attr('for', this.focusser.attr('id'));\n\n // Ensure the original element retains an accessible name\n var originalTitle = this.opts.element.attr(\"title\");\n this.opts.element.attr(\"title\", (originalTitle || elementLabel.text()));\n\n this.focusser.attr(\"tabindex\", this.elementTabIndex);\n\n // write label for search field using the label from the focusser element\n this.search.attr(\"id\", this.focusser.attr('id') + '_search');\n\n this.search.prev()\n .text($(\"label[for='\" + this.focusser.attr('id') + \"']\").text())\n .attr('for', this.search.attr('id'));\n\n this.search.on(\"keydown\", this.bind(function (e) {\n if (!this.isInterfaceEnabled()) return;\n\n // filter 229 keyCodes (input method editor is processing key input)\n if (229 == e.keyCode) return;\n\n if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {\n // prevent the page from scrolling\n killEvent(e);\n return;\n }\n\n switch (e.which) {\n case KEY.UP:\n case KEY.DOWN:\n this.moveHighlight((e.which === KEY.UP) ? -1 : 1);\n killEvent(e);\n return;\n case KEY.ENTER:\n this.selectHighlighted();\n killEvent(e);\n return;\n case KEY.TAB:\n this.selectHighlighted({noFocus: true});\n return;\n case KEY.ESC:\n this.cancel(e);\n killEvent(e);\n return;\n }\n }));\n\n this.search.on(\"blur\", this.bind(function(e) {\n // a workaround for chrome to keep the search field focussed when the scroll bar is used to scroll the dropdown.\n // without this the search field loses focus which is annoying\n if (document.activeElement === this.body.get(0)) {\n window.setTimeout(this.bind(function() {\n if (this.opened()) {\n this.search.focus();\n }\n }), 0);\n }\n }));\n\n this.focusser.on(\"keydown\", this.bind(function (e) {\n if (!this.isInterfaceEnabled()) return;\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {\n return;\n }\n\n if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {\n killEvent(e);\n return;\n }\n\n if (e.which == KEY.DOWN || e.which == KEY.UP\n || (e.which == KEY.ENTER && this.opts.openOnEnter)) {\n\n if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) return;\n\n this.open();\n killEvent(e);\n return;\n }\n\n if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) {\n if (this.opts.allowClear) {\n this.clear();\n }\n killEvent(e);\n return;\n }\n }));\n\n\n installKeyUpChangeEvent(this.focusser);\n this.focusser.on(\"keyup-change input\", this.bind(function(e) {\n if (this.opts.minimumResultsForSearch >= 0) {\n e.stopPropagation();\n if (this.opened()) return;\n this.open();\n }\n }));\n\n selection.on(\"mousedown touchstart\", \"abbr\", this.bind(function (e) {\n if (!this.isInterfaceEnabled()) {\n return;\n }\n\n this.clear();\n killEventImmediately(e);\n this.close();\n\n if (this.selection) {\n this.selection.focus();\n }\n }));\n\n selection.on(\"mousedown touchstart\", this.bind(function (e) {\n // Prevent IE from generating a click event on the body\n reinsertElement(selection);\n\n if (!this.container.hasClass(\"select2-container-active\")) {\n this.opts.element.trigger($.Event(\"select2-focus\"));\n }\n\n if (this.opened()) {\n this.close();\n } else if (this.isInterfaceEnabled()) {\n this.open();\n }\n\n killEvent(e);\n }));\n\n dropdown.on(\"mousedown touchstart\", this.bind(function() {\n if (this.opts.shouldFocusInput(this)) {\n this.search.focus();\n }\n }));\n\n selection.on(\"focus\", this.bind(function(e) {\n killEvent(e);\n }));\n\n this.focusser.on(\"focus\", this.bind(function(){\n if (!this.container.hasClass(\"select2-container-active\")) {\n this.opts.element.trigger($.Event(\"select2-focus\"));\n }\n this.container.addClass(\"select2-container-active\");\n })).on(\"blur\", this.bind(function() {\n if (!this.opened()) {\n this.container.removeClass(\"select2-container-active\");\n this.opts.element.trigger($.Event(\"select2-blur\"));\n }\n }));\n this.search.on(\"focus\", this.bind(function(){\n if (!this.container.hasClass(\"select2-container-active\")) {\n this.opts.element.trigger($.Event(\"select2-focus\"));\n }\n this.container.addClass(\"select2-container-active\");\n }));\n\n this.initContainerWidth();\n this.opts.element.hide();\n this.setPlaceholder();\n\n },\n\n // single\n clear: function(triggerChange) {\n var data=this.selection.data(\"select2-data\");\n if (data) { // guard against queued quick consecutive clicks\n var evt = $.Event(\"select2-clearing\");\n this.opts.element.trigger(evt);\n if (evt.isDefaultPrevented()) {\n return;\n }\n var placeholderOption = this.getPlaceholderOption();\n this.opts.element.val(placeholderOption ? placeholderOption.val() : \"\");\n this.selection.find(\".select2-chosen\").empty();\n this.selection.removeData(\"select2-data\");\n this.setPlaceholder();\n\n if (triggerChange !== false){\n this.opts.element.trigger({ type: \"select2-removed\", val: this.id(data), choice: data });\n this.triggerChange({removed:data});\n }\n }\n },\n\n /**\n * Sets selection based on source element's value\n */\n // single\n initSelection: function () {\n var selected;\n if (this.isPlaceholderOptionSelected()) {\n this.updateSelection(null);\n this.close();\n this.setPlaceholder();\n } else {\n var self = this;\n this.opts.initSelection.call(null, this.opts.element, function(selected){\n if (selected !== undefined && selected !== null) {\n self.updateSelection(selected);\n self.close();\n self.setPlaceholder();\n self.nextSearchTerm = self.opts.nextSearchTerm(selected, self.search.val());\n }\n });\n }\n },\n\n isPlaceholderOptionSelected: function() {\n var placeholderOption;\n if (this.getPlaceholder() === undefined) return false; // no placeholder specified so no option should be considered\n return ((placeholderOption = this.getPlaceholderOption()) !== undefined && placeholderOption.prop(\"selected\"))\n || (this.opts.element.val() === \"\")\n || (this.opts.element.val() === undefined)\n || (this.opts.element.val() === null);\n },\n\n // single\n prepareOpts: function () {\n var opts = this.parent.prepareOpts.apply(this, arguments),\n self=this;\n\n if (opts.element.get(0).tagName.toLowerCase() === \"select\") {\n // install the selection initializer\n opts.initSelection = function (element, callback) {\n var selected = element.find(\"option\").filter(function() { return this.selected && !this.disabled });\n // a single select box always has a value, no need to null check 'selected'\n callback(self.optionToData(selected));\n };\n } else if (\"data\" in opts) {\n // install default initSelection when applied to hidden input and data is local\n opts.initSelection = opts.initSelection || function (element, callback) {\n var id = element.val();\n //search in data by id, storing the actual matching item\n var match = null;\n opts.query({\n matcher: function(term, text, el){\n var is_match = equal(id, opts.id(el));\n if (is_match) {\n match = el;\n }\n return is_match;\n },\n callback: !$.isFunction(callback) ? $.noop : function() {\n callback(match);\n }\n });\n };\n }\n\n return opts;\n },\n\n // single\n getPlaceholder: function() {\n // if a placeholder is specified on a single select without a valid placeholder option ignore it\n if (this.select) {\n if (this.getPlaceholderOption() === undefined) {\n return undefined;\n }\n }\n\n return this.parent.getPlaceholder.apply(this, arguments);\n },\n\n // single\n setPlaceholder: function () {\n var placeholder = this.getPlaceholder();\n\n if (this.isPlaceholderOptionSelected() && placeholder !== undefined) {\n\n // check for a placeholder option if attached to a select\n if (this.select && this.getPlaceholderOption() === undefined) return;\n\n this.selection.find(\".select2-chosen\").html(this.opts.escapeMarkup(placeholder));\n\n this.selection.addClass(\"select2-default\");\n\n this.container.removeClass(\"select2-allowclear\");\n }\n },\n\n // single\n postprocessResults: function (data, initial, noHighlightUpdate) {\n var selected = 0, self = this, showSearchInput = true;\n\n // find the selected element in the result list\n\n this.findHighlightableChoices().each2(function (i, elm) {\n if (equal(self.id(elm.data(\"select2-data\")), self.opts.element.val())) {\n selected = i;\n return false;\n }\n });\n\n // and highlight it\n if (noHighlightUpdate !== false) {\n if (initial === true && selected >= 0) {\n this.highlight(selected);\n } else {\n this.highlight(0);\n }\n }\n\n // hide the search box if this is the first we got the results and there are enough of them for search\n\n if (initial === true) {\n var min = this.opts.minimumResultsForSearch;\n if (min >= 0) {\n this.showSearch(countResults(data.results) >= min);\n }\n }\n },\n\n // single\n showSearch: function(showSearchInput) {\n if (this.showSearchInput === showSearchInput) return;\n\n this.showSearchInput = showSearchInput;\n\n this.dropdown.find(\".select2-search\").toggleClass(\"select2-search-hidden\", !showSearchInput);\n this.dropdown.find(\".select2-search\").toggleClass(\"select2-offscreen\", !showSearchInput);\n //add \"select2-with-searchbox\" to the container if search box is shown\n $(this.dropdown, this.container).toggleClass(\"select2-with-searchbox\", showSearchInput);\n },\n\n // single\n onSelect: function (data, options) {\n\n if (!this.triggerSelect(data)) { return; }\n\n var old = this.opts.element.val(),\n oldData = this.data();\n\n this.opts.element.val(this.id(data));\n this.updateSelection(data);\n\n this.opts.element.trigger({ type: \"select2-selected\", val: this.id(data), choice: data });\n\n this.nextSearchTerm = this.opts.nextSearchTerm(data, this.search.val());\n this.close();\n\n if ((!options || !options.noFocus) && this.opts.shouldFocusInput(this)) {\n this.focusser.focus();\n }\n\n if (!equal(old, this.id(data))) {\n this.triggerChange({ added: data, removed: oldData });\n }\n },\n\n // single\n updateSelection: function (data) {\n\n var container=this.selection.find(\".select2-chosen\"), formatted, cssClass;\n\n this.selection.data(\"select2-data\", data);\n\n container.empty();\n if (data !== null) {\n formatted=this.opts.formatSelection(data, container, this.opts.escapeMarkup);\n }\n if (formatted !== undefined) {\n container.append(formatted);\n }\n cssClass=this.opts.formatSelectionCssClass(data, container);\n if (cssClass !== undefined) {\n container.addClass(cssClass);\n }\n\n this.selection.removeClass(\"select2-default\");\n\n if (this.opts.allowClear && this.getPlaceholder() !== undefined) {\n this.container.addClass(\"select2-allowclear\");\n }\n },\n\n // single\n val: function () {\n var val,\n triggerChange = false,\n data = null,\n self = this,\n oldData = this.data();\n\n if (arguments.length === 0) {\n return this.opts.element.val();\n }\n\n val = arguments[0];\n\n if (arguments.length > 1) {\n triggerChange = arguments[1];\n }\n\n if (this.select) {\n this.select\n .val(val)\n .find(\"option\").filter(function() { return this.selected }).each2(function (i, elm) {\n data = self.optionToData(elm);\n return false;\n });\n this.updateSelection(data);\n this.setPlaceholder();\n if (triggerChange) {\n this.triggerChange({added: data, removed:oldData});\n }\n } else {\n // val is an id. !val is true for [undefined,null,'',0] - 0 is legal\n if (!val && val !== 0) {\n this.clear(triggerChange);\n return;\n }\n if (this.opts.initSelection === undefined) {\n throw new Error(\"cannot call val() if initSelection() is not defined\");\n }\n this.opts.element.val(val);\n this.opts.initSelection(this.opts.element, function(data){\n self.opts.element.val(!data ? \"\" : self.id(data));\n self.updateSelection(data);\n self.setPlaceholder();\n if (triggerChange) {\n self.triggerChange({added: data, removed:oldData});\n }\n });\n }\n },\n\n // single\n clearSearch: function () {\n this.search.val(\"\");\n this.focusser.val(\"\");\n },\n\n // single\n data: function(value) {\n var data,\n triggerChange = false;\n\n if (arguments.length === 0) {\n data = this.selection.data(\"select2-data\");\n if (data == undefined) data = null;\n return data;\n } else {\n if (arguments.length > 1) {\n triggerChange = arguments[1];\n }\n if (!value) {\n this.clear(triggerChange);\n } else {\n data = this.data();\n this.opts.element.val(!value ? \"\" : this.id(value));\n this.updateSelection(value);\n if (triggerChange) {\n this.triggerChange({added: value, removed:data});\n }\n }\n }\n }\n });\n\n MultiSelect2 = clazz(AbstractSelect2, {\n\n // multi\n createContainer: function () {\n var container = $(document.createElement(\"div\")).attr({\n \"class\": \"select2-container select2-container-multi\"\n }).html([\n \"\",\n \"
\",\n \" \",\n \"
\"].join(\"\"));\n return container;\n },\n\n // multi\n prepareOpts: function () {\n var opts = this.parent.prepareOpts.apply(this, arguments),\n self=this;\n\n // TODO validate placeholder is a string if specified\n if (opts.element.get(0).tagName.toLowerCase() === \"select\") {\n // install the selection initializer\n opts.initSelection = function (element, callback) {\n\n var data = [];\n\n element.find(\"option\").filter(function() { return this.selected && !this.disabled }).each2(function (i, elm) {\n data.push(self.optionToData(elm));\n });\n callback(data);\n };\n } else if (\"data\" in opts) {\n // install default initSelection when applied to hidden input and data is local\n opts.initSelection = opts.initSelection || function (element, callback) {\n var ids = splitVal(element.val(), opts.separator, opts.transformVal);\n //search in data by array of ids, storing matching items in a list\n var matches = [];\n opts.query({\n matcher: function(term, text, el){\n var is_match = $.grep(ids, function(id) {\n return equal(id, opts.id(el));\n }).length;\n if (is_match) {\n matches.push(el);\n }\n return is_match;\n },\n callback: !$.isFunction(callback) ? $.noop : function() {\n // reorder matches based on the order they appear in the ids array because right now\n // they are in the order in which they appear in data array\n var ordered = [];\n for (var i = 0; i < ids.length; i++) {\n var id = ids[i];\n for (var j = 0; j < matches.length; j++) {\n var match = matches[j];\n if (equal(id, opts.id(match))) {\n ordered.push(match);\n matches.splice(j, 1);\n break;\n }\n }\n }\n callback(ordered);\n }\n });\n };\n }\n\n return opts;\n },\n\n // multi\n selectChoice: function (choice) {\n\n var selected = this.container.find(\".select2-search-choice-focus\");\n if (selected.length && choice && choice[0] == selected[0]) {\n\n } else {\n if (selected.length) {\n this.opts.element.trigger(\"choice-deselected\", selected);\n }\n selected.removeClass(\"select2-search-choice-focus\");\n if (choice && choice.length) {\n this.close();\n choice.addClass(\"select2-search-choice-focus\");\n this.opts.element.trigger(\"choice-selected\", choice);\n }\n }\n },\n\n // multi\n destroy: function() {\n $(\"label[for='\" + this.search.attr('id') + \"']\")\n .attr('for', this.opts.element.attr(\"id\"));\n this.parent.destroy.apply(this, arguments);\n\n cleanupJQueryElements.call(this,\n \"searchContainer\",\n \"selection\"\n );\n },\n\n // multi\n initContainer: function () {\n\n var selector = \".select2-choices\", selection;\n\n this.searchContainer = this.container.find(\".select2-search-field\");\n this.selection = selection = this.container.find(selector);\n\n var _this = this;\n this.selection.on(\"click\", \".select2-container:not(.select2-container-disabled) .select2-search-choice:not(.select2-locked)\", function (e) {\n _this.search[0].focus();\n _this.selectChoice($(this));\n });\n\n // rewrite labels from original element to focusser\n this.search.attr(\"id\", \"s2id_autogen\"+nextUid());\n\n this.search.prev()\n .text($(\"label[for='\" + this.opts.element.attr(\"id\") + \"']\").text())\n .attr('for', this.search.attr('id'));\n this.opts.element.focus(this.bind(function () { this.focus(); }));\n\n this.search.on(\"input paste\", this.bind(function() {\n if (this.search.attr('placeholder') && this.search.val().length == 0) return;\n if (!this.isInterfaceEnabled()) return;\n if (!this.opened()) {\n this.open();\n }\n }));\n\n this.search.attr(\"tabindex\", this.elementTabIndex);\n\n this.keydowns = 0;\n this.search.on(\"keydown\", this.bind(function (e) {\n if (!this.isInterfaceEnabled()) return;\n\n ++this.keydowns;\n var selected = selection.find(\".select2-search-choice-focus\");\n var prev = selected.prev(\".select2-search-choice:not(.select2-locked)\");\n var next = selected.next(\".select2-search-choice:not(.select2-locked)\");\n var pos = getCursorInfo(this.search);\n\n if (selected.length &&\n (e.which == KEY.LEFT || e.which == KEY.RIGHT || e.which == KEY.BACKSPACE || e.which == KEY.DELETE || e.which == KEY.ENTER)) {\n var selectedChoice = selected;\n if (e.which == KEY.LEFT && prev.length) {\n selectedChoice = prev;\n }\n else if (e.which == KEY.RIGHT) {\n selectedChoice = next.length ? next : null;\n }\n else if (e.which === KEY.BACKSPACE) {\n if (this.unselect(selected.first())) {\n this.search.width(10);\n selectedChoice = prev.length ? prev : next;\n }\n } else if (e.which == KEY.DELETE) {\n if (this.unselect(selected.first())) {\n this.search.width(10);\n selectedChoice = next.length ? next : null;\n }\n } else if (e.which == KEY.ENTER) {\n selectedChoice = null;\n }\n\n this.selectChoice(selectedChoice);\n killEvent(e);\n if (!selectedChoice || !selectedChoice.length) {\n this.open();\n }\n return;\n } else if (((e.which === KEY.BACKSPACE && this.keydowns == 1)\n || e.which == KEY.LEFT) && (pos.offset == 0 && !pos.length)) {\n\n this.selectChoice(selection.find(\".select2-search-choice:not(.select2-locked)\").last());\n killEvent(e);\n return;\n } else {\n this.selectChoice(null);\n }\n\n if (this.opened()) {\n switch (e.which) {\n case KEY.UP:\n case KEY.DOWN:\n this.moveHighlight((e.which === KEY.UP) ? -1 : 1);\n killEvent(e);\n return;\n case KEY.ENTER:\n this.selectHighlighted();\n killEvent(e);\n return;\n case KEY.TAB:\n this.selectHighlighted({noFocus:true});\n this.close();\n return;\n case KEY.ESC:\n this.cancel(e);\n killEvent(e);\n return;\n }\n }\n\n if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)\n || e.which === KEY.BACKSPACE || e.which === KEY.ESC) {\n return;\n }\n\n if (e.which === KEY.ENTER) {\n if (this.opts.openOnEnter === false) {\n return;\n } else if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {\n return;\n }\n }\n\n this.open();\n\n if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {\n // prevent the page from scrolling\n killEvent(e);\n }\n\n if (e.which === KEY.ENTER) {\n // prevent form from being submitted\n killEvent(e);\n }\n\n }));\n\n this.search.on(\"keyup\", this.bind(function (e) {\n this.keydowns = 0;\n this.resizeSearch();\n })\n );\n\n this.search.on(\"blur\", this.bind(function(e) {\n this.container.removeClass(\"select2-container-active\");\n this.search.removeClass(\"select2-focused\");\n this.selectChoice(null);\n if (!this.opened()) this.clearSearch();\n e.stopImmediatePropagation();\n this.opts.element.trigger($.Event(\"select2-blur\"));\n }));\n\n this.container.on(\"click\", selector, this.bind(function (e) {\n if (!this.isInterfaceEnabled()) return;\n if ($(e.target).closest(\".select2-search-choice\").length > 0) {\n // clicked inside a select2 search choice, do not open\n return;\n }\n this.selectChoice(null);\n this.clearPlaceholder();\n if (!this.container.hasClass(\"select2-container-active\")) {\n this.opts.element.trigger($.Event(\"select2-focus\"));\n }\n this.open();\n this.focusSearch();\n e.preventDefault();\n }));\n\n this.container.on(\"focus\", selector, this.bind(function () {\n if (!this.isInterfaceEnabled()) return;\n if (!this.container.hasClass(\"select2-container-active\")) {\n this.opts.element.trigger($.Event(\"select2-focus\"));\n }\n this.container.addClass(\"select2-container-active\");\n this.dropdown.addClass(\"select2-drop-active\");\n this.clearPlaceholder();\n }));\n\n this.initContainerWidth();\n this.opts.element.hide();\n\n // set the placeholder if necessary\n this.clearSearch();\n },\n\n // multi\n enableInterface: function() {\n if (this.parent.enableInterface.apply(this, arguments)) {\n this.search.prop(\"disabled\", !this.isInterfaceEnabled());\n }\n },\n\n // multi\n initSelection: function () {\n var data;\n if (this.opts.element.val() === \"\" && this.opts.element.text() === \"\") {\n this.updateSelection([]);\n this.close();\n // set the placeholder if necessary\n this.clearSearch();\n }\n if (this.select || this.opts.element.val() !== \"\") {\n var self = this;\n this.opts.initSelection.call(null, this.opts.element, function(data){\n if (data !== undefined && data !== null) {\n self.updateSelection(data);\n self.close();\n // set the placeholder if necessary\n self.clearSearch();\n }\n });\n }\n },\n\n // multi\n clearSearch: function () {\n var placeholder = this.getPlaceholder(),\n maxWidth = this.getMaxSearchWidth();\n\n if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass(\"select2-focused\") === false) {\n this.search.val(placeholder).addClass(\"select2-default\");\n // stretch the search box to full width of the container so as much of the placeholder is visible as possible\n // we could call this.resizeSearch(), but we do not because that requires a sizer and we do not want to create one so early because of a firefox bug, see #944\n this.search.width(maxWidth > 0 ? maxWidth : this.container.css(\"width\"));\n } else {\n this.search.val(\"\").width(10);\n }\n },\n\n // multi\n clearPlaceholder: function () {\n if (this.search.hasClass(\"select2-default\")) {\n this.search.val(\"\").removeClass(\"select2-default\");\n }\n },\n\n // multi\n opening: function () {\n this.clearPlaceholder(); // should be done before super so placeholder is not used to search\n this.resizeSearch();\n\n this.parent.opening.apply(this, arguments);\n\n this.focusSearch();\n\n // initializes search's value with nextSearchTerm (if defined by user)\n // ignore nextSearchTerm if the dropdown is opened by the user pressing a letter\n if(this.search.val() === \"\") {\n if(this.nextSearchTerm != undefined){\n this.search.val(this.nextSearchTerm);\n this.search.select();\n }\n }\n\n this.updateResults(true);\n if (this.opts.shouldFocusInput(this)) {\n this.search.focus();\n }\n this.opts.element.trigger($.Event(\"select2-open\"));\n },\n\n // multi\n close: function () {\n if (!this.opened()) return;\n this.parent.close.apply(this, arguments);\n },\n\n // multi\n focus: function () {\n this.close();\n this.search.focus();\n },\n\n // multi\n isFocused: function () {\n return this.search.hasClass(\"select2-focused\");\n },\n\n // multi\n updateSelection: function (data) {\n var ids = [], filtered = [], self = this;\n\n // filter out duplicates\n $(data).each(function () {\n if (indexOf(self.id(this), ids) < 0) {\n ids.push(self.id(this));\n filtered.push(this);\n }\n });\n data = filtered;\n\n this.selection.find(\".select2-search-choice\").remove();\n $(data).each(function () {\n self.addSelectedChoice(this);\n });\n self.postprocessResults();\n },\n\n // multi\n tokenize: function() {\n var input = this.search.val();\n input = this.opts.tokenizer.call(this, input, this.data(), this.bind(this.onSelect), this.opts);\n if (input != null && input != undefined) {\n this.search.val(input);\n if (input.length > 0) {\n this.open();\n }\n }\n\n },\n\n // multi\n onSelect: function (data, options) {\n\n if (!this.triggerSelect(data) || data.text === \"\") { return; }\n\n this.addSelectedChoice(data);\n\n this.opts.element.trigger({ type: \"selected\", val: this.id(data), choice: data });\n\n // keep track of the search's value before it gets cleared\n this.nextSearchTerm = this.opts.nextSearchTerm(data, this.search.val());\n\n this.clearSearch();\n this.updateResults();\n\n if (this.select || !this.opts.closeOnSelect) this.postprocessResults(data, false, this.opts.closeOnSelect===true);\n\n if (this.opts.closeOnSelect) {\n this.close();\n this.search.width(10);\n } else {\n if (this.countSelectableResults()>0) {\n this.search.width(10);\n this.resizeSearch();\n if (this.getMaximumSelectionSize() > 0 && this.val().length >= this.getMaximumSelectionSize()) {\n // if we reached max selection size repaint the results so choices\n // are replaced with the max selection reached message\n this.updateResults(true);\n } else {\n // initializes search's value with nextSearchTerm and update search result\n if(this.nextSearchTerm != undefined){\n this.search.val(this.nextSearchTerm);\n this.updateResults();\n this.search.select();\n }\n }\n this.positionDropdown();\n } else {\n // if nothing left to select close\n this.close();\n this.search.width(10);\n }\n }\n\n // since its not possible to select an element that has already been\n // added we do not need to check if this is a new element before firing change\n this.triggerChange({ added: data });\n\n if (!options || !options.noFocus)\n this.focusSearch();\n },\n\n // multi\n cancel: function () {\n this.close();\n this.focusSearch();\n },\n\n addSelectedChoice: function (data) {\n var enableChoice = !data.locked,\n enabledItem = $(\n \"
  • \" +\n \"
    \" +\n \" \" +\n \"
  • \"),\n disabledItem = $(\n \"
  • \" +\n \"
    \" +\n \"
  • \");\n var choice = enableChoice ? enabledItem : disabledItem,\n id = this.id(data),\n val = this.getVal(),\n formatted,\n cssClass;\n\n formatted=this.opts.formatSelection(data, choice.find(\"div\"), this.opts.escapeMarkup);\n if (formatted != undefined) {\n choice.find(\"div\").replaceWith($(\"
    \").html(formatted));\n }\n cssClass=this.opts.formatSelectionCssClass(data, choice.find(\"div\"));\n if (cssClass != undefined) {\n choice.addClass(cssClass);\n }\n\n if(enableChoice){\n choice.find(\".select2-search-choice-close\")\n .on(\"mousedown\", killEvent)\n .on(\"click dblclick\", this.bind(function (e) {\n if (!this.isInterfaceEnabled()) return;\n\n this.unselect($(e.target));\n this.selection.find(\".select2-search-choice-focus\").removeClass(\"select2-search-choice-focus\");\n killEvent(e);\n this.close();\n this.focusSearch();\n })).on(\"focus\", this.bind(function () {\n if (!this.isInterfaceEnabled()) return;\n this.container.addClass(\"select2-container-active\");\n this.dropdown.addClass(\"select2-drop-active\");\n }));\n }\n\n choice.data(\"select2-data\", data);\n choice.insertBefore(this.searchContainer);\n\n val.push(id);\n this.setVal(val);\n },\n\n // multi\n unselect: function (selected) {\n var val = this.getVal(),\n data,\n index;\n selected = selected.closest(\".select2-search-choice\");\n\n if (selected.length === 0) {\n throw \"Invalid argument: \" + selected + \". Must be .select2-search-choice\";\n }\n\n data = selected.data(\"select2-data\");\n\n if (!data) {\n // prevent a race condition when the 'x' is clicked really fast repeatedly the event can be queued\n // and invoked on an element already removed\n return;\n }\n\n var evt = $.Event(\"select2-removing\");\n evt.val = this.id(data);\n evt.choice = data;\n this.opts.element.trigger(evt);\n\n if (evt.isDefaultPrevented()) {\n return false;\n }\n\n while((index = indexOf(this.id(data), val)) >= 0) {\n val.splice(index, 1);\n this.setVal(val);\n if (this.select) this.postprocessResults();\n }\n\n selected.remove();\n\n this.opts.element.trigger({ type: \"select2-removed\", val: this.id(data), choice: data });\n this.triggerChange({ removed: data });\n\n return true;\n },\n\n // multi\n postprocessResults: function (data, initial, noHighlightUpdate) {\n var val = this.getVal(),\n choices = this.results.find(\".select2-result\"),\n compound = this.results.find(\".select2-result-with-children\"),\n self = this;\n\n choices.each2(function (i, choice) {\n var id = self.id(choice.data(\"select2-data\"));\n if (indexOf(id, val) >= 0) {\n choice.addClass(\"select2-selected\");\n // mark all children of the selected parent as selected\n choice.find(\".select2-result-selectable\").addClass(\"select2-selected\");\n }\n });\n\n compound.each2(function(i, choice) {\n // hide an optgroup if it doesn't have any selectable children\n if (!choice.is('.select2-result-selectable')\n && choice.find(\".select2-result-selectable:not(.select2-selected)\").length === 0) {\n choice.addClass(\"select2-selected\");\n }\n });\n\n if (this.highlight() == -1 && noHighlightUpdate !== false && this.opts.closeOnSelect === true){\n self.highlight(0);\n }\n\n //If all results are chosen render formatNoMatches\n if(!this.opts.createSearchChoice && !choices.filter('.select2-result:not(.select2-selected)').length > 0){\n if(!data || data && !data.more && this.results.find(\".select2-no-results\").length === 0) {\n if (checkFormatter(self.opts.formatNoMatches, \"formatNoMatches\")) {\n this.results.append(\"
  • \" + evaluate(self.opts.formatNoMatches, self.opts.element, self.search.val()) + \"
  • \");\n }\n }\n }\n\n },\n\n // multi\n getMaxSearchWidth: function() {\n return this.selection.width() - getSideBorderPadding(this.search);\n },\n\n // multi\n resizeSearch: function () {\n var minimumWidth, left, maxWidth, containerLeft, searchWidth,\n sideBorderPadding = getSideBorderPadding(this.search);\n\n minimumWidth = measureTextWidth(this.search) + 10;\n\n left = this.search.offset().left;\n\n maxWidth = this.selection.width();\n containerLeft = this.selection.offset().left;\n\n searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;\n\n if (searchWidth < minimumWidth) {\n searchWidth = maxWidth - sideBorderPadding;\n }\n\n if (searchWidth < 40) {\n searchWidth = maxWidth - sideBorderPadding;\n }\n\n if (searchWidth <= 0) {\n searchWidth = minimumWidth;\n }\n\n this.search.width(Math.floor(searchWidth));\n },\n\n // multi\n getVal: function () {\n var val;\n if (this.select) {\n val = this.select.val();\n return val === null ? [] : val;\n } else {\n val = this.opts.element.val();\n return splitVal(val, this.opts.separator, this.opts.transformVal);\n }\n },\n\n // multi\n setVal: function (val) {\n var unique;\n if (this.select) {\n this.select.val(val);\n } else {\n unique = [];\n // filter out duplicates\n $(val).each(function () {\n if (indexOf(this, unique) < 0) unique.push(this);\n });\n this.opts.element.val(unique.length === 0 ? \"\" : unique.join(this.opts.separator));\n }\n },\n\n // multi\n buildChangeDetails: function (old, current) {\n var current = current.slice(0),\n old = old.slice(0);\n\n // remove intersection from each array\n for (var i = 0; i < current.length; i++) {\n for (var j = 0; j < old.length; j++) {\n if (equal(this.opts.id(current[i]), this.opts.id(old[j]))) {\n current.splice(i, 1);\n if(i>0){\n i--;\n }\n old.splice(j, 1);\n j--;\n }\n }\n }\n\n return {added: current, removed: old};\n },\n\n\n // multi\n val: function (val, triggerChange) {\n var oldData, self=this;\n\n if (arguments.length === 0) {\n return this.getVal();\n }\n\n oldData=this.data();\n if (!oldData.length) oldData=[];\n\n // val is an id. !val is true for [undefined,null,'',0] - 0 is legal\n if (!val && val !== 0) {\n this.opts.element.val(\"\");\n this.updateSelection([]);\n this.clearSearch();\n if (triggerChange) {\n this.triggerChange({added: this.data(), removed: oldData});\n }\n return;\n }\n\n // val is a list of ids\n this.setVal(val);\n\n if (this.select) {\n this.opts.initSelection(this.select, this.bind(this.updateSelection));\n if (triggerChange) {\n this.triggerChange(this.buildChangeDetails(oldData, this.data()));\n }\n } else {\n if (this.opts.initSelection === undefined) {\n throw new Error(\"val() cannot be called if initSelection() is not defined\");\n }\n\n this.opts.initSelection(this.opts.element, function(data){\n var ids=$.map(data, self.id);\n self.setVal(ids);\n self.updateSelection(data);\n self.clearSearch();\n if (triggerChange) {\n self.triggerChange(self.buildChangeDetails(oldData, self.data()));\n }\n });\n }\n this.clearSearch();\n },\n\n // multi\n onSortStart: function() {\n if (this.select) {\n throw new Error(\"Sorting of elements is not supported when attached to instead.\");\n }\n\n // collapse search field into 0 width so its container can be collapsed as well\n this.search.width(0);\n // hide the container\n this.searchContainer.hide();\n },\n\n // multi\n onSortEnd:function() {\n\n var val=[], self=this;\n\n // show search and move it to the end of the list\n this.searchContainer.show();\n // make sure the search container is the last item in the list\n this.searchContainer.appendTo(this.searchContainer.parent());\n // since we collapsed the width in dragStarted, we resize it here\n this.resizeSearch();\n\n // update selection\n this.selection.find(\".select2-search-choice\").each(function() {\n val.push(self.opts.id($(this).data(\"select2-data\")));\n });\n this.setVal(val);\n this.triggerChange();\n },\n\n // multi\n data: function(values, triggerChange) {\n var self=this, ids, old;\n if (arguments.length === 0) {\n return this.selection\n .children(\".select2-search-choice\")\n .map(function() { return $(this).data(\"select2-data\"); })\n .get();\n } else {\n old = this.data();\n if (!values) { values = []; }\n ids = $.map(values, function(e) { return self.opts.id(e); });\n this.setVal(ids);\n this.updateSelection(values);\n this.clearSearch();\n if (triggerChange) {\n this.triggerChange(this.buildChangeDetails(old, this.data()));\n }\n }\n }\n });\n\n $.fn.select2 = function () {\n\n var args = Array.prototype.slice.call(arguments, 0),\n opts,\n select2,\n method, value, multiple,\n allowedMethods = [\"val\", \"destroy\", \"opened\", \"open\", \"close\", \"focus\", \"isFocused\", \"container\", \"dropdown\", \"onSortStart\", \"onSortEnd\", \"enable\", \"disable\", \"readonly\", \"positionDropdown\", \"data\", \"search\"],\n valueMethods = [\"opened\", \"isFocused\", \"container\", \"dropdown\"],\n propertyMethods = [\"val\", \"data\"],\n methodsMap = { search: \"externalSearch\" };\n\n this.each(function () {\n if (args.length === 0 || typeof(args[0]) === \"object\") {\n opts = args.length === 0 ? {} : $.extend({}, args[0]);\n opts.element = $(this);\n\n if (opts.element.get(0).tagName.toLowerCase() === \"select\") {\n multiple = opts.element.prop(\"multiple\");\n } else {\n multiple = opts.multiple || false;\n if (\"tags\" in opts) {opts.multiple = multiple = true;}\n }\n\n select2 = multiple ? new window.Select2[\"class\"].multi() : new window.Select2[\"class\"].single();\n select2.init(opts);\n } else if (typeof(args[0]) === \"string\") {\n\n if (indexOf(args[0], allowedMethods) < 0) {\n throw \"Unknown method: \" + args[0];\n }\n\n value = undefined;\n select2 = $(this).data(\"select2\");\n if (select2 === undefined) return;\n\n method=args[0];\n\n if (method === \"container\") {\n value = select2.container;\n } else if (method === \"dropdown\") {\n value = select2.dropdown;\n } else {\n if (methodsMap[method]) method = methodsMap[method];\n\n value = select2[method].apply(select2, args.slice(1));\n }\n if (indexOf(args[0], valueMethods) >= 0\n || (indexOf(args[0], propertyMethods) >= 0 && args.length == 1)) {\n return false; // abort the iteration, ready to return first matched value\n }\n } else {\n throw \"Invalid arguments to select2 plugin: \" + args;\n }\n });\n return (value === undefined) ? this : value;\n };\n\n // plugin defaults, accessible to users\n $.fn.select2.defaults = {\n width: \"copy\",\n loadMorePadding: 0,\n closeOnSelect: true,\n openOnEnter: true,\n containerCss: {},\n dropdownCss: {},\n containerCssClass: \"\",\n dropdownCssClass: \"\",\n formatResult: function(result, container, query, escapeMarkup) {\n var markup=[];\n markMatch(this.text(result), query.term, markup, escapeMarkup);\n return markup.join(\"\");\n },\n transformVal: function(val) {\n return $.trim(val);\n },\n formatSelection: function (data, container, escapeMarkup) {\n return data ? escapeMarkup(this.text(data)) : undefined;\n },\n sortResults: function (results, container, query) {\n return results;\n },\n formatResultCssClass: function(data) {return data.css;},\n formatSelectionCssClass: function(data, container) {return undefined;},\n minimumResultsForSearch: 0,\n minimumInputLength: 0,\n maximumInputLength: null,\n maximumSelectionSize: 0,\n id: function (e) { return e == undefined ? null : e.id; },\n text: function (e) {\n if (e && this.data && this.data.text) {\n if ($.isFunction(this.data.text)) {\n return this.data.text(e);\n } else {\n return e[this.data.text];\n }\n } else {\n return e.text;\n }\n },\n matcher: function(term, text) {\n return stripDiacritics(''+text).toUpperCase().indexOf(stripDiacritics(''+term).toUpperCase()) >= 0;\n },\n separator: \",\",\n tokenSeparators: [],\n tokenizer: defaultTokenizer,\n escapeMarkup: defaultEscapeMarkup,\n blurOnChange: false,\n selectOnBlur: false,\n adaptContainerCssClass: function(c) { return c; },\n adaptDropdownCssClass: function(c) { return null; },\n nextSearchTerm: function(selectedObject, currentSearchTerm) { return undefined; },\n searchInputPlaceholder: '',\n createSearchChoicePosition: 'top',\n shouldFocusInput: function (instance) {\n // Attempt to detect touch devices\n var supportsTouchEvents = (('ontouchstart' in window) ||\n (navigator.msMaxTouchPoints > 0));\n\n // Only devices which support touch events should be special cased\n if (!supportsTouchEvents) {\n return true;\n }\n\n // Never focus the input if search is disabled\n if (instance.opts.minimumResultsForSearch < 0) {\n return false;\n }\n\n return true;\n }\n };\n\n $.fn.select2.locales = [];\n\n $.fn.select2.locales['en'] = {\n formatMatches: function (matches) { if (matches === 1) { return \"One result is available, press enter to select it.\"; } return matches + \" results are available, use up and down arrow keys to navigate.\"; },\n formatNoMatches: function () { return \"No matches found\"; },\n formatAjaxError: function (jqXHR, textStatus, errorThrown) { return \"Loading failed\"; },\n formatInputTooShort: function (input, min) { var n = min - input.length; return \"Please enter \" + n + \" or more character\" + (n == 1 ? \"\" : \"s\"); },\n formatInputTooLong: function (input, max) { var n = input.length - max; return \"Please delete \" + n + \" character\" + (n == 1 ? \"\" : \"s\"); },\n formatSelectionTooBig: function (limit) { return \"You can only select \" + limit + \" item\" + (limit == 1 ? \"\" : \"s\"); },\n formatLoadMore: function (pageNumber) { return \"Loading more results…\"; },\n formatSearching: function () { return \"Searching…\"; }\n };\n\n $.extend($.fn.select2.defaults, $.fn.select2.locales['en']);\n\n $.fn.select2.ajaxDefaults = {\n transport: $.ajax,\n params: {\n type: \"GET\",\n cache: false,\n dataType: \"json\"\n }\n };\n\n // exports\n window.Select2 = {\n query: {\n ajax: ajax,\n local: local,\n tags: tags\n }, util: {\n debounce: debounce,\n markMatch: markMatch,\n escapeMarkup: defaultEscapeMarkup,\n stripDiacritics: stripDiacritics\n }, \"class\": {\n \"abstract\": AbstractSelect2,\n \"single\": SingleSelect2,\n \"multi\": MultiSelect2\n }\n };\n\n}(jQuery));\n"],"sourceRoot":""}