ngx-bootstrap 5.6.0 → 5.6.1

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/accordion/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/buttons/package.json +1 -1
  5. package/carousel/package.json +1 -1
  6. package/chronos/package.json +1 -1
  7. package/collapse/package.json +1 -1
  8. package/component-loader/package.json +1 -1
  9. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +25 -17
  10. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
  11. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +1 -1
  12. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
  13. package/datepicker/esm2015/bs-datepicker.module.js +23 -16
  14. package/datepicker/esm5/bs-datepicker.module.js +26 -19
  15. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +22 -15
  16. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
  17. package/datepicker/fesm5/ngx-bootstrap-datepicker.js +25 -17
  18. package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
  19. package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
  20. package/datepicker/package.json +1 -1
  21. package/dropdown/package.json +1 -1
  22. package/locale/package.json +1 -1
  23. package/mini-ngrx/package.json +1 -1
  24. package/modal/package.json +1 -1
  25. package/package.json +2 -2
  26. package/pagination/package.json +1 -1
  27. package/popover/package.json +1 -1
  28. package/positioning/package.json +1 -1
  29. package/progressbar/package.json +1 -1
  30. package/rating/package.json +1 -1
  31. package/sortable/package.json +1 -1
  32. package/tabs/package.json +1 -1
  33. package/timepicker/package.json +1 -1
  34. package/tooltip/package.json +1 -1
  35. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js +3 -0
  36. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
  37. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js +1 -1
  38. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
  39. package/typeahead/esm2015/typeahead.directive.js +4 -1
  40. package/typeahead/esm5/typeahead.directive.js +4 -1
  41. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js +3 -0
  42. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
  43. package/typeahead/fesm5/ngx-bootstrap-typeahead.js +3 -0
  44. package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
  45. package/typeahead/ngx-bootstrap-typeahead.metadata.json +1 -1
  46. package/typeahead/package.json +1 -1
  47. package/typeahead/typeahead.directive.d.ts +1 -0
  48. package/utils/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-bootstrap-typeahead.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://ngx-bootstrap/typeahead/latin-map.ts","ng://ngx-bootstrap/typeahead/typeahead-options.class.ts","ng://ngx-bootstrap/typeahead/typeahead-match.class.ts","ng://ngx-bootstrap/typeahead/typeahead-order.class.ts","ng://ngx-bootstrap/typeahead/typeahead-utils.ts","ng://ngx-bootstrap/typeahead/typeahead-animations.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"],"sourcesContent":["/*! *****************************************************************************\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","/* 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ž': 'D',\n 'Đ': 'D',\n 'Ƌ': 'D',\n 'DZ': 'DZ',\n 'DŽ': '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 'Lj': 'L',\n 'Ł': 'L',\n 'LJ': '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 'Nj': 'N',\n 'Ñ': 'N',\n 'NJ': '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 'dž': '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': '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': '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': 'ff',\n 'ffi': 'ffi',\n 'ffl': 'ffl',\n 'fi': 'fi',\n 'fl': 'fl',\n 'ij': 'ij',\n 'œ': 'oe',\n 'st': '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","export class TypeaheadOrder {\n /** field for sorting */\n field?: string;\n /** ordering direction, could be 'asc' or 'desc' */\n direction: 'asc' | 'desc';\n}\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 animate,\n style,\n AnimationTriggerMetadata,\n state,\n transition,\n trigger\n} from '@angular/animations';\n\nexport const TYPEAHEAD_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';\n\nexport const typeaheadAnimation: AnimationTriggerMetadata =\n trigger('typeaheadAnimation', [\n state('animated-down', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-down', [\n style({ height: 0, overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n state('animated-up', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-up', [\n style({ height: '*', overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n transition('* => unanimated', animate('0s'))\n ]);\n","// tslint:disable:max-file-line-count max-line-length\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n Output,\n EventEmitter\n} from '@angular/core';\n\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { Subscription } from 'rxjs';\n\nimport { latinize } from './typeahead-utils';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { typeaheadAnimation } from './typeahead-animations';\nimport { TypeaheadOptionItemContext, TypeaheadOptionListContext, TypeaheadTemplateMethods } from './models';\n\nlet nextWindowId = 0;\n\n@Component({\n selector: 'typeahead-container',\n templateUrl: './typeahead-container.component.html',\n host: {\n class: 'dropdown open bottom',\n '[class.dropdown-menu]': 'isBs4',\n '[style.height]': `isBs4 && needScrollbar ? guiHeight: 'auto'`,\n '[style.visibility]': `'inherit'`,\n '[class.dropup]': 'dropup',\n style: 'position: absolute;display: block;',\n '[attr.role]': `isBs4 ? 'listbox' : null `\n },\n styles: [\n `\n :host.dropdown {\n z-index: 1000;\n }\n\n :host.dropdown-menu, .dropdown-menu {\n overflow-y: auto;\n height: 100px;\n }\n `\n ],\n animations: [typeaheadAnimation]\n})\n\nexport class TypeaheadContainerComponent implements OnDestroy {\n // tslint:disable-next-line: no-output-rename\n @Output('activeChange') activeChangeEvent = new EventEmitter();\n\n parent: TypeaheadDirective;\n query: string[] | string;\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 animationState: string;\n positionServiceSubscription: Subscription;\n height = 0;\n popupId = `ngb-typeahead-${nextWindowId++}`;\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n get typeaheadTemplateMethods(): TypeaheadTemplateMethods {\n /* tslint:disable:no-this-assignment */\n const _that = this;\n\n return {\n selectMatch: this.selectMatch.bind(_that),\n selectActive: this.selectActive.bind(_that),\n isActive: this.isActive.bind(_that)\n };\n }\n\n protected _active: TypeaheadMatch;\n protected _matches: TypeaheadMatch[] = [];\n\n @ViewChild('ulElement', { static: false })\n private ulElement: ElementRef;\n\n @ViewChildren('liElements')\n private liElements: QueryList<ElementRef>;\n\n constructor(\n private positionService: PositioningService,\n private renderer: Renderer2,\n public element: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n this.renderer.setAttribute(this.element.nativeElement, 'id', this.popupId);\n this.positionServiceSubscription = this.positionService.event$.subscribe(\n () => {\n if (this.isAnimated) {\n this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';\n this.changeDetectorRef.detectChanges();\n\n return;\n }\n\n this.animationState = 'unanimated';\n this.changeDetectorRef.detectChanges();\n }\n );\n }\n\n get active(): TypeaheadMatch {\n return this._active;\n }\n\n set active(active: TypeaheadMatch) {\n this._active = active;\n this.activeChanged();\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n set matches(value: TypeaheadMatch[]) {\n this.positionService.setOptions({\n modifiers: { flip: { enabled: this.adaptivePosition } },\n allowedPositions: ['top', 'bottom']\n });\n\n this._matches = value;\n\n this.needScrollbar = this.typeaheadScrollable && this.typeaheadOptionsInScrollableView < this.matches.length;\n\n if (this.typeaheadScrollable) {\n setTimeout(() => {\n this.setScrollableMode();\n });\n }\n\n if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {\n this.active = this._matches[0];\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n }\n\n if (this._active && !this.typeaheadIsFirstItemActive) {\n const concurrency = this._matches.find(match => match.value === this._active.value);\n\n if (concurrency) {\n this.selectActive(concurrency);\n\n return;\n }\n\n this.active = null;\n }\n }\n\n get isTopPosition(): boolean {\n return this.element.nativeElement.classList.contains('top');\n }\n\n // tslint:disable-next-line:no-any\n get optionsListTemplate(): TemplateRef<TypeaheadOptionListContext> {\n return this.parent ? this.parent.optionsListTemplate : undefined;\n }\n\n get isAnimated(): boolean {\n return this.parent ? this.parent.isAnimated : false;\n }\n\n get adaptivePosition(): boolean {\n return this.parent ? this.parent.adaptivePosition : false;\n }\n\n get typeaheadScrollable(): boolean {\n return this.parent ? this.parent.typeaheadScrollable : false;\n }\n\n get typeaheadOptionsInScrollableView(): number {\n return this.parent ? this.parent.typeaheadOptionsInScrollableView : 5;\n }\n\n get typeaheadIsFirstItemActive(): boolean {\n return this.parent ? this.parent.typeaheadIsFirstItemActive : true;\n }\n // tslint:disable-next-line:no-any\n get itemTemplate(): TemplateRef<TypeaheadOptionItemContext> {\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 activeChanged(): void {\n const index = this.matches.indexOf(this._active);\n this.activeChangeEvent.emit(`${this.popupId}-${index}`);\n }\n\n prevActiveMatch(): void {\n\n const index = this.matches.indexOf(this._active);\n\n this.active = this.matches[\n index - 1 < 0 ? this.matches.length - 1 : index - 1\n ];\n\n if (this._active.isHeader()) {\n this.prevActiveMatch();\n }\n\n if (this.typeaheadScrollable) {\n this.scrollPrevious(index);\n }\n }\n\n nextActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n\n this.active = this.matches[\n index + 1 > this.matches.length - 1 ? 0 : index + 1\n ];\n\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\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\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\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 ngOnDestroy(): void {\n this.positionServiceSubscription.unsubscribe();\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 /** sets use adaptive position */\n adaptivePosition = false;\n /** turn on/off animation */\n isAnimated = false;\n /** used to hide results on blur */\n hideResultsOnBlur = true;\n /** if true, typeahead will cancel async request on blur */\n cancelRequestOnFocusLost = false;\n /** used to choose the first item in typeahead container */\n selectFirstItem = true;\n /** used to active/inactive the first item in typeahead container */\n isFirstItemActive = 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, Observable } from 'rxjs';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { debounceTime, filter, mergeMap, switchMap, toArray } from 'rxjs/operators';\n\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 { TypeaheadOrder } from './typeahead-order.class';\nimport { TypeaheadOptionItemContext, TypeaheadOptionListContext } from './models';\n\ntype TypeaheadOption = string | {[key in string | number]: any};\ntype Typeahead = TypeaheadOption[] | Observable<TypeaheadOption[]>;\n\n@Directive({\n selector: '[typeahead]',\n exportAs: 'bs-typeahead',\n host: {\n '[attr.aria-activedescendant]': 'activeDescendant',\n '[attr.aria-aria-owns]': 'isOpen ? this._container.popupId : null',\n '[attr.aria-aria-expanded]': 'isOpen',\n '[attr.aria-autocomplete]': 'list'\n }\n})\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 @Input() typeahead: Typeahead;\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 /** sets use adaptive position */\n @Input() adaptivePosition: boolean;\n /** turn on/off animation */\n @Input() isAnimated = false;\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 /** Used to specify a custom order of matches. When options source is an array of objects\n * a field for sorting has to be set up. In case of options source is an array of string,\n * a field for sorting is absent. The ordering direction could be changed to ascending or descending.\n */\n @Input() typeaheadOrderBy: TypeaheadOrder;\n /** should be used only in case of typeahead attribute is Observable of 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 @Input() typeaheadItemTemplate: TemplateRef<TypeaheadOptionItemContext>;\n /** used to specify a custom options list template.\n * Template variables: matches, itemTemplate, query\n */\n @Input() optionsListTemplate: TemplateRef<TypeaheadOptionListContext>;\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 /** makes active first item in a list */\n @Input() typeaheadIsFirstItemActive = 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 @Output() typeaheadOnBlur = new EventEmitter<TypeaheadMatch>();\n\n /**\n * A selector specifying the element the typeahead should be appended to.\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 activeDescendant: string;\n isOpen = false;\n _container: TypeaheadContainerComponent;\n isActiveItemChanged = false;\n isFocused = false;\n cancelRequestOnFocusLost = false;\n\n // tslint:disable-next-line:no-any\n protected keyUpEventEmitter: EventEmitter<string> = new EventEmitter();\n protected _matches: TypeaheadMatch[];\n protected placement = 'bottom left';\n\n private _typeahead: ComponentLoader<TypeaheadContainerComponent>;\n private _subscriptions: Subscription[] = [];\n private _outsideClickListener: Function;\n\n constructor(\n cis: ComponentLoaderFactory,\n config: TypeaheadConfig,\n private changeDetection: ChangeDetectorRef,\n private element: ElementRef,\n private ngControl: NgControl,\n private renderer: Renderer2,\n viewContainerRef: ViewContainerRef\n ) {\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 {\n typeaheadHideResultsOnBlur: config.hideResultsOnBlur,\n typeaheadCancelRequestOnFocusLost: config.cancelRequestOnFocusLost,\n typeaheadSelectFirstItem: config.selectFirstItem,\n typeaheadIsFirstItemActive: config.isFirstItemActive,\n typeaheadMinLength: config.minLength,\n adaptivePosition: config.adaptivePosition,\n isAnimated: config.isAnimated\n }\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 (this.typeaheadAsync === undefined && !(isObservable(this.typeahead))) {\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 // enter\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 this.isFocused = true;\n // add setTimeout to fix issue #5251\n // to get and emit updated value if it's changed on focus\n setTimeout(() => {\n if (this.typeaheadMinLength === 0) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');\n }\n }, 0);\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.isFocused = false;\n if (this._container && !this._container.isFocused) {\n this.typeaheadOnBlur.emit(this._container.active);\n }\n\n if (!this.container && this._matches.length === 0) {\n this.typeaheadOnBlur.emit(new TypeaheadMatch(\n this.element.nativeElement.value,\n this.element.nativeElement.value,\n false));\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') {\n this.onBlur();\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 .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\n const normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value)\n .toString()\n .toLowerCase();\n\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n this._container.matches = this._matches;\n this.element.nativeElement.focus();\n\n this._container.activeChangeEvent.subscribe((activeId: string) => {\n this.activeDescendant = activeId;\n this.changeDetection.markForCheck();\n });\n this.isOpen = true;\n }\n\n hide(): void {\n if (this._typeahead.isShown) {\n this._typeahead.hide();\n this._outsideClickListener();\n this._container = null;\n this.isOpen = false;\n this.changeDetection.markForCheck();\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<string>(this.typeaheadWaitMs),\n switchMap(() => this.typeahead)\n )\n .subscribe((matches: TypeaheadOption[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected syncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime<string>(this.typeaheadWaitMs),\n mergeMap((value: string) => {\n const normalizedQuery = this.normalizeQuery(value);\n\n return from(this.typeahead)\n .pipe(\n filter((option: TypeaheadOption) => {\n return option && this.testMatch(this.normalizeOption(option), normalizedQuery);\n }),\n toArray()\n );\n })\n )\n .subscribe((matches: TypeaheadOption[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected normalizeOption(option: TypeaheadOption): string {\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 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: TypeaheadOption[]): 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.isFocused && this.cancelRequestOnFocusLost) {\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\n // This improves the speed as it won't have to be done for each list item\n const normalizedQuery = _controlValue.toString().toLowerCase();\n\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: TypeaheadOption[]): void {\n const limited = options.slice(0, this.typeaheadOptionsLimit);\n const sorted = !this.typeaheadOrderBy ? limited : this.orderMatches(limited);\n\n if (this.typeaheadGroupField) {\n let matches: TypeaheadMatch[] = [];\n\n // extract all group names\n const groups = sorted\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 sorted\n .filter((option: TypeaheadOption) =>\n getValueFromObject(option, this.typeaheadGroupField) === group\n )\n .map((option: TypeaheadOption) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n )\n );\n });\n\n this._matches = matches;\n } else {\n this._matches = sorted.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 orderMatches(options: TypeaheadOption[]): TypeaheadOption[] {\n if (!options.length) {\n return options;\n }\n\n if (this.typeaheadOrderBy !== null\n && this.typeaheadOrderBy !== undefined\n && typeof this.typeaheadOrderBy === 'object'\n && Object.keys(this.typeaheadOrderBy).length === 0) {\n // tslint:disable-next-line:no-console\n console.error('Field and direction properties for typeaheadOrderBy have to be set according to documentation!');\n\n return options;\n }\n\n const { field, direction } = this.typeaheadOrderBy;\n\n if (!direction || !(direction === 'asc' || direction === 'desc')) {\n // tslint:disable-next-line:no-console\n console.error('typeaheadOrderBy direction has to equal \"asc\" or \"desc\". Please follow the documentation.');\n\n return options;\n }\n\n if (typeof options[0] === 'string') {\n return direction === 'asc' ? options.sort() : options.sort().reverse();\n }\n\n if (!field || typeof field !== 'string') {\n // tslint:disable-next-line:no-console\n console.error('typeaheadOrderBy field has to set according to the documentation.');\n\n return options;\n }\n\n return options.sort((a: TypeaheadOption, b: TypeaheadOption) => {\n const stringA = getValueFromObject(a, field);\n const stringB = getValueFromObject(b, field);\n\n if (stringA < stringB) {\n return direction === 'asc' ? -1 : 1;\n }\n\n if (stringA > stringB) {\n return direction === 'asc' ? 1 : -1;\n }\n\n return 0;\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"],"names":["tslib_1.__values","trigger","state","style","transition","animate","EventEmitter","isBs3","Utils","Component","PositioningService","Renderer2","ElementRef","ChangeDetectorRef","Output","ViewChild","ViewChildren","HostListener","Injectable","isObservable","debounceTime","switchMap","mergeMap","from","filter","toArray","Directive","ComponentLoaderFactory","NgControl","ViewContainerRef","Input","NgModule","CommonModule"],"mappings":"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EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;;;;;;;ACvzBZ;QAKE,0BAAY,OAAyB;YACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC9B;QACH,uBAAC;IAAD,CAAC,IAAA;;;QAPC,qCAAkB;;QAClB,qCAAmB;;QACnB,wCAAiC;;;;;;;ACLnC;;QAQE,wBAAY,IAAS,EAAE,KAAoB,EAAE,MAAc;YAApC,sBAAA,EAAA,YAAoB;YAAE,uBAAA,EAAA,cAAc;YACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;;;;QAED,iCAAQ;;;QAAR;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;;;;QAED,iCAAQ;;;QAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QACH,qBAAC;IAAD,CAAC,IAAA;;;QApBC,+BAAuB;;QAGvB,8BAAmB;;;;;QACnB,gCAA0B;;;;;;;ACL5B;QAAA;SAKC;QAAD,qBAAC;IAAD,CAAC,IAAA;;;;;;QAHC,+BAAe;;;;;QAEf,mCAA0B;;;;;;;;;;;ICF5B,SAAgB,QAAQ,CAAC,GAAW;QAClC,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,EAAE,CAAC;SACX;QAED,OAAO,GAAG,CAAC,OAAO,CAAC,oBAAoB;;;;QAAE,UAAU,CAAS;YAC1D,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACzB,EAAC,CAAC;IACL,CAAC;;;;;IAED,SAAgB,YAAY,CAAC,aAAqB;;;;QAIhD,OAAO,aAAa,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;;;;;;;;IAGD,SAAgB,QAAQ,CAAC,GAAW,EACX,mBAAyB,EACzB,qBAA0B;QAD1B,oCAAA,EAAA,yBAAyB;QACzB,sCAAA,EAAA,0BAA0B;;;YAE3C,QAAQ,GAAG,SAAO,qBAAqB,aAAQ,qBAAqB,QAAK;aAC7E,SAAO,qBAAqB,cAAS,mBAAmB,QAAK,CAAA;;YACzD,YAAY,GAAa,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;;YAC7D,MAAM,GAAa,EAAE;;YACrB,kBAAkB,GAAW,YAAY,CAAC,MAAM;;YAClD,KAAa;;YACX,uBAAuB,GAAG,IAAI,MAAM,CAAC,MAAI,qBAAqB,OAAI,EAAE,GAAG,CAAC;QAE9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,IAAI,CAAC,EAAE;YAC9C,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,KAAK,mBAAmB,EAAE;gBAC1D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;aACzD;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;;;;;;IAGD,SAAgB,kBAAkB,CAAC,MAAW,EAAE,MAAc;;QAC5D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YACzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;SAC1B;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;;gBACnB,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAEvD,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;SAC1C;;YAEK,UAAU,GAAW,MAAM;aAC9B,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;aAC5B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;;YACf,eAAe,GAAa,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;;YAEvD,KAAuB,IAAA,oBAAAA,SAAA,eAAe,CAAA,gDAAA,6EAAE;gBAAnC,IAAM,QAAQ,4BAAA;gBACjB,IAAI,QAAQ,IAAI,MAAM,EAAE;;oBAEtB,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;iBAC3B;aACF;;;;;;;;;QACD,IAAI,CAAC,MAAM,EAAE;YAAC,OAAO,EAAE,CAAC;SAAE;QAE1B,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;;;;;ICpED;IASA,IAAa,0BAA0B,GAAG,kCAAkC;;AAE5E,QAAa,kBAAkB,GAC7BC,kBAAO,CAAC,oBAAoB,EAAE;QAC5BC,gBAAK,CAAC,eAAe,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;QACjEC,qBAAU,CAAC,oBAAoB,EAAE;YAC/BD,gBAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YACxCE,kBAAO,CAAC,0BAA0B,CAAC;SACpC,CAAC;QACFH,gBAAK,CAAC,aAAa,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC/DC,qBAAU,CAAC,kBAAkB,EAAE;YAC7BD,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC1CE,kBAAO,CAAC,0BAA0B,CAAC;SACpC,CAAC;QACFD,qBAAU,CAAC,iBAAiB,EAAEC,kBAAO,CAAC,IAAI,CAAC,CAAC;KAC7C,CAAC;;;;;;;QCEA,YAAY,GAAG,CAAC;AAEpB;QAsEE,qCACU,eAAmC,EACnC,QAAmB,EACpB,OAAmB,EAClB,iBAAoC;YAJ9C,iBAoBC;YAnBS,oBAAe,GAAf,eAAe,CAAoB;YACnC,aAAQ,GAAR,QAAQ,CAAW;YACpB,YAAO,GAAP,OAAO,CAAY;YAClB,sBAAiB,GAAjB,iBAAiB,CAAmB;;YA7CtB,sBAAiB,GAAG,IAAIC,iBAAY,EAAE,CAAC;YAI/D,cAAS,GAAG,KAAK,CAAC;YAUlB,WAAM,GAAG,CAAC,CAAC;YACX,YAAO,GAAG,mBAAiB,YAAY,EAAI,CAAC;YAkBlC,aAAQ,GAAqB,EAAE,CAAC;YA0RlC,uBAAkB;;;;YAAG,UAAU,IAAiB;;oBAChD,gBAAgB,GAAW,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS;;oBACjE,mBAAmB,GAAG,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC;;oBAC1F,OAAO,GAAG,IAAI,CAAC,SAAS;;oBACxB,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC,YAAY;gBAE9C,QAAQ,CAAC,UAAU,IAAI,mBAAmB,MAAM,OAAO,IAAI,gBAAgB,CAAC,EAAE;aAC/E,EAAC;YAnRA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3E,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS;;;YACtE;gBACE,IAAI,KAAI,CAAC,UAAU,EAAE;oBACnB,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;oBAC3E,KAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;oBAEvC,OAAO;iBACR;gBAED,KAAI,CAAC,cAAc,GAAG,YAAY,CAAC;gBACnC,KAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;aACxC,EACF,CAAC;SACH;QA5CD,sBAAI,8CAAK;;;;YAAT;gBACE,OAAO,CAACC,WAAK,EAAE,CAAC;aACjB;;;WAAA;QAED,sBAAI,iEAAwB;;;;YAA5B;;;oBAEQ,KAAK,GAAG,IAAI;gBAElB,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;oBACzC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;iBACpC,CAAC;aACH;;;WAAA;QAiCD,sBAAI,+CAAM;;;;YAAV;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;;;;;YAED,UAAW,MAAsB;gBAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;;;WALA;QAOD,sBAAI,gDAAO;;;;YAAX;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;;;YAED,UAAY,KAAuB;gBAAnC,iBAmCC;gBAlCC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;oBAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE;oBACvD,gBAAgB,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;iBACpC,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAEtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAE7G,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,UAAU;;;oBAAC;wBACT,KAAI,CAAC,iBAAiB,EAAE,CAAC;qBAC1B,EAAC,CAAC;iBACJ;gBAED,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAE/B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;wBAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;qBACxB;iBACF;gBAED,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;;wBAC9C,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI;;;;oBAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,KAAK,KAAK,KAAI,CAAC,OAAO,CAAC,KAAK,GAAA,EAAC;oBAEnF,IAAI,WAAW,EAAE;wBACf,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;wBAE/B,OAAO;qBACR;oBAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;iBACpB;aACF;;;WArCA;QAuCD,sBAAI,sDAAa;;;;YAAjB;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC7D;;;WAAA;QAGD,sBAAI,4DAAmB;;;;;;;YAAvB;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,SAAS,CAAC;aAClE;;;WAAA;QAED,sBAAI,mDAAU;;;;YAAd;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;aACrD;;;WAAA;QAED,sBAAI,yDAAgB;;;;YAApB;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC3D;;;WAAA;QAED,sBAAI,4DAAmB;;;;YAAvB;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC;aAC9D;;;WAAA;QAED,sBAAI,yEAAgC;;;;YAApC;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAgC,GAAG,CAAC,CAAC;aACvE;;;WAAA;QAED,sBAAI,mEAA0B;;;;YAA9B;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,0BAA0B,GAAG,IAAI,CAAC;aACpE;;;WAAA;QAED,sBAAI,qDAAY;;;;;;;YAAhB;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,GAAG,SAAS,CAAC;aACpE;;;WAAA;;;;;QAED,uDAAiB;;;;QAAjB,UAAkB,mBAA6B;YAC7C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE;gBACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,IAAI,mBAAmB,EAAE;gBAChE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChC;SACF;;;;QAED,mDAAa;;;QAAb;;gBACQ,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,SAAI,KAAO,CAAC,CAAC;SACzD;;;;QAED,qDAAe;;;QAAf;;gBAEQ,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAEhD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CACxB,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CACpD,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;gBAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;YAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5B;SACF;;;;QAED,qDAAe;;;QAAf;;gBACQ,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAEhD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CACxB,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CACpD,CAAC;YAGF,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;gBAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;YAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACxB;SACF;;;;;QAED,kDAAY;;;;QAAZ,UAAa,KAAqB;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;;;;;;QAED,+CAAS;;;;;QAAT,UAAU,KAAqB,EAAE,KAAwB;;gBACnD,OAAO,GAAW,KAAK,CAAC,KAAK;;gBAC7B,aAAa,GAAW,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB;kBACrE,QAAQ,CAAC,OAAO,CAAC;kBACjB,OAAO,EAAE,WAAW,EAAE;;gBACtB,QAAgB;;gBAChB,QAAgB;;YAEpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;;oBACvB,QAAQ,GAAW,KAAK,CAAC,MAAM;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE;;oBAEpC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC3B,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;wBACjC,OAAO;4BACF,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,gBAAW,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,cAAW;iCACvG,KAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAG,CAAA,CAAC;wBAC9C,aAAa;4BACR,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,gBAAW,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAW;iCACjF,KAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAG,CAAA,CAAC;qBACrD;iBACF;aACF;iBAAM,IAAI,KAAK,EAAE;;gBAEhB,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;gBACxB,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;oBACjC,OAAO;wBACF,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,gBAAW,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,cAAW;6BACvG,KAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAG,CAAA,CAAC;iBAC/C;aACF;YAED,OAAO,OAAO,CAAC;SAChB;;;;QAID,+CAAS;;;QAFT;YAGE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;;;;;QAED,8CAAQ;;;;QAAR,UAAS,KAAqB;YAC5B,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;SAC9B;;;;;;QAED,iDAAW;;;;;QAAX,UAAY,KAAqB,EAAE,CAAiB;YAApD,iBASC;YATkC,kBAAA,EAAA,SAAgB,CAAC;YAClD,IAAI,CAAC,EAAE;gBACL,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,CAAC,CAAC,cAAc,EAAE,CAAC;aACpB;YACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC/B,UAAU;;;YAAC,cAAM,OAAA,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAA,GAAE,CAAC,CAAC,CAAC;YAE/D,OAAO,KAAK,CAAC;SACd;;;;QAED,uDAAiB;;;QAAjB;YACE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;aAC/B;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;;oBACnB,QAAQ,GAAGC,WAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;;oBACxD,QAAQ,GAAGA,WAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;;oBAC/D,eAAe,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE;qBAC7F,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;oBACf,YAAY,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG;qBACrF,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;oBACf,YAAY,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG;qBACrE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;oBACf,MAAM,GAAG,IAAI,CAAC,gCAAgC,GAAG,YAAY;gBACnE,IAAI,CAAC,SAAS,GAAM,MAAM,GAAG,YAAY,GAAG,eAAe,OAAI,CAAC;aACjE;YAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;SAC7E;;;;;QAED,oDAAc;;;;QAAd,UAAe,KAAa;YAC1B,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,cAAc,EAAE,CAAC;gBAEtB,OAAO;aACR;YACD,IAAI,IAAI,CAAC,UAAU,EAAE;;oBACb,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtD,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;oBAClE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC;iBAC5E;aACF;SACF;;;;;QAED,gDAAU;;;;QAAV,UAAW,KAAa;YACtB,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEnB,OAAO;aACR;YACD,IAAI,IAAI,CAAC,UAAU,EAAE;;oBACb,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtD,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;oBAClE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS;wBACpC,SAAS,CAAC,aAAa,CAAC,SAAS;4BACjC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC;4BACjD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;iBAChD;aACF;SACF;;;;QAED,iDAAW;;;QAAX;YACE,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;SAChD;;;;;QAYO,oDAAc;;;;QAAtB;YACE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC;SACpF;;;;;QAEO,iDAAW;;;;QAAnB;YACE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;SAC5C;;oBAvWFC,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,+gFAAmD;wBACnD,IAAI,EAAE;4BACJ,KAAK,EAAE,sBAAsB;4BAC7B,uBAAuB,EAAE,OAAO;4BAChC,gBAAgB,EAAE,4CAA4C;4BAC9D,oBAAoB,EAAE,WAAW;4BACjC,gBAAgB,EAAE,QAAQ;4BAC1B,KAAK,EAAE,oCAAoC;4BAC3C,aAAa,EAAE,2BAA2B;yBAC3C;wBAaD,UAAU,EAAE,CAAC,kBAAkB,CAAC;iCAX9B,4JASD;qBAGF;;;;oBApCQC,8BAAkB;oBATzBC,cAAS;oBAJTC,eAAU;oBAFVC,sBAAiB;;;wCAuDhBC,WAAM,SAAC,cAAc;gCAmCrBC,cAAS,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;iCAGxCC,iBAAY,SAAC,YAAY;gCAuMzBC,iBAAY,SAAC,YAAY,cACzBA,iBAAY,SAAC,MAAM;;QA6FtB,kCAAC;KAxWD,IAwWC;;;QA3UC,wDAA+D;;QAE/D,6CAA2B;;QAC3B,4CAAyB;;QACzB,gDAAkB;;QAClB,0CAAY;;QACZ,2CAAa;;QACb,8CAAgB;;QAChB,gDAAkB;;QAClB,6CAAgB;;QAChB,gDAAkB;;QAClB,oDAAuB;;QACvB,qDAAuB;;QACvB,kEAA0C;;QAC1C,6CAAW;;QACX,8CAA4C;;;;;QAiB5C,8CAAkC;;;;;QAClC,+CAA0C;;;;;QAE1C,gDAC8B;;;;;QAE9B,iDAC0C;;;;;QAoR1C,yDAOE;;;;;QAxRA,sDAA2C;;;;;QAC3C,+CAA2B;;QAC3B,8CAA0B;;;;;QAC1B,wDAA4C;;;;;;;ICtGhD;;;AAGA;QAAA;;;;YAGE,qBAAgB,GAAG,KAAK,CAAC;;;;YAEzB,eAAU,GAAG,KAAK,CAAC;;;;YAEnB,sBAAiB,GAAG,IAAI,CAAC;;;;YAEzB,6BAAwB,GAAG,KAAK,CAAC;;;;YAEjC,oBAAe,GAAG,IAAI,CAAC;;;;YAEvB,sBAAiB,GAAG,IAAI,CAAC;;;;;YAIzB,cAAS,GAAG,CAAC,CAAC;SACf;;oBAlBAC,eAAU;;QAkBX,sBAAC;KAlBD,IAkBC;;;;;;QAfC,2CAAyB;;;;;QAEzB,qCAAmB;;;;;QAEnB,4CAAyB;;;;;QAEzB,mDAAiC;;;;;QAEjC,0CAAuB;;;;;QAEvB,4CAAyB;;;;;;QAIzB,oCAAc;;;;;;;;QCmJd,4BACE,GAA2B,EAC3B,MAAuB,EACf,eAAkC,EAClC,OAAmB,EACnB,SAAoB,EACpB,QAAmB,EAC3B,gBAAkC;YAJ1B,oBAAe,GAAf,eAAe,CAAmB;YAClC,YAAO,GAAP,OAAO,CAAY;YACnB,cAAS,GAAT,SAAS,CAAW;YACpB,aAAQ,GAAR,QAAQ,CAAW;;;;;;YA3HpB,uBAAkB,GAAW,KAAK,CAAC,CAAC;;;;YAIpC,eAAU,GAAG,KAAK,CAAC;;;;;;YAuBnB,mBAAc,GAAY,KAAK,CAAC,CAAC;;;;;YAIjC,sBAAiB,GAAG,IAAI,CAAC;;;;;YAIzB,yBAAoB,GAAG,IAAI,CAAC;;;;;YAI5B,4BAAuB,GAAG,GAAG,CAAC;;;;;;YAK9B,8BAAyB,GAAG,KAAK,CAAC;;;;YAUlC,wBAAmB,GAAG,KAAK,CAAC;;;;YAE5B,qCAAgC,GAAG,CAAC,CAAC;;;;;;YAOrC,6BAAwB,GAAG,IAAI,CAAC;;;;YAEhC,+BAA0B,GAAG,IAAI,CAAC;;;;;YAIjC,qBAAgB,GAAG,IAAIZ,iBAAY,EAAW,CAAC;;;;;YAI/C,uBAAkB,GAAG,IAAIA,iBAAY,EAAW,CAAC;;;;YAEjD,sBAAiB,GAAG,IAAIA,iBAAY,EAAkB,CAAC;;;;YAEvD,oBAAe,GAAG,IAAIA,iBAAY,EAAkB,CAAC;;;;YAQtD,WAAM,GAAG,KAAK,CAAC;YAiBxB,WAAM,GAAG,KAAK,CAAC;YAEf,wBAAmB,GAAG,KAAK,CAAC;YAC5B,cAAS,GAAG,KAAK,CAAC;YAClB,6BAAwB,GAAG,KAAK,CAAC;;YAGvB,sBAAiB,GAAyB,IAAIA,iBAAY,EAAE,CAAC;YAE7D,cAAS,GAAG,aAAa,CAAC;YAG5B,mBAAc,GAAmB,EAAE,CAAC;YAa1C,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,YAAY,CAChC,OAAO,EACP,gBAAgB,EAChB,QAAQ,CACT;iBACE,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAE3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAChB;gBACE,0BAA0B,EAAE,MAAM,CAAC,iBAAiB;gBACpD,iCAAiC,EAAE,MAAM,CAAC,wBAAwB;gBAClE,wBAAwB,EAAE,MAAM,CAAC,eAAe;gBAChD,0BAA0B,EAAE,MAAM,CAAC,iBAAiB;gBACpD,kBAAkB,EAAE,MAAM,CAAC,SAAS;gBACpC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CACF,CAAC;SACH;;;;QAED,qCAAQ;;;QAAR;YACE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC;YAE9D,IAAI,CAAC,kBAAkB;gBACrB,IAAI,CAAC,kBAAkB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAEnE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;;YAGjD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,EAAEa,iBAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;gBACxE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B;YAED,IAAIA,iBAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;YAED,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;iBAAM;gBACL,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;SACF;;;;;;QAID,oCAAO;;;;QAFP,UAEQ,CAAM;;;;;;gBAKN,KAAK,GACT,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;kBACxB,CAAC,CAAC,MAAM,CAAC,KAAK;kBACd,CAAC,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;sBAClC,CAAC,CAAC,MAAM,CAAC,WAAW;sBACpB,CAAC,CAAC,MAAM,CAAC,SAAS;YACxB,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACnE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC7C;iBAAM;gBACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF;;;;;QAGD,qCAAQ;;;;QADR,UACS,KAAoB;YAC3B,IAAI,IAAI,CAAC,UAAU,EAAE;;;gBAGnB,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;oBAClD,IAAI,CAAC,IAAI,EAAE,CAAC;oBAEZ,OAAO;iBACR;;;gBAID,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE;oBACnD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;oBAElC,OAAO;iBACR;;;gBAID,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;oBACrD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;oBAElC,OAAO;iBACR;;;gBAID,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;oBACjD,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;oBAEpC,OAAO;iBACR;aACF;SACF;;;;QAID,oCAAO;;;QAFP;YAAA,iBAYC;YATC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;;YAGtB,UAAU;;;YAAC;gBACT,IAAI,KAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE;oBACjC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjC,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;iBACrE;aACF,GAAE,CAAC,CAAC,CAAC;SACP;;;;QAGD,mCAAM;;;QADN;YAEE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;gBACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACnD;YAED,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,cAAc,CAC1C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAChC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAChC,KAAK,CAAC,CAAC,CAAC;aACT;SACF;;;;;QAGD,sCAAS;;;;QADT,UACU,KAAoB;;YAE5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,OAAO;aACR;;YAGD,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;gBAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;;YAGD,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;gBAC/F,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,wBAAwB,EAAE;oBACjC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;oBAEpC,OAAO;iBACR;gBAED,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAClC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBAC5D,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;oBACjC,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;aACF;SACF;;;;;QAED,wCAAW;;;;QAAX,UAAY,KAAqB;;gBACzB,QAAQ,GAAW,KAAK,CAAC,KAAK;YACpC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;QAED,sBAAI,uCAAO;;;;YAAX;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;WAAA;;;;QAED,iCAAI;;;QAAJ;YAAA,iBAgDC;YA/CC,IAAI,CAAC,UAAU;iBACZ,MAAM,CAAC,2BAA2B,CAAC;iBACnC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;iBAClB,QAAQ,CAAC,EAAC,UAAU,EAAE,CAAG,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,WAAO,EAAC,CAAC;iBAChE,IAAI,CAAC;gBACJ,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YAEL,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO;;;;YAAE,UAAC,CAAa;gBACnF,IAAI,KAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;oBAClF,OAAO,SAAS,CAAC;iBAClB;gBACD,IAAI,CAAC,KAAI,CAAC,0BAA0B,IAAI,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;oBACrF,OAAO,SAAS,CAAC;iBAClB;gBACD,KAAI,CAAC,cAAc,EAAE,CAAC;aACvB,EAAC,CAAC;YAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;;;gBAGxB,eAAe,GAAG,CAAC,IAAI,CAAC,iBAAiB;kBAC3C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;kBACtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;iBAC7B,QAAQ,EAAE;iBACV,WAAW,EAAE;YAEhB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB;kBAC7C,QAAQ,CACR,eAAe,EACf,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,yBAAyB,CAC/B;kBACC,eAAe,CAAC;YAEpB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAEnC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS;;;;YAAC,UAAC,QAAgB;gBAC3D,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBACjC,KAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;aACrC,EAAC,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;;;;QAED,iCAAI;;;QAAJ;YACE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;gBAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;aACrC;SACF;;;;QAED,2CAAc;;;QAAd;YACE,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;gBACjD,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF;;;;QAED,wCAAW;;;QAAX;;;;gBAEE,KAAkB,IAAA,KAAAnB,SAAA,IAAI,CAAC,cAAc,CAAA,gBAAA,4BAAE;oBAAlC,IAAM,GAAG,WAAA;oBACZ,GAAG,CAAC,WAAW,EAAE,CAAC;iBACnB;;;;;;;;;YACD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC3B;;;;;QAES,yCAAY;;;;QAAtB;YAAA,iBAWC;YAVC,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,iBAAiB;iBACnB,IAAI,CACHoB,sBAAY,CAAS,IAAI,CAAC,eAAe,CAAC,EAC1CC,mBAAS;;;YAAC,cAAM,OAAA,KAAI,CAAC,SAAS,GAAA,EAAC,CAChC;iBACA,SAAS;;;;YAAC,UAAC,OAA0B;gBACpC,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;aACjC,EAAC,CACL,CAAC;SACH;;;;;QAES,wCAAW;;;;QAArB;YAAA,iBAqBC;YApBC,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,iBAAiB;iBACnB,IAAI,CACHD,sBAAY,CAAS,IAAI,CAAC,eAAe,CAAC,EAC1CE,kBAAQ;;;;YAAC,UAAC,KAAa;;oBACf,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAElD,OAAOC,SAAI,CAAC,KAAI,CAAC,SAAS,CAAC;qBACxB,IAAI,CACHC,gBAAM;;;;gBAAC,UAAC,MAAuB;oBAC7B,OAAO,MAAM,IAAI,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;iBAChF,EAAC,EACFC,iBAAO,EAAE,CACV,CAAC;aACL,EAAC,CACH;iBACA,SAAS;;;;YAAC,UAAC,OAA0B;gBACpC,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;aACjC,EAAC,CACL,CAAC;SACH;;;;;;QAES,4CAAe;;;;;QAAzB,UAA0B,MAAuB;;gBACzC,WAAW,GAAW,kBAAkB,CAC5C,MAAM,EACN,IAAI,CAAC,oBAAoB,CAC1B;;gBACK,gBAAgB,GAAG,IAAI,CAAC,iBAAiB;kBAC3C,QAAQ,CAAC,WAAW,CAAC;kBACrB,WAAW;YAEf,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACvC;;;;;;QAES,2CAAc;;;;;QAAxB,UAAyB,KAAa;;;gBAEhC,eAAe,GAAsB,CAAC,IAAI,CAAC,iBAAiB;kBAC5D,QAAQ,CAAC,KAAK,CAAC;kBACf,KAAK;iBACN,QAAQ,EAAE;iBACV,WAAW,EAAE;YAChB,eAAe,GAAG,IAAI,CAAC,oBAAoB;kBACvC,QAAQ,CACR,eAAe,EACf,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,yBAAyB,CAC/B;kBACC,eAAe,CAAC;YAEpB,OAAO,eAAe,CAAC;SACxB;;;;;;;QAES,sCAAS;;;;;;QAAnB,UAAoB,KAAa,EAAE,IAAuB;;gBACpD,WAAmB;YAEvB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE;oBACvC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;wBACpD,OAAO,KAAK,CAAC;qBACd;iBACF;gBAED,OAAO,IAAI,CAAC;aACb;YAED,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjC;;;;;;QAES,8CAAiB;;;;;QAA3B,UAA4B,OAA0B;YACpD,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAEnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAEjD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;gBACtB,IAAI,CAAC,IAAI,EAAE,CAAC;gBAEZ,OAAO;aACR;YAED,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,wBAAwB,EAAE;gBACpD,OAAO;aACR;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;;;oBAEb,aAAa,GAAG,CAAC,IAAI,CAAC,iBAAiB;sBACzC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;sBACtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;;;oBAGjC,eAAe,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE;gBAE9D,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB;sBAC7C,QAAQ,CACR,eAAe,EACf,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,yBAAyB,CAC/B;sBACC,eAAe,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;aACzC;iBAAM;gBACL,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF;;;;;;QAES,2CAAc;;;;;QAAxB,UAAyB,OAA0B;YAAnD,iBA4CC;;gBA3CO,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;;gBACtD,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAE5E,IAAI,IAAI,CAAC,mBAAmB,EAAE;;oBACxB,SAAO,GAAqB,EAAE;;;oBAG5B,MAAM,GAAG,MAAM;qBAClB,GAAG;;;;gBAAC,UAAC,MAAsB;oBAC1B,OAAA,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,mBAAmB,CAAC;iBAAA,EACrD;qBACA,MAAM;;;;;;gBAAC,UAAC,CAAS,EAAE,CAAS,EAAE,CAAW,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAA,EAAC;gBAEpE,MAAM,CAAC,OAAO;;;;gBAAC,UAAC,KAAa;;oBAE3B,SAAO,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;;oBAGrD,SAAO,GAAG,SAAO,CAAC,MAAM,CACtB,MAAM;yBACH,MAAM;;;;oBAAC,UAAC,MAAuB;wBAC9B,OAAA,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK;qBAAA,EAC/D;yBACA,GAAG;;;;oBAAC,UAAC,MAAuB;wBAC3B,OAAA,IAAI,cAAc,CAChB,MAAM,EACN,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,oBAAoB,CAAC,CACtD;qBAAA,EACF,CACJ,CAAC;iBACH,EAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,GAAG,SAAO,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG;;;;;;;gBAExB,UAAC,MAAW;oBACV,OAAA,IAAI,cAAc,CAChB,MAAM,EACN,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,oBAAoB,CAAC,CACtD;iBAAA,EACJ,CAAC;aACH;SACF;;;;;;QAES,yCAAY;;;;;QAAtB,UAAuB,OAA0B;YAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACnB,OAAO,OAAO,CAAC;aAChB;YAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI;mBAC7B,IAAI,CAAC,gBAAgB,KAAK,SAAS;mBACnC,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;mBACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;;gBAEpD,OAAO,CAAC,KAAK,CAAC,gGAAgG,CAAC,CAAC;gBAEhH,OAAO,OAAO,CAAC;aAChB;YAEK,IAAA,0BAA4C,EAA1C,gBAAK,EAAE,wBAAmC;YAElD,IAAI,CAAC,SAAS,IAAI,EAAE,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE;;gBAEhE,OAAO,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;gBAE3G,OAAO,OAAO,CAAC;aAChB;YAED,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBAClC,OAAO,SAAS,KAAK,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;aACxE;YAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;;gBAEvC,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBAEnF,OAAO,OAAO,CAAC;aAChB;YAED,OAAO,OAAO,CAAC,IAAI;;;;;YAAC,UAAC,CAAkB,EAAE,CAAkB;;oBACnD,OAAO,GAAG,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC;;oBACtC,OAAO,GAAG,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC;gBAE5C,IAAI,OAAO,GAAG,OAAO,EAAE;oBACrB,OAAO,SAAS,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;iBACrC;gBAED,IAAI,OAAO,GAAG,OAAO,EAAE;oBACrB,OAAO,SAAS,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBACrC;gBAED,OAAO,CAAC,CAAC;aACV,EAAC,CAAC;SACJ;;;;;QAES,uCAAU;;;;QAApB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC;;oBAxmBFC,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;wBACvB,QAAQ,EAAE,cAAc;wBACxB,IAAI,EAAE;4BACJ,8BAA8B,EAAE,kBAAkB;4BAClD,uBAAuB,EAAE,yCAAyC;4BAClE,2BAA2B,EAAE,QAAQ;4BACrC,0BAA0B,EAAE,MAAM;yBACnC;qBACF;;;;oBAtByBC,sCAAsB;oBAKvC,eAAe;oBArBtBd,sBAAiB;oBAEjBD,eAAU;oBAWHgB,eAAS;oBAJhBjB,cAAS;oBAETkB,qBAAgB;;;gCAgCfC,UAAK;yCAKLA,UAAK;uCAELA,UAAK;iCAELA,UAAK;sCAELA,UAAK;4CAELA,UAAK;2CAKLA,UAAK;0CAILA,UAAK;uCAKLA,UAAK;qCAKLA,UAAK;wCAILA,UAAK;2CAILA,UAAK;8CAILA,UAAK;gDAKLA,UAAK;4CAILA,UAAK;0CAILA,UAAK;0CAELA,UAAK;uDAELA,UAAK;iDAELA,UAAK;+CAKLA,UAAK;iDAELA,UAAK;uCAILhB,WAAM;yCAINA,WAAM;wCAENA,WAAM;sCAENA,WAAM;gCAKNgB,UAAK;6BAGLA,UAAK;8BAsFLb,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;+BAuBhCA,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;8BAuChCA,iBAAY,SAAC,OAAO,cACpBA,iBAAY,SAAC,OAAO;6BAapBA,iBAAY,SAAC,MAAM;gCAenBA,iBAAY,SAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;QAgVrC,yBAAC;KAzmBD,IAymBC;;;;;;;QA3lBC,uCAA8B;;;;;;;QAK9B,gDAA6C;;;;;QAE7C,8CAAmC;;;;;QAEnC,wCAA4B;;;;;QAE5B,6CAAiC;;;;;QAEjC,mDAAuC;;;;;;;QAKvC,kDAAsC;;;;;;QAItC,iDAAqC;;;;;;;QAKrC,8CAA0C;;;;;;;QAK1C,4CAA0C;;;;;;QAI1C,+CAAkC;;;;;;QAIlC,kDAAqC;;;;;;QAIrC,qDAAuC;;;;;;;QAKvC,uDAA2C;;;;;;QAI3C,mDAAwE;;;;;;QAIxE,iDAAsE;;;;;QAEtE,iDAAqC;;;;;QAErC,8DAA8C;;;;;QAE9C,wDAA6C;;;;;;;QAK7C,sDAAyC;;;;;QAEzC,wDAA2C;;;;;;QAI3C,8CAAyD;;;;;;QAIzD,gDAA2D;;;;;QAE3D,+CAAiE;;;;;QAEjE,6CAA+D;;;;;QAK/D,uCAA2B;;;;;QAG3B,oCAAwB;;;;;QAgBxB,8CAAyB;;QACzB,oCAAe;;QACf,wCAAwC;;QACxC,iDAA4B;;QAC5B,uCAAkB;;QAClB,sDAAiC;;;;;QAGjC,+CAAuE;;;;;QACvE,sCAAqC;;;;;QACrC,uCAAoC;;;;;QAEpC,wCAAiE;;;;;QACjE,4CAA4C;;;;;QAC5C,mDAAwC;;;;;QAKtC,6CAA0C;;;;;QAC1C,qCAA2B;;;;;QAC3B,uCAA4B;;;;;QAC5B,sCAA2B;;;;;;;AC7K/B;QASA;SAaC;;;;QANQ,uBAAO;;;QAAd;YACE,OAAO;gBACL,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE,CAACU,sCAAsB,EAAEjB,8BAAkB,EAAE,eAAe,CAAC;aACzE,CAAC;SACH;;oBAZFqB,aAAQ,SAAC;wBACR,OAAO,EAAE,CAACC,mBAAY,CAAC;wBACvB,YAAY,EAAE,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;wBAC/D,OAAO,EAAE,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;wBAC1D,eAAe,EAAE,CAAC,2BAA2B,CAAC;qBAC/C;;QAQD,sBAAC;KAbD;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ngx-bootstrap-typeahead.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://ngx-bootstrap/typeahead/latin-map.ts","ng://ngx-bootstrap/typeahead/typeahead-options.class.ts","ng://ngx-bootstrap/typeahead/typeahead-match.class.ts","ng://ngx-bootstrap/typeahead/typeahead-order.class.ts","ng://ngx-bootstrap/typeahead/typeahead-utils.ts","ng://ngx-bootstrap/typeahead/typeahead-animations.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"],"sourcesContent":["/*! *****************************************************************************\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","/* 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ž': 'D',\n 'Đ': 'D',\n 'Ƌ': 'D',\n 'DZ': 'DZ',\n 'DŽ': '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 'Lj': 'L',\n 'Ł': 'L',\n 'LJ': '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 'Nj': 'N',\n 'Ñ': 'N',\n 'NJ': '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 'dž': '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': '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': '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': 'ff',\n 'ffi': 'ffi',\n 'ffl': 'ffl',\n 'fi': 'fi',\n 'fl': 'fl',\n 'ij': 'ij',\n 'œ': 'oe',\n 'st': '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","export class TypeaheadOrder {\n /** field for sorting */\n field?: string;\n /** ordering direction, could be 'asc' or 'desc' */\n direction: 'asc' | 'desc';\n}\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 animate,\n style,\n AnimationTriggerMetadata,\n state,\n transition,\n trigger\n} from '@angular/animations';\n\nexport const TYPEAHEAD_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';\n\nexport const typeaheadAnimation: AnimationTriggerMetadata =\n trigger('typeaheadAnimation', [\n state('animated-down', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-down', [\n style({ height: 0, overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n state('animated-up', style({ height: '*', overflow: 'hidden'})),\n transition('* => animated-up', [\n style({ height: '*', overflow: 'hidden' }),\n animate(TYPEAHEAD_ANIMATION_TIMING)\n ]),\n transition('* => unanimated', animate('0s'))\n ]);\n","// tslint:disable:max-file-line-count max-line-length\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n OnDestroy,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n Output,\n EventEmitter\n} from '@angular/core';\n\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { Subscription } from 'rxjs';\n\nimport { latinize } from './typeahead-utils';\nimport { TypeaheadMatch } from './typeahead-match.class';\nimport { TypeaheadDirective } from './typeahead.directive';\nimport { typeaheadAnimation } from './typeahead-animations';\nimport { TypeaheadOptionItemContext, TypeaheadOptionListContext, TypeaheadTemplateMethods } from './models';\n\nlet nextWindowId = 0;\n\n@Component({\n selector: 'typeahead-container',\n templateUrl: './typeahead-container.component.html',\n host: {\n class: 'dropdown open bottom',\n '[class.dropdown-menu]': 'isBs4',\n '[style.height]': `isBs4 && needScrollbar ? guiHeight: 'auto'`,\n '[style.visibility]': `'inherit'`,\n '[class.dropup]': 'dropup',\n style: 'position: absolute;display: block;',\n '[attr.role]': `isBs4 ? 'listbox' : null `\n },\n styles: [\n `\n :host.dropdown {\n z-index: 1000;\n }\n\n :host.dropdown-menu, .dropdown-menu {\n overflow-y: auto;\n height: 100px;\n }\n `\n ],\n animations: [typeaheadAnimation]\n})\n\nexport class TypeaheadContainerComponent implements OnDestroy {\n // tslint:disable-next-line: no-output-rename\n @Output('activeChange') activeChangeEvent = new EventEmitter();\n\n parent: TypeaheadDirective;\n query: string[] | string;\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 animationState: string;\n positionServiceSubscription: Subscription;\n height = 0;\n popupId = `ngb-typeahead-${nextWindowId++}`;\n\n get isBs4(): boolean {\n return !isBs3();\n }\n\n get typeaheadTemplateMethods(): TypeaheadTemplateMethods {\n /* tslint:disable:no-this-assignment */\n const _that = this;\n\n return {\n selectMatch: this.selectMatch.bind(_that),\n selectActive: this.selectActive.bind(_that),\n isActive: this.isActive.bind(_that)\n };\n }\n\n protected _active: TypeaheadMatch;\n protected _matches: TypeaheadMatch[] = [];\n\n @ViewChild('ulElement', { static: false })\n private ulElement: ElementRef;\n\n @ViewChildren('liElements')\n private liElements: QueryList<ElementRef>;\n\n constructor(\n private positionService: PositioningService,\n private renderer: Renderer2,\n public element: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n this.renderer.setAttribute(this.element.nativeElement, 'id', this.popupId);\n this.positionServiceSubscription = this.positionService.event$.subscribe(\n () => {\n if (this.isAnimated) {\n this.animationState = this.isTopPosition ? 'animated-up' : 'animated-down';\n this.changeDetectorRef.detectChanges();\n\n return;\n }\n\n this.animationState = 'unanimated';\n this.changeDetectorRef.detectChanges();\n }\n );\n }\n\n get active(): TypeaheadMatch {\n return this._active;\n }\n\n set active(active: TypeaheadMatch) {\n this._active = active;\n this.activeChanged();\n }\n\n get matches(): TypeaheadMatch[] {\n return this._matches;\n }\n\n set matches(value: TypeaheadMatch[]) {\n this.positionService.setOptions({\n modifiers: { flip: { enabled: this.adaptivePosition } },\n allowedPositions: ['top', 'bottom']\n });\n\n this._matches = value;\n\n this.needScrollbar = this.typeaheadScrollable && this.typeaheadOptionsInScrollableView < this.matches.length;\n\n if (this.typeaheadScrollable) {\n setTimeout(() => {\n this.setScrollableMode();\n });\n }\n\n if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {\n this.active = this._matches[0];\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\n }\n\n if (this._active && !this.typeaheadIsFirstItemActive) {\n const concurrency = this._matches.find(match => match.value === this._active.value);\n\n if (concurrency) {\n this.selectActive(concurrency);\n\n return;\n }\n\n this.active = null;\n }\n }\n\n get isTopPosition(): boolean {\n return this.element.nativeElement.classList.contains('top');\n }\n\n // tslint:disable-next-line:no-any\n get optionsListTemplate(): TemplateRef<TypeaheadOptionListContext> {\n return this.parent ? this.parent.optionsListTemplate : undefined;\n }\n\n get isAnimated(): boolean {\n return this.parent ? this.parent.isAnimated : false;\n }\n\n get adaptivePosition(): boolean {\n return this.parent ? this.parent.adaptivePosition : false;\n }\n\n get typeaheadScrollable(): boolean {\n return this.parent ? this.parent.typeaheadScrollable : false;\n }\n\n get typeaheadOptionsInScrollableView(): number {\n return this.parent ? this.parent.typeaheadOptionsInScrollableView : 5;\n }\n\n get typeaheadIsFirstItemActive(): boolean {\n return this.parent ? this.parent.typeaheadIsFirstItemActive : true;\n }\n // tslint:disable-next-line:no-any\n get itemTemplate(): TemplateRef<TypeaheadOptionItemContext> {\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 activeChanged(): void {\n const index = this.matches.indexOf(this._active);\n this.activeChangeEvent.emit(`${this.popupId}-${index}`);\n }\n\n prevActiveMatch(): void {\n\n const index = this.matches.indexOf(this._active);\n\n this.active = this.matches[\n index - 1 < 0 ? this.matches.length - 1 : index - 1\n ];\n\n if (this._active.isHeader()) {\n this.prevActiveMatch();\n }\n\n if (this.typeaheadScrollable) {\n this.scrollPrevious(index);\n }\n }\n\n nextActiveMatch(): void {\n const index = this.matches.indexOf(this._active);\n\n this.active = this.matches[\n index + 1 > this.matches.length - 1 ? 0 : index + 1\n ];\n\n\n if (this._active.isHeader()) {\n this.nextActiveMatch();\n }\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\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\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 ngOnDestroy(): void {\n this.positionServiceSubscription.unsubscribe();\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 /** sets use adaptive position */\n adaptivePosition = false;\n /** turn on/off animation */\n isAnimated = false;\n /** used to hide results on blur */\n hideResultsOnBlur = true;\n /** if true, typeahead will cancel async request on blur */\n cancelRequestOnFocusLost = false;\n /** used to choose the first item in typeahead container */\n selectFirstItem = true;\n /** used to active/inactive the first item in typeahead container */\n isFirstItemActive = 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, Observable } from 'rxjs';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { debounceTime, filter, mergeMap, switchMap, toArray } from 'rxjs/operators';\n\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 { TypeaheadOrder } from './typeahead-order.class';\nimport { TypeaheadOptionItemContext, TypeaheadOptionListContext } from './models';\n\ntype TypeaheadOption = string | {[key in string | number]: any};\ntype Typeahead = TypeaheadOption[] | Observable<TypeaheadOption[]>;\n\n@Directive({\n selector: '[typeahead]',\n exportAs: 'bs-typeahead',\n host: {\n '[attr.aria-activedescendant]': 'activeDescendant',\n '[attr.aria-aria-owns]': 'isOpen ? this._container.popupId : null',\n '[attr.aria-aria-expanded]': 'isOpen',\n '[attr.aria-autocomplete]': 'list'\n }\n})\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 @Input() typeahead: Typeahead;\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 /** sets use adaptive position */\n @Input() adaptivePosition: boolean;\n /** turn on/off animation */\n @Input() isAnimated = false;\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 /** Used to specify a custom order of matches. When options source is an array of objects\n * a field for sorting has to be set up. In case of options source is an array of string,\n * a field for sorting is absent. The ordering direction could be changed to ascending or descending.\n */\n @Input() typeaheadOrderBy: TypeaheadOrder;\n /** should be used only in case of typeahead attribute is Observable of 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 @Input() typeaheadItemTemplate: TemplateRef<TypeaheadOptionItemContext>;\n /** used to specify a custom options list template.\n * Template variables: matches, itemTemplate, query\n */\n @Input() optionsListTemplate: TemplateRef<TypeaheadOptionListContext>;\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 /** makes active first item in a list */\n @Input() typeaheadIsFirstItemActive = 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 @Output() typeaheadOnBlur = new EventEmitter<TypeaheadMatch>();\n\n /**\n * A selector specifying the element the typeahead should be appended to.\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 activeDescendant: string;\n isOpen = false;\n list = 'list';\n _container: TypeaheadContainerComponent;\n isActiveItemChanged = false;\n isFocused = false;\n cancelRequestOnFocusLost = false;\n\n // tslint:disable-next-line:no-any\n protected keyUpEventEmitter: EventEmitter<string> = new EventEmitter();\n protected _matches: TypeaheadMatch[];\n protected placement = 'bottom left';\n\n private _typeahead: ComponentLoader<TypeaheadContainerComponent>;\n private _subscriptions: Subscription[] = [];\n private _outsideClickListener: Function;\n\n constructor(\n cis: ComponentLoaderFactory,\n config: TypeaheadConfig,\n private changeDetection: ChangeDetectorRef,\n private element: ElementRef,\n private ngControl: NgControl,\n private renderer: Renderer2,\n viewContainerRef: ViewContainerRef\n ) {\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 {\n typeaheadHideResultsOnBlur: config.hideResultsOnBlur,\n typeaheadCancelRequestOnFocusLost: config.cancelRequestOnFocusLost,\n typeaheadSelectFirstItem: config.selectFirstItem,\n typeaheadIsFirstItemActive: config.isFirstItemActive,\n typeaheadMinLength: config.minLength,\n adaptivePosition: config.adaptivePosition,\n isAnimated: config.isAnimated\n }\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 (this.typeaheadAsync === undefined && !(isObservable(this.typeahead))) {\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 // enter\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 this.isFocused = true;\n // add setTimeout to fix issue #5251\n // to get and emit updated value if it's changed on focus\n setTimeout(() => {\n if (this.typeaheadMinLength === 0) {\n this.typeaheadLoading.emit(true);\n this.keyUpEventEmitter.emit(this.element.nativeElement.value || '');\n }\n }, 0);\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.isFocused = false;\n if (this._container && !this._container.isFocused) {\n this.typeaheadOnBlur.emit(this._container.active);\n }\n\n if (!this.container && this._matches.length === 0) {\n this.typeaheadOnBlur.emit(new TypeaheadMatch(\n this.element.nativeElement.value,\n this.element.nativeElement.value,\n false));\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') {\n this.onBlur();\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 .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\n const normalizedQuery = (this.typeaheadLatinize\n ? latinize(this.ngControl.control.value)\n : this.ngControl.control.value)\n .toString()\n .toLowerCase();\n\n this._container.query = this.typeaheadSingleWords\n ? tokenize(\n normalizedQuery,\n this.typeaheadWordDelimiters,\n this.typeaheadPhraseDelimiters\n )\n : normalizedQuery;\n\n this._container.matches = this._matches;\n this.element.nativeElement.focus();\n\n this._container.activeChangeEvent.subscribe((activeId: string) => {\n this.activeDescendant = activeId;\n this.changeDetection.markForCheck();\n });\n this.isOpen = true;\n }\n\n hide(): void {\n if (this._typeahead.isShown) {\n this._typeahead.hide();\n this._outsideClickListener();\n this._container = null;\n this.isOpen = false;\n this.changeDetection.markForCheck();\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<string>(this.typeaheadWaitMs),\n switchMap(() => this.typeahead)\n )\n .subscribe((matches: TypeaheadOption[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected syncActions(): void {\n this._subscriptions.push(\n this.keyUpEventEmitter\n .pipe(\n debounceTime<string>(this.typeaheadWaitMs),\n mergeMap((value: string) => {\n const normalizedQuery = this.normalizeQuery(value);\n\n return from(this.typeahead)\n .pipe(\n filter((option: TypeaheadOption) => {\n return option && this.testMatch(this.normalizeOption(option), normalizedQuery);\n }),\n toArray()\n );\n })\n )\n .subscribe((matches: TypeaheadOption[]) => {\n this.finalizeAsyncCall(matches);\n })\n );\n }\n\n protected normalizeOption(option: TypeaheadOption): string {\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 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: TypeaheadOption[]): 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.isFocused && this.cancelRequestOnFocusLost) {\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\n // This improves the speed as it won't have to be done for each list item\n const normalizedQuery = _controlValue.toString().toLowerCase();\n\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: TypeaheadOption[]): void {\n const limited = options.slice(0, this.typeaheadOptionsLimit);\n const sorted = !this.typeaheadOrderBy ? limited : this.orderMatches(limited);\n\n if (this.typeaheadGroupField) {\n let matches: TypeaheadMatch[] = [];\n\n // extract all group names\n const groups = sorted\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 sorted\n .filter((option: TypeaheadOption) =>\n getValueFromObject(option, this.typeaheadGroupField) === group\n )\n .map((option: TypeaheadOption) =>\n new TypeaheadMatch(\n option,\n getValueFromObject(option, this.typeaheadOptionField)\n )\n )\n );\n });\n\n this._matches = matches;\n } else {\n this._matches = sorted.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 orderMatches(options: TypeaheadOption[]): TypeaheadOption[] {\n if (!options.length) {\n return options;\n }\n\n if (this.typeaheadOrderBy !== null\n && this.typeaheadOrderBy !== undefined\n && typeof this.typeaheadOrderBy === 'object'\n && Object.keys(this.typeaheadOrderBy).length === 0) {\n // tslint:disable-next-line:no-console\n console.error('Field and direction properties for typeaheadOrderBy have to be set according to documentation!');\n\n return options;\n }\n\n const { field, direction } = this.typeaheadOrderBy;\n\n if (!direction || !(direction === 'asc' || direction === 'desc')) {\n // tslint:disable-next-line:no-console\n console.error('typeaheadOrderBy direction has to equal \"asc\" or \"desc\". Please follow the documentation.');\n\n return options;\n }\n\n if (typeof options[0] === 'string') {\n return direction === 'asc' ? options.sort() : options.sort().reverse();\n }\n\n if (!field || typeof field !== 'string') {\n // tslint:disable-next-line:no-console\n console.error('typeaheadOrderBy field has to set according to the documentation.');\n\n return options;\n }\n\n return options.sort((a: TypeaheadOption, b: TypeaheadOption) => {\n const stringA = getValueFromObject(a, field);\n const stringB = getValueFromObject(b, field);\n\n if (stringA < stringB) {\n return direction === 'asc' ? -1 : 1;\n }\n\n if (stringA > stringB) {\n return direction === 'asc' ? 1 : -1;\n }\n\n return 0;\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"],"names":["tslib_1.__values","trigger","state","style","transition","animate","EventEmitter","isBs3","Utils","Component","PositioningService","Renderer2","ElementRef","ChangeDetectorRef","Output","ViewChild","ViewChildren","HostListener","Injectable","isObservable","debounceTime","switchMap","mergeMap","from","filter","toArray","Directive","ComponentLoaderFactory","NgControl","ViewContainerRef","Input","NgModule","CommonModule"],"mappings":"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EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;;;;;;;ACvzBZ;QAKE,0BAAY,OAAyB;YACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC9B;QACH,uBAAC;IAAD,CAAC,IAAA;;;QAPC,qCAAkB;;QAClB,qCAAmB;;QACnB,wCAAiC;;;;;;;ACLnC;;QAQE,wBAAY,IAAS,EAAE,KAAoB,EAAE,MAAc;YAApC,sBAAA,EAAA,YAAoB;YAAE,uBAAA,EAAA,cAAc;YACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;;;;QAED,iCAAQ;;;QAAR;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;;;;QAED,iCAAQ;;;QAAR;YACE,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QACH,qBAAC;IAAD,CAAC,IAAA;;;QApBC,+BAAuB;;QAGvB,8BAAmB;;;;;QACnB,gCAA0B;;;;;;;ACL5B;QAAA;SAKC;QAAD,qBAAC;IAAD,CAAC,IAAA;;;;;;QAHC,+BAAe;;;;;QAEf,mCAA0B;;;;;;;;;;;ICF5B,SAAgB,QAAQ,CAAC,GAAW;QAClC,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,EAAE,CAAC;SACX;QAED,OAAO,GAAG,CAAC,OAAO,CAAC,oBAAoB;;;;QAAE,UAAU,CAAS;YAC1D,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACzB,EAAC,CAAC;IACL,CAAC;;;;;IAED,SAAgB,YAAY,CAAC,aAAqB;;;;QAIhD,OAAO,aAAa,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;;;;;;;;IAGD,SAAgB,QAAQ,CAAC,GAAW,EACX,mBAAyB,EACzB,qBAA0B;QAD1B,oCAAA,EAAA,yBAAyB;QACzB,sCAAA,EAAA,0BAA0B;;;YAE3C,QAAQ,GAAG,SAAO,qBAAqB,aAAQ,qBAAqB,QAAK;aAC7E,SAAO,qBAAqB,cAAS,mBAAmB,QAAK,CAAA;;YACzD,YAAY,GAAa,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;;YAC7D,MAAM,GAAa,EAAE;;YACrB,kBAAkB,GAAW,YAAY,CAAC,MAAM;;YAClD,KAAa;;YACX,uBAAuB,GAAG,IAAI,MAAM,CAAC,MAAI,qBAAqB,OAAI,EAAE,GAAG,CAAC;QAE9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,IAAI,CAAC,EAAE;YAC9C,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,KAAK,mBAAmB,EAAE;gBAC1D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;aACzD;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;;;;;;IAGD,SAAgB,kBAAkB,CAAC,MAAW,EAAE,MAAc;;QAC5D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YACzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;SAC1B;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;;gBACnB,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAEvD,OAAO,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;SAC1C;;YAEK,UAAU,GAAW,MAAM;aAC9B,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;aAC5B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;;YACf,eAAe,GAAa,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;;YAEvD,KAAuB,IAAA,oBAAAA,SAAA,eAAe,CAAA,gDAAA,6EAAE;gBAAnC,IAAM,QAAQ,4BAAA;gBACjB,IAAI,QAAQ,IAAI,MAAM,EAAE;;oBAEtB,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;iBAC3B;aACF;;;;;;;;;QACD,IAAI,CAAC,MAAM,EAAE;YAAC,OAAO,EAAE,CAAC;SAAE;QAE1B,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;;;;;ICpED;IASA,IAAa,0BAA0B,GAAG,kCAAkC;;AAE5E,QAAa,kBAAkB,GAC7BC,kBAAO,CAAC,oBAAoB,EAAE;QAC5BC,gBAAK,CAAC,eAAe,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;QACjEC,qBAAU,CAAC,oBAAoB,EAAE;YAC/BD,gBAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YACxCE,kBAAO,CAAC,0BAA0B,CAAC;SACpC,CAAC;QACFH,gBAAK,CAAC,aAAa,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC/DC,qBAAU,CAAC,kBAAkB,EAAE;YAC7BD,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC1CE,kBAAO,CAAC,0BAA0B,CAAC;SACpC,CAAC;QACFD,qBAAU,CAAC,iBAAiB,EAAEC,kBAAO,CAAC,IAAI,CAAC,CAAC;KAC7C,CAAC;;;;;;;QCEA,YAAY,GAAG,CAAC;AAEpB;QAsEE,qCACU,eAAmC,EACnC,QAAmB,EACpB,OAAmB,EAClB,iBAAoC;YAJ9C,iBAoBC;YAnBS,oBAAe,GAAf,eAAe,CAAoB;YACnC,aAAQ,GAAR,QAAQ,CAAW;YACpB,YAAO,GAAP,OAAO,CAAY;YAClB,sBAAiB,GAAjB,iBAAiB,CAAmB;;YA7CtB,sBAAiB,GAAG,IAAIC,iBAAY,EAAE,CAAC;YAI/D,cAAS,GAAG,KAAK,CAAC;YAUlB,WAAM,GAAG,CAAC,CAAC;YACX,YAAO,GAAG,mBAAiB,YAAY,EAAI,CAAC;YAkBlC,aAAQ,GAAqB,EAAE,CAAC;YA0RlC,uBAAkB;;;;YAAG,UAAU,IAAiB;;oBAChD,gBAAgB,GAAW,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS;;oBACjE,mBAAmB,GAAG,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC;;oBAC1F,OAAO,GAAG,IAAI,CAAC,SAAS;;oBACxB,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC,YAAY;gBAE9C,QAAQ,CAAC,UAAU,IAAI,mBAAmB,MAAM,OAAO,IAAI,gBAAgB,CAAC,EAAE;aAC/E,EAAC;YAnRA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3E,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS;;;YACtE;gBACE,IAAI,KAAI,CAAC,UAAU,EAAE;oBACnB,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,aAAa,GAAG,aAAa,GAAG,eAAe,CAAC;oBAC3E,KAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;oBAEvC,OAAO;iBACR;gBAED,KAAI,CAAC,cAAc,GAAG,YAAY,CAAC;gBACnC,KAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;aACxC,EACF,CAAC;SACH;QA5CD,sBAAI,8CAAK;;;;YAAT;gBACE,OAAO,CAACC,WAAK,EAAE,CAAC;aACjB;;;WAAA;QAED,sBAAI,iEAAwB;;;;YAA5B;;;oBAEQ,KAAK,GAAG,IAAI;gBAElB,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;oBACzC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;iBACpC,CAAC;aACH;;;WAAA;QAiCD,sBAAI,+CAAM;;;;YAAV;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;;;;;YAED,UAAW,MAAsB;gBAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;;;WALA;QAOD,sBAAI,gDAAO;;;;YAAX;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;;;YAED,UAAY,KAAuB;gBAAnC,iBAmCC;gBAlCC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;oBAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE;oBACvD,gBAAgB,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;iBACpC,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAEtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAE7G,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,UAAU;;;oBAAC;wBACT,KAAI,CAAC,iBAAiB,EAAE,CAAC;qBAC1B,EAAC,CAAC;iBACJ;gBAED,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAE/B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;wBAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;qBACxB;iBACF;gBAED,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;;wBAC9C,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI;;;;oBAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,KAAK,KAAK,KAAI,CAAC,OAAO,CAAC,KAAK,GAAA,EAAC;oBAEnF,IAAI,WAAW,EAAE;wBACf,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;wBAE/B,OAAO;qBACR;oBAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;iBACpB;aACF;;;WArCA;QAuCD,sBAAI,sDAAa;;;;YAAjB;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC7D;;;WAAA;QAGD,sBAAI,4DAAmB;;;;;;;YAAvB;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,SAAS,CAAC;aAClE;;;WAAA;QAED,sBAAI,mDAAU;;;;YAAd;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;aACrD;;;WAAA;QAED,sBAAI,yDAAgB;;;;YAApB;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC3D;;;WAAA;QAED,sBAAI,4DAAmB;;;;YAAvB;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC;aAC9D;;;WAAA;QAED,sBAAI,yEAAgC;;;;YAApC;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAgC,GAAG,CAAC,CAAC;aACvE;;;WAAA;QAED,sBAAI,mEAA0B;;;;YAA9B;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,0BAA0B,GAAG,IAAI,CAAC;aACpE;;;WAAA;QAED,sBAAI,qDAAY;;;;;;;YAAhB;gBACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,GAAG,SAAS,CAAC;aACpE;;;WAAA;;;;;QAED,uDAAiB;;;;QAAjB,UAAkB,mBAA6B;YAC7C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE;gBACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,IAAI,mBAAmB,EAAE;gBAChE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChC;SACF;;;;QAED,mDAAa;;;QAAb;;gBACQ,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,SAAI,KAAO,CAAC,CAAC;SACzD;;;;QAED,qDAAe;;;QAAf;;gBAEQ,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAEhD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CACxB,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CACpD,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;gBAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;YAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5B;SACF;;;;QAED,qDAAe;;;QAAf;;gBACQ,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAEhD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CACxB,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CACpD,CAAC;YAGF,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;gBAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;YAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACxB;SACF;;;;;QAED,kDAAY;;;;QAAZ,UAAa,KAAqB;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;;;;;;QAED,+CAAS;;;;;QAAT,UAAU,KAAqB,EAAE,KAAwB;;gBACnD,OAAO,GAAW,KAAK,CAAC,KAAK;;gBAC7B,aAAa,GAAW,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB;kBACrE,QAAQ,CAAC,OAAO,CAAC;kBACjB,OAAO,EAAE,WAAW,EAAE;;gBACtB,QAAgB;;gBAChB,QAAgB;;YAEpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;;oBACvB,QAAQ,GAAW,KAAK,CAAC,MAAM;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE;;oBAEpC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC3B,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;wBACjC,OAAO;4BACF,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,gBAAW,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,cAAW;iCACvG,KAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAG,CAAA,CAAC;wBAC9C,aAAa;4BACR,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,gBAAW,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAW;iCACjF,KAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAG,CAAA,CAAC;qBACrD;iBACF;aACF;iBAAM,IAAI,KAAK,EAAE;;gBAEhB,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;gBACxB,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE;oBACjC,OAAO;wBACF,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,gBAAW,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,cAAW;6BACvG,KAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAG,CAAA,CAAC;iBAC/C;aACF;YAED,OAAO,OAAO,CAAC;SAChB;;;;QAID,+CAAS;;;QAFT;YAGE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;;;;;QAED,8CAAQ;;;;QAAR,UAAS,KAAqB;YAC5B,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;SAC9B;;;;;;QAED,iDAAW;;;;;QAAX,UAAY,KAAqB,EAAE,CAAiB;YAApD,iBASC;YATkC,kBAAA,EAAA,SAAgB,CAAC;YAClD,IAAI,CAAC,EAAE;gBACL,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,CAAC,CAAC,cAAc,EAAE,CAAC;aACpB;YACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC/B,UAAU;;;YAAC,cAAM,OAAA,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAA,GAAE,CAAC,CAAC,CAAC;YAE/D,OAAO,KAAK,CAAC;SACd;;;;QAED,uDAAiB;;;QAAjB;YACE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;aAC/B;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;;oBACnB,QAAQ,GAAGC,WAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;;oBACxD,QAAQ,GAAGA,WAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;;oBAC/D,eAAe,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE;qBAC7F,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;oBACf,YAAY,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG;qBACrF,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;oBACf,YAAY,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG;qBACrE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;oBACf,MAAM,GAAG,IAAI,CAAC,gCAAgC,GAAG,YAAY;gBACnE,IAAI,CAAC,SAAS,GAAM,MAAM,GAAG,YAAY,GAAG,eAAe,OAAI,CAAC;aACjE;YAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;SAC7E;;;;;QAED,oDAAc;;;;QAAd,UAAe,KAAa;YAC1B,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,cAAc,EAAE,CAAC;gBAEtB,OAAO;aACR;YACD,IAAI,IAAI,CAAC,UAAU,EAAE;;oBACb,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtD,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;oBAClE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC;iBAC5E;aACF;SACF;;;;;QAED,gDAAU;;;;QAAV,UAAW,KAAa;YACtB,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEnB,OAAO;aACR;YACD,IAAI,IAAI,CAAC,UAAU,EAAE;;oBACb,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;gBACtD,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;oBAClE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS;wBACpC,SAAS,CAAC,aAAa,CAAC,SAAS;4BACjC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC;4BACjD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;iBAChD;aACF;SACF;;;;QAED,iDAAW;;;QAAX;YACE,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;SAChD;;;;;QAYO,oDAAc;;;;QAAtB;YACE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC;SACpF;;;;;QAEO,iDAAW;;;;QAAnB;YACE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;SAC5C;;oBAvWFC,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,+gFAAmD;wBACnD,IAAI,EAAE;4BACJ,KAAK,EAAE,sBAAsB;4BAC7B,uBAAuB,EAAE,OAAO;4BAChC,gBAAgB,EAAE,4CAA4C;4BAC9D,oBAAoB,EAAE,WAAW;4BACjC,gBAAgB,EAAE,QAAQ;4BAC1B,KAAK,EAAE,oCAAoC;4BAC3C,aAAa,EAAE,2BAA2B;yBAC3C;wBAaD,UAAU,EAAE,CAAC,kBAAkB,CAAC;iCAX9B,4JASD;qBAGF;;;;oBApCQC,8BAAkB;oBATzBC,cAAS;oBAJTC,eAAU;oBAFVC,sBAAiB;;;wCAuDhBC,WAAM,SAAC,cAAc;gCAmCrBC,cAAS,SAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;iCAGxCC,iBAAY,SAAC,YAAY;gCAuMzBC,iBAAY,SAAC,YAAY,cACzBA,iBAAY,SAAC,MAAM;;QA6FtB,kCAAC;KAxWD,IAwWC;;;QA3UC,wDAA+D;;QAE/D,6CAA2B;;QAC3B,4CAAyB;;QACzB,gDAAkB;;QAClB,0CAAY;;QACZ,2CAAa;;QACb,8CAAgB;;QAChB,gDAAkB;;QAClB,6CAAgB;;QAChB,gDAAkB;;QAClB,oDAAuB;;QACvB,qDAAuB;;QACvB,kEAA0C;;QAC1C,6CAAW;;QACX,8CAA4C;;;;;QAiB5C,8CAAkC;;;;;QAClC,+CAA0C;;;;;QAE1C,gDAC8B;;;;;QAE9B,iDAC0C;;;;;QAoR1C,yDAOE;;;;;QAxRA,sDAA2C;;;;;QAC3C,+CAA2B;;QAC3B,8CAA0B;;;;;QAC1B,wDAA4C;;;;;;;ICtGhD;;;AAGA;QAAA;;;;YAGE,qBAAgB,GAAG,KAAK,CAAC;;;;YAEzB,eAAU,GAAG,KAAK,CAAC;;;;YAEnB,sBAAiB,GAAG,IAAI,CAAC;;;;YAEzB,6BAAwB,GAAG,KAAK,CAAC;;;;YAEjC,oBAAe,GAAG,IAAI,CAAC;;;;YAEvB,sBAAiB,GAAG,IAAI,CAAC;;;;;YAIzB,cAAS,GAAG,CAAC,CAAC;SACf;;oBAlBAC,eAAU;;QAkBX,sBAAC;KAlBD,IAkBC;;;;;;QAfC,2CAAyB;;;;;QAEzB,qCAAmB;;;;;QAEnB,4CAAyB;;;;;QAEzB,mDAAiC;;;;;QAEjC,0CAAuB;;;;;QAEvB,4CAAyB;;;;;;QAIzB,oCAAc;;;;;;;;QCoJd,4BACE,GAA2B,EAC3B,MAAuB,EACf,eAAkC,EAClC,OAAmB,EACnB,SAAoB,EACpB,QAAmB,EAC3B,gBAAkC;YAJ1B,oBAAe,GAAf,eAAe,CAAmB;YAClC,YAAO,GAAP,OAAO,CAAY;YACnB,cAAS,GAAT,SAAS,CAAW;YACpB,aAAQ,GAAR,QAAQ,CAAW;;;;;;YA5HpB,uBAAkB,GAAW,KAAK,CAAC,CAAC;;;;YAIpC,eAAU,GAAG,KAAK,CAAC;;;;;;YAuBnB,mBAAc,GAAY,KAAK,CAAC,CAAC;;;;;YAIjC,sBAAiB,GAAG,IAAI,CAAC;;;;;YAIzB,yBAAoB,GAAG,IAAI,CAAC;;;;;YAI5B,4BAAuB,GAAG,GAAG,CAAC;;;;;;YAK9B,8BAAyB,GAAG,KAAK,CAAC;;;;YAUlC,wBAAmB,GAAG,KAAK,CAAC;;;;YAE5B,qCAAgC,GAAG,CAAC,CAAC;;;;;;YAOrC,6BAAwB,GAAG,IAAI,CAAC;;;;YAEhC,+BAA0B,GAAG,IAAI,CAAC;;;;;YAIjC,qBAAgB,GAAG,IAAIZ,iBAAY,EAAW,CAAC;;;;;YAI/C,uBAAkB,GAAG,IAAIA,iBAAY,EAAW,CAAC;;;;YAEjD,sBAAiB,GAAG,IAAIA,iBAAY,EAAkB,CAAC;;;;YAEvD,oBAAe,GAAG,IAAIA,iBAAY,EAAkB,CAAC;;;;YAQtD,WAAM,GAAG,KAAK,CAAC;YAiBxB,WAAM,GAAG,KAAK,CAAC;YACf,SAAI,GAAG,MAAM,CAAC;YAEd,wBAAmB,GAAG,KAAK,CAAC;YAC5B,cAAS,GAAG,KAAK,CAAC;YAClB,6BAAwB,GAAG,KAAK,CAAC;;YAGvB,sBAAiB,GAAyB,IAAIA,iBAAY,EAAE,CAAC;YAE7D,cAAS,GAAG,aAAa,CAAC;YAG5B,mBAAc,GAAmB,EAAE,CAAC;YAa1C,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,YAAY,CAChC,OAAO,EACP,gBAAgB,EAChB,QAAQ,CACT;iBACE,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAE3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAChB;gBACE,0BAA0B,EAAE,MAAM,CAAC,iBAAiB;gBACpD,iCAAiC,EAAE,MAAM,CAAC,wBAAwB;gBAClE,wBAAwB,EAAE,MAAM,CAAC,eAAe;gBAChD,0BAA0B,EAAE,MAAM,CAAC,iBAAiB;gBACpD,kBAAkB,EAAE,MAAM,CAAC,SAAS;gBACpC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CACF,CAAC;SACH;;;;QAED,qCAAQ;;;QAAR;YACE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC;YAE9D,IAAI,CAAC,kBAAkB;gBACrB,IAAI,CAAC,kBAAkB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAEnE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;;YAGjD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,EAAEa,iBAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;gBACxE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B;YAED,IAAIA,iBAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;YAED,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;iBAAM;gBACL,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;SACF;;;;;;QAID,oCAAO;;;;QAFP,UAEQ,CAAM;;;;;;gBAKN,KAAK,GACT,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;kBACxB,CAAC,CAAC,MAAM,CAAC,KAAK;kBACd,CAAC,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;sBAClC,CAAC,CAAC,MAAM,CAAC,WAAW;sBACpB,CAAC,CAAC,MAAM,CAAC,SAAS;YACxB,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACnE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC7C;iBAAM;gBACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF;;;;;QAGD,qCAAQ;;;;QADR,UACS,KAAoB;YAC3B,IAAI,IAAI,CAAC,UAAU,EAAE;;;gBAGnB,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;oBAClD,IAAI,CAAC,IAAI,EAAE,CAAC;oBAEZ,OAAO;iBACR;;;gBAID,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE;oBACnD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;oBAElC,OAAO;iBACR;;;gBAID,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;oBACrD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;oBAElC,OAAO;iBACR;;;gBAID,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;oBACjD,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;oBAEpC,OAAO;iBACR;aACF;SACF;;;;QAID,oCAAO;;;QAFP;YAAA,iBAYC;YATC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;;YAGtB,UAAU;;;YAAC;gBACT,IAAI,KAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE;oBACjC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjC,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;iBACrE;aACF,GAAE,CAAC,CAAC,CAAC;SACP;;;;QAGD,mCAAM;;;QADN;YAEE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;gBACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACnD;YAED,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,cAAc,CAC1C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAChC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAChC,KAAK,CAAC,CAAC,CAAC;aACT;SACF;;;;;QAGD,sCAAS;;;;QADT,UACU,KAAoB;;YAE5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,OAAO;aACR;;YAGD,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;gBAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;;YAGD,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;gBAC/F,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,wBAAwB,EAAE;oBACjC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;oBAEpC,OAAO;iBACR;gBAED,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAClC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBAC5D,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;oBACjC,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;aACF;SACF;;;;;QAED,wCAAW;;;;QAAX,UAAY,KAAqB;;gBACzB,QAAQ,GAAW,KAAK,CAAC,KAAK;YACpC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;QAED,sBAAI,uCAAO;;;;YAAX;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;;;WAAA;;;;QAED,iCAAI;;;QAAJ;YAAA,iBAgDC;YA/CC,IAAI,CAAC,UAAU;iBACZ,MAAM,CAAC,2BAA2B,CAAC;iBACnC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;iBAClB,QAAQ,CAAC,EAAC,UAAU,EAAE,CAAG,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,WAAO,EAAC,CAAC;iBAChE,IAAI,CAAC;gBACJ,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YAEL,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO;;;;YAAE,UAAC,CAAa;gBACnF,IAAI,KAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;oBAClF,OAAO,SAAS,CAAC;iBAClB;gBACD,IAAI,CAAC,KAAI,CAAC,0BAA0B,IAAI,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;oBACrF,OAAO,SAAS,CAAC;iBAClB;gBACD,KAAI,CAAC,cAAc,EAAE,CAAC;aACvB,EAAC,CAAC;YAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;;;gBAGxB,eAAe,GAAG,CAAC,IAAI,CAAC,iBAAiB;kBAC3C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;kBACtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;iBAC7B,QAAQ,EAAE;iBACV,WAAW,EAAE;YAEhB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB;kBAC7C,QAAQ,CACR,eAAe,EACf,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,yBAAyB,CAC/B;kBACC,eAAe,CAAC;YAEpB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAEnC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS;;;;YAAC,UAAC,QAAgB;gBAC3D,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;gBACjC,KAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;aACrC,EAAC,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;;;;QAED,iCAAI;;;QAAJ;YACE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;gBAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;aACrC;SACF;;;;QAED,2CAAc;;;QAAd;YACE,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;gBACjD,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF;;;;QAED,wCAAW;;;QAAX;;;;gBAEE,KAAkB,IAAA,KAAAnB,SAAA,IAAI,CAAC,cAAc,CAAA,gBAAA,4BAAE;oBAAlC,IAAM,GAAG,WAAA;oBACZ,GAAG,CAAC,WAAW,EAAE,CAAC;iBACnB;;;;;;;;;YACD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC3B;;;;;QAES,yCAAY;;;;QAAtB;YAAA,iBAWC;YAVC,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,iBAAiB;iBACnB,IAAI,CACHoB,sBAAY,CAAS,IAAI,CAAC,eAAe,CAAC,EAC1CC,mBAAS;;;YAAC,cAAM,OAAA,KAAI,CAAC,SAAS,GAAA,EAAC,CAChC;iBACA,SAAS;;;;YAAC,UAAC,OAA0B;gBACpC,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;aACjC,EAAC,CACL,CAAC;SACH;;;;;QAES,wCAAW;;;;QAArB;YAAA,iBAqBC;YApBC,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,iBAAiB;iBACnB,IAAI,CACHD,sBAAY,CAAS,IAAI,CAAC,eAAe,CAAC,EAC1CE,kBAAQ;;;;YAAC,UAAC,KAAa;;oBACf,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAElD,OAAOC,SAAI,CAAC,KAAI,CAAC,SAAS,CAAC;qBACxB,IAAI,CACHC,gBAAM;;;;gBAAC,UAAC,MAAuB;oBAC7B,OAAO,MAAM,IAAI,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;iBAChF,EAAC,EACFC,iBAAO,EAAE,CACV,CAAC;aACL,EAAC,CACH;iBACA,SAAS;;;;YAAC,UAAC,OAA0B;gBACpC,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;aACjC,EAAC,CACL,CAAC;SACH;;;;;;QAES,4CAAe;;;;;QAAzB,UAA0B,MAAuB;;gBACzC,WAAW,GAAW,kBAAkB,CAC5C,MAAM,EACN,IAAI,CAAC,oBAAoB,CAC1B;;gBACK,gBAAgB,GAAG,IAAI,CAAC,iBAAiB;kBAC3C,QAAQ,CAAC,WAAW,CAAC;kBACrB,WAAW;YAEf,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACvC;;;;;;QAES,2CAAc;;;;;QAAxB,UAAyB,KAAa;;;gBAEhC,eAAe,GAAsB,CAAC,IAAI,CAAC,iBAAiB;kBAC5D,QAAQ,CAAC,KAAK,CAAC;kBACf,KAAK;iBACN,QAAQ,EAAE;iBACV,WAAW,EAAE;YAChB,eAAe,GAAG,IAAI,CAAC,oBAAoB;kBACvC,QAAQ,CACR,eAAe,EACf,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,yBAAyB,CAC/B;kBACC,eAAe,CAAC;YAEpB,OAAO,eAAe,CAAC;SACxB;;;;;;;QAES,sCAAS;;;;;;QAAnB,UAAoB,KAAa,EAAE,IAAuB;;gBACpD,WAAmB;YAEvB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE;oBACvC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;wBACpD,OAAO,KAAK,CAAC;qBACd;iBACF;gBAED,OAAO,IAAI,CAAC;aACb;YAED,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjC;;;;;;QAES,8CAAiB;;;;;QAA3B,UAA4B,OAA0B;YACpD,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAEnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAEjD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;gBACtB,IAAI,CAAC,IAAI,EAAE,CAAC;gBAEZ,OAAO;aACR;YAED,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,wBAAwB,EAAE;gBACpD,OAAO;aACR;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;;;oBAEb,aAAa,GAAG,CAAC,IAAI,CAAC,iBAAiB;sBACzC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;sBACtC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;;;oBAGjC,eAAe,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE;gBAE9D,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB;sBAC7C,QAAQ,CACR,eAAe,EACf,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,yBAAyB,CAC/B;sBACC,eAAe,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;aACzC;iBAAM;gBACL,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;SACF;;;;;;QAES,2CAAc;;;;;QAAxB,UAAyB,OAA0B;YAAnD,iBA4CC;;gBA3CO,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;;gBACtD,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAE5E,IAAI,IAAI,CAAC,mBAAmB,EAAE;;oBACxB,SAAO,GAAqB,EAAE;;;oBAG5B,MAAM,GAAG,MAAM;qBAClB,GAAG;;;;gBAAC,UAAC,MAAsB;oBAC1B,OAAA,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,mBAAmB,CAAC;iBAAA,EACrD;qBACA,MAAM;;;;;;gBAAC,UAAC,CAAS,EAAE,CAAS,EAAE,CAAW,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAA,EAAC;gBAEpE,MAAM,CAAC,OAAO;;;;gBAAC,UAAC,KAAa;;oBAE3B,SAAO,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;;oBAGrD,SAAO,GAAG,SAAO,CAAC,MAAM,CACtB,MAAM;yBACH,MAAM;;;;oBAAC,UAAC,MAAuB;wBAC9B,OAAA,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,mBAAmB,CAAC,KAAK,KAAK;qBAAA,EAC/D;yBACA,GAAG;;;;oBAAC,UAAC,MAAuB;wBAC3B,OAAA,IAAI,cAAc,CAChB,MAAM,EACN,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,oBAAoB,CAAC,CACtD;qBAAA,EACF,CACJ,CAAC;iBACH,EAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,GAAG,SAAO,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG;;;;;;;gBAExB,UAAC,MAAW;oBACV,OAAA,IAAI,cAAc,CAChB,MAAM,EACN,kBAAkB,CAAC,MAAM,EAAE,KAAI,CAAC,oBAAoB,CAAC,CACtD;iBAAA,EACJ,CAAC;aACH;SACF;;;;;;QAES,yCAAY;;;;;QAAtB,UAAuB,OAA0B;YAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACnB,OAAO,OAAO,CAAC;aAChB;YAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI;mBAC7B,IAAI,CAAC,gBAAgB,KAAK,SAAS;mBACnC,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;mBACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;;gBAEpD,OAAO,CAAC,KAAK,CAAC,gGAAgG,CAAC,CAAC;gBAEhH,OAAO,OAAO,CAAC;aAChB;YAEK,IAAA,0BAA4C,EAA1C,gBAAK,EAAE,wBAAmC;YAElD,IAAI,CAAC,SAAS,IAAI,EAAE,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE;;gBAEhE,OAAO,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;gBAE3G,OAAO,OAAO,CAAC;aAChB;YAED,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBAClC,OAAO,SAAS,KAAK,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;aACxE;YAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;;gBAEvC,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBAEnF,OAAO,OAAO,CAAC;aAChB;YAED,OAAO,OAAO,CAAC,IAAI;;;;;YAAC,UAAC,CAAkB,EAAE,CAAkB;;oBACnD,OAAO,GAAG,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC;;oBACtC,OAAO,GAAG,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC;gBAE5C,IAAI,OAAO,GAAG,OAAO,EAAE;oBACrB,OAAO,SAAS,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;iBACrC;gBAED,IAAI,OAAO,GAAG,OAAO,EAAE;oBACrB,OAAO,SAAS,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBACrC;gBAED,OAAO,CAAC,CAAC;aACV,EAAC,CAAC;SACJ;;;;;QAES,uCAAU;;;;QAApB;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC;;oBAzmBFC,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;wBACvB,QAAQ,EAAE,cAAc;wBACxB,IAAI,EAAE;4BACJ,8BAA8B,EAAE,kBAAkB;4BAClD,uBAAuB,EAAE,yCAAyC;4BAClE,2BAA2B,EAAE,QAAQ;4BACrC,0BAA0B,EAAE,MAAM;yBACnC;qBACF;;;;oBAtByBC,sCAAsB;oBAKvC,eAAe;oBArBtBd,sBAAiB;oBAEjBD,eAAU;oBAWHgB,eAAS;oBAJhBjB,cAAS;oBAETkB,qBAAgB;;;gCAgCfC,UAAK;yCAKLA,UAAK;uCAELA,UAAK;iCAELA,UAAK;sCAELA,UAAK;4CAELA,UAAK;2CAKLA,UAAK;0CAILA,UAAK;uCAKLA,UAAK;qCAKLA,UAAK;wCAILA,UAAK;2CAILA,UAAK;8CAILA,UAAK;gDAKLA,UAAK;4CAILA,UAAK;0CAILA,UAAK;0CAELA,UAAK;uDAELA,UAAK;iDAELA,UAAK;+CAKLA,UAAK;iDAELA,UAAK;uCAILhB,WAAM;yCAINA,WAAM;wCAENA,WAAM;sCAENA,WAAM;gCAKNgB,UAAK;6BAGLA,UAAK;8BAuFLb,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;+BAuBhCA,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;8BAuChCA,iBAAY,SAAC,OAAO,cACpBA,iBAAY,SAAC,OAAO;6BAapBA,iBAAY,SAAC,MAAM;gCAenBA,iBAAY,SAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;QAgVrC,yBAAC;KA1mBD,IA0mBC;;;;;;;QA5lBC,uCAA8B;;;;;;;QAK9B,gDAA6C;;;;;QAE7C,8CAAmC;;;;;QAEnC,wCAA4B;;;;;QAE5B,6CAAiC;;;;;QAEjC,mDAAuC;;;;;;;QAKvC,kDAAsC;;;;;;QAItC,iDAAqC;;;;;;;QAKrC,8CAA0C;;;;;;;QAK1C,4CAA0C;;;;;;QAI1C,+CAAkC;;;;;;QAIlC,kDAAqC;;;;;;QAIrC,qDAAuC;;;;;;;QAKvC,uDAA2C;;;;;;QAI3C,mDAAwE;;;;;;QAIxE,iDAAsE;;;;;QAEtE,iDAAqC;;;;;QAErC,8DAA8C;;;;;QAE9C,wDAA6C;;;;;;;QAK7C,sDAAyC;;;;;QAEzC,wDAA2C;;;;;;QAI3C,8CAAyD;;;;;;QAIzD,gDAA2D;;;;;QAE3D,+CAAiE;;;;;QAEjE,6CAA+D;;;;;QAK/D,uCAA2B;;;;;QAG3B,oCAAwB;;;;;QAgBxB,8CAAyB;;QACzB,oCAAe;;QACf,kCAAc;;QACd,wCAAwC;;QACxC,iDAA4B;;QAC5B,uCAAkB;;QAClB,sDAAiC;;;;;QAGjC,+CAAuE;;;;;QACvE,sCAAqC;;;;;QACrC,uCAAoC;;;;;QAEpC,wCAAiE;;;;;QACjE,4CAA4C;;;;;QAC5C,mDAAwC;;;;;QAKtC,6CAA0C;;;;;QAC1C,qCAA2B;;;;;QAC3B,uCAA4B;;;;;QAC5B,sCAA2B;;;;;;;AC9K/B;QASA;SAaC;;;;QANQ,uBAAO;;;QAAd;YACE,OAAO;gBACL,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE,CAACU,sCAAsB,EAAEjB,8BAAkB,EAAE,eAAe,CAAC;aACzE,CAAC;SACH;;oBAZFqB,aAAQ,SAAC;wBACR,OAAO,EAAE,CAACC,mBAAY,CAAC;wBACvB,YAAY,EAAE,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;wBAC/D,OAAO,EAAE,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;wBAC1D,eAAe,EAAE,CAAC,2BAA2B,CAAC;qBAC/C;;QAQD,sBAAC;KAbD;;;;;;;;;;;;;;;;;;;;;;;;"}