ngx-bootstrap 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/README.md +3 -0
- package/accordion/package.json +1 -1
- package/alert/package.json +1 -1
- package/bundles/ngx-bootstrap.es2015.js +10658 -8629
- package/bundles/ngx-bootstrap.es2015.js.map +1 -1
- package/buttons/package.json +1 -1
- package/carousel/package.json +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js +22 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js +1 -1
- package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
- package/chronos/esm2015/index.js +2 -2
- package/chronos/esm2015/ngx-bootstrap-chronos.js +2 -2
- package/chronos/esm2015/public_api.js +2 -2
- package/chronos/esm5/index.js +2 -2
- package/chronos/esm5/ngx-bootstrap-chronos.js +2 -2
- package/chronos/esm5/public_api.js +2 -2
- package/chronos/fesm2015/ngx-bootstrap-chronos.js +19 -2
- package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/fesm5/ngx-bootstrap-chronos.js +20 -2
- package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
- package/chronos/ngx-bootstrap-chronos.metadata.json +1 -1
- package/chronos/package.json +1 -1
- package/chronos/public_api.d.ts +1 -1
- package/collapse/package.json +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js +2 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.js.map +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js +1 -1
- package/component-loader/bundles/ngx-bootstrap-component-loader.umd.min.js.map +1 -1
- package/component-loader/esm2015/component-loader.class.js +2 -1
- package/component-loader/esm5/component-loader.class.js +2 -1
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js +2 -1
- package/component-loader/fesm2015/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js +2 -1
- package/component-loader/fesm5/ngx-bootstrap-component-loader.js.map +1 -1
- package/component-loader/package.json +1 -1
- package/datepicker/base/bs-datepicker-container.d.ts +1 -0
- package/datepicker/bs-datepicker-inline.component.d.ts +4 -0
- package/datepicker/bs-datepicker.component.d.ts +4 -0
- package/datepicker/bs-datepicker.config.d.ts +4 -0
- package/datepicker/bs-daterangepicker.component.d.ts +4 -0
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +69 -4
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +1 -1
- package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
- package/datepicker/engine/flag-days-calendar.d.ts +1 -0
- package/datepicker/esm2015/base/bs-datepicker-container.js +8 -1
- package/datepicker/esm2015/bs-datepicker-inline.component.js +12 -2
- package/datepicker/esm2015/bs-datepicker.component.js +11 -1
- package/datepicker/esm2015/bs-datepicker.config.js +6 -1
- package/datepicker/esm2015/bs-daterangepicker.component.js +12 -2
- package/datepicker/esm2015/engine/flag-days-calendar.js +6 -3
- package/datepicker/esm2015/reducer/bs-datepicker.actions.js +14 -1
- package/datepicker/esm2015/reducer/bs-datepicker.effects.js +9 -1
- package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +2 -1
- package/datepicker/esm2015/reducer/bs-datepicker.state.js +3 -1
- package/datepicker/esm2015/utils/bs-calendar-utils.js +13 -2
- package/datepicker/esm5/base/bs-datepicker-container.js +12 -1
- package/datepicker/esm5/bs-datepicker-inline.component.js +12 -2
- package/datepicker/esm5/bs-datepicker.component.js +11 -1
- package/datepicker/esm5/bs-datepicker.config.js +6 -1
- package/datepicker/esm5/bs-daterangepicker.component.js +12 -2
- package/datepicker/esm5/engine/flag-days-calendar.js +6 -3
- package/datepicker/esm5/reducer/bs-datepicker.actions.js +18 -1
- package/datepicker/esm5/reducer/bs-datepicker.effects.js +13 -1
- package/datepicker/esm5/reducer/bs-datepicker.reducer.js +2 -1
- package/datepicker/esm5/reducer/bs-datepicker.state.js +3 -1
- package/datepicker/esm5/utils/bs-calendar-utils.js +13 -2
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +59 -5
- package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js +71 -5
- package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
- package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
- package/datepicker/package.json +1 -1
- package/datepicker/reducer/bs-datepicker.actions.d.ts +2 -0
- package/datepicker/reducer/bs-datepicker.effects.d.ts +1 -0
- package/datepicker/reducer/bs-datepicker.state.d.ts +1 -0
- package/datepicker/utils/bs-calendar-utils.d.ts +1 -0
- package/dropdown/package.json +1 -1
- package/locale/package.json +1 -1
- package/mini-ngrx/package.json +1 -1
- package/modal/package.json +1 -1
- package/package.json +2 -2
- package/pagination/package.json +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.js +3 -2
- package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js +1 -1
- package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
- package/popover/esm2015/popover-container.component.js +19 -8
- package/popover/esm5/popover-container.component.js +3 -2
- package/popover/fesm2015/ngx-bootstrap-popover.js +19 -8
- package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
- package/popover/fesm5/ngx-bootstrap-popover.js +3 -2
- package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
- package/popover/ngx-bootstrap-popover.metadata.json +1 -1
- package/popover/package.json +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js +1192 -252
- package/positioning/bundles/ngx-bootstrap-positioning.umd.js.map +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js +1 -1
- package/positioning/bundles/ngx-bootstrap-positioning.umd.min.js.map +1 -1
- package/positioning/esm2015/models/index.js +44 -0
- package/positioning/esm2015/modifiers/arrow.js +54 -0
- package/positioning/esm2015/modifiers/flip.js +65 -0
- package/positioning/esm2015/modifiers/index.js +11 -0
- package/positioning/esm2015/modifiers/initData.js +34 -0
- package/positioning/esm2015/modifiers/preventOverflow.js +70 -0
- package/positioning/esm2015/modifiers/shift.js +29 -0
- package/positioning/esm2015/ng-positioning.js +19 -220
- package/positioning/esm2015/positioning.service.js +44 -4
- package/positioning/esm2015/utils/computeAutoPlacement.js +64 -0
- package/positioning/esm2015/utils/findCommonOffsetParent.js +47 -0
- package/positioning/esm2015/utils/getBordersSize.js +20 -0
- package/positioning/esm2015/utils/getBoundaries.js +66 -0
- package/positioning/esm2015/utils/getBoundingClientRect.js +61 -0
- package/positioning/esm2015/utils/getClientRect.js +13 -0
- package/positioning/esm2015/utils/getFixedPositionOffsetParent.js +26 -0
- package/positioning/esm2015/utils/getOffsetParent.js +37 -0
- package/positioning/esm2015/utils/getOffsetRectRelativeToArbitraryNode.js +62 -0
- package/positioning/esm2015/utils/getOffsets.js +20 -0
- package/positioning/esm2015/utils/getOppositePlacement.js +15 -0
- package/positioning/esm2015/utils/getOppositeVariation.js +20 -0
- package/positioning/esm2015/utils/getOuterSizes.js +21 -0
- package/positioning/esm2015/utils/getParentNode.js +17 -0
- package/positioning/esm2015/utils/getReferenceOffsets.js +21 -0
- package/positioning/esm2015/utils/getRoot.js +17 -0
- package/positioning/esm2015/utils/getScroll.js +22 -0
- package/positioning/esm2015/utils/getScrollParent.js +32 -0
- package/positioning/esm2015/utils/getStyleComputedProperty.js +21 -0
- package/positioning/esm2015/utils/getTargetOffsets.js +38 -0
- package/positioning/esm2015/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +29 -0
- package/positioning/esm2015/utils/getWindowSizes.js +34 -0
- package/positioning/esm2015/utils/includeScroll.js +23 -0
- package/positioning/esm2015/utils/index.js +28 -0
- package/positioning/esm2015/utils/isBrowser.js +7 -0
- package/positioning/esm2015/utils/isFixed.js +22 -0
- package/positioning/esm2015/utils/isIE.js +22 -0
- package/positioning/esm2015/utils/isNumeric.js +14 -0
- package/positioning/esm2015/utils/isOffsetContainer.js +18 -0
- package/positioning/esm2015/utils/setAllStyles.js +55 -0
- package/positioning/esm2015/utils/setStyles.js +28 -0
- package/positioning/esm5/models/index.js +44 -0
- package/positioning/esm5/modifiers/arrow.js +56 -0
- package/positioning/esm5/modifiers/flip.js +66 -0
- package/positioning/esm5/modifiers/index.js +11 -0
- package/positioning/esm5/modifiers/initData.js +34 -0
- package/positioning/esm5/modifiers/preventOverflow.js +73 -0
- package/positioning/esm5/modifiers/shift.js +31 -0
- package/positioning/esm5/ng-positioning.js +24 -247
- package/positioning/esm5/positioning.service.js +49 -5
- package/positioning/esm5/utils/computeAutoPlacement.js +72 -0
- package/positioning/esm5/utils/findCommonOffsetParent.js +47 -0
- package/positioning/esm5/utils/getBordersSize.js +20 -0
- package/positioning/esm5/utils/getBoundaries.js +68 -0
- package/positioning/esm5/utils/getBoundingClientRect.js +61 -0
- package/positioning/esm5/utils/getClientRect.js +14 -0
- package/positioning/esm5/utils/getFixedPositionOffsetParent.js +26 -0
- package/positioning/esm5/utils/getOffsetParent.js +37 -0
- package/positioning/esm5/utils/getOffsetRectRelativeToArbitraryNode.js +63 -0
- package/positioning/esm5/utils/getOffsets.js +20 -0
- package/positioning/esm5/utils/getOppositePlacement.js +15 -0
- package/positioning/esm5/utils/getOppositeVariation.js +20 -0
- package/positioning/esm5/utils/getOuterSizes.js +21 -0
- package/positioning/esm5/utils/getParentNode.js +17 -0
- package/positioning/esm5/utils/getReferenceOffsets.js +22 -0
- package/positioning/esm5/utils/getRoot.js +17 -0
- package/positioning/esm5/utils/getScroll.js +23 -0
- package/positioning/esm5/utils/getScrollParent.js +32 -0
- package/positioning/esm5/utils/getStyleComputedProperty.js +21 -0
- package/positioning/esm5/utils/getTargetOffsets.js +38 -0
- package/positioning/esm5/utils/getViewportOffsetRectRelativeToArtbitraryNode.js +30 -0
- package/positioning/esm5/utils/getWindowSizes.js +34 -0
- package/positioning/esm5/utils/includeScroll.js +24 -0
- package/positioning/esm5/utils/index.js +28 -0
- package/positioning/esm5/utils/isBrowser.js +7 -0
- package/positioning/esm5/utils/isFixed.js +22 -0
- package/positioning/esm5/utils/isIE.js +22 -0
- package/positioning/esm5/utils/isNumeric.js +14 -0
- package/positioning/esm5/utils/isOffsetContainer.js +18 -0
- package/positioning/esm5/utils/setAllStyles.js +55 -0
- package/positioning/esm5/utils/setStyles.js +28 -0
- package/positioning/fesm2015/ngx-bootstrap-positioning.js +1108 -211
- package/positioning/fesm2015/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/fesm5/ngx-bootstrap-positioning.js +1148 -249
- package/positioning/fesm5/ngx-bootstrap-positioning.js.map +1 -1
- package/positioning/models/index.d.ts +27 -0
- package/positioning/modifiers/arrow.d.ts +2 -0
- package/positioning/modifiers/flip.d.ts +2 -0
- package/positioning/modifiers/index.d.ts +5 -0
- package/positioning/modifiers/initData.d.ts +2 -0
- package/positioning/modifiers/preventOverflow.d.ts +2 -0
- package/positioning/modifiers/shift.d.ts +2 -0
- package/positioning/ng-positioning.d.ts +7 -10
- package/positioning/ngx-bootstrap-positioning.metadata.json +1 -1
- package/positioning/package.json +1 -1
- package/positioning/positioning.service.d.ts +7 -1
- package/positioning/utils/computeAutoPlacement.d.ts +2 -0
- package/positioning/utils/findCommonOffsetParent.d.ts +1 -0
- package/positioning/utils/getBordersSize.d.ts +4 -0
- package/positioning/utils/getBoundaries.d.ts +1 -0
- package/positioning/utils/getBoundingClientRect.d.ts +2 -0
- package/positioning/utils/getClientRect.d.ts +5 -0
- package/positioning/utils/getFixedPositionOffsetParent.d.ts +1 -0
- package/positioning/utils/getOffsetParent.d.ts +1 -0
- package/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +2 -0
- package/positioning/utils/getOffsets.d.ts +2 -0
- package/positioning/utils/getOppositePlacement.d.ts +4 -0
- package/positioning/utils/getOppositeVariation.d.ts +4 -0
- package/positioning/utils/getOuterSizes.d.ts +7 -0
- package/positioning/utils/getParentNode.d.ts +4 -0
- package/positioning/utils/getReferenceOffsets.d.ts +2 -0
- package/positioning/utils/getRoot.d.ts +4 -0
- package/positioning/utils/getScroll.d.ts +4 -0
- package/positioning/utils/getScrollParent.d.ts +1 -0
- package/positioning/utils/getStyleComputedProperty.d.ts +4 -0
- package/positioning/utils/getTargetOffsets.d.ts +2 -0
- package/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +2 -0
- package/positioning/utils/getWindowSizes.d.ts +4 -0
- package/positioning/utils/includeScroll.d.ts +2 -0
- package/positioning/utils/index.d.ts +22 -0
- package/positioning/utils/isBrowser.d.ts +1 -0
- package/positioning/utils/isFixed.d.ts +1 -0
- package/positioning/utils/isIE.d.ts +1 -0
- package/positioning/utils/isNumeric.d.ts +4 -0
- package/positioning/utils/isOffsetContainer.d.ts +1 -0
- package/positioning/utils/setAllStyles.d.ts +6 -0
- package/positioning/utils/setStyles.d.ts +5 -0
- package/progressbar/package.json +1 -1
- package/rating/package.json +1 -1
- package/sortable/package.json +1 -1
- package/tabs/package.json +1 -1
- package/timepicker/package.json +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js +3 -2
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js +1 -1
- package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
- package/tooltip/esm2015/tooltip-container.component.js +12 -7
- package/tooltip/esm5/tooltip-container.component.js +3 -2
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js +12 -7
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js +3 -2
- package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
- package/tooltip/ngx-bootstrap-tooltip.metadata.json +1 -1
- package/tooltip/package.json +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +46 -22
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +1 -1
- package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
- package/typeahead/esm2015/typeahead-container.component.js +15 -4
- package/typeahead/esm2015/typeahead.config.js +21 -1
- package/typeahead/esm2015/typeahead.directive.js +37 -21
- package/typeahead/esm5/typeahead-container.component.js +12 -4
- package/typeahead/esm5/typeahead.config.js +21 -1
- package/typeahead/esm5/typeahead.directive.js +37 -21
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +49 -22
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js +46 -22
- package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
- package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
- package/typeahead/package.json +1 -1
- package/typeahead/typeahead-container.component.d.ts +1 -1
- package/typeahead/typeahead.config.d.ts +6 -0
- package/typeahead/typeahead.directive.d.ts +7 -1
- package/utils/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["ng://ngx-bootstrap/typeahead/latin-map.ts","ng://ngx-bootstrap/typeahead/typeahead-options.class.ts","ng://ngx-bootstrap/typeahead/typeahead-match.class.ts","node_modules/tslib/tslib.es6.js","ng://ngx-bootstrap/typeahead/typeahead-utils.ts","ng://ngx-bootstrap/typeahead/typeahead-container.component.ts","ng://ngx-bootstrap/typeahead/typeahead.config.ts","ng://ngx-bootstrap/typeahead/typeahead.directive.ts","ng://ngx-bootstrap/typeahead/typeahead.module.ts"],"names":["latinMap","Á","Ă","Ắ","Ặ","Ằ","Ẳ","Ẵ","Ǎ","Â","Ấ","Ậ","Ầ","Ẩ","Ẫ","Ä","Ǟ","Ȧ","Ǡ","Ạ","Ȁ","À","Ả","Ȃ","Ā","Ą","Å","Ǻ","Ḁ","Ⱥ","Ã","Ꜳ","Æ","Ǽ","Ǣ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ḃ","Ḅ","Ɓ","Ḇ","Ƀ","Ƃ","Ć","Č","Ç","Ḉ","Ĉ","Ċ","Ƈ","Ȼ","Ď","Ḑ","Ḓ","Ḋ","Ḍ","Ɗ","Ḏ","Dz","Dž","Đ","Ƌ","DZ","DŽ","É","Ĕ","Ě","Ȩ","Ḝ","Ê","Ế","Ệ","Ề","Ể","Ễ","Ḙ","Ë","Ė","Ẹ","Ȅ","È","Ẻ","Ȇ","Ē","Ḗ","Ḕ","Ę","Ɇ","Ẽ","Ḛ","Ꝫ","Ḟ","Ƒ","Ǵ","Ğ","Ǧ","Ģ","Ĝ","Ġ","Ɠ","Ḡ","Ǥ","Ḫ","Ȟ","Ḩ","Ĥ","Ⱨ","Ḧ","Ḣ","Ḥ","Ħ","Í","Ĭ","Ǐ","Î","Ï","Ḯ","İ","Ị","Ȉ","Ì","Ỉ","Ȋ","Ī","Į","Ɨ","Ĩ","Ḭ","Ꝺ","Ꝼ","Ᵹ","Ꞃ","Ꞅ","Ꞇ","Ꝭ","Ĵ","Ɉ","Ḱ","Ǩ","Ķ","Ⱪ","Ꝃ","Ḳ","Ƙ","Ḵ","Ꝁ","Ꝅ","Ĺ","Ƚ","Ľ","Ļ","Ḽ","Ḷ","Ḹ","Ⱡ","Ꝉ","Ḻ","Ŀ","Ɫ","Lj","Ł","LJ","Ḿ","Ṁ","Ṃ","Ɱ","Ń","Ň","Ņ","Ṋ","Ṅ","Ṇ","Ǹ","Ɲ","Ṉ","Ƞ","Nj","Ñ","NJ","Ó","Ŏ","Ǒ","Ô","Ố","Ộ","Ồ","Ổ","Ỗ","Ö","Ȫ","Ȯ","Ȱ","Ọ","Ő","Ȍ","Ò","Ỏ","Ơ","Ớ","Ợ","Ờ","Ở","Ỡ","Ȏ","Ꝋ","Ꝍ","Ō","Ṓ","Ṑ","Ɵ","Ǫ","Ǭ","Ø","Ǿ","Õ","Ṍ","Ṏ","Ȭ","Ƣ","Ꝏ","Ɛ","Ɔ","Ȣ","Ṕ","Ṗ","Ꝓ","Ƥ","Ꝕ","Ᵽ","Ꝑ","Ꝙ","Ꝗ","Ŕ","Ř","Ŗ","Ṙ","Ṛ","Ṝ","Ȑ","Ȓ","Ṟ","Ɍ","Ɽ","Ꜿ","Ǝ","Ś","Ṥ","Š","Ṧ","Ş","Ŝ","Ș","Ṡ","Ṣ","Ṩ","Ť","Ţ","Ṱ","Ț","Ⱦ","Ṫ","Ṭ","Ƭ","Ṯ","Ʈ","Ŧ","Ɐ","Ꞁ","Ɯ","Ʌ","Ꜩ","Ú","Ŭ","Ǔ","Û","Ṷ","Ü","Ǘ","Ǚ","Ǜ","Ǖ","Ṳ","Ụ","Ű","Ȕ","Ù","Ủ","Ư","Ứ","Ự","Ừ","Ử","Ữ","Ȗ","Ū","Ṻ","Ų","Ů","Ũ","Ṹ","Ṵ","Ꝟ","Ṿ","Ʋ","Ṽ","Ꝡ","Ẃ","Ŵ","Ẅ","Ẇ","Ẉ","Ẁ","Ⱳ","Ẍ","Ẋ","Ý","Ŷ","Ÿ","Ẏ","Ỵ","Ỳ","Ƴ","Ỷ","Ỿ","Ȳ","Ɏ","Ỹ","Ź","Ž","Ẑ","Ⱬ","Ż","Ẓ","Ȥ","Ẕ","Ƶ","IJ","Œ","ᴀ","ᴁ","ʙ","ᴃ","ᴄ","ᴅ","ᴇ","ꜰ","ɢ","ʛ","ʜ","ɪ","ʁ","ᴊ","ᴋ","ʟ","ᴌ","ᴍ","ɴ","ᴏ","ɶ","ᴐ","ᴕ","ᴘ","ʀ","ᴎ","ᴙ","ꜱ","ᴛ","ⱻ","ᴚ","ᴜ","ᴠ","ᴡ","ʏ","ᴢ","á","ă","ắ","ặ","ằ","ẳ","ẵ","ǎ","â","ấ","ậ","ầ","ẩ","ẫ","ä","ǟ","ȧ","ǡ","ạ","ȁ","à","ả","ȃ","ā","ą","ᶏ","ẚ","å","ǻ","ḁ","ⱥ","ã","ꜳ","æ","ǽ","ǣ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ḃ","ḅ","ɓ","ḇ","ᵬ","ᶀ","ƀ","ƃ","ɵ","ć","č","ç","ḉ","ĉ","ɕ","ċ","ƈ","ȼ","ď","ḑ","ḓ","ȡ","ḋ","ḍ","ɗ","ᶑ","ḏ","ᵭ","ᶁ","đ","ɖ","ƌ","ı","ȷ","ɟ","ʄ","dz","dž","é","ĕ","ě","ȩ","ḝ","ê","ế","ệ","ề","ể","ễ","ḙ","ë","ė","ẹ","ȅ","è","ẻ","ȇ","ē","ḗ","ḕ","ⱸ","ę","ᶒ","ɇ","ẽ","ḛ","ꝫ","ḟ","ƒ","ᵮ","ᶂ","ǵ","ğ","ǧ","ģ","ĝ","ġ","ɠ","ḡ","ᶃ","ǥ","ḫ","ȟ","ḩ","ĥ","ⱨ","ḧ","ḣ","ḥ","ɦ","ẖ","ħ","ƕ","í","ĭ","ǐ","î","ï","ḯ","ị","ȉ","ì","ỉ","ȋ","ī","į","ᶖ","ɨ","ĩ","ḭ","ꝺ","ꝼ","ᵹ","ꞃ","ꞅ","ꞇ","ꝭ","ǰ","ĵ","ʝ","ɉ","ḱ","ǩ","ķ","ⱪ","ꝃ","ḳ","ƙ","ḵ","ᶄ","ꝁ","ꝅ","ĺ","ƚ","ɬ","ľ","ļ","ḽ","ȴ","ḷ","ḹ","ⱡ","ꝉ","ḻ","ŀ","ɫ","ᶅ","ɭ","ł","lj","ſ","ẜ","ẛ","ẝ","ḿ","ṁ","ṃ","ɱ","ᵯ","ᶆ","ń","ň","ņ","ṋ","ȵ","ṅ","ṇ","ǹ","ɲ","ṉ","ƞ","ᵰ","ᶇ","ɳ","ñ","nj","ó","ŏ","ǒ","ô","ố","ộ","ồ","ổ","ỗ","ö","ȫ","ȯ","ȱ","ọ","ő","ȍ","ò","ỏ","ơ","ớ","ợ","ờ","ở","ỡ","ȏ","ꝋ","ꝍ","ⱺ","ō","ṓ","ṑ","ǫ","ǭ","ø","ǿ","õ","ṍ","ṏ","ȭ","ƣ","ꝏ","ɛ","ᶓ","ɔ","ᶗ","ȣ","ṕ","ṗ","ꝓ","ƥ","ᵱ","ᶈ","ꝕ","ᵽ","ꝑ","ꝙ","ʠ","ɋ","ꝗ","ŕ","ř","ŗ","ṙ","ṛ","ṝ","ȑ","ɾ","ᵳ","ȓ","ṟ","ɼ","ᵲ","ᶉ","ɍ","ɽ","ↄ","ꜿ","ɘ","ɿ","ś","ṥ","š","ṧ","ş","ŝ","ș","ṡ","ṣ","ṩ","ʂ","ᵴ","ᶊ","ȿ","ɡ","ᴑ","ᴓ","ᴝ","ť","ţ","ṱ","ț","ȶ","ẗ","ⱦ","ṫ","ṭ","ƭ","ṯ","ᵵ","ƫ","ʈ","ŧ","ᵺ","ɐ","ᴂ","ǝ","ᵷ","ɥ","ʮ","ʯ","ᴉ","ʞ","ꞁ","ɯ","ɰ","ᴔ","ɹ","ɻ","ɺ","ⱹ","ʇ","ʌ","ʍ","ʎ","ꜩ","ú","ŭ","ǔ","û","ṷ","ü","ǘ","ǚ","ǜ","ǖ","ṳ","ụ","ű","ȕ","ù","ủ","ư","ứ","ự","ừ","ử","ữ","ȗ","ū","ṻ","ų","ᶙ","ů","ũ","ṹ","ṵ","ᵫ","ꝸ","ⱴ","ꝟ","ṿ","ʋ","ᶌ","ⱱ","ṽ","ꝡ","ẃ","ŵ","ẅ","ẇ","ẉ","ẁ","ⱳ","ẘ","ẍ","ẋ","ᶍ","ý","ŷ","ÿ","ẏ","ỵ","ỳ","ƴ","ỷ","ỿ","ȳ","ẙ","ɏ","ỹ","ź","ž","ẑ","ʑ","ⱬ","ż","ẓ","ȥ","ẕ","ᵶ","ᶎ","ʐ","ƶ","ɀ","ff","ffi","ffl","fi","fl","ij","œ","st","ₐ","ₑ","ᵢ","ⱼ","ₒ","ᵣ","ᵤ","ᵥ","ₓ","TypeaheadOptions","options","Object","assign","this","TypeaheadMatch","item","value","header","prototype","isHeader","toString","__values","o","m","Symbol","iterator","i","call","next","length","done","latinize","str","replace","a","tokenize","wordRegexDelimiters","phraseRegexDelimiters","token","regexStr","preTokenized","split","RegExp","result","preTokenizedLength","replacePhraseDelimiters","push","getValueFromObject","object","option","endsWith","slice","propertiesArray","propertiesArray_1","tslib_1.__values","propertiesArray_1_1","property","TypeaheadContainerComponent","element","renderer","elem","containerViewTop","ulElement","nativeElement","scrollTop","containerViewBottom","Number","offsetHeight","elemTop","offsetTop","defineProperty","isBs3","_active","_matches","_this","needScrollbar","typeaheadScrollable","typeaheadOptionsInScrollableView","matches","setTimeout","setScrollableMode","nextActiveMatch","parent","optionsListTemplate","undefined","typeaheadItemTemplate","selectActiveMatch","selectMatch","prevActiveMatch","index","indexOf","scrollPrevious","scrollNext","selectActive","isFocused","highlight","match","query","startIdx","tokenLen","itemStr","itemStrHelper","typeaheadLatinize","toLowerCase","queryLen","substring","repeat","focusLost","isActive","e","stopPropagation","preventDefault","changeModel","typeaheadOnSelect","emit","liElements","first","ulStyles","Utils","getStyles","liStyles","ulPaddingBottom","parseFloat","ulPaddingTop","optionHeight","height","guiHeight","setStyle","liElement","toArray","isScrolledIntoView","scrollToBottom","scrollToTop","scrollHeight","Component","args","selector","template","host","class","[class.dropdown-menu]","[style.overflow-y]","[style.height]","[style.visibility]","[class.dropup]","style","ElementRef","Renderer2","ViewChild","ViewChildren","HostListener","type","Injectable","TypeaheadDirective","ngControl","viewContainerRef","config","cis","changeDetection","EventEmitter","_typeahead","createLoader","provide","TypeaheadConfig","useValue","typeaheadHideResultsOnBlur","hideResultsOnBlur","ngOnInit","typeaheadOptionsLimit","typeaheadMinLength","typeaheadWaitMs","typeaheadAsync","isObservable","typeahead","asyncActions","syncActions","onInput","target","textContent","innerText","trim","typeaheadLoading","keyUpEventEmitter","typeaheadNoResults","hide","onChange","event","_container","keyCode","key","onFocus","onBlur","typeaheadOnBlur","active","onKeydown","valueStr","viewToModelUpdate","setValue","markForCheck","show","attach","to","container","position","attachment","dropup","typeaheadRef","placement","animation","_outsideClickListener","listen","contains","onOutsideClick","instance","normalizedQuery","control","typeaheadSingleWords","typeaheadWordDelimiters","typeaheadPhraseDelimiters","focus","isShown","ngOnDestroy","_a","_subscriptions","_b","unsubscribe","dispose","pipe","debounceTime","switchMap","subscribe","finalizeAsyncCall","mergeMap","normalizeQuery","from","filter","testMatch","normalizeOption","optionValue","typeaheadOptionField","test","spaceLength","prepareMatches","hasMatches","limited","typeaheadGroupField","matches_1","map","v","forEach","group","concat","Directive","exportAs","NgControl","ViewContainerRef","ComponentLoaderFactory","ChangeDetectorRef","Input","Output","TypeaheadModule","forRoot","ngModule","providers","PositioningService","NgModule","imports","CommonModule","declarations","exports","entryComponents","escapeRegexp","queryToEscape"],"mappings":"wwBACA,IAAaA,EAAsC,CAC/CC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,MACLC,IAAK,MACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KCvzBTC,EAKE,SAAAA,EAAYC,GACVC,OAAOC,OAAOC,KAAMH,ICRxBI,EAAA,WAQE,SAAAA,EAAYC,EAAWC,EAAsBC,QAAtB,IAAAD,IAAAA,EAAAD,QAAsB,IAAAE,IAAAA,GAAA,GAC3CJ,KAAKE,KAAOA,EACZF,KAAKG,MAAQA,EACbH,KAAKI,OAASA,SAGhBH,EAAAI,UAAAC,SAAA,WACE,OAAON,KAAKI,QAGdH,EAAAI,UAAAE,SAAA,WACE,OAAOP,KAAKG,SAnBhB,GCcA,SAAAK,EA4FyBC,GACrB,IAAIC,EAAsB,mBAAXC,QAAyBF,EAAEE,OAAOC,UAAWC,EAAI,EAChE,OAAIH,EAAUA,EAAEI,KAAKL,GACd,CACHM,KAAM,WAEF,OADIN,GAAKI,GAAKJ,EAAEO,SAAQP,OAAI,GACrB,CAAEN,MAAOM,GAAKA,EAAEI,KAAMI,MAAOR,KC9GhD,SAAAS,EAAyBC,GACvB,OAAKA,EAIEA,EAAIC,QAAQ,qBAAsB,SAAUC,GACjD,OAAOl1B,EAASk1B,IAAMA,IAJf,GAgBX,SAAAC,EAAyBH,EACAI,EACAC,QADA,IAAAD,IAAAA,EAAA,UACA,IAAAC,IAAAA,EAAA,IAUvB,IARA,IAKIC,EALEC,EAAW,OAAOF,EAAqB,QAAQA,EAAqB,UACjEA,EAAqB,SAASD,EAAmB,MACpDI,EAAyBR,EAAIS,MAAM,IAAIC,OAAOH,EAAU,MACxDI,EAAmB,GACnBC,EAA6BJ,EAAaX,OAE1CgB,EAA0B,IAAIH,OAAO,IAAIL,EAAqB,KAAM,KAEjEX,EAAI,EAAGA,EAAIkB,EAAoBlB,GAAK,GAC3CY,EAAQE,EAAad,KACRY,EAAMT,QAAUS,IAAUF,GACrCO,EAAOG,KAAKR,EAAML,QAAQY,EAAyB,KAIvD,OAAOF,EAIT,SAAAI,EAAmCC,EAAaC,GAC9C,IAAKA,GAA4B,iBAAXD,EACpB,OAAOA,EAAO5B,WAGhB,GAAI6B,EAAOC,SAAS,MAGlB,OAAOF,EAFcC,EAAOE,MAAM,EAAGF,EAAOpB,OAAS,MAEvBT,WAGhC,QAGMgC,EAHqBH,EACxBhB,QAAQ,aAAc,OACtBA,QAAQ,MAAO,IAC2BQ,MAAM,SAEnD,IAAuB,IAAAY,EAAAC,EAAAF,GAAeG,EAAAF,EAAAzB,QAAA2B,EAAAzB,KAAAyB,EAAAF,EAAAzB,OAAA,CAAjC,IAAM4B,EAAQD,EAAAvC,MACbwC,KAAYR,IAEdA,EAASA,EAAOQ,yGAGpB,OAAKR,EAEEA,EAAO5B,WAFO,GCjEvB,IAAAqC,EAAA,WAwDE,SAAAA,EAAYC,EAA6BC,GAAA9C,KAAA8C,SAAAA,kBAtB7B,gBAc2B,2BAsMV,SAAUC,GACrC,IAAMC,EAA2BhD,KAAKiD,UAAUC,cAAcC,UACxDC,EAAsBJ,EAAmBK,OAAOrD,KAAKiD,UAAUC,cAAcI,cAC7EC,EAAUR,EAAKS,UAGrB,OAFmBD,EAAUR,EAAKO,cAEXF,GAAoCJ,GAAXO,GAnMhDvD,KAAK6C,QAAUA,SAdjB/C,OAAA2D,eAAIb,EAAAvC,UAAA,QAAK,KAAT,WACE,OAAQqD,EAAAA,yCAgBV5D,OAAA2D,eAAIb,EAAAvC,UAAA,SAAM,KAAV,WACE,OAAOL,KAAK2D,yCAGd7D,OAAA2D,eAAIb,EAAAvC,UAAA,UAAO,KAAX,WACE,OAAOL,KAAK4D,cAGd,SAAYzD,GAAZ,IAAA0D,EAAA7D,KACEA,KAAK4D,SAAWzD,EAChBH,KAAK8D,cAAgB9D,KAAK+D,qBAAuB/D,KAAKgE,iCAAmChE,KAAKiE,QAAQjD,OAClGhB,KAAK+D,qBACPG,WAAW,WACTL,EAAKM,sBAIkB,EAAvBnE,KAAK4D,SAAS5C,SAChBhB,KAAK2D,QAAU3D,KAAK4D,SAAS,GACzB5D,KAAK2D,QAAQrD,YACfN,KAAKoE,oDAKXtE,OAAA2D,eAAIb,EAAAvC,UAAA,sBAAmB,KAAvB,WACE,OAAOL,KAAKqE,OAASrE,KAAKqE,OAAOC,oBAAsBC,2CAGzDzE,OAAA2D,eAAIb,EAAAvC,UAAA,sBAAmB,KAAvB,WACE,QAAOL,KAAKqE,QAASrE,KAAKqE,OAAON,qDAInCjE,OAAA2D,eAAIb,EAAAvC,UAAA,mCAAgC,KAApC,WACE,OAAOL,KAAKqE,OAASrE,KAAKqE,OAAOL,iCAAmC,mCAGtElE,OAAA2D,eAAIb,EAAAvC,UAAA,eAAY,KAAhB,WACE,OAAOL,KAAKqE,OAASrE,KAAKqE,OAAOG,sBAAwBD,2CAG3D3B,EAAAvC,UAAAoE,kBAAA,WACEzE,KAAK0E,YAAY1E,KAAK2D,UAGxBf,EAAAvC,UAAAsE,gBAAA,WACE,IAAMC,EAAQ5E,KAAKiE,QAAQY,QAAQ7E,KAAK2D,SACxC3D,KAAK2D,QAAU3D,KAAKiE,QAClBW,EAAQ,EAAI,EAAI5E,KAAKiE,QAAQjD,OAAS,EAAI4D,EAAQ,GAEhD5E,KAAK2D,QAAQrD,YACfN,KAAK2E,kBAEH3E,KAAK+D,qBACP/D,KAAK8E,eAAeF,IAIxBhC,EAAAvC,UAAA+D,gBAAA,WACE,IAAMQ,EAAQ5E,KAAKiE,QAAQY,QAAQ7E,KAAK2D,SACxC3D,KAAK2D,QAAU3D,KAAKiE,QAClBW,EAAQ,EAAI5E,KAAKiE,QAAQjD,OAAS,EAAI,EAAI4D,EAAQ,GAEhD5E,KAAK2D,QAAQrD,YACfN,KAAKoE,kBAEHpE,KAAK+D,qBACP/D,KAAK+E,WAAWH,IAIpBhC,EAAAvC,UAAA2E,aAAA,SAAa7E,GACXH,KAAKiF,WAAY,EACjBjF,KAAK2D,QAAUxD,GAGjByC,EAAAvC,UAAA6E,UAAA,SAAUC,EAAuBC,GAC/B,IAIIC,EACAC,EALAC,EAAkBJ,EAAMhF,MACxBqF,GAAyBxF,KAAKqE,QAAUrE,KAAKqE,OAAOoB,kBACpDvE,EAASqE,GACTA,GAASG,cAIb,GAAqB,iBAAVN,EAET,IADA,IAAMO,EAAmBP,EAAMpE,OACtBH,EAAI,EAAGA,EAAI8E,EAAU9E,GAAK,EAEjCwE,EAAWG,EAAcX,QAAQO,EAAMvE,IACvCyE,EAAWF,EAAMvE,GAAGG,OACJ,GAAZqE,GAA4B,EAAXC,IACnBC,EACKA,EAAQK,UAAU,EAAGP,GAAS,WAAWE,EAAQK,UAAUP,EAAUA,EAAWC,GAAS,YACzFC,EAAQK,UAAUP,EAAWC,GAClCE,EACKA,EAAcI,UAAU,EAAGP,GAAS,WAAW,IAAIQ,OAAOP,GAAS,YACnEE,EAAcI,UAAUP,EAAWC,SAGnCF,IAETC,EAAWG,EAAcX,QAAQO,GACjCE,EAAWF,EAAMpE,OACD,GAAZqE,GAA4B,EAAXC,IACnBC,EACKA,EAAQK,UAAU,EAAGP,GAAS,WAAWE,EAAQK,UAAUP,EAAUA,EAAWC,GAAS,YACzFC,EAAQK,UAAUP,EAAWC,KAItC,OAAOC,GAKT3C,EAAAvC,UAAAyF,qBACE9F,KAAKiF,WAAY,GAGnBrC,EAAAvC,UAAA0F,SAAA,SAAS5F,GACP,OAAOH,KAAK2D,UAAYxD,GAG1ByC,EAAAvC,UAAAqE,YAAA,SAAYvE,EAAuB6F,GAAnC,IAAAnC,EAAA7D,KAQE,YARiC,IAAAgG,IAAAA,OAAA,GAC7BA,IACFA,EAAEC,kBACFD,EAAEE,kBAEJlG,KAAKqE,OAAO8B,YAAYhG,GACxB+D,WAAW,WAAM,OAAAL,EAAKQ,OAAO+B,kBAAkBC,KAAKlG,IAAQ,IAErD,GAGTyC,EAAAvC,UAAA8D,kBAAA,WAIE,GAHKnE,KAAKiD,YACRjD,KAAKiD,UAAYjD,KAAK6C,SAEpB7C,KAAKsG,WAAWC,MAAO,CACzB,IAAMC,EAAWC,EAAAA,MAAMC,UAAU1G,KAAKiD,UAAUC,eAC1CyD,EAAWF,EAAAA,MAAMC,UAAU1G,KAAKsG,WAAWC,MAAMrD,eACjD0D,EAAkBC,YAAYL,EAAS,kBAAoBA,EAAS,kBAAoB,IAC3FpF,QAAQ,KAAM,KACX0F,EAAeD,YAAYL,EAAS,eAAiBA,EAAS,eAAiB,KAClFpF,QAAQ,KAAM,KACX2F,EAAeF,YAAYF,EAASK,OAASL,EAASK,OAAS,KAClE5F,QAAQ,KAAM,KACX4F,EAAShH,KAAKgE,iCAAmC+C,EACvD/G,KAAKiH,UAAeD,EAASF,EAAeF,EAAe,KAE7D5G,KAAK8C,SAASoE,SAASlH,KAAK6C,QAAQK,cAAe,aAAc,YAGnEN,EAAAvC,UAAAyE,eAAA,SAAeF,GACb,GAAc,IAAVA,GAKJ,GAAI5E,KAAKsG,WAAY,CACnB,IAAMa,EAAYnH,KAAKsG,WAAWc,UAAUxC,EAAQ,GAChDuC,IAAcnH,KAAKqH,mBAAmBF,EAAUjE,iBAClDlD,KAAKiD,UAAUC,cAAcC,UAAYgE,EAAUjE,cAAcM,iBAPnExD,KAAKsH,kBAYT1E,EAAAvC,UAAA0E,WAAA,SAAWH,GACT,GAAIA,EAAQ,EAAI5E,KAAKiE,QAAQjD,OAAS,EACpChB,KAAKuH,mBAIP,GAAIvH,KAAKsG,WAAY,CACnB,IAAMa,EAAYnH,KAAKsG,WAAWc,UAAUxC,EAAQ,GAChDuC,IAAcnH,KAAKqH,mBAAmBF,EAAUjE,iBAClDlD,KAAKiD,UAAUC,cAAcC,UAC3BgE,EAAUjE,cAAcM,UACxBH,OAAOrD,KAAKiD,UAAUC,cAAcI,cACpCD,OAAO8D,EAAUjE,cAAcI,iBAe/BV,EAAAvC,UAAAiH,0BACNtH,KAAKiD,UAAUC,cAAcC,UAAYnD,KAAKiD,UAAUC,cAAcsE,cAGhE5E,EAAAvC,UAAAkH,uBACNvH,KAAKiD,UAAUC,cAAcC,UAAY,uBApP5CsE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,sBAEVC,SAAA,ugEACAC,KAAM,CACJC,QAAO,gBACPC,wBAAyB,QACzBC,qBAAuB,+CACvBC,iBAAkB,6CAClBC,qBAAsB,6CACtBC,iBAAkB,SAClBC,MAAO,mFAzBTC,EAAAA,kBAMAC,EAAAA,gDA0CCC,EAAAA,UAASb,KAAA,CAAC,iCAGVc,EAAAA,aAAYd,KAAA,CAAC,iCAyHbe,EAAAA,aAAYf,KAAA,CAAC,eAAY,CAAAgB,KACzBD,EAAAA,aAAYf,KAAA,CAAC,aA/KhB,qDCMsB,6BAHrBiB,EAAAA,+BCuIC,SAAAC,EAAoBC,EACAhG,EACRiG,EACQhG,EACRiG,EACAC,EACQC,GANAjJ,KAAA6I,UAAAA,EACA7I,KAAA6C,QAAAA,EAEA7C,KAAA8C,SAAAA,EAGA9C,KAAAiJ,gBAAAA,+BA5GkB,2BAkBH,0BAIN,6BAIG,+BAIG,mCAKE,gCAYN,wCAEa,wBAMf,IAAIC,EAAAA,qCAIF,IAAIA,EAAAA,oCAEL,IAAIA,EAAAA,kCAGN,IAAIA,EAAAA,0BASd,qCAiBa,yBAGkB,IAAIA,EAAAA,4BAE/B,kCAImB,GAWvClJ,KAAKmJ,WAAaH,EAAII,aACpBvG,EACAiG,EACAhG,GAECuG,QAAQ,CAAEA,QAASC,EAAiBC,SAAUR,IAEjDjJ,OAAOC,OAAOC,KAAM,CAAEwJ,2BAA4BT,EAAOU,2BAG3Db,EAAAvI,UAAAqJ,SAAA,WACE1J,KAAK2J,sBAAwB3J,KAAK2J,uBAAyB,GAE3D3J,KAAK4J,wBACyB,IAA5B5J,KAAK4J,mBAAgC,EAAI5J,KAAK4J,mBAEhD5J,KAAK6J,gBAAkB7J,KAAK6J,iBAAmB,EAI7C7J,KAAK8J,iBAAmBvF,WACtBwF,EAAAA,aAAa/J,KAAKgK,aAEpBhK,KAAK8J,gBAAiB,GAGpBC,EAAAA,aAAa/J,KAAKgK,aACpBhK,KAAK8J,gBAAiB,GAGpB9J,KAAK8J,eACP9J,KAAKiK,eAELjK,KAAKkK,eAMTtB,EAAAvI,UAAA8J,iBAAQnE,GAKN,IAAM7F,EACJ6F,EAAEoE,OAAOjK,QAAUoE,UACfyB,EAAEoE,OAAOjK,MACT6F,EAAEoE,OAAOC,cAAgB9F,UACzByB,EAAEoE,OAAOC,YACTrE,EAAEoE,OAAOE,UACF,MAATnK,GAAiBA,EAAMoK,OAAOvJ,QAAUhB,KAAK4J,oBAC/C5J,KAAKwK,iBAAiBnE,MAAK,GAC3BrG,KAAKyK,kBAAkBpE,KAAKL,EAAEoE,OAAOjK,SAErCH,KAAKwK,iBAAiBnE,MAAK,GAC3BrG,KAAK0K,mBAAmBrE,MAAK,GAC7BrG,KAAK2K,SAKT/B,EAAAvI,UAAAuK,kBAASC,GACP,GAAI7K,KAAK8K,WAAY,CAGnB,GAAsB,KAAlBD,EAAME,SAAgC,WAAdF,EAAMG,IAGhC,YAFAhL,KAAK2K,OAOP,GAAsB,KAAlBE,EAAME,SAAgC,YAAdF,EAAMG,IAGhC,YAFAhL,KAAK8K,WAAWnG,kBAOlB,GAAsB,KAAlBkG,EAAME,SAAgC,cAAdF,EAAMG,IAGhC,YAFAhL,KAAK8K,WAAW1G,kBAOlB,GAAsB,KAAlByG,EAAME,SAAgC,UAAdF,EAAMG,IAGhC,YAFAhL,KAAK8K,WAAWrG,sBAStBmE,EAAAvI,UAAA4K,mBACkC,IAA5BjL,KAAK4J,qBACP5J,KAAKwK,iBAAiBnE,MAAK,GAC3BrG,KAAKyK,kBAAkBpE,KAAKrG,KAAK6C,QAAQK,cAAc/C,OAAS,MAKpEyI,EAAAvI,UAAA6K,kBACMlL,KAAK8K,aAAe9K,KAAK8K,WAAW7F,WACtCjF,KAAKmL,gBAAgB9E,KAAKrG,KAAK8K,WAAWM,SAK9CxC,EAAAvI,UAAAgL,mBAAUR,GAER,GAAK7K,KAAK8K,WAAV,CAMA,GAAsB,KAAlBD,EAAME,SAAgC,UAAdF,EAAMG,IAQlC,OAAsB,IAAlBH,EAAME,SAA+B,QAAdF,EAAMG,KAC/BH,EAAM3E,sBACNlG,KAAK8K,WAAWrG,0BAFlB,EAPEoG,EAAM3E,mBAeV0C,EAAAvI,UAAA8F,YAAA,SAAYhB,GACV,IAAMmG,EAAmBnG,EAAMhF,MAC/BH,KAAK6I,UAAU0C,kBAAkBD,GAChCtL,KAAK6I,UAAiB,QAAE2C,SAASF,GAClCtL,KAAKiJ,gBAAgBwC,eACrBzL,KAAK2K,QAGP7K,OAAA2D,eAAImF,EAAAvI,UAAA,UAAO,KAAX,WACE,OAAOL,KAAK4D,0CAGdgF,EAAAvI,UAAAqL,KAAA,WAAA,IAAA7H,EAAA7D,KACEA,KAAKmJ,WACFwC,OAAO/I,GAEPgJ,GAAG5L,KAAK6L,WACRC,SAAS,CAACC,YAAe/L,KAAKgM,OAAS,MAAQ,UAAQ,UACvDN,KAAK,CACJO,aAAcjM,KACdkM,UAAWlM,KAAKkM,UAChBC,WAAW,EACXH,OAAQhM,KAAKgM,SAGjBhM,KAAKoM,sBAAwBpM,KAAK8C,SAASuJ,OAAO,WAAY,QAAS,SAACrG,GACtE,OAAgC,IAA5BnC,EAAK+F,oBAA4B/F,EAAKhB,QAAQK,cAAcoJ,SAAStG,EAAEoE,QAClE7F,WAEJV,EAAK2F,4BAA8B3F,EAAKhB,QAAQK,cAAcoJ,SAAStG,EAAEoE,QACrE7F,eAETV,EAAK0I,mBAGPvM,KAAK8K,WAAa9K,KAAKmJ,WAAWqD,SAGlC,IAAMC,IAFNzM,KAAK8K,WAAWzG,OAASrE,MAEKyF,kBAC1BvE,EAASlB,KAAK6I,UAAU6D,QAAQvM,OAChCH,KAAK6I,UAAU6D,QAAQvM,OACxBI,WACAmF,cACH1F,KAAK8K,WAAW1F,MAAQpF,KAAK2M,qBACzBrL,EACAmL,EACAzM,KAAK4M,wBACL5M,KAAK6M,2BAELJ,EACJzM,KAAK8K,WAAW7G,QAAUjE,KAAK4D,SAC/B5D,KAAK6C,QAAQK,cAAc4J,SAG7BlE,EAAAvI,UAAAsK,KAAA,WACM3K,KAAKmJ,WAAW4D,UAClB/M,KAAKmJ,WAAWwB,OAChB3K,KAAKoM,wBACLpM,KAAK8K,WAAa,OAItBlC,EAAAvI,UAAAkM,eAAA,WACMvM,KAAK8K,aAAe9K,KAAK8K,WAAW7F,WACtCjF,KAAK2K,QAIT/B,EAAAvI,UAAA2M,YAAA,eAEE,IAAkB,IAAAC,EAAAxK,EAAAzC,KAAKkN,gBAAcC,EAAAF,EAAAlM,QAAAoM,EAAAlM,KAAAkM,EAAAF,EAAAlM,OAAA,CAAvBoM,EAAAhN,MACRiN,2HAENpN,KAAKmJ,WAAWkE,WAGRzE,EAAAvI,UAAA4J,aAAV,WAAA,IAAApG,EAAA7D,KACEA,KAAKkN,eAAejL,KAClBjC,KAAKyK,kBACF6C,KACCC,EAAAA,aAAavN,KAAK6J,iBAClB2D,EAAAA,UAAU,WAAM,OAAA3J,EAAKmG,aAEtByD,UAAU,SAACxJ,GACVJ,EAAK6J,kBAAkBzJ,OAKrB2E,EAAAvI,UAAA6J,YAAV,WAAA,IAAArG,EAAA7D,KACEA,KAAKkN,eAAejL,KAClBjC,KAAKyK,kBACF6C,KACCC,EAAAA,aAAavN,KAAK6J,iBAClB8D,EAAAA,SAAS,SAACxN,GACR,IAAMsM,EAAkB5I,EAAK+J,eAAezN,GAE5C,OAAO0N,EAAAA,KAAKhK,EAAKmG,WACdsD,KACCQ,EAAAA,OAAO,SAAC1L,GAEN,OACEA,GACAyB,EAAKkK,UAAUlK,EAAKmK,gBAAgB5L,GAASqK,KAGjDrF,EAAAA,cAIPqG,UAAU,SAACxJ,GACVJ,EAAK6J,kBAAkBzJ,OAMrB2E,EAAAvI,UAAA2N,gBAAV,SAA0B5L,GACxB,IAAM6L,EAAsB/L,EAC1BE,EACApC,KAAKkO,sBAMP,OAJyBlO,KAAKyF,kBAC1BvE,EAAS+M,GACTA,GAEoBvI,eAGhBkD,EAAAvI,UAAAuN,eAAV,SAAyBzN,GAGvB,IAAIsM,GAAsCzM,KAAKyF,kBAC3CvE,EAASf,GACTA,GACDI,WACAmF,cASH,OARA+G,EAAkBzM,KAAK2M,qBACnBrL,EACAmL,EACAzM,KAAK4M,wBACL5M,KAAK6M,2BAELJ,GAKI7D,EAAAvI,UAAA0N,UAAV,SAAoB5I,EAAegJ,GACjC,IAAIC,EAEJ,GAAoB,iBAATD,EAWX,OAA8B,GAAvBhJ,EAAMN,QAAQsJ,GAVnBC,EAAcD,EAAKnN,OACnB,IAAK,IAAIH,EAAI,EAAGA,EAAIuN,EAAavN,GAAK,EACpC,GAAqB,EAAjBsN,EAAKtN,GAAGG,QAAcmE,EAAMN,QAAQsJ,EAAKtN,IAAM,EACjD,OAAO,EAIX,OAAO,GAMD+H,EAAAvI,UAAAqN,kBAAV,SAA4BzJ,GAM1B,GALAjE,KAAKqO,eAAepK,GAAW,IAE/BjE,KAAKwK,iBAAiBnE,MAAK,GAC3BrG,KAAK0K,mBAAmBrE,MAAMrG,KAAKsO,cAE9BtO,KAAKsO,aAMV,GAAItO,KAAK8K,WAAY,CAEnB,IAIM2B,IAJiBzM,KAAKyF,kBACxBvE,EAASlB,KAAK6I,UAAU6D,QAAQvM,OAChCH,KAAK6I,UAAU6D,QAAQvM,QAAU,IAECI,WAAWmF,cACjD1F,KAAK8K,WAAW1F,MAAQpF,KAAK2M,qBACzBrL,EACAmL,EACAzM,KAAK4M,wBACL5M,KAAK6M,2BAELJ,EACJzM,KAAK8K,WAAW7G,QAAUjE,KAAK4D,cAE/B5D,KAAK0L,YArBL1L,KAAK2K,QAyBC/B,EAAAvI,UAAAgO,eAAV,SAAyBxO,GAAzB,IAAAgE,EAAA7D,KACQuO,EAA4B1O,EAAQyC,MAAM,EAAGtC,KAAK2J,uBAExD,GAAI3J,KAAKwO,oBAAqB,CAC5B,IAAIC,EAA4B,GAGjBF,EACZG,IAAI,SAACtM,GACJ,OAAAF,EAAmBE,EAAQyB,EAAK2K,uBAEjCV,OAAO,SAACa,EAAW9N,EAAWQ,GAAgB,OAAAA,EAAEwD,QAAQ8J,KAAO9N,IAE3D+N,QAAQ,SAACC,GAEdJ,EAAQxM,KAAK,IAAIhC,EAAe4O,EAAOA,GAAO,IAG9CJ,EAAUA,EAAQK,OAChBP,EACGT,OAEC,SAAC1L,GACC,OAAAF,EAAmBE,EAAQyB,EAAK2K,uBAAyBK,IAE5DH,IAEC,SAACtM,GACC,OAAA,IAAInC,EACFmC,EACAF,EAAmBE,EAAQyB,EAAKqK,4BAM5ClO,KAAK4D,SAAW6K,OAEhBzO,KAAK4D,SAAW2K,EAAQG,IAEtB,SAACtM,GACC,OAAA,IAAInC,EACFmC,EACAF,EAAmBE,EAAQyB,EAAKqK,0BAMhCtF,EAAAvI,UAAAiO,WAAV,WACE,OAA8B,EAAvBtO,KAAK4D,SAAS5C,4BA1fxB+N,EAAAA,UAASrH,KAAA,CAAC,CAACC,SAAU,cAAeqH,SAAU,4DAVtCC,EAAAA,iBAXP5G,EAAAA,kBASA6G,EAAAA,wBAFA5G,EAAAA,iBAYOgB,SALiB6F,EAAAA,8BAhBxBC,EAAAA,wDA6BCC,EAAAA,kCAKAA,EAAAA,+BAEAA,EAAAA,qCAEAA,EAAAA,oCAKAA,EAAAA,mCAIAA,EAAAA,8BAKAA,EAAAA,iCAIAA,EAAAA,oCAIAA,EAAAA,uCAIAA,EAAAA,yCAKAA,EAAAA,qCAKAA,EAAAA,mCAKAA,EAAAA,mCAEAA,EAAAA,gDAEAA,EAAAA,0CAEAA,EAAAA,gCAIAC,EAAAA,mCAIAA,EAAAA,kCAEAA,EAAAA,gCAGAA,EAAAA,0BAMAD,EAAAA,sBAGAA,EAAAA,uBA0EA5G,EAAAA,aAAYf,KAAA,CAAC,QAAS,CAAC,6BAuBvBe,EAAAA,aAAYf,KAAA,CAAC,QAAS,CAAC,4BAqCvBe,EAAAA,aAAYf,KAAA,CAAC,UAAO,CAAAgB,KACpBD,EAAAA,aAAYf,KAAA,CAAC,yBAQbe,EAAAA,aAAYf,KAAA,CAAC,2BAObe,EAAAA,aAAYf,KAAA,CAAC,UAAW,CAAC,mBCnQ5B6H,EAAA,gCAgBSA,EAAAC,QAAP,WACE,MAAO,CACLC,SAAUF,EACVG,UAAW,CAACP,EAAAA,uBAAwBQ,EAAAA,mBAAoBrG,yBAV7DsG,EAAAA,SAAQlI,KAAA,CAAC,CACRmI,QAAS,CAACC,EAAAA,cACVC,aAAc,CAACnN,EAA6BgG,GAC5CoH,QAAS,CAACpN,EAA6BgG,GACvCqH,gBAAiB,CAACrN,SAbpB,uEJYA,SAAAsN,EAA6BC,GAI3B,OAAOA,EAAc/O,QAAQ,yBAA0B","sourcesContent":["/* tslint:disable */\nexport const latinMap: { [key: string]: string } = {\n 'Ã': 'A',\n 'Ä': 'A',\n 'Ắ': 'A',\n 'Ặ': 'A',\n 'Ằ': 'A',\n 'Ẳ': 'A',\n 'Ẵ': 'A',\n 'Ç': 'A',\n 'Ã': 'A',\n 'Ấ': 'A',\n 'Ậ': 'A',\n 'Ầ': 'A',\n 'Ẩ': 'A',\n 'Ẫ': 'A',\n 'Ã': 'A',\n 'Ç': 'A',\n 'Ȧ': 'A',\n 'Ç ': 'A',\n 'Ạ': 'A',\n 'È': 'A',\n 'Ã': 'A',\n 'Ả': 'A',\n 'È': 'A',\n 'Ä': 'A',\n 'Ä': 'A',\n 'Ã
': 'A',\n 'Ǻ': 'A',\n 'á¸': 'A',\n 'Ⱥ': 'A',\n 'Ã': 'A',\n 'ê²': 'AA',\n 'Ã': 'AE',\n 'Ǽ': 'AE',\n 'Ç¢': 'AE',\n 'ê´': 'AO',\n 'ê¶': 'AU',\n 'ê¸': 'AV',\n 'êº': 'AV',\n 'ê¼': 'AY',\n 'á¸': 'B',\n 'á¸': 'B',\n 'Æ': 'B',\n 'á¸': 'B',\n 'É': 'B',\n 'Æ': 'B',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Ã': 'C',\n 'á¸': 'C',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Æ': 'C',\n 'È»': 'C',\n 'Ä': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'Æ': 'D',\n 'á¸': 'D',\n 'Dz': 'D',\n 'Ç
': 'D',\n 'Ä': 'D',\n 'Æ': 'D',\n 'DZ': 'DZ',\n 'Ç': 'DZ',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ä': 'E',\n 'Ȩ': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ế': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ẹ': 'E',\n 'È': 'E',\n 'Ã': 'E',\n 'Ẻ': 'E',\n 'È': 'E',\n 'Ä': 'E',\n 'á¸': 'E',\n 'á¸': 'E',\n 'Ä': 'E',\n 'É': 'E',\n 'Ẽ': 'E',\n 'á¸': 'E',\n 'êª': 'ET',\n 'á¸': 'F',\n 'Æ': 'F',\n 'Ç´': 'G',\n 'Ä': 'G',\n 'Ǧ': 'G',\n 'Ä¢': 'G',\n 'Ä': 'G',\n 'Ä ': 'G',\n 'Æ': 'G',\n 'Ḡ': 'G',\n 'Ǥ': 'G',\n 'Ḫ': 'H',\n 'È': 'H',\n 'Ḩ': 'H',\n 'Ĥ': 'H',\n 'â±§': 'H',\n 'Ḧ': 'H',\n 'Ḣ': 'H',\n 'Ḥ': 'H',\n 'Ħ': 'H',\n 'Ã': 'I',\n 'Ĭ': 'I',\n 'Ç': 'I',\n 'Ã': 'I',\n 'Ã': 'I',\n 'Ḯ': 'I',\n 'İ': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ã': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ī': 'I',\n 'Ä®': 'I',\n 'Æ': 'I',\n 'Ĩ': 'I',\n 'Ḭ': 'I',\n 'ê¹': 'D',\n 'ê»': 'F',\n 'ê½': 'G',\n 'ê': 'R',\n 'ê': 'S',\n 'ê': 'T',\n 'ê¬': 'IS',\n 'Ä´': 'J',\n 'É': 'J',\n 'Ḱ': 'K',\n 'Ǩ': 'K',\n 'Ķ': 'K',\n 'Ⱪ': 'K',\n 'ê': 'K',\n 'Ḳ': 'K',\n 'Æ': 'K',\n 'Ḵ': 'K',\n 'ê': 'K',\n 'ê': 'K',\n 'Ĺ': 'L',\n 'Ƚ': 'L',\n 'Ľ': 'L',\n 'Ä»': 'L',\n 'Ḽ': 'L',\n 'Ḷ': 'L',\n 'Ḹ': 'L',\n 'â± ': 'L',\n 'ê': 'L',\n 'Ḻ': 'L',\n 'Ä¿': 'L',\n 'â±¢': 'L',\n 'Ç': 'L',\n 'Å': 'L',\n 'Ç': 'LJ',\n 'Ḿ': 'M',\n 'á¹': 'M',\n 'á¹': 'M',\n 'â±®': 'M',\n 'Å': 'N',\n 'Å': 'N',\n 'Å
': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'Ǹ': 'N',\n 'Æ': 'N',\n 'á¹': 'N',\n 'È ': 'N',\n 'Ç': 'N',\n 'Ã': 'N',\n 'Ç': 'NJ',\n 'Ã': 'O',\n 'Å': 'O',\n 'Ç': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'Ã': 'O',\n 'Ȫ': 'O',\n 'È®': 'O',\n 'Ȱ': 'O',\n 'á»': 'O',\n 'Å': 'O',\n 'È': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'Æ ': 'O',\n 'á»': 'O',\n 'Ợ': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á» ': 'O',\n 'È': 'O',\n 'ê': 'O',\n 'ê': 'O',\n 'Å': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Æ': 'O',\n 'Ǫ': 'O',\n 'Ǭ': 'O',\n 'Ã': 'O',\n 'Ǿ': 'O',\n 'Ã': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Ȭ': 'O',\n 'Æ¢': 'OI',\n 'ê': 'OO',\n 'Æ': 'E',\n 'Æ': 'O',\n 'È¢': 'OU',\n 'á¹': 'P',\n 'á¹': 'P',\n 'ê': 'P',\n 'Ƥ': 'P',\n 'ê': 'P',\n 'â±£': 'P',\n 'ê': 'P',\n 'ê': 'Q',\n 'ê': 'Q',\n 'Å': 'R',\n 'Å': 'R',\n 'Å': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'È': 'R',\n 'È': 'R',\n 'á¹': 'R',\n 'É': 'R',\n 'Ɽ': 'R',\n 'ê¾': 'C',\n 'Æ': 'E',\n 'Å': 'S',\n 'Ṥ': 'S',\n 'Å ': 'S',\n 'Ṧ': 'S',\n 'Å': 'S',\n 'Å': 'S',\n 'È': 'S',\n 'á¹ ': 'S',\n 'á¹¢': 'S',\n 'Ṩ': 'S',\n 'Ť': 'T',\n 'Å¢': 'T',\n 'á¹°': 'T',\n 'È': 'T',\n 'Ⱦ': 'T',\n 'Ṫ': 'T',\n 'Ṭ': 'T',\n 'Ƭ': 'T',\n 'á¹®': 'T',\n 'Æ®': 'T',\n 'Ŧ': 'T',\n 'Ɐ': 'A',\n 'ê': 'L',\n 'Æ': 'M',\n 'É
': 'V',\n 'ê¨': 'TZ',\n 'Ã': 'U',\n 'Ŭ': 'U',\n 'Ç': 'U',\n 'Ã': 'U',\n 'á¹¶': 'U',\n 'Ã': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'á¹²': 'U',\n 'Ụ': 'U',\n 'Ű': 'U',\n 'È': 'U',\n 'Ã': 'U',\n 'Ủ': 'U',\n 'Ư': 'U',\n 'Ứ': 'U',\n 'á»°': 'U',\n 'Ừ': 'U',\n 'Ử': 'U',\n 'á»®': 'U',\n 'È': 'U',\n 'Ū': 'U',\n 'Ṻ': 'U',\n 'Ų': 'U',\n 'Å®': 'U',\n 'Ũ': 'U',\n 'Ṹ': 'U',\n 'á¹´': 'U',\n 'ê': 'V',\n 'á¹¾': 'V',\n 'Ʋ': 'V',\n 'á¹¼': 'V',\n 'ê ': 'VY',\n 'áº': 'W',\n 'Å´': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'â±²': 'W',\n 'áº': 'X',\n 'áº': 'X',\n 'Ã': 'Y',\n 'Ŷ': 'Y',\n 'Ÿ': 'Y',\n 'áº': 'Y',\n 'á»´': 'Y',\n 'Ỳ': 'Y',\n 'Ƴ': 'Y',\n 'á»¶': 'Y',\n 'Ỿ': 'Y',\n 'Ȳ': 'Y',\n 'É': 'Y',\n 'Ỹ': 'Y',\n 'Ź': 'Z',\n 'Ž': 'Z',\n 'áº': 'Z',\n 'Ⱬ': 'Z',\n 'Å»': 'Z',\n 'áº': 'Z',\n 'Ȥ': 'Z',\n 'áº': 'Z',\n 'Ƶ': 'Z',\n 'IJ': 'IJ',\n 'Å': 'OE',\n 'á´': 'A',\n 'á´': 'AE',\n 'Ê': 'B',\n 'á´': 'B',\n 'á´': 'C',\n 'á´
': 'D',\n 'á´': 'E',\n 'ê°': 'F',\n 'É¢': 'G',\n 'Ê': 'G',\n 'Ê': 'H',\n 'ɪ': 'I',\n 'Ê': 'R',\n 'á´': 'J',\n 'á´': 'K',\n 'Ê': 'L',\n 'á´': 'L',\n 'á´': 'M',\n 'É´': 'N',\n 'á´': 'O',\n 'ɶ': 'OE',\n 'á´': 'O',\n 'á´': 'OU',\n 'á´': 'P',\n 'Ê': 'R',\n 'á´': 'N',\n 'á´': 'R',\n 'ê±': 'S',\n 'á´': 'T',\n 'â±»': 'E',\n 'á´': 'R',\n 'á´': 'U',\n 'á´ ': 'V',\n 'á´¡': 'W',\n 'Ê': 'Y',\n 'á´¢': 'Z',\n 'á': 'a',\n 'Ä': 'a',\n 'ắ': 'a',\n 'ặ': 'a',\n 'ằ': 'a',\n 'ẳ': 'a',\n 'ẵ': 'a',\n 'Ç': 'a',\n 'â': 'a',\n 'ấ': 'a',\n 'áº': 'a',\n 'ầ': 'a',\n 'ẩ': 'a',\n 'ẫ': 'a',\n 'ä': 'a',\n 'Ç': 'a',\n 'ȧ': 'a',\n 'Ç¡': 'a',\n 'ạ': 'a',\n 'È': 'a',\n 'à ': 'a',\n 'ả': 'a',\n 'È': 'a',\n 'Ä': 'a',\n 'Ä
': 'a',\n 'á¶': 'a',\n 'áº': 'a',\n 'Ã¥': 'a',\n 'Ç»': 'a',\n 'á¸': 'a',\n 'â±¥': 'a',\n 'ã': 'a',\n 'ê³': 'aa',\n 'æ': 'ae',\n 'ǽ': 'ae',\n 'Ç£': 'ae',\n 'êµ': 'ao',\n 'ê·': 'au',\n 'ê¹': 'av',\n 'ê»': 'av',\n 'ê½': 'ay',\n 'á¸': 'b',\n 'á¸
': 'b',\n 'É': 'b',\n 'á¸': 'b',\n 'ᵬ': 'b',\n 'á¶': 'b',\n 'Æ': 'b',\n 'Æ': 'b',\n 'ɵ': 'o',\n 'Ä': 'c',\n 'Ä': 'c',\n 'ç': 'c',\n 'á¸': 'c',\n 'Ä': 'c',\n 'É': 'c',\n 'Ä': 'c',\n 'Æ': 'c',\n 'ȼ': 'c',\n 'Ä': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'È¡': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'É': 'd',\n 'á¶': 'd',\n 'á¸': 'd',\n 'áµ': 'd',\n 'á¶': 'd',\n 'Ä': 'd',\n 'É': 'd',\n 'Æ': 'd',\n 'ı': 'i',\n 'È·': 'j',\n 'É': 'j',\n 'Ê': 'j',\n 'dz': 'dz',\n 'Ç': 'dz',\n 'é': 'e',\n 'Ä': 'e',\n 'Ä': 'e',\n 'È©': 'e',\n 'á¸': 'e',\n 'ê': 'e',\n 'ế': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»
': 'e',\n 'á¸': 'e',\n 'ë': 'e',\n 'Ä': 'e',\n 'ẹ': 'e',\n 'È
': 'e',\n 'è': 'e',\n 'ẻ': 'e',\n 'È': 'e',\n 'Ä': 'e',\n 'á¸': 'e',\n 'á¸': 'e',\n 'ⱸ': 'e',\n 'Ä': 'e',\n 'á¶': 'e',\n 'É': 'e',\n 'ẽ': 'e',\n 'á¸': 'e',\n 'ê«': 'et',\n 'á¸': 'f',\n 'Æ': 'f',\n 'áµ®': 'f',\n 'á¶': 'f',\n 'ǵ': 'g',\n 'Ä': 'g',\n 'ǧ': 'g',\n 'Ä£': 'g',\n 'Ä': 'g',\n 'Ä¡': 'g',\n 'É ': 'g',\n 'ḡ': 'g',\n 'á¶': 'g',\n 'Ç¥': 'g',\n 'ḫ': 'h',\n 'È': 'h',\n 'ḩ': 'h',\n 'Ä¥': 'h',\n 'ⱨ': 'h',\n 'ḧ': 'h',\n 'ḣ': 'h',\n 'ḥ': 'h',\n 'ɦ': 'h',\n 'áº': 'h',\n 'ħ': 'h',\n 'Æ': 'hv',\n 'Ã': 'i',\n 'Ä': 'i',\n 'Ç': 'i',\n 'î': 'i',\n 'ï': 'i',\n 'ḯ': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'ì': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'Ä«': 'i',\n 'į': 'i',\n 'á¶': 'i',\n 'ɨ': 'i',\n 'Ä©': 'i',\n 'á¸': 'i',\n 'êº': 'd',\n 'ê¼': 'f',\n 'áµ¹': 'g',\n 'ê': 'r',\n 'ê
': 's',\n 'ê': 't',\n 'ê': 'is',\n 'ǰ': 'j',\n 'ĵ': 'j',\n 'Ê': 'j',\n 'É': 'j',\n 'ḱ': 'k',\n 'Ç©': 'k',\n 'Ä·': 'k',\n 'ⱪ': 'k',\n 'ê': 'k',\n 'ḳ': 'k',\n 'Æ': 'k',\n 'ḵ': 'k',\n 'á¶': 'k',\n 'ê': 'k',\n 'ê
': 'k',\n 'ĺ': 'l',\n 'Æ': 'l',\n 'ɬ': 'l',\n 'ľ': 'l',\n 'ļ': 'l',\n 'ḽ': 'l',\n 'È´': 'l',\n 'ḷ': 'l',\n 'ḹ': 'l',\n 'ⱡ': 'l',\n 'ê': 'l',\n 'ḻ': 'l',\n 'Å': 'l',\n 'É«': 'l',\n 'á¶
': 'l',\n 'É': 'l',\n 'Å': 'l',\n 'Ç': 'lj',\n 'Å¿': 's',\n 'áº': 's',\n 'áº': 's',\n 'áº': 's',\n 'ḿ': 'm',\n 'á¹': 'm',\n 'á¹': 'm',\n 'ɱ': 'm',\n 'ᵯ': 'm',\n 'á¶': 'm',\n 'Å': 'n',\n 'Å': 'n',\n 'Å': 'n',\n 'á¹': 'n',\n 'ȵ': 'n',\n 'á¹
': 'n',\n 'á¹': 'n',\n 'ǹ': 'n',\n 'ɲ': 'n',\n 'á¹': 'n',\n 'Æ': 'n',\n 'áµ°': 'n',\n 'á¶': 'n',\n 'ɳ': 'n',\n 'ñ': 'n',\n 'Ç': 'nj',\n 'ó': 'o',\n 'Å': 'o',\n 'Ç': 'o',\n 'ô': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ö': 'o',\n 'È«': 'o',\n 'ȯ': 'o',\n 'ȱ': 'o',\n 'á»': 'o',\n 'Å': 'o',\n 'È': 'o',\n 'ò': 'o',\n 'á»': 'o',\n 'Æ¡': 'o',\n 'á»': 'o',\n 'ợ': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ỡ': 'o',\n 'È': 'o',\n 'ê': 'o',\n 'ê': 'o',\n 'ⱺ': 'o',\n 'Å': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'Ç«': 'o',\n 'Ç': 'o',\n 'ø': 'o',\n 'Ç¿': 'o',\n 'õ': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'È': 'o',\n 'Æ£': 'oi',\n 'ê': 'oo',\n 'É': 'e',\n 'á¶': 'e',\n 'É': 'o',\n 'á¶': 'o',\n 'È£': 'ou',\n 'á¹': 'p',\n 'á¹': 'p',\n 'ê': 'p',\n 'Æ¥': 'p',\n 'áµ±': 'p',\n 'á¶': 'p',\n 'ê': 'p',\n 'áµ½': 'p',\n 'ê': 'p',\n 'ê': 'q',\n 'Ê ': 'q',\n 'É': 'q',\n 'ê': 'q',\n 'Å': 'r',\n 'Å': 'r',\n 'Å': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'È': 'r',\n 'ɾ': 'r',\n 'áµ³': 'r',\n 'È': 'r',\n 'á¹': 'r',\n 'ɼ': 'r',\n 'áµ²': 'r',\n 'á¶': 'r',\n 'É': 'r',\n 'ɽ': 'r',\n 'â': 'c',\n 'ê¿': 'c',\n 'É': 'e',\n 'É¿': 'r',\n 'Å': 's',\n 'á¹¥': 's',\n 'Å¡': 's',\n 'á¹§': 's',\n 'Å': 's',\n 'Å': 's',\n 'È': 's',\n 'ṡ': 's',\n 'á¹£': 's',\n 'ṩ': 's',\n 'Ê': 's',\n 'áµ´': 's',\n 'á¶': 's',\n 'È¿': 's',\n 'É¡': 'g',\n 'á´': 'o',\n 'á´': 'o',\n 'á´': 'u',\n 'Å¥': 't',\n 'Å£': 't',\n 'á¹±': 't',\n 'È': 't',\n 'ȶ': 't',\n 'áº': 't',\n 'ⱦ': 't',\n 'ṫ': 't',\n 'á¹': 't',\n 'Æ': 't',\n 'ṯ': 't',\n 'áµµ': 't',\n 'Æ«': 't',\n 'Ê': 't',\n 'ŧ': 't',\n 'ᵺ': 'th',\n 'É': 'a',\n 'á´': 'ae',\n 'Ç': 'e',\n 'áµ·': 'g',\n 'É¥': 'h',\n 'Ê®': 'h',\n 'ʯ': 'h',\n 'á´': 'i',\n 'Ê': 'k',\n 'ê': 'l',\n 'ɯ': 'm',\n 'ɰ': 'm',\n 'á´': 'oe',\n 'ɹ': 'r',\n 'É»': 'r',\n 'ɺ': 'r',\n 'â±¹': 'r',\n 'Ê': 't',\n 'Ê': 'v',\n 'Ê': 'w',\n 'Ê': 'y',\n 'ê©': 'tz',\n 'ú': 'u',\n 'Å': 'u',\n 'Ç': 'u',\n 'û': 'u',\n 'á¹·': 'u',\n 'ü': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'á¹³': 'u',\n 'ụ': 'u',\n 'ű': 'u',\n 'È': 'u',\n 'ù': 'u',\n 'á»§': 'u',\n 'ư': 'u',\n 'ứ': 'u',\n 'á»±': 'u',\n 'ừ': 'u',\n 'á»': 'u',\n 'ữ': 'u',\n 'È': 'u',\n 'Å«': 'u',\n 'á¹»': 'u',\n 'ų': 'u',\n 'á¶': 'u',\n 'ů': 'u',\n 'Å©': 'u',\n 'á¹¹': 'u',\n 'á¹µ': 'u',\n 'ᵫ': 'ue',\n 'ê¸': 'um',\n 'â±´': 'v',\n 'ê': 'v',\n 'ṿ': 'v',\n 'Ê': 'v',\n 'á¶': 'v',\n 'â±±': 'v',\n 'á¹½': 'v',\n 'ê¡': 'vy',\n 'áº': 'w',\n 'ŵ': 'w',\n 'áº
': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'â±³': 'w',\n 'áº': 'w',\n 'áº': 'x',\n 'áº': 'x',\n 'á¶': 'x',\n 'ý': 'y',\n 'Å·': 'y',\n 'ÿ': 'y',\n 'áº': 'y',\n 'ỵ': 'y',\n 'ỳ': 'y',\n 'Æ´': 'y',\n 'á»·': 'y',\n 'ỿ': 'y',\n 'ȳ': 'y',\n 'áº': 'y',\n 'É': 'y',\n 'ỹ': 'y',\n 'ź': 'z',\n 'ž': 'z',\n 'áº': 'z',\n 'Ê': 'z',\n 'ⱬ': 'z',\n 'ż': 'z',\n 'áº': 'z',\n 'È¥': 'z',\n 'áº': 'z',\n 'áµ¶': 'z',\n 'á¶': 'z',\n 'Ê': 'z',\n 'ƶ': 'z',\n 'É': 'z',\n 'ï¬': 'ff',\n 'ï¬': 'ffi',\n 'ï¬': 'ffl',\n 'ï¬': 'fi',\n 'ï¬': 'fl',\n 'ij': 'ij',\n 'Å': 'oe',\n 'ï¬': 'st',\n 'â': 'a',\n 'â': 'e',\n 'áµ¢': 'i',\n 'â±¼': 'j',\n 'â': 'o',\n 'áµ£': 'r',\n 'ᵤ': 'u',\n 'áµ¥': 'v',\n 'â': 'x'\n};\n","import { TypeaheadDirective } from './typeahead.directive';\n\nexport class TypeaheadOptions {\n placement: string;\n animation: boolean;\n typeaheadRef: TypeaheadDirective;\n\n constructor(options: TypeaheadOptions) {\n Object.assign(this, options);\n }\n}\n","export class TypeaheadMatch {\n readonly value: string;\n\n// tslint:disable-next-line:no-any\n readonly item: any;\n protected header: boolean;\n\n// tslint:disable-next-line:no-any\n constructor(item: any, value: string = item, header = false) {\n this.item = item;\n this.value = value;\n this.header = header;\n }\n\n isHeader(): boolean {\n return this.header;\n }\n\n toString(): string {\n return this.value;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { latinMap } from './latin-map';\n\nexport function latinize(str: string): string {\n if (!str) {\n return '';\n }\n\n return str.replace(/[^A-Za-z0-9\\[\\] ]/g, function (a: string): string {\n return latinMap[a] || a;\n });\n}\n\nexport function escapeRegexp(queryToEscape: string): string {\n // Regex: capture the whole query string and replace it with the string\n // that will be used to match the results, for example if the capture is\n // 'a' the result will be \\a\n return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n}\n\n/* tslint:disable */\nexport function tokenize(str: string,\n wordRegexDelimiters = ' ',\n phraseRegexDelimiters = ''): Array<string> {\n /* tslint:enable */\n const regexStr = `(?:[${phraseRegexDelimiters}])([^${phraseRegexDelimiters}]+)` +\n `(?:[${phraseRegexDelimiters}])|([^${wordRegexDelimiters}]+)`;\n const preTokenized: string[] = str.split(new RegExp(regexStr, 'g'));\n const result: string[] = [];\n const preTokenizedLength: number = preTokenized.length;\n let token: string;\n const replacePhraseDelimiters = new RegExp(`[${phraseRegexDelimiters}]+`, 'g');\n\n for (let i = 0; i < preTokenizedLength; i += 1) {\n token = preTokenized[i];\n if (token && token.length && token !== wordRegexDelimiters) {\n result.push(token.replace(replacePhraseDelimiters, ''));\n }\n }\n\n return result;\n}\n\n// tslint:disable-next-line:no-any\nexport function getValueFromObject(object: any, option: string): string {\n if (!option || typeof object !== 'object') {\n return object.toString();\n }\n\n if (option.endsWith('()')) {\n const functionName = option.slice(0, option.length - 2);\n\n return object[functionName]().toString();\n }\n\n const properties: string = option\n .replace(/\\[(\\w+)\\]/g, '.$1')\n .replace(/^\\./, '');\n const propertiesArray: string[] = properties.split('.');\n\n for (const property of propertiesArray) {\n if (property in object) {\n // tslint:disable-next-line\n object = object[property];\n }\n }\n if (!object) {return ''; }\n\n return object.toString();\n}\n","import {\n Component,\n ElementRef,\n HostListener,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren,\n Renderer2\n} from '@angular/core';\n\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { latinize } from './typeahead-utils';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadDirective } from './typeahead.directive';\n\n@Component({\n selector: 'typeahead-container',\n // tslint:disable-next-line\n templateUrl: './typeahead-container.component.html',\n host: {\n class: 'dropdown open',\n '[class.dropdown-menu]': 'isBs4',\n '[style.overflow-y]' : `isBs4 && needScrollbar ? 'scroll': 'visible'`,\n '[style.height]': `isBs4 && needScrollbar ? guiHeight: 'auto'`,\n '[style.visibility]': `typeaheadScrollable ? 'hidden' : 'visible'`,\n '[class.dropup]': 'dropup',\n style: 'position: absolute;display: block;'\n }\n})\nexport class TypeaheadContainerComponent {\n parent: TypeaheadDirective;\n query: string[] | string;\n element: ElementRef;\n isFocused = false;\n top: string;\n left: string;\n display: string;\n placement: string;\n dropup: boolean;\n guiHeight: string;\n needScrollbar: boolean;\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n protected _active: TypeaheadMatch;\n protected _matches: TypeaheadMatch[] = [];\n\n @ViewChild('ulElement')\n private ulElement: ElementRef;\n\n @ViewChildren('liElements')\n private liElements: QueryList<ElementRef>;\n\n constructor(element: ElementRef, private renderer: Renderer2) {\n this.element = element;\n }\n\n get active(): TypeaheadMatch {\n return this._active;\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n set matches(value: TypeaheadMatch[]) {\n this._matches = value;\n this.needScrollbar = this.typeaheadScrollable && this.typeaheadOptionsInScrollableView < this.matches.length;\n if (this.typeaheadScrollable) {\n setTimeout(() => {\n this.setScrollableMode();\n });\n }\n\n if (this._matches.length > 0) {\n this._active = this._matches[0];\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n }\n }\n// tslint:disable-next-line:no-any\n get optionsListTemplate(): TemplateRef<any> {\n return this.parent ? this.parent.optionsListTemplate : undefined;\n }\n\n get typeaheadScrollable(): boolean {\n return this.parent ? this.parent.typeaheadScrollable : false;\n }\n\n\n get typeaheadOptionsInScrollableView(): number {\n return this.parent ? this.parent.typeaheadOptionsInScrollableView : 5;\n }\n// tslint:disable-next-line:no-any\n get itemTemplate(): TemplateRef<any> {\n return this.parent ? this.parent.typeaheadItemTemplate : undefined;\n }\n\n selectActiveMatch(): void {\n this.selectMatch(this._active);\n }\n\n prevActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n this._active = this.matches[\n index - 1 < 0 ? this.matches.length - 1 : index - 1\n ];\n if (this._active.isHeader()) {\n this.prevActiveMatch();\n }\n if (this.typeaheadScrollable) {\n this.scrollPrevious(index);\n }\n }\n\n nextActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n this._active = this.matches[\n index + 1 > this.matches.length - 1 ? 0 : index + 1\n ];\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n if (this.typeaheadScrollable) {\n this.scrollNext(index);\n }\n }\n\n selectActive(value: TypeaheadMatch): void {\n this.isFocused = true;\n this._active = value;\n }\n\n highlight(match: TypeaheadMatch, query: string[] | string): string {\n let itemStr: string = match.value;\n let itemStrHelper: string = (this.parent && this.parent.typeaheadLatinize\n ? latinize(itemStr)\n : itemStr).toLowerCase();\n let startIdx: number;\n let tokenLen: number;\n // Replaces the capture string with the same string inside of a \"strong\" tag\n if (typeof query === 'object') {\n const queryLen: number = query.length;\n for (let i = 0; i < queryLen; i += 1) {\n // query[i] is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query[i]);\n tokenLen = query[i].length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n itemStrHelper =\n `${itemStrHelper.substring(0, startIdx)} ${' '.repeat(tokenLen)} ` +\n `${itemStrHelper.substring(startIdx + tokenLen)}`;\n }\n }\n } else if (query) {\n // query is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query);\n tokenLen = query.length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n }\n }\n\n return itemStr;\n }\n\n @HostListener('mouseleave')\n @HostListener('blur')\n focusLost(): void {\n this.isFocused = false;\n }\n\n isActive(value: TypeaheadMatch): boolean {\n return this._active === value;\n }\n\n selectMatch(value: TypeaheadMatch, e: Event = void 0): boolean {\n if (e) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.parent.changeModel(value);\n setTimeout(() => this.parent.typeaheadOnSelect.emit(value), 0);\n\n return false;\n }\n\n setScrollableMode(): void {\n if (!this.ulElement) {\n this.ulElement = this.element;\n }\n if (this.liElements.first) {\n const ulStyles = Utils.getStyles(this.ulElement.nativeElement);\n const liStyles = Utils.getStyles(this.liElements.first.nativeElement);\n const ulPaddingBottom = parseFloat((ulStyles['padding-bottom'] ? ulStyles['padding-bottom'] : '')\n .replace('px', ''));\n const ulPaddingTop = parseFloat((ulStyles['padding-top'] ? ulStyles['padding-top'] : '0')\n .replace('px', ''));\n const optionHeight = parseFloat((liStyles.height ? liStyles.height : '0')\n .replace('px', ''));\n const height = this.typeaheadOptionsInScrollableView * optionHeight;\n this.guiHeight = `${height + ulPaddingTop + ulPaddingBottom}px`;\n }\n this.renderer.setStyle(this.element.nativeElement, 'visibility', 'visible');\n }\n\n scrollPrevious(index: number): void {\n if (index === 0) {\n this.scrollToBottom();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index - 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop = liElement.nativeElement.offsetTop;\n }\n }\n }\n\n scrollNext(index: number): void {\n if (index + 1 > this.matches.length - 1) {\n this.scrollToTop();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index + 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop =\n liElement.nativeElement.offsetTop -\n Number(this.ulElement.nativeElement.offsetHeight) +\n Number(liElement.nativeElement.offsetHeight);\n }\n }\n }\n\n\n private isScrolledIntoView = function (elem: HTMLElement) {\n const containerViewTop: number = this.ulElement.nativeElement.scrollTop;\n const containerViewBottom = containerViewTop + Number(this.ulElement.nativeElement.offsetHeight);\n const elemTop = elem.offsetTop;\n const elemBottom = elemTop + elem.offsetHeight;\n\n return ((elemBottom <= containerViewBottom) && (elemTop >= containerViewTop));\n };\n\n private scrollToBottom(): void {\n this.ulElement.nativeElement.scrollTop = this.ulElement.nativeElement.scrollHeight;\n }\n\n private scrollToTop(): void {\n this.ulElement.nativeElement.scrollTop = 0;\n }\n}\n","import { Injectable } from '@angular/core';\n\n/** Default values provider for typeahead */\n@Injectable()\nexport class TypeaheadConfig {\n /** used to hide results on blur */\n hideResultsOnBlur = true;\n}\n","/* tslint:disable:max-file-line-count */\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { from, Subscription, isObservable } from 'rxjs';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { getValueFromObject, latinize, tokenize } from './typeahead-utils';\nimport { debounceTime, filter, mergeMap, switchMap, toArray } from 'rxjs/operators';\nimport { TypeaheadConfig } from './typeahead.config';\n\n@Directive({selector: '[typeahead]', exportAs: 'bs-typeahead'})\nexport class TypeaheadDirective implements OnInit, OnDestroy {\n /** options source, can be Array of strings, objects or\n * an Observable for external matching process\n */\n // tslint:disable-next-line:no-any\n @Input() typeahead: any;\n /** minimal no of characters that needs to be entered before\n * typeahead kicks-in. When set to 0, typeahead shows on focus with full\n * list of options (limited as normal by typeaheadOptionsLimit)\n */\n @Input() typeaheadMinLength: number = void 0;\n /** minimal wait time after last character typed before typeahead kicks-in */\n @Input() typeaheadWaitMs: number;\n /** maximum length of options items list. The default value is 20 */\n @Input() typeaheadOptionsLimit: number;\n /** when options source is an array of objects, the name of field\n * that contains the options value, we use array item as option in case\n * of this field is missing. Supports nested properties and methods.\n */\n @Input() typeaheadOptionField: string;\n /** when options source is an array of objects, the name of field that\n * contains the group value, matches are grouped by this field when set.\n */\n @Input() typeaheadGroupField: string;\n /** should be used only in case of typeahead attribute is array.\n * If true - loading of options will be async, otherwise - sync.\n * true make sense if options array is large.\n */\n @Input() typeaheadAsync: boolean = void 0;\n /** match latin symbols.\n * If true the word súper would match super and vice versa.\n */\n @Input() typeaheadLatinize = true;\n /** Can be use to search words by inserting a single white space between each characters\n * for example 'C a l i f o r n i a' will match 'California'.\n */\n @Input() typeaheadSingleWords = true;\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to break words. Defaults to space.\n */\n @Input() typeaheadWordDelimiters = ' ';\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to match exact phrase.\n * Defaults to simple and double quotes.\n */\n @Input() typeaheadPhraseDelimiters = '\\'\"';\n /** used to specify a custom item template.\n * Template variables exposed are called item and index;\n */\n // tslint:disable-next-line:no-any\n @Input() typeaheadItemTemplate: TemplateRef<any>;\n /** used to specify a custom options list template.\n * Template variables: matches, itemTemplate, query\n */\n // tslint:disable-next-line:no-any\n @Input() optionsListTemplate: TemplateRef<any>;\n /** specifies if typeahead is scrollable */\n @Input() typeaheadScrollable = false;\n /** specifies number of options to show in scroll view */\n @Input() typeaheadOptionsInScrollableView = 5;\n /** used to hide result on blur */\n @Input() typeaheadHideResultsOnBlur: boolean;\n /** fired when 'busy' state of this component was changed,\n * fired on async mode only, returns boolean\n */\n @Output() typeaheadLoading = new EventEmitter<boolean>();\n /** fired on every key event and returns true\n * in case of matches are not detected\n */\n @Output() typeaheadNoResults = new EventEmitter<boolean>();\n /** fired when option was selected, return object with data of this option */\n @Output() typeaheadOnSelect = new EventEmitter<TypeaheadMatch>();\n /** fired when blur event occurres. returns the active item */\n // tslint:disable-next-line:no-any\n @Output() typeaheadOnBlur = new EventEmitter<any>();\n\n /**\n * A selector specifying the element the typeahead should be appended to.\n * Currently only supports \"body\".\n */\n @Input() container: string;\n\n /** This attribute indicates that the dropdown should be opened upwards */\n @Input() dropup = false;\n\n // not yet implemented\n /** if false restrict model values to the ones selected from the popup only will be provided */\n // @Input() protected typeaheadEditable:boolean;\n /** if false the first match automatically will not be focused as you type */\n // @Input() protected typeaheadFocusFirst:boolean;\n /** format the ng-model result after selection */\n // @Input() protected typeaheadInputFormatter:any;\n /** if true automatically select an item when there is one option that exactly matches the user input */\n // @Input() protected typeaheadSelectOnExact:boolean;\n /** if true select the currently highlighted match on blur */\n // @Input() protected typeaheadSelectOnBlur:boolean;\n /** if false don't focus the input element the typeahead directive is associated with on selection */\n // @Input() protected typeaheadFocusOnSelect:boolean;\n\n _container: TypeaheadContainerComponent;\n isTypeaheadOptionsListActive = false;\n\n // tslint:disable-next-line:no-any\n protected keyUpEventEmitter: EventEmitter<any> = new EventEmitter();\n protected _matches: TypeaheadMatch[];\n protected placement = 'bottom-left';\n // protected popup:ComponentRef<TypeaheadContainerComponent>;\n\n private _typeahead: ComponentLoader<TypeaheadContainerComponent>;\n private _subscriptions: Subscription[] = [];\n private _outsideClickListener: Function;\n\n constructor(private ngControl: NgControl,\n private element: ElementRef,\n viewContainerRef: ViewContainerRef,\n private renderer: Renderer2,\n config: TypeaheadConfig,\n cis: ComponentLoaderFactory,\n private changeDetection: ChangeDetectorRef) {\n\n this._typeahead = cis.createLoader<TypeaheadContainerComponent>(\n element,\n viewContainerRef,\n renderer\n )\n .provide({ provide: TypeaheadConfig, useValue: config });\n\n Object.assign(this, { typeaheadHideResultsOnBlur: config.hideResultsOnBlur });\n }\n\n ngOnInit(): void {\n this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;\n\n this.typeaheadMinLength =\n this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;\n\n this.typeaheadWaitMs = this.typeaheadWaitMs || 0;\n\n // async should be false in case of array\n if (\n this.typeaheadAsync === undefined &&\n !(isObservable(this.typeahead))\n ) {\n this.typeaheadAsync = false;\n }\n\n if (isObservable(this.typeahead)) {\n this.typeaheadAsync = true;\n }\n\n if (this.typeaheadAsync) {\n this.asyncActions();\n } else {\n this.syncActions();\n }\n }\n\n @HostListener('input', ['$event'])\n // tslint:disable-next-line:no-any\n onInput(e: any): void {\n // For `<input>`s, use the `value` property. For others that don't have a\n // `value` (such as `<span contenteditable=\"true\">`), use either\n // `textContent` or `innerText` (depending on which one is supported, i.e.\n // Firefox or IE).\n const value =\n e.target.value !== undefined\n ? e.target.value\n : e.target.textContent !== undefined\n ? e.target.textContent\n : e.target.innerText;\n if (value != null && value.trim().length >= this.typeaheadMinLength) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(e.target.value);\n } else {\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(false);\n this.hide();\n }\n }\n\n @HostListener('keyup', ['$event'])\n onChange(event: KeyboardEvent): void {\n if (this._container) {\n // esc\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 27 || event.key === 'Escape') {\n this.hide();\n\n return;\n }\n\n // up\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 38 || event.key === 'ArrowUp') {\n this._container.prevActiveMatch();\n\n return;\n }\n\n // down\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 40 || event.key === 'ArrowDown') {\n this._container.nextActiveMatch();\n\n return;\n }\n\n // enter, tab\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 13 || event.key === 'Enter') {\n this._container.selectActiveMatch();\n\n return;\n }\n }\n }\n\n @HostListener('click')\n @HostListener('focus')\n onFocus(): void {\n if (this.typeaheadMinLength === 0) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');\n }\n }\n\n @HostListener('blur')\n onBlur(): void {\n if (this._container && !this._container.isFocused) {\n this.typeaheadOnBlur.emit(this._container.active);\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n // no container - no problems\n if (!this._container) {\n return;\n }\n\n // if an item is visible - prevent form submission\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 13 || event.key === 'Enter') {\n event.preventDefault();\n\n return;\n }\n\n // if an item is visible - don't change focus\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 9 || event.key === 'Tab') {\n event.preventDefault();\n this._container.selectActiveMatch();\n\n return;\n }\n }\n\n changeModel(match: TypeaheadMatch): void {\n const valueStr: string = match.value;\n this.ngControl.viewToModelUpdate(valueStr);\n (this.ngControl.control).setValue(valueStr);\n this.changeDetection.markForCheck();\n this.hide();\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n show(): void {\n this._typeahead\n .attach(TypeaheadContainerComponent)\n // todo: add append to body, after updating positioning service\n .to(this.container)\n .position({attachment: `${this.dropup ? 'top' : 'bottom'} left`})\n .show({\n typeaheadRef: this,\n placement: this.placement,\n animation: false,\n dropup: this.dropup\n });\n\n this._outsideClickListener = this.renderer.listen('document', 'click', (e: MouseEvent) => {\n if (this.typeaheadMinLength === 0 && this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n if (!this.typeaheadHideResultsOnBlur || this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n this.onOutsideClick();\n });\n\n this._container = this._typeahead.instance;\n this._container.parent = this;\n // This improves the speed as it won't have to be done for each list item\n const normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value)\n .toString()\n .toLowerCase();\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n this._container.matches = this._matches;\n this.element.nativeElement.focus();\n }\n\n hide(): void {\n if (this._typeahead.isShown) {\n this._typeahead.hide();\n this._outsideClickListener();\n this._container = null;\n }\n }\n\n onOutsideClick(): void {\n if (this._container && !this._container.isFocused) {\n this.hide();\n }\n }\n\n ngOnDestroy() {\n // clean up subscriptions\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._typeahead.dispose();\n }\n\n protected asyncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime(this.typeaheadWaitMs),\n switchMap(() => this.typeahead)\n )\n .subscribe((matches: TypeaheadMatch[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected syncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime(this.typeaheadWaitMs),\n mergeMap((value: string) => {\n const normalizedQuery = this.normalizeQuery(value);\n\n return from(this.typeahead)\n .pipe(\n filter((option: TypeaheadMatch) => {\n\n return (\n option &&\n this.testMatch(this.normalizeOption(option), normalizedQuery)\n );\n }),\n toArray()\n );\n })\n )\n .subscribe((matches: TypeaheadMatch[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n // tslint:disable-next-line:no-any\n protected normalizeOption(option: any): any {\n const optionValue: string = getValueFromObject(\n option,\n this.typeaheadOptionField\n );\n const normalizedOption = this.typeaheadLatinize\n ? latinize(optionValue)\n : optionValue;\n\n return normalizedOption.toLowerCase();\n }\n\n protected normalizeQuery(value: string): string | string[] {\n // If singleWords, break model here to not be doing extra work on each\n // iteration\n let normalizedQuery: string | string[] = (this.typeaheadLatinize\n ? latinize(value)\n : value)\n .toString()\n .toLowerCase();\n normalizedQuery = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n return normalizedQuery;\n }\n\n protected testMatch(match: string, test: string[] | string): boolean {\n let spaceLength: number;\n\n if (typeof test === 'object') {\n spaceLength = test.length;\n for (let i = 0; i < spaceLength; i += 1) {\n if (test[i].length > 0 && match.indexOf(test[i]) < 0) {\n return false;\n }\n }\n\n return true;\n }\n\n return match.indexOf(test) >= 0;\n }\n\n protected finalizeAsyncCall(matches: TypeaheadMatch[]): void {\n this.prepareMatches(matches || []);\n\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(!this.hasMatches());\n\n if (!this.hasMatches()) {\n this.hide();\n\n return;\n }\n\n if (this._container) {\n // fix: remove usage of ngControl internals\n const _controlValue = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value) || '';\n // This improves the speed as it won't have to be done for each list item\n const normalizedQuery = _controlValue.toString().toLowerCase();\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n this._container.matches = this._matches;\n } else {\n this.show();\n }\n }\n\n protected prepareMatches(options: TypeaheadMatch[]): void {\n const limited: TypeaheadMatch[] = options.slice(0, this.typeaheadOptionsLimit);\n\n if (this.typeaheadGroupField) {\n let matches: TypeaheadMatch[] = [];\n\n // extract all group names\n const groups = limited\n .map((option: TypeaheadMatch) =>\n getValueFromObject(option, this.typeaheadGroupField)\n )\n .filter((v: string, i: number, a: string[]) => a.indexOf(v) === i);\n\n groups.forEach((group: string) => {\n // add group header to array of matches\n matches.push(new TypeaheadMatch(group, group, true));\n\n // add each item of group to array of matches\n matches = matches.concat(\n limited\n .filter(\n // tslint:disable-next-line:no-any\n (option: any) =>\n getValueFromObject(option, this.typeaheadGroupField) === group\n )\n .map(\n // tslint:disable-next-line:no-any\n (option: any) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n )\n );\n });\n\n this._matches = matches;\n } else {\n this._matches = limited.map(\n // tslint:disable-next-line:no-any\n (option: any) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n );\n }\n }\n\n protected hasMatches(): boolean {\n return this._matches.length > 0;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { TypeaheadConfig } from './typeahead.config';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TypeaheadContainerComponent, TypeaheadDirective],\n exports: [TypeaheadContainerComponent, TypeaheadDirective],\n entryComponents: [TypeaheadContainerComponent]\n})\nexport class TypeaheadModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: TypeaheadModule,\n providers: [ComponentLoaderFactory, PositioningService, TypeaheadConfig]\n };\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["ng://ngx-bootstrap/typeahead/latin-map.ts","ng://ngx-bootstrap/typeahead/typeahead-options.class.ts","ng://ngx-bootstrap/typeahead/typeahead-match.class.ts","node_modules/tslib/tslib.es6.js","ng://ngx-bootstrap/typeahead/typeahead-utils.ts","ng://ngx-bootstrap/typeahead/typeahead-container.component.ts","ng://ngx-bootstrap/typeahead/typeahead.config.ts","ng://ngx-bootstrap/typeahead/typeahead.directive.ts","ng://ngx-bootstrap/typeahead/typeahead.module.ts"],"names":["latinMap","Á","Ă","Ắ","Ặ","Ằ","Ẳ","Ẵ","Ǎ","Â","Ấ","Ậ","Ầ","Ẩ","Ẫ","Ä","Ǟ","Ȧ","Ǡ","Ạ","Ȁ","À","Ả","Ȃ","Ā","Ą","Å","Ǻ","Ḁ","Ⱥ","Ã","Ꜳ","Æ","Ǽ","Ǣ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ḃ","Ḅ","Ɓ","Ḇ","Ƀ","Ƃ","Ć","Č","Ç","Ḉ","Ĉ","Ċ","Ƈ","Ȼ","Ď","Ḑ","Ḓ","Ḋ","Ḍ","Ɗ","Ḏ","Dz","Dž","Đ","Ƌ","DZ","DŽ","É","Ĕ","Ě","Ȩ","Ḝ","Ê","Ế","Ệ","Ề","Ể","Ễ","Ḙ","Ë","Ė","Ẹ","Ȅ","È","Ẻ","Ȇ","Ē","Ḗ","Ḕ","Ę","Ɇ","Ẽ","Ḛ","Ꝫ","Ḟ","Ƒ","Ǵ","Ğ","Ǧ","Ģ","Ĝ","Ġ","Ɠ","Ḡ","Ǥ","Ḫ","Ȟ","Ḩ","Ĥ","Ⱨ","Ḧ","Ḣ","Ḥ","Ħ","Í","Ĭ","Ǐ","Î","Ï","Ḯ","İ","Ị","Ȉ","Ì","Ỉ","Ȋ","Ī","Į","Ɨ","Ĩ","Ḭ","Ꝺ","Ꝼ","Ᵹ","Ꞃ","Ꞅ","Ꞇ","Ꝭ","Ĵ","Ɉ","Ḱ","Ǩ","Ķ","Ⱪ","Ꝃ","Ḳ","Ƙ","Ḵ","Ꝁ","Ꝅ","Ĺ","Ƚ","Ľ","Ļ","Ḽ","Ḷ","Ḹ","Ⱡ","Ꝉ","Ḻ","Ŀ","Ɫ","Lj","Ł","LJ","Ḿ","Ṁ","Ṃ","Ɱ","Ń","Ň","Ņ","Ṋ","Ṅ","Ṇ","Ǹ","Ɲ","Ṉ","Ƞ","Nj","Ñ","NJ","Ó","Ŏ","Ǒ","Ô","Ố","Ộ","Ồ","Ổ","Ỗ","Ö","Ȫ","Ȯ","Ȱ","Ọ","Ő","Ȍ","Ò","Ỏ","Ơ","Ớ","Ợ","Ờ","Ở","Ỡ","Ȏ","Ꝋ","Ꝍ","Ō","Ṓ","Ṑ","Ɵ","Ǫ","Ǭ","Ø","Ǿ","Õ","Ṍ","Ṏ","Ȭ","Ƣ","Ꝏ","Ɛ","Ɔ","Ȣ","Ṕ","Ṗ","Ꝓ","Ƥ","Ꝕ","Ᵽ","Ꝑ","Ꝙ","Ꝗ","Ŕ","Ř","Ŗ","Ṙ","Ṛ","Ṝ","Ȑ","Ȓ","Ṟ","Ɍ","Ɽ","Ꜿ","Ǝ","Ś","Ṥ","Š","Ṧ","Ş","Ŝ","Ș","Ṡ","Ṣ","Ṩ","Ť","Ţ","Ṱ","Ț","Ⱦ","Ṫ","Ṭ","Ƭ","Ṯ","Ʈ","Ŧ","Ɐ","Ꞁ","Ɯ","Ʌ","Ꜩ","Ú","Ŭ","Ǔ","Û","Ṷ","Ü","Ǘ","Ǚ","Ǜ","Ǖ","Ṳ","Ụ","Ű","Ȕ","Ù","Ủ","Ư","Ứ","Ự","Ừ","Ử","Ữ","Ȗ","Ū","Ṻ","Ų","Ů","Ũ","Ṹ","Ṵ","Ꝟ","Ṿ","Ʋ","Ṽ","Ꝡ","Ẃ","Ŵ","Ẅ","Ẇ","Ẉ","Ẁ","Ⱳ","Ẍ","Ẋ","Ý","Ŷ","Ÿ","Ẏ","Ỵ","Ỳ","Ƴ","Ỷ","Ỿ","Ȳ","Ɏ","Ỹ","Ź","Ž","Ẑ","Ⱬ","Ż","Ẓ","Ȥ","Ẕ","Ƶ","IJ","Œ","ᴀ","ᴁ","ʙ","ᴃ","ᴄ","ᴅ","ᴇ","ꜰ","ɢ","ʛ","ʜ","ɪ","ʁ","ᴊ","ᴋ","ʟ","ᴌ","ᴍ","ɴ","ᴏ","ɶ","ᴐ","ᴕ","ᴘ","ʀ","ᴎ","ᴙ","ꜱ","ᴛ","ⱻ","ᴚ","ᴜ","ᴠ","ᴡ","ʏ","ᴢ","á","ă","ắ","ặ","ằ","ẳ","ẵ","ǎ","â","ấ","ậ","ầ","ẩ","ẫ","ä","ǟ","ȧ","ǡ","ạ","ȁ","à","ả","ȃ","ā","ą","ᶏ","ẚ","å","ǻ","ḁ","ⱥ","ã","ꜳ","æ","ǽ","ǣ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ḃ","ḅ","ɓ","ḇ","ᵬ","ᶀ","ƀ","ƃ","ɵ","ć","č","ç","ḉ","ĉ","ɕ","ċ","ƈ","ȼ","ď","ḑ","ḓ","ȡ","ḋ","ḍ","ɗ","ᶑ","ḏ","ᵭ","ᶁ","đ","ɖ","ƌ","ı","ȷ","ɟ","ʄ","dz","dž","é","ĕ","ě","ȩ","ḝ","ê","ế","ệ","ề","ể","ễ","ḙ","ë","ė","ẹ","ȅ","è","ẻ","ȇ","ē","ḗ","ḕ","ⱸ","ę","ᶒ","ɇ","ẽ","ḛ","ꝫ","ḟ","ƒ","ᵮ","ᶂ","ǵ","ğ","ǧ","ģ","ĝ","ġ","ɠ","ḡ","ᶃ","ǥ","ḫ","ȟ","ḩ","ĥ","ⱨ","ḧ","ḣ","ḥ","ɦ","ẖ","ħ","ƕ","í","ĭ","ǐ","î","ï","ḯ","ị","ȉ","ì","ỉ","ȋ","ī","į","ᶖ","ɨ","ĩ","ḭ","ꝺ","ꝼ","ᵹ","ꞃ","ꞅ","ꞇ","ꝭ","ǰ","ĵ","ʝ","ɉ","ḱ","ǩ","ķ","ⱪ","ꝃ","ḳ","ƙ","ḵ","ᶄ","ꝁ","ꝅ","ĺ","ƚ","ɬ","ľ","ļ","ḽ","ȴ","ḷ","ḹ","ⱡ","ꝉ","ḻ","ŀ","ɫ","ᶅ","ɭ","ł","lj","ſ","ẜ","ẛ","ẝ","ḿ","ṁ","ṃ","ɱ","ᵯ","ᶆ","ń","ň","ņ","ṋ","ȵ","ṅ","ṇ","ǹ","ɲ","ṉ","ƞ","ᵰ","ᶇ","ɳ","ñ","nj","ó","ŏ","ǒ","ô","ố","ộ","ồ","ổ","ỗ","ö","ȫ","ȯ","ȱ","ọ","ő","ȍ","ò","ỏ","ơ","ớ","ợ","ờ","ở","ỡ","ȏ","ꝋ","ꝍ","ⱺ","ō","ṓ","ṑ","ǫ","ǭ","ø","ǿ","õ","ṍ","ṏ","ȭ","ƣ","ꝏ","ɛ","ᶓ","ɔ","ᶗ","ȣ","ṕ","ṗ","ꝓ","ƥ","ᵱ","ᶈ","ꝕ","ᵽ","ꝑ","ꝙ","ʠ","ɋ","ꝗ","ŕ","ř","ŗ","ṙ","ṛ","ṝ","ȑ","ɾ","ᵳ","ȓ","ṟ","ɼ","ᵲ","ᶉ","ɍ","ɽ","ↄ","ꜿ","ɘ","ɿ","ś","ṥ","š","ṧ","ş","ŝ","ș","ṡ","ṣ","ṩ","ʂ","ᵴ","ᶊ","ȿ","ɡ","ᴑ","ᴓ","ᴝ","ť","ţ","ṱ","ț","ȶ","ẗ","ⱦ","ṫ","ṭ","ƭ","ṯ","ᵵ","ƫ","ʈ","ŧ","ᵺ","ɐ","ᴂ","ǝ","ᵷ","ɥ","ʮ","ʯ","ᴉ","ʞ","ꞁ","ɯ","ɰ","ᴔ","ɹ","ɻ","ɺ","ⱹ","ʇ","ʌ","ʍ","ʎ","ꜩ","ú","ŭ","ǔ","û","ṷ","ü","ǘ","ǚ","ǜ","ǖ","ṳ","ụ","ű","ȕ","ù","ủ","ư","ứ","ự","ừ","ử","ữ","ȗ","ū","ṻ","ų","ᶙ","ů","ũ","ṹ","ṵ","ᵫ","ꝸ","ⱴ","ꝟ","ṿ","ʋ","ᶌ","ⱱ","ṽ","ꝡ","ẃ","ŵ","ẅ","ẇ","ẉ","ẁ","ⱳ","ẘ","ẍ","ẋ","ᶍ","ý","ŷ","ÿ","ẏ","ỵ","ỳ","ƴ","ỷ","ỿ","ȳ","ẙ","ɏ","ỹ","ź","ž","ẑ","ʑ","ⱬ","ż","ẓ","ȥ","ẕ","ᵶ","ᶎ","ʐ","ƶ","ɀ","ff","ffi","ffl","fi","fl","ij","œ","st","ₐ","ₑ","ᵢ","ⱼ","ₒ","ᵣ","ᵤ","ᵥ","ₓ","TypeaheadOptions","options","Object","assign","this","TypeaheadMatch","item","value","header","prototype","isHeader","toString","__values","o","m","Symbol","iterator","i","call","next","length","done","latinize","str","replace","a","tokenize","wordRegexDelimiters","phraseRegexDelimiters","token","regexStr","preTokenized","split","RegExp","result","preTokenizedLength","replacePhraseDelimiters","push","getValueFromObject","object","option","endsWith","slice","propertiesArray","propertiesArray_1","tslib_1.__values","propertiesArray_1_1","property","TypeaheadContainerComponent","element","renderer","elem","containerViewTop","ulElement","nativeElement","scrollTop","containerViewBottom","Number","offsetHeight","elemTop","offsetTop","defineProperty","isBs3","_active","_matches","_this","needScrollbar","typeaheadScrollable","typeaheadOptionsInScrollableView","matches","setTimeout","setScrollableMode","nextActiveMatch","parent","optionsListTemplate","undefined","typeaheadItemTemplate","selectActiveMatch","isActiveItemChanged","typeaheadSelectFirstItem","selectMatch","prevActiveMatch","index","indexOf","scrollPrevious","scrollNext","selectActive","isFocused","highlight","match","query","startIdx","tokenLen","itemStr","itemStrHelper","typeaheadLatinize","toLowerCase","queryLen","substring","repeat","focusLost","isActive","e","stopPropagation","preventDefault","changeModel","typeaheadOnSelect","emit","liElements","first","ulStyles","Utils","getStyles","liStyles","ulPaddingBottom","parseFloat","ulPaddingTop","optionHeight","height","guiHeight","setStyle","liElement","toArray","isScrolledIntoView","scrollToBottom","scrollToTop","scrollHeight","Component","args","selector","template","host","class","[class.dropdown-menu]","[style.overflow-y]","[style.height]","[style.visibility]","[class.dropup]","style","ElementRef","Renderer2","ViewChild","ViewChildren","HostListener","type","Injectable","TypeaheadDirective","ngControl","viewContainerRef","config","cis","changeDetection","EventEmitter","_typeahead","createLoader","provide","TypeaheadConfig","useValue","typeaheadHideResultsOnBlur","hideResultsOnBlur","selectFirstItem","typeaheadMinLength","minLength","ngOnInit","typeaheadOptionsLimit","typeaheadWaitMs","typeaheadAsync","isObservable","typeahead","asyncActions","syncActions","onInput","target","textContent","innerText","trim","typeaheadLoading","keyUpEventEmitter","typeaheadNoResults","hide","onChange","event","_container","keyCode","key","onFocus","onBlur","typeaheadOnBlur","active","onKeydown","valueStr","viewToModelUpdate","setValue","markForCheck","show","attach","to","container","position","attachment","dropup","typeaheadRef","placement","animation","_outsideClickListener","listen","contains","onOutsideClick","instance","normalizedQuery","control","typeaheadSingleWords","typeaheadWordDelimiters","typeaheadPhraseDelimiters","focus","isShown","ngOnDestroy","_a","_subscriptions","_b","unsubscribe","dispose","pipe","debounceTime","switchMap","subscribe","finalizeAsyncCall","mergeMap","normalizeQuery","from","filter","testMatch","normalizeOption","optionValue","typeaheadOptionField","test","spaceLength","prepareMatches","hasMatches","limited","typeaheadGroupField","matches_1","map","v","forEach","group","concat","Directive","exportAs","NgControl","ViewContainerRef","ComponentLoaderFactory","ChangeDetectorRef","Input","Output","TypeaheadModule","forRoot","ngModule","providers","PositioningService","NgModule","imports","CommonModule","declarations","exports","entryComponents","escapeRegexp","queryToEscape"],"mappings":"wwBACA,IAAaA,EAAsC,CAC/CC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAA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","sourcesContent":["/* tslint:disable */\nexport const latinMap: { [key: string]: string } = {\n 'Ã': 'A',\n 'Ä': 'A',\n 'Ắ': 'A',\n 'Ặ': 'A',\n 'Ằ': 'A',\n 'Ẳ': 'A',\n 'Ẵ': 'A',\n 'Ç': 'A',\n 'Ã': 'A',\n 'Ấ': 'A',\n 'Ậ': 'A',\n 'Ầ': 'A',\n 'Ẩ': 'A',\n 'Ẫ': 'A',\n 'Ã': 'A',\n 'Ç': 'A',\n 'Ȧ': 'A',\n 'Ç ': 'A',\n 'Ạ': 'A',\n 'È': 'A',\n 'Ã': 'A',\n 'Ả': 'A',\n 'È': 'A',\n 'Ä': 'A',\n 'Ä': 'A',\n 'Ã
': 'A',\n 'Ǻ': 'A',\n 'á¸': 'A',\n 'Ⱥ': 'A',\n 'Ã': 'A',\n 'ê²': 'AA',\n 'Ã': 'AE',\n 'Ǽ': 'AE',\n 'Ç¢': 'AE',\n 'ê´': 'AO',\n 'ê¶': 'AU',\n 'ê¸': 'AV',\n 'êº': 'AV',\n 'ê¼': 'AY',\n 'á¸': 'B',\n 'á¸': 'B',\n 'Æ': 'B',\n 'á¸': 'B',\n 'É': 'B',\n 'Æ': 'B',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Ã': 'C',\n 'á¸': 'C',\n 'Ä': 'C',\n 'Ä': 'C',\n 'Æ': 'C',\n 'È»': 'C',\n 'Ä': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'á¸': 'D',\n 'Æ': 'D',\n 'á¸': 'D',\n 'Dz': 'D',\n 'Ç
': 'D',\n 'Ä': 'D',\n 'Æ': 'D',\n 'DZ': 'DZ',\n 'Ç': 'DZ',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ä': 'E',\n 'Ȩ': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ế': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á»': 'E',\n 'á¸': 'E',\n 'Ã': 'E',\n 'Ä': 'E',\n 'Ẹ': 'E',\n 'È': 'E',\n 'Ã': 'E',\n 'Ẻ': 'E',\n 'È': 'E',\n 'Ä': 'E',\n 'á¸': 'E',\n 'á¸': 'E',\n 'Ä': 'E',\n 'É': 'E',\n 'Ẽ': 'E',\n 'á¸': 'E',\n 'êª': 'ET',\n 'á¸': 'F',\n 'Æ': 'F',\n 'Ç´': 'G',\n 'Ä': 'G',\n 'Ǧ': 'G',\n 'Ä¢': 'G',\n 'Ä': 'G',\n 'Ä ': 'G',\n 'Æ': 'G',\n 'Ḡ': 'G',\n 'Ǥ': 'G',\n 'Ḫ': 'H',\n 'È': 'H',\n 'Ḩ': 'H',\n 'Ĥ': 'H',\n 'â±§': 'H',\n 'Ḧ': 'H',\n 'Ḣ': 'H',\n 'Ḥ': 'H',\n 'Ħ': 'H',\n 'Ã': 'I',\n 'Ĭ': 'I',\n 'Ç': 'I',\n 'Ã': 'I',\n 'Ã': 'I',\n 'Ḯ': 'I',\n 'İ': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ã': 'I',\n 'á»': 'I',\n 'È': 'I',\n 'Ī': 'I',\n 'Ä®': 'I',\n 'Æ': 'I',\n 'Ĩ': 'I',\n 'Ḭ': 'I',\n 'ê¹': 'D',\n 'ê»': 'F',\n 'ê½': 'G',\n 'ê': 'R',\n 'ê': 'S',\n 'ê': 'T',\n 'ê¬': 'IS',\n 'Ä´': 'J',\n 'É': 'J',\n 'Ḱ': 'K',\n 'Ǩ': 'K',\n 'Ķ': 'K',\n 'Ⱪ': 'K',\n 'ê': 'K',\n 'Ḳ': 'K',\n 'Æ': 'K',\n 'Ḵ': 'K',\n 'ê': 'K',\n 'ê': 'K',\n 'Ĺ': 'L',\n 'Ƚ': 'L',\n 'Ľ': 'L',\n 'Ä»': 'L',\n 'Ḽ': 'L',\n 'Ḷ': 'L',\n 'Ḹ': 'L',\n 'â± ': 'L',\n 'ê': 'L',\n 'Ḻ': 'L',\n 'Ä¿': 'L',\n 'â±¢': 'L',\n 'Ç': 'L',\n 'Å': 'L',\n 'Ç': 'LJ',\n 'Ḿ': 'M',\n 'á¹': 'M',\n 'á¹': 'M',\n 'â±®': 'M',\n 'Å': 'N',\n 'Å': 'N',\n 'Å
': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'á¹': 'N',\n 'Ǹ': 'N',\n 'Æ': 'N',\n 'á¹': 'N',\n 'È ': 'N',\n 'Ç': 'N',\n 'Ã': 'N',\n 'Ç': 'NJ',\n 'Ã': 'O',\n 'Å': 'O',\n 'Ç': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'Ã': 'O',\n 'Ȫ': 'O',\n 'È®': 'O',\n 'Ȱ': 'O',\n 'á»': 'O',\n 'Å': 'O',\n 'È': 'O',\n 'Ã': 'O',\n 'á»': 'O',\n 'Æ ': 'O',\n 'á»': 'O',\n 'Ợ': 'O',\n 'á»': 'O',\n 'á»': 'O',\n 'á» ': 'O',\n 'È': 'O',\n 'ê': 'O',\n 'ê': 'O',\n 'Å': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Æ': 'O',\n 'Ǫ': 'O',\n 'Ǭ': 'O',\n 'Ã': 'O',\n 'Ǿ': 'O',\n 'Ã': 'O',\n 'á¹': 'O',\n 'á¹': 'O',\n 'Ȭ': 'O',\n 'Æ¢': 'OI',\n 'ê': 'OO',\n 'Æ': 'E',\n 'Æ': 'O',\n 'È¢': 'OU',\n 'á¹': 'P',\n 'á¹': 'P',\n 'ê': 'P',\n 'Ƥ': 'P',\n 'ê': 'P',\n 'â±£': 'P',\n 'ê': 'P',\n 'ê': 'Q',\n 'ê': 'Q',\n 'Å': 'R',\n 'Å': 'R',\n 'Å': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'á¹': 'R',\n 'È': 'R',\n 'È': 'R',\n 'á¹': 'R',\n 'É': 'R',\n 'Ɽ': 'R',\n 'ê¾': 'C',\n 'Æ': 'E',\n 'Å': 'S',\n 'Ṥ': 'S',\n 'Å ': 'S',\n 'Ṧ': 'S',\n 'Å': 'S',\n 'Å': 'S',\n 'È': 'S',\n 'á¹ ': 'S',\n 'á¹¢': 'S',\n 'Ṩ': 'S',\n 'Ť': 'T',\n 'Å¢': 'T',\n 'á¹°': 'T',\n 'È': 'T',\n 'Ⱦ': 'T',\n 'Ṫ': 'T',\n 'Ṭ': 'T',\n 'Ƭ': 'T',\n 'á¹®': 'T',\n 'Æ®': 'T',\n 'Ŧ': 'T',\n 'Ɐ': 'A',\n 'ê': 'L',\n 'Æ': 'M',\n 'É
': 'V',\n 'ê¨': 'TZ',\n 'Ã': 'U',\n 'Ŭ': 'U',\n 'Ç': 'U',\n 'Ã': 'U',\n 'á¹¶': 'U',\n 'Ã': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'Ç': 'U',\n 'á¹²': 'U',\n 'Ụ': 'U',\n 'Ű': 'U',\n 'È': 'U',\n 'Ã': 'U',\n 'Ủ': 'U',\n 'Ư': 'U',\n 'Ứ': 'U',\n 'á»°': 'U',\n 'Ừ': 'U',\n 'Ử': 'U',\n 'á»®': 'U',\n 'È': 'U',\n 'Ū': 'U',\n 'Ṻ': 'U',\n 'Ų': 'U',\n 'Å®': 'U',\n 'Ũ': 'U',\n 'Ṹ': 'U',\n 'á¹´': 'U',\n 'ê': 'V',\n 'á¹¾': 'V',\n 'Ʋ': 'V',\n 'á¹¼': 'V',\n 'ê ': 'VY',\n 'áº': 'W',\n 'Å´': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'áº': 'W',\n 'â±²': 'W',\n 'áº': 'X',\n 'áº': 'X',\n 'Ã': 'Y',\n 'Ŷ': 'Y',\n 'Ÿ': 'Y',\n 'áº': 'Y',\n 'á»´': 'Y',\n 'Ỳ': 'Y',\n 'Ƴ': 'Y',\n 'á»¶': 'Y',\n 'Ỿ': 'Y',\n 'Ȳ': 'Y',\n 'É': 'Y',\n 'Ỹ': 'Y',\n 'Ź': 'Z',\n 'Ž': 'Z',\n 'áº': 'Z',\n 'Ⱬ': 'Z',\n 'Å»': 'Z',\n 'áº': 'Z',\n 'Ȥ': 'Z',\n 'áº': 'Z',\n 'Ƶ': 'Z',\n 'IJ': 'IJ',\n 'Å': 'OE',\n 'á´': 'A',\n 'á´': 'AE',\n 'Ê': 'B',\n 'á´': 'B',\n 'á´': 'C',\n 'á´
': 'D',\n 'á´': 'E',\n 'ê°': 'F',\n 'É¢': 'G',\n 'Ê': 'G',\n 'Ê': 'H',\n 'ɪ': 'I',\n 'Ê': 'R',\n 'á´': 'J',\n 'á´': 'K',\n 'Ê': 'L',\n 'á´': 'L',\n 'á´': 'M',\n 'É´': 'N',\n 'á´': 'O',\n 'ɶ': 'OE',\n 'á´': 'O',\n 'á´': 'OU',\n 'á´': 'P',\n 'Ê': 'R',\n 'á´': 'N',\n 'á´': 'R',\n 'ê±': 'S',\n 'á´': 'T',\n 'â±»': 'E',\n 'á´': 'R',\n 'á´': 'U',\n 'á´ ': 'V',\n 'á´¡': 'W',\n 'Ê': 'Y',\n 'á´¢': 'Z',\n 'á': 'a',\n 'Ä': 'a',\n 'ắ': 'a',\n 'ặ': 'a',\n 'ằ': 'a',\n 'ẳ': 'a',\n 'ẵ': 'a',\n 'Ç': 'a',\n 'â': 'a',\n 'ấ': 'a',\n 'áº': 'a',\n 'ầ': 'a',\n 'ẩ': 'a',\n 'ẫ': 'a',\n 'ä': 'a',\n 'Ç': 'a',\n 'ȧ': 'a',\n 'Ç¡': 'a',\n 'ạ': 'a',\n 'È': 'a',\n 'à ': 'a',\n 'ả': 'a',\n 'È': 'a',\n 'Ä': 'a',\n 'Ä
': 'a',\n 'á¶': 'a',\n 'áº': 'a',\n 'Ã¥': 'a',\n 'Ç»': 'a',\n 'á¸': 'a',\n 'â±¥': 'a',\n 'ã': 'a',\n 'ê³': 'aa',\n 'æ': 'ae',\n 'ǽ': 'ae',\n 'Ç£': 'ae',\n 'êµ': 'ao',\n 'ê·': 'au',\n 'ê¹': 'av',\n 'ê»': 'av',\n 'ê½': 'ay',\n 'á¸': 'b',\n 'á¸
': 'b',\n 'É': 'b',\n 'á¸': 'b',\n 'ᵬ': 'b',\n 'á¶': 'b',\n 'Æ': 'b',\n 'Æ': 'b',\n 'ɵ': 'o',\n 'Ä': 'c',\n 'Ä': 'c',\n 'ç': 'c',\n 'á¸': 'c',\n 'Ä': 'c',\n 'É': 'c',\n 'Ä': 'c',\n 'Æ': 'c',\n 'ȼ': 'c',\n 'Ä': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'È¡': 'd',\n 'á¸': 'd',\n 'á¸': 'd',\n 'É': 'd',\n 'á¶': 'd',\n 'á¸': 'd',\n 'áµ': 'd',\n 'á¶': 'd',\n 'Ä': 'd',\n 'É': 'd',\n 'Æ': 'd',\n 'ı': 'i',\n 'È·': 'j',\n 'É': 'j',\n 'Ê': 'j',\n 'dz': 'dz',\n 'Ç': 'dz',\n 'é': 'e',\n 'Ä': 'e',\n 'Ä': 'e',\n 'È©': 'e',\n 'á¸': 'e',\n 'ê': 'e',\n 'ế': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»': 'e',\n 'á»
': 'e',\n 'á¸': 'e',\n 'ë': 'e',\n 'Ä': 'e',\n 'ẹ': 'e',\n 'È
': 'e',\n 'è': 'e',\n 'ẻ': 'e',\n 'È': 'e',\n 'Ä': 'e',\n 'á¸': 'e',\n 'á¸': 'e',\n 'ⱸ': 'e',\n 'Ä': 'e',\n 'á¶': 'e',\n 'É': 'e',\n 'ẽ': 'e',\n 'á¸': 'e',\n 'ê«': 'et',\n 'á¸': 'f',\n 'Æ': 'f',\n 'áµ®': 'f',\n 'á¶': 'f',\n 'ǵ': 'g',\n 'Ä': 'g',\n 'ǧ': 'g',\n 'Ä£': 'g',\n 'Ä': 'g',\n 'Ä¡': 'g',\n 'É ': 'g',\n 'ḡ': 'g',\n 'á¶': 'g',\n 'Ç¥': 'g',\n 'ḫ': 'h',\n 'È': 'h',\n 'ḩ': 'h',\n 'Ä¥': 'h',\n 'ⱨ': 'h',\n 'ḧ': 'h',\n 'ḣ': 'h',\n 'ḥ': 'h',\n 'ɦ': 'h',\n 'áº': 'h',\n 'ħ': 'h',\n 'Æ': 'hv',\n 'Ã': 'i',\n 'Ä': 'i',\n 'Ç': 'i',\n 'î': 'i',\n 'ï': 'i',\n 'ḯ': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'ì': 'i',\n 'á»': 'i',\n 'È': 'i',\n 'Ä«': 'i',\n 'į': 'i',\n 'á¶': 'i',\n 'ɨ': 'i',\n 'Ä©': 'i',\n 'á¸': 'i',\n 'êº': 'd',\n 'ê¼': 'f',\n 'áµ¹': 'g',\n 'ê': 'r',\n 'ê
': 's',\n 'ê': 't',\n 'ê': 'is',\n 'ǰ': 'j',\n 'ĵ': 'j',\n 'Ê': 'j',\n 'É': 'j',\n 'ḱ': 'k',\n 'Ç©': 'k',\n 'Ä·': 'k',\n 'ⱪ': 'k',\n 'ê': 'k',\n 'ḳ': 'k',\n 'Æ': 'k',\n 'ḵ': 'k',\n 'á¶': 'k',\n 'ê': 'k',\n 'ê
': 'k',\n 'ĺ': 'l',\n 'Æ': 'l',\n 'ɬ': 'l',\n 'ľ': 'l',\n 'ļ': 'l',\n 'ḽ': 'l',\n 'È´': 'l',\n 'ḷ': 'l',\n 'ḹ': 'l',\n 'ⱡ': 'l',\n 'ê': 'l',\n 'ḻ': 'l',\n 'Å': 'l',\n 'É«': 'l',\n 'á¶
': 'l',\n 'É': 'l',\n 'Å': 'l',\n 'Ç': 'lj',\n 'Å¿': 's',\n 'áº': 's',\n 'áº': 's',\n 'áº': 's',\n 'ḿ': 'm',\n 'á¹': 'm',\n 'á¹': 'm',\n 'ɱ': 'm',\n 'ᵯ': 'm',\n 'á¶': 'm',\n 'Å': 'n',\n 'Å': 'n',\n 'Å': 'n',\n 'á¹': 'n',\n 'ȵ': 'n',\n 'á¹
': 'n',\n 'á¹': 'n',\n 'ǹ': 'n',\n 'ɲ': 'n',\n 'á¹': 'n',\n 'Æ': 'n',\n 'áµ°': 'n',\n 'á¶': 'n',\n 'ɳ': 'n',\n 'ñ': 'n',\n 'Ç': 'nj',\n 'ó': 'o',\n 'Å': 'o',\n 'Ç': 'o',\n 'ô': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ö': 'o',\n 'È«': 'o',\n 'ȯ': 'o',\n 'ȱ': 'o',\n 'á»': 'o',\n 'Å': 'o',\n 'È': 'o',\n 'ò': 'o',\n 'á»': 'o',\n 'Æ¡': 'o',\n 'á»': 'o',\n 'ợ': 'o',\n 'á»': 'o',\n 'á»': 'o',\n 'ỡ': 'o',\n 'È': 'o',\n 'ê': 'o',\n 'ê': 'o',\n 'ⱺ': 'o',\n 'Å': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'Ç«': 'o',\n 'Ç': 'o',\n 'ø': 'o',\n 'Ç¿': 'o',\n 'õ': 'o',\n 'á¹': 'o',\n 'á¹': 'o',\n 'È': 'o',\n 'Æ£': 'oi',\n 'ê': 'oo',\n 'É': 'e',\n 'á¶': 'e',\n 'É': 'o',\n 'á¶': 'o',\n 'È£': 'ou',\n 'á¹': 'p',\n 'á¹': 'p',\n 'ê': 'p',\n 'Æ¥': 'p',\n 'áµ±': 'p',\n 'á¶': 'p',\n 'ê': 'p',\n 'áµ½': 'p',\n 'ê': 'p',\n 'ê': 'q',\n 'Ê ': 'q',\n 'É': 'q',\n 'ê': 'q',\n 'Å': 'r',\n 'Å': 'r',\n 'Å': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'á¹': 'r',\n 'È': 'r',\n 'ɾ': 'r',\n 'áµ³': 'r',\n 'È': 'r',\n 'á¹': 'r',\n 'ɼ': 'r',\n 'áµ²': 'r',\n 'á¶': 'r',\n 'É': 'r',\n 'ɽ': 'r',\n 'â': 'c',\n 'ê¿': 'c',\n 'É': 'e',\n 'É¿': 'r',\n 'Å': 's',\n 'á¹¥': 's',\n 'Å¡': 's',\n 'á¹§': 's',\n 'Å': 's',\n 'Å': 's',\n 'È': 's',\n 'ṡ': 's',\n 'á¹£': 's',\n 'ṩ': 's',\n 'Ê': 's',\n 'áµ´': 's',\n 'á¶': 's',\n 'È¿': 's',\n 'É¡': 'g',\n 'á´': 'o',\n 'á´': 'o',\n 'á´': 'u',\n 'Å¥': 't',\n 'Å£': 't',\n 'á¹±': 't',\n 'È': 't',\n 'ȶ': 't',\n 'áº': 't',\n 'ⱦ': 't',\n 'ṫ': 't',\n 'á¹': 't',\n 'Æ': 't',\n 'ṯ': 't',\n 'áµµ': 't',\n 'Æ«': 't',\n 'Ê': 't',\n 'ŧ': 't',\n 'ᵺ': 'th',\n 'É': 'a',\n 'á´': 'ae',\n 'Ç': 'e',\n 'áµ·': 'g',\n 'É¥': 'h',\n 'Ê®': 'h',\n 'ʯ': 'h',\n 'á´': 'i',\n 'Ê': 'k',\n 'ê': 'l',\n 'ɯ': 'm',\n 'ɰ': 'm',\n 'á´': 'oe',\n 'ɹ': 'r',\n 'É»': 'r',\n 'ɺ': 'r',\n 'â±¹': 'r',\n 'Ê': 't',\n 'Ê': 'v',\n 'Ê': 'w',\n 'Ê': 'y',\n 'ê©': 'tz',\n 'ú': 'u',\n 'Å': 'u',\n 'Ç': 'u',\n 'û': 'u',\n 'á¹·': 'u',\n 'ü': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'Ç': 'u',\n 'á¹³': 'u',\n 'ụ': 'u',\n 'ű': 'u',\n 'È': 'u',\n 'ù': 'u',\n 'á»§': 'u',\n 'ư': 'u',\n 'ứ': 'u',\n 'á»±': 'u',\n 'ừ': 'u',\n 'á»': 'u',\n 'ữ': 'u',\n 'È': 'u',\n 'Å«': 'u',\n 'á¹»': 'u',\n 'ų': 'u',\n 'á¶': 'u',\n 'ů': 'u',\n 'Å©': 'u',\n 'á¹¹': 'u',\n 'á¹µ': 'u',\n 'ᵫ': 'ue',\n 'ê¸': 'um',\n 'â±´': 'v',\n 'ê': 'v',\n 'ṿ': 'v',\n 'Ê': 'v',\n 'á¶': 'v',\n 'â±±': 'v',\n 'á¹½': 'v',\n 'ê¡': 'vy',\n 'áº': 'w',\n 'ŵ': 'w',\n 'áº
': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'áº': 'w',\n 'â±³': 'w',\n 'áº': 'w',\n 'áº': 'x',\n 'áº': 'x',\n 'á¶': 'x',\n 'ý': 'y',\n 'Å·': 'y',\n 'ÿ': 'y',\n 'áº': 'y',\n 'ỵ': 'y',\n 'ỳ': 'y',\n 'Æ´': 'y',\n 'á»·': 'y',\n 'ỿ': 'y',\n 'ȳ': 'y',\n 'áº': 'y',\n 'É': 'y',\n 'ỹ': 'y',\n 'ź': 'z',\n 'ž': 'z',\n 'áº': 'z',\n 'Ê': 'z',\n 'ⱬ': 'z',\n 'ż': 'z',\n 'áº': 'z',\n 'È¥': 'z',\n 'áº': 'z',\n 'áµ¶': 'z',\n 'á¶': 'z',\n 'Ê': 'z',\n 'ƶ': 'z',\n 'É': 'z',\n 'ï¬': 'ff',\n 'ï¬': 'ffi',\n 'ï¬': 'ffl',\n 'ï¬': 'fi',\n 'ï¬': 'fl',\n 'ij': 'ij',\n 'Å': 'oe',\n 'ï¬': 'st',\n 'â': 'a',\n 'â': 'e',\n 'áµ¢': 'i',\n 'â±¼': 'j',\n 'â': 'o',\n 'áµ£': 'r',\n 'ᵤ': 'u',\n 'áµ¥': 'v',\n 'â': 'x'\n};\n","import { TypeaheadDirective } from './typeahead.directive';\n\nexport class TypeaheadOptions {\n placement: string;\n animation: boolean;\n typeaheadRef: TypeaheadDirective;\n\n constructor(options: TypeaheadOptions) {\n Object.assign(this, options);\n }\n}\n","export class TypeaheadMatch {\n readonly value: string;\n\n// tslint:disable-next-line:no-any\n readonly item: any;\n protected header: boolean;\n\n// tslint:disable-next-line:no-any\n constructor(item: any, value: string = item, header = false) {\n this.item = item;\n this.value = value;\n this.header = header;\n }\n\n isHeader(): boolean {\n return this.header;\n }\n\n toString(): string {\n return this.value;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { latinMap } from './latin-map';\n\nexport function latinize(str: string): string {\n if (!str) {\n return '';\n }\n\n return str.replace(/[^A-Za-z0-9\\[\\] ]/g, function (a: string): string {\n return latinMap[a] || a;\n });\n}\n\nexport function escapeRegexp(queryToEscape: string): string {\n // Regex: capture the whole query string and replace it with the string\n // that will be used to match the results, for example if the capture is\n // 'a' the result will be \\a\n return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n}\n\n/* tslint:disable */\nexport function tokenize(str: string,\n wordRegexDelimiters = ' ',\n phraseRegexDelimiters = ''): Array<string> {\n /* tslint:enable */\n const regexStr = `(?:[${phraseRegexDelimiters}])([^${phraseRegexDelimiters}]+)` +\n `(?:[${phraseRegexDelimiters}])|([^${wordRegexDelimiters}]+)`;\n const preTokenized: string[] = str.split(new RegExp(regexStr, 'g'));\n const result: string[] = [];\n const preTokenizedLength: number = preTokenized.length;\n let token: string;\n const replacePhraseDelimiters = new RegExp(`[${phraseRegexDelimiters}]+`, 'g');\n\n for (let i = 0; i < preTokenizedLength; i += 1) {\n token = preTokenized[i];\n if (token && token.length && token !== wordRegexDelimiters) {\n result.push(token.replace(replacePhraseDelimiters, ''));\n }\n }\n\n return result;\n}\n\n// tslint:disable-next-line:no-any\nexport function getValueFromObject(object: any, option: string): string {\n if (!option || typeof object !== 'object') {\n return object.toString();\n }\n\n if (option.endsWith('()')) {\n const functionName = option.slice(0, option.length - 2);\n\n return object[functionName]().toString();\n }\n\n const properties: string = option\n .replace(/\\[(\\w+)\\]/g, '.$1')\n .replace(/^\\./, '');\n const propertiesArray: string[] = properties.split('.');\n\n for (const property of propertiesArray) {\n if (property in object) {\n // tslint:disable-next-line\n object = object[property];\n }\n }\n if (!object) {return ''; }\n\n return object.toString();\n}\n","import {\n Component,\n ElementRef,\n HostListener,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren,\n Renderer2\n} from '@angular/core';\n\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { latinize } from './typeahead-utils';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadDirective } from './typeahead.directive';\n\n@Component({\n selector: 'typeahead-container',\n // tslint:disable-next-line\n templateUrl: './typeahead-container.component.html',\n host: {\n class: 'dropdown open',\n '[class.dropdown-menu]': 'isBs4',\n '[style.overflow-y]' : `isBs4 && needScrollbar ? 'scroll': 'visible'`,\n '[style.height]': `isBs4 && needScrollbar ? guiHeight: 'auto'`,\n '[style.visibility]': `typeaheadScrollable ? 'hidden' : 'visible'`,\n '[class.dropup]': 'dropup',\n style: 'position: absolute;display: block;'\n },\n styles: [\n `\n :host.dropdown {\n z-index: 1000;\n }\n `\n ]\n})\nexport class TypeaheadContainerComponent {\n parent: TypeaheadDirective;\n query: string[] | string;\n element: ElementRef;\n isFocused = false;\n top: string;\n left: string;\n display: string;\n placement: string;\n dropup: boolean;\n guiHeight: string;\n needScrollbar: boolean;\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n protected _active: TypeaheadMatch;\n protected _matches: TypeaheadMatch[] = [];\n\n @ViewChild('ulElement')\n private ulElement: ElementRef;\n\n @ViewChildren('liElements')\n private liElements: QueryList<ElementRef>;\n\n constructor(element: ElementRef,\n private renderer: Renderer2) {\n this.element = element;\n }\n\n get active(): TypeaheadMatch {\n return this._active;\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n set matches(value: TypeaheadMatch[]) {\n this._matches = value;\n this.needScrollbar = this.typeaheadScrollable && this.typeaheadOptionsInScrollableView < this.matches.length;\n if (this.typeaheadScrollable) {\n setTimeout(() => {\n this.setScrollableMode();\n });\n }\n\n if (this._matches.length > 0) {\n this._active = this._matches[0];\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n }\n }\n// tslint:disable-next-line:no-any\n get optionsListTemplate(): TemplateRef<any> {\n return this.parent ? this.parent.optionsListTemplate : undefined;\n }\n\n get typeaheadScrollable(): boolean {\n return this.parent ? this.parent.typeaheadScrollable : false;\n }\n\n\n get typeaheadOptionsInScrollableView(): number {\n return this.parent ? this.parent.typeaheadOptionsInScrollableView : 5;\n }\n// tslint:disable-next-line:no-any\n get itemTemplate(): TemplateRef<any> {\n return this.parent ? this.parent.typeaheadItemTemplate : undefined;\n }\n\n selectActiveMatch(isActiveItemChanged?: boolean): void {\n if (this._active && this.parent.typeaheadSelectFirstItem) {\n this.selectMatch(this._active);\n }\n\n if (!this.parent.typeaheadSelectFirstItem && isActiveItemChanged) {\n this.selectMatch(this._active);\n }\n }\n\n prevActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n this._active = this.matches[\n index - 1 < 0 ? this.matches.length - 1 : index - 1\n ];\n if (this._active.isHeader()) {\n this.prevActiveMatch();\n }\n if (this.typeaheadScrollable) {\n this.scrollPrevious(index);\n }\n }\n\n nextActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n this._active = this.matches[\n index + 1 > this.matches.length - 1 ? 0 : index + 1\n ];\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n if (this.typeaheadScrollable) {\n this.scrollNext(index);\n }\n }\n\n selectActive(value: TypeaheadMatch): void {\n this.isFocused = true;\n this._active = value;\n }\n\n highlight(match: TypeaheadMatch, query: string[] | string): string {\n let itemStr: string = match.value;\n let itemStrHelper: string = (this.parent && this.parent.typeaheadLatinize\n ? latinize(itemStr)\n : itemStr).toLowerCase();\n let startIdx: number;\n let tokenLen: number;\n // Replaces the capture string with the same string inside of a \"strong\" tag\n if (typeof query === 'object') {\n const queryLen: number = query.length;\n for (let i = 0; i < queryLen; i += 1) {\n // query[i] is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query[i]);\n tokenLen = query[i].length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n itemStrHelper =\n `${itemStrHelper.substring(0, startIdx)} ${' '.repeat(tokenLen)} ` +\n `${itemStrHelper.substring(startIdx + tokenLen)}`;\n }\n }\n } else if (query) {\n // query is already latinized and lower case\n startIdx = itemStrHelper.indexOf(query);\n tokenLen = query.length;\n if (startIdx >= 0 && tokenLen > 0) {\n itemStr =\n `${itemStr.substring(0, startIdx)}<strong>${itemStr.substring(startIdx, startIdx + tokenLen)}</strong>` +\n `${itemStr.substring(startIdx + tokenLen)}`;\n }\n }\n\n return itemStr;\n }\n\n @HostListener('mouseleave')\n @HostListener('blur')\n focusLost(): void {\n this.isFocused = false;\n }\n\n isActive(value: TypeaheadMatch): boolean {\n return this._active === value;\n }\n\n selectMatch(value: TypeaheadMatch, e: Event = void 0): boolean {\n if (e) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.parent.changeModel(value);\n setTimeout(() => this.parent.typeaheadOnSelect.emit(value), 0);\n\n return false;\n }\n\n setScrollableMode(): void {\n if (!this.ulElement) {\n this.ulElement = this.element;\n }\n if (this.liElements.first) {\n const ulStyles = Utils.getStyles(this.ulElement.nativeElement);\n const liStyles = Utils.getStyles(this.liElements.first.nativeElement);\n const ulPaddingBottom = parseFloat((ulStyles['padding-bottom'] ? ulStyles['padding-bottom'] : '')\n .replace('px', ''));\n const ulPaddingTop = parseFloat((ulStyles['padding-top'] ? ulStyles['padding-top'] : '0')\n .replace('px', ''));\n const optionHeight = parseFloat((liStyles.height ? liStyles.height : '0')\n .replace('px', ''));\n const height = this.typeaheadOptionsInScrollableView * optionHeight;\n this.guiHeight = `${height + ulPaddingTop + ulPaddingBottom}px`;\n }\n this.renderer.setStyle(this.element.nativeElement, 'visibility', 'visible');\n }\n\n scrollPrevious(index: number): void {\n if (index === 0) {\n this.scrollToBottom();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index - 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop = liElement.nativeElement.offsetTop;\n }\n }\n }\n\n scrollNext(index: number): void {\n if (index + 1 > this.matches.length - 1) {\n this.scrollToTop();\n\n return;\n }\n if (this.liElements) {\n const liElement = this.liElements.toArray()[index + 1];\n if (liElement && !this.isScrolledIntoView(liElement.nativeElement)) {\n this.ulElement.nativeElement.scrollTop =\n liElement.nativeElement.offsetTop -\n Number(this.ulElement.nativeElement.offsetHeight) +\n Number(liElement.nativeElement.offsetHeight);\n }\n }\n }\n\n\n private isScrolledIntoView = function (elem: HTMLElement) {\n const containerViewTop: number = this.ulElement.nativeElement.scrollTop;\n const containerViewBottom = containerViewTop + Number(this.ulElement.nativeElement.offsetHeight);\n const elemTop = elem.offsetTop;\n const elemBottom = elemTop + elem.offsetHeight;\n\n return ((elemBottom <= containerViewBottom) && (elemTop >= containerViewTop));\n };\n\n private scrollToBottom(): void {\n this.ulElement.nativeElement.scrollTop = this.ulElement.nativeElement.scrollHeight;\n }\n\n private scrollToTop(): void {\n this.ulElement.nativeElement.scrollTop = 0;\n }\n}\n","import { Injectable } from '@angular/core';\n\n/** Default values provider for typeahead */\n@Injectable()\nexport class TypeaheadConfig {\n /** used to hide results on blur */\n hideResultsOnBlur = true;\n /** used to choose the first item in typeahead container */\n selectFirstItem = true;\n /** used to choose set minimal no of characters that needs to\n * be entered before typeahead kicks-in\n */\n minLength = 1;\n}\n","/* tslint:disable:max-file-line-count */\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { from, Subscription, isObservable } from 'rxjs';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadConfig } from './typeahead.config';\nimport { getValueFromObject, latinize, tokenize } from './typeahead-utils';\nimport { debounceTime, filter, mergeMap, switchMap, toArray } from 'rxjs/operators';\n\n@Directive({selector: '[typeahead]', exportAs: 'bs-typeahead'})\nexport class TypeaheadDirective implements OnInit, OnDestroy {\n /** options source, can be Array of strings, objects or\n * an Observable for external matching process\n */\n // tslint:disable-next-line:no-any\n @Input() typeahead: any;\n /** minimal no of characters that needs to be entered before\n * typeahead kicks-in. When set to 0, typeahead shows on focus with full\n * list of options (limited as normal by typeaheadOptionsLimit)\n */\n @Input() typeaheadMinLength: number = void 0;\n /** minimal wait time after last character typed before typeahead kicks-in */\n @Input() typeaheadWaitMs: number;\n /** maximum length of options items list. The default value is 20 */\n @Input() typeaheadOptionsLimit: number;\n /** when options source is an array of objects, the name of field\n * that contains the options value, we use array item as option in case\n * of this field is missing. Supports nested properties and methods.\n */\n @Input() typeaheadOptionField: string;\n /** when options source is an array of objects, the name of field that\n * contains the group value, matches are grouped by this field when set.\n */\n @Input() typeaheadGroupField: string;\n /** should be used only in case of typeahead attribute is array.\n * If true - loading of options will be async, otherwise - sync.\n * true make sense if options array is large.\n */\n @Input() typeaheadAsync: boolean = void 0;\n /** match latin symbols.\n * If true the word súper would match super and vice versa.\n */\n @Input() typeaheadLatinize = true;\n /** Can be use to search words by inserting a single white space between each characters\n * for example 'C a l i f o r n i a' will match 'California'.\n */\n @Input() typeaheadSingleWords = true;\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to break words. Defaults to space.\n */\n @Input() typeaheadWordDelimiters = ' ';\n /** should be used only in case typeaheadSingleWords attribute is true.\n * Sets the word delimiter to match exact phrase.\n * Defaults to simple and double quotes.\n */\n @Input() typeaheadPhraseDelimiters = '\\'\"';\n /** used to specify a custom item template.\n * Template variables exposed are called item and index;\n */\n // tslint:disable-next-line:no-any\n @Input() typeaheadItemTemplate: TemplateRef<any>;\n /** used to specify a custom options list template.\n * Template variables: matches, itemTemplate, query\n */\n // tslint:disable-next-line:no-any\n @Input() optionsListTemplate: TemplateRef<any>;\n /** specifies if typeahead is scrollable */\n @Input() typeaheadScrollable = false;\n /** specifies number of options to show in scroll view */\n @Input() typeaheadOptionsInScrollableView = 5;\n /** used to hide result on blur */\n @Input() typeaheadHideResultsOnBlur: boolean;\n /** fired when an options list was opened and the user clicked Tab\n * If a value equal true, it will be chosen first or active item in the list\n * If value equal false, it will be chosen an active item in the list or nothing\n */\n @Input() typeaheadSelectFirstItem = true;\n /** fired when 'busy' state of this component was changed,\n * fired on async mode only, returns boolean\n */\n @Output() typeaheadLoading = new EventEmitter<boolean>();\n /** fired on every key event and returns true\n * in case of matches are not detected\n */\n @Output() typeaheadNoResults = new EventEmitter<boolean>();\n /** fired when option was selected, return object with data of this option */\n @Output() typeaheadOnSelect = new EventEmitter<TypeaheadMatch>();\n /** fired when blur event occurs. returns the active item */\n // tslint:disable-next-line:no-any\n @Output() typeaheadOnBlur = new EventEmitter<any>();\n\n /**\n * A selector specifying the element the typeahead should be appended to.\n * Currently only supports \"body\".\n */\n @Input() container: string;\n\n /** This attribute indicates that the dropdown should be opened upwards */\n @Input() dropup = false;\n\n // not yet implemented\n /** if false restrict model values to the ones selected from the popup only will be provided */\n // @Input() protected typeaheadEditable:boolean;\n /** if false the first match automatically will not be focused as you type */\n // @Input() protected typeaheadFocusFirst:boolean;\n /** format the ng-model result after selection */\n // @Input() protected typeaheadInputFormatter:any;\n /** if true automatically select an item when there is one option that exactly matches the user input */\n // @Input() protected typeaheadSelectOnExact:boolean;\n /** if true select the currently highlighted match on blur */\n // @Input() protected typeaheadSelectOnBlur:boolean;\n /** if false don't focus the input element the typeahead directive is associated with on selection */\n // @Input() protected typeaheadFocusOnSelect:boolean;\n\n _container: TypeaheadContainerComponent;\n isActiveItemChanged = false;\n isTypeaheadOptionsListActive = false;\n\n // tslint:disable-next-line:no-any\n protected keyUpEventEmitter: EventEmitter<any> = new EventEmitter();\n protected _matches: TypeaheadMatch[];\n protected placement = 'bottom-left';\n // protected popup:ComponentRef<TypeaheadContainerComponent>;\n\n private _typeahead: ComponentLoader<TypeaheadContainerComponent>;\n private _subscriptions: Subscription[] = [];\n private _outsideClickListener: Function;\n\n constructor(private ngControl: NgControl,\n private element: ElementRef,\n viewContainerRef: ViewContainerRef,\n private renderer: Renderer2,\n config: TypeaheadConfig,\n cis: ComponentLoaderFactory,\n private changeDetection: ChangeDetectorRef) {\n\n this._typeahead = cis.createLoader<TypeaheadContainerComponent>(\n element,\n viewContainerRef,\n renderer\n )\n .provide({ provide: TypeaheadConfig, useValue: config });\n\n Object.assign(this,\n { typeaheadHideResultsOnBlur: config.hideResultsOnBlur,\n typeaheadSelectFirstItem: config.selectFirstItem,\n typeaheadMinLength: config.minLength\n });\n }\n\n ngOnInit(): void {\n this.typeaheadOptionsLimit = this.typeaheadOptionsLimit || 20;\n\n this.typeaheadMinLength =\n this.typeaheadMinLength === void 0 ? 1 : this.typeaheadMinLength;\n\n this.typeaheadWaitMs = this.typeaheadWaitMs || 0;\n\n // async should be false in case of array\n if (\n this.typeaheadAsync === undefined &&\n !(isObservable(this.typeahead))\n ) {\n this.typeaheadAsync = false;\n }\n\n if (isObservable(this.typeahead)) {\n this.typeaheadAsync = true;\n }\n\n if (this.typeaheadAsync) {\n this.asyncActions();\n } else {\n this.syncActions();\n }\n }\n\n @HostListener('input', ['$event'])\n // tslint:disable-next-line:no-any\n onInput(e: any): void {\n // For `<input>`s, use the `value` property. For others that don't have a\n // `value` (such as `<span contenteditable=\"true\">`), use either\n // `textContent` or `innerText` (depending on which one is supported, i.e.\n // Firefox or IE).\n const value =\n e.target.value !== undefined\n ? e.target.value\n : e.target.textContent !== undefined\n ? e.target.textContent\n : e.target.innerText;\n if (value != null && value.trim().length >= this.typeaheadMinLength) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(e.target.value);\n } else {\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(false);\n this.hide();\n }\n }\n\n @HostListener('keyup', ['$event'])\n onChange(event: KeyboardEvent): void {\n if (this._container) {\n // esc\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 27 || event.key === 'Escape') {\n this.hide();\n\n return;\n }\n\n // up\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 38 || event.key === 'ArrowUp') {\n this.isActiveItemChanged = true;\n this._container.prevActiveMatch();\n\n return;\n }\n\n // down\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 40 || event.key === 'ArrowDown') {\n this.isActiveItemChanged = true;\n this._container.nextActiveMatch();\n\n return;\n }\n }\n }\n\n @HostListener('click')\n @HostListener('focus')\n onFocus(): void {\n if (this.typeaheadMinLength === 0) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');\n }\n }\n\n @HostListener('blur')\n onBlur(): void {\n if (this._container && !this._container.isFocused) {\n this.typeaheadOnBlur.emit(this._container.active);\n }\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n // no container - no problems\n if (!this._container) {\n return;\n }\n\n /* tslint:disable-next-line: deprecation */\n if (event.keyCode === 9 || event.key === 'Tab' || event.keyCode === 13 || event.key === 'Enter') {\n event.preventDefault();\n if (this.typeaheadSelectFirstItem) {\n this._container.selectActiveMatch();\n\n return;\n }\n\n if (!this.typeaheadSelectFirstItem) {\n this._container.selectActiveMatch(this.isActiveItemChanged);\n this.isActiveItemChanged = false;\n this.hide();\n }\n }\n }\n\n changeModel(match: TypeaheadMatch): void {\n const valueStr: string = match.value;\n this.ngControl.viewToModelUpdate(valueStr);\n (this.ngControl.control).setValue(valueStr);\n this.changeDetection.markForCheck();\n this.hide();\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n show(): void {\n this._typeahead\n .attach(TypeaheadContainerComponent)\n // todo: add append to body, after updating positioning service\n .to(this.container)\n .position({attachment: `${this.dropup ? 'top' : 'bottom'} left`})\n .show({\n typeaheadRef: this,\n placement: this.placement,\n animation: false,\n dropup: this.dropup\n });\n\n this._outsideClickListener = this.renderer.listen('document', 'click', (e: MouseEvent) => {\n if (this.typeaheadMinLength === 0 && this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n if (!this.typeaheadHideResultsOnBlur || this.element.nativeElement.contains(e.target)) {\n return undefined;\n }\n this.onOutsideClick();\n });\n\n this._container = this._typeahead.instance;\n this._container.parent = this;\n // This improves the speed as it won't have to be done for each list item\n const normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value)\n .toString()\n .toLowerCase();\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n this._container.matches = this._matches;\n this.element.nativeElement.focus();\n }\n\n hide(): void {\n if (this._typeahead.isShown) {\n this._typeahead.hide();\n this._outsideClickListener();\n this._container = null;\n }\n }\n\n onOutsideClick(): void {\n if (this._container && !this._container.isFocused) {\n this.hide();\n }\n }\n\n ngOnDestroy() {\n // clean up subscriptions\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._typeahead.dispose();\n }\n\n protected asyncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime(this.typeaheadWaitMs),\n switchMap(() => this.typeahead)\n )\n .subscribe((matches: TypeaheadMatch[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected syncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime(this.typeaheadWaitMs),\n mergeMap((value: string) => {\n const normalizedQuery = this.normalizeQuery(value);\n\n return from(this.typeahead)\n .pipe(\n filter((option: TypeaheadMatch) => {\n\n return (\n option &&\n this.testMatch(this.normalizeOption(option), normalizedQuery)\n );\n }),\n toArray()\n );\n })\n )\n .subscribe((matches: TypeaheadMatch[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n // tslint:disable-next-line:no-any\n protected normalizeOption(option: any): any {\n const optionValue: string = getValueFromObject(\n option,\n this.typeaheadOptionField\n );\n const normalizedOption = this.typeaheadLatinize\n ? latinize(optionValue)\n : optionValue;\n\n return normalizedOption.toLowerCase();\n }\n\n protected normalizeQuery(value: string): string | string[] {\n // If singleWords, break model here to not be doing extra work on each\n // iteration\n let normalizedQuery: string | string[] = (this.typeaheadLatinize\n ? latinize(value)\n : value)\n .toString()\n .toLowerCase();\n normalizedQuery = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n return normalizedQuery;\n }\n\n protected testMatch(match: string, test: string[] | string): boolean {\n let spaceLength: number;\n\n if (typeof test === 'object') {\n spaceLength = test.length;\n for (let i = 0; i < spaceLength; i += 1) {\n if (test[i].length > 0 && match.indexOf(test[i]) < 0) {\n return false;\n }\n }\n\n return true;\n }\n\n return match.indexOf(test) >= 0;\n }\n\n protected finalizeAsyncCall(matches: TypeaheadMatch[]): void {\n this.prepareMatches(matches || []);\n\n this.typeaheadLoading.emit(false);\n this.typeaheadNoResults.emit(!this.hasMatches());\n\n if (!this.hasMatches()) {\n this.hide();\n\n return;\n }\n\n if (this._container) {\n // fix: remove usage of ngControl internals\n const _controlValue = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value) || '';\n // This improves the speed as it won't have to be done for each list item\n const normalizedQuery = _controlValue.toString().toLowerCase();\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n this._container.matches = this._matches;\n } else {\n this.show();\n }\n }\n\n protected prepareMatches(options: TypeaheadMatch[]): void {\n const limited: TypeaheadMatch[] = options.slice(0, this.typeaheadOptionsLimit);\n\n if (this.typeaheadGroupField) {\n let matches: TypeaheadMatch[] = [];\n\n // extract all group names\n const groups = limited\n .map((option: TypeaheadMatch) =>\n getValueFromObject(option, this.typeaheadGroupField)\n )\n .filter((v: string, i: number, a: string[]) => a.indexOf(v) === i);\n\n groups.forEach((group: string) => {\n // add group header to array of matches\n matches.push(new TypeaheadMatch(group, group, true));\n\n // add each item of group to array of matches\n matches = matches.concat(\n limited\n .filter(\n // tslint:disable-next-line:no-any\n (option: any) =>\n getValueFromObject(option, this.typeaheadGroupField) === group\n )\n .map(\n // tslint:disable-next-line:no-any\n (option: any) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n )\n );\n });\n\n this._matches = matches;\n } else {\n this._matches = limited.map(\n // tslint:disable-next-line:no-any\n (option: any) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n );\n }\n }\n\n protected hasMatches(): boolean {\n return this._matches.length > 0;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { TypeaheadContainerComponent } from './typeahead-container.component';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { TypeaheadConfig } from './typeahead.config';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TypeaheadContainerComponent, TypeaheadDirective],\n exports: [TypeaheadContainerComponent, TypeaheadDirective],\n entryComponents: [TypeaheadContainerComponent]\n})\nexport class TypeaheadModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: TypeaheadModule,\n providers: [ComponentLoaderFactory, PositioningService, TypeaheadConfig]\n };\n }\n}\n"]}
|