Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ng-select2-component

Package Overview
Dependencies
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ng-select2-component - npm Package Compare versions

Comparing version 6.0.3 to 7.0.0

esm2015/lib/select2-label.component.js

2

bundles/ng-select2-component.umd.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("rxjs"),require("@angular/common")):"function"==typeof define&&define.amd?define("ng-select2-component",["exports","@angular/core","@angular/forms","rxjs","@angular/common"],t):t(e["ng-select2-component"]={},e.ng.core,e.ng.forms,e.rxjs,e.ng.common)}(this,function(e,i,t,r,n){"use strict";function b(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}var s=[{l:"a",s:/[ⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ]/gi},{l:"aa",s:/ꜳ/gi},{l:"ae",s:/[æǽǣ]/gi},{l:"ao",s:/ꜵ/gi},{l:"au",s:/ꜷ/gi},{l:"av",s:/[ꜹꜻ]/gi},{l:"ay",s:/ꜽ/gi},{l:"b",s:/[ⓑbḃḅḇƀƃɓ]/gi},{l:"c",s:/[ⓒcćĉċčçḉƈȼꜿↄ]/gi},{l:"d",s:/[ⓓdḋďḍḑḓḏđƌɖɗꝺ]/gi},{l:"dz",s:/[dzdž]/gi},{l:"e",s:/[ⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ]/gi},{l:"f",s:/[ⓕfḟƒꝼ]/gi},{l:"g",s:/[ⓖgǵĝḡğġǧģǥɠꞡᵹꝿ]/gi},{l:"h",s:/[ⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ]/gi},{l:"hv",s:/ƕ/gi},{l:"i",s:/[ⓘiìíîĩīĭİïḯỉǐȉȋịįḭɨı]/gi},{l:"j",s:/[ⓙjĵǰɉ]/gi},{l:"k",s:/[ⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ]/gi},{l:"l",s:/[ⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇꝆ]/gi},{l:"lj",s:/lj/gi},{l:"m",s:/[ⓜmḿṁṃɱɯ]/gi},{l:"n",s:/[ⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ]/gi},{l:"nj",s:/nj/gi},{l:"o",s:/[ⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔƟꝋꝍɵ]/gi},{l:"oi",s:/ƣ/gi},{l:"oe",s:/œ/gi},{l:"oo",s:/ꝏ/gi},{l:"ou",s:/ȣ/gi},{l:"p",s:/[ⓟpṕṗƥᵽꝑꝓꝕ]/gi},{l:"q",s:/[ⓠqɋꝗꝙ]/gi},{l:"r",s:/[ⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ]/gi},{l:"s",s:/[ⓢsßẞśṥŝṡšṧṣṩșşȿꞩꞅẛ]/gi},{l:"t",s:/[ⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ]/gi},{l:"tz",s:/ꜩ/gi},{l:"u",s:/[ⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ]/gi},{l:"v",s:/[ⓥvṽṿʋꝟʌ]/gi},{l:"vy",s:/ꝡ/gi},{l:"w",s:/[ⓦwẁẃŵẇẅẘẉⱳ]/gi},{l:"x",s:/[ⓧxẋẍ]/gi},{l:"y",s:/[ⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ]/gi},{l:"z",s:/[ⓩzźẑżžẓẕƶȥɀⱬꝣ]/gi}],l=function(){function m(){}return m.getScrollUpIndex=function(e,t){var n,l,o=0;try{for(var i=b(e),r=i.next();!r.done;r=i.next()){var s=r.value,a=s.options;if(a){o++;var c=a.findIndex(function(e){return e.value===t});if(-1!==c)return o+c;o+=a.length}else{if(s.value===t)return o;o++}}}catch(u){n={error:u}}finally{try{r&&!r.done&&(l=i["return"])&&l.call(i)}finally{if(n)throw n.error}}return 0},m.getOptionByValue=function(e,t){try{for(var n=b(e),l=n.next();!l.done;l=n.next()){var o=l.value,i=o.options;if(i)try{for(var r=b(i),s=r.next();!s.done;s=r.next()){var a=s.value;if(a.value===t)return a}}catch(h){p={error:h}}finally{try{s&&!s.done&&(d=r["return"])&&d.call(r)}finally{if(p)throw p.error}}else if(o.value===t)return o}}catch(f){c={error:f}}finally{try{l&&!l.done&&(u=n["return"])&&u.call(n)}finally{if(c)throw c.error}}return null;var c,u,p,d},m.getOptionsByValue=function(e,t,n){if(n){var l=Array.isArray(t)?t:[],o=[];try{for(var i=b(l),r=i.next();!r.done;r=i.next()){var s=r.value,a=m.getOptionByValue(e,s);a&&o.push(a)}}catch(p){c={error:p}}finally{try{r&&!r.done&&(u=i["return"])&&u.call(i)}finally{if(c)throw c.error}}return o}return m.getOptionByValue(e,t);var c,u},m.getFirstAvailableOption=function(e){try{for(var t=b(e),n=t.next();!n.done;n=t.next()){var l=n.value,o=l.options;if(o)try{for(var i=b(o),r=i.next();!r.done;r=i.next()){var s;if(!(s=r.value).disabled)return s.value}}catch(d){u={error:d}}finally{try{r&&!r.done&&(p=i["return"])&&p.call(i)}finally{if(u)throw u.error}}else if(!(s=l).disabled)return s.value}}catch(h){a={error:h}}finally{try{n&&!n.done&&(c=t["return"])&&c.call(t)}finally{if(a)throw a.error}}return null;var a,c,u,p},m.getOptionsCount=function(e){var t,n,l=0;try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var r=i.value.options;r?l+=r.length:l++}}catch(s){t={error:s}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}return l},m.valueIsNotInFilteredData=function(e,t){if(m.isNullOrUndefined(t))return!0;try{for(var n=b(e),l=n.next();!l.done;l=n.next()){var o=l.value,i=o.options;if(i)try{for(var r=b(i),s=r.next();!s.done;s=r.next()){if(s.value.value===t)return!1}}catch(d){u={error:d}}finally{try{s&&!s.done&&(p=r["return"])&&p.call(r)}finally{if(u)throw u.error}}else if(o.value===t)return!1}}catch(h){a={error:h}}finally{try{l&&!l.done&&(c=n["return"])&&c.call(n)}finally{if(a)throw a.error}}return!0;var a,c,u,p},m.getPreviousOption=function(e,t){for(var n=m.isNullOrUndefined(t),l=e.length-1;0<=l;l--){var o=e[l],i=o.options;if(i)for(var r=i.length-1;0<=r;r--){var s=i[r];if(n&&!s.disabled)return s.value;n=s.value===t}else{s=o;if(n&&!s.disabled)return s.value;n=s.value===t}}return n?t:null},m.getNextOption=function(e,t){var n,l,o,i,r=m.isNullOrUndefined(t);try{for(var s=b(e),a=s.next();!a.done;a=s.next()){var c=a.value,u=c.options;if(u)try{for(var p=b(u),d=p.next();!d.done;d=p.next()){var h=d.value;if(r){if(!h.disabled)return h.value}else r=h.value===t}}catch(f){o={error:f}}finally{try{d&&!d.done&&(i=p["return"])&&i.call(p)}finally{if(o)throw o.error}}else{h=c;if(r){if(!h.disabled)return h.value}else r=h.value===t}}}catch(g){n={error:g}}finally{try{a&&!a.done&&(l=s["return"])&&l.call(s)}finally{if(n)throw n.error}}return r?t:null},m.isNullOrUndefined=function(e){return null===e||e===undefined},m.getLastScrollTopIndex=function(e,t,n,l){if(m.isNullOrUndefined(e))return t.scrollTop=0;var o,i=m.getScrollUpIndex(n,e);return 5<i-l?(l+=i-l-5,(o=t.querySelectorAll("li").item(i))&&(t.scrollTop=o.offsetTop-t.offsetHeight),l):0<l-i?(l-=l-i,(o=t.querySelectorAll("li").item(l-1))&&(t.scrollTop=o.offsetTop),l):null},m.containSearchText=function(e,t,n){return!t||null!==m.formatSansUnicode(e).match(new RegExp(m.formatPattern(t,n),"i"))},m.protectPattern=function(e){return e.replace(new RegExp("[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"),"\\$&")},m.formatSansUnicode=function(e){try{for(var t=b(s),n=t.next();!n.done;n=t.next()){var l=n.value;e=e.replace(l.s,l.l)}}catch(r){o={error:r}}finally{try{n&&!n.done&&(i=t["return"])&&i.call(t)}finally{if(o)throw o.error}}return e;var o,i},m.formatPattern=function(e,t){return e=m.formatSansUnicode(m.protectPattern(e)),t&&"function"==typeof t&&(e=t(e)),e},m.getFilteredData=function(e,t,n){if(t){var l=[];try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var r=i.value,s=r.options;if(s){if(s.some(function(e){return m.containSearchText(e.label,t,n)})){var a=s.filter(function(e){return m.containSearchText(e.label,t,n)});l.push({label:r.label,options:a})}}else m.containSearchText(r.label,t,n)&&l.push(r)}}catch(p){c={error:p}}finally{try{i&&!i.done&&(u=o["return"])&&u.call(o)}finally{if(c)throw c.error}}return l}return e;var c,u},m.getOptionStyle=function(e,t){return e===t?"select2-results__option select2-results__option--highlighted":"select2-results__option"},m.getDropdownStyle=function(e){return e?"select2-container select2-container--default select2-container-dropdown select2-container--open":"select2-container select2-container--default select2-container-dropdown"},m.getContainerStyle=function(e,t){return"select2 select2-container select2-container--default "+(e?"select2-container--disabled":"")+" "+(t?"select2-container--open":"")+" select2-container--below select2-container--focus"},m.getSelectionStyle=function(e){return"select2-selection select2-selection--"+(e?"multiple":"single")},m.isSearchboxHiddex=function(e,t){return"number"!=typeof t&&(t=6),m.getOptionsCount(e)<t},m.getSearchStyle=function(e){return e?"select2-search select2-search--dropdown select2-search--hide":"select2-search select2-search--dropdown"},m.isSelected=function(e,t,n){return n?e&&e.some(function(e){return e.value===t.value})?"true":"false":e&&t.value===e.value?"true":"false"},m.removeSelection=function(e,t){for(var n=0;n<e.length;n++)if(e[n].value===t.value)return void e.splice(n,1)},m}(),a=0,o=function(){function e(e,t,n,l,o){this._changeDetectorRef=e,this._parentForm=t,this._parentFormGroup=n,this._control=l,this.update=new i.EventEmitter,this.open=new i.EventEmitter,this.search=new i.EventEmitter,this.option=null,this.isOpen=!1,this.hoveringValue=null,this.innerSearchText="",this.lastScrollTopIndex=0,this._stateChanges=new r.Subject,this.focused=!1,this._onTouched=function(){},this._onChange=function(){},this._disabled=!1,this._required=!1,this._readonly=!1,this._clickDetection=!1,this._uid="select2-"+a++,this._previousNativeValue=this._value,this.id=this.id,this._tabIndex=parseInt(o,10)||0,this._control&&(this._control.valueAccessor=this),this._clickDetectionFc=this.clickDetection.bind(this)}return Object.defineProperty(e.prototype,"select2Options",{get:function(){return this.multiple?this.option:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"select2Option",{get:function(){return this.multiple?null:this.option},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"searchText",{get:function(){return this.innerSearchText},set:function(e){this.customSearchEnabled&&this.search.emit(e),this.innerSearchText=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownStyle",{get:function(){return l.getDropdownStyle(this.isOpen)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filteredData",{get:function(){var e=this.customSearchEnabled?this.data:l.getFilteredData(this.data,this.searchText,this.editPattern);if(l.valueIsNotInFilteredData(e,this.hoveringValue)&&(this.hoveringValue=l.getFirstAvailableOption(e),this.resultsElement)){var t=l.getLastScrollTopIndex(this.hoveringValue,this.resultsElement,e,this.lastScrollTopIndex);null!==t&&(this.lastScrollTopIndex=t)}return e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"containerStyle",{get:function(){return l.getContainerStyle(this.disabled,this.isOpen)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectionStyle",{get:function(){return l.getSelectionStyle(this.multiple)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(e){this._id=e||this._uid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(e){this._required=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._control?this._control.disabled:this._disabled},set:function(e){this._disabled=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readonly",{get:function(){return this._readonly},set:function(e){this._readonly=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){var t=this;setTimeout(function(){t._value=e,t.writeValue(e)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tabIndex",{get:function(){return this.disabled?-1:this._tabIndex},set:function(e){void 0!==e&&(this._tabIndex=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ariaInvalid",{get:function(){return this._isErrorState()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"classMaterial",{get:function(){return""===this.material||!0===this.material},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=l.getOptionsByValue(this.data,this._control?this._control.value:this.value,this.multiple);null!==e&&(this.option=e),Array.isArray(e)||(this.hoveringValue=this.value),this.isSearchboxHidden=!this.customSearchEnabled&&l.isSearchboxHiddex(this.data,this.minCountForSearch),this.searchStyle=l.getSearchStyle(this.isSearchboxHidden)},e.prototype.ngAfterViewInit=function(){this.selectionElement=this.selection.nativeElement,this.searchInputElement=this.searchInput.nativeElement,this.resultsElement=this.results.nativeElement},e.prototype.ngDoCheck=function(){this._dirtyCheckNativeValue()},e.prototype.ngOnDestroy=function(){window.document.body.removeEventListener("click",this._clickDetectionFc)},e.prototype.getOptionStyle=function(e){return l.getOptionStyle(e.value,this.hoveringValue)+(e.classes?" "+e.classes:"")},e.prototype.mouseenter=function(e){e.disabled||(this.hoveringValue=e.value)},e.prototype.click=function(e){e.disabled||this.select(e)},e.prototype.toggleOpenAndClose=function(){var e=this;if(!this.disabled){if(this.focused=!0,this.isOpen=!this.isOpen,this.isOpen){if(this.innerSearchText="",this.focusSearchboxOrResultsElement(),this.resultsElement){var t=l.getLastScrollTopIndex(this.hoveringValue,this.resultsElement,this.data,this.lastScrollTopIndex);null!==t&&(this.lastScrollTopIndex=t)}this.open.emit()}this.isOpen&&!this._clickDetection&&setTimeout(function(){window.document.body.addEventListener("click",e._clickDetectionFc,!1),e._clickDetection=!0},200),this._changeDetectorRef.markForCheck()}},e.prototype.clickDetection=function(e){this.ifParentContainsClass(e.target,"selection")?this.isOpen&&!this.ifParentContainsId(e.target,this._id)&&(this.toggleOpenAndClose(),this.clickExit()):(this.isOpen&&!this.ifParentContainsClass(e.target,"select2-dropdown")&&this.toggleOpenAndClose(),this.ifParentContainsId(e.target,this._id)||this.clickExit())},e.prototype.clickExit=function(){this.focused=!1,window.document.body.removeEventListener("click",this._clickDetectionFc),this._clickDetection=!1},e.prototype.ifParentContainsClass=function(e,t){return null!==this.getParentElementByClass(e,t)},e.prototype.ifParentContainsId=function(e,t){return null!==this.getParentElementById(e,t)},e.prototype.getParentElementByClass=function(e,t){return this.containClasses(e,t.trim().split(/\s+/))?e:e.parentElement?this.getParentElementByClass(e.parentElement,t):null},e.prototype.getParentElementById=function(e,t){return e.id===t?e:e.parentElement?this.getParentElementById(e.parentElement,t):null},e.prototype.containClasses=function(e,t){if(!e.classList)return!1;try{for(var n=b(t),l=n.next();!l.done;l=n.next()){var o=l.value;if(!e.classList.contains(o))return!1}}catch(s){i={error:s}}finally{try{l&&!l.done&&(r=n["return"])&&r.call(n)}finally{if(i)throw i.error}}return!0;var i,r},e.prototype.focusin=function(){this.disabled||(this.focused=!0)},e.prototype.focusout=function(){this.selectionElement&&!this.selectionElement.classList.contains("select2-focused")&&(this.focused=!1,this._onTouched())},e.prototype.moveUp=function(){if(this.hoveringValue=l.getPreviousOption(this.filteredData,this.hoveringValue),this.resultsElement){var e=l.getLastScrollTopIndex(this.hoveringValue,this.resultsElement,this.filteredData,this.lastScrollTopIndex);null!==e&&(this.lastScrollTopIndex=e)}},e.prototype.moveDown=function(){if(this.hoveringValue=l.getNextOption(this.filteredData,this.hoveringValue),this.resultsElement){var e=l.getLastScrollTopIndex(this.hoveringValue,this.resultsElement,this.filteredData,this.lastScrollTopIndex);null!==e&&(this.lastScrollTopIndex=e)}},e.prototype.selectByEnter=function(){if(this.hoveringValue){var e=l.getOptionByValue(this.data,this.hoveringValue);this.select(e)}},e.prototype.select=function(t){var e;if(null!==t)if(this.multiple){var n=this.option,l=n.findIndex(function(e){return e.value===t.value});-1===l?n.push(t):n.splice(l,1),e=this.option.map(function(e){return e.value})}else this.option=t,this.isOpen=!1,this.selectionElement&&this.selectionElement.focus(),e=this.option.value;else this._control&&(this.option=null);this._control&&this._onChange(e),this.update.emit(e)},e.prototype.keyDown=function(e){40===e.keyCode?(this.moveDown(),e.preventDefault()):38===e.keyCode?(this.moveUp(),e.preventDefault()):13===e.keyCode?(this.selectByEnter(),e.preventDefault()):9===e.keyCode&&this.isOpen&&(this.toggleOpenAndClose(),this.focused=!1)},e.prototype.openKey=function(e){40===e.keyCode||38===e.keyCode||13===e.keyCode?(this.toggleOpenAndClose(),e.preventDefault()):9===e.keyCode&&(this.focused=!1,this._onTouched())},e.prototype.trackBy=function(e,t){return t.value},e.prototype.searchUpdate=function(e){this.searchText=e.target.value},e.prototype.isSelected=function(e){return l.isSelected(this.option,e,this.multiple)},e.prototype.isDisabled=function(e){return e.disabled?"true":"false"},e.prototype.removeSelection=function(e,t){l.removeSelection(this.option,t);var n=this.option.map(function(e){return e.value});this._control&&this._onChange(n),this.update.emit(n),e.preventDefault(),e.stopPropagation(),this.isOpen&&this.focusSearchboxOrResultsElement()},e.prototype.writeValue=function(e){this._setSelectionByValue(e)},e.prototype.registerOnChange=function(e){this._onChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype._isErrorState=function(){var e=this._control&&this._control.invalid,t=this._control&&this._control.touched,n=this._parentFormGroup&&this._parentFormGroup.submitted||this._parentForm&&this._parentForm.submitted;return!(!e||!t&&!n)},e.prototype._setSelectionByValue=function(e){var t=this;if(this.option||e!==undefined&&null!==e){var n=Array.isArray(e);if(this.multiple&&e&&!n)throw new Error("Non array value.");this.data?this._control&&this.multiple?(this.option=[],n&&l.getOptionsByValue(this.data,e,this.multiple).map(function(e){return t.select(e)})):this.select(l.getOptionByValue(this.data,e)):this._control&&this._control.viewToModelUpdate(e),this._changeDetectorRef.markForCheck()}},e.prototype._dirtyCheckNativeValue=function(){var e=this.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this._stateChanges.next())},e.prototype._coerceBooleanProperty=function(e){return null!=e&&""+e!="false"},e.prototype.focusSearchboxOrResultsElement=function(){this.isSearchboxHidden?this.resultsElement&&this.resultsElement.focus():this.searchInputElement&&this.searchInputElement.focus()},e.decorators=[{type:i.Component,args:[{selector:"select2",template:'<div [class]="containerStyle">\n <div class="selection"\n #selection\n [attr.tabindex]="!this.isOpen ? tabIndex : \'-1\'"\n (click)="toggleOpenAndClose()"\n (focus)="focusin()"\n (blur)="focusout()"\n (keydown)="openKey($event)"\n [class.select2-focused]="focused">\n <div [class]="selectionStyle"\n role="combobox">\n <span *ngIf="!multiple"\n class="select2-selection__rendered"\n [title]="select2Option ? select2Option.label : \'\'">\n <span *ngIf="!select2Option">&nbsp;</span>\n <ng-container *ngIf="select2Option">{{select2Option.label}}</ng-container>\n <span [class.select2-selection__placeholder__option]="option"\n class="select2-selection__placeholder">{{placeholder}}</span>\n </span>\n <span *ngIf="!multiple"\n class="select2-selection__arrow"\n role="presentation">\n <b role="presentation"></b>\n </span>\n <ul *ngIf="multiple"\n class="select2-selection__rendered">\n <span [class.select2-selection__placeholder__option]="select2Options?.length > 0"\n class="select2-selection__placeholder">{{placeholder}}</span>\n <li *ngFor="let op of option; trackBy: trackBy"\n class="select2-selection__choice"\n [title]="op.label">\n <span (click)="removeSelection($event, op)"\n class="select2-selection__choice__remove"\n role="presentation">×</span>\n {{op.label}}\n </li>\n </ul>\n </div>\n <div class="select2-subscript-wrapper">\n <ng-content select="select2-hint"></ng-content>\n </div>\n </div>\n <div [class]="dropdownStyle">\n <div class="select2-dropdown select2-dropdown--below">\n <div [class]="searchStyle">\n <input #searchInput\n [id]="id + \'-search-field\'"\n [(value)]="searchText"\n (keydown)="keyDown($event)"\n (keyup)="searchUpdate($event)"\n class="select2-search__field"\n type="search"\n role="textbox"\n autocomplete="off"\n autocorrect="off"\n autocapitalize="off"\n spellcheck="false"\n [attr.tabindex]="this.isOpen ? tabIndex : \'-1\'">\n </div>\n <div class="select2-results">\n <ul #results\n class="select2-results__options"\n role="tree"\n tabindex="-1"\n (keydown)="keyDown($event)">\n <ng-template ngFor\n [ngForOf]="filteredData"\n let-groupOrOption\n [ngForTrackBy]="trackBy">\n <li *ngIf="groupOrOption.options"\n class="select2-results__option"\n role="group">\n <strong [attr.class]="\'select2-results__group\' + (groupOrOption.classes ? \' \' + groupOrOption.classes : \'\')">{{groupOrOption.label}}</strong>\n <ul class="select2-results__options select2-results__options--nested">\n <li *ngFor="let option of groupOrOption.options; trackBy:trackBy"\n [class]="getOptionStyle(option)"\n role="treeitem"\n [attr.aria-selected]="isSelected(option)"\n [attr.aria-disabled]="isDisabled(option)"\n (mouseenter)="mouseenter(option)"\n (click)="click(option)">{{option.label}}</li>\n </ul>\n </li>\n <li *ngIf="!groupOrOption.options"\n [class]="getOptionStyle(groupOrOption)"\n role="treeitem"\n [attr.aria-selected]="isSelected(groupOrOption)"\n [attr.aria-disabled]="isDisabled(groupOrOption)"\n (mouseenter)="mouseenter(groupOrOption)"\n (click)="click(groupOrOption)">\n {{groupOrOption.label}}\n </li>\n </ng-template>\n </ul>\n </div>\n </div>\n </div>\n</div>',styles:[".select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;width:100%}.select2-container .select2-container-dropdown{position:absolute}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default.select2-container--focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray}:host.material{display:inline-block;width:300px}:host.material>.select2-container{padding-bottom:1.29688em;vertical-align:inherit}:host.material>.select2-container .selection{padding:.4375em 0;border-top:.84375em solid transparent;display:inline-flex;align-items:baseline;width:100%;height:auto}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{width:100%;border:0;border-radius:0;height:24px;box-sizing:border-box}:host.material .select2-container--default .select2-selection--multiple::before,:host.material .select2-container--default .select2-selection--single::before{content:' ';display:block;position:absolute;bottom:1.65em;background-color:#ddd;height:1px;width:100%}:host.material .select2-container--default .select2-selection--multiple::after,:host.material .select2-container--default .select2-selection--single::after{content:' ';display:block;position:absolute;bottom:1.63em;background-color:#5a419e;height:2px;width:0%;left:50%;transition:none}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:1px;line-height:inherit}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{display:block;color:rgba(0,0,0,.38);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;position:absolute;-webkit-transform-origin:0 21px;transform-origin:0 21px;left:0;top:20px}:host.material .select2-container--default .select2-container--open{left:0;bottom:1.6em}:host.material .select2-container--default .select2-selection__placeholder__option{-webkit-transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}:host.material .select2-container--default .select2-selection__arrow{top:20px}:host.material .select2-container--default .select2-focused .select2-selection--multiple::after,:host.material .select2-container--default .select2-focused .select2-selection--single::after,:host.material .select2-container--default.select2-container--open .select2-selection--multiple::after,:host.material .select2-container--default.select2-container--open .select2-selection--single::after{transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%;left:0}:host.material .select2-container--default .select2-dropdown{border-radius:0;border:0;box-shadow:0 5px 5px rgba(0,0,0,.5)}:host.material .select2-container--default .select2-results__option--highlighted[aria-selected],:host.material .select2-container--default .select2-results__option[aria-selected=true]{background-color:rgba(0,0,0,.04);color:#000}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple,:host.material .select2-container--default.select2-container--disabled .select2-selection--single{background-color:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple::before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single::before{background-image:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x;background-color:transparent;background-position:0 bottom}:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::before,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::before{background-color:red}:host.material:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.material:not(.select2-container--open) .select2-focused .select2-selection--single{border:0}:host.material .select2-subscript-wrapper{position:absolute;top:calc(100% - 1.72917em);font-size:75%}@supports (-moz-appearance:none){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:26px}}@supports (-ms-scroll-limit:0){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:25px}}"]}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:t.NgForm,decorators:[{type:i.Optional}]},{type:t.FormGroupDirective,decorators:[{type:i.Optional}]},{type:t.NgControl,decorators:[{type:i.Self},{type:i.Optional}]},{type:String,decorators:[{type:i.Attribute,args:["tabindex"]}]}]},e.propDecorators={data:[{type:i.Input}],minCountForSearch:[{type:i.Input}],placeholder:[{type:i.Input}],customSearchEnabled:[{type:i.Input}],multiple:[{type:i.Input}],material:[{type:i.Input}],editPattern:[{type:i.Input}],update:[{type:i.Output}],open:[{type:i.Output}],search:[{type:i.Output}],selection:[{type:i.ViewChild,args:["selection"]}],results:[{type:i.ViewChild,args:["results"]}],searchInput:[{type:i.ViewChild,args:["searchInput"]}],id:[{type:i.Input},{type:i.HostBinding,args:["id"]}],required:[{type:i.Input}],disabled:[{type:i.Input}],readonly:[{type:i.Input}],value:[{type:i.Input}],tabIndex:[{type:i.Input}],ariaInvalid:[{type:i.HostBinding,args:["attr.aria-invalid"]}],classMaterial:[{type:i.HostBinding,args:["class.material"]}]},e}(),c=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"select2-hint"}]}],e}(),u=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{imports:[n.CommonModule,t.FormsModule,t.ReactiveFormsModule],declarations:[c,o],exports:[t.FormsModule,t.ReactiveFormsModule,c,o]}]}],e}();e.Select2=o,e.Select2Hint=c,e.timeout=200,e.Select2Utils=l,e.Select2Module=u,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("rxjs"),require("@angular/core"),require("@angular/common"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ng-select2-component",["exports","rxjs","@angular/core","@angular/common","@angular/forms"],t):t(e["ng-select2-component"]={},e.rxjs,e.ng.core,e.ng.common,e.ng.forms)}(this,function(e,r,i,t,n){"use strict";function b(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}var s=[{l:"a",s:/[ⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ]/gi},{l:"aa",s:/ꜳ/gi},{l:"ae",s:/[æǽǣ]/gi},{l:"ao",s:/ꜵ/gi},{l:"au",s:/ꜷ/gi},{l:"av",s:/[ꜹꜻ]/gi},{l:"ay",s:/ꜽ/gi},{l:"b",s:/[ⓑbḃḅḇƀƃɓ]/gi},{l:"c",s:/[ⓒcćĉċčçḉƈȼꜿↄ]/gi},{l:"d",s:/[ⓓdḋďḍḑḓḏđƌɖɗꝺ]/gi},{l:"dz",s:/[dzdž]/gi},{l:"e",s:/[ⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ]/gi},{l:"f",s:/[ⓕfḟƒꝼ]/gi},{l:"g",s:/[ⓖgǵĝḡğġǧģǥɠꞡᵹꝿ]/gi},{l:"h",s:/[ⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ]/gi},{l:"hv",s:/ƕ/gi},{l:"i",s:/[ⓘiìíîĩīĭİïḯỉǐȉȋịįḭɨı]/gi},{l:"j",s:/[ⓙjĵǰɉ]/gi},{l:"k",s:/[ⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ]/gi},{l:"l",s:/[ⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇꝆ]/gi},{l:"lj",s:/lj/gi},{l:"m",s:/[ⓜmḿṁṃɱɯ]/gi},{l:"n",s:/[ⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ]/gi},{l:"nj",s:/nj/gi},{l:"o",s:/[ⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔƟꝋꝍɵ]/gi},{l:"oi",s:/ƣ/gi},{l:"oe",s:/œ/gi},{l:"oo",s:/ꝏ/gi},{l:"ou",s:/ȣ/gi},{l:"p",s:/[ⓟpṕṗƥᵽꝑꝓꝕ]/gi},{l:"q",s:/[ⓠqɋꝗꝙ]/gi},{l:"r",s:/[ⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ]/gi},{l:"s",s:/[ⓢsßẞśṥŝṡšṧṣṩșşȿꞩꞅẛ]/gi},{l:"t",s:/[ⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ]/gi},{l:"tz",s:/ꜩ/gi},{l:"u",s:/[ⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ]/gi},{l:"v",s:/[ⓥvṽṿʋꝟʌ]/gi},{l:"vy",s:/ꝡ/gi},{l:"w",s:/[ⓦwẁẃŵẇẅẘẉⱳ]/gi},{l:"x",s:/[ⓧxẋẍ]/gi},{l:"y",s:/[ⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ]/gi},{l:"z",s:/[ⓩzźẑżžẓẕƶȥɀⱬꝣ]/gi}],o=function(){function m(){}return m.getScrollUpIndex=function(e,t){var n,o,l=0;try{for(var r=b(e),i=r.next();!i.done;i=r.next()){var s=i.value,c=s.options;if(c){l++;var a=c.findIndex(function(e){return e.value===t});if(-1!==a)return l+a;l+=c.length}else{if(s.value===t)return l;l++}}}catch(u){n={error:u}}finally{try{i&&!i.done&&(o=r["return"])&&o.call(r)}finally{if(n)throw n.error}}return 0},m.getOptionByValue=function(e,t){var n,o,l,r;try{for(var i=b(e),s=i.next();!s.done;s=i.next()){var c=s.value,a=c.options;if(a)try{for(var u=b(a),p=u.next();!p.done;p=u.next()){var d=p.value;if(d.value===t)return d}}catch(h){l={error:h}}finally{try{p&&!p.done&&(r=u["return"])&&r.call(u)}finally{if(l)throw l.error}}else if(c.value===t)return c}}catch(f){n={error:f}}finally{try{s&&!s.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}return null},m.getOptionsByValue=function(e,t,n){var o,l;if(n){var r=Array.isArray(t)?t:[],i=[];try{for(var s=b(r),c=s.next();!c.done;c=s.next()){var a=c.value,u=m.getOptionByValue(e,a);u&&i.push(u)}}catch(p){o={error:p}}finally{try{c&&!c.done&&(l=s["return"])&&l.call(s)}finally{if(o)throw o.error}}return i}return m.getOptionByValue(e,t)},m.getFirstAvailableOption=function(e){var t,n,o,l;try{for(var r=b(e),i=r.next();!i.done;i=r.next()){var s=i.value,c=s.options;if(c)try{for(var a=b(c),u=a.next();!u.done;u=a.next()){var p;if(!(p=u.value).disabled)return p.value}}catch(d){o={error:d}}finally{try{u&&!u.done&&(l=a["return"])&&l.call(a)}finally{if(o)throw o.error}}else if(!(p=s).disabled)return p.value}}catch(h){t={error:h}}finally{try{i&&!i.done&&(n=r["return"])&&n.call(r)}finally{if(t)throw t.error}}return null},m.getOptionsCount=function(e){var t,n,o=0;try{for(var l=b(e),r=l.next();!r.done;r=l.next()){var i=r.value.options;i?o+=i.length:o++}}catch(s){t={error:s}}finally{try{r&&!r.done&&(n=l["return"])&&n.call(l)}finally{if(t)throw t.error}}return o},m.valueIsNotInFilteredData=function(e,t){var n,o,l,r;if(m.isNullOrUndefined(t))return!0;try{for(var i=b(e),s=i.next();!s.done;s=i.next()){var c=s.value,a=c.options;if(a)try{for(var u=b(a),p=u.next();!p.done;p=u.next()){if(p.value.value===t)return!1}}catch(d){l={error:d}}finally{try{p&&!p.done&&(r=u["return"])&&r.call(u)}finally{if(l)throw l.error}}else if(c.value===t)return!1}}catch(h){n={error:h}}finally{try{s&&!s.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}return!0},m.getPreviousOption=function(e,t){for(var n=m.isNullOrUndefined(t),o=e.length-1;0<=o;o--){var l=e[o],r=l.options;if(r)for(var i=r.length-1;0<=i;i--){var s=r[i];if(n&&!s.disabled)return s.value;n=s.value===t}else{s=l;if(n&&!s.disabled)return s.value;n=s.value===t}}return n?t:null},m.getNextOption=function(e,t){var n,o,l,r,i=m.isNullOrUndefined(t);try{for(var s=b(e),c=s.next();!c.done;c=s.next()){var a=c.value,u=a.options;if(u)try{for(var p=b(u),d=p.next();!d.done;d=p.next()){var h=d.value;if(i){if(!h.disabled)return h.value}else i=h.value===t}}catch(f){l={error:f}}finally{try{d&&!d.done&&(r=p["return"])&&r.call(p)}finally{if(l)throw l.error}}else{h=a;if(i){if(!h.disabled)return h.value}else i=h.value===t}}}catch(g){n={error:g}}finally{try{c&&!c.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}return i?t:null},m.isNullOrUndefined=function(e){return null===e||e===undefined},m.getLastScrollTopIndex=function(e,t,n,o){if(m.isNullOrUndefined(e))return t.scrollTop=0;var l,r=m.getScrollUpIndex(n,e);return 5<r-o?(o+=r-o-5,(l=t.querySelectorAll("li").item(r))&&(t.scrollTop=l.offsetTop-t.offsetHeight),o):0<o-r?(o-=o-r,(l=t.querySelectorAll("li").item(o-1))&&(t.scrollTop=l.offsetTop),o):null},m.containSearchText=function(e,t,n){return!t||null!==m.formatSansUnicode(e).match(new RegExp(m.formatPattern(t,n),"i"))},m.protectPattern=function(e){return e.replace(new RegExp("[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"),"\\$&")},m.formatSansUnicode=function(e){var t,n;try{for(var o=b(s),l=o.next();!l.done;l=o.next()){var r=l.value;e=e.replace(r.s,r.l)}}catch(i){t={error:i}}finally{try{l&&!l.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}return e},m.formatPattern=function(e,t){return e=m.formatSansUnicode(m.protectPattern(e)),t&&"function"==typeof t&&(e=t(e)),e},m.getFilteredData=function(e,t,n){var o,l;if(t){var r=[];try{for(var i=b(e),s=i.next();!s.done;s=i.next()){var c=s.value,a=c.options;if(a){if(a.some(function(e){return m.containSearchText(e.label,t,n)})){var u=a.filter(function(e){return m.containSearchText(e.label,t,n)});r.push({label:c.label,options:u})}}else m.containSearchText(c.label,t,n)&&r.push(c)}}catch(p){o={error:p}}finally{try{s&&!s.done&&(l=i["return"])&&l.call(i)}finally{if(o)throw o.error}}return r}return e},m.getOptionStyle=function(e,t){return e===t?"select2-results__option select2-results__option--highlighted":"select2-results__option"},m.getDropdownStyle=function(e){return e?"select2-container select2-container--default select2-container-dropdown select2-container--open":"select2-container select2-container--default select2-container-dropdown"},m.getContainerStyle=function(e,t){return"select2 select2-container select2-container--default "+(e?"select2-container--disabled":"")+" "+(t?"select2-container--open":"")+" select2-container--below select2-container--focus"},m.getSelectionStyle=function(e){return"select2-selection select2-selection--"+(e?"multiple":"single")},m.isSearchboxHiddex=function(e,t){return"number"!=typeof t&&(t=6),m.getOptionsCount(e)<t},m.getSearchStyle=function(e){return e?"select2-search select2-search--dropdown select2-search--hide":"select2-search select2-search--dropdown"},m.isSelected=function(e,t,n){return n?e&&e.some(function(e){return e.value===t.value})?"true":"false":e&&t.value===e.value?"true":"false"},m.removeSelection=function(e,t){for(var n=0;n<e.length;n++)if(e[n].value===t.value)return void e.splice(n,1)},m}(),c=0,l=function(){function e(e,t,n,o,l){this._changeDetectorRef=e,this._parentForm=t,this._parentFormGroup=n,this._control=o,this.update=new i.EventEmitter,this.open=new i.EventEmitter,this.search=new i.EventEmitter,this.option=null,this.isOpen=!1,this.hoveringValue=null,this.innerSearchText="",this.lastScrollTopIndex=0,this._stateChanges=new r.Subject,this.focused=!1,this._onTouched=function(){},this._onChange=function(){},this._disabled=!1,this._required=!1,this._readonly=!1,this._clickDetection=!1,this._uid="select2-"+c++,this._previousNativeValue=this._value,this.id=this.id,this._tabIndex=parseInt(l,10)||0,this._control&&(this._control.valueAccessor=this),this._clickDetectionFc=this.clickDetection.bind(this)}return Object.defineProperty(e.prototype,"select2Options",{get:function(){return this.multiple?this.option:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"select2Option",{get:function(){return this.multiple?null:this.option},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"searchText",{get:function(){return this.innerSearchText},set:function(e){this.customSearchEnabled&&this.search.emit(e),this.innerSearchText=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropdownStyle",{get:function(){return o.getDropdownStyle(this.isOpen)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filteredData",{get:function(){var e=this.customSearchEnabled?this.data:o.getFilteredData(this.data,this.searchText,this.editPattern);if(o.valueIsNotInFilteredData(e,this.hoveringValue)&&(this.hoveringValue=o.getFirstAvailableOption(e),this.resultsElement)){var t=o.getLastScrollTopIndex(this.hoveringValue,this.resultsElement,e,this.lastScrollTopIndex);null!==t&&(this.lastScrollTopIndex=t)}return e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"containerStyle",{get:function(){return o.getContainerStyle(this.disabled,this.isOpen)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectionStyle",{get:function(){return o.getSelectionStyle(this.multiple)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(e){this._id=e||this._uid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(e){this._required=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._control?this._control.disabled:this._disabled},set:function(e){this._disabled=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readonly",{get:function(){return this._readonly},set:function(e){this._readonly=this._coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){var t=this;setTimeout(function(){t._value=e,t.writeValue(e)})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tabIndex",{get:function(){return this.disabled?-1:this._tabIndex},set:function(e){void 0!==e&&(this._tabIndex=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ariaInvalid",{get:function(){return this._isErrorState()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"classMaterial",{get:function(){return""===this.material||!0===this.material},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=o.getOptionsByValue(this.data,this._control?this._control.value:this.value,this.multiple);null!==e&&(this.option=e),Array.isArray(e)||(this.hoveringValue=this.value),this.isSearchboxHidden=!this.customSearchEnabled&&o.isSearchboxHiddex(this.data,this.minCountForSearch),this.searchStyle=o.getSearchStyle(this.isSearchboxHidden)},e.prototype.ngAfterViewInit=function(){this.selectionElement=this.selection.nativeElement,this.searchInputElement=this.searchInput.nativeElement,this.resultsElement=this.results.nativeElement},e.prototype.ngDoCheck=function(){this._dirtyCheckNativeValue()},e.prototype.ngOnDestroy=function(){window.document.body.removeEventListener("click",this._clickDetectionFc)},e.prototype.getOptionStyle=function(e){return o.getOptionStyle(e.value,this.hoveringValue)+(e.classes?" "+e.classes:"")},e.prototype.mouseenter=function(e){e.disabled||(this.hoveringValue=e.value)},e.prototype.click=function(e){e.disabled||this.select(e)},e.prototype.toggleOpenAndClose=function(){var e=this;if(!this.disabled){if(this.focused=!0,this.isOpen=!this.isOpen,this.isOpen){if(this.innerSearchText="",this.focusSearchboxOrResultsElement(),this.resultsElement){var t=o.getLastScrollTopIndex(this.hoveringValue,this.resultsElement,this.data,this.lastScrollTopIndex);null!==t&&(this.lastScrollTopIndex=t)}this.open.emit()}this.isOpen&&!this._clickDetection&&setTimeout(function(){window.document.body.addEventListener("click",e._clickDetectionFc,!1),e._clickDetection=!0},200),this._changeDetectorRef.markForCheck()}},e.prototype.clickDetection=function(e){this.ifParentContainsClass(e.target,"selection")?this.isOpen&&!this.ifParentContainsId(e.target,this._id)&&(this.toggleOpenAndClose(),this.clickExit()):(this.isOpen&&!this.ifParentContainsClass(e.target,"select2-dropdown")&&this.toggleOpenAndClose(),this.ifParentContainsId(e.target,this._id)||this.clickExit())},e.prototype.clickExit=function(){this.focused=!1,window.document.body.removeEventListener("click",this._clickDetectionFc),this._clickDetection=!1},e.prototype.ifParentContainsClass=function(e,t){return null!==this.getParentElementByClass(e,t)},e.prototype.ifParentContainsId=function(e,t){return null!==this.getParentElementById(e,t)},e.prototype.getParentElementByClass=function(e,t){return this.containClasses(e,t.trim().split(/\s+/))?e:e.parentElement?this.getParentElementByClass(e.parentElement,t):null},e.prototype.getParentElementById=function(e,t){return e.id===t?e:e.parentElement?this.getParentElementById(e.parentElement,t):null},e.prototype.containClasses=function(e,t){var n,o;if(!e.classList)return!1;try{for(var l=b(t),r=l.next();!r.done;r=l.next()){var i=r.value;if(!e.classList.contains(i))return!1}}catch(s){n={error:s}}finally{try{r&&!r.done&&(o=l["return"])&&o.call(l)}finally{if(n)throw n.error}}return!0},e.prototype.focusin=function(){this.disabled||(this.focused=!0)},e.prototype.focusout=function(){this.selectionElement&&!this.selectionElement.classList.contains("select2-focused")&&(this.focused=!1,this._onTouched())},e.prototype.moveUp=function(){if(this.hoveringValue=o.getPreviousOption(this.filteredData,this.hoveringValue),this.resultsElement){var e=o.getLastScrollTopIndex(this.hoveringValue,this.resultsElement,this.filteredData,this.lastScrollTopIndex);null!==e&&(this.lastScrollTopIndex=e)}},e.prototype.moveDown=function(){if(this.hoveringValue=o.getNextOption(this.filteredData,this.hoveringValue),this.resultsElement){var e=o.getLastScrollTopIndex(this.hoveringValue,this.resultsElement,this.filteredData,this.lastScrollTopIndex);null!==e&&(this.lastScrollTopIndex=e)}},e.prototype.selectByEnter=function(){if(this.hoveringValue){var e=o.getOptionByValue(this.data,this.hoveringValue);this.select(e)}},e.prototype.select=function(t){var e;if(null!==t)if(this.multiple){var n=this.option,o=n.findIndex(function(e){return e.value===t.value});-1===o?n.push(t):n.splice(o,1),e=this.option.map(function(e){return e.value})}else this.option=t,this.isOpen=!1,this.selectionElement&&this.selectionElement.focus(),e=this.option.value;else this._control&&(this.option=null);this._control&&this._onChange(e),this.update.emit(e)},e.prototype.keyDown=function(e){this._testKey(e,["ArrowDown",40])?(this.moveDown(),e.preventDefault()):this._testKey(e,["ArrowUp",38])?(this.moveUp(),e.preventDefault()):this._testKey(e,["Enter",13])?(this.selectByEnter(),e.preventDefault()):this._testKey(e,["Escape","Tab",9,27])&&this.isOpen&&(this.toggleOpenAndClose(),this.focused=!1)},e.prototype.openKey=function(e){this._testKey(e,["ArrowDown","ArrowUp","Enter",40,38,13])?(this.toggleOpenAndClose(),e.preventDefault()):this._testKey(e,["Escape",9])&&(this.focused=!1,this._onTouched())},e.prototype.trackBy=function(e,t){return t.value},e.prototype.searchUpdate=function(e){this.searchText=e.target.value},e.prototype.isSelected=function(e){return o.isSelected(this.option,e,this.multiple)},e.prototype.isDisabled=function(e){return e.disabled?"true":"false"},e.prototype.removeSelection=function(e,t){o.removeSelection(this.option,t);var n=this.option.map(function(e){return e.value});this._control&&this._onChange(n),this.update.emit(n),e.preventDefault(),e.stopPropagation(),this.isOpen&&this.focusSearchboxOrResultsElement()},e.prototype.writeValue=function(e){this._setSelectionByValue(e)},e.prototype.registerOnChange=function(e){this._onChange=e},e.prototype.registerOnTouched=function(e){this._onTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype._isErrorState=function(){var e=this._control&&this._control.invalid,t=this._control&&this._control.touched,n=this._parentFormGroup&&this._parentFormGroup.submitted||this._parentForm&&this._parentForm.submitted;return!(!e||!t&&!n)},e.prototype._testKey=function(e,t){return void 0===t&&(t=[]),this._isKey(this._getKey(e),t)},e.prototype._getKey=function(e){var t;return e.key!==undefined?t=e.key:e.keyIdentifier!==undefined?t=e.keyIdentifier:e.keyCode!==undefined?t=e.keyCode:e.preventDefault(),t},e.prototype._isKey=function(e,t){return void 0===t&&(t=[]),!!(t&&0<t.length)&&-1!==t.indexOf(e)},e.prototype._setSelectionByValue=function(e){var t=this;if(this.option||e!==undefined&&null!==e){var n=Array.isArray(e);if(this.multiple&&e&&!n)throw new Error("Non array value.");this.data?this._control&&this.multiple?(this.option=[],n&&o.getOptionsByValue(this.data,e,this.multiple).map(function(e){return t.select(e)})):this.select(o.getOptionByValue(this.data,e)):this._control&&this._control.viewToModelUpdate(e),this._changeDetectorRef.markForCheck()}},e.prototype._dirtyCheckNativeValue=function(){var e=this.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this._stateChanges.next())},e.prototype._coerceBooleanProperty=function(e){return null!=e&&""+e!="false"},e.prototype.focusSearchboxOrResultsElement=function(){this.isSearchboxHidden?this.resultsElement&&this.resultsElement.focus():this.searchInputElement&&this.searchInputElement.focus()},e.decorators=[{type:i.Component,args:[{selector:"select2",template:'<div class="select2-lalel"\r\n (click)="toggleOpenAndClose()">\r\n <ng-content select="select2-label"></ng-content>\r\n</div>\r\n<div [class]="containerStyle">\r\n <div class="selection"\r\n #selection\r\n [attr.tabindex]="!this.isOpen ? tabIndex : \'-1\'"\r\n (click)="toggleOpenAndClose()"\r\n (focus)="focusin()"\r\n (blur)="focusout()"\r\n (keydown)="openKey($event)"\r\n [class.select2-focused]="focused">\r\n <div [class]="selectionStyle"\r\n role="combobox">\r\n <span *ngIf="!multiple"\r\n class="select2-selection__rendered"\r\n [title]="select2Option ? select2Option.label : \'\'">\r\n <span *ngIf="!select2Option">&nbsp;</span>\r\n <ng-container *ngIf="select2Option">{{select2Option.label}}</ng-container>\r\n <span [class.select2-selection__placeholder__option]="option"\r\n class="select2-selection__placeholder">{{placeholder}}</span>\r\n </span>\r\n <span *ngIf="!multiple"\r\n class="select2-selection__arrow"\r\n role="presentation">\r\n <b role="presentation"></b>\r\n </span>\r\n <ul *ngIf="multiple"\r\n class="select2-selection__rendered">\r\n <span [class.select2-selection__placeholder__option]="select2Options?.length > 0"\r\n class="select2-selection__placeholder">{{placeholder}}</span>\r\n <li *ngFor="let op of option; trackBy: trackBy"\r\n class="select2-selection__choice"\r\n [title]="op.label">\r\n <span (click)="removeSelection($event, op)"\r\n class="select2-selection__choice__remove"\r\n role="presentation">×</span>\r\n {{op.label}}\r\n </li>\r\n </ul>\r\n </div>\r\n <div class="select2-subscript-wrapper">\r\n <ng-content select="select2-hint"></ng-content>\r\n </div>\r\n </div>\r\n <div [class]="dropdownStyle">\r\n <div class="select2-dropdown select2-dropdown--below">\r\n <div [class]="searchStyle">\r\n <input #searchInput\r\n [id]="id + \'-search-field\'"\r\n [(value)]="searchText"\r\n (keydown)="keyDown($event)"\r\n (keyup)="searchUpdate($event)"\r\n class="select2-search__field"\r\n type="search"\r\n role="textbox"\r\n autocomplete="off"\r\n autocorrect="off"\r\n autocapitalize="off"\r\n spellcheck="false"\r\n [attr.tabindex]="this.isOpen ? tabIndex : \'-1\'">\r\n </div>\r\n <div class="select2-results">\r\n <ul #results\r\n class="select2-results__options"\r\n role="tree"\r\n tabindex="-1"\r\n (keydown)="keyDown($event)">\r\n <ng-template ngFor\r\n [ngForOf]="filteredData"\r\n let-groupOrOption\r\n [ngForTrackBy]="trackBy">\r\n <li *ngIf="groupOrOption.options"\r\n class="select2-results__option"\r\n role="group">\r\n <strong [attr.class]="\'select2-results__group\' + (groupOrOption.classes ? \' \' + groupOrOption.classes : \'\')">{{groupOrOption.label}}</strong>\r\n <ul class="select2-results__options select2-results__options--nested">\r\n <li *ngFor="let option of groupOrOption.options; trackBy:trackBy"\r\n [class]="getOptionStyle(option)"\r\n role="treeitem"\r\n [attr.aria-selected]="isSelected(option)"\r\n [attr.aria-disabled]="isDisabled(option)"\r\n (mouseenter)="mouseenter(option)"\r\n (click)="click(option)">{{option.label}}</li>\r\n </ul>\r\n </li>\r\n <li *ngIf="!groupOrOption.options"\r\n [class]="getOptionStyle(groupOrOption)"\r\n role="treeitem"\r\n [attr.aria-selected]="isSelected(groupOrOption)"\r\n [attr.aria-disabled]="isDisabled(groupOrOption)"\r\n (mouseenter)="mouseenter(groupOrOption)"\r\n (click)="click(groupOrOption)">\r\n {{groupOrOption.label}}\r\n </li>\r\n </ng-template>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>',styles:[".select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;width:100%}.select2-container .select2-container-dropdown{position:absolute;width:0}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{width:100%}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default.select2-container--focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray}:host.material{display:inline-block;width:300px}:host.material>.select2-container{padding-bottom:1.29688em;vertical-align:inherit}:host.material>.select2-container .selection{padding:.4375em 0;border-top:.84375em solid transparent;display:inline-flex;align-items:baseline;width:100%;height:auto}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{width:100%;border:0;border-radius:0;height:24px;box-sizing:border-box}:host.material .select2-container--default .select2-selection--multiple::before,:host.material .select2-container--default .select2-selection--single::before{content:' ';display:block;position:absolute;bottom:1.65em;background-color:#ddd;height:1px;width:100%}:host.material .select2-container--default .select2-selection--multiple::after,:host.material .select2-container--default .select2-selection--single::after{content:' ';display:block;position:absolute;bottom:1.63em;background-color:#5a419e;height:2px;width:0%;left:50%;transition:none}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:1px;line-height:inherit}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{display:block;color:rgba(0,0,0,.38);transition:transform .3s;transition:transform .3s,-webkit-transform .3s;position:absolute;-webkit-transform-origin:0 21px;transform-origin:0 21px;left:0;top:20px}:host.material .select2-container--default .select2-container--open{left:0;bottom:1.6em}:host.material .select2-container--default .select2-selection__placeholder__option{-webkit-transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}:host.material .select2-container--default .select2-selection__arrow{top:20px}:host.material .select2-container--default .select2-focused .select2-selection--multiple::after,:host.material .select2-container--default .select2-focused .select2-selection--single::after,:host.material .select2-container--default.select2-container--open .select2-selection--multiple::after,:host.material .select2-container--default.select2-container--open .select2-selection--single::after{transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%;left:0}:host.material .select2-container--default .select2-dropdown{border-radius:0;border:0;box-shadow:0 5px 5px rgba(0,0,0,.5)}:host.material .select2-container--default .select2-results__option--highlighted[aria-selected],:host.material .select2-container--default .select2-results__option[aria-selected=true]{background-color:rgba(0,0,0,.04);color:#000}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple,:host.material .select2-container--default.select2-container--disabled .select2-selection--single{background-color:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple::before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single::before{background-image:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x;background-color:transparent;background-position:0 bottom}:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::before,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::before{background-color:red}:host.material:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.material:not(.select2-container--open) .select2-focused .select2-selection--single{border:0}:host.material .select2-subscript-wrapper{position:absolute;top:calc(100% - 1.72917em);font-size:75%}@supports (-moz-appearance:none){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:26px}}@supports (-ms-scroll-limit:0){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:25px}}"]}]}],e.ctorParameters=function(){return[{type:i.ChangeDetectorRef},{type:n.NgForm,decorators:[{type:i.Optional}]},{type:n.FormGroupDirective,decorators:[{type:i.Optional}]},{type:n.NgControl,decorators:[{type:i.Self},{type:i.Optional}]},{type:String,decorators:[{type:i.Attribute,args:["tabindex"]}]}]},e.propDecorators={data:[{type:i.Input}],minCountForSearch:[{type:i.Input}],placeholder:[{type:i.Input}],customSearchEnabled:[{type:i.Input}],multiple:[{type:i.Input}],material:[{type:i.Input}],editPattern:[{type:i.Input}],update:[{type:i.Output}],open:[{type:i.Output}],search:[{type:i.Output}],selection:[{type:i.ViewChild,args:["selection"]}],results:[{type:i.ViewChild,args:["results"]}],searchInput:[{type:i.ViewChild,args:["searchInput"]}],id:[{type:i.Input},{type:i.HostBinding,args:["id"]}],required:[{type:i.Input}],disabled:[{type:i.Input}],readonly:[{type:i.Input}],value:[{type:i.Input}],tabIndex:[{type:i.Input}],ariaInvalid:[{type:i.HostBinding,args:["attr.aria-invalid"]}],classMaterial:[{type:i.HostBinding,args:["class.material"]}]},e}(),a=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"select2-hint"}]}],e}(),u=function(){function e(){}return e.decorators=[{type:i.Directive,args:[{selector:"select2-label"}]}],e}(),p=function(){function e(){}return e.decorators=[{type:i.NgModule,args:[{imports:[t.CommonModule,n.FormsModule,n.ReactiveFormsModule],declarations:[a,u,l],exports:[n.FormsModule,n.ReactiveFormsModule,a,u,l]}]}],e}();e.Select2=l,e.Select2Hint=a,e.Select2Label=u,e.timeout=200,e.Select2Utils=o,e.Select2Module=p,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=ng-select2-component.umd.min.js.map
# Changelog of ng-select2
## V7.0.0 (2018-12-05)
### Changes
- update to Angular 7
- add Label with `<select2-label>` tag
### Corrections
- ajust CSS
- change the key detection
## V6.0.3 (2018-10-29)

@@ -4,0 +16,0 @@

@@ -9,5 +9,5 @@ /**

Select2Hint.decorators = [
{ type: Directive, args: [{ selector: 'select2-hint' },] },
{ type: Directive, args: [{ selector: 'select2-hint' },] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi1oaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItaGludC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsTUFBTTs7O1lBREwsU0FBUyxTQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnc2VsZWN0Mi1oaW50JyB9KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0MkhpbnQgeyB9XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi1oaW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItaGludC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsTUFBTSxPQUFPLFdBQVc7OztZQUR2QixTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdzZWxlY3QyLWhpbnQnIH0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3QySGludCB7IH1cclxuIl19

@@ -484,2 +484,2 @@ /**

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsTUFBTSxDQUFDLHVCQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFFM0IsdUJBQU0sZUFBZSxHQUErQjtJQUNoRCxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLHdDQUF3QyxFQUFFO0lBQ3ZELEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFO0lBQ3hCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFO0lBQzdCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsa0JBQWtCLEVBQUU7SUFDakMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxtQkFBbUIsRUFBRTtJQUNsQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRTtJQUN4QixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLG9DQUFvQyxFQUFFO0lBQ25ELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsV0FB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TUFBTSxDQUFDLE9BQU8sSUFBSSxtQkFBQyxPQUEwQixFQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQzNHO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssbUJBQUMsT0FBd0IsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDMUY7S0FDSjs7Ozs7O0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUErQyxFQUFFLE1BQXFCO1FBQ3pGLEdBQUcsQ0FBQyxDQUFDLHFCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLG1CQUFDLE9BQTBCLEVBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzRCxFQUFFLENBQUMsQ0FBQyxtQkFBQyxPQUEwQixFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxtQkFBQyxPQUEwQixFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDMUMsTUFBTSxDQUFDO2FBQ1Y7U0FDSjtLQUNKO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlbGVjdDJHcm91cCB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgb3B0aW9uczogU2VsZWN0Mk9wdGlvbltdO1xyXG4gICAgY2xhc3Nlcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3QyT3B0aW9uIHtcclxuICAgIHZhbHVlOiBTZWxlY3QyVmFsdWU7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgY29tcG9uZW50Pzogc3RyaW5nIHwgRnVuY3Rpb247XHJcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTZWxlY3QyVmFsdWUgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0MlVwZGF0ZVZhbHVlID0gU2VsZWN0MlZhbHVlIHwgU2VsZWN0MlZhbHVlW107XHJcblxyXG5leHBvcnQgdHlwZSBTZWxlY3QyRGF0YSA9IChTZWxlY3QyR3JvdXAgfCBTZWxlY3QyT3B0aW9uKVtdO1xyXG5cclxuZXhwb3J0IGNvbnN0IHRpbWVvdXQgPSAyMDA7XHJcblxyXG5jb25zdCB1bmljb2RlUGF0dGVybnM6IHsgbDogc3RyaW5nLCBzOiBSZWdFeHAgfVtdID0gW1xyXG4gICAgeyBsOiAnYScsIHM6IC9b4pOQ772B4bqaw6DDocOi4bqn4bql4bqr4bqpw6PEgcSD4bqx4bqv4bq14bqzyKfHocOkx5/huqPDpce7x47IgciD4bqh4bqt4bq34biBxIXisaXJkF0vZ2kgfSxcclxuICAgIHsgbDogJ2FhJywgczogL+qcsy9naSB9LFxyXG4gICAgeyBsOiAnYWUnLCBzOiAvW8Omx73Ho10vZ2kgfSxcclxuICAgIHsgbDogJ2FvJywgczogL+qctS9naSB9LFxyXG4gICAgeyBsOiAnYXUnLCBzOiAv6py3L2dpIH0sXHJcbiAgICB7IGw6ICdhdicsIHM6IC9b6py56py7XS9naSB9LFxyXG4gICAgeyBsOiAnYXknLCBzOiAv6py9L2dpIH0sXHJcbiAgICB7IGw6ICdiJywgczogL1vik5HvvYLhuIPhuIXhuIfGgMaDyZNdL2dpIH0sXHJcbiAgICB7IGw6ICdjJywgczogL1vik5LvvYPEh8SJxIvEjcOn4biJxojIvOqcv+KGhF0vZ2kgfSxcclxuICAgIHsgbDogJ2QnLCBzOiAvW+KTk++9hOG4i8SP4biN4biR4biT4biPxJHGjMmWyZfqnbpdL2dpIH0sXHJcbiAgICB7IGw6ICdkeicsIHM6IC9bx7PHhl0vZ2kgfSxcclxuICAgIHsgbDogJ2UnLCBzOiAvW+KTlO+9hcOow6nDquG7geG6v+G7heG7g+G6vcST4biV4biXxJXEl8Or4bq7xJvIhciH4bq54buHyKnhuJ3EmeG4meG4m8mHyZvHnV0vZ2kgfSxcclxuICAgIHsgbDogJ2YnLCBzOiAvW+KTle+9huG4n8aS6p28XS9naSB9LFxyXG4gICAgeyBsOiAnZycsIHM6IC9b4pOW772Hx7XEneG4ocSfxKHHp8Sjx6XJoOqeoeG1ueqdv10vZ2kgfSxcclxuICAgIHsgbDogJ2gnLCBzOiAvW+KTl++9iMSl4bij4binyJ/huKXhuKnhuKvhupbEp+KxqOKxtsmlXS9naSB9LFxyXG4gICAgeyBsOiAnaHYnLCBzOiAvxpUvZ2kgfSxcclxuICAgIHsgbDogJ2knLCBzOiAvW+KTmO+9icOsw63DrsSpxKvErcSww6/huK/hu4nHkMiJyIvhu4vEr+G4rcmoxLFdL2dpIH0sXHJcbiAgICB7IGw6ICdqJywgczogL1vik5nvvYrEtcewyYldL2dpIH0sXHJcbiAgICB7IGw6ICdrJywgczogL1vik5rvvYvhuLHHqeG4s8S34bi1xpnisarqnYHqnYPqnYXqnqNdL2dpIH0sXHJcbiAgICB7IGw6ICdsJywgczogL1vik5vvvYzFgMS6xL7huLfhuLnEvOG4veG4u8W/xYLGmsmr4rGh6p2J6p6B6p2H6p2GXS9naSB9LFxyXG4gICAgeyBsOiAnbGonLCBzOiAvx4kvZ2kgfSxcclxuICAgIHsgbDogJ20nLCBzOiAvW+KTnO+9jeG4v+G5geG5g8mxya9dL2dpIH0sXHJcbiAgICB7IGw6ICduJywgczogL1vik53vvY7HucWEw7HhuYXFiOG5h8WG4bmL4bmJxp7JssWJ6p6R6p6lXS9naSB9LFxyXG4gICAgeyBsOiAnbmonLCBzOiAvx4wvZ2kgfSxcclxuICAgIHsgbDogJ28nLCBzOiAvW+KTnu+9j8Oyw7PDtOG7k+G7keG7l+G7lcO14bmNyK3huY/FjeG5keG5k8WPyK/IscO2yKvhu4/FkceSyI3Ij8ah4bud4bub4buh4buf4buj4buN4buZx6vHrcO4x7/JlMaf6p2L6p2NybVdL2dpIH0sXHJcbiAgICB7IGw6ICdvaScsIHM6IC/Goy9naSB9LFxyXG4gICAgeyBsOiAnb2UnLCBzOiAvxZMvZ2kgfSxcclxuICAgIHsgbDogJ29vJywgczogL+qdjy9naSB9LFxyXG4gICAgeyBsOiAnb3UnLCBzOiAvyKMvZ2kgfSxcclxuICAgIHsgbDogJ3AnLCBzOiAvW+KTn++9kOG5leG5l8al4bW96p2R6p2T6p2VXS9naSB9LFxyXG4gICAgeyBsOiAncScsIHM6IC9b4pOg772RyYvqnZfqnZldL2dpIH0sXHJcbiAgICB7IGw6ICdyJywgczogL1vik6HvvZLFleG5mcWZyJHIk+G5m+G5ncWX4bmfyY3Jveqdm+qep+qeg10vZ2kgfSxcclxuICAgIHsgbDogJ3MnLCBzOiAvW+KTou+9k8Of4bqexZvhuaXFneG5ocWh4bmn4bmj4bmpyJnFn8i/6p6p6p6F4bqbXS9naSB9LFxyXG4gICAgeyBsOiAndCcsIHM6IC9b4pOj772U4bmr4bqXxaXhua3Im8Wj4bmx4bmvxafGrcqI4rGm6p6HXS9naSB9LFxyXG4gICAgeyBsOiAndHonLCBzOiAv6pypL2dpIH0sXHJcbiAgICB7IGw6ICd1JywgczogL1vik6TvvZXDucO6w7vFqeG5ucWr4bm7xa3DvMecx5jHlsea4bunxa/FsceUyJXIl8aw4bur4bup4buv4but4bux4bul4bmzxbPhubfhubXKiV0vZ2kgfSxcclxuICAgIHsgbDogJ3YnLCBzOiAvW+KTpe+9luG5veG5v8qL6p2fyoxdL2dpIH0sXHJcbiAgICB7IGw6ICd2eScsIHM6IC/qnaEvZ2kgfSxcclxuICAgIHsgbDogJ3cnLCBzOiAvW+KTpu+9l+G6geG6g8W14bqH4bqF4bqY4bqJ4rGzXS9naSB9LFxyXG4gICAgeyBsOiAneCcsIHM6IC9b4pOn772Y4bqL4bqNXS9naSB9LFxyXG4gICAgeyBsOiAneScsIHM6IC9b4pOo772Z4buzw73Ft+G7uciz4bqPw7/hu7fhupnhu7XGtMmP4bu/XS9naSB9LFxyXG4gICAgeyBsOiAneicsIHM6IC9b4pOp772axbrhupHFvMW+4bqT4bqVxrbIpcmA4rGs6p2jXS9naSB9XHJcbl07XHJcblxyXG5jb25zdCBkZWZhdWx0TWluQ291bnRGb3JTZWFyY2ggPSA2O1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlbGVjdDJVdGlscyB7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0U2Nyb2xsVXBJbmRleChkYXRhOiBTZWxlY3QyRGF0YSwgdmFsdWU6IFNlbGVjdDJWYWx1ZSkge1xyXG4gICAgICAgIGxldCBpbmRleCA9IDA7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGluZGV4Kys7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZUluZGV4ID0gb3B0aW9ucy5maW5kSW5kZXgob3AgPT4gb3AudmFsdWUgPT09IHZhbHVlKTtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZUluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpbmRleCArIHZhbHVlSW5kZXg7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4ICs9IG9wdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpbmRleDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXgrKztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0T3B0aW9uQnlWYWx1ZShkYXRhOiBTZWxlY3QyRGF0YSwgdmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24udmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldE9wdGlvbnNCeVZhbHVlKFxyXG4gICAgICAgIGRhdGE6IFNlbGVjdDJEYXRhLFxyXG4gICAgICAgIHZhbHVlOiBTZWxlY3QyVXBkYXRlVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG4gICAgICAgIG11bHRpcGxlOiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZFxyXG4gICAgKSB7XHJcbiAgICAgICAgaWYgKG11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlczogU2VsZWN0MlZhbHVlW10gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW107XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogU2VsZWN0Mk9wdGlvbltdID0gW107XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgdiBvZiB2YWx1ZXMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IFNlbGVjdDJVdGlscy5nZXRPcHRpb25CeVZhbHVlKGRhdGEsIHYpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG9wdGlvbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFNlbGVjdDJVdGlscy5nZXRPcHRpb25CeVZhbHVlKGRhdGEsIHZhbHVlIGFzIFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRGaXJzdEF2YWlsYWJsZU9wdGlvbihkYXRhOiBTZWxlY3QyRGF0YSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0T3B0aW9uc0NvdW50KGRhdGE6IFNlbGVjdDJEYXRhKSB7XHJcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgY291bnQgKz0gb3B0aW9ucy5sZW5ndGg7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjb3VudDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgdmFsdWVJc05vdEluRmlsdGVyZWREYXRhKGZpbHRlcmVkRGF0YTogU2VsZWN0MkRhdGEsIHZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKFNlbGVjdDJVdGlscy5pc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBmaWx0ZXJlZERhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID09PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29nbml0aXZlLWNvbXBsZXhpdHlcclxuICAgIHN0YXRpYyBnZXRQcmV2aW91c09wdGlvbihmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgbGV0IGZpbmRJdCA9IFNlbGVjdDJVdGlscy5pc051bGxPclVuZGVmaW5lZChob3ZlcmluZ1ZhbHVlKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gZmlsdGVyZWREYXRhLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwT3JPcHRpb24gPSBmaWx0ZXJlZERhdGFbaV07XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gb3B0aW9ucy5sZW5ndGggLSAxOyBqID49IDA7IGotLSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNbal07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmaW5kSXQgPSBvcHRpb24udmFsdWUgPT09IGhvdmVyaW5nVmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZpbmRJdCA/IGhvdmVyaW5nVmFsdWUgOiBudWxsO1xyXG4gICAgfVxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvZ25pdGl2ZS1jb21wbGV4aXR5XHJcbiAgICBzdGF0aWMgZ2V0TmV4dE9wdGlvbihmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgbGV0IGZpbmRJdCA9IFNlbGVjdDJVdGlscy5pc051bGxPclVuZGVmaW5lZChob3ZlcmluZ1ZhbHVlKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZmlsdGVyZWREYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmRJdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSBncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJPcHRpb247XHJcbiAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb24uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmluZEl0ID8gaG92ZXJpbmdWYWx1ZSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgaXNOdWxsT3JVbmRlZmluZWQodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRMYXN0U2Nyb2xsVG9wSW5kZXgoXHJcbiAgICAgICAgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICByZXN1bHRzOiBIVE1MRWxlbWVudCxcclxuICAgICAgICBmaWx0ZXJlZERhdGE6IFNlbGVjdDJEYXRhLFxyXG4gICAgICAgIGxhc3RTY3JvbGxUb3BJbmRleDogbnVtYmVyXHJcbiAgICApIHtcclxuICAgICAgICBpZiAoU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGhvdmVyaW5nVmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMuc2Nyb2xsVG9wID0gMDtcclxuICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gU2VsZWN0MlV0aWxzLmdldFNjcm9sbFVwSW5kZXgoZmlsdGVyZWREYXRhLCBob3ZlcmluZ1ZhbHVlISk7XHJcbiAgICAgICAgICAgIGlmIChzY3JvbGxUb3AgLSBsYXN0U2Nyb2xsVG9wSW5kZXggPiA1KSB7XHJcbiAgICAgICAgICAgICAgICBsYXN0U2Nyb2xsVG9wSW5kZXggKz0gc2Nyb2xsVG9wIC0gbGFzdFNjcm9sbFRvcEluZGV4IC0gNTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSByZXN1bHRzLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpJykuaXRlbShzY3JvbGxUb3ApO1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHRzLnNjcm9sbFRvcCA9IGl0ZW0ub2Zmc2V0VG9wIC0gcmVzdWx0cy5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFNjcm9sbFRvcEluZGV4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChsYXN0U2Nyb2xsVG9wSW5kZXggLSBzY3JvbGxUb3AgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBsYXN0U2Nyb2xsVG9wSW5kZXggLT0gbGFzdFNjcm9sbFRvcEluZGV4IC0gc2Nyb2xsVG9wO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHJlc3VsdHMucXVlcnlTZWxlY3RvckFsbCgnbGknKS5pdGVtKGxhc3RTY3JvbGxUb3BJbmRleCAtIDEpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHRzLnNjcm9sbFRvcCA9IGl0ZW0ub2Zmc2V0VG9wO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxhc3RTY3JvbGxUb3BJbmRleDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgY29udGFpblNlYXJjaFRleHQoXHJcbiAgICAgICAgbGFiZWw6IHN0cmluZyxcclxuICAgICAgICBzZWFyY2hUZXh0OiBzdHJpbmcgfCBudWxsLFxyXG4gICAgICAgIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkXHJcbiAgICApOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gc2VhcmNoVGV4dFxyXG4gICAgICAgICAgICA/IFNlbGVjdDJVdGlsc1xyXG4gICAgICAgICAgICAgICAgLmZvcm1hdFNhbnNVbmljb2RlKGxhYmVsKVxyXG4gICAgICAgICAgICAgICAgLm1hdGNoKG5ldyBSZWdFeHAoU2VsZWN0MlV0aWxzLmZvcm1hdFBhdHRlcm4oc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pLCAnaScpKSAhPT0gbnVsbFxyXG4gICAgICAgICAgICA6IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgcHJvdGVjdFBhdHRlcm4oc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZShuZXcgUmVnRXhwKCdbXFxcXC1cXFxcW1xcXFxdXFxcXC9cXFxce1xcXFx9XFxcXChcXFxcKVxcXFwqXFxcXCtcXFxcP1xcXFwuXFxcXFxcXFxcXFxcXlxcXFwkXFxcXHxdJywgJ2cnKSwgJ1xcXFwkJicpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFNhbnNVbmljb2RlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHVuaWNvZGVQYXR0ZXJuIG9mIHVuaWNvZGVQYXR0ZXJucykge1xyXG4gICAgICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSh1bmljb2RlUGF0dGVybi5zLCB1bmljb2RlUGF0dGVybi5sKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBmb3JtYXRQYXR0ZXJuKHN0cjogc3RyaW5nLCBlZGl0UGF0dGVybjogKChzdHI6IHN0cmluZykgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICAgICAgc3RyID0gU2VsZWN0MlV0aWxzLmZvcm1hdFNhbnNVbmljb2RlKFNlbGVjdDJVdGlscy5wcm90ZWN0UGF0dGVybihzdHIpKTtcclxuXHJcbiAgICAgICAgaWYgKGVkaXRQYXR0ZXJuICYmIHR5cGVvZiBlZGl0UGF0dGVybiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBzdHIgPSBlZGl0UGF0dGVybihzdHIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRGaWx0ZXJlZERhdGEoZGF0YTogU2VsZWN0MkRhdGEsIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsIGVkaXRQYXR0ZXJuPzogKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpOiBTZWxlY3QyRGF0YSB7XHJcbiAgICAgICAgaWYgKHNlYXJjaFRleHQpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuc29tZShncm91cCA9PiBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gb3B0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCA9PiBTZWxlY3QyVXRpbHMuY29udGFpblNlYXJjaFRleHQoZ3JvdXAubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZ3JvdXBPck9wdGlvbi5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGZpbHRlcmVkT3B0aW9uc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cE9yT3B0aW9uLmxhYmVsLCBzZWFyY2hUZXh0LCBlZGl0UGF0dGVybikpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChncm91cE9yT3B0aW9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0T3B0aW9uU3R5bGUodmFsdWU6IFNlbGVjdDJWYWx1ZSwgaG92ZXJpbmdWYWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZVxyXG4gICAgICAgICAgICA/ICdzZWxlY3QyLXJlc3VsdHNfX29wdGlvbiBzZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQnXHJcbiAgICAgICAgICAgIDogJ3NlbGVjdDItcmVzdWx0c19fb3B0aW9uJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0RHJvcGRvd25TdHlsZShpc09wZW46IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gaXNPcGVuXHJcbiAgICAgICAgICAgID8gJ3NlbGVjdDItY29udGFpbmVyIHNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNlbGVjdDItY29udGFpbmVyLWRyb3Bkb3duIHNlbGVjdDItY29udGFpbmVyLS1vcGVuJ1xyXG4gICAgICAgICAgICA6ICdzZWxlY3QyLWNvbnRhaW5lciBzZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCBzZWxlY3QyLWNvbnRhaW5lci1kcm9wZG93bic7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldENvbnRhaW5lclN0eWxlKGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkLCBpc09wZW46IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gYHNlbGVjdDIgc2VsZWN0Mi1jb250YWluZXIgc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgJHtkaXNhYmxlZCA/ICdzZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQnIDogJyd9IGBcclxuICAgICAgICAgICAgKyBgJHtpc09wZW4gPyAnc2VsZWN0Mi1jb250YWluZXItLW9wZW4nIDogJyd9IHNlbGVjdDItY29udGFpbmVyLS1iZWxvdyBzZWxlY3QyLWNvbnRhaW5lci0tZm9jdXNgO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRTZWxlY3Rpb25TdHlsZShtdWx0aXBsZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiBgc2VsZWN0Mi1zZWxlY3Rpb24gc2VsZWN0Mi1zZWxlY3Rpb24tLSR7bXVsdGlwbGUgPyAnbXVsdGlwbGUnIDogJ3NpbmdsZSd9YDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc3RhdGljIGlzU2VhcmNoYm94SGlkZGV4KGRhdGE6IFNlbGVjdDJEYXRhLCBtaW5Db3VudEZvclNlYXJjaD86IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0eXBlb2YgbWluQ291bnRGb3JTZWFyY2ggIT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIG1pbkNvdW50Rm9yU2VhcmNoID0gZGVmYXVsdE1pbkNvdW50Rm9yU2VhcmNoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBvcHRpb25Db3VudCA9IFNlbGVjdDJVdGlscy5nZXRPcHRpb25zQ291bnQoZGF0YSk7XHJcbiAgICAgICAgcmV0dXJuIG9wdGlvbkNvdW50IDwgbWluQ291bnRGb3JTZWFyY2g7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldFNlYXJjaFN0eWxlKGlzSGlkZGVuOiBib29sZWFuKSB7XHJcbiAgICAgICAgcmV0dXJuIGlzSGlkZGVuXHJcbiAgICAgICAgICAgID8gJ3NlbGVjdDItc2VhcmNoIHNlbGVjdDItc2VhcmNoLS1kcm9wZG93biBzZWxlY3QyLXNlYXJjaC0taGlkZSdcclxuICAgICAgICAgICAgOiAnc2VsZWN0Mi1zZWFyY2ggc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaXNTZWxlY3RlZChcclxuICAgICAgICBvcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCxcclxuICAgICAgICBvcHRpb246IFNlbGVjdDJPcHRpb24sXHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zb21lKG9wID0+IG9wLnZhbHVlID09PSBvcHRpb24udmFsdWUpID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucyAmJiBvcHRpb24udmFsdWUgPT09IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb24pLnZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHJlbW92ZVNlbGVjdGlvbihvcHRpb25zOiBTZWxlY3QyT3B0aW9uIHwgU2VsZWN0Mk9wdGlvbltdIHwgbnVsbCwgb3B0aW9uOiBTZWxlY3QyT3B0aW9uKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICgob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pW2ldLnZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdDItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsTUFBTSxDQUFDLHVCQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFFM0IsdUJBQU0sZUFBZSxHQUErQjtJQUNoRCxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLHdDQUF3QyxFQUFFO0lBQ3ZELEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFO0lBQ3hCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFO0lBQzdCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsa0JBQWtCLEVBQUU7SUFDakMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxtQkFBbUIsRUFBRTtJQUNsQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRTtJQUN4QixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLG9DQUFvQyxFQUFFO0lBQ25ELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsV0FB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LE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLE9BQU87YUFDVjtTQUNKO0tBQ0o7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Mkdyb3VwIHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBvcHRpb25zOiBTZWxlY3QyT3B0aW9uW107XHJcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdDJPcHRpb24ge1xyXG4gICAgdmFsdWU6IFNlbGVjdDJWYWx1ZTtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICBjb21wb25lbnQ/OiBzdHJpbmcgfCBGdW5jdGlvbjtcclxuICAgIGNsYXNzZXM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJWYWx1ZSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XHJcblxyXG5leHBvcnQgdHlwZSBTZWxlY3QyVXBkYXRlVmFsdWUgPSBTZWxlY3QyVmFsdWUgfCBTZWxlY3QyVmFsdWVbXTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdDJEYXRhID0gKFNlbGVjdDJHcm91cCB8IFNlbGVjdDJPcHRpb24pW107XHJcblxyXG5leHBvcnQgY29uc3QgdGltZW91dCA9IDIwMDtcclxuXHJcbmNvbnN0IHVuaWNvZGVQYXR0ZXJuczogeyBsOiBzdHJpbmcsIHM6IFJlZ0V4cCB9W10gPSBbXHJcbiAgICB7IGw6ICdhJywgczogL1vik5DvvYHhuprDoMOhw6LhuqfhuqXhuqvhuqnDo8SBxIPhurHhuq/hurXhurPIp8ehw6THn+G6o8Olx7vHjsiByIPhuqHhuq3hurfhuIHEheKxpcmQXS9naSB9LFxyXG4gICAgeyBsOiAnYWEnLCBzOiAv6pyzL2dpIH0sXHJcbiAgICB7IGw6ICdhZScsIHM6IC9bw6bHvcejXS9naSB9LFxyXG4gICAgeyBsOiAnYW8nLCBzOiAv6py1L2dpIH0sXHJcbiAgICB7IGw6ICdhdScsIHM6IC/qnLcvZ2kgfSxcclxuICAgIHsgbDogJ2F2JywgczogL1vqnLnqnLtdL2dpIH0sXHJcbiAgICB7IGw6ICdheScsIHM6IC/qnL0vZ2kgfSxcclxuICAgIHsgbDogJ2InLCBzOiAvW+KTke+9guG4g+G4heG4h8aAxoPJk10vZ2kgfSxcclxuICAgIHsgbDogJ2MnLCBzOiAvW+KTku+9g8SHxInEi8SNw6fhuInGiMi86py/4oaEXS9naSB9LFxyXG4gICAgeyBsOiAnZCcsIHM6IC9b4pOT772E4biLxI/huI3huJHhuJPhuI/EkcaMyZbJl+qdul0vZ2kgfSxcclxuICAgIHsgbDogJ2R6JywgczogL1vHs8eGXS9naSB9LFxyXG4gICAgeyBsOiAnZScsIHM6IC9b4pOU772Fw6jDqcOq4buB4bq/4buF4buD4bq9xJPhuJXhuJfElcSXw6vhurvEm8iFyIfhurnhu4fIqeG4ncSZ4biZ4bibyYfJm8edXS9naSB9LFxyXG4gICAgeyBsOiAnZicsIHM6IC9b4pOV772G4bifxpLqnbxdL2dpIH0sXHJcbiAgICB7IGw6ICdnJywgczogL1vik5bvvYfHtcSd4bihxJ/EocenxKPHpcmg6p6h4bW56p2/XS9naSB9LFxyXG4gICAgeyBsOiAnaCcsIHM6IC9b4pOX772IxKXhuKPhuKfIn+G4peG4qeG4q+G6lsSn4rGo4rG2yaVdL2dpIH0sXHJcbiAgICB7IGw6ICdodicsIHM6IC/GlS9naSB9LFxyXG4gICAgeyBsOiAnaScsIHM6IC9b4pOY772Jw6zDrcOuxKnEq8StxLDDr+G4r+G7iceQyInIi+G7i8Sv4bityajEsV0vZ2kgfSxcclxuICAgIHsgbDogJ2onLCBzOiAvW+KTme+9isS1x7DJiV0vZ2kgfSxcclxuICAgIHsgbDogJ2snLCBzOiAvW+KTmu+9i+G4scep4bizxLfhuLXGmeKxquqdgeqdg+qdheqeo10vZ2kgfSxcclxuICAgIHsgbDogJ2wnLCBzOiAvW+KTm++9jMWAxLrEvuG4t+G4ucS84bi94bi7xb/FgsaayavisaHqnYnqnoHqnYfqnYZdL2dpIH0sXHJcbiAgICB7IGw6ICdsaicsIHM6IC/HiS9naSB9LFxyXG4gICAgeyBsOiAnbScsIHM6IC9b4pOc772N4bi/4bmB4bmDybHJr10vZ2kgfSxcclxuICAgIHsgbDogJ24nLCBzOiAvW+KTne+9jse5xYTDseG5hcWI4bmHxYbhuYvhuYnGnsmyxYnqnpHqnqVdL2dpIH0sXHJcbiAgICB7IGw6ICduaicsIHM6IC/HjC9naSB9LFxyXG4gICAgeyBsOiAnbycsIHM6IC9b4pOe772Pw7LDs8O04buT4buR4buX4buVw7XhuY3IreG5j8WN4bmR4bmTxY/Ir8ixw7bIq+G7j8WRx5LIjciPxqHhu53hu5vhu6Hhu5/hu6Phu43hu5nHq8etw7jHv8mUxp/qnYvqnY3JtV0vZ2kgfSxcclxuICAgIHsgbDogJ29pJywgczogL8ajL2dpIH0sXHJcbiAgICB7IGw6ICdvZScsIHM6IC/Fky9naSB9LFxyXG4gICAgeyBsOiAnb28nLCBzOiAv6p2PL2dpIH0sXHJcbiAgICB7IGw6ICdvdScsIHM6IC/Ioy9naSB9LFxyXG4gICAgeyBsOiAncCcsIHM6IC9b4pOf772Q4bmV4bmXxqXhtb3qnZHqnZPqnZVdL2dpIH0sXHJcbiAgICB7IGw6ICdxJywgczogL1vik6DvvZHJi+qdl+qdmV0vZ2kgfSxcclxuICAgIHsgbDogJ3InLCBzOiAvW+KToe+9ksWV4bmZxZnIkciT4bmb4bmdxZfhuZ/Jjcm96p2b6p6n6p6DXS9naSB9LFxyXG4gICAgeyBsOiAncycsIHM6IC9b4pOi772Tw5/hup7Fm+G5pcWd4bmhxaHhuafhuaPhuanImcWfyL/qnqnqnoXhuptdL2dpIH0sXHJcbiAgICB7IGw6ICd0JywgczogL1vik6PvvZThuavhupfFpeG5rcibxaPhubHhua/Fp8atyojisabqnoddL2dpIH0sXHJcbiAgICB7IGw6ICd0eicsIHM6IC/qnKkvZ2kgfSxcclxuICAgIHsgbDogJ3UnLCBzOiAvW+KTpO+9lcO5w7rDu8Wp4bm5xavhubvFrcO8x5zHmMeWx5rhu6fFr8Wxx5TIlciXxrDhu6vhu6nhu6/hu63hu7Hhu6XhubPFs+G5t+G5tcqJXS9naSB9LFxyXG4gICAgeyBsOiAndicsIHM6IC9b4pOl772W4bm94bm/yovqnZ/KjF0vZ2kgfSxcclxuICAgIHsgbDogJ3Z5JywgczogL+qdoS9naSB9LFxyXG4gICAgeyBsOiAndycsIHM6IC9b4pOm772X4bqB4bqDxbXhuofhuoXhupjhuonisbNdL2dpIH0sXHJcbiAgICB7IGw6ICd4JywgczogL1vik6fvvZjhuovhuo1dL2dpIH0sXHJcbiAgICB7IGw6ICd5JywgczogL1vik6jvvZnhu7PDvcW34bu5yLPhuo/Dv+G7t+G6meG7tca0yY/hu79dL2dpIH0sXHJcbiAgICB7IGw6ICd6JywgczogL1vik6nvvZrFuuG6kcW8xb7hupPhupXGtsilyYDisazqnaNdL2dpIH1cclxuXTtcclxuXHJcbmNvbnN0IGRlZmF1bHRNaW5Db3VudEZvclNlYXJjaCA9IDY7XHJcblxyXG5leHBvcnQgY2xhc3MgU2VsZWN0MlV0aWxzIHtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBnZXRTY3JvbGxVcEluZGV4KGRhdGE6IFNlbGVjdDJEYXRhLCB2YWx1ZTogU2VsZWN0MlZhbHVlKSB7XHJcbiAgICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgICBmb3IgKGNvbnN0IGdyb3VwT3JPcHRpb24gb2YgZGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgaW5kZXgrKztcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlSW5kZXggPSBvcHRpb25zLmZpbmRJbmRleChvcCA9PiBvcC52YWx1ZSA9PT0gdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlSW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4ICsgdmFsdWVJbmRleDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggKz0gb3B0aW9ucy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25CeVZhbHVlKGRhdGE6IFNlbGVjdDJEYXRhLCB2YWx1ZTogU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0T3B0aW9uc0J5VmFsdWUoXHJcbiAgICAgICAgZGF0YTogU2VsZWN0MkRhdGEsXHJcbiAgICAgICAgdmFsdWU6IFNlbGVjdDJVcGRhdGVWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWVzOiBTZWxlY3QyVmFsdWVbXSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBTZWxlY3QyT3B0aW9uW10gPSBbXTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gU2VsZWN0MlV0aWxzLmdldE9wdGlvbkJ5VmFsdWUoZGF0YSwgdik7XHJcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gob3B0aW9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gU2VsZWN0MlV0aWxzLmdldE9wdGlvbkJ5VmFsdWUoZGF0YSwgdmFsdWUgYXMgU2VsZWN0MlZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEZpcnN0QXZhaWxhYmxlT3B0aW9uKGRhdGE6IFNlbGVjdDJEYXRhKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGRhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBnZXRPcHRpb25zQ291bnQoZGF0YTogU2VsZWN0MkRhdGEpIHtcclxuICAgICAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoZ3JvdXBPck9wdGlvbiBhcyBTZWxlY3QyR3JvdXApLm9wdGlvbnM7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBjb3VudCArPSBvcHRpb25zLmxlbmd0aDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvdW50Kys7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvdW50O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB2YWx1ZUlzTm90SW5GaWx0ZXJlZERhdGEoZmlsdGVyZWREYXRhOiBTZWxlY3QyRGF0YSwgdmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAoU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChjb25zdCBncm91cE9yT3B0aW9uIG9mIGZpbHRlcmVkRGF0YSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb24udmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb2duaXRpdmUtY29tcGxleGl0eVxyXG4gICAgc3RhdGljIGdldFByZXZpb3VzT3B0aW9uKGZpbHRlcmVkRGF0YTogU2VsZWN0MkRhdGEsIGhvdmVyaW5nVmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBsZXQgZmluZEl0ID0gU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGhvdmVyaW5nVmFsdWUpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBmaWx0ZXJlZERhdGEubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICAgICAgY29uc3QgZ3JvdXBPck9wdGlvbiA9IGZpbHRlcmVkRGF0YVtpXTtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSBvcHRpb25zLmxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc1tqXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZpbmRJdCA9IG9wdGlvbi52YWx1ZSA9PT0gaG92ZXJpbmdWYWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmluZEl0ID8gaG92ZXJpbmdWYWx1ZSA6IG51bGw7XHJcbiAgICB9XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29nbml0aXZlLWNvbXBsZXhpdHlcclxuICAgIHN0YXRpYyBnZXROZXh0T3B0aW9uKGZpbHRlcmVkRGF0YTogU2VsZWN0MkRhdGEsIGhvdmVyaW5nVmFsdWU6IFNlbGVjdDJWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBsZXQgZmluZEl0ID0gU2VsZWN0MlV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGhvdmVyaW5nVmFsdWUpO1xyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBmaWx0ZXJlZERhdGEpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChncm91cE9yT3B0aW9uIGFzIFNlbGVjdDJHcm91cCkub3B0aW9ucztcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZmluZEl0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mk9wdGlvbjtcclxuICAgICAgICAgICAgICAgIGlmIChmaW5kSXQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmluZEl0ID0gb3B0aW9uLnZhbHVlID09PSBob3ZlcmluZ1ZhbHVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmaW5kSXQgPyBob3ZlcmluZ1ZhbHVlIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBpc051bGxPclVuZGVmaW5lZCh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldExhc3RTY3JvbGxUb3BJbmRleChcclxuICAgICAgICBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG4gICAgICAgIHJlc3VsdHM6IEhUTUxFbGVtZW50LFxyXG4gICAgICAgIGZpbHRlcmVkRGF0YTogU2VsZWN0MkRhdGEsXHJcbiAgICAgICAgbGFzdFNjcm9sbFRvcEluZGV4OiBudW1iZXJcclxuICAgICkge1xyXG4gICAgICAgIGlmIChTZWxlY3QyVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoaG92ZXJpbmdWYWx1ZSkpIHtcclxuICAgICAgICAgICAgcmVzdWx0cy5zY3JvbGxUb3AgPSAwO1xyXG4gICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSBTZWxlY3QyVXRpbHMuZ2V0U2Nyb2xsVXBJbmRleChmaWx0ZXJlZERhdGEsIGhvdmVyaW5nVmFsdWUhKTtcclxuICAgICAgICAgICAgaWYgKHNjcm9sbFRvcCAtIGxhc3RTY3JvbGxUb3BJbmRleCA+IDUpIHtcclxuICAgICAgICAgICAgICAgIGxhc3RTY3JvbGxUb3BJbmRleCArPSBzY3JvbGxUb3AgLSBsYXN0U2Nyb2xsVG9wSW5kZXggLSA1O1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHJlc3VsdHMucXVlcnlTZWxlY3RvckFsbCgnbGknKS5pdGVtKHNjcm9sbFRvcCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdHMuc2Nyb2xsVG9wID0gaXRlbS5vZmZzZXRUb3AgLSByZXN1bHRzLm9mZnNldEhlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBsYXN0U2Nyb2xsVG9wSW5kZXg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGxhc3RTY3JvbGxUb3BJbmRleCAtIHNjcm9sbFRvcCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGxhc3RTY3JvbGxUb3BJbmRleCAtPSBsYXN0U2Nyb2xsVG9wSW5kZXggLSBzY3JvbGxUb3A7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gcmVzdWx0cy5xdWVyeVNlbGVjdG9yQWxsKCdsaScpLml0ZW0obGFzdFNjcm9sbFRvcEluZGV4IC0gMSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdHMuc2Nyb2xsVG9wID0gaXRlbS5vZmZzZXRUb3A7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbGFzdFNjcm9sbFRvcEluZGV4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBjb250YWluU2VhcmNoVGV4dChcclxuICAgICAgICBsYWJlbDogc3RyaW5nLFxyXG4gICAgICAgIHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwsXHJcbiAgICAgICAgZWRpdFBhdHRlcm46ICgoc3RyOiBzdHJpbmcpID0+IHN0cmluZykgfCB1bmRlZmluZWRcclxuICAgICk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBzZWFyY2hUZXh0XHJcbiAgICAgICAgICAgID8gU2VsZWN0MlV0aWxzXHJcbiAgICAgICAgICAgICAgICAuZm9ybWF0U2Fuc1VuaWNvZGUobGFiZWwpXHJcbiAgICAgICAgICAgICAgICAubWF0Y2gobmV3IFJlZ0V4cChTZWxlY3QyVXRpbHMuZm9ybWF0UGF0dGVybihzZWFyY2hUZXh0LCBlZGl0UGF0dGVybiksICdpJykpICE9PSBudWxsXHJcbiAgICAgICAgICAgIDogdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBwcm90ZWN0UGF0dGVybihzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoJ1tcXFxcLVxcXFxbXFxcXF1cXFxcL1xcXFx7XFxcXH1cXFxcKFxcXFwpXFxcXCpcXFxcK1xcXFw/XFxcXC5cXFxcXFxcXFxcXFxeXFxcXCRcXFxcfF0nLCAnZycpLCAnXFxcXCQmJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9ybWF0U2Fuc1VuaWNvZGUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGZvciAoY29uc3QgdW5pY29kZVBhdHRlcm4gb2YgdW5pY29kZVBhdHRlcm5zKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKHVuaWNvZGVQYXR0ZXJuLnMsIHVuaWNvZGVQYXR0ZXJuLmwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGZvcm1hdFBhdHRlcm4oc3RyOiBzdHJpbmcsIGVkaXRQYXR0ZXJuOiAoKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgICAgICBzdHIgPSBTZWxlY3QyVXRpbHMuZm9ybWF0U2Fuc1VuaWNvZGUoU2VsZWN0MlV0aWxzLnByb3RlY3RQYXR0ZXJuKHN0cikpO1xyXG5cclxuICAgICAgICBpZiAoZWRpdFBhdHRlcm4gJiYgdHlwZW9mIGVkaXRQYXR0ZXJuID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHN0ciA9IGVkaXRQYXR0ZXJuKHN0cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzdHI7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEZpbHRlcmVkRGF0YShkYXRhOiBTZWxlY3QyRGF0YSwgc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbCwgZWRpdFBhdHRlcm4/OiAoc3RyOiBzdHJpbmcpID0+IHN0cmluZyk6IFNlbGVjdDJEYXRhIHtcclxuICAgICAgICBpZiAoc2VhcmNoVGV4dCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFNlbGVjdDJEYXRhID0gW107XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZ3JvdXBPck9wdGlvbiBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gKGdyb3VwT3JPcHRpb24gYXMgU2VsZWN0Mkdyb3VwKS5vcHRpb25zO1xyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zb21lKGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwID0+IFNlbGVjdDJVdGlscy5jb250YWluU2VhcmNoVGV4dChncm91cC5sYWJlbCwgc2VhcmNoVGV4dCwgZWRpdFBhdHRlcm4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBncm91cE9yT3B0aW9uLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogZmlsdGVyZWRPcHRpb25zXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoU2VsZWN0MlV0aWxzLmNvbnRhaW5TZWFyY2hUZXh0KGdyb3VwT3JPcHRpb24ubGFiZWwsIHNlYXJjaFRleHQsIGVkaXRQYXR0ZXJuKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGdyb3VwT3JPcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRPcHRpb25TdHlsZSh2YWx1ZTogU2VsZWN0MlZhbHVlLCBob3ZlcmluZ1ZhbHVlOiBTZWxlY3QyVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBob3ZlcmluZ1ZhbHVlXHJcbiAgICAgICAgICAgID8gJ3NlbGVjdDItcmVzdWx0c19fb3B0aW9uIHNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZCdcclxuICAgICAgICAgICAgOiAnc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24nO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXREcm9wZG93blN0eWxlKGlzT3BlbjogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiBpc09wZW5cclxuICAgICAgICAgICAgPyAnc2VsZWN0Mi1jb250YWluZXIgc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgc2VsZWN0Mi1jb250YWluZXItZHJvcGRvd24gc2VsZWN0Mi1jb250YWluZXItLW9wZW4nXHJcbiAgICAgICAgICAgIDogJ3NlbGVjdDItY29udGFpbmVyIHNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNlbGVjdDItY29udGFpbmVyLWRyb3Bkb3duJztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Q29udGFpbmVyU3R5bGUoZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQsIGlzT3BlbjogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiBgc2VsZWN0MiBzZWxlY3QyLWNvbnRhaW5lciBzZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAke2Rpc2FibGVkID8gJ3NlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCcgOiAnJ30gYFxyXG4gICAgICAgICAgICArIGAke2lzT3BlbiA/ICdzZWxlY3QyLWNvbnRhaW5lci0tb3BlbicgOiAnJ30gc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHNlbGVjdDItY29udGFpbmVyLS1mb2N1c2A7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldFNlbGVjdGlvblN0eWxlKG11bHRpcGxlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGBzZWxlY3QyLXNlbGVjdGlvbiBzZWxlY3QyLXNlbGVjdGlvbi0tJHttdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJ31gO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgaXNTZWFyY2hib3hIaWRkZXgoZGF0YTogU2VsZWN0MkRhdGEsIG1pbkNvdW50Rm9yU2VhcmNoPzogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBtaW5Db3VudEZvclNlYXJjaCAhPT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgbWluQ291bnRGb3JTZWFyY2ggPSBkZWZhdWx0TWluQ291bnRGb3JTZWFyY2g7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG9wdGlvbkNvdW50ID0gU2VsZWN0MlV0aWxzLmdldE9wdGlvbnNDb3VudChkYXRhKTtcclxuICAgICAgICByZXR1cm4gb3B0aW9uQ291bnQgPCBtaW5Db3VudEZvclNlYXJjaDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0U2VhcmNoU3R5bGUoaXNIaWRkZW46IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gaXNIaWRkZW5cclxuICAgICAgICAgICAgPyAnc2VsZWN0Mi1zZWFyY2ggc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHNlbGVjdDItc2VhcmNoLS1oaWRlJ1xyXG4gICAgICAgICAgICA6ICdzZWxlY3QyLXNlYXJjaCBzZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24nO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc1NlbGVjdGVkKFxyXG4gICAgICAgIG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLFxyXG4gICAgICAgIG9wdGlvbjogU2VsZWN0Mk9wdGlvbixcclxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9ucyAmJiAob3B0aW9ucyBhcyBTZWxlY3QyT3B0aW9uW10pLnNvbWUob3AgPT4gb3AudmFsdWUgPT09IG9wdGlvbi52YWx1ZSkgPyAndHJ1ZScgOiAnZmFsc2UnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zICYmIG9wdGlvbi52YWx1ZSA9PT0gKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbikudmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgcmVtb3ZlU2VsZWN0aW9uKG9wdGlvbnM6IFNlbGVjdDJPcHRpb24gfCBTZWxlY3QyT3B0aW9uW10gfCBudWxsLCBvcHRpb246IFNlbGVjdDJPcHRpb24pIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKChvcHRpb25zIGFzIFNlbGVjdDJPcHRpb25bXSlbaV0udmFsdWUgPT09IG9wdGlvbi52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgKG9wdGlvbnMgYXMgU2VsZWN0Mk9wdGlvbltdKS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19

@@ -10,2 +10,3 @@ /**

import { Select2Hint } from './select2-hint.component';
import { Select2Label } from './select2-label.component';
export class Select2Module {

@@ -22,2 +23,3 @@ }

Select2Hint,
Select2Label,
Select2

@@ -29,7 +31,8 @@ ],

Select2Hint,
Select2Label,
Select2
]
},] },
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1zZWxlY3QyLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZWxlY3QyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFtQnZELE1BQU07OztZQWpCTCxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7aUJBQ3BCO2dCQUNELFlBQVksRUFBRTtvQkFDWixXQUFXO29CQUNYLE9BQU87aUJBQ1I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixXQUFXO29CQUNYLE9BQU87aUJBQ1I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWxlY3QyIH0gZnJvbSAnLi9zZWxlY3QyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdDJIaW50IH0gZnJvbSAnLi9zZWxlY3QyLWhpbnQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNlbGVjdDJIaW50LFxyXG4gICAgU2VsZWN0MlxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgU2VsZWN0MkhpbnQsXHJcbiAgICBTZWxlY3QyXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0Mk1vZHVsZSB7IH1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1zZWxlY3QyLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZWxlY3QyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBcUJ6RCxNQUFNLE9BQU8sYUFBYTs7O1lBbkJ6QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7aUJBQ3BCO2dCQUNELFlBQVksRUFBRTtvQkFDWixXQUFXO29CQUNYLFlBQVk7b0JBQ1osT0FBTztpQkFDUjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFdBQVc7b0JBQ1gsWUFBWTtvQkFDWixPQUFPO2lCQUNSO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2VsZWN0MiB9IGZyb20gJy4vc2VsZWN0Mi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3QySGludCB9IGZyb20gJy4vc2VsZWN0Mi1oaW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdDJMYWJlbCB9IGZyb20gJy4vc2VsZWN0Mi1sYWJlbC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2VsZWN0MkhpbnQsXHJcbiAgICBTZWxlY3QyTGFiZWwsXHJcbiAgICBTZWxlY3QyXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBTZWxlY3QySGludCxcclxuICAgIFNlbGVjdDJMYWJlbCxcclxuICAgIFNlbGVjdDJcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3QyTW9kdWxlIHsgfVxyXG4iXX0=

@@ -8,4 +8,4 @@ /**

*/
export { Select2, Select2Hint, timeout, Select2Utils, Select2Module } from './public_api';
export { Select2, Select2Hint, Select2Label, timeout, Select2Utils, Select2Module } from './public_api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0Mi1jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1zZWxlY3QyLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbIm5nLXNlbGVjdDItY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwyRUFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0Mi1jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1zZWxlY3QyLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbIm5nLXNlbGVjdDItY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSx5RkFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=

@@ -10,5 +10,6 @@ /**

export { Select2Hint } from './lib/select2-hint.component';
export { Select2Label } from './lib/select2-label.component';
export { timeout, Select2Utils } from './lib/select2-utils';
export { Select2Module } from './lib/select2.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsd0JBQWMseUJBQXlCLENBQUM7QUFDeEMsNEJBQWMsOEJBQThCLENBQUM7QUFDN0Msc0NBQWMscUJBQXFCLENBQUM7QUFDcEMsOEJBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmctc2VsZWN0Mi1jb21wb25lbnRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdDItaGludC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QyLXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0Mi5tb2R1bGUnO1xyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsd0JBQWMseUJBQXlCLENBQUM7QUFDeEMsNEJBQWMsOEJBQThCLENBQUM7QUFDN0MsNkJBQWMsK0JBQStCLENBQUM7QUFDOUMsc0NBQWMscUJBQXFCLENBQUM7QUFDcEMsOEJBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmctc2VsZWN0Mi1jb21wb25lbnRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdDItaGludC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QyLWxhYmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdDItdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QyLm1vZHVsZSc7XHJcbiJdfQ==

@@ -10,3 +10,3 @@ /**

Select2Hint.decorators = [
{ type: Directive, args: [{ selector: 'select2-hint' },] },
{ type: Directive, args: [{ selector: 'select2-hint' },] }
];

@@ -13,0 +13,0 @@ return Select2Hint;

@@ -10,2 +10,3 @@ /**

import { Select2Hint } from './select2-hint.component';
import { Select2Label } from './select2-label.component';
var Select2Module = /** @class */ (function () {

@@ -23,2 +24,3 @@ function Select2Module() {

Select2Hint,
Select2Label,
Select2

@@ -30,5 +32,6 @@ ],

Select2Hint,
Select2Label,
Select2
]
},] },
},] }
];

@@ -39,2 +42,2 @@ return Select2Module;

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1zZWxlY3QyLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZWxlY3QyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O2dCQUV0RCxRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7cUJBQ3BCO29CQUNELFlBQVksRUFBRTt3QkFDWixXQUFXO3dCQUNYLE9BQU87cUJBQ1I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLE9BQU87cUJBQ1I7aUJBQ0Y7O3dCQXRCRDs7U0F1QmEsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWxlY3QyIH0gZnJvbSAnLi9zZWxlY3QyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdDJIaW50IH0gZnJvbSAnLi9zZWxlY3QyLWhpbnQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNlbGVjdDJIaW50LFxyXG4gICAgU2VsZWN0MlxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgU2VsZWN0MkhpbnQsXHJcbiAgICBTZWxlY3QyXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0Mk1vZHVsZSB7IH1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1zZWxlY3QyLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZWxlY3QyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztnQkFFeEQsUUFBUSxTQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLE9BQU87cUJBQ1I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osT0FBTztxQkFDUjtpQkFDRjs7d0JBekJEOztTQTBCYSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNlbGVjdDIgfSBmcm9tICcuL3NlbGVjdDIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0MkhpbnQgfSBmcm9tICcuL3NlbGVjdDItaGludC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3QyTGFiZWwgfSBmcm9tICcuL3NlbGVjdDItbGFiZWwuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNlbGVjdDJIaW50LFxyXG4gICAgU2VsZWN0MkxhYmVsLFxyXG4gICAgU2VsZWN0MlxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgU2VsZWN0MkhpbnQsXHJcbiAgICBTZWxlY3QyTGFiZWwsXHJcbiAgICBTZWxlY3QyXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0Mk1vZHVsZSB7IH1cclxuIl19

@@ -8,4 +8,4 @@ /**

*/
export { Select2, Select2Hint, timeout, Select2Utils, Select2Module } from './public_api';
export { Select2, Select2Hint, Select2Label, timeout, Select2Utils, Select2Module } from './public_api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0Mi1jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1zZWxlY3QyLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbIm5nLXNlbGVjdDItY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSwyRUFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2VsZWN0Mi1jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1zZWxlY3QyLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbIm5nLXNlbGVjdDItY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSx5RkFBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=

@@ -10,5 +10,6 @@ /**

export { Select2Hint } from './lib/select2-hint.component';
export { Select2Label } from './lib/select2-label.component';
export { timeout, Select2Utils } from './lib/select2-utils';
export { Select2Module } from './lib/select2.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsd0JBQWMseUJBQXlCLENBQUM7QUFDeEMsNEJBQWMsOEJBQThCLENBQUM7QUFDN0Msc0NBQWMscUJBQXFCLENBQUM7QUFDcEMsOEJBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmctc2VsZWN0Mi1jb21wb25lbnRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdDItaGludC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QyLXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0Mi5tb2R1bGUnO1xyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXNlbGVjdDItY29tcG9uZW50LyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsd0JBQWMseUJBQXlCLENBQUM7QUFDeEMsNEJBQWMsOEJBQThCLENBQUM7QUFDN0MsNkJBQWMsK0JBQStCLENBQUM7QUFDOUMsc0NBQWMscUJBQXFCLENBQUM7QUFDcEMsOEJBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmctc2VsZWN0Mi1jb21wb25lbnRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdDItaGludC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QyLWxhYmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdDItdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QyLm1vZHVsZSc7XHJcbiJdfQ==

@@ -18,16 +18,16 @@ export interface Select2Group {

export declare class Select2Utils {
private static getScrollUpIndex(data, value);
private static getScrollUpIndex;
static getOptionByValue(data: Select2Data, value: Select2Value | null | undefined): Select2Option;
static getOptionsByValue(data: Select2Data, value: Select2UpdateValue | null | undefined, multiple: boolean | null | undefined): Select2Option | Select2Option[];
static getFirstAvailableOption(data: Select2Data): Select2Value;
private static getOptionsCount(data);
private static getOptionsCount;
static valueIsNotInFilteredData(filteredData: Select2Data, value: Select2Value | null | undefined): boolean;
static getPreviousOption(filteredData: Select2Data, hoveringValue: Select2Value | null | undefined): Select2Value;
static getNextOption(filteredData: Select2Data, hoveringValue: Select2Value | null | undefined): Select2Value;
private static isNullOrUndefined(value);
private static isNullOrUndefined;
static getLastScrollTopIndex(hoveringValue: Select2Value | null | undefined, results: HTMLElement, filteredData: Select2Data, lastScrollTopIndex: number): number;
private static containSearchText(label, searchText, editPattern);
private static protectPattern(str);
private static formatSansUnicode(str);
private static formatPattern(str, editPattern);
private static containSearchText;
private static protectPattern;
private static formatSansUnicode;
private static formatPattern;
static getFilteredData(data: Select2Data, searchText: string | null, editPattern?: (str: string) => string): Select2Data;

@@ -34,0 +34,0 @@ static getOptionStyle(value: Select2Value, hoveringValue: Select2Value | null | undefined): "select2-results__option select2-results__option--highlighted" | "select2-results__option";

@@ -46,3 +46,3 @@ import { EventEmitter, ElementRef, ChangeDetectorRef, OnInit, OnDestroy, DoCheck, AfterViewInit } from '@angular/core';

searchText: string;
readonly dropdownStyle: string;
readonly dropdownStyle: "select2-container select2-container--default select2-container-dropdown select2-container--open" | "select2-container select2-container--default select2-container-dropdown";
readonly filteredData: Select2Data;

@@ -85,18 +85,18 @@ readonly containerStyle: string;

toggleOpenAndClose(): void;
private clickDetection(e);
private clickExit();
private ifParentContainsClass(element, cssClass);
private ifParentContainsId(element, id);
private getParentElementByClass(element, cssClass);
private getParentElementById(element, id);
private containClasses(element, cssClasses);
private clickDetection;
private clickExit;
private ifParentContainsClass;
private ifParentContainsId;
private getParentElementByClass;
private getParentElementById;
private containClasses;
focusin(): void;
focusout(): void;
private moveUp();
private moveDown();
private selectByEnter();
private moveUp;
private moveDown;
private selectByEnter;
select(option: Select2Option | null): void;
keyDown(e: KeyboardEvent): void;
openKey(e: KeyboardEvent): void;
trackBy(index: number, item: Select2Option): any;
trackBy(_index: number, item: Select2Option): any;
searchUpdate(e: Event): void;

@@ -134,2 +134,5 @@ isSelected(option: Select2Option): "true" | "false";

_isErrorState(): boolean;
private _testKey;
private _getKey;
private _isKey;
/**

@@ -139,7 +142,7 @@ * Sets the selected option based on a value. If no option can be

*/
private _setSelectionByValue(value);
private _setSelectionByValue;
/** Does some manual dirty checking on the native input `value` property. */
private _dirtyCheckNativeValue();
private _coerceBooleanProperty(value);
private focusSearchboxOrResultsElement();
private _dirtyCheckNativeValue;
private _coerceBooleanProperty;
private focusSearchboxOrResultsElement;
}

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"Select2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"select2","template":"<div [class]=\"containerStyle\">\n <div class=\"selection\"\n #selection\n [attr.tabindex]=\"!this.isOpen ? tabIndex : '-1'\"\n (click)=\"toggleOpenAndClose()\"\n (focus)=\"focusin()\"\n (blur)=\"focusout()\"\n (keydown)=\"openKey($event)\"\n [class.select2-focused]=\"focused\">\n <div [class]=\"selectionStyle\"\n role=\"combobox\">\n <span *ngIf=\"!multiple\"\n class=\"select2-selection__rendered\"\n [title]=\"select2Option ? select2Option.label : ''\">\n <span *ngIf=\"!select2Option\">&nbsp;</span>\n <ng-container *ngIf=\"select2Option\">{{select2Option.label}}</ng-container>\n <span [class.select2-selection__placeholder__option]=\"option\"\n class=\"select2-selection__placeholder\">{{placeholder}}</span>\n </span>\n <span *ngIf=\"!multiple\"\n class=\"select2-selection__arrow\"\n role=\"presentation\">\n <b role=\"presentation\"></b>\n </span>\n <ul *ngIf=\"multiple\"\n class=\"select2-selection__rendered\">\n <span [class.select2-selection__placeholder__option]=\"select2Options?.length > 0\"\n class=\"select2-selection__placeholder\">{{placeholder}}</span>\n <li *ngFor=\"let op of option; trackBy: trackBy\"\n class=\"select2-selection__choice\"\n [title]=\"op.label\">\n <span (click)=\"removeSelection($event, op)\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\">×</span>\n {{op.label}}\n </li>\n </ul>\n </div>\n <div class=\"select2-subscript-wrapper\">\n <ng-content select=\"select2-hint\"></ng-content>\n </div>\n </div>\n <div [class]=\"dropdownStyle\">\n <div class=\"select2-dropdown select2-dropdown--below\">\n <div [class]=\"searchStyle\">\n <input #searchInput\n [id]=\"id + '-search-field'\"\n [(value)]=\"searchText\"\n (keydown)=\"keyDown($event)\"\n (keyup)=\"searchUpdate($event)\"\n class=\"select2-search__field\"\n type=\"search\"\n role=\"textbox\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n [attr.tabindex]=\"this.isOpen ? tabIndex : '-1'\">\n </div>\n <div class=\"select2-results\">\n <ul #results\n class=\"select2-results__options\"\n role=\"tree\"\n tabindex=\"-1\"\n (keydown)=\"keyDown($event)\">\n <ng-template ngFor\n [ngForOf]=\"filteredData\"\n let-groupOrOption\n [ngForTrackBy]=\"trackBy\">\n <li *ngIf=\"groupOrOption.options\"\n class=\"select2-results__option\"\n role=\"group\">\n <strong [attr.class]=\"'select2-results__group' + (groupOrOption.classes ? ' ' + groupOrOption.classes : '')\">{{groupOrOption.label}}</strong>\n <ul class=\"select2-results__options select2-results__options--nested\">\n <li *ngFor=\"let option of groupOrOption.options; trackBy:trackBy\"\n [class]=\"getOptionStyle(option)\"\n role=\"treeitem\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isDisabled(option)\"\n (mouseenter)=\"mouseenter(option)\"\n (click)=\"click(option)\">{{option.label}}</li>\n </ul>\n </li>\n <li *ngIf=\"!groupOrOption.options\"\n [class]=\"getOptionStyle(groupOrOption)\"\n role=\"treeitem\"\n [attr.aria-selected]=\"isSelected(groupOrOption)\"\n [attr.aria-disabled]=\"isDisabled(groupOrOption)\"\n (mouseenter)=\"mouseenter(groupOrOption)\"\n (click)=\"click(groupOrOption)\">\n {{groupOrOption.label}}\n </li>\n </ng-template>\n </ul>\n </div>\n </div>\n </div>\n</div>","styles":[".select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;width:100%}.select2-container .select2-container-dropdown{position:absolute}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default.select2-container--focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray}:host.material{display:inline-block;width:300px}:host.material>.select2-container{padding-bottom:1.29688em;vertical-align:inherit}:host.material>.select2-container .selection{padding:.4375em 0;border-top:.84375em solid transparent;display:inline-flex;align-items:baseline;width:100%;height:auto}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{width:100%;border:0;border-radius:0;height:24px;box-sizing:border-box}:host.material .select2-container--default .select2-selection--multiple::before,:host.material .select2-container--default .select2-selection--single::before{content:' ';display:block;position:absolute;bottom:1.65em;background-color:#ddd;height:1px;width:100%}:host.material .select2-container--default .select2-selection--multiple::after,:host.material .select2-container--default .select2-selection--single::after{content:' ';display:block;position:absolute;bottom:1.63em;background-color:#5a419e;height:2px;width:0%;left:50%;transition:none}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:1px;line-height:inherit}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{display:block;color:rgba(0,0,0,.38);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;position:absolute;-webkit-transform-origin:0 21px;transform-origin:0 21px;left:0;top:20px}:host.material .select2-container--default .select2-container--open{left:0;bottom:1.6em}:host.material .select2-container--default .select2-selection__placeholder__option{-webkit-transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}:host.material .select2-container--default .select2-selection__arrow{top:20px}:host.material .select2-container--default .select2-focused .select2-selection--multiple::after,:host.material .select2-container--default .select2-focused .select2-selection--single::after,:host.material .select2-container--default.select2-container--open .select2-selection--multiple::after,:host.material .select2-container--default.select2-container--open .select2-selection--single::after{transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%;left:0}:host.material .select2-container--default .select2-dropdown{border-radius:0;border:0;box-shadow:0 5px 5px rgba(0,0,0,.5)}:host.material .select2-container--default .select2-results__option--highlighted[aria-selected],:host.material .select2-container--default .select2-results__option[aria-selected=true]{background-color:rgba(0,0,0,.04);color:#000}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple,:host.material .select2-container--default.select2-container--disabled .select2-selection--single{background-color:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple::before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single::before{background-image:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x;background-color:transparent;background-position:0 bottom}:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::before,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::before{background-color:red}:host.material:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.material:not(.select2-container--open) .select2-focused .select2-selection--single{border:0}:host.material .select2-subscript-wrapper{position:absolute;top:calc(100% - 1.72917em);font-size:75%}@supports (-moz-appearance:none){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:26px}}@supports (-ms-scroll-limit:0){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:25px}}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":121,"character":3}}]}],"minCountForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":123,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":124,"character":3}}]}],"customSearchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":3}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":126,"character":3}}]}],"material":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":129,"character":3}}]}],"editPattern":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":132,"character":3}}]}],"update":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":134,"character":3}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":135,"character":3}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":136,"character":3}}]}],"selection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":142,"character":3},"arguments":["selection"]}]}],"results":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":143,"character":3},"arguments":["results"]}]}],"searchInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":144,"character":3},"arguments":["searchInput"]}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":221,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":222,"character":3},"arguments":["id"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":227,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":232,"character":3}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":237,"character":3}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":242,"character":3}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":252,"character":3}}]}],"ariaInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":260,"character":3},"arguments":["attr.aria-invalid"]}]}],"classMaterial":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":265,"character":3},"arguments":["class.material"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":285,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":286,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":287,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":287,"character":13}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":288,"character":5},"arguments":["tabindex"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":284,"character":32},{"__symbolic":"reference","module":"@angular/forms","name":"NgForm","line":285,"character":37},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":286,"character":42},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":287,"character":41},{"__symbolic":"reference","name":"string"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getOptionStyle":[{"__symbolic":"method"}],"mouseenter":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"toggleOpenAndClose":[{"__symbolic":"method"}],"clickDetection":[{"__symbolic":"method"}],"clickExit":[{"__symbolic":"method"}],"ifParentContainsClass":[{"__symbolic":"method"}],"ifParentContainsId":[{"__symbolic":"method"}],"getParentElementByClass":[{"__symbolic":"method"}],"getParentElementById":[{"__symbolic":"method"}],"containClasses":[{"__symbolic":"method"}],"focusin":[{"__symbolic":"method"}],"focusout":[{"__symbolic":"method"}],"moveUp":[{"__symbolic":"method"}],"moveDown":[{"__symbolic":"method"}],"selectByEnter":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"keyDown":[{"__symbolic":"method"}],"openKey":[{"__symbolic":"method"}],"trackBy":[{"__symbolic":"method"}],"searchUpdate":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"isDisabled":[{"__symbolic":"method"}],"removeSelection":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"_isErrorState":[{"__symbolic":"method"}],"_setSelectionByValue":[{"__symbolic":"method"}],"_dirtyCheckNativeValue":[{"__symbolic":"method"}],"_coerceBooleanProperty":[{"__symbolic":"method"}],"focusSearchboxOrResultsElement":[{"__symbolic":"method"}]}},"Select2Hint":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"select2-hint"}]}],"members":{}},"Select2Group":{"__symbolic":"interface"},"Select2Option":{"__symbolic":"interface"},"Select2Value":{"__symbolic":"interface"},"Select2UpdateValue":{"__symbolic":"interface"},"Select2Data":{"__symbolic":"interface"},"timeout":200,"Select2Utils":{"__symbolic":"class","members":{},"statics":{"isNullOrUndefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":null},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":{"__symbolic":"reference","name":"undefined"}}}},"containSearchText":{"__symbolic":"function","parameters":["label","searchText","editPattern"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"searchText"},"thenExpression":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Select2Utils"},"member":"formatSansUnicode"},"arguments":[{"__symbolic":"reference","name":"label"}]},"member":"match"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"RegExp"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Select2Utils"},"member":"formatPattern"},"arguments":[{"__symbolic":"reference","name":"searchText"},{"__symbolic":"reference","name":"editPattern"}]},"i"]}]},"right":null},"elseExpression":true}},"protectPattern":{"__symbolic":"function","parameters":["str"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"str"},"member":"replace"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"RegExp"},"arguments":["[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"]},"\\$&"]}},"getOptionStyle":{"__symbolic":"function","parameters":["value","hoveringValue"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":{"__symbolic":"reference","name":"hoveringValue"}},"thenExpression":"select2-results__option select2-results__option--highlighted","elseExpression":"select2-results__option"}},"getDropdownStyle":{"__symbolic":"function","parameters":["isOpen"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isOpen"},"thenExpression":"select2-container select2-container--default select2-container-dropdown select2-container--open","elseExpression":"select2-container select2-container--default select2-container-dropdown"}},"getContainerStyle":{"__symbolic":"function","parameters":["disabled","isOpen"],"value":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":"select2 select2-container select2-container--default ","right":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"disabled"},"thenExpression":"select2-container--disabled","elseExpression":""}},"right":" "},"right":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isOpen"},"thenExpression":"select2-container--open","elseExpression":""},"right":" select2-container--below select2-container--focus"}}},"getSelectionStyle":{"__symbolic":"function","parameters":["multiple"],"value":{"__symbolic":"binop","operator":"+","left":"select2-selection select2-selection--","right":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"multiple"},"thenExpression":"multiple","elseExpression":"single"}}},"getSearchStyle":{"__symbolic":"function","parameters":["isHidden"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isHidden"},"thenExpression":"select2-search select2-search--dropdown select2-search--hide","elseExpression":"select2-search select2-search--dropdown"}}}},"Select2Module":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":9,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":10,"character":4}],"declarations":[{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2"}],"exports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":17,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":18,"character":4},{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2"}]}]}],"members":{}}},"origins":{"Select2":"./lib/select2.component","Select2Hint":"./lib/select2-hint.component","Select2Group":"./lib/select2-utils","Select2Option":"./lib/select2-utils","Select2Value":"./lib/select2-utils","Select2UpdateValue":"./lib/select2-utils","Select2Data":"./lib/select2-utils","timeout":"./lib/select2-utils","Select2Utils":"./lib/select2-utils","Select2Module":"./lib/select2.module"},"importAs":"ng-select2-component"}
{"__symbolic":"module","version":4,"metadata":{"Select2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"select2","template":"<div class=\"select2-lalel\"\r\n (click)=\"toggleOpenAndClose()\">\r\n <ng-content select=\"select2-label\"></ng-content>\r\n</div>\r\n<div [class]=\"containerStyle\">\r\n <div class=\"selection\"\r\n #selection\r\n [attr.tabindex]=\"!this.isOpen ? tabIndex : '-1'\"\r\n (click)=\"toggleOpenAndClose()\"\r\n (focus)=\"focusin()\"\r\n (blur)=\"focusout()\"\r\n (keydown)=\"openKey($event)\"\r\n [class.select2-focused]=\"focused\">\r\n <div [class]=\"selectionStyle\"\r\n role=\"combobox\">\r\n <span *ngIf=\"!multiple\"\r\n class=\"select2-selection__rendered\"\r\n [title]=\"select2Option ? select2Option.label : ''\">\r\n <span *ngIf=\"!select2Option\">&nbsp;</span>\r\n <ng-container *ngIf=\"select2Option\">{{select2Option.label}}</ng-container>\r\n <span [class.select2-selection__placeholder__option]=\"option\"\r\n class=\"select2-selection__placeholder\">{{placeholder}}</span>\r\n </span>\r\n <span *ngIf=\"!multiple\"\r\n class=\"select2-selection__arrow\"\r\n role=\"presentation\">\r\n <b role=\"presentation\"></b>\r\n </span>\r\n <ul *ngIf=\"multiple\"\r\n class=\"select2-selection__rendered\">\r\n <span [class.select2-selection__placeholder__option]=\"select2Options?.length > 0\"\r\n class=\"select2-selection__placeholder\">{{placeholder}}</span>\r\n <li *ngFor=\"let op of option; trackBy: trackBy\"\r\n class=\"select2-selection__choice\"\r\n [title]=\"op.label\">\r\n <span (click)=\"removeSelection($event, op)\"\r\n class=\"select2-selection__choice__remove\"\r\n role=\"presentation\">×</span>\r\n {{op.label}}\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"select2-subscript-wrapper\">\r\n <ng-content select=\"select2-hint\"></ng-content>\r\n </div>\r\n </div>\r\n <div [class]=\"dropdownStyle\">\r\n <div class=\"select2-dropdown select2-dropdown--below\">\r\n <div [class]=\"searchStyle\">\r\n <input #searchInput\r\n [id]=\"id + '-search-field'\"\r\n [(value)]=\"searchText\"\r\n (keydown)=\"keyDown($event)\"\r\n (keyup)=\"searchUpdate($event)\"\r\n class=\"select2-search__field\"\r\n type=\"search\"\r\n role=\"textbox\"\r\n autocomplete=\"off\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"false\"\r\n [attr.tabindex]=\"this.isOpen ? tabIndex : '-1'\">\r\n </div>\r\n <div class=\"select2-results\">\r\n <ul #results\r\n class=\"select2-results__options\"\r\n role=\"tree\"\r\n tabindex=\"-1\"\r\n (keydown)=\"keyDown($event)\">\r\n <ng-template ngFor\r\n [ngForOf]=\"filteredData\"\r\n let-groupOrOption\r\n [ngForTrackBy]=\"trackBy\">\r\n <li *ngIf=\"groupOrOption.options\"\r\n class=\"select2-results__option\"\r\n role=\"group\">\r\n <strong [attr.class]=\"'select2-results__group' + (groupOrOption.classes ? ' ' + groupOrOption.classes : '')\">{{groupOrOption.label}}</strong>\r\n <ul class=\"select2-results__options select2-results__options--nested\">\r\n <li *ngFor=\"let option of groupOrOption.options; trackBy:trackBy\"\r\n [class]=\"getOptionStyle(option)\"\r\n role=\"treeitem\"\r\n [attr.aria-selected]=\"isSelected(option)\"\r\n [attr.aria-disabled]=\"isDisabled(option)\"\r\n (mouseenter)=\"mouseenter(option)\"\r\n (click)=\"click(option)\">{{option.label}}</li>\r\n </ul>\r\n </li>\r\n <li *ngIf=\"!groupOrOption.options\"\r\n [class]=\"getOptionStyle(groupOrOption)\"\r\n role=\"treeitem\"\r\n [attr.aria-selected]=\"isSelected(groupOrOption)\"\r\n [attr.aria-disabled]=\"isDisabled(groupOrOption)\"\r\n (mouseenter)=\"mouseenter(groupOrOption)\"\r\n (click)=\"click(groupOrOption)\">\r\n {{groupOrOption.label}}\r\n </li>\r\n </ng-template>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","styles":[".select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle;width:100%}.select2-container .select2-container-dropdown{position:absolute;width:0}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container.select2-container-dropdown.select2-container--open{width:100%}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__placeholder__option{display:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default.select2-container--focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--multiple,.select2-container--default:not(.select2-container--open) .select2-focused .select2-selection--single{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px;color:gray}:host.material{display:inline-block;width:300px}:host.material>.select2-container{padding-bottom:1.29688em;vertical-align:inherit}:host.material>.select2-container .selection{padding:.4375em 0;border-top:.84375em solid transparent;display:inline-flex;align-items:baseline;width:100%;height:auto}:host.material .select2-container--default .select2-selection--multiple,:host.material .select2-container--default .select2-selection--single{width:100%;border:0;border-radius:0;height:24px;box-sizing:border-box}:host.material .select2-container--default .select2-selection--multiple::before,:host.material .select2-container--default .select2-selection--single::before{content:' ';display:block;position:absolute;bottom:1.65em;background-color:#ddd;height:1px;width:100%}:host.material .select2-container--default .select2-selection--multiple::after,:host.material .select2-container--default .select2-selection--single::after{content:' ';display:block;position:absolute;bottom:1.63em;background-color:#5a419e;height:2px;width:0%;left:50%;transition:none}:host.material .select2-container--default .select2-selection--multiple .select2-selection__rendered,:host.material .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:1px;line-height:inherit}:host.material .select2-container--default .select2-selection--multiple .select2-selection__placeholder,:host.material .select2-container--default .select2-selection--single .select2-selection__placeholder{display:block;color:rgba(0,0,0,.38);transition:transform .3s;transition:transform .3s,-webkit-transform .3s;position:absolute;-webkit-transform-origin:0 21px;transform-origin:0 21px;left:0;top:20px}:host.material .select2-container--default .select2-container--open{left:0;bottom:1.6em}:host.material .select2-container--default .select2-selection__placeholder__option{-webkit-transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.5em) scale(.75) perspective(100px) translateZ(.001px);width:133.33333%}:host.material .select2-container--default .select2-selection__arrow{top:20px}:host.material .select2-container--default .select2-focused .select2-selection--multiple::after,:host.material .select2-container--default .select2-focused .select2-selection--single::after,:host.material .select2-container--default.select2-container--open .select2-selection--multiple::after,:host.material .select2-container--default.select2-container--open .select2-selection--single::after{transition:width .3s cubic-bezier(.12,1,.77,1),left .3s cubic-bezier(.12,1,.77,1);width:100%;left:0}:host.material .select2-container--default .select2-dropdown{border-radius:0;border:0;box-shadow:0 5px 5px rgba(0,0,0,.5)}:host.material .select2-container--default .select2-results__option--highlighted[aria-selected],:host.material .select2-container--default .select2-results__option[aria-selected=true]{background-color:rgba(0,0,0,.04);color:#000}:host.material .select2-container--default .select2-results__option[aria-selected=true]{color:#ff5722}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple,:host.material .select2-container--default.select2-container--disabled .select2-selection--single{background-color:transparent}:host.material .select2-container--default.select2-container--disabled .select2-selection--multiple::before,:host.material .select2-container--default.select2-container--disabled .select2-selection--single::before{background-image:linear-gradient(to right,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 33%,transparent 0);background-size:4px 1px;background-repeat:repeat-x;background-color:transparent;background-position:0 bottom}:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--multiple::before,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::after,:host.material.ng-invalid.ng-touched .select2-container--default .select2-selection--single::before{background-color:red}:host.material:not(.select2-container--open) .select2-focused .select2-selection--multiple,:host.material:not(.select2-container--open) .select2-focused .select2-selection--single{border:0}:host.material .select2-subscript-wrapper{position:absolute;top:calc(100% - 1.72917em);font-size:75%}@supports (-moz-appearance:none){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:26px}}@supports (-ms-scroll-limit:0){select2.material .select2-container--default .select2-selection--multiple,select2.material .select2-container--default .select2-selection--single{height:25px}}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"minCountForSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"customSearchEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"material":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"editPattern":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"update":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":3}}]}],"selection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":45,"character":3},"arguments":["selection"]}]}],"results":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":46,"character":3},"arguments":["results"]}]}],"searchInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":3},"arguments":["searchInput"]}]}],"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":124,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":125,"character":3},"arguments":["id"]}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":3}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":140,"character":3}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":145,"character":3}}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":155,"character":3}}]}],"ariaInvalid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":163,"character":3},"arguments":["attr.aria-invalid"]}]}],"classMaterial":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":168,"character":3},"arguments":["class.material"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":188,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":189,"character":5}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":190,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":190,"character":13}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":191,"character":5},"arguments":["tabindex"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":187,"character":32},{"__symbolic":"reference","module":"@angular/forms","name":"NgForm","line":188,"character":37},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":189,"character":42},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":190,"character":41},{"__symbolic":"reference","name":"string"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getOptionStyle":[{"__symbolic":"method"}],"mouseenter":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"toggleOpenAndClose":[{"__symbolic":"method"}],"clickDetection":[{"__symbolic":"method"}],"clickExit":[{"__symbolic":"method"}],"ifParentContainsClass":[{"__symbolic":"method"}],"ifParentContainsId":[{"__symbolic":"method"}],"getParentElementByClass":[{"__symbolic":"method"}],"getParentElementById":[{"__symbolic":"method"}],"containClasses":[{"__symbolic":"method"}],"focusin":[{"__symbolic":"method"}],"focusout":[{"__symbolic":"method"}],"moveUp":[{"__symbolic":"method"}],"moveDown":[{"__symbolic":"method"}],"selectByEnter":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"keyDown":[{"__symbolic":"method"}],"openKey":[{"__symbolic":"method"}],"trackBy":[{"__symbolic":"method"}],"searchUpdate":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"isDisabled":[{"__symbolic":"method"}],"removeSelection":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"_isErrorState":[{"__symbolic":"method"}],"_testKey":[{"__symbolic":"method"}],"_getKey":[{"__symbolic":"method"}],"_isKey":[{"__symbolic":"method"}],"_setSelectionByValue":[{"__symbolic":"method"}],"_dirtyCheckNativeValue":[{"__symbolic":"method"}],"_coerceBooleanProperty":[{"__symbolic":"method"}],"focusSearchboxOrResultsElement":[{"__symbolic":"method"}]}},"Select2Hint":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"select2-hint"}]}],"members":{}},"Select2Label":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"select2-label"}]}],"members":{}},"Select2Group":{"__symbolic":"interface"},"Select2Option":{"__symbolic":"interface"},"Select2Value":{"__symbolic":"interface"},"Select2UpdateValue":{"__symbolic":"interface"},"Select2Data":{"__symbolic":"interface"},"timeout":200,"Select2Utils":{"__symbolic":"class","members":{},"statics":{"isNullOrUndefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":null},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":{"__symbolic":"reference","name":"undefined"}}}},"containSearchText":{"__symbolic":"function","parameters":["label","searchText","editPattern"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"searchText"},"thenExpression":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Select2Utils"},"member":"formatSansUnicode"},"arguments":[{"__symbolic":"reference","name":"label"}]},"member":"match"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"RegExp"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Select2Utils"},"member":"formatPattern"},"arguments":[{"__symbolic":"reference","name":"searchText"},{"__symbolic":"reference","name":"editPattern"}]},"i"]}]},"right":null},"elseExpression":true}},"protectPattern":{"__symbolic":"function","parameters":["str"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"str"},"member":"replace"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"RegExp"},"arguments":["[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]","g"]},"\\$&"]}},"getOptionStyle":{"__symbolic":"function","parameters":["value","hoveringValue"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"value"},"right":{"__symbolic":"reference","name":"hoveringValue"}},"thenExpression":"select2-results__option select2-results__option--highlighted","elseExpression":"select2-results__option"}},"getDropdownStyle":{"__symbolic":"function","parameters":["isOpen"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isOpen"},"thenExpression":"select2-container select2-container--default select2-container-dropdown select2-container--open","elseExpression":"select2-container select2-container--default select2-container-dropdown"}},"getContainerStyle":{"__symbolic":"function","parameters":["disabled","isOpen"],"value":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":"select2 select2-container select2-container--default ","right":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"disabled"},"thenExpression":"select2-container--disabled","elseExpression":""}},"right":" "},"right":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isOpen"},"thenExpression":"select2-container--open","elseExpression":""},"right":" select2-container--below select2-container--focus"}}},"getSelectionStyle":{"__symbolic":"function","parameters":["multiple"],"value":{"__symbolic":"binop","operator":"+","left":"select2-selection select2-selection--","right":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"multiple"},"thenExpression":"multiple","elseExpression":"single"}}},"getSearchStyle":{"__symbolic":"function","parameters":["isHidden"],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"isHidden"},"thenExpression":"select2-search select2-search--dropdown select2-search--hide","elseExpression":"select2-search select2-search--dropdown"}}}},"Select2Module":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":9,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":11,"character":4}],"declarations":[{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}],"exports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":20,"character":4},{"__symbolic":"reference","name":"Select2Hint"},{"__symbolic":"reference","name":"Select2Label"},{"__symbolic":"reference","name":"Select2"}]}]}],"members":{}}},"origins":{"Select2":"./lib/select2.component","Select2Hint":"./lib/select2-hint.component","Select2Label":"./lib/select2-label.component","Select2Group":"./lib/select2-utils","Select2Option":"./lib/select2-utils","Select2Value":"./lib/select2-utils","Select2UpdateValue":"./lib/select2-utils","Select2Data":"./lib/select2-utils","timeout":"./lib/select2-utils","Select2Utils":"./lib/select2-utils","Select2Module":"./lib/select2.module"},"importAs":"ng-select2-component"}
{
"name": "ng-select2-component",
"version": "6.0.3",
"version": "7.0.0",
"peerDependencies": {
"@angular/common": "^6.0.0-rc.0 || ^6.0.0",
"@angular/core": "^6.0.0-rc.0 || ^6.0.0"
"@angular/common": "^7.0.0-rc.0 || ^7.0.0",
"@angular/core": "^7.0.0-rc.0 || ^7.0.0"
},

@@ -8,0 +8,0 @@ "repository": {

export * from './lib/select2.component';
export * from './lib/select2-hint.component';
export * from './lib/select2-label.component';
export * from './lib/select2-utils';
export * from './lib/select2.module';

@@ -15,3 +15,3 @@ [![npm version](https://badge.fury.io/js/ng-select2-component.svg)](https://badge.fury.io/js/ng-select2-component) [![Downloads](https://img.shields.io/npm/dm/ng-select2-component.svg)](https://www.npmjs.com/package/ng-select2-component) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/Harvest-Dev/ng-select2/master/LICENSE.md)

- Angular 6.0.0 and more
- Angular 7.0.0 and more

@@ -18,0 +18,0 @@ ## Demo

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc