Files
doneit-web/.angular/cache/14.2.12/babel-webpack/5f531e28bb2f501557d6e1ca58f1e07b.json
T
Eudes Inácio 53b71ea16f its working
2023-06-30 09:54:21 +01:00

1 line
57 KiB
JSON

{"ast":null,"code":"import { normalizePassiveListenerOptions, Platform, PlatformModule } from '@angular/cdk/platform';\nimport { ɵɵdefineInjectable, ɵɵinject, NgZone, Injectable, EventEmitter, Directive, ElementRef, Output, Optional, Inject, Input, HostListener, NgModule } from '@angular/core';\nimport { coerceElement, coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EMPTY, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Options to pass to the animationstart listener. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nconst listenerOptions = normalizePassiveListenerOptions({\n passive: true\n});\n/**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\nclass AutofillMonitor {\n constructor(_platform, _ngZone) {\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._monitoredElements = new Map();\n }\n monitor(elementOrRef) {\n if (!this._platform.isBrowser) {\n return EMPTY;\n }\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n return info.subject;\n }\n const result = new Subject();\n const cssClass = 'cdk-text-field-autofilled';\n const listener = event => {\n // Animation events fire on initial element render, we check for the presence of the autofill\n // CSS class to make sure this is a real change in state, not just the initial render before\n // we fire off events.\n if (event.animationName === 'cdk-text-field-autofill-start' && !element.classList.contains(cssClass)) {\n element.classList.add(cssClass);\n this._ngZone.run(() => result.next({\n target: event.target,\n isAutofilled: true\n }));\n } else if (event.animationName === 'cdk-text-field-autofill-end' && element.classList.contains(cssClass)) {\n element.classList.remove(cssClass);\n this._ngZone.run(() => result.next({\n target: event.target,\n isAutofilled: false\n }));\n }\n };\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('animationstart', listener, listenerOptions);\n element.classList.add('cdk-text-field-autofill-monitored');\n });\n this._monitoredElements.set(element, {\n subject: result,\n unlisten: () => {\n element.removeEventListener('animationstart', listener, listenerOptions);\n }\n });\n return result;\n }\n stopMonitoring(elementOrRef) {\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n info.unlisten();\n info.subject.complete();\n element.classList.remove('cdk-text-field-autofill-monitored');\n element.classList.remove('cdk-text-field-autofilled');\n this._monitoredElements.delete(element);\n }\n }\n ngOnDestroy() {\n this._monitoredElements.forEach((_info, element) => this.stopMonitoring(element));\n }\n}\nAutofillMonitor.ɵfac = function AutofillMonitor_Factory(t) {\n return new (t || AutofillMonitor)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(ɵngcc0.NgZone));\n};\nAutofillMonitor.ɵprov = ɵɵdefineInjectable({\n factory: function AutofillMonitor_Factory() {\n return new AutofillMonitor(ɵɵinject(Platform), ɵɵinject(NgZone));\n },\n token: AutofillMonitor,\n providedIn: \"root\"\n});\nAutofillMonitor.ctorParameters = () => [{\n type: Platform\n}, {\n type: NgZone\n}];\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AutofillMonitor, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () {\n return [{\n type: ɵngcc1.Platform\n }, {\n type: ɵngcc0.NgZone\n }];\n }, null);\n})();\n/** A directive that can be used to monitor the autofill state of an input. */\nclass CdkAutofill {\n constructor(_elementRef, _autofillMonitor) {\n this._elementRef = _elementRef;\n this._autofillMonitor = _autofillMonitor;\n /** Emits when the autofill state of the element changes. */\n this.cdkAutofill = new EventEmitter();\n }\n ngOnInit() {\n this._autofillMonitor.monitor(this._elementRef).subscribe(event => this.cdkAutofill.emit(event));\n }\n ngOnDestroy() {\n this._autofillMonitor.stopMonitoring(this._elementRef);\n }\n}\nCdkAutofill.ɵfac = function CdkAutofill_Factory(t) {\n return new (t || CdkAutofill)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(AutofillMonitor));\n};\nCdkAutofill.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: CdkAutofill,\n selectors: [[\"\", \"cdkAutofill\", \"\"]],\n outputs: {\n cdkAutofill: \"cdkAutofill\"\n }\n});\nCdkAutofill.ctorParameters = () => [{\n type: ElementRef\n}, {\n type: AutofillMonitor\n}];\nCdkAutofill.propDecorators = {\n cdkAutofill: [{\n type: Output\n }]\n};\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAutofill, [{\n type: Directive,\n args: [{\n selector: '[cdkAutofill]'\n }]\n }], function () {\n return [{\n type: ɵngcc0.ElementRef\n }, {\n type: AutofillMonitor\n }];\n }, {\n cdkAutofill: [{\n type: Output\n }]\n });\n})();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Directive to automatically resize a textarea to fit its content. */\nclass CdkTextareaAutosize {\n constructor(_elementRef, _platform, _ngZone, /** @breaking-change 11.0.0 make document required */\n document) {\n this._elementRef = _elementRef;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._destroyed = new Subject();\n this._enabled = true;\n /**\n * Value of minRows as of last resize. If the minRows has decreased, the\n * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n * does not have the same problem because it does not affect the textarea's scrollHeight.\n */\n this._previousMinRows = -1;\n this._document = document;\n this._textareaElement = this._elementRef.nativeElement;\n this._measuringClass = _platform.FIREFOX ? 'cdk-textarea-autosize-measuring-firefox' : 'cdk-textarea-autosize-measuring';\n }\n /** Minimum amount of rows in the textarea. */\n get minRows() {\n return this._minRows;\n }\n set minRows(value) {\n this._minRows = coerceNumberProperty(value);\n this._setMinHeight();\n }\n /** Maximum amount of rows in the textarea. */\n get maxRows() {\n return this._maxRows;\n }\n set maxRows(value) {\n this._maxRows = coerceNumberProperty(value);\n this._setMaxHeight();\n }\n /** Whether autosizing is enabled or not */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n value = coerceBooleanProperty(value);\n // Only act if the actual value changed. This specifically helps to not run\n // resizeToFitContent too early (i.e. before ngAfterViewInit)\n if (this._enabled !== value) {\n (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n }\n }\n /** Sets the minimum height of the textarea as determined by minRows. */\n _setMinHeight() {\n const minHeight = this.minRows && this._cachedLineHeight ? `${this.minRows * this._cachedLineHeight}px` : null;\n if (minHeight) {\n this._textareaElement.style.minHeight = minHeight;\n }\n }\n /** Sets the maximum height of the textarea as determined by maxRows. */\n _setMaxHeight() {\n const maxHeight = this.maxRows && this._cachedLineHeight ? `${this.maxRows * this._cachedLineHeight}px` : null;\n if (maxHeight) {\n this._textareaElement.style.maxHeight = maxHeight;\n }\n }\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n // Remember the height which we started with in case autosizing is disabled\n this._initialHeight = this._textareaElement.style.height;\n this.resizeToFitContent();\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n fromEvent(window, 'resize').pipe(auditTime(16), takeUntil(this._destroyed)).subscribe(() => this.resizeToFitContent(true));\n });\n }\n }\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n /**\n * Cache the height of a single-row textarea if it has not already been cached.\n *\n * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n * maxRows. For the initial version, we will assume that the height of a single line in the\n * textarea does not ever change.\n */\n _cacheTextareaLineHeight() {\n if (this._cachedLineHeight) {\n return;\n }\n // Use a clone element because we have to override some styles.\n let textareaClone = this._textareaElement.cloneNode(false);\n textareaClone.rows = 1;\n // Use `position: absolute` so that this doesn't cause a browser layout and use\n // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n // would affect the height.\n textareaClone.style.position = 'absolute';\n textareaClone.style.visibility = 'hidden';\n textareaClone.style.border = 'none';\n textareaClone.style.padding = '0';\n textareaClone.style.height = '';\n textareaClone.style.minHeight = '';\n textareaClone.style.maxHeight = '';\n // In Firefox it happens that textarea elements are always bigger than the specified amount\n // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n // to hidden. This ensures that there is no invalid calculation of the line height.\n // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n textareaClone.style.overflow = 'hidden';\n this._textareaElement.parentNode.appendChild(textareaClone);\n this._cachedLineHeight = textareaClone.clientHeight;\n this._textareaElement.parentNode.removeChild(textareaClone);\n // Min and max heights have to be re-calculated if the cached line height changes\n this._setMinHeight();\n this._setMaxHeight();\n }\n ngDoCheck() {\n if (this._platform.isBrowser) {\n this.resizeToFitContent();\n }\n }\n /**\n * Resize the textarea to fit its content.\n * @param force Whether to force a height recalculation. By default the height will be\n * recalculated only if the value changed since the last call.\n */\n resizeToFitContent(force = false) {\n // If autosizing is disabled, just skip everything else\n if (!this._enabled) {\n return;\n }\n this._cacheTextareaLineHeight();\n // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n // in checking the height of the textarea.\n if (!this._cachedLineHeight) {\n return;\n }\n const textarea = this._elementRef.nativeElement;\n const value = textarea.value;\n // Only resize if the value or minRows have changed since these calculations can be expensive.\n if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n return;\n }\n const placeholderText = textarea.placeholder;\n // Reset the textarea height to auto in order to shrink back to its default size.\n // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n // Long placeholders that are wider than the textarea width may lead to a bigger scrollHeight\n // value. To ensure that the scrollHeight is not bigger than the content, the placeholders\n // need to be removed temporarily.\n textarea.classList.add(this._measuringClass);\n textarea.placeholder = '';\n // The measuring class includes a 2px padding to workaround an issue with Chrome,\n // so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n const height = textarea.scrollHeight - 4;\n // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n textarea.style.height = `${height}px`;\n textarea.classList.remove(this._measuringClass);\n textarea.placeholder = placeholderText;\n this._ngZone.runOutsideAngular(() => {\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(() => this._scrollToCaretPosition(textarea));\n } else {\n setTimeout(() => this._scrollToCaretPosition(textarea));\n }\n });\n this._previousValue = value;\n this._previousMinRows = this._minRows;\n }\n /**\n * Resets the textarea to its original size\n */\n reset() {\n // Do not try to change the textarea, if the initialHeight has not been determined yet\n // This might potentially remove styles when reset() is called before ngAfterViewInit\n if (this._initialHeight !== undefined) {\n this._textareaElement.style.height = this._initialHeight;\n }\n }\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n _noopInputHandler() {\n // no-op handler that ensures we're running change detection on input events.\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n /**\n * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n * prevent it from scrolling to the caret position. We need to re-set the selection\n * in order for it to scroll to the proper position.\n */\n _scrollToCaretPosition(textarea) {\n const {\n selectionStart,\n selectionEnd\n } = textarea;\n const document = this._getDocument();\n // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n // between the time we requested the animation frame and when it was executed.\n // Also note that we have to assert that the textarea is focused before we set the\n // selection range. Setting the selection range on a non-focused textarea will cause\n // it to receive focus on IE and Edge.\n if (!this._destroyed.isStopped && document.activeElement === textarea) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n }\n}\nCdkTextareaAutosize.ɵfac = function CdkTextareaAutosize_Factory(t) {\n return new (t || CdkTextareaAutosize)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8));\n};\nCdkTextareaAutosize.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: CdkTextareaAutosize,\n selectors: [[\"textarea\", \"cdkTextareaAutosize\", \"\"]],\n hostAttrs: [\"rows\", \"1\", 1, \"cdk-textarea-autosize\"],\n hostBindings: function CdkTextareaAutosize_HostBindings(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function CdkTextareaAutosize_input_HostBindingHandler() {\n return ctx._noopInputHandler();\n });\n }\n },\n inputs: {\n minRows: [\"cdkAutosizeMinRows\", \"minRows\"],\n maxRows: [\"cdkAutosizeMaxRows\", \"maxRows\"],\n enabled: [\"cdkTextareaAutosize\", \"enabled\"]\n },\n exportAs: [\"cdkTextareaAutosize\"]\n});\nCdkTextareaAutosize.ctorParameters = () => [{\n type: ElementRef\n}, {\n type: Platform\n}, {\n type: NgZone\n}, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }]\n}];\nCdkTextareaAutosize.propDecorators = {\n minRows: [{\n type: Input,\n args: ['cdkAutosizeMinRows']\n }],\n maxRows: [{\n type: Input,\n args: ['cdkAutosizeMaxRows']\n }],\n enabled: [{\n type: Input,\n args: ['cdkTextareaAutosize']\n }],\n _noopInputHandler: [{\n type: HostListener,\n args: ['input']\n }]\n};\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTextareaAutosize, [{\n type: Directive,\n args: [{\n selector: 'textarea[cdkTextareaAutosize]',\n exportAs: 'cdkTextareaAutosize',\n host: {\n 'class': 'cdk-textarea-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1'\n }\n }]\n }], function () {\n return [{\n type: ɵngcc0.ElementRef\n }, {\n type: ɵngcc1.Platform\n }, {\n type: ɵngcc0.NgZone\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }]\n }];\n }, {\n minRows: [{\n type: Input,\n args: ['cdkAutosizeMinRows']\n }],\n maxRows: [{\n type: Input,\n args: ['cdkAutosizeMaxRows']\n }],\n enabled: [{\n type: Input,\n args: ['cdkTextareaAutosize']\n }],\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n _noopInputHandler: [{\n type: HostListener,\n args: ['input']\n }]\n });\n})();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass TextFieldModule {}\nTextFieldModule.ɵfac = function TextFieldModule_Factory(t) {\n return new (t || TextFieldModule)();\n};\nTextFieldModule.ɵmod = /*@__PURE__*/ɵngcc0.ɵɵdefineNgModule({\n type: TextFieldModule\n});\nTextFieldModule.ɵinj = /*@__PURE__*/ɵngcc0.ɵɵdefineInjector({\n imports: [PlatformModule]\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TextFieldModule, [{\n type: NgModule,\n args: [{\n declarations: [CdkAutofill, CdkTextareaAutosize],\n imports: [PlatformModule],\n exports: [CdkAutofill, CdkTextareaAutosize]\n }]\n }], null, null);\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TextFieldModule, {\n declarations: function () {\n return [CdkAutofill, CdkTextareaAutosize];\n },\n imports: function () {\n return [PlatformModule];\n },\n exports: function () {\n return [CdkAutofill, CdkTextareaAutosize];\n }\n });\n})();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AutofillMonitor, CdkAutofill, CdkTextareaAutosize, TextFieldModule };","map":{"version":3,"names":["normalizePassiveListenerOptions","Platform","PlatformModule","ɵɵdefineInjectable","ɵɵinject","NgZone","Injectable","EventEmitter","Directive","ElementRef","Output","Optional","Inject","Input","HostListener","NgModule","coerceElement","coerceNumberProperty","coerceBooleanProperty","EMPTY","Subject","fromEvent","auditTime","takeUntil","DOCUMENT","ɵngcc0","ɵngcc1","listenerOptions","passive","AutofillMonitor","constructor","_platform","_ngZone","_monitoredElements","Map","monitor","elementOrRef","isBrowser","element","info","get","subject","result","cssClass","listener","event","animationName","classList","contains","add","run","next","target","isAutofilled","remove","runOutsideAngular","addEventListener","set","unlisten","removeEventListener","stopMonitoring","complete","delete","ngOnDestroy","forEach","_info","ɵfac","AutofillMonitor_Factory","t","ɵprov","factory","token","providedIn","ctorParameters","type","ngDevMode","ɵsetClassMetadata","args","CdkAutofill","_elementRef","_autofillMonitor","cdkAutofill","ngOnInit","subscribe","emit","CdkAutofill_Factory","ɵɵdirectiveInject","ɵdir","ɵɵdefineDirective","selectors","outputs","propDecorators","selector","CdkTextareaAutosize","document","_destroyed","_enabled","_previousMinRows","_document","_textareaElement","nativeElement","_measuringClass","FIREFOX","minRows","_minRows","value","_setMinHeight","maxRows","_maxRows","_setMaxHeight","enabled","resizeToFitContent","reset","minHeight","_cachedLineHeight","style","maxHeight","ngAfterViewInit","_initialHeight","height","window","_getWindow","pipe","_cacheTextareaLineHeight","textareaClone","cloneNode","rows","position","visibility","border","padding","overflow","parentNode","appendChild","clientHeight","removeChild","ngDoCheck","force","textarea","_previousValue","placeholderText","placeholder","scrollHeight","requestAnimationFrame","_scrollToCaretPosition","setTimeout","undefined","_noopInputHandler","_getDocument","doc","defaultView","selectionStart","selectionEnd","isStopped","activeElement","setSelectionRange","CdkTextareaAutosize_Factory","hostAttrs","hostBindings","CdkTextareaAutosize_HostBindings","rf","ctx","ɵɵlistener","CdkTextareaAutosize_input_HostBindingHandler","inputs","exportAs","decorators","host","TextFieldModule","TextFieldModule_Factory","ɵmod","ɵɵdefineNgModule","ɵinj","ɵɵdefineInjector","imports","declarations","exports","ngJitMode","ɵɵsetNgModuleScope"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/text-field.js"],"sourcesContent":["import { normalizePassiveListenerOptions, Platform, PlatformModule } from '@angular/cdk/platform';\nimport { ɵɵdefineInjectable, ɵɵinject, NgZone, Injectable, EventEmitter, Directive, ElementRef, Output, Optional, Inject, Input, HostListener, NgModule } from '@angular/core';\nimport { coerceElement, coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EMPTY, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Options to pass to the animationstart listener. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nconst listenerOptions = normalizePassiveListenerOptions({ passive: true });\n/**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\nclass AutofillMonitor {\n constructor(_platform, _ngZone) {\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._monitoredElements = new Map();\n }\n monitor(elementOrRef) {\n if (!this._platform.isBrowser) {\n return EMPTY;\n }\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n return info.subject;\n }\n const result = new Subject();\n const cssClass = 'cdk-text-field-autofilled';\n const listener = ((event) => {\n // Animation events fire on initial element render, we check for the presence of the autofill\n // CSS class to make sure this is a real change in state, not just the initial render before\n // we fire off events.\n if (event.animationName === 'cdk-text-field-autofill-start' &&\n !element.classList.contains(cssClass)) {\n element.classList.add(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: true }));\n }\n else if (event.animationName === 'cdk-text-field-autofill-end' &&\n element.classList.contains(cssClass)) {\n element.classList.remove(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: false }));\n }\n });\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('animationstart', listener, listenerOptions);\n element.classList.add('cdk-text-field-autofill-monitored');\n });\n this._monitoredElements.set(element, {\n subject: result,\n unlisten: () => {\n element.removeEventListener('animationstart', listener, listenerOptions);\n }\n });\n return result;\n }\n stopMonitoring(elementOrRef) {\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n info.unlisten();\n info.subject.complete();\n element.classList.remove('cdk-text-field-autofill-monitored');\n element.classList.remove('cdk-text-field-autofilled');\n this._monitoredElements.delete(element);\n }\n }\n ngOnDestroy() {\n this._monitoredElements.forEach((_info, element) => this.stopMonitoring(element));\n }\n}\nAutofillMonitor.ɵfac = function AutofillMonitor_Factory(t) { return new (t || AutofillMonitor)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nAutofillMonitor.ɵprov = ɵɵdefineInjectable({ factory: function AutofillMonitor_Factory() { return new AutofillMonitor(ɵɵinject(Platform), ɵɵinject(NgZone)); }, token: AutofillMonitor, providedIn: \"root\" });\nAutofillMonitor.ctorParameters = () => [\n { type: Platform },\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AutofillMonitor, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }]; }, null); })();\n/** A directive that can be used to monitor the autofill state of an input. */\nclass CdkAutofill {\n constructor(_elementRef, _autofillMonitor) {\n this._elementRef = _elementRef;\n this._autofillMonitor = _autofillMonitor;\n /** Emits when the autofill state of the element changes. */\n this.cdkAutofill = new EventEmitter();\n }\n ngOnInit() {\n this._autofillMonitor\n .monitor(this._elementRef)\n .subscribe(event => this.cdkAutofill.emit(event));\n }\n ngOnDestroy() {\n this._autofillMonitor.stopMonitoring(this._elementRef);\n }\n}\nCdkAutofill.ɵfac = function CdkAutofill_Factory(t) { return new (t || CdkAutofill)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(AutofillMonitor)); };\nCdkAutofill.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkAutofill, selectors: [[\"\", \"cdkAutofill\", \"\"]], outputs: { cdkAutofill: \"cdkAutofill\" } });\nCdkAutofill.ctorParameters = () => [\n { type: ElementRef },\n { type: AutofillMonitor }\n];\nCdkAutofill.propDecorators = {\n cdkAutofill: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAutofill, [{\n type: Directive,\n args: [{\n selector: '[cdkAutofill]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: AutofillMonitor }]; }, { cdkAutofill: [{\n type: Output\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Directive to automatically resize a textarea to fit its content. */\nclass CdkTextareaAutosize {\n constructor(_elementRef, _platform, _ngZone, \n /** @breaking-change 11.0.0 make document required */\n document) {\n this._elementRef = _elementRef;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._destroyed = new Subject();\n this._enabled = true;\n /**\n * Value of minRows as of last resize. If the minRows has decreased, the\n * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n * does not have the same problem because it does not affect the textarea's scrollHeight.\n */\n this._previousMinRows = -1;\n this._document = document;\n this._textareaElement = this._elementRef.nativeElement;\n this._measuringClass = _platform.FIREFOX ?\n 'cdk-textarea-autosize-measuring-firefox' :\n 'cdk-textarea-autosize-measuring';\n }\n /** Minimum amount of rows in the textarea. */\n get minRows() { return this._minRows; }\n set minRows(value) {\n this._minRows = coerceNumberProperty(value);\n this._setMinHeight();\n }\n /** Maximum amount of rows in the textarea. */\n get maxRows() { return this._maxRows; }\n set maxRows(value) {\n this._maxRows = coerceNumberProperty(value);\n this._setMaxHeight();\n }\n /** Whether autosizing is enabled or not */\n get enabled() { return this._enabled; }\n set enabled(value) {\n value = coerceBooleanProperty(value);\n // Only act if the actual value changed. This specifically helps to not run\n // resizeToFitContent too early (i.e. before ngAfterViewInit)\n if (this._enabled !== value) {\n (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n }\n }\n /** Sets the minimum height of the textarea as determined by minRows. */\n _setMinHeight() {\n const minHeight = this.minRows && this._cachedLineHeight ?\n `${this.minRows * this._cachedLineHeight}px` : null;\n if (minHeight) {\n this._textareaElement.style.minHeight = minHeight;\n }\n }\n /** Sets the maximum height of the textarea as determined by maxRows. */\n _setMaxHeight() {\n const maxHeight = this.maxRows && this._cachedLineHeight ?\n `${this.maxRows * this._cachedLineHeight}px` : null;\n if (maxHeight) {\n this._textareaElement.style.maxHeight = maxHeight;\n }\n }\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n // Remember the height which we started with in case autosizing is disabled\n this._initialHeight = this._textareaElement.style.height;\n this.resizeToFitContent();\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n fromEvent(window, 'resize')\n .pipe(auditTime(16), takeUntil(this._destroyed))\n .subscribe(() => this.resizeToFitContent(true));\n });\n }\n }\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n /**\n * Cache the height of a single-row textarea if it has not already been cached.\n *\n * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n * maxRows. For the initial version, we will assume that the height of a single line in the\n * textarea does not ever change.\n */\n _cacheTextareaLineHeight() {\n if (this._cachedLineHeight) {\n return;\n }\n // Use a clone element because we have to override some styles.\n let textareaClone = this._textareaElement.cloneNode(false);\n textareaClone.rows = 1;\n // Use `position: absolute` so that this doesn't cause a browser layout and use\n // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n // would affect the height.\n textareaClone.style.position = 'absolute';\n textareaClone.style.visibility = 'hidden';\n textareaClone.style.border = 'none';\n textareaClone.style.padding = '0';\n textareaClone.style.height = '';\n textareaClone.style.minHeight = '';\n textareaClone.style.maxHeight = '';\n // In Firefox it happens that textarea elements are always bigger than the specified amount\n // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n // to hidden. This ensures that there is no invalid calculation of the line height.\n // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n textareaClone.style.overflow = 'hidden';\n this._textareaElement.parentNode.appendChild(textareaClone);\n this._cachedLineHeight = textareaClone.clientHeight;\n this._textareaElement.parentNode.removeChild(textareaClone);\n // Min and max heights have to be re-calculated if the cached line height changes\n this._setMinHeight();\n this._setMaxHeight();\n }\n ngDoCheck() {\n if (this._platform.isBrowser) {\n this.resizeToFitContent();\n }\n }\n /**\n * Resize the textarea to fit its content.\n * @param force Whether to force a height recalculation. By default the height will be\n * recalculated only if the value changed since the last call.\n */\n resizeToFitContent(force = false) {\n // If autosizing is disabled, just skip everything else\n if (!this._enabled) {\n return;\n }\n this._cacheTextareaLineHeight();\n // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n // in checking the height of the textarea.\n if (!this._cachedLineHeight) {\n return;\n }\n const textarea = this._elementRef.nativeElement;\n const value = textarea.value;\n // Only resize if the value or minRows have changed since these calculations can be expensive.\n if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n return;\n }\n const placeholderText = textarea.placeholder;\n // Reset the textarea height to auto in order to shrink back to its default size.\n // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n // Long placeholders that are wider than the textarea width may lead to a bigger scrollHeight\n // value. To ensure that the scrollHeight is not bigger than the content, the placeholders\n // need to be removed temporarily.\n textarea.classList.add(this._measuringClass);\n textarea.placeholder = '';\n // The measuring class includes a 2px padding to workaround an issue with Chrome,\n // so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n const height = textarea.scrollHeight - 4;\n // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n textarea.style.height = `${height}px`;\n textarea.classList.remove(this._measuringClass);\n textarea.placeholder = placeholderText;\n this._ngZone.runOutsideAngular(() => {\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(() => this._scrollToCaretPosition(textarea));\n }\n else {\n setTimeout(() => this._scrollToCaretPosition(textarea));\n }\n });\n this._previousValue = value;\n this._previousMinRows = this._minRows;\n }\n /**\n * Resets the textarea to its original size\n */\n reset() {\n // Do not try to change the textarea, if the initialHeight has not been determined yet\n // This might potentially remove styles when reset() is called before ngAfterViewInit\n if (this._initialHeight !== undefined) {\n this._textareaElement.style.height = this._initialHeight;\n }\n }\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n _noopInputHandler() {\n // no-op handler that ensures we're running change detection on input events.\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n /**\n * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n * prevent it from scrolling to the caret position. We need to re-set the selection\n * in order for it to scroll to the proper position.\n */\n _scrollToCaretPosition(textarea) {\n const { selectionStart, selectionEnd } = textarea;\n const document = this._getDocument();\n // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n // between the time we requested the animation frame and when it was executed.\n // Also note that we have to assert that the textarea is focused before we set the\n // selection range. Setting the selection range on a non-focused textarea will cause\n // it to receive focus on IE and Edge.\n if (!this._destroyed.isStopped && document.activeElement === textarea) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n }\n}\nCdkTextareaAutosize.ɵfac = function CdkTextareaAutosize_Factory(t) { return new (t || CdkTextareaAutosize)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8)); };\nCdkTextareaAutosize.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkTextareaAutosize, selectors: [[\"textarea\", \"cdkTextareaAutosize\", \"\"]], hostAttrs: [\"rows\", \"1\", 1, \"cdk-textarea-autosize\"], hostBindings: function CdkTextareaAutosize_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function CdkTextareaAutosize_input_HostBindingHandler() { return ctx._noopInputHandler(); });\n } }, inputs: { minRows: [\"cdkAutosizeMinRows\", \"minRows\"], maxRows: [\"cdkAutosizeMaxRows\", \"maxRows\"], enabled: [\"cdkTextareaAutosize\", \"enabled\"] }, exportAs: [\"cdkTextareaAutosize\"] });\nCdkTextareaAutosize.ctorParameters = () => [\n { type: ElementRef },\n { type: Platform },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }\n];\nCdkTextareaAutosize.propDecorators = {\n minRows: [{ type: Input, args: ['cdkAutosizeMinRows',] }],\n maxRows: [{ type: Input, args: ['cdkAutosizeMaxRows',] }],\n enabled: [{ type: Input, args: ['cdkTextareaAutosize',] }],\n _noopInputHandler: [{ type: HostListener, args: ['input',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTextareaAutosize, [{\n type: Directive,\n args: [{\n selector: 'textarea[cdkTextareaAutosize]',\n exportAs: 'cdkTextareaAutosize',\n host: {\n 'class': 'cdk-textarea-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { minRows: [{\n type: Input,\n args: ['cdkAutosizeMinRows']\n }], maxRows: [{\n type: Input,\n args: ['cdkAutosizeMaxRows']\n }], enabled: [{\n type: Input,\n args: ['cdkTextareaAutosize']\n }], \n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n _noopInputHandler: [{\n type: HostListener,\n args: ['input']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass TextFieldModule {\n}\nTextFieldModule.ɵfac = function TextFieldModule_Factory(t) { return new (t || TextFieldModule)(); };\nTextFieldModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: TextFieldModule });\nTextFieldModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [PlatformModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TextFieldModule, [{\n type: NgModule,\n args: [{\n declarations: [CdkAutofill, CdkTextareaAutosize],\n imports: [PlatformModule],\n exports: [CdkAutofill, CdkTextareaAutosize]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TextFieldModule, { declarations: function () { return [CdkAutofill, CdkTextareaAutosize]; }, imports: function () { return [PlatformModule]; }, exports: function () { return [CdkAutofill, CdkTextareaAutosize]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AutofillMonitor, CdkAutofill, CdkTextareaAutosize, TextFieldModule };\n\n"],"mappings":"AAAA,SAASA,+BAA+B,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,uBAAuB;AACjG,SAASC,kBAAkB,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,EAAEC,YAAY,EAAEC,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,KAAK,EAAEC,YAAY,EAAEC,QAAQ,QAAQ,eAAe;AAC9K,SAASC,aAAa,EAAEC,oBAAoB,EAAEC,qBAAqB,QAAQ,uBAAuB;AAClG,SAASC,KAAK,EAAEC,OAAO,EAAEC,SAAS,QAAQ,MAAM;AAChD,SAASC,SAAS,EAAEC,SAAS,QAAQ,gBAAgB;AACrD,SAASC,QAAQ,QAAQ,iBAAiB;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAC/C,MAAMC,eAAe,GAAG3B,+BAA+B,CAAC;EAAE4B,OAAO,EAAE;AAAK,CAAC,CAAC;AAC1E;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,CAAC;EAClBC,WAAWA,CAACC,SAAS,EAAEC,OAAO,EAAE;IAC5B,IAAI,CAACD,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,kBAAkB,GAAG,IAAIC,GAAG,CAAC,CAAC;EACvC;EACAC,OAAOA,CAACC,YAAY,EAAE;IAClB,IAAI,CAAC,IAAI,CAACL,SAAS,CAACM,SAAS,EAAE;MAC3B,OAAOlB,KAAK;IAChB;IACA,MAAMmB,OAAO,GAAGtB,aAAa,CAACoB,YAAY,CAAC;IAC3C,MAAMG,IAAI,GAAG,IAAI,CAACN,kBAAkB,CAACO,GAAG,CAACF,OAAO,CAAC;IACjD,IAAIC,IAAI,EAAE;MACN,OAAOA,IAAI,CAACE,OAAO;IACvB;IACA,MAAMC,MAAM,GAAG,IAAItB,OAAO,CAAC,CAAC;IAC5B,MAAMuB,QAAQ,GAAG,2BAA2B;IAC5C,MAAMC,QAAQ,GAAKC,KAAK,IAAK;MACzB;MACA;MACA;MACA,IAAIA,KAAK,CAACC,aAAa,KAAK,+BAA+B,IACvD,CAACR,OAAO,CAACS,SAAS,CAACC,QAAQ,CAACL,QAAQ,CAAC,EAAE;QACvCL,OAAO,CAACS,SAAS,CAACE,GAAG,CAACN,QAAQ,CAAC;QAC/B,IAAI,CAACX,OAAO,CAACkB,GAAG,CAAC,MAAMR,MAAM,CAACS,IAAI,CAAC;UAAEC,MAAM,EAAEP,KAAK,CAACO,MAAM;UAAEC,YAAY,EAAE;QAAK,CAAC,CAAC,CAAC;MACrF,CAAC,MACI,IAAIR,KAAK,CAACC,aAAa,KAAK,6BAA6B,IAC1DR,OAAO,CAACS,SAAS,CAACC,QAAQ,CAACL,QAAQ,CAAC,EAAE;QACtCL,OAAO,CAACS,SAAS,CAACO,MAAM,CAACX,QAAQ,CAAC;QAClC,IAAI,CAACX,OAAO,CAACkB,GAAG,CAAC,MAAMR,MAAM,CAACS,IAAI,CAAC;UAAEC,MAAM,EAAEP,KAAK,CAACO,MAAM;UAAEC,YAAY,EAAE;QAAM,CAAC,CAAC,CAAC;MACtF;IACJ,CAAE;IACF,IAAI,CAACrB,OAAO,CAACuB,iBAAiB,CAAC,MAAM;MACjCjB,OAAO,CAACkB,gBAAgB,CAAC,gBAAgB,EAAEZ,QAAQ,EAAEjB,eAAe,CAAC;MACrEW,OAAO,CAACS,SAAS,CAACE,GAAG,CAAC,mCAAmC,CAAC;IAC9D,CAAC,CAAC;IACF,IAAI,CAAChB,kBAAkB,CAACwB,GAAG,CAACnB,OAAO,EAAE;MACjCG,OAAO,EAAEC,MAAM;MACfgB,QAAQ,EAAEA,CAAA,KAAM;QACZpB,OAAO,CAACqB,mBAAmB,CAAC,gBAAgB,EAAEf,QAAQ,EAAEjB,eAAe,CAAC;MAC5E;IACJ,CAAC,CAAC;IACF,OAAOe,MAAM;EACjB;EACAkB,cAAcA,CAACxB,YAAY,EAAE;IACzB,MAAME,OAAO,GAAGtB,aAAa,CAACoB,YAAY,CAAC;IAC3C,MAAMG,IAAI,GAAG,IAAI,CAACN,kBAAkB,CAACO,GAAG,CAACF,OAAO,CAAC;IACjD,IAAIC,IAAI,EAAE;MACNA,IAAI,CAACmB,QAAQ,CAAC,CAAC;MACfnB,IAAI,CAACE,OAAO,CAACoB,QAAQ,CAAC,CAAC;MACvBvB,OAAO,CAACS,SAAS,CAACO,MAAM,CAAC,mCAAmC,CAAC;MAC7DhB,OAAO,CAACS,SAAS,CAACO,MAAM,CAAC,2BAA2B,CAAC;MACrD,IAAI,CAACrB,kBAAkB,CAAC6B,MAAM,CAACxB,OAAO,CAAC;IAC3C;EACJ;EACAyB,WAAWA,CAAA,EAAG;IACV,IAAI,CAAC9B,kBAAkB,CAAC+B,OAAO,CAAC,CAACC,KAAK,EAAE3B,OAAO,KAAK,IAAI,CAACsB,cAAc,CAACtB,OAAO,CAAC,CAAC;EACrF;AACJ;AACAT,eAAe,CAACqC,IAAI,GAAG,SAASC,uBAAuBA,CAACC,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAIvC,eAAe,EAAEJ,MAAM,CAACrB,QAAQ,CAACsB,MAAM,CAACzB,QAAQ,CAAC,EAAEwB,MAAM,CAACrB,QAAQ,CAACqB,MAAM,CAACpB,MAAM,CAAC,CAAC;AAAE,CAAC;AACnKwB,eAAe,CAACwC,KAAK,GAAGlE,kBAAkB,CAAC;EAAEmE,OAAO,EAAE,SAASH,uBAAuBA,CAAA,EAAG;IAAE,OAAO,IAAItC,eAAe,CAACzB,QAAQ,CAACH,QAAQ,CAAC,EAAEG,QAAQ,CAACC,MAAM,CAAC,CAAC;EAAE,CAAC;EAAEkE,KAAK,EAAE1C,eAAe;EAAE2C,UAAU,EAAE;AAAO,CAAC,CAAC;AAC7M3C,eAAe,CAAC4C,cAAc,GAAG,MAAM,CACnC;EAAEC,IAAI,EAAEzE;AAAS,CAAC,EAClB;EAAEyE,IAAI,EAAErE;AAAO,CAAC,CACnB;AACD,CAAC,YAAY;EAAE,CAAC,OAAOsE,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKlD,MAAM,CAACmD,iBAAiB,CAAC/C,eAAe,EAAE,CAAC;IACrG6C,IAAI,EAAEpE,UAAU;IAChBuE,IAAI,EAAE,CAAC;MAAEL,UAAU,EAAE;IAAO,CAAC;EACjC,CAAC,CAAC,EAAE,YAAY;IAAE,OAAO,CAAC;MAAEE,IAAI,EAAEhD,MAAM,CAACzB;IAAS,CAAC,EAAE;MAAEyE,IAAI,EAAEjD,MAAM,CAACpB;IAAO,CAAC,CAAC;EAAE,CAAC,EAAE,IAAI,CAAC;AAAE,CAAC,EAAE,CAAC;AACjG;AACA,MAAMyE,WAAW,CAAC;EACdhD,WAAWA,CAACiD,WAAW,EAAEC,gBAAgB,EAAE;IACvC,IAAI,CAACD,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB;IACxC;IACA,IAAI,CAACC,WAAW,GAAG,IAAI1E,YAAY,CAAC,CAAC;EACzC;EACA2E,QAAQA,CAAA,EAAG;IACP,IAAI,CAACF,gBAAgB,CAChB7C,OAAO,CAAC,IAAI,CAAC4C,WAAW,CAAC,CACzBI,SAAS,CAACtC,KAAK,IAAI,IAAI,CAACoC,WAAW,CAACG,IAAI,CAACvC,KAAK,CAAC,CAAC;EACzD;EACAkB,WAAWA,CAAA,EAAG;IACV,IAAI,CAACiB,gBAAgB,CAACpB,cAAc,CAAC,IAAI,CAACmB,WAAW,CAAC;EAC1D;AACJ;AACAD,WAAW,CAACZ,IAAI,GAAG,SAASmB,mBAAmBA,CAACjB,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAIU,WAAW,EAAErD,MAAM,CAAC6D,iBAAiB,CAAC7D,MAAM,CAAChB,UAAU,CAAC,EAAEgB,MAAM,CAAC6D,iBAAiB,CAACzD,eAAe,CAAC,CAAC;AAAE,CAAC;AAC7KiD,WAAW,CAACS,IAAI,GAAG,aAAc9D,MAAM,CAAC+D,iBAAiB,CAAC;EAAEd,IAAI,EAAEI,WAAW;EAAEW,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;EAAEC,OAAO,EAAE;IAAET,WAAW,EAAE;EAAc;AAAE,CAAC,CAAC;AAC/JH,WAAW,CAACL,cAAc,GAAG,MAAM,CAC/B;EAAEC,IAAI,EAAEjE;AAAW,CAAC,EACpB;EAAEiE,IAAI,EAAE7C;AAAgB,CAAC,CAC5B;AACDiD,WAAW,CAACa,cAAc,GAAG;EACzBV,WAAW,EAAE,CAAC;IAAEP,IAAI,EAAEhE;EAAO,CAAC;AAClC,CAAC;AACD,CAAC,YAAY;EAAE,CAAC,OAAOiE,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKlD,MAAM,CAACmD,iBAAiB,CAACE,WAAW,EAAE,CAAC;IACjGJ,IAAI,EAAElE,SAAS;IACfqE,IAAI,EAAE,CAAC;MACCe,QAAQ,EAAE;IACd,CAAC;EACT,CAAC,CAAC,EAAE,YAAY;IAAE,OAAO,CAAC;MAAElB,IAAI,EAAEjD,MAAM,CAAChB;IAAW,CAAC,EAAE;MAAEiE,IAAI,EAAE7C;IAAgB,CAAC,CAAC;EAAE,CAAC,EAAE;IAAEoD,WAAW,EAAE,CAAC;MAC9FP,IAAI,EAAEhE;IACV,CAAC;EAAE,CAAC,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMmF,mBAAmB,CAAC;EACtB/D,WAAWA,CAACiD,WAAW,EAAEhD,SAAS,EAAEC,OAAO,EAC3C;EACA8D,QAAQ,EAAE;IACN,IAAI,CAACf,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAAChD,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAAC+D,UAAU,GAAG,IAAI3E,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC4E,QAAQ,GAAG,IAAI;IACpB;AACR;AACA;AACA;AACA;IACQ,IAAI,CAACC,gBAAgB,GAAG,CAAC,CAAC;IAC1B,IAAI,CAACC,SAAS,GAAGJ,QAAQ;IACzB,IAAI,CAACK,gBAAgB,GAAG,IAAI,CAACpB,WAAW,CAACqB,aAAa;IACtD,IAAI,CAACC,eAAe,GAAGtE,SAAS,CAACuE,OAAO,GACpC,yCAAyC,GACzC,iCAAiC;EACzC;EACA;EACA,IAAIC,OAAOA,CAAA,EAAG;IAAE,OAAO,IAAI,CAACC,QAAQ;EAAE;EACtC,IAAID,OAAOA,CAACE,KAAK,EAAE;IACf,IAAI,CAACD,QAAQ,GAAGvF,oBAAoB,CAACwF,KAAK,CAAC;IAC3C,IAAI,CAACC,aAAa,CAAC,CAAC;EACxB;EACA;EACA,IAAIC,OAAOA,CAAA,EAAG;IAAE,OAAO,IAAI,CAACC,QAAQ;EAAE;EACtC,IAAID,OAAOA,CAACF,KAAK,EAAE;IACf,IAAI,CAACG,QAAQ,GAAG3F,oBAAoB,CAACwF,KAAK,CAAC;IAC3C,IAAI,CAACI,aAAa,CAAC,CAAC;EACxB;EACA;EACA,IAAIC,OAAOA,CAAA,EAAG;IAAE,OAAO,IAAI,CAACd,QAAQ;EAAE;EACtC,IAAIc,OAAOA,CAACL,KAAK,EAAE;IACfA,KAAK,GAAGvF,qBAAqB,CAACuF,KAAK,CAAC;IACpC;IACA;IACA,IAAI,IAAI,CAACT,QAAQ,KAAKS,KAAK,EAAE;MACzB,CAAC,IAAI,CAACT,QAAQ,GAAGS,KAAK,IAAI,IAAI,CAACM,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAACC,KAAK,CAAC,CAAC;IAC1E;EACJ;EACA;EACAN,aAAaA,CAAA,EAAG;IACZ,MAAMO,SAAS,GAAG,IAAI,CAACV,OAAO,IAAI,IAAI,CAACW,iBAAiB,GACnD,GAAE,IAAI,CAACX,OAAO,GAAG,IAAI,CAACW,iBAAkB,IAAG,GAAG,IAAI;IACvD,IAAID,SAAS,EAAE;MACX,IAAI,CAACd,gBAAgB,CAACgB,KAAK,CAACF,SAAS,GAAGA,SAAS;IACrD;EACJ;EACA;EACAJ,aAAaA,CAAA,EAAG;IACZ,MAAMO,SAAS,GAAG,IAAI,CAACT,OAAO,IAAI,IAAI,CAACO,iBAAiB,GACnD,GAAE,IAAI,CAACP,OAAO,GAAG,IAAI,CAACO,iBAAkB,IAAG,GAAG,IAAI;IACvD,IAAIE,SAAS,EAAE;MACX,IAAI,CAACjB,gBAAgB,CAACgB,KAAK,CAACC,SAAS,GAAGA,SAAS;IACrD;EACJ;EACAC,eAAeA,CAAA,EAAG;IACd,IAAI,IAAI,CAACtF,SAAS,CAACM,SAAS,EAAE;MAC1B;MACA,IAAI,CAACiF,cAAc,GAAG,IAAI,CAACnB,gBAAgB,CAACgB,KAAK,CAACI,MAAM;MACxD,IAAI,CAACR,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAAC/E,OAAO,CAACuB,iBAAiB,CAAC,MAAM;QACjC,MAAMiE,MAAM,GAAG,IAAI,CAACC,UAAU,CAAC,CAAC;QAChCpG,SAAS,CAACmG,MAAM,EAAE,QAAQ,CAAC,CACtBE,IAAI,CAACpG,SAAS,CAAC,EAAE,CAAC,EAAEC,SAAS,CAAC,IAAI,CAACwE,UAAU,CAAC,CAAC,CAC/CZ,SAAS,CAAC,MAAM,IAAI,CAAC4B,kBAAkB,CAAC,IAAI,CAAC,CAAC;MACvD,CAAC,CAAC;IACN;EACJ;EACAhD,WAAWA,CAAA,EAAG;IACV,IAAI,CAACgC,UAAU,CAAC5C,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC4C,UAAU,CAAClC,QAAQ,CAAC,CAAC;EAC9B;EACA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI8D,wBAAwBA,CAAA,EAAG;IACvB,IAAI,IAAI,CAACT,iBAAiB,EAAE;MACxB;IACJ;IACA;IACA,IAAIU,aAAa,GAAG,IAAI,CAACzB,gBAAgB,CAAC0B,SAAS,CAAC,KAAK,CAAC;IAC1DD,aAAa,CAACE,IAAI,GAAG,CAAC;IACtB;IACA;IACA;IACAF,aAAa,CAACT,KAAK,CAACY,QAAQ,GAAG,UAAU;IACzCH,aAAa,CAACT,KAAK,CAACa,UAAU,GAAG,QAAQ;IACzCJ,aAAa,CAACT,KAAK,CAACc,MAAM,GAAG,MAAM;IACnCL,aAAa,CAACT,KAAK,CAACe,OAAO,GAAG,GAAG;IACjCN,aAAa,CAACT,KAAK,CAACI,MAAM,GAAG,EAAE;IAC/BK,aAAa,CAACT,KAAK,CAACF,SAAS,GAAG,EAAE;IAClCW,aAAa,CAACT,KAAK,CAACC,SAAS,GAAG,EAAE;IAClC;IACA;IACA;IACA;IACA;IACAQ,aAAa,CAACT,KAAK,CAACgB,QAAQ,GAAG,QAAQ;IACvC,IAAI,CAAChC,gBAAgB,CAACiC,UAAU,CAACC,WAAW,CAACT,aAAa,CAAC;IAC3D,IAAI,CAACV,iBAAiB,GAAGU,aAAa,CAACU,YAAY;IACnD,IAAI,CAACnC,gBAAgB,CAACiC,UAAU,CAACG,WAAW,CAACX,aAAa,CAAC;IAC3D;IACA,IAAI,CAAClB,aAAa,CAAC,CAAC;IACpB,IAAI,CAACG,aAAa,CAAC,CAAC;EACxB;EACA2B,SAASA,CAAA,EAAG;IACR,IAAI,IAAI,CAACzG,SAAS,CAACM,SAAS,EAAE;MAC1B,IAAI,CAAC0E,kBAAkB,CAAC,CAAC;IAC7B;EACJ;EACA;AACJ;AACA;AACA;AACA;EACIA,kBAAkBA,CAAC0B,KAAK,GAAG,KAAK,EAAE;IAC9B;IACA,IAAI,CAAC,IAAI,CAACzC,QAAQ,EAAE;MAChB;IACJ;IACA,IAAI,CAAC2B,wBAAwB,CAAC,CAAC;IAC/B;IACA;IACA,IAAI,CAAC,IAAI,CAACT,iBAAiB,EAAE;MACzB;IACJ;IACA,MAAMwB,QAAQ,GAAG,IAAI,CAAC3D,WAAW,CAACqB,aAAa;IAC/C,MAAMK,KAAK,GAAGiC,QAAQ,CAACjC,KAAK;IAC5B;IACA,IAAI,CAACgC,KAAK,IAAI,IAAI,CAACjC,QAAQ,KAAK,IAAI,CAACP,gBAAgB,IAAIQ,KAAK,KAAK,IAAI,CAACkC,cAAc,EAAE;MACpF;IACJ;IACA,MAAMC,eAAe,GAAGF,QAAQ,CAACG,WAAW;IAC5C;IACA;IACA;IACA;IACA;IACAH,QAAQ,CAAC3F,SAAS,CAACE,GAAG,CAAC,IAAI,CAACoD,eAAe,CAAC;IAC5CqC,QAAQ,CAACG,WAAW,GAAG,EAAE;IACzB;IACA;IACA,MAAMtB,MAAM,GAAGmB,QAAQ,CAACI,YAAY,GAAG,CAAC;IACxC;IACAJ,QAAQ,CAACvB,KAAK,CAACI,MAAM,GAAI,GAAEA,MAAO,IAAG;IACrCmB,QAAQ,CAAC3F,SAAS,CAACO,MAAM,CAAC,IAAI,CAAC+C,eAAe,CAAC;IAC/CqC,QAAQ,CAACG,WAAW,GAAGD,eAAe;IACtC,IAAI,CAAC5G,OAAO,CAACuB,iBAAiB,CAAC,MAAM;MACjC,IAAI,OAAOwF,qBAAqB,KAAK,WAAW,EAAE;QAC9CA,qBAAqB,CAAC,MAAM,IAAI,CAACC,sBAAsB,CAACN,QAAQ,CAAC,CAAC;MACtE,CAAC,MACI;QACDO,UAAU,CAAC,MAAM,IAAI,CAACD,sBAAsB,CAACN,QAAQ,CAAC,CAAC;MAC3D;IACJ,CAAC,CAAC;IACF,IAAI,CAACC,cAAc,GAAGlC,KAAK;IAC3B,IAAI,CAACR,gBAAgB,GAAG,IAAI,CAACO,QAAQ;EACzC;EACA;AACJ;AACA;EACIQ,KAAKA,CAAA,EAAG;IACJ;IACA;IACA,IAAI,IAAI,CAACM,cAAc,KAAK4B,SAAS,EAAE;MACnC,IAAI,CAAC/C,gBAAgB,CAACgB,KAAK,CAACI,MAAM,GAAG,IAAI,CAACD,cAAc;IAC5D;EACJ;EACA;EACA;EACA;EACA;EACA6B,iBAAiBA,CAAA,EAAG;IAChB;EAAA;EAEJ;EACAC,YAAYA,CAAA,EAAG;IACX,OAAO,IAAI,CAAClD,SAAS,IAAIJ,QAAQ;EACrC;EACA;EACA2B,UAAUA,CAAA,EAAG;IACT,MAAM4B,GAAG,GAAG,IAAI,CAACD,YAAY,CAAC,CAAC;IAC/B,OAAOC,GAAG,CAACC,WAAW,IAAI9B,MAAM;EACpC;EACA;AACJ;AACA;AACA;AACA;EACIwB,sBAAsBA,CAACN,QAAQ,EAAE;IAC7B,MAAM;MAAEa,cAAc;MAAEC;IAAa,CAAC,GAAGd,QAAQ;IACjD,MAAM5C,QAAQ,GAAG,IAAI,CAACsD,YAAY,CAAC,CAAC;IACpC;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,CAAC,IAAI,CAACrD,UAAU,CAAC0D,SAAS,IAAI3D,QAAQ,CAAC4D,aAAa,KAAKhB,QAAQ,EAAE;MACnEA,QAAQ,CAACiB,iBAAiB,CAACJ,cAAc,EAAEC,YAAY,CAAC;IAC5D;EACJ;AACJ;AACA3D,mBAAmB,CAAC3B,IAAI,GAAG,SAAS0F,2BAA2BA,CAACxF,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAIyB,mBAAmB,EAAEpE,MAAM,CAAC6D,iBAAiB,CAAC7D,MAAM,CAAChB,UAAU,CAAC,EAAEgB,MAAM,CAAC6D,iBAAiB,CAAC5D,MAAM,CAACzB,QAAQ,CAAC,EAAEwB,MAAM,CAAC6D,iBAAiB,CAAC7D,MAAM,CAACpB,MAAM,CAAC,EAAEoB,MAAM,CAAC6D,iBAAiB,CAAC9D,QAAQ,EAAE,CAAC,CAAC,CAAC;AAAE,CAAC;AACrRqE,mBAAmB,CAACN,IAAI,GAAG,aAAc9D,MAAM,CAAC+D,iBAAiB,CAAC;EAAEd,IAAI,EAAEmB,mBAAmB;EAAEJ,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;EAAEoE,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,uBAAuB,CAAC;EAAEC,YAAY,EAAE,SAASC,gCAAgCA,CAACC,EAAE,EAAEC,GAAG,EAAE;IAAE,IAAID,EAAE,GAAG,CAAC,EAAE;MAClRvI,MAAM,CAACyI,UAAU,CAAC,OAAO,EAAE,SAASC,4CAA4CA,CAAA,EAAG;QAAE,OAAOF,GAAG,CAACd,iBAAiB,CAAC,CAAC;MAAE,CAAC,CAAC;IAC3H;EAAE,CAAC;EAAEiB,MAAM,EAAE;IAAE7D,OAAO,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC;IAAEI,OAAO,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC;IAAEG,OAAO,EAAE,CAAC,qBAAqB,EAAE,SAAS;EAAE,CAAC;EAAEuD,QAAQ,EAAE,CAAC,qBAAqB;AAAE,CAAC,CAAC;AAC9LxE,mBAAmB,CAACpB,cAAc,GAAG,MAAM,CACvC;EAAEC,IAAI,EAAEjE;AAAW,CAAC,EACpB;EAAEiE,IAAI,EAAEzE;AAAS,CAAC,EAClB;EAAEyE,IAAI,EAAErE;AAAO,CAAC,EAChB;EAAEqE,IAAI,EAAEwE,SAAS;EAAEoB,UAAU,EAAE,CAAC;IAAE5F,IAAI,EAAE/D;EAAS,CAAC,EAAE;IAAE+D,IAAI,EAAE9D,MAAM;IAAEiE,IAAI,EAAE,CAACrD,QAAQ;EAAG,CAAC;AAAE,CAAC,CAC7F;AACDqE,mBAAmB,CAACF,cAAc,GAAG;EACjCY,OAAO,EAAE,CAAC;IAAE7B,IAAI,EAAE7D,KAAK;IAAEgE,IAAI,EAAE,CAAC,oBAAoB;EAAG,CAAC,CAAC;EACzD8B,OAAO,EAAE,CAAC;IAAEjC,IAAI,EAAE7D,KAAK;IAAEgE,IAAI,EAAE,CAAC,oBAAoB;EAAG,CAAC,CAAC;EACzDiC,OAAO,EAAE,CAAC;IAAEpC,IAAI,EAAE7D,KAAK;IAAEgE,IAAI,EAAE,CAAC,qBAAqB;EAAG,CAAC,CAAC;EAC1DsE,iBAAiB,EAAE,CAAC;IAAEzE,IAAI,EAAE5D,YAAY;IAAE+D,IAAI,EAAE,CAAC,OAAO;EAAG,CAAC;AAChE,CAAC;AACD,CAAC,YAAY;EAAE,CAAC,OAAOF,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKlD,MAAM,CAACmD,iBAAiB,CAACiB,mBAAmB,EAAE,CAAC;IACzGnB,IAAI,EAAElE,SAAS;IACfqE,IAAI,EAAE,CAAC;MACCe,QAAQ,EAAE,+BAA+B;MACzCyE,QAAQ,EAAE,qBAAqB;MAC/BE,IAAI,EAAE;QACF,OAAO,EAAE,uBAAuB;QAChC;QACA;QACA,MAAM,EAAE;MACZ;IACJ,CAAC;EACT,CAAC,CAAC,EAAE,YAAY;IAAE,OAAO,CAAC;MAAE7F,IAAI,EAAEjD,MAAM,CAAChB;IAAW,CAAC,EAAE;MAAEiE,IAAI,EAAEhD,MAAM,CAACzB;IAAS,CAAC,EAAE;MAAEyE,IAAI,EAAEjD,MAAM,CAACpB;IAAO,CAAC,EAAE;MAAEqE,IAAI,EAAEwE,SAAS;MAAEoB,UAAU,EAAE,CAAC;QAC/H5F,IAAI,EAAE/D;MACV,CAAC,EAAE;QACC+D,IAAI,EAAE9D,MAAM;QACZiE,IAAI,EAAE,CAACrD,QAAQ;MACnB,CAAC;IAAE,CAAC,CAAC;EAAE,CAAC,EAAE;IAAE+E,OAAO,EAAE,CAAC;MACtB7B,IAAI,EAAE7D,KAAK;MACXgE,IAAI,EAAE,CAAC,oBAAoB;IAC/B,CAAC,CAAC;IAAE8B,OAAO,EAAE,CAAC;MACVjC,IAAI,EAAE7D,KAAK;MACXgE,IAAI,EAAE,CAAC,oBAAoB;IAC/B,CAAC,CAAC;IAAEiC,OAAO,EAAE,CAAC;MACVpC,IAAI,EAAE7D,KAAK;MACXgE,IAAI,EAAE,CAAC,qBAAqB;IAChC,CAAC,CAAC;IACN;IACA;IACA;IACA;IACAsE,iBAAiB,EAAE,CAAC;MACZzE,IAAI,EAAE5D,YAAY;MAClB+D,IAAI,EAAE,CAAC,OAAO;IAClB,CAAC;EAAE,CAAC,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM2F,eAAe,CAAC;AAEtBA,eAAe,CAACtG,IAAI,GAAG,SAASuG,uBAAuBA,CAACrG,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAIoG,eAAe,EAAE,CAAC;AAAE,CAAC;AACnGA,eAAe,CAACE,IAAI,GAAG,aAAcjJ,MAAM,CAACkJ,gBAAgB,CAAC;EAAEjG,IAAI,EAAE8F;AAAgB,CAAC,CAAC;AACvFA,eAAe,CAACI,IAAI,GAAG,aAAcnJ,MAAM,CAACoJ,gBAAgB,CAAC;EAAEC,OAAO,EAAE,CAAC5K,cAAc;AAAE,CAAC,CAAC;AAC3F,CAAC,YAAY;EAAE,CAAC,OAAOyE,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKlD,MAAM,CAACmD,iBAAiB,CAAC4F,eAAe,EAAE,CAAC;IACrG9F,IAAI,EAAE3D,QAAQ;IACd8D,IAAI,EAAE,CAAC;MACCkG,YAAY,EAAE,CAACjG,WAAW,EAAEe,mBAAmB,CAAC;MAChDiF,OAAO,EAAE,CAAC5K,cAAc,CAAC;MACzB8K,OAAO,EAAE,CAAClG,WAAW,EAAEe,mBAAmB;IAC9C,CAAC;EACT,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AAAE,CAAC,EAAE,CAAC;AACzB,CAAC,YAAY;EAAE,CAAC,OAAOoF,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKxJ,MAAM,CAACyJ,kBAAkB,CAACV,eAAe,EAAE;IAAEO,YAAY,EAAE,SAAAA,CAAA,EAAY;MAAE,OAAO,CAACjG,WAAW,EAAEe,mBAAmB,CAAC;IAAE,CAAC;IAAEiF,OAAO,EAAE,SAAAA,CAAA,EAAY;MAAE,OAAO,CAAC5K,cAAc,CAAC;IAAE,CAAC;IAAE8K,OAAO,EAAE,SAAAA,CAAA,EAAY;MAAE,OAAO,CAAClG,WAAW,EAAEe,mBAAmB,CAAC;IAAE;EAAE,CAAC,CAAC;AAAE,CAAC,EAAE,CAAC;;AAExT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAAShE,eAAe,EAAEiD,WAAW,EAAEe,mBAAmB,EAAE2E,eAAe"},"metadata":{},"sourceType":"module"}