{"ast":null,"code":"/**\n * @license Angular v17.3.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, Injectable, ANIMATION_MODULE_TYPE, ViewEncapsulation, ɵRuntimeError, Inject } from '@angular/core';\n\n/**\n * @description Constants for the categories of parameters that can be defined for animations.\n *\n * A corresponding function defines a set of parameters for each category, and\n * collects them into a corresponding `AnimationMetadata` object.\n *\n * @publicApi\n */\nvar AnimationMetadataType;\n(function (AnimationMetadataType) {\n /**\n * Associates a named animation state with a set of CSS styles.\n * See [`state()`](api/animations/state)\n */\n AnimationMetadataType[AnimationMetadataType[\"State\"] = 0] = \"State\";\n /**\n * Data for a transition from one animation state to another.\n * See `transition()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Transition\"] = 1] = \"Transition\";\n /**\n * Contains a set of animation steps.\n * See `sequence()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Sequence\"] = 2] = \"Sequence\";\n /**\n * Contains a set of animation steps.\n * See `{@link animations/group group()}`\n */\n AnimationMetadataType[AnimationMetadataType[\"Group\"] = 3] = \"Group\";\n /**\n * Contains an animation step.\n * See `animate()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Animate\"] = 4] = \"Animate\";\n /**\n * Contains a set of animation steps.\n * See `keyframes()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Keyframes\"] = 5] = \"Keyframes\";\n /**\n * Contains a set of CSS property-value pairs into a named style.\n * See `style()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Style\"] = 6] = \"Style\";\n /**\n * Associates an animation with an entry trigger that can be attached to an element.\n * See `trigger()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Trigger\"] = 7] = \"Trigger\";\n /**\n * Contains a re-usable animation.\n * See `animation()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Reference\"] = 8] = \"Reference\";\n /**\n * Contains data to use in executing child animations returned by a query.\n * See `animateChild()`\n */\n AnimationMetadataType[AnimationMetadataType[\"AnimateChild\"] = 9] = \"AnimateChild\";\n /**\n * Contains animation parameters for a re-usable animation.\n * See `useAnimation()`\n */\n AnimationMetadataType[AnimationMetadataType[\"AnimateRef\"] = 10] = \"AnimateRef\";\n /**\n * Contains child-animation query data.\n * See `query()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Query\"] = 11] = \"Query\";\n /**\n * Contains data for staggering an animation sequence.\n * See `stagger()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Stagger\"] = 12] = \"Stagger\";\n})(AnimationMetadataType || (AnimationMetadataType = {}));\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of [`state()`](api/animations/state)\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of\n * [`state()`](api/animations/state) and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
[AnimationBuilder.build](api/animations/AnimationBuilder#build)() method\n * to create a programmatic animation. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n static #_ = this.ɵfac = function AnimationBuilder_Factory(t) {\n return new (t || AnimationBuilder)();\n };\n static #_2 = this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AnimationBuilder,\n factory: () => (() => inject(BrowserAnimationBuilder))(),\n providedIn: 'root'\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AnimationBuilder, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: () => inject(BrowserAnimationBuilder)\n }]\n }], null, null);\n})();\n/**\n * A factory object returned from the\n * [AnimationBuilder.build](api/animations/AnimationBuilder#build)()\n * method.\n *\n * @publicApi\n */\nclass AnimationFactory {}\nclass BrowserAnimationBuilder extends AnimationBuilder {\n constructor(rootRenderer, doc) {\n super();\n this.animationModuleType = inject(ANIMATION_MODULE_TYPE, {\n optional: true\n });\n this._nextAnimationId = 0;\n const typeData = {\n id: '0',\n encapsulation: ViewEncapsulation.None,\n styles: [],\n data: {\n animation: []\n }\n };\n this._renderer = rootRenderer.createRenderer(doc.body, typeData);\n if (this.animationModuleType === null && !isAnimationRenderer(this._renderer)) {\n // We only support AnimationRenderer & DynamicDelegationRenderer for this AnimationBuilder\n throw new ɵRuntimeError(3600 /* RuntimeErrorCode.BROWSER_ANIMATION_BUILDER_INJECTED_WITHOUT_ANIMATIONS */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Angular detected that the `AnimationBuilder` was injected, but animation support was not enabled. ' + 'Please make sure that you enable animations in your application by calling `provideAnimations()` or `provideAnimationsAsync()` function.');\n }\n }\n build(animation) {\n const id = this._nextAnimationId;\n this._nextAnimationId++;\n const entry = Array.isArray(animation) ? sequence(animation) : animation;\n issueAnimationCommand(this._renderer, null, id, 'register', [entry]);\n return new BrowserAnimationFactory(id, this._renderer);\n }\n static #_ = this.ɵfac = function BrowserAnimationBuilder_Factory(t) {\n return new (t || BrowserAnimationBuilder)(i0.ɵɵinject(i0.RendererFactory2), i0.ɵɵinject(DOCUMENT));\n };\n static #_2 = this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: BrowserAnimationBuilder,\n factory: BrowserAnimationBuilder.ɵfac,\n providedIn: 'root'\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(BrowserAnimationBuilder, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i0.RendererFactory2\n }, {\n type: Document,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }], null);\n})();\nclass BrowserAnimationFactory extends AnimationFactory {\n constructor(_id, _renderer) {\n super();\n this._id = _id;\n this._renderer = _renderer;\n }\n create(element, options) {\n return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);\n }\n}\nclass RendererAnimationPlayer {\n constructor(id, element, options, _renderer) {\n this.id = id;\n this.element = element;\n this._renderer = _renderer;\n this.parentPlayer = null;\n this._started = false;\n this.totalTime = 0;\n this._command('create', options);\n }\n _listen(eventName, callback) {\n return this._renderer.listen(this.element, `@@${this.id}:${eventName}`, callback);\n }\n _command(command, ...args) {\n issueAnimationCommand(this._renderer, this.element, this.id, command, args);\n }\n onDone(fn) {\n this._listen('done', fn);\n }\n onStart(fn) {\n this._listen('start', fn);\n }\n onDestroy(fn) {\n this._listen('destroy', fn);\n }\n init() {\n this._command('init');\n }\n hasStarted() {\n return this._started;\n }\n play() {\n this._command('play');\n this._started = true;\n }\n pause() {\n this._command('pause');\n }\n restart() {\n this._command('restart');\n }\n finish() {\n this._command('finish');\n }\n destroy() {\n this._command('destroy');\n }\n reset() {\n this._command('reset');\n this._started = false;\n }\n setPosition(p) {\n this._command('setPosition', p);\n }\n getPosition() {\n return unwrapAnimationRenderer(this._renderer)?.engine?.players[this.id]?.getPosition() ?? 0;\n }\n}\nfunction issueAnimationCommand(renderer, element, id, command, args) {\n renderer.setProperty(element, `@@${id}:${command}`, args);\n}\n/**\n * The following 2 methods cannot reference their correct types (AnimationRenderer &\n * DynamicDelegationRenderer) since this would introduce a import cycle.\n */\nfunction unwrapAnimationRenderer(renderer) {\n const type = renderer.ɵtype;\n if (type === 0 /* AnimationRendererType.Regular */) {\n return renderer;\n } else if (type === 1 /* AnimationRendererType.Delegated */) {\n return renderer.animationRenderer;\n }\n return null;\n}\nfunction isAnimationRenderer(renderer) {\n const type = renderer.ɵtype;\n return type === 0 /* AnimationRendererType.Regular */ || type === 1 /* AnimationRendererType.Delegated */;\n}\n\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see {@link animate}\n * @see {@link AnimationPlayer}\n * @see {@link ɵAnimationGroupPlayer AnimationGroupPlayer}\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() {}\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n queueMicrotask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() {}\n restart() {}\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n this._finished = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see {@link AnimationPlayer}\n * @see {@link animations/group group}\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n queueMicrotask(() => this._onFinish());\n } else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\nconst ɵPRE_STYLE = '!';\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, AnimationMetadataType, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, BrowserAnimationBuilder as ɵBrowserAnimationBuilder, ɵPRE_STYLE };","map":{"version":3,"names":["DOCUMENT","i0","inject","Injectable","ANIMATION_MODULE_TYPE","ViewEncapsulation","ɵRuntimeError","Inject","AnimationMetadataType","AUTO_STYLE","trigger","name","definitions","type","Trigger","options","animate","timings","styles","Animate","group","steps","Group","sequence","Sequence","style","tokens","Style","offset","state","State","keyframes","Keyframes","transition","stateChangeExpr","Transition","expr","animation","Reference","animateChild","AnimateChild","useAnimation","AnimateRef","query","selector","Query","stagger","Stagger","AnimationBuilder","_","ɵfac","AnimationBuilder_Factory","t","_2","ɵprov","ɵɵdefineInjectable","token","factory","BrowserAnimationBuilder","providedIn","ngDevMode","ɵsetClassMetadata","args","useFactory","AnimationFactory","constructor","rootRenderer","doc","animationModuleType","optional","_nextAnimationId","typeData","id","encapsulation","None","data","_renderer","createRenderer","body","isAnimationRenderer","build","entry","Array","isArray","issueAnimationCommand","BrowserAnimationFactory","BrowserAnimationBuilder_Factory","ɵɵinject","RendererFactory2","Document","decorators","_id","create","element","RendererAnimationPlayer","parentPlayer","_started","totalTime","_command","_listen","eventName","callback","listen","command","onDone","fn","onStart","onDestroy","init","hasStarted","play","pause","restart","finish","destroy","reset","setPosition","p","getPosition","unwrapAnimationRenderer","engine","players","renderer","setProperty","ɵtype","animationRenderer","NoopAnimationPlayer","duration","delay","_onDoneFns","_onStartFns","_onDestroyFns","_originalOnDoneFns","_originalOnStartFns","_destroyed","_finished","_position","_onFinish","forEach","push","_onStart","triggerMicrotask","queueMicrotask","position","triggerCallback","phaseName","methods","length","AnimationGroupPlayer","_players","doneCount","destroyCount","startCount","total","player","_onDestroy","reduce","time","Math","max","timeAtPosition","min","longestPlayer","longestSoFar","newPlayerIsLongest","beforeDestroy","ɵPRE_STYLE","ɵAnimationGroupPlayer","ɵBrowserAnimationBuilder"],"sources":["E:/TekH/Visual Studio/WebUserManager/DigitalData.UserManager.NgWebUI/ClientApp/node_modules/@angular/animations/fesm2022/animations.mjs"],"sourcesContent":["/**\n * @license Angular v17.3.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, Injectable, ANIMATION_MODULE_TYPE, ViewEncapsulation, ɵRuntimeError, Inject } from '@angular/core';\n\n/**\n * @description Constants for the categories of parameters that can be defined for animations.\n *\n * A corresponding function defines a set of parameters for each category, and\n * collects them into a corresponding `AnimationMetadata` object.\n *\n * @publicApi\n */\nvar AnimationMetadataType;\n(function (AnimationMetadataType) {\n /**\n * Associates a named animation state with a set of CSS styles.\n * See [`state()`](api/animations/state)\n */\n AnimationMetadataType[AnimationMetadataType[\"State\"] = 0] = \"State\";\n /**\n * Data for a transition from one animation state to another.\n * See `transition()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Transition\"] = 1] = \"Transition\";\n /**\n * Contains a set of animation steps.\n * See `sequence()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Sequence\"] = 2] = \"Sequence\";\n /**\n * Contains a set of animation steps.\n * See `{@link animations/group group()}`\n */\n AnimationMetadataType[AnimationMetadataType[\"Group\"] = 3] = \"Group\";\n /**\n * Contains an animation step.\n * See `animate()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Animate\"] = 4] = \"Animate\";\n /**\n * Contains a set of animation steps.\n * See `keyframes()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Keyframes\"] = 5] = \"Keyframes\";\n /**\n * Contains a set of CSS property-value pairs into a named style.\n * See `style()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Style\"] = 6] = \"Style\";\n /**\n * Associates an animation with an entry trigger that can be attached to an element.\n * See `trigger()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Trigger\"] = 7] = \"Trigger\";\n /**\n * Contains a re-usable animation.\n * See `animation()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Reference\"] = 8] = \"Reference\";\n /**\n * Contains data to use in executing child animations returned by a query.\n * See `animateChild()`\n */\n AnimationMetadataType[AnimationMetadataType[\"AnimateChild\"] = 9] = \"AnimateChild\";\n /**\n * Contains animation parameters for a re-usable animation.\n * See `useAnimation()`\n */\n AnimationMetadataType[AnimationMetadataType[\"AnimateRef\"] = 10] = \"AnimateRef\";\n /**\n * Contains child-animation query data.\n * See `query()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Query\"] = 11] = \"Query\";\n /**\n * Contains data for staggering an animation sequence.\n * See `stagger()`\n */\n AnimationMetadataType[AnimationMetadataType[\"Stagger\"] = 12] = \"Stagger\";\n})(AnimationMetadataType || (AnimationMetadataType = {}));\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of [`state()`](api/animations/state)\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of\n * [`state()`](api/animations/state) and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n * [AnimationBuilder.build](api/animations/AnimationBuilder#build)() method\n * to create a programmatic animation. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: AnimationBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: AnimationBuilder, providedIn: 'root', useFactory: () => inject(BrowserAnimationBuilder) }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: AnimationBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: () => inject(BrowserAnimationBuilder) }]\n }] });\n/**\n * A factory object returned from the\n * [AnimationBuilder.build](api/animations/AnimationBuilder#build)()\n * method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\nclass BrowserAnimationBuilder extends AnimationBuilder {\n constructor(rootRenderer, doc) {\n super();\n this.animationModuleType = inject(ANIMATION_MODULE_TYPE, { optional: true });\n this._nextAnimationId = 0;\n const typeData = {\n id: '0',\n encapsulation: ViewEncapsulation.None,\n styles: [],\n data: { animation: [] },\n };\n this._renderer = rootRenderer.createRenderer(doc.body, typeData);\n if (this.animationModuleType === null && !isAnimationRenderer(this._renderer)) {\n // We only support AnimationRenderer & DynamicDelegationRenderer for this AnimationBuilder\n throw new ɵRuntimeError(3600 /* RuntimeErrorCode.BROWSER_ANIMATION_BUILDER_INJECTED_WITHOUT_ANIMATIONS */, (typeof ngDevMode === 'undefined' || ngDevMode) &&\n 'Angular detected that the `AnimationBuilder` was injected, but animation support was not enabled. ' +\n 'Please make sure that you enable animations in your application by calling `provideAnimations()` or `provideAnimationsAsync()` function.');\n }\n }\n build(animation) {\n const id = this._nextAnimationId;\n this._nextAnimationId++;\n const entry = Array.isArray(animation) ? sequence(animation) : animation;\n issueAnimationCommand(this._renderer, null, id, 'register', [entry]);\n return new BrowserAnimationFactory(id, this._renderer);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: BrowserAnimationBuilder, deps: [{ token: i0.RendererFactory2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: BrowserAnimationBuilder, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.3.0\", ngImport: i0, type: BrowserAnimationBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }] });\nclass BrowserAnimationFactory extends AnimationFactory {\n constructor(_id, _renderer) {\n super();\n this._id = _id;\n this._renderer = _renderer;\n }\n create(element, options) {\n return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);\n }\n}\nclass RendererAnimationPlayer {\n constructor(id, element, options, _renderer) {\n this.id = id;\n this.element = element;\n this._renderer = _renderer;\n this.parentPlayer = null;\n this._started = false;\n this.totalTime = 0;\n this._command('create', options);\n }\n _listen(eventName, callback) {\n return this._renderer.listen(this.element, `@@${this.id}:${eventName}`, callback);\n }\n _command(command, ...args) {\n issueAnimationCommand(this._renderer, this.element, this.id, command, args);\n }\n onDone(fn) {\n this._listen('done', fn);\n }\n onStart(fn) {\n this._listen('start', fn);\n }\n onDestroy(fn) {\n this._listen('destroy', fn);\n }\n init() {\n this._command('init');\n }\n hasStarted() {\n return this._started;\n }\n play() {\n this._command('play');\n this._started = true;\n }\n pause() {\n this._command('pause');\n }\n restart() {\n this._command('restart');\n }\n finish() {\n this._command('finish');\n }\n destroy() {\n this._command('destroy');\n }\n reset() {\n this._command('reset');\n this._started = false;\n }\n setPosition(p) {\n this._command('setPosition', p);\n }\n getPosition() {\n return unwrapAnimationRenderer(this._renderer)?.engine?.players[this.id]?.getPosition() ?? 0;\n }\n}\nfunction issueAnimationCommand(renderer, element, id, command, args) {\n renderer.setProperty(element, `@@${id}:${command}`, args);\n}\n/**\n * The following 2 methods cannot reference their correct types (AnimationRenderer &\n * DynamicDelegationRenderer) since this would introduce a import cycle.\n */\nfunction unwrapAnimationRenderer(renderer) {\n const type = renderer.ɵtype;\n if (type === 0 /* AnimationRendererType.Regular */) {\n return renderer;\n }\n else if (type === 1 /* AnimationRendererType.Delegated */) {\n return renderer.animationRenderer;\n }\n return null;\n}\nfunction isAnimationRenderer(renderer) {\n const type = renderer.ɵtype;\n return type === 0 /* AnimationRendererType.Regular */ || type === 1 /* AnimationRendererType.Delegated */;\n}\n\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see {@link animate}\n * @see {@link AnimationPlayer}\n * @see {@link ɵAnimationGroupPlayer AnimationGroupPlayer}\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach((fn) => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n queueMicrotask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach((fn) => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach((fn) => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n this._finished = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach((fn) => fn());\n methods.length = 0;\n }\n}\n\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see {@link AnimationPlayer}\n * @see {@link animations/group group}\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n queueMicrotask(() => this._onFinish());\n }\n else {\n this.players.forEach((player) => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach((fn) => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach((player) => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach((fn) => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach((player) => player.play());\n }\n pause() {\n this.players.forEach((player) => player.pause());\n }\n restart() {\n this.players.forEach((player) => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach((player) => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach((player) => player.destroy());\n this._onDestroyFns.forEach((fn) => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach((player) => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach((player) => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach((player) => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach((fn) => fn());\n methods.length = 0;\n }\n}\n\nconst ɵPRE_STYLE = '!';\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, AnimationMetadataType, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, BrowserAnimationBuilder as ɵBrowserAnimationBuilder, ɵPRE_STYLE };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAKC,EAAE,MAAM,eAAe;AACnC,SAASC,MAAM,EAAEC,UAAU,EAAEC,qBAAqB,EAAEC,iBAAiB,EAAEC,aAAa,EAAEC,MAAM,QAAQ,eAAe;;AAEnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,qBAAqB;AACzB,CAAC,UAAUA,qBAAqB,EAAE;EAC9B;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO;EACnE;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY;EAC7E;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU;EACzE;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO;EACnE;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS;EACvE;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW;EAC3E;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO;EACnE;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS;EACvE;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW;EAC3E;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc;EACjF;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,YAAY;EAC9E;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;EACpE;AACJ;AACA;AACA;EACIA,qBAAqB,CAACA,qBAAqB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS;AAC5E,CAAC,EAAEA,qBAAqB,KAAKA,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC;AACzD;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAU,GAAG,GAAG;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,IAAI,EAAEC,WAAW,EAAE;EAChC,OAAO;IAAEC,IAAI,EAAEL,qBAAqB,CAACM,OAAO;IAAEH,IAAI;IAAEC,WAAW;IAAEG,OAAO,EAAE,CAAC;EAAE,CAAC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,OAAOA,CAACC,OAAO,EAAEC,MAAM,GAAG,IAAI,EAAE;EACrC,OAAO;IAAEL,IAAI,EAAEL,qBAAqB,CAACW,OAAO;IAAED,MAAM;IAAED;EAAQ,CAAC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,KAAKA,CAACC,KAAK,EAAEN,OAAO,GAAG,IAAI,EAAE;EAClC,OAAO;IAAEF,IAAI,EAAEL,qBAAqB,CAACc,KAAK;IAAED,KAAK;IAAEN;EAAQ,CAAC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASQ,QAAQA,CAACF,KAAK,EAAEN,OAAO,GAAG,IAAI,EAAE;EACrC,OAAO;IAAEF,IAAI,EAAEL,qBAAqB,CAACgB,QAAQ;IAAEH,KAAK;IAAEN;EAAQ,CAAC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASU,KAAKA,CAACC,MAAM,EAAE;EACnB,OAAO;IAAEb,IAAI,EAAEL,qBAAqB,CAACmB,KAAK;IAAET,MAAM,EAAEQ,MAAM;IAAEE,MAAM,EAAE;EAAK,CAAC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,KAAKA,CAAClB,IAAI,EAAEO,MAAM,EAAEH,OAAO,EAAE;EAClC,OAAO;IAAEF,IAAI,EAAEL,qBAAqB,CAACsB,KAAK;IAAEnB,IAAI;IAAEO,MAAM;IAAEH;EAAQ,CAAC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASgB,SAASA,CAACV,KAAK,EAAE;EACtB,OAAO;IAAER,IAAI,EAAEL,qBAAqB,CAACwB,SAAS;IAAEX;EAAM,CAAC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASY,UAAUA,CAACC,eAAe,EAAEb,KAAK,EAAEN,OAAO,GAAG,IAAI,EAAE;EACxD,OAAO;IAAEF,IAAI,EAAEL,qBAAqB,CAAC2B,UAAU;IAAEC,IAAI,EAAEF,eAAe;IAAEG,SAAS,EAAEhB,KAAK;IAAEN;EAAQ,CAAC;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASsB,SAASA,CAAChB,KAAK,EAAEN,OAAO,GAAG,IAAI,EAAE;EACtC,OAAO;IAAEF,IAAI,EAAEL,qBAAqB,CAAC8B,SAAS;IAAED,SAAS,EAAEhB,KAAK;IAAEN;EAAQ,CAAC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASwB,YAAYA,CAACxB,OAAO,GAAG,IAAI,EAAE;EAClC,OAAO;IAAEF,IAAI,EAAEL,qBAAqB,CAACgC,YAAY;IAAEzB;EAAQ,CAAC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS0B,YAAYA,CAACJ,SAAS,EAAEtB,OAAO,GAAG,IAAI,EAAE;EAC7C,OAAO;IAAEF,IAAI,EAAEL,qBAAqB,CAACkC,UAAU;IAAEL,SAAS;IAAEtB;EAAQ,CAAC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS4B,KAAKA,CAACC,QAAQ,EAAEP,SAAS,EAAEtB,OAAO,GAAG,IAAI,EAAE;EAChD,OAAO;IAAEF,IAAI,EAAEL,qBAAqB,CAACqC,KAAK;IAAED,QAAQ;IAAEP,SAAS;IAAEtB;EAAQ,CAAC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}