{"version":3,"file":"primeng-carousel.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/carousel/carousel.ts","../../src/app/components/carousel/primeng-carousel.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\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    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") 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    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n    for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n        to[j] = from[i];\r\n    return to;\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, 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\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Component, Input, ElementRef, ViewChild, AfterContentInit, TemplateRef, ContentChildren, QueryList, NgModule, NgZone, EventEmitter, Output, ContentChild, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, SimpleChanges } from '@angular/core';\nimport { PrimeTemplate, SharedModule, Header, Footer } from 'primeng/api';\nimport { RippleModule } from 'primeng/ripple';  \nimport { CommonModule } from '@angular/common';\nimport { UniqueComponentId } from 'primeng/utils';\n\n@Component({\n\tselector: 'p-carousel',\n\ttemplate: `\n\t\t<div [attr.id]=\"id\" [ngClass]=\"{'p-carousel p-component':true, 'p-carousel-vertical': isVertical(), 'p-carousel-horizontal': !isVertical()}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n\t\t\t<div class=\"p-carousel-header\" *ngIf=\"headerFacet || headerTemplate\">\n                <ng-content select=\"p-header\"></ng-content>\n                <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n\t\t\t</div>\n\t\t\t<div [class]=\"contentClass\" [ngClass]=\"'p-carousel-content'\">\n\t\t\t\t<div class=\"p-carousel-container\">\n\t\t\t\t\t<button type=\"button\" *ngIf=\"showNavigators\" [ngClass]=\"{'p-carousel-prev p-link':true, 'p-disabled': isBackwardNavDisabled()}\" [disabled]=\"isBackwardNavDisabled()\" (click)=\"navBackward($event)\" pRipple>\n\t\t\t\t\t\t<span [ngClass]=\"{'p-carousel-prev-icon pi': true, 'pi-chevron-left': !isVertical(), 'pi-chevron-up': isVertical()}\"></span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<div class=\"p-carousel-items-content\" [ngStyle]=\"{'height': isVertical() ? verticalViewPortHeight : 'auto'}\">\n\t\t\t\t\t\t<div #itemsContainer class=\"p-carousel-items-container\" (transitionend)=\"onTransitionEnd()\" (touchend)=\"onTouchEnd($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\">\n                            <div *ngFor=\"let item of clonedItemsForStarting; let index = index\" [ngClass]= \"{'p-carousel-item p-carousel-item-cloned': true,\n                                'p-carousel-item-active': (totalShiftedItems * -1) === (value.length),\n\t\t\t\t\t\t\t    'p-carousel-item-start': 0 === index,\n\t\t\t\t\t\t\t    'p-carousel-item-end': (clonedItemsForStarting.length - 1) === index}\">\n\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item}\"></ng-container>\n\t\t\t\t\t\t\t</div>\n                            <div *ngFor=\"let item of value; let index = index\" [ngClass]= \"{'p-carousel-item': true,\n                                'p-carousel-item-active': (firstIndex() <= index && lastIndex() >= index),\n\t\t\t\t\t\t\t    'p-carousel-item-start': firstIndex() === index,\n\t\t\t\t\t\t\t    'p-carousel-item-end': lastIndex() === index}\">\n\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item}\"></ng-container>\n\t\t\t\t\t\t\t</div>\n                            <div *ngFor=\"let item of clonedItemsForFinishing; let index = index\" [ngClass]= \"{'p-carousel-item p-carousel-item-cloned': true,\n                                'p-carousel-item-active': ((totalShiftedItems *-1) === numVisible),\n\t\t\t\t\t\t\t    'p-carousel-item-start': 0 === index,\n\t\t\t\t\t\t\t    'p-carousel-item-end': (clonedItemsForFinishing.length - 1) === index}\">\n\t\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item}\"></ng-container>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<button type=\"button\" *ngIf=\"showNavigators\" [ngClass]=\"{'p-carousel-next p-link': true, 'p-disabled': isForwardNavDisabled()}\" [disabled]=\"isForwardNavDisabled()\" (click)=\"navForward($event)\" pRipple>\n\t\t\t\t\t\t<span [ngClass]=\"{'p-carousel-prev-icon pi': true, 'pi-chevron-right': !isVertical(), 'pi-chevron-down': isVertical()}\"></span>\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<ul [ngClass]=\"'p-carousel-indicators p-reset'\" [class]=\"indicatorsContentClass\" [ngStyle]=\"indicatorsContentStyle\" *ngIf=\"showIndicators\">\n\t\t\t\t\t<li *ngFor=\"let totalDot of totalDotsArray(); let i = index\" [ngClass]=\"{'p-carousel-indicator':true,'p-highlight': _page === i}\">\n\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"'p-link'\" (click)=\"onDotClick($event, i)\" [class]=\"indicatorStyleClass\" [ngStyle]=\"indicatorStyle\"></button>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div class=\"p-carousel-footer\" *ngIf=\"footerFacet || footerTemplate\">\n                <ng-content select=\"p-footer\"></ng-content>\n                <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n\t\t\t</div>\n\t\t</div>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    styleUrls: ['./carousel.css']\n})\nexport class Carousel implements AfterContentInit {\n\n\t@Input() get page():number {\n\t\treturn this._page;\n\t}\n\tset page(val:number) {\n\t\tif (this.isCreated && val !== this._page) {\n\t\t\tif (this.autoplayInterval) {\n\t\t\t\tthis.stopAutoplay();\n\t\t\t\tthis.allowAutoplay = false;\n\t\t\t}\n\n\t\t\tif (val > this._page && val <= (this.totalDots() - 1)) {\n\t\t\t\tthis.step(-1, val);\n\t\t\t}\n\t\t\telse if (val < this._page ) {\n\t\t\t\tthis.step(1, val);\n\t\t\t}\n\t\t} \n\n\t\tthis._page = val;\n\t}\n\t\t\n\t@Input() get numVisible():number {\n\t\treturn this._numVisible;\n\t}\n\tset numVisible(val:number) {\n\t\tthis._numVisible = val;\n\t}\n\t\t\n\t@Input() get numScroll():number {\n\t\treturn this._numVisible;\n\t}\n\tset numScroll(val:number) {\n\t\tthis._numScroll = val;\n\t}\n\t\n\t@Input() responsiveOptions: any[];\n\t\n\t@Input() orientation = \"horizontal\";\n\t\n\t@Input() verticalViewPortHeight = \"300px\";\n\t\n\t@Input() contentClass: string = \"\";\n\n\t@Input() indicatorsContentClass: string = \"\";\n\n\t@Input() indicatorsContentStyle: any;\n\n\t@Input() indicatorStyleClass: string = \"\";\n\n\t@Input() indicatorStyle: any;\n\n\t@Input() get value() :any[] {\n\t\treturn this._value;\n\t};\n\tset value(val) {\n\t\tthis._value = val;\n\t}\n\t\n\t@Input() circular: boolean = false;\n\n\t@Input() showIndicators: boolean = true;\n\n\t@Input() showNavigators: boolean = true;\n\n\t@Input() autoplayInterval:number = 0;\n\n\t@Input() style: any;\n\n\t@Input() styleClass: string;\n\t\n    @Output() onPage: EventEmitter<any> = new EventEmitter();\n\n\t@ViewChild('itemsContainer') itemsContainer: ElementRef;\n\n\t@ContentChild(Header) headerFacet;\n\n    @ContentChild(Footer) footerFacet;\n\n\t@ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n\t_numVisible: number = 1;\n\n\t_numScroll: number = 1;\n\n\t_oldNumScroll: number = 0;\n\n\tprevState: any = {\n\t\tnumScroll:0,\n\t\tnumVisible:0,\n\t\tvalue: []\n\t};\n\n\tdefaultNumScroll:number = 1;\n\n\tdefaultNumVisible:number = 1;\n\n\t_page: number = 0;\n\n\t_value: any[];\n\n\tcarouselStyle:any;\n\n\tid:string;\n\n\ttotalShiftedItems;\n\n\tisRemainingItemsAdded:boolean = false;\n\n\tanimationTimeout:any;\n\n\ttranslateTimeout:any;\n\n\tremainingItems: number = 0;\n\n\t_items: any[];\n\n\tstartPos: any;\n\n\tdocumentResizeListener: any;\n\n\tclonedItemsForStarting: any[];\n\n\tclonedItemsForFinishing: any[];\n\n\tallowAutoplay: boolean;\n\n\tinterval: any;\n\n\tisCreated: boolean;\n\n\tswipeThreshold: number = 20;\n\n    itemTemplate: TemplateRef<any>;\n    \n    headerTemplate: TemplateRef<any>;\n\n    footerTemplate: TemplateRef<any>;\n\n\tconstructor(public el: ElementRef, public zone: NgZone, public cd: ChangeDetectorRef) { \n\t\tthis.totalShiftedItems = this.page * this.numScroll * -1; \n\t}\n\n\tngOnChanges(simpleChange: SimpleChanges) {\n\t\tif (simpleChange.value) {\n\t\t\tif (this.circular && this._value) {\n\t\t\t\tthis.setCloneItems();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isCreated) {\n\t\t\t\n\t\t\tif (simpleChange.numVisible) {\n\t\t\t\tif (this.responsiveOptions) {\n\t\t\t\t\tthis.defaultNumVisible = this.numVisible;\n\t\t\t\t}\n\n\t\t\t\tif (this.isCircular()) {\n\t\t\t\t\tthis.setCloneItems();\n\t\t\t\t}\n\n\t\t\t\tthis.createStyle();\n\t\t\t\tthis.calculatePosition();\n\t\t\t}\n\n\t\t\tif (simpleChange.numScroll) {\n\t\t\t\tif (this.responsiveOptions) {\n\t\t\t\t\tthis.defaultNumScroll = this.numScroll;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tngAfterContentInit() {\n\t\tthis.id = UniqueComponentId();\n\t\tthis.allowAutoplay = !!this.autoplayInterval;\n\n\t\tif (this.circular) {\n\t\t\tthis.setCloneItems();\n\t\t}\n\n\t\tif (this.responsiveOptions) {\n\t\t\tthis.defaultNumScroll = this._numScroll;\n\t\t\tthis.defaultNumVisible = this._numVisible;\n\t\t}\n\n\t\tthis.createStyle();\n\t\tthis.calculatePosition();\n\n\t\tif (this.responsiveOptions) {\n\t\t\tthis.bindDocumentListeners();\n\t\t}\n\n\t\tthis.templates.forEach((item) => {\n\t\t\tswitch (item.getType()) {\n\t\t\t\tcase 'item':\n\t\t\t\t\tthis.itemTemplate = item.template;\n                break;\n\n                case 'header':\n                    this.headerTemplate = item.template;\n                break;\n\n                case 'footer':\n                    this.footerTemplate = item.template;\n                break;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthis.itemTemplate = item.template;\n                break;\n\t\t\t}\n\t\t});\n\t}\n\n\tngAfterContentChecked() {\n\t\tconst isCircular = this.isCircular();\n\t\tlet totalShiftedItems = this.totalShiftedItems;\n\t\t\n\t\tif (this.value && this.itemsContainer && (this.prevState.numScroll !== this._numScroll || this.prevState.numVisible !== this._numVisible || this.prevState.value.length !== this.value.length)) {\n\t\t\tif (this.autoplayInterval) {\n\t\t\t\tthis.stopAutoplay();\n\t\t\t}\n\t\t\t\n\t\t\tthis.remainingItems = (this.value.length - this._numVisible) % this._numScroll;\n\n\t\t\tlet page = this._page;\n\t\t\tif (this.totalDots() !== 0 && page >= this.totalDots()) {\n                page = this.totalDots() - 1;\n\t\t\t\tthis._page = page;\n\t\t\t\tthis.onPage.emit({\n\t\t\t\t\tpage: this.page\n\t\t\t\t});\n\t\t\t}\n\t\t\t\n\t\t\ttotalShiftedItems = (page * this._numScroll) * -1;\n            if (isCircular) {\n                totalShiftedItems -= this._numVisible;\n            }\n\n\t\t\tif (page === (this.totalDots() - 1) && this.remainingItems > 0) {\n\t\t\t\ttotalShiftedItems += (-1 * this.remainingItems) + this._numScroll;\n\t\t\t\tthis.isRemainingItemsAdded = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.isRemainingItemsAdded = false;\n\t\t\t}\n\n\t\t\tif (totalShiftedItems !== this.totalShiftedItems) {\n                this.totalShiftedItems = totalShiftedItems;\n            }\n\n\t\t\tthis._oldNumScroll = this._numScroll;\n\t\t\tthis.prevState.numScroll = this._numScroll;\n\t\t\tthis.prevState.numVisible = this._numVisible;\n\t\t\tthis.prevState.value = [...this._value];\n\n\t\t\tif (this.totalDots() > 0  && this.itemsContainer.nativeElement) {\n\t\t\t\tthis.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100/ this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100/ this._numVisible)}%, 0, 0)`;\n\t\t\t}\n\t\t\t\n\t\t\tthis.isCreated = true;\n\n\t\t\tif (this.autoplayInterval && this.isAutoplay()) {\n\t\t\t\tthis.startAutoplay();\n\t\t\t}\n\t\t}\n\n\t\tif (isCircular) {\n            if (this.page === 0) {\n                totalShiftedItems = -1 * this._numVisible;\n            }\n            else if (totalShiftedItems === 0) {\n                totalShiftedItems = -1 * this.value.length;\n                if (this.remainingItems > 0) {\n                    this.isRemainingItemsAdded = true;\n                }\n            }\n\n            if (totalShiftedItems !== this.totalShiftedItems) {\n\t\t\t\tthis.totalShiftedItems = totalShiftedItems;\n            }\n\t\t}\n\t}\n\n\tcreateStyle() {\n\t\t\tif (!this.carouselStyle) {\n\t\t\t\tthis.carouselStyle = document.createElement('style');\n\t\t\t\tthis.carouselStyle.type = 'text/css';\n\t\t\t\tdocument.body.appendChild(this.carouselStyle);\n\t\t\t}\n\n\t\t\tlet innerHTML = `\n            #${this.id} .p-carousel-item {\n\t\t\t\tflex: 1 0 ${ (100/ this.numVisible) }%\n\t\t\t}\n        `;\n\n\t\t\tif (this.responsiveOptions) {\n\t\t\t\tthis.responsiveOptions.sort((data1, data2) => {\n\t\t\t\t\tconst value1 = data1.breakpoint;\n\t\t\t\t\tconst value2 = data2.breakpoint;\n\t\t\t\t\tlet result = null;\n\n\t\t\t\t\tif (value1 == null && value2 != null)\n\t\t\t\t\t\tresult = -1;\n\t\t\t\t\telse if (value1 != null && value2 == null)\n\t\t\t\t\t\tresult = 1;\n\t\t\t\t\telse if (value1 == null && value2 == null)\n\t\t\t\t\t\tresult = 0;\n\t\t\t\t\telse if (typeof value1 === 'string' && typeof value2 === 'string')\n\t\t\t\t\t\tresult = value1.localeCompare(value2, undefined, { numeric: true });\n\t\t\t\t\telse\n\t\t\t\t\t\tresult = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\n\n\t\t\t\t\treturn -1 * result;\n\t\t\t\t});\n\n\t\t\t\tfor (let i = 0; i < this.responsiveOptions.length; i++) {\n\t\t\t\t\tlet res = this.responsiveOptions[i];\n\n\t\t\t\t\tinnerHTML += `\n                    @media screen and (max-width: ${res.breakpoint}) {\n                        #${this.id} .p-carousel-item {\n                            flex: 1 0 ${ (100/ res.numVisible) }%\n                        }\n                    }\n                `\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.carouselStyle.innerHTML = innerHTML;\n\t\t}\n\n\tcalculatePosition() {\n\t\tif (this.responsiveOptions) {\n\t\t\tlet windowWidth = window.innerWidth;\n\t\t\tlet matchedResponsiveData = {\n\t\t\t\tnumVisible: this.defaultNumVisible,\n\t\t\t\tnumScroll: this.defaultNumScroll\n\t\t\t};\n\n\t\t\tfor (let i = 0; i < this.responsiveOptions.length; i++) {\n\t\t\t\tlet res = this.responsiveOptions[i];\n\n\t\t\t\tif (parseInt(res.breakpoint, 10) >= windowWidth) {\n\t\t\t\t\tmatchedResponsiveData = res;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this._numScroll !== matchedResponsiveData.numScroll) {\n\t\t\t\tlet page = this._page;\n\t\t\t\tpage = Math.floor((page * this._numScroll) / matchedResponsiveData.numScroll);\n\n\t\t\t\tlet totalShiftedItems = (matchedResponsiveData.numScroll * this.page) * -1;\n\n\t\t\t\tif (this.isCircular()) {\n\t\t\t\t\ttotalShiftedItems -= matchedResponsiveData.numVisible;\n\t\t\t\t}\n\n\t\t\t\tthis.totalShiftedItems = totalShiftedItems;\n\t\t\t\tthis._numScroll = matchedResponsiveData.numScroll;\n\n\t\t\t\tthis._page = page;\n\t\t\t\tthis.onPage.emit({\n\t\t\t\t\tpage: this.page\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this._numVisible !== matchedResponsiveData.numVisible) {\n\t\t\t\tthis._numVisible = matchedResponsiveData.numVisible;\n\t\t\t\tthis.setCloneItems();\n\t\t\t}\n\n\t\t\tthis.cd.markForCheck();\n\t\t}\n\t}\n\t\n\tsetCloneItems() {\n\t\tthis.clonedItemsForStarting = [];\n\t\tthis.clonedItemsForFinishing = [];\n\t\tif (this.isCircular()) {\n\t\t\tthis.clonedItemsForStarting.push(...this.value.slice(-1 * this._numVisible));\n\t\t\tthis.clonedItemsForFinishing.push(...this.value.slice(0, this._numVisible));\n\t\t}\n\t}\n\n\tfirstIndex() {\n\t\treturn this.isCircular() ? (-1 * (this.totalShiftedItems + this.numVisible)) : (this.totalShiftedItems * -1);\n\t}\n\n\tlastIndex() {\n\t\treturn this.firstIndex() + this.numVisible - 1;\n\t}\n\n\ttotalDots() {\n\t\treturn this.value ? Math.ceil((this.value.length - this._numVisible) / this._numScroll) + 1 : 0;\n\t}\n\n\ttotalDotsArray() {\n\t\tconst totalDots = this.totalDots();\n\t\treturn totalDots <= 0 ? [] : Array(totalDots).fill(0);\n\t}\n\n\tisVertical() {\n\t\treturn this.orientation === 'vertical';\n\t}\n\n\tisCircular() {\n\t\treturn this.circular && this.value && this.value.length >= this.numVisible;\n\t}\n\n\tisAutoplay() {\n\t\treturn this.autoplayInterval && this.allowAutoplay;\n\t}\n\n\tisForwardNavDisabled() {\n\t\treturn this.isEmpty() || (this._page >= (this.totalDots() - 1) && !this.isCircular());\n\t}\n\n\tisBackwardNavDisabled() {\n\t\treturn this.isEmpty() || (this._page <= 0  && !this.isCircular());\n\t}\n\n\tisEmpty() {\n\t\treturn !this.value || this.value.length === 0;\n\t}\n\n\tnavForward(e,index?) {\n\t\tif (this.isCircular() || this._page < (this.totalDots() - 1)) {\n\t\t\tthis.step(-1, index);\n\t\t}\n\n\t\tif (this.autoplayInterval) {\n\t\t\tthis.stopAutoplay();\n\t\t\tthis.allowAutoplay = false;\n\t\t}\n\n\t\tif (e && e.cancelable) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tnavBackward(e,index?) {\n\t\tif (this.isCircular() || this._page !== 0) {\n\t\t\tthis.step(1, index);\n\t\t}\n\n\t\tif (this.autoplayInterval) {\n\t\t\tthis.stopAutoplay();\n\t\t\tthis.allowAutoplay = false;\n\t\t}\n\t\t\n\t\tif (e && e.cancelable) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tonDotClick(e, index) {\n\t\tlet page = this._page;\n\n\t\tif (this.autoplayInterval) {\n\t\t\tthis.stopAutoplay();\n\t\t\tthis.allowAutoplay = false;\n\t\t}\n\t\t\n\t\tif (index > page) {\n\t\t\tthis.navForward(e, index);\n\t\t}\n\t\telse if (index < page) {\n\t\t\tthis.navBackward(e, index);\n\t\t}\n\t}\n\n\tstep(dir, page) {\n\t\tlet totalShiftedItems = this.totalShiftedItems;\n\t\tconst isCircular = this.isCircular();\n\n\t\tif (page != null) {\n\t\t\ttotalShiftedItems = (this._numScroll * page) * -1;\n\n\t\t\tif (isCircular) {\n\t\t\t\ttotalShiftedItems -= this._numVisible;\n\t\t\t}\n\n\t\t\tthis.isRemainingItemsAdded = false;\n\t\t}\n\t\telse {\n\t\t\ttotalShiftedItems += (this._numScroll * dir);\n\t\t\tif (this.isRemainingItemsAdded) {\n\t\t\t\ttotalShiftedItems += this.remainingItems - (this._numScroll * dir);\n\t\t\t\tthis.isRemainingItemsAdded = false;\n\t\t\t}\n\n\t\t\tlet originalShiftedItems = isCircular ? (totalShiftedItems + this._numVisible) : totalShiftedItems;\n\t\t\tpage = Math.abs(Math.floor((originalShiftedItems / this._numScroll)));\n\t\t}\n\n\t\tif (isCircular && this.page === (this.totalDots() - 1) && dir === -1) {\n\t\t\ttotalShiftedItems = -1 * (this.value.length + this._numVisible);\n\t\t\tpage = 0;\n\t\t}\n\t\telse if (isCircular && this.page === 0 && dir === 1) {\n\t\t\ttotalShiftedItems = 0;\n\t\t\tpage = (this.totalDots() - 1);\n\t\t}\n\t\telse if (page === (this.totalDots() - 1) && this.remainingItems > 0) {\n\t\t\ttotalShiftedItems += ((this.remainingItems * -1) - (this._numScroll * dir));\n\t\t\tthis.isRemainingItemsAdded = true;\n\t\t}\n\n\t\tif (this.itemsContainer) {\n\t\t\tthis.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100/ this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100/ this._numVisible)}%, 0, 0)`;\n\t\t\tthis.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n\t\t}\n\n\t\tthis.totalShiftedItems = totalShiftedItems;\n\t\tthis._page = page;\n\t\tthis.onPage.emit({\n\t\t\tpage: this.page\n\t\t});\n\t}\n\n\tstartAutoplay() {\n\t\tthis.interval = setInterval(() => {\n\t\t\tif (this.totalDots() > 0) {\n\t\t\t\tif (this.page === (this.totalDots() - 1)) {\n\t\t\t\t\tthis.step(-1, 0);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.step(-1, this.page + 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}, \n\t\tthis.autoplayInterval);\n\t}\n\n\tstopAutoplay() {\n\t\tif (this.interval) {\n\t\t\tclearInterval(this.interval);\n\t\t}\n\t}\n\n\tonTransitionEnd() {\n\t\tif (this.itemsContainer) {\n\t\t\tthis.itemsContainer.nativeElement.style.transition = '';\n\n\t\t\tif ((this.page === 0 || this.page === (this.totalDots() - 1)) && this.isCircular()) {\n\t\t\t\tthis.itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${this.totalShiftedItems * (100/ this._numVisible)}%, 0)` : `translate3d(${this.totalShiftedItems * (100/ this._numVisible)}%, 0, 0)`;\n\t\t\t}\n\t\t}\n\t}\n\n\tonTouchStart(e) {\n\t\tlet touchobj = e.changedTouches[0];\n\n\t\tthis.startPos = {\n\t\t\tx: touchobj.pageX,\n\t\t\ty: touchobj.pageY\n\t\t};\n\t}\n\n\tonTouchMove(e) {\n\t\tif (e.cancelable) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\tonTouchEnd(e) {\n\t\tlet touchobj = e.changedTouches[0];\n\n\t\tif (this.isVertical()) {\n\t\t\tthis.changePageOnTouch(e, (touchobj.pageY - this.startPos.y));\n\t\t}\n\t\telse {\n\t\t\tthis.changePageOnTouch(e, (touchobj.pageX - this.startPos.x));\n\t\t}\n\t}\n\n\tchangePageOnTouch(e, diff) {\n\t\tif (Math.abs(diff) > this.swipeThreshold) {\n\t\t\tif (diff < 0) {\n\t\t\t\tthis.navForward(e);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.navBackward(e);\n\n\t\t\t}\n\t\t}\n\t}\n\n\tbindDocumentListeners() {\n\t\tif (!this.documentResizeListener) {\n\t\t\tthis.documentResizeListener = (e) => {\n\t\t\t\tthis.calculatePosition();\n\t\t\t};\n\n\t\t\twindow.addEventListener('resize', this.documentResizeListener);\n\t\t}\n\t}\n\n\tunbindDocumentListeners() {\n\t\tif (this.documentResizeListener) {\n\t\t\twindow.removeEventListener('resize', this.documentResizeListener);\n\t\t\tthis.documentResizeListener = null;\n\t\t}\n\t}\n\n\tngOnDestroy() {\n\t\tif (this.responsiveOptions) {\n\t\t\tthis.unbindDocumentListeners();\n\t\t}\n\t\tif (this.autoplayInterval) {\n\t\t\tthis.stopAutoplay();\n\t\t}\n    }\n\n}\n\n@NgModule({\n\timports: [CommonModule, SharedModule, RippleModule],\n\texports: [CommonModule, Carousel, SharedModule],\n\tdeclarations: [Carousel]\n})\nexport class CarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["EventEmitter","UniqueComponentId","Header","Footer","PrimeTemplate","Component","ChangeDetectionStrategy","ViewEncapsulation","Input","Output","ViewChild","ContentChild","ContentChildren","CommonModule","SharedModule","RippleModule","NgModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;YAC7D,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,EAAE,CAAC;IACd,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;QCjCC,kBAAmB,EAAc,EAAS,IAAY,EAAS,EAAqB;YAAjE,OAAE,GAAF,EAAE,CAAY;YAAS,SAAI,GAAJ,IAAI,CAAQ;YAAS,OAAE,GAAF,EAAE,CAAmB;YArG3E,gBAAW,GAAG,YAAY,CAAC;YAE3B,2BAAsB,GAAG,OAAO,CAAC;YAEjC,iBAAY,GAAW,EAAE,CAAC;YAE1B,2BAAsB,GAAW,EAAE,CAAC;YAIpC,wBAAmB,GAAW,EAAE,CAAC;YAWjC,aAAQ,GAAY,KAAK,CAAC;YAE1B,mBAAc,GAAY,IAAI,CAAC;YAE/B,mBAAc,GAAY,IAAI,CAAC;YAE/B,qBAAgB,GAAU,CAAC,CAAC;YAMxB,WAAM,GAAsB,IAAIA,eAAY,EAAE,CAAC;YAU5D,gBAAW,GAAW,CAAC,CAAC;YAExB,eAAU,GAAW,CAAC,CAAC;YAEvB,kBAAa,GAAW,CAAC,CAAC;YAE1B,cAAS,GAAQ;gBAChB,SAAS,EAAC,CAAC;gBACX,UAAU,EAAC,CAAC;gBACZ,KAAK,EAAE,EAAE;aACT,CAAC;YAEF,qBAAgB,GAAU,CAAC,CAAC;YAE5B,sBAAiB,GAAU,CAAC,CAAC;YAE7B,UAAK,GAAW,CAAC,CAAC;YAUlB,0BAAqB,GAAW,KAAK,CAAC;YAMtC,mBAAc,GAAW,CAAC,CAAC;YAkB3B,mBAAc,GAAW,EAAE,CAAC;YAS3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;SACzD;QA5ID,sBAAa,0BAAI;iBAAjB;gBACC,OAAO,IAAI,CAAC,KAAK,CAAC;aAClB;iBACD,UAAS,GAAU;gBAClB,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,EAAE;oBACzC,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;qBAC3B;oBAED,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE;wBACtD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;qBACnB;yBACI,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,EAAG;wBAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;qBAClB;iBACD;gBAED,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aACjB;;;WAjBA;QAmBD,sBAAa,gCAAU;iBAAvB;gBACC,OAAO,IAAI,CAAC,WAAW,CAAC;aACxB;iBACD,UAAe,GAAU;gBACxB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;aACvB;;;WAHA;QAKD,sBAAa,+BAAS;iBAAtB;gBACC,OAAO,IAAI,CAAC,WAAW,CAAC;aACxB;iBACD,UAAc,GAAU;gBACvB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;aACtB;;;WAHA;QAqBD,sBAAa,2BAAK;iBAAlB;gBACC,OAAO,IAAI,CAAC,MAAM,CAAC;aACnB;iBACD,UAAU,GAAG;gBACZ,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;aAClB;;;WAHA;QAAA,CAAC;QAyFF,8BAAW,GAAX,UAAY,YAA2B;YACtC,IAAI,YAAY,CAAC,KAAK,EAAE;gBACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;oBACjC,IAAI,CAAC,aAAa,EAAE,CAAC;iBACrB;aACD;YAED,IAAI,IAAI,CAAC,SAAS,EAAE;gBAEnB,IAAI,YAAY,CAAC,UAAU,EAAE;oBAC5B,IAAI,IAAI,CAAC,iBAAiB,EAAE;wBAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;qBACzC;oBAED,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;wBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;qBACrB;oBAED,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;iBACzB;gBAED,IAAI,YAAY,CAAC,SAAS,EAAE;oBAC3B,IAAI,IAAI,CAAC,iBAAiB,EAAE;wBAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;qBACvC;iBACD;aACD;SACD;QAED,qCAAkB,GAAlB;YAAA,iBAuCC;YAtCA,IAAI,CAAC,EAAE,GAAGC,uBAAiB,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAE7C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,aAAa,EAAE,CAAC;aACrB;YAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC;gBACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;aAC1C;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC7B;YAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI;gBAC3B,QAAQ,IAAI,CAAC,OAAO,EAAE;oBACrB,KAAK,MAAM;wBACV,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACvB,MAAM;oBAEN,KAAK,QAAQ;wBACT,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACxC,MAAM;oBAEN,KAAK,QAAQ;wBACT,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACxC,MAAM;oBAElB;wBACC,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACvB,MAAM;iBAClB;aACD,CAAC,CAAC;SACH;QAED,wCAAqB,GAArB;YACC,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAE/C,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBAC/L,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;iBACpB;gBAED,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC;gBAE/E,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;gBACtB,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;oBAC3C,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;oBACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;qBACf,CAAC,CAAC;iBACH;gBAED,iBAAiB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;gBACzC,IAAI,UAAU,EAAE;oBACZ,iBAAiB,IAAI,IAAI,CAAC,WAAW,CAAC;iBACzC;gBAEV,IAAI,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;oBAC/D,iBAAiB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC;oBAClE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;iBAClC;qBACI;oBACJ,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;iBACnC;gBAED,IAAI,iBAAiB,KAAK,IAAI,CAAC,iBAAiB,EAAE;oBACrC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;iBAC9C;gBAEV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,4BAAO,IAAI,CAAC,MAAM,EAAC,CAAC;gBAExC,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAK,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;oBAC/D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,oBAAkB,iBAAiB,IAAI,GAAG,GAAE,IAAI,CAAC,WAAW,CAAC,UAAO,GAAG,iBAAe,iBAAiB,IAAI,GAAG,GAAE,IAAI,CAAC,WAAW,CAAC,aAAU,CAAC;iBACpN;gBAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;oBAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;iBACrB;aACD;YAED,IAAI,UAAU,EAAE;gBACN,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;oBACjB,iBAAiB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;iBAC7C;qBACI,IAAI,iBAAiB,KAAK,CAAC,EAAE;oBAC9B,iBAAiB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC3C,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;wBACzB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;qBACrC;iBACJ;gBAED,IAAI,iBAAiB,KAAK,IAAI,CAAC,iBAAiB,EAAE;oBAC1D,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;iBAClC;aACV;SACD;QAED,8BAAW,GAAX;YACE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACxB,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACrD,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,UAAU,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAC9C;YAED,IAAI,SAAS,GAAG,oBACJ,IAAI,CAAC,EAAE,gDACJ,GAAG,GAAE,IAAI,CAAC,UAAU,CAAE,yBAE/B,CAAC;YAEP,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAC,KAAK,EAAE,KAAK;oBACxC,IAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;oBAChC,IAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;oBAChC,IAAI,MAAM,GAAG,IAAI,CAAC;oBAElB,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;wBACnC,MAAM,GAAG,CAAC,CAAC,CAAC;yBACR,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;wBACxC,MAAM,GAAG,CAAC,CAAC;yBACP,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;wBACxC,MAAM,GAAG,CAAC,CAAC;yBACP,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ;wBAChE,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;wBAEpE,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE7D,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC;iBACnB,CAAC,CAAC;gBAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvD,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;oBAEpC,SAAS,IAAI,yDACkC,GAAG,CAAC,UAAU,sCACvC,IAAI,CAAC,EAAE,oEACQ,GAAG,GAAE,GAAG,CAAC,UAAU,CAAE,0EAG9C,CAAA;iBACZ;aACD;YAED,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;SACzC;QAEF,oCAAiB,GAAjB;YACC,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,IAAI,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;gBACpC,IAAI,qBAAqB,GAAG;oBAC3B,UAAU,EAAE,IAAI,CAAC,iBAAiB;oBAClC,SAAS,EAAE,IAAI,CAAC,gBAAgB;iBAChC,CAAC;gBAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvD,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;oBAEpC,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,WAAW,EAAE;wBAChD,qBAAqB,GAAG,GAAG,CAAC;qBAC5B;iBACD;gBAED,IAAI,IAAI,CAAC,UAAU,KAAK,qBAAqB,CAAC,SAAS,EAAE;oBACxD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;oBACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;oBAE9E,IAAI,iBAAiB,GAAG,CAAC,qBAAqB,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBAE3E,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;wBACtB,iBAAiB,IAAI,qBAAqB,CAAC,UAAU,CAAC;qBACtD;oBAED,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;oBAC3C,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC;oBAElD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;qBACf,CAAC,CAAC;iBACH;gBAED,IAAI,IAAI,CAAC,WAAW,KAAK,qBAAqB,CAAC,UAAU,EAAE;oBAC1D,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC,UAAU,CAAC;oBACpD,IAAI,CAAC,aAAa,EAAE,CAAC;iBACrB;gBAED,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;aACvB;SACD;QAED,gCAAa,GAAb;;YACC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACtB,CAAA,KAAA,IAAI,CAAC,sBAAsB,EAAC,IAAI,oCAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAE;gBAC7E,CAAA,KAAA,IAAI,CAAC,uBAAuB,EAAC,IAAI,oCAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAE;aAC5E;SACD;QAED,6BAAU,GAAV;YACC,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7G;QAED,4BAAS,GAAT;YACC,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAC/C;QAED,4BAAS,GAAT;YACC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAChG;QAED,iCAAc,GAAd;YACC,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,OAAO,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtD;QAED,6BAAU,GAAV;YACC,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC;SACvC;QAED,6BAAU,GAAV;YACC,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;SAC3E;QAED,6BAAU,GAAV;YACC,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,CAAC;SACnD;QAED,uCAAoB,GAApB;YACC,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;SACtF;QAED,wCAAqB,GAArB;YACC,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,IAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;SAClE;QAED,0BAAO,GAAP;YACC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;SAC9C;QAED,6BAAU,GAAV,UAAW,CAAC,EAAC,KAAM;YAClB,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE;gBAC7D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aACrB;YAED,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC3B;YAED,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;gBACtB,CAAC,CAAC,cAAc,EAAE,CAAC;aACnB;SACD;QAED,8BAAW,GAAX,UAAY,CAAC,EAAC,KAAM;YACnB,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aACpB;YAED,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC3B;YAED,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;gBACtB,CAAC,CAAC,cAAc,EAAE,CAAC;aACnB;SACD;QAED,6BAAU,GAAV,UAAW,CAAC,EAAE,KAAK;YAClB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YAEtB,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC3B;YAED,IAAI,KAAK,GAAG,IAAI,EAAE;gBACjB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aAC1B;iBACI,IAAI,KAAK,GAAG,IAAI,EAAE;gBACtB,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aAC3B;SACD;QAED,uBAAI,GAAJ,UAAK,GAAG,EAAE,IAAI;YACb,IAAI,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAC/C,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAErC,IAAI,IAAI,IAAI,IAAI,EAAE;gBACjB,iBAAiB,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;gBAElD,IAAI,UAAU,EAAE;oBACf,iBAAiB,IAAI,IAAI,CAAC,WAAW,CAAC;iBACtC;gBAED,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;aACnC;iBACI;gBACJ,iBAAiB,KAAK,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC,qBAAqB,EAAE;oBAC/B,iBAAiB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;oBACnE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;iBACnC;gBAED,IAAI,oBAAoB,GAAG,UAAU,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW,IAAI,iBAAiB,CAAC;gBACnG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;aACtE;YAED,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;gBACrE,iBAAiB,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChE,IAAI,GAAG,CAAC,CAAC;aACT;iBACI,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE;gBACpD,iBAAiB,GAAG,CAAC,CAAC;gBACtB,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;aAC9B;iBACI,IAAI,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;gBACpE,iBAAiB,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aAClC;YAED,IAAI,IAAI,CAAC,cAAc,EAAE;gBACxB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,oBAAkB,iBAAiB,IAAI,GAAG,GAAE,IAAI,CAAC,WAAW,CAAC,UAAO,GAAG,iBAAe,iBAAiB,IAAI,GAAG,GAAE,IAAI,CAAC,WAAW,CAAC,aAAU,CAAC;gBACpN,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,yBAAyB,CAAC;aAC/E;YAED,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;aACf,CAAC,CAAC;SACH;QAED,gCAAa,GAAb;YAAA,iBAYC;YAXA,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;gBAC3B,IAAI,KAAI,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;oBACzB,IAAI,KAAI,CAAC,IAAI,MAAM,KAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE;wBACzC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjB;yBACI;wBACJ,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;qBAC7B;iBACD;aACD,EACD,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACvB;QAED,+BAAY,GAAZ;YACC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC7B;SACD;QAED,kCAAe,GAAf;YACC,IAAI,IAAI,CAAC,cAAc,EAAE;gBACxB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;gBAExD,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE,EAAE;oBACnF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,oBAAkB,IAAI,CAAC,iBAAiB,IAAI,GAAG,GAAE,IAAI,CAAC,WAAW,CAAC,UAAO,GAAG,iBAAe,IAAI,CAAC,iBAAiB,IAAI,GAAG,GAAE,IAAI,CAAC,WAAW,CAAC,aAAU,CAAC;iBAC9N;aACD;SACD;QAED,+BAAY,GAAZ,UAAa,CAAC;YACb,IAAI,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAEnC,IAAI,CAAC,QAAQ,GAAG;gBACf,CAAC,EAAE,QAAQ,CAAC,KAAK;gBACjB,CAAC,EAAE,QAAQ,CAAC,KAAK;aACjB,CAAC;SACF;QAED,8BAAW,GAAX,UAAY,CAAC;YACZ,IAAI,CAAC,CAAC,UAAU,EAAE;gBACjB,CAAC,CAAC,cAAc,EAAE,CAAC;aACnB;SACD;QACD,6BAAU,GAAV,UAAW,CAAC;YACX,IAAI,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAEnC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACtB,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;aAC9D;iBACI;gBACJ,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;aAC9D;SACD;QAED,oCAAiB,GAAjB,UAAkB,CAAC,EAAE,IAAI;YACxB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE;gBACzC,IAAI,IAAI,GAAG,CAAC,EAAE;oBACb,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iBACnB;qBACI;oBACJ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iBAEpB;aACD;SACD;QAED,wCAAqB,GAArB;YAAA,iBAQC;YAPA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBACjC,IAAI,CAAC,sBAAsB,GAAG,UAAC,CAAC;oBAC/B,KAAI,CAAC,iBAAiB,EAAE,CAAC;iBACzB,CAAC;gBAEF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;aAC/D;SACD;QAED,0CAAuB,GAAvB;YACC,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAChC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAClE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACnC;SACD;QAED,8BAAW,GAAX;YACC,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAC/B;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;aACpB;SACE;;;+HAtmBQ,QAAQ;wGAAR,QAAQ,ssBA4ENC,UAAM,8EAEHC,UAAM,+DAENC,iBAAa,+KArIpB,y/HAgDN;qHAKQ,QAAQ;sBAvDpBC,YAAS;uBAAC;wBACV,QAAQ,EAAE,YAAY;wBACtB,QAAQ,EAAE,y/HAgDN;wBACD,eAAe,EAAEC,0BAAuB,CAAC,MAAM;wBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;wBACrC,SAAS,EAAE,CAAC,gBAAgB,CAAC;qBAChC;2LAGa,IAAI;0BAAhBC,QAAK;oBAqBO,UAAU;0BAAtBA,QAAK;oBAOO,SAAS;0BAArBA,QAAK;oBAOG,iBAAiB;0BAAzBA,QAAK;oBAEG,WAAW;0BAAnBA,QAAK;oBAEG,sBAAsB;0BAA9BA,QAAK;oBAEG,YAAY;0BAApBA,QAAK;oBAEG,sBAAsB;0BAA9BA,QAAK;oBAEG,sBAAsB;0BAA9BA,QAAK;oBAEG,mBAAmB;0BAA3BA,QAAK;oBAEG,cAAc;0BAAtBA,QAAK;oBAEO,KAAK;0BAAjBA,QAAK;oBAOG,QAAQ;0BAAhBA,QAAK;oBAEG,cAAc;0BAAtBA,QAAK;oBAEG,cAAc;0BAAtBA,QAAK;oBAEG,gBAAgB;0BAAxBA,QAAK;oBAEG,KAAK;0BAAbA,QAAK;oBAEG,UAAU;0BAAlBA,QAAK;oBAEO,MAAM;0BAAfC,SAAM;oBAEmB,cAAc;0BAA1CC,YAAS;2BAAC,gBAAgB;oBAEL,WAAW;0BAAhCC,eAAY;2BAACT,UAAM;oBAEK,WAAW;0BAAhCS,eAAY;2BAACR,UAAM;oBAES,SAAS;0BAAxCS,kBAAe;2BAACR,iBAAa;;;QA+hB/B;;;;qIAAa,cAAc;sIAAd,cAAc,iBA/mBd,QAAQ,aA2mBVS,eAAY,EAAEC,gBAAY,EAAEC,eAAY,aACxCF,eAAY,EA5mBV,QAAQ,EA4mBcC,gBAAY;sIAGlC,cAAc,YAJjB,CAACD,eAAY,EAAEC,gBAAY,EAAEC,eAAY,CAAC,EACzCF,eAAY,EAAYC,gBAAY;qHAGlC,cAAc;sBAL1BE,WAAQ;uBAAC;wBACT,OAAO,EAAE,CAACH,eAAY,EAAEC,gBAAY,EAAEC,eAAY,CAAC;wBACnD,OAAO,EAAE,CAACF,eAAY,EAAE,QAAQ,EAAEC,gBAAY,CAAC;wBAC/C,YAAY,EAAE,CAAC,QAAQ,CAAC;qBACxB;;;IC3qBD;;;;;;;;;;;;;"}