From ca9ae9105e384030ac92161fcfb28f3c443f22e8 Mon Sep 17 00:00:00 2001 From: Santosh Yadav Date: Wed, 4 Nov 2026 06:43:05 +0100 Subject: [PATCH] fix(components): stop repeated node ids from looping the tree ancestry A component report with repeated node ids could make the panel's parent map loop, so ownerOf and reveal walked it forever and froze the panel. The report guard now drops a node whose id the tree already used, along with its subtree. The panel keeps only the first row with an id in its index, and both ancestry walks stop at a repeated id. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .../component-tree-ancestors.test.ts | 23 +++ app/src/pages/component-tree.ts | 17 ++- ...=> browser-agent-rpc-KH4HHvHf-DDC7kv8R.js} | 2 +- .../{index-BgifPllv.js => index-D0AagNaK.js} | 144 +++++++++--------- extension/ui/index.html | 2 +- .../src/__tests__/rpc-boundary.test.ts | 33 ++++ .../src/rpc/component-report-guard.ts | 4 + 7 files changed, 149 insertions(+), 76 deletions(-) create mode 100644 app/src/__tests__/component-tree-ancestors.test.ts rename extension/ui/assets/{browser-agent-rpc-KH4HHvHf-Coz0PPwM.js => browser-agent-rpc-KH4HHvHf-DDC7kv8R.js} (95%) rename extension/ui/assets/{index-BgifPllv.js => index-D0AagNaK.js} (85%) diff --git a/app/src/__tests__/component-tree-ancestors.test.ts b/app/src/__tests__/component-tree-ancestors.test.ts new file mode 100644 index 00000000..33255860 --- /dev/null +++ b/app/src/__tests__/component-tree-ancestors.test.ts @@ -0,0 +1,23 @@ +import { describe, expect, it } from 'vitest'; +import { ancestors } from '../pages/component-tree'; + +describe('ancestors', () => { + it('lists the ids above a node, nearest first', () => { + const parents = new Map([ + ['c3', 'c2'], + ['c2', 'c1'], + ]); + expect(ancestors(parents, 'c3')).toEqual(['c2', 'c1']); + expect(ancestors(parents, 'c1')).toEqual([]); + }); + + it('stops when an id repeats instead of looping', () => { + const parents = new Map([ + ['a', 'b'], + ['b', 'c'], + ['c', 'b'], + ]); + expect(ancestors(parents, 'a')).toEqual(['b', 'c']); + expect(ancestors(new Map([['a', 'a']]), 'a')).toEqual([]); + }); +}); diff --git a/app/src/pages/component-tree.ts b/app/src/pages/component-tree.ts index 3f94567d..81f2ec70 100644 --- a/app/src/pages/component-tree.ts +++ b/app/src/pages/component-tree.ts @@ -178,6 +178,17 @@ function bare(name: string): string { return name.replace(/^_(?=[A-Z])/, ''); } +/** The ids above `id`, nearest first; stops at a repeated id so a bad map cannot loop. */ +export function ancestors(parents: ReadonlyMap, id: string): string[] { + const out: string[] = []; + const seen = new Set([id]); + for (let parent = parents.get(id); parent && !seen.has(parent); parent = parents.get(parent)) { + seen.add(parent); + out.push(parent); + } + return out; +} + const DIRECTIVE_HOSTS_KEY = 'pangular:components:directive-hosts'; /** Whether this viewer last chose to show directive hosts; shown unless they hid them. */ @@ -1822,6 +1833,8 @@ export class ComponentTree { const parents = new Map(); const walk = (nodes: LiveNode[], parent: string | null) => { for (const node of nodes) { + // The first row with an id wins, so `parents` can never loop. + if (map.has(node.id)) continue; map.set(node.id, node); if (parent) parents.set(node.id, parent); walk(node.children, node.id); @@ -2401,7 +2414,7 @@ export class ComponentTree { /** The nearest component above a row, such as the one whose template renders a directive host. */ ownerOf(id: string): LiveNode | null { const { map, parents } = this.index(); - for (let parent = parents.get(id); parent; parent = parents.get(parent)) { + for (const parent of ancestors(parents, id)) { const node = map.get(parent); if (node && node.kind !== 'directive') return node; } @@ -2447,7 +2460,7 @@ export class ComponentTree { const { parents } = this.index(); this.collapsed.update((set) => { const next = new Set(set); - for (let parent = parents.get(id); parent; parent = parents.get(parent)) next.delete(parent); + for (const parent of ancestors(parents, id)) next.delete(parent); return next; }); if (!this.rows().some((row) => row.node.id === id)) this.setFilter(''); diff --git a/extension/ui/assets/browser-agent-rpc-KH4HHvHf-Coz0PPwM.js b/extension/ui/assets/browser-agent-rpc-KH4HHvHf-DDC7kv8R.js similarity index 95% rename from extension/ui/assets/browser-agent-rpc-KH4HHvHf-Coz0PPwM.js rename to extension/ui/assets/browser-agent-rpc-KH4HHvHf-DDC7kv8R.js index f044f524..14e78383 100644 --- a/extension/ui/assets/browser-agent-rpc-KH4HHvHf-Coz0PPwM.js +++ b/extension/ui/assets/browser-agent-rpc-KH4HHvHf-DDC7kv8R.js @@ -1 +1 @@ -import{t as e}from"./index-BgifPllv.js";var t=Symbol.for(`devframe:browser-agent-registry`),{tools:n,listeners:r}=globalThis[t]??={tools:new Map,listeners:new Set};function i(){return[...n.values()]}function a(e){return r.add(e),()=>r.delete(e)}var o=`devframe:client-id`,s;function c(t=globalThis.window){try{let n=t?.sessionStorage;if(n){let t=n.getItem(o);return t||(t=e(),n.setItem(o,t)),t}}catch{}return s??=e(),s}function l(){let e=typeof document>`u`?void 0:document;return{url:e?.location?.href??``,title:e?.title??``,visible:!e||e.visibilityState===`visible`,focused:e?.hasFocus()??!0}}function u(e){e.client.register({name:`devframe:agent:invoke-client-tool`,type:`action`,jsonSerializable:!0,handler:async(e,t)=>{let n=i().find(t=>t.id===e);if(!n)throw Error(`[devframe/agent] browser tool "${e}" not found`);return await n.invoke(t)}});let t=!1,n=!1,r=0,o=()=>{t||n||(t=!0,queueMicrotask(async()=>{if(t=!1,n)return;let a=i().map(({invoke:e,...t})=>t);(a.length!==0||r!==0)&&(r=a.length,await e.callOptional(`devframe:agent:sync-client-tools`,c(),a,l()).catch(()=>{}))}))},s=a(o),u=e.events.on(`connection:status`,e=>{e===`connected`&&o()}),d=typeof window>`u`?void 0:window;return d?.addEventListener(`focus`,o),d?.addEventListener(`blur`,o),d?.document.addEventListener(`visibilitychange`,o),o(),()=>{n=!0,s(),u(),d?.removeEventListener(`focus`,o),d?.removeEventListener(`blur`,o),d?.document.removeEventListener(`visibilitychange`,o)}}export{u as setupBrowserAgentRpcBridge}; \ No newline at end of file +import{t as e}from"./index-D0AagNaK.js";var t=Symbol.for(`devframe:browser-agent-registry`),{tools:n,listeners:r}=globalThis[t]??={tools:new Map,listeners:new Set};function i(){return[...n.values()]}function a(e){return r.add(e),()=>r.delete(e)}var o=`devframe:client-id`,s;function c(t=globalThis.window){try{let n=t?.sessionStorage;if(n){let t=n.getItem(o);return t||(t=e(),n.setItem(o,t)),t}}catch{}return s??=e(),s}function l(){let e=typeof document>`u`?void 0:document;return{url:e?.location?.href??``,title:e?.title??``,visible:!e||e.visibilityState===`visible`,focused:e?.hasFocus()??!0}}function u(e){e.client.register({name:`devframe:agent:invoke-client-tool`,type:`action`,jsonSerializable:!0,handler:async(e,t)=>{let n=i().find(t=>t.id===e);if(!n)throw Error(`[devframe/agent] browser tool "${e}" not found`);return await n.invoke(t)}});let t=!1,n=!1,r=0,o=()=>{t||n||(t=!0,queueMicrotask(async()=>{if(t=!1,n)return;let a=i().map(({invoke:e,...t})=>t);(a.length!==0||r!==0)&&(r=a.length,await e.callOptional(`devframe:agent:sync-client-tools`,c(),a,l()).catch(()=>{}))}))},s=a(o),u=e.events.on(`connection:status`,e=>{e===`connected`&&o()}),d=typeof window>`u`?void 0:window;return d?.addEventListener(`focus`,o),d?.addEventListener(`blur`,o),d?.document.addEventListener(`visibilitychange`,o),o(),()=>{n=!0,s(),u(),d?.removeEventListener(`focus`,o),d?.removeEventListener(`blur`,o),d?.document.removeEventListener(`visibilitychange`,o)}}export{u as setupBrowserAgentRpcBridge}; \ No newline at end of file diff --git a/extension/ui/assets/index-BgifPllv.js b/extension/ui/assets/index-D0AagNaK.js similarity index 85% rename from extension/ui/assets/index-BgifPllv.js rename to extension/ui/assets/index-D0AagNaK.js index 591c0636..f5d6f155 100644 --- a/extension/ui/assets/index-BgifPllv.js +++ b/extension/ui/assets/index-D0AagNaK.js @@ -3,12 +3,12 @@ \r \v ᠎ - \u2028\u2029   `;`${Kt}`,`${Kt}`;var qt=(function(e){return e[e.Character=0]=`Character`,e[e.Identifier=1]=`Identifier`,e[e.PrivateIdentifier=2]=`PrivateIdentifier`,e[e.Keyword=3]=`Keyword`,e[e.String=4]=`String`,e[e.Operator=5]=`Operator`,e[e.Number=6]=`Number`,e[e.RegExpBody=7]=`RegExpBody`,e[e.RegExpFlags=8]=`RegExpFlags`,e[e.Error=9]=`Error`,e})(qt||{}),Jt=(function(e){return e[e.Plain=0]=`Plain`,e[e.TemplateLiteralPart=1]=`TemplateLiteralPart`,e[e.TemplateLiteralEnd=2]=`TemplateLiteralEnd`,e})(Jt||{});qt.Character,x.StyleMap,x.ClassMap,x.StyleProp,x.ClassProp,x.Attribute,x.Property,x.Attribute,x.Control,x.DomProperty,x.DomProperty,x.Attribute,x.StyleMap,x.ClassMap,x.StyleProp,x.ClassProp,x.Listener,x.TwoWayListener,x.AnimationListener,x.StyleMap,x.ClassMap,x.StyleProp,x.ClassProp,x.Property,x.TwoWayProperty,x.DomProperty,x.Attribute,x.Animation,x.Control,Vt.Idle,b.deferOnIdle,b.deferPrefetchOnIdle,b.deferHydrateOnIdle,Vt.Immediate,b.deferOnImmediate,b.deferPrefetchOnImmediate,b.deferHydrateOnImmediate,Vt.Timer,b.deferOnTimer,b.deferPrefetchOnTimer,b.deferHydrateOnTimer,Vt.Hover,b.deferOnHover,b.deferPrefetchOnHover,b.deferHydrateOnHover,Vt.Interaction,b.deferOnInteraction,b.deferPrefetchOnInteraction,b.deferHydrateOnInteraction,Vt.Viewport,b.deferOnViewport,b.deferPrefetchOnViewport,b.deferHydrateOnViewport,Vt.Never,b.deferHydrateNever,b.deferHydrateNever,b.deferHydrateNever,b.pipeBind1,b.pipeBind2,b.pipeBind3,b.pipeBind4,b.textInterpolate,b.textInterpolate1,b.textInterpolate2,b.textInterpolate3,b.textInterpolate4,b.textInterpolate5,b.textInterpolate6,b.textInterpolate7,b.textInterpolate8,b.textInterpolateV,b.interpolate,b.interpolate1,b.interpolate2,b.interpolate3,b.interpolate4,b.interpolate5,b.interpolate6,b.interpolate7,b.interpolate8,b.interpolateV,b.pureFunction0,b.pureFunction1,b.pureFunction2,b.pureFunction3,b.pureFunction4,b.pureFunction5,b.pureFunction6,b.pureFunction7,b.pureFunction8,b.pureFunctionV,b.resolveWindow,b.resolveDocument,b.resolveBody,nt.HTML,b.sanitizeHtml,nt.RESOURCE_URL,b.sanitizeResourceUrl,nt.SCRIPT,b.sanitizeScript,nt.STYLE,b.sanitizeStyle,nt.URL,b.sanitizeUrl,nt.ATTRIBUTE_NO_BINDING,b.validateAttribute,nt.HTML,b.trustConstantHtml,nt.RESOURCE_URL,b.trustConstantResourceUrl;var Yt=(function(e){return e[e.None=0]=`None`,e[e.ViewContextRead=1]=`ViewContextRead`,e[e.ViewContextWrite=2]=`ViewContextWrite`,e[e.SideEffectful=4]=`SideEffectful`,e})(Yt||{});S.Tmpl,S.Tmpl,S.Both,S.Host,S.Tmpl,S.Tmpl,S.Tmpl,S.Both,S.Both,S.Both,S.Tmpl,S.Both,S.Both,S.Tmpl,S.Both,S.Tmpl,S.Both,S.Both,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Both,S.Both,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Both,S.Both,S.Both,S.Tmpl,S.Tmpl,S.Both,S.Tmpl,S.Tmpl,S.Tmpl,S.Both,S.Both,S.Tmpl,S.Both,S.Both,S.Both,S.Both,S.Both,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Both,S.Tmpl,S.Both,S.Tmpl,S.Both,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Tmpl,S.Both,S.Both,S.Both,Tt.Property,It.Property,Tt.TwoWay,It.TwoWayProperty,Tt.Attribute,It.Attribute,Tt.Class,It.ClassName,Tt.Style,It.StyleProperty,Tt.LegacyAnimation,It.LegacyAnimation,Tt.Animation,It.Animation;var Xt=`%COMP%`;`${Xt}`,`${Xt}`,class e{static SINGLETON=new e;static veWillInferAnyFor(t){let n=e.SINGLETON;return t instanceof wt?t.visit(n):t.receiver.visit(n)}visitUnary(e){return e.expr.visit(this)}visitBinary(e){return e.left.visit(this)||e.right.visit(this)}visitChain(){return!1}visitConditional(e){return e.condition.visit(this)||e.trueExp.visit(this)||e.falseExp.visit(this)}visitCall(){return!0}visitSafeCall(){return!1}visitImplicitReceiver(){return!1}visitThisReceiver(){return!1}visitInterpolation(e){return e.expressions.some(e=>e.visit(this))}visitKeyedRead(){return!1}visitLiteralArray(){return!0}visitLiteralMap(){return!0}visitLiteralPrimitive(){return!1}visitPipe(){return!0}visitPrefixNot(e){return e.expression.visit(this)}visitTypeofExpression(e){return e.expression.visit(this)}visitVoidExpression(e){return e.expression.visit(this)}visitNonNullAssert(e){return e.expression.visit(this)}visitPropertyRead(){return!1}visitSafePropertyRead(){return!1}visitSafeKeyedRead(){return!1}visitTemplateLiteral(){return!1}visitTemplateLiteralElement(){return!1}visitTaggedTemplateLiteral(){return!1}visitParenthesizedExpression(e){return e.expression.visit(this)}visitRegularExpressionLiteral(){return!1}visitSpreadElement(e){return e.expression.visit(this)}visitArrowFunction(e,t){return!1}};var Zt=null,Qt=!1,$t=1,en=null,tn=Symbol(`SIGNAL`);function nn(e){let t=Zt;return Zt=e,t}function rn(){return Zt}var an={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:`unknown`,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function on(e){if(Qt)throw Error(``);if(Zt===null)return;Zt.consumerOnSignalRead(e);let t=Zt.producersTail;if(t!==void 0&&t.producer===e)return;let n,r=Zt.recomputing;if(r&&(n=t===void 0?Zt.producers:t.nextProducer,n!==void 0&&n.producer===e)){Zt.producersTail=n,n.lastReadVersion=e.version,n.knownValidAtEpoch=$t;return}let i=e.consumersTail;if(i!==void 0&&i.consumer===Zt&&(!r||i.knownValidAtEpoch===$t))return;let a=xn(Zt),o={producer:e,consumer:Zt,nextProducer:n,prevConsumer:void 0,knownValidAtEpoch:$t,lastReadVersion:e.version,nextConsumer:void 0};Zt.producersTail=o,t===void 0?Zt.producers=o:t.nextProducer=o,a&&yn(e,o)}function sn(){$t++}function cn(e){if((!xn(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==$t)){if(!e.producerMustRecompute(e)&&!_n(e)){fn(e);return}e.producerRecomputeValue(e),fn(e)}}function ln(e){if(e.consumers===void 0)return;let t=Qt;Qt=!0;try{for(let t=e.consumers;t!==void 0;t=t.nextConsumer){let e=t.consumer;e.dirty||dn(e)}}finally{Qt=t}}function un(){return Zt?.consumerAllowSignalWrites!==!1}function dn(e){e.dirty=!0,ln(e),e.consumerMarkedDirty?.(e)}function fn(e){e.dirty=!1,e.lastCleanEpoch=$t}function pn(e){return e&&mn(e),nn(e)}function mn(e){if(e.producersTail?.knownValidAtEpoch===$t){let t=e.producers;for(;t!==void 0;)t.knownValidAtEpoch=null,t=t.nextProducer}e.producersTail=void 0,e.recomputing=!0}function hn(e,t){nn(t),e&&gn(e)}function gn(e){e.recomputing=!1;let t=e.producersTail,n=t===void 0?e.producers:t.nextProducer;if(n!==void 0){if(xn(e))do n=bn(n);while(n!==void 0);t===void 0?e.producers=void 0:t.nextProducer=void 0}}function _n(e){for(let t=e.producers;t!==void 0;t=t.nextProducer){let e=t.producer,n=t.lastReadVersion;if(n!==e.version||(cn(e),n!==e.version))return!0}return!1}function vn(e){if(xn(e)){let t=e.producers;for(;t!==void 0;)t=bn(t)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function yn(e,t){let n=e.consumersTail,r=xn(e);if(n===void 0?(t.nextConsumer=void 0,e.consumers=t):(t.nextConsumer=n.nextConsumer,n.nextConsumer=t),t.prevConsumer=n,e.consumersTail=t,!r)for(let t=e.producers;t!==void 0;t=t.nextProducer)yn(t.producer,t)}function bn(e){let t=e.producer,n=e.nextProducer,r=e.nextConsumer,i=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,r===void 0?t.consumersTail=i:r.prevConsumer=i,i!==void 0)i.nextConsumer=r;else if(t.consumers=r,!xn(t)){let e=t.producers;for(;e!==void 0;)e=bn(e)}return n}function xn(e){return e.consumerIsAlwaysLive||e.consumers!==void 0}function Sn(e){en?.(e)}function Cn(e,t){return Object.is(e,t)}function wn(e,t){let n=Object.create(On);n.computation=e,t!==void 0&&(n.equal=t);let r=()=>{if(cn(n),on(n),n.value===Dn)throw n.error;return n.value};return r[tn]=n,Sn(n),r}var Tn=Symbol(`UNSET`),En=Symbol(`COMPUTING`),Dn=Symbol(`ERRORED`),On={...an,value:Tn,dirty:!0,error:null,equal:Cn,kind:`computed`,producerMustRecompute(e){return e.value===Tn||e.value===En},producerRecomputeValue(e){if(e.value===En)throw Error(``);let t=e.value;e.value=En;let n=pn(e),r,i=!1;try{r=e.computation(),nn(null),i=t!==Tn&&t!==Dn&&r!==Dn&&e.equal(t,r)}catch(t){r=Dn,e.error=t}finally{hn(e,n)}if(i){e.value=t;return}e.value=r,e.version++}};function kn(){throw Error()}var An=kn;function jn(e){An(e)}function Mn(e){An=e}var Nn=null;function Pn(e,t){let n=Object.create(Rn);n.value=e,t!==void 0&&(n.equal=t);let r=()=>Fn(n);return r[tn]=n,Sn(n),[r,e=>In(n,e),e=>Ln(n,e)]}function Fn(e){return on(e),e.value}function In(e,t){un()||jn(e),e.equal(e.value,t)||(e.value=t,zn(e))}function Ln(e,t){un()||jn(e),In(e,t(e.value))}var Rn={...an,equal:Cn,value:void 0,kind:`signal`};function zn(e){e.version++,sn(),ln(e),Nn?.(e)}var Bn={...an,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,dirty:!0,kind:`effect`};function Vn(e){if(e.dirty=!1,e.version>0&&!_n(e))return;e.version++;let t=pn(e);try{e.cleanup(),e.fn()}finally{hn(e,t)}}var Hn=void 0;function Un(){return Hn}function Wn(e){let t=Hn;return Hn=e,t}var Gn=Symbol(`NotFound`);function Kn(e){return e===Gn||e?.name===`ɵNotFound`}function qn(e,t,n){let r=Object.create(Xn);r.source=e,r.computation=t,n!=null&&(r.equal=n);let i=()=>{if(cn(r),on(r),r.value===Dn)throw r.error;return r.value};return i[tn]=r,Sn(r),i}function Jn(e,t){cn(e),In(e,t),fn(e)}function Yn(e,t){if(cn(e),e.value===Dn)throw e.error;Ln(e,t),fn(e)}var Xn={...an,value:Tn,dirty:!0,error:null,equal:Cn,kind:`linkedSignal`,producerMustRecompute(e){return e.value===Tn||e.value===En},producerRecomputeValue(e){if(e.value===En)throw Error(``);let t=e.value;e.value=En;let n=pn(e),r,i=!1;try{let n=e.source(),a=t!==Tn&&t!==Dn,o=a?{source:e.sourceValue,value:t}:void 0;r=e.computation(n,o),e.sourceValue=n,nn(null),i=a&&r!==Dn&&e.equal(t,r)}catch(t){r=Dn,e.error=t}finally{hn(e,n)}if(i){e.value=t;return}e.value=r,e.version++}};function Zn(e){let t=nn(null);try{return e()}finally{nn(t)}}var Qn=function(e,t){return Qn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Qn(e,t)};function $n(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);Qn(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function er(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function tr(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if(a=n.trys,!(a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function rr(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-->0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function ir(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof ar?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}}function sr(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof nr==`function`?nr(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}function cr(e){return typeof e==`function`}function lr(e){var t=e(function(e){Error.call(e),e.stack=Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var ur=lr(function(e){return function(t){e(this),this.message=t?t.length+` errors occurred during unsubscription: `+t.map(function(e,t){return t+1+`) `+e.toString()}).join(` `):``,this.name=`UnsubscriptionError`,this.errors=t}});function dr(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var fr=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a){if(this._parentage=null,Array.isArray(a))try{for(var o=nr(a),s=o.next();!s.done;s=o.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}else a.remove(this)}var c=this.initialTeardown;if(cr(c))try{c()}catch(e){i=e instanceof ur?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=nr(l),d=u.next();!d.done;d=u.next()){var f=d.value;try{hr(f)}catch(e){i??=[],e instanceof ur?i=ir(ir([],rr(i)),rr(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new ur(i)}},e.prototype.add=function(t){if(t&&t!==this){if(this.closed)hr(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=this._finalizers??[]).push(t)}}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&dr(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&dr(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e}(),pr=fr.EMPTY;function mr(e){return e instanceof fr||e&&`closed`in e&&cr(e.remove)&&cr(e.add)&&cr(e.unsubscribe)}function hr(e){cr(e)?e():e.unsubscribe()}var gr={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},_r={setTimeout:function(e,t){var n=[...arguments].slice(2),r=_r.delegate;return r?.setTimeout?r.setTimeout.apply(r,ir([e,t],rr(n))):setTimeout.apply(void 0,ir([e,t],rr(n)))},clearTimeout:function(e){return(_r.delegate?.clearTimeout||clearTimeout)(e)},delegate:void 0};function vr(e){_r.setTimeout(function(){var t=gr.onUnhandledError;if(t)t(e);else throw e})}function yr(){}var br=(function(){return Cr(`C`,void 0,void 0)})();function xr(e){return Cr(`E`,void 0,e)}function Sr(e){return Cr(`N`,e,void 0)}function Cr(e,t,n){return{kind:e,value:t,error:n}}var wr=null;function Tr(e){if(gr.useDeprecatedSynchronousErrorHandling){var t=!wr;if(t&&(wr={errorThrown:!1,error:null}),e(),t){var n=wr,r=n.errorThrown,i=n.error;if(wr=null,r)throw i}}else e()}function Er(e){gr.useDeprecatedSynchronousErrorHandling&&wr&&(wr.errorThrown=!0,wr.error=e)}var Dr=function(e){$n(t,e);function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,mr(t)&&t.add(n)):n.destination=Fr,n}return t.create=function(e,t,n){return new jr(e,t,n)},t.prototype.next=function(e){this.isStopped?Pr(Sr(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?Pr(xr(e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?Pr(br,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(fr),Or=Function.prototype.bind;function kr(e,t){return Or.call(e,t)}var Ar=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){Mr(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){Mr(e)}else Mr(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){Mr(e)}},e}(),jr=function(e){$n(t,e);function t(t,n,r){var i=e.call(this)||this,a;if(cr(t)||!t)a={next:t??void 0,error:n??void 0,complete:r??void 0};else{var o;i&&gr.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=function(){return i.unsubscribe()},a={next:t.next&&kr(t.next,o),error:t.error&&kr(t.error,o),complete:t.complete&&kr(t.complete,o)}):a=t}return i.destination=new Ar(a),i}return t}(Dr);function Mr(e){gr.useDeprecatedSynchronousErrorHandling?Er(e):vr(e)}function Nr(e){throw e}function Pr(e,t){var n=gr.onStoppedNotification;n&&_r.setTimeout(function(){return n(e,t)})}var Fr={closed:!0,next:yr,error:Nr,complete:yr},Ir=(function(){return typeof Symbol==`function`&&Symbol.observable||`@@observable`})();function Lr(e){return e}function Rr(e){return e.length===0?Lr:e.length===1?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)}}var zr=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this,i=Hr(e)?e:new jr(e,t,n);return Tr(function(){var e=r,t=e.operator,n=e.source;i.add(t?t.call(i,n):n?r._subscribe(i):r._trySubscribe(i))}),i},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return t=Br(t),new t(function(t,r){var i=new jr({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){return this.source?.subscribe(e)},e.prototype[Ir]=function(){return this},e.prototype.pipe=function(){return Rr([...arguments])(this)},e.prototype.toPromise=function(e){var t=this;return e=Br(e),new e(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function Br(e){return e??gr.Promise??Promise}function Vr(e){return e&&cr(e.next)&&cr(e.error)&&cr(e.complete)}function Hr(e){return e&&e instanceof Dr||Vr(e)&&mr(e)}function Ur(e){return cr(e?.lift)}function Wr(e){return function(t){if(Ur(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw TypeError(`Unable to lift unknown Observable type`)}}function Gr(e,t,n,r,i){return new Kr(e,t,n,r,i)}var Kr=function(e){$n(t,e);function t(t,n,r,i,a,o){var s=e.call(this,t)||this;return s.onFinalize=a,s.shouldUnsubscribe=o,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((t=this.onFinalize)==null||t.call(this))}},t}(Dr),qr=lr(function(e){return function(){e(this),this.name=`ObjectUnsubscribedError`,this.message=`object unsubscribed`}}),Jr=function(e){$n(t,e);function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return t.prototype.lift=function(e){var t=new Yr(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new qr},t.prototype.next=function(e){var t=this;Tr(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||=Array.from(t.observers);try{for(var i=nr(t.currentObservers),a=i.next();!a.done;a=i.next())a.value.next(e)}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;Tr(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;Tr(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){return this.observers?.length>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,a=n.observers;return r||i?pr:(this.currentObservers=null,a.push(e),new fr(function(){t.currentObservers=null,dr(a,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new zr;return e.source=this,e},t.create=function(e,t){return new Yr(e,t)},t}(zr),Yr=function(e){$n(t,e);function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return t.prototype.next=function(e){var t,n;(n=(t=this.destination)?.next)==null||n.call(t,e)},t.prototype.error=function(e){var t,n;(n=(t=this.destination)?.error)==null||n.call(t,e)},t.prototype.complete=function(){var e,t;(t=(e=this.destination)?.complete)==null||t.call(e)},t.prototype._subscribe=function(e){return this.source?.subscribe(e)??pr},t}(Jr),Xr=function(e){$n(t,e);function t(t){var n=e.call(this)||this;return n._value=t,n}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(Jr);function Zr(e){return e[e.length-1]}function Qr(e){return cr(Zr(e))?e.pop():void 0}var $r=(function(e){return e&&typeof e.length==`number`&&typeof e!=`function`});function ei(e){return cr(e?.then)}function ti(e){return cr(e[Ir])}function ni(e){return Symbol.asyncIterator&&cr(e?.[Symbol.asyncIterator])}function ri(e){return TypeError(`You provided `+(typeof e==`object`&&e?`an invalid object`:`'`+e+`'`)+` where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function ii(){return typeof Symbol!=`function`||!Symbol.iterator?`@@iterator`:Symbol.iterator}var ai=ii();function oi(e){return cr(e?.[ai])}function si(e){return or(this,arguments,function(){var t,n,r,i;return tr(this,function(a){switch(a.label){case 0:t=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,ar(t.read())];case 3:return n=a.sent(),r=n.value,i=n.done,i?[4,ar(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,ar(r)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function ci(e){return cr(e?.getReader)}function li(e){if(e instanceof zr)return e;if(e!=null){if(ti(e))return uee(e);if($r(e))return dee(e);if(ei(e))return fee(e);if(ni(e))return ui(e);if(oi(e))return pee(e);if(ci(e))return mee(e)}throw ri(e)}function uee(e){return new zr(function(t){var n=e[Ir]();if(cr(n.subscribe))return n.subscribe(t);throw TypeError(`Provided object does not correctly implement Symbol.observable`)})}function dee(e){return new zr(function(t){for(var n=0;n=0?n.slice(0,r):n}function Ci(e,t){return e?t?`${e} ${t}`:e:t||``}var wi=bi({__forward_ref__:bi});function Ti(e){return e.__forward_ref__=Ti,e}function Ei(e){return Di(e)?e():e}function Di(e){return typeof e==`function`&&Object.hasOwn(e,wi)&&e.__forward_ref__===Ti}function Oi(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ki(e){return Ai(e,Ni)}function Ai(e,t){return Object.hasOwn(e,t)&&e[t]||null}function ji(e){return(e?.[Ni]??null)||null}function Mi(e){return e&&Object.hasOwn(e,Pi)?e[Pi]:null}var Ni=bi({ɵprov:bi}),Pi=bi({ɵinj:bi}),Fi=class{_desc;ngMetadataName=`InjectionToken`;ɵprov;constructor(e,t){this._desc=e,this.ɵprov=void 0,typeof t==`number`?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.ɵprov=Oi({token:this,providedIn:t.providedIn||`root`,factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Ii(e){return e&&!!e.ɵproviders}var Li=bi({ɵcmp:bi}),Ri=bi({ɵdir:bi}),zi=bi({ɵpipe:bi}),Bi=bi({ɵfac:bi}),Vi=bi({__NG_ELEMENT_ID__:bi}),Hi=bi({__NG_ENV_ID__:bi});function Ui(e){return Ki(e,`@Component`),e[Li]||null}function Wi(e){return Ki(e,`@Directive`),e[Ri]||null}function Gi(e){return Ki(e,`@Pipe`),e[zi]||null}function Ki(e,t){if(e==null)throw new _i(-919,!1)}function qi(e){return typeof e==`string`?e:e==null?``:String(e)}var Ji=bi({ngErrorCode:bi}),Yi=bi({ngErrorMessage:bi}),Xi=bi({ngTokenPath:bi});function Zi(e,t){return $i(``,-200,t)}function Qi(e,t){throw new _i(-201,!1)}function $i(e,t,n){let r=new _i(t,e);return r[Ji]=t,r[Yi]=e,n&&(r[Xi]=n),r}function ea(e){return e[Ji]}var ta;function na(){return ta}function ra(e){let t=ta;return ta=e,t}function ia(e,t,n){let r=ki(e);if(r&&r.providedIn==`root`)return r.value===void 0?r.value=r.factory():r.value;if(n&8)return null;if(t!==void 0)return t;Qi(e,``)}var aa=globalThis,oa={},sa=`__NG_DI_FLAG__`,ca=class{injector;constructor(e){this.injector=e}retrieve(e,t){let n=da(t)||0;try{return this.injector.get(e,n&8?null:oa,n)}catch(e){if(Kn(e))return e;throw e}}};function la(e,t=0){let n=Un();if(n===void 0)throw new _i(-203,!1);if(n===null)return ia(e,void 0,t);{let r=fa(t),i=n.retrieve(e,r);if(Kn(i)){if(r.optional)return null;throw i}return i}}function ua(e,t=0){return(na()||la)(Ei(e),t)}function C(e,t){return ua(e,da(t))}function da(e){return e===void 0||typeof e==`number`?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function fa(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function pa(e){let t=[];for(let n=0;nArray.isArray(e)?va(e,t):t(e))}function ya(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function ba(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function xa(e,t){let n=[];for(let r=0;rt;){let t=i-2;e[i]=e[t],i--}e[t]=n,e[t+1]=r}}function Ca(e,t,n){let r=Ta(e,t);return r>=0?e[r|1]=n:(r=~r,Sa(e,r,t,n)),r}function wa(e,t){let n=Ta(e,t);if(n>=0)return e[n|1]}function Ta(e,t){return Ea(e,t,1)}function Ea(e,t,n){let r=0,i=e.length>>n;for(;i!==r;){let a=r+(i-r>>1),o=e[a<t?i=a:r=a+1}return~(i<{n.push(e)};return va(t,e=>{let t=e;Ia(t,a,[],r)&&(i||=[],i.push(t))}),i!==void 0&&Fa(i,a),n}function Fa(e,t){for(let n=0;n{t(e,r)})}}function Ia(e,t,n,r){if(e=Ei(e),!e)return!1;let i=null,a=Mi(e),o=!a&&Ui(e);if(!a&&!o){let t=e.ngModule;if(a=Mi(t),a)i=t;else return!1}else if(o&&!o.standalone)return!1;else i=e;let s=r.has(i);if(o){if(s)return!1;if(r.add(i),o.dependencies){let e=typeof o.dependencies==`function`?o.dependencies():o.dependencies;for(let i of e)Ia(i,t,n,r)}}else if(a){if(a.imports!=null&&!s){r.add(i);let e;try{va(a.imports,i=>{Ia(i,t,n,r)&&(e||=[],e.push(i))})}finally{}e!==void 0&&Fa(e,t)}if(!s){let e=ha(i)||(()=>new i);t({provide:i,useFactory:e,deps:Oa},i),t({provide:ja,useValue:i,multi:!0},i),t({provide:ka,useValue:()=>ua(i),multi:!0},i)}let o=a.providers;if(o!=null&&!s){let n=e;La(o,e=>{t(e,n)})}}else return!1;return i!==e&&e.providers!==void 0}function La(e,t){for(let n of e)Ii(n)&&(n=n.ɵproviders),Array.isArray(n)?La(n,t):t(n)}var Ra=bi({provide:String,useValue:bi});function za(e){return typeof e==`object`&&!!e&&Ra in e}function Ba(e){return!!(e&&e.useExisting)}function Va(e){return!!(e&&e.useFactory)}function Ha(e){return typeof e==`function`}function Ua(e){return!!e.useClass}var Wa=new Fi(``),Ga={},Ka={},qa=void 0;function Ja(){return qa===void 0&&(qa=new Ma),qa}var Ya=class{},Xa=class extends Ya{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(e,t,n,r){super(),this.parent=t,this.source=n,this.scopes=r,oo(e,e=>this.processProvider(e)),this.records.set(Aa,no(void 0,this)),r.has(`environment`)&&this.records.set(Ya,no(void 0,this));let i=this.records.get(Wa);i!=null&&typeof i.value==`string`&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(ja,Oa,{self:!0}))}retrieve(e,t){let n=da(t)||0;try{return this.get(e,oa,n)}catch(e){if(Kn(e))return e;throw e}}destroy(){to(this),this._destroyed=!0;let e=nn(null);try{for(let e of this._ngOnDestroyHooks)e.ngOnDestroy();let e=this._onDestroyHooks;this._onDestroyHooks=[];for(let t of e)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),nn(e)}}onDestroy(e){return to(this),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){to(this);let t=Wn(this),n=ra(void 0);try{return e()}finally{Wn(t),ra(n)}}get(e,t=oa,n){if(to(this),Object.hasOwn(e,Hi))return e[Hi](this);let r=da(n),i=Wn(this),a=ra(void 0);try{if(!(r&4)){let t=this.records.get(e);if(t===void 0){let n=ao(e)&&ki(e);t=n&&this.injectableDefInScope(n)?no(Za(e),Ga):null,this.records.set(e,t)}if(t!=null)return this.hydrate(e,t,r)}let n=r&2?Ja():this.parent;return t=r&8&&t===oa?null:t,n.get(e,t)}catch(e){let t=ea(e);throw t===-200||t===-201?new _i(t,null):e}finally{ra(a),Wn(i)}}resolveInjectorInitializers(){let e=nn(null),t=Wn(this),n=ra(void 0);try{let e=this.get(ka,Oa,{self:!0});for(let t of e)t()}finally{Wn(t),ra(n),nn(e)}}toString(){return`R3Injector[...]`}processProvider(e){e=Ei(e);let t=Ha(e)?e:Ei(e&&e.provide),n=$a(e);if(!Ha(e)&&e.multi===!0){let n=this.records.get(t);n||(n=no(void 0,Ga,!0),n.factory=()=>pa(n.multi),this.records.set(t,n)),t=e,n.multi.push(e)}this.records.set(t,n)}hydrate(e,t,n){let r=nn(null);try{if(t.value===Ka)throw Zi(``);return t.value===Ga&&(t.value=Ka,t.value=t.factory(void 0,n)),typeof t.value==`object`&&t.value&&io(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{nn(r)}}injectableDefInScope(e){if(!e.providedIn)return!1;let t=Ei(e.providedIn);return typeof t==`string`?t===`any`||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(e){let t=this._onDestroyHooks.indexOf(e);t!==-1&&this._onDestroyHooks.splice(t,1)}};function Za(e){let t=ki(e),n=t===null?ha(e):t.factory;if(n!==null)return n;if(e instanceof Fi)throw new _i(-204,!1);if(e instanceof Function)return Qa(e);throw new _i(-204,!1)}function Qa(e){if(e.length>0)throw new _i(-204,!1);let t=ji(e);return t===null?()=>new e:()=>t.factory(e)}function $a(e){return za(e)?no(void 0,e.useValue):no(eo(e),Ga)}function eo(e,t,n){let r;if(Ha(e)){let t=Ei(e);return ha(t)||Za(t)}if(za(e))r=()=>Ei(e.useValue);else if(Va(e))r=()=>e.useFactory(...pa(e.deps||[]));else if(Ba(e))r=(t,n)=>ua(Ei(e.useExisting),n!==void 0&&n&8?8:void 0);else{let t=Ei(e&&(e.useClass||e.provide));if(ro(e))r=()=>new t(...pa(e.deps));else return ha(t)||Za(t)}return r}function to(e){if(e.destroyed)throw new _i(-205,!1)}function no(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function ro(e){return!!e.deps}function io(e){return typeof e==`object`&&!!e&&typeof e.ngOnDestroy==`function`}function ao(e){return typeof e==`function`||typeof e==`object`&&e.ngMetadataName===`InjectionToken`}function oo(e,t){for(let n of e)Array.isArray(n)?oo(n,t):n&&Ii(n)?oo(n.ɵproviders,t):t(n)}function so(e,t){let n;e instanceof Xa?(to(e),n=e):n=new ca(e);let r=Wn(n),i=ra(void 0);try{return t()}finally{Wn(r),ra(i)}}function co(){return na()!==void 0||Un()!=null}var lo=1;function uo(e){return Array.isArray(e)&&typeof e[lo]==`object`}function fo(e){return Array.isArray(e)&&e[lo]===!0}function po(e){return!!(e.flags&4)}function mo(e){return e.componentOffset>-1}function ho(e){return(e.flags&1)==1}function go(e){return!!e.template}function _o(e){return!!(e[2]&512)}function vo(e){return(e[2]&256)==256}var yo=(function(e){return e[e.NONE=0]=`NONE`,e[e.HTML=1]=`HTML`,e[e.STYLE=2]=`STYLE`,e[e.SCRIPT=3]=`SCRIPT`,e[e.URL=4]=`URL`,e[e.RESOURCE_URL=5]=`RESOURCE_URL`,e[e.ATTRIBUTE_NO_BINDING=6]=`ATTRIBUTE_NO_BINDING`,e})(yo||{}),bo=`math`;function xo(e){for(;Array.isArray(e);)e=e[0];return e}function So(e,t){return xo(t[e])}function Co(e,t){return xo(t[e.index])}function wo(e,t){return e.data[t]}function To(e,t){return e[t]}function Eo(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}function Do(e,t){let n=t[e];return uo(n)?n:n[0]}function Oo(e){return(e[2]&128)==128}function Pee(e){return fo(e[3])}function ko(e,t){return t==null?null:e[t]}function Ao(e){e[17]=0}function jo(e){e[2]&1024||(e[2]|=1024,Oo(e)&&Po(e))}function Fee(e,t){for(;e>0;)t=t[14],e--;return t}function Mo(e){return!!(e[2]&9216||e[24]?.dirty)}function No(e){e[10].changeDetectionScheduler?.notify(8),e[2]&64&&(e[2]|=1024),Mo(e)&&Po(e)}function Po(e){e[10].changeDetectionScheduler?.notify(0);let t=Io(e);for(;t!==null&&!(t[2]&8192||(t[2]|=8192,!Oo(t)));)t=Io(t)}function Fo(e,t){if(vo(e))throw new _i(911,!1);e[21]===null&&(e[21]=[]),e[21].push(t)}function Iee(e,t){if(e[21]===null)return;let n=e[21].indexOf(t);n!==-1&&e[21].splice(n,1)}function Io(e){let t=e[3];return fo(t)?t[3]:t}function Lo(e){return e[7]??=[]}function Ro(e){return e.cleanup??=[]}function Lee(e,t,n,r){let i=Lo(t);i.push(n),e.firstCreatePass&&Ro(e).push(r,i.length-1)}var zo={lFrame:ps(null),bindingsEnabled:!0,skipHydrationRootTNode:null},Bo=!1;function Ree(){return zo.lFrame.elementDepthCount}function zee(){zo.lFrame.elementDepthCount++}function Vo(){zo.lFrame.elementDepthCount--}function Ho(){return zo.bindingsEnabled}function Uo(){return zo.skipHydrationRootTNode!==null}function Wo(e){return zo.skipHydrationRootTNode===e}function Go(){zo.skipHydrationRootTNode=null}function Ko(){return zo.lFrame.lView}function qo(){return zo.lFrame.tView}function w(e){return zo.lFrame.contextLView=e,e[8]}function T(e){return zo.lFrame.contextLView=null,e}function Jo(){let e=Yo();for(;e!==null&&e.type===64;)e=e.parent;return e}function Yo(){return zo.lFrame.currentTNode}function Bee(){let e=zo.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function Xo(e,t){let n=zo.lFrame;n.currentTNode=e,n.isParent=t}function Zo(){return zo.lFrame.isParent}function Qo(){zo.lFrame.isParent=!1}function $o(){return zo.lFrame.contextLView}function es(){return Bo}function ts(e){let t=Bo;return Bo=e,t}function ns(){let e=zo.lFrame,t=e.bindingRootIndex;return t===-1&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function rs(){return zo.lFrame.bindingIndex}function Vee(e){return zo.lFrame.bindingIndex=e}function is(){return zo.lFrame.bindingIndex++}function as(e){let t=zo.lFrame,n=t.bindingIndex;return t.bindingIndex+=e,n}function Hee(){return zo.lFrame.inI18n}function Uee(e,t){let n=zo.lFrame;n.bindingIndex=n.bindingRootIndex=e,os(t)}function Wee(){return zo.lFrame.currentDirectiveIndex}function os(e){zo.lFrame.currentDirectiveIndex=e}function Gee(e){let t=zo.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function ss(){return zo.lFrame.currentQueryIndex}function cs(e){zo.lFrame.currentQueryIndex=e}function ls(e){let t=e[1];return t.type===2?t.declTNode:t.type===1?e[5]:null}function us(e,t,n){if(n&4){let r=t,i=e;for(;r=r.parent,r===null&&!(n&1)&&(r=ls(i),!(r===null||(i=i[14],r.type&10))););if(r===null)return!1;t=r,e=i}let r=zo.lFrame=fs();return r.currentTNode=t,r.lView=e,!0}function ds(e){let t=fs(),n=e[1];zo.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function fs(){let e=zo.lFrame,t=e===null?null:e.child;return t===null?ps(e):t}function ps(e){let t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=t),t}function ms(){let e=zo.lFrame;return zo.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var hs=ms;function gs(){let e=ms();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function _s(e){return(zo.lFrame.contextLView=Fee(e,zo.lFrame.contextLView))[8]}function vs(){return zo.lFrame.selectedIndex}function ys(e){zo.lFrame.selectedIndex=e}function bs(){let e=zo.lFrame;return wo(e.tView,e.selectedIndex)}function E(){zo.lFrame.currentNamespace=`svg`}function xs(){Ss()}function Ss(){zo.lFrame.currentNamespace=null}function Cs(){return zo.lFrame.currentNamespace}var ws=!0;function Ts(){return ws}function Es(e){ws=e}function Ds(e,t=null,n=null,r){let i=Os(e,t,n,r);return i.resolveInjectorInitializers(),i}function Os(e,t=null,n=null,r,i=new Set){return new Xa([n||Oa,Na(e)],t||Ja(),null,i)}var ks=class e{static THROW_IF_NOT_FOUND=oa;static NULL=new Ma;static create(e,t){if(Array.isArray(e))return Ds({name:``},t,e,``);{let t=e.name??``;return Ds({name:t},e.parent,e.providers,t)}}static ɵprov=Oi({token:e,providedIn:`any`,factory:()=>ua(Aa)});static __NG_ELEMENT_ID__=-1},As=new Fi(``),js=class{static __NG_ELEMENT_ID__=Ns;static __NG_ENV_ID__=e=>e},Ms=class extends js{_lView;constructor(e){super(),this._lView=e}get destroyed(){return vo(this._lView)}onDestroy(e){let t=this._lView;return Fo(t,e),()=>Iee(t,e)}};function Ns(){return new Ms(Ko())}var Ps=new Fi(``),Fs=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new Xr(!1);debugTaskTracker=C(Ps,{optional:!0});get hasPendingTasks(){return!this.destroyed&&this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new zr(e=>{e.next(!1),e.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let e=this.taskId++;return this.pendingTasks.add(e),this.debugTaskTracker?.add(e),e}has(e){return this.pendingTasks.has(e)}remove(e){this.pendingTasks.delete(e),this.debugTaskTracker?.remove(e),this.pendingTasks.size===0&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static ɵprov=Oi({token:e,providedIn:`root`,factory:()=>new e})}return e})(),Is=class extends Jr{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(e=!1){super(),this.__isAsync=e,co()&&(this.destroyRef=C(js,{optional:!0})??void 0,this.pendingTasks=C(Fs,{optional:!0})??void 0)}emit(e){let t=nn(null);try{super.next(e)}finally{nn(t)}}subscribe(e,t,n){let r=e,i=t||(()=>null),a=n;if(e&&typeof e==`object`){let t=e;r=t.next?.bind(t),i=t.error?.bind(t),a=t.complete?.bind(t)}this.__isAsync&&(i=this.wrapInTimeout(i),r&&=this.wrapInTimeout(r),a&&=this.wrapInTimeout(a));let o=super.subscribe({next:r,error:i,complete:a});return e instanceof fr&&e.add(o),o}wrapInTimeout(e){return t=>{let n=this.pendingTasks?.add();setTimeout(()=>{try{e(t)}finally{n!==void 0&&this.pendingTasks?.remove(n)}})}}};function Ls(...e){}function Rs(e){let t,n;function r(){e=Ls;try{n!==void 0&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(n),t!==void 0&&clearTimeout(t)}catch{}}return t=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame==`function`&&(n=requestAnimationFrame(()=>{e(),r()})),()=>r()}function zs(e){return queueMicrotask(()=>e()),()=>{e=Ls}}var Bs=`isAngularZone`,Vs=`isAngularZone_ID`,Hs=0,Us=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new Is(!1);onMicrotaskEmpty=new Is(!1);onStable=new Is(!1);onError=new Is(!1);constructor(e){let{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:i=!1}=e;if(typeof Zone>`u`)throw new _i(908,!1);Zone.assertZonePatched();let a=this;a._nesting=0,a._outer=a._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(a._inner=a._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(a._inner=a._inner.fork(Zone.longStackTraceZoneSpec)),a.shouldCoalesceEventChangeDetection=!r&&n,a.shouldCoalesceRunChangeDetection=r,a.callbackScheduled=!1,a.scheduleInRootZone=i,qs(a)}static isInAngularZone(){return typeof Zone<`u`&&Zone.current.get(Bs)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new _i(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new _i(909,!1)}run(e,t,n){return this._inner.run(e,t,n)}runTask(e,t,n,r){let i=this._inner,a=i.scheduleEventTask(`NgZoneEvent: `+r,e,Ws,Ls,Ls);try{return i.runTask(a,t,n)}finally{i.cancelTask(a)}}runGuarded(e,t,n){return this._inner.runGuarded(e,t,n)}runOutsideAngular(e){return this._outer.run(e)}},Ws={};function Gs(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Ks(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){Rs(()=>{e.callbackScheduled=!1,Js(e),e.isCheckStableRunning=!0,Gs(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),Js(e)}function qs(e){let t=()=>{Ks(e)},n=Hs++;e._inner=e._inner.fork({name:`angular`,properties:{[Bs]:!0,[Vs]:n,[Vs+n]:!0},onInvokeTask:(n,r,i,a,o,s)=>{if(Qs(s))return n.invokeTask(i,a,o,s);try{return Ys(e),n.invokeTask(i,a,o,s)}finally{(e.shouldCoalesceEventChangeDetection&&a.type===`eventTask`||e.shouldCoalesceRunChangeDetection)&&t(),Xs(e)}},onInvoke:(n,r,i,a,o,s,c)=>{try{return Ys(e),n.invoke(i,a,o,s,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!$s(s)&&t(),Xs(e)}},onHasTask:(t,n,r,i)=>{t.hasTask(r,i),n===r&&(i.change==`microTask`?(e._hasPendingMicrotasks=i.microTask,Js(e),Gs(e)):i.change==`macroTask`&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,n,r,i)=>(t.handleError(r,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}function Js(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0)}function Ys(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Xs(e){e._nesting--,Gs(e)}var Zs=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new Is;onMicrotaskEmpty=new Is;onStable=new Is;onError=new Is;run(e,t,n){return e.apply(t,n)}runGuarded(e,t,n){return e.apply(t,n)}runOutsideAngular(e){return e()}runTask(e,t,n,r){return e.apply(t,n)}};function Qs(e){return ec(e,`__ignore_ng_zone__`)}function $s(e){return ec(e,`__scheduler_tick__`)}function ec(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var tc=class{_console=console;handleError(e){this._console.error(`ERROR`,e)}},nc=new Fi(``,{factory:()=>{let e=C(Us),t=C(Ya),n;return r=>{e.runOutsideAngular(()=>{t.destroyed&&!n?setTimeout(()=>{throw r}):(n??=t.get(tc),n.handleError(r))})}}}),rc={provide:ka,useValue:()=>{C(tc,{optional:!0})},multi:!0};function D(e,t){let[n,r,i]=Pn(e,t?.equal),a=n;return a[tn],a.set=r,a.update=i,a.asReadonly=ic.bind(a),a}function ic(){let e=this[tn];if(e.readonlyFn===void 0){let t=()=>this();t[tn]=e,e.readonlyFn=t}return e.readonlyFn}var ac=new Fi(``,{factory:()=>oc}),oc=`ng`,sc=new Fi(``),cc=new Fi(``,{providedIn:`platform`,factory:()=>`unknown`}),lc=new Fi(``,{factory:()=>C(As).body?.querySelector(`[ngCspNonce]`)?.getAttribute(`ngCspNonce`)||null}),uc=(()=>{class e{view;node;constructor(e,t){this.view=e,this.node=t}static __NG_ELEMENT_ID__=dc}return e})();function dc(){return new uc(Ko(),Jo())}var fc=class{},pc=new Fi(``,{factory:()=>!0}),mc=new Fi(``),hc=(()=>{class e{static ɵprov=Oi({token:e,providedIn:`root`,factory:()=>new gc})}return e})(),gc=class{dirtyEffectCount=0;queues=new Map;add(e){this.enqueue(e),this.schedule(e)}schedule(e){e.dirty&&this.dirtyEffectCount++}remove(e){let t=e.zone,n=this.queues.get(t);n.has(e)&&(n.delete(e),e.dirty&&this.dirtyEffectCount--)}enqueue(e){let t=e.zone;this.queues.has(t)||this.queues.set(t,new Set);let n=this.queues.get(t);n.has(e)||n.add(e)}flush(){for(;this.dirtyEffectCount>0;){let e=!1;for(let[t,n]of this.queues)e||=t===null?this.flushQueue(n):t.run(()=>this.flushQueue(n));e||(this.dirtyEffectCount=0)}}flushQueue(e){let t=!1;for(let n of e)n.dirty&&(this.dirtyEffectCount--,t=!0,n.run());return t}},_c=class{[tn];constructor(e){this[tn]=e}destroy(){this[tn].destroy()}};function vc(e,t){let n=t?.injector??C(ks),r=t?.manualCleanup===!0?null:n.get(js),i,a=n.get(uc,null,{optional:!0}),o=n.get(fc);return a===null?i=Cc(e,n.get(hc),o):(i=Sc(a.view,o,e),r instanceof Ms&&r._lView===a.view&&(r=null)),i.injector=n,r!==null&&(i.onDestroyFns=[r.onDestroy(()=>i.destroy())]),new _c(i)}var yc={...Bn,cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let e=ts(!1);try{Vn(this)}finally{ts(e)}},cleanup(){if(!this.cleanupFns?.length)return;let e=nn(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],nn(e)}}},bc={...yc,consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(vn(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.scheduler.remove(this)}},xc={...yc,consumerMarkedDirty(){this.view[2]|=8192,Po(this.view),this.notifier.notify(13)},destroy(){if(vn(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.view[23]?.delete(this)}};function Sc(e,t,n){let r=Object.create(xc);return r.view=e,r.zone=typeof Zone<`u`?Zone.current:null,r.notifier=t,r.fn=wc(r,n),e[23]??=new Set,e[23].add(r),r.consumerMarkedDirty(r),r}function Cc(e,t,n){let r=Object.create(bc);return r.fn=wc(r,e),r.scheduler=t,r.notifier=n,r.zone=typeof Zone<`u`?Zone.current:null,r.scheduler.add(r),r.notifier.notify(12),r}function wc(e,t){return()=>{t(t=>(e.cleanupFns??=[]).push(t))}}function Tc(e){return typeof e==`function`&&e[tn]!==void 0}function Ec(e){return Tc(e)&&typeof e.set==`function`}var Dc=Symbol(`InputSignalNode#UNSET`),Oc={...Rn,transformFn:void 0,applyValueToInputSignal(e,t){In(e,t)}};function kc(e){return{toString:e}.toString()}var Ac=(function(e){return e[e.TemplateCreateStart=0]=`TemplateCreateStart`,e[e.TemplateCreateEnd=1]=`TemplateCreateEnd`,e[e.TemplateUpdateStart=2]=`TemplateUpdateStart`,e[e.TemplateUpdateEnd=3]=`TemplateUpdateEnd`,e[e.LifecycleHookStart=4]=`LifecycleHookStart`,e[e.LifecycleHookEnd=5]=`LifecycleHookEnd`,e[e.OutputStart=6]=`OutputStart`,e[e.OutputEnd=7]=`OutputEnd`,e[e.BootstrapApplicationStart=8]=`BootstrapApplicationStart`,e[e.BootstrapApplicationEnd=9]=`BootstrapApplicationEnd`,e[e.BootstrapComponentStart=10]=`BootstrapComponentStart`,e[e.BootstrapComponentEnd=11]=`BootstrapComponentEnd`,e[e.ChangeDetectionStart=12]=`ChangeDetectionStart`,e[e.ChangeDetectionEnd=13]=`ChangeDetectionEnd`,e[e.ChangeDetectionSyncStart=14]=`ChangeDetectionSyncStart`,e[e.ChangeDetectionSyncEnd=15]=`ChangeDetectionSyncEnd`,e[e.AfterRenderHooksStart=16]=`AfterRenderHooksStart`,e[e.AfterRenderHooksEnd=17]=`AfterRenderHooksEnd`,e[e.ComponentStart=18]=`ComponentStart`,e[e.ComponentEnd=19]=`ComponentEnd`,e[e.DeferBlockStateStart=20]=`DeferBlockStateStart`,e[e.DeferBlockStateEnd=21]=`DeferBlockStateEnd`,e[e.DynamicComponentStart=22]=`DynamicComponentStart`,e[e.DynamicComponentEnd=23]=`DynamicComponentEnd`,e[e.HostBindingsUpdateStart=24]=`HostBindingsUpdateStart`,e[e.HostBindingsUpdateEnd=25]=`HostBindingsUpdateEnd`,e})(Ac||{}),jc=class{previousValue;currentValue;firstChange;constructor(e,t,n){this.previousValue=e,this.currentValue=t,this.firstChange=n}isFirstChange(){return this.firstChange}};function Mc(e,t,n,r){t===null?e[n]=r:t.applyValueToInputSignal(t,r)}var Nc=null,Pc=(()=>{Nc=Ic;let e=()=>Ic;return e.ngInherit=!0,e})();function Fc(){return Nc}function Ic(e){return e.type.prototype.ngOnChanges&&(e.setInput=Rc),Lc}function Lc(){let e=Bc(this),t=e?.current;if(t){let n=e.previous;if(n===Da)e.previous=t;else for(let e in t)n[e]=t[e];e.current=null,this.ngOnChanges(t)}}function Rc(e,t,n,r,i){let a=this.declaredInputs[r],o=Bc(e)||Vc(e,{previous:Da,current:null}),s=o.current||={},c=o.previous,l=c[a];s[a]=new jc(l&&l.currentValue,n,c===Da),Mc(e,t,i,n)}var zc=`__ngSimpleChanges__`;function Bc(e){return Object.hasOwn(e,zc)&&e[zc]||null}function Vc(e,t){return e[zc]=t}var Hc=[],Uc=function(e,t=null,n){for(let r=0;r=r)break}else t[c]<0&&(e[17]+=65536),(s>14>16&&(e[2]&3)===t&&(e[2]+=16384,Xc(o,a)):Xc(o,a)}var Qc=-1,$c=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(e,t,n,r){this.factory=e,this.name=r,this.canSeeViewProviders=t,this.injectImpl=n}};function el(e){return!!(e.flags&8)}function tl(e){return!!(e.flags&16)}function nl(e,t,n){let r=0;for(;rt){o=a-1;break}}}for(;a>16}function ul(e,t){let n=ll(e),r=t;for(;n>0;)r=r[14],n--;return r}var dl=!0;function fl(e){let t=dl;return dl=e,t}var pl=255,ml=5,hl=0,gl={};function _l(e,t,n){let r;typeof n==`string`?r=n.charCodeAt(0)||0:Object.hasOwn(n,Vi)&&(r=n[Vi]),r??=n[Vi]=hl++;let i=r&pl,a=1<>ml)]|=a}function vl(e,t){let n=bl(e,t);if(n!==-1)return n;let r=t[1];r.firstCreatePass&&(e.injectorIndex=t.length,yl(r.data,e),yl(t,null),yl(r.blueprint,null));let i=xl(e,t),a=e.injectorIndex;if(sl(i)){let e=cl(i),n=ul(i,t),r=n[1].data;for(let i=0;i<8;i++)t[a+i]=n[e+i]|r[e+i]}return t[a+8]=i,a}function yl(e,t){e.push(0,0,0,0,0,0,0,0,t)}function bl(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function xl(e,t){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let n=0,r=null,i=t;for(;i!==null;){if(r=Rl(i),r===null)return Qc;if(n++,i=i[14],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return Qc}function Sl(e,t,n){_l(e,t,n)}function Cl(e,t,n){if(n&8||e!==void 0)return e;Qi(t,`NodeInjector`)}function wl(e,t,n,r){if(n&8&&r===void 0&&(r=null),!(n&3)){let i=e[9],a=ra(void 0);try{return i?i.get(t,r,n&8):ia(t,r,n&8)}finally{ra(a)}}return Cl(r,t,n)}function Tl(e,t,n,r=0,i){if(e!==null){if(t[2]&2048&&!(r&2)){let i=Ll(e,t,n,r,gl);if(i!==gl)return i}let i=El(e,t,n,r,gl);if(i!==gl)return i}return wl(t,n,r,i)}function El(e,t,n,r,i){let a=Al(n);if(typeof a==`function`){if(!us(t,e,r))return r&1?Cl(i,n,r):wl(t,n,r,i);try{let e;if(e=a(r),e==null&&!(r&8))Qi(n);else return e}finally{hs()}}else if(typeof a==`number`){let i=null,o=bl(e,t),s=Qc,c=r&1?t[15][5]:null;for((o===-1||r&4)&&(s=o===-1?xl(e,t):t[o+8],s===Qc||!Ml(r,!1)?o=-1:(i=t[1],o=cl(s),t=ul(s,t)));o!==-1;){let e=t[1];if(jl(a,o,e.data)){let e=Dl(o,t,n,i,r,c);if(e!==gl)return e}s=t[o+8],s!==Qc&&Ml(r,t[1].data[o+8]===c)&&jl(a,o,t)?(i=e,o=cl(s),t=ul(s,t)):o=-1}}return i}function Dl(e,t,n,r,i,a){let o=t[1],s=o.data[e+8],c=Ol(s,o,n,r==null?mo(s)&&dl:r!=o&&!!(s.type&3),i&1&&a===s);return c===null?gl:kl(t,o,c,s,i)}function Ol(e,t,n,r,i){let a=e.providerIndexes,o=t.data,s=a&1048575,c=e.directiveStart,l=e.directiveEnd,u=a>>20,d=r?s:s+u,f=i?s+u:l;for(let e=d;e=c&&t.type===n)return e}if(i){let e=o[c];if(e&&go(e)&&e.type===n)return c}return null}function kl(e,t,n,r,i){let a=e[n],o=t.data;if(a instanceof $c){let s=a;if(s.resolving)throw Zi(``);let c=fl(s.canSeeViewProviders);s.resolving=!0,o[n].type||o[n];let l=s.injectImpl?ra(s.injectImpl):null;us(e,r,0);try{a=e[n]=s.factory(void 0,i,o,e,r),t.firstCreatePass&&n>=r.directiveStart&&Wc(n,o[n],t)}finally{l!==null&&ra(l),fl(c),s.resolving=!1,hs()}}return a}function Al(e){if(typeof e==`string`)return e.charCodeAt(0)||0;let t=Object.hasOwn(e,Vi)?e[Vi]:void 0;return typeof t==`number`?t>=0?t&pl:Pl:t}function jl(e,t,n){let r=1<>ml)]&r)}function Ml(e,t){return!(e&2)&&!(e&1&&t)}var Nl=class{_tNode;_lView;constructor(e,t){this._tNode=e,this._lView=t}get(e,t,n){return Tl(this._tNode,this._lView,e,da(n),t)}};function Pl(){return new Nl(Jo(),Ko())}function Fl(e){return kc(()=>{let t=e.prototype.constructor,n=t[Bi]||Il(t),r=Object.prototype,i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==r;){let e=i[Bi]||Il(i);if(e&&e!==n)return e;i=Object.getPrototypeOf(i)}return e=>new e})}function Il(e){return Di(e)?()=>{let t=Il(Ei(e));return t&&t()}:ha(e)}function Ll(e,t,n,r,i){let a=e,o=t;for(;a!==null&&o!==null&&o[2]&2048&&!_o(o);){let e=El(a,o,n,r|2,gl);if(e!==gl)return e;r&=-5;let t=a.parent;if(!t){let e=o[20];if(e){let t=e.get(n,gl,r);if(t!==gl)return t}t=Rl(o),o=o[14]}a=t}return i}function Rl(e){let t=e[1],n=t.type;return n===2?t.declTNode:n===1?e[5]:null}function zl(e){return{token:e.token,providedIn:e.autoProvided===!1?null:`root`,factory:e.factory,value:void 0}}function Bl(){return Vl(Jo(),Ko())}function Vl(e,t){return new Hl(Co(e,t))}var Hl=(()=>{class e{nativeElement;constructor(e){this.nativeElement=e}static __NG_ELEMENT_ID__=Bl}return e})();function Ul(e){return e instanceof Hl?e.nativeElement:e}function Wl(){return this._results[Symbol.iterator]()}var Gl=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new Jr}constructor(e=!1){this._emitDistinctChangesOnly=e}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){this.dirty=!1;let n=_a(e);(this._changesDetected=!ga(this._results,n,t))&&(this._results=n,this.length=n.length,this.last=n[this.length-1],this.first=n[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(e){this._onDirty=e}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=Wl};function Kl(e){return(e.flags&128)==128}var ql=(function(e){return e[e.OnPush=0]=`OnPush`,e[e.Eager=1]=`Eager`,e[e.Default=1]=`Default`,e})(ql||{}),Jl=new Map,Yl=0;function Xl(){return Yl++}function Zl(e){Jl.set(e[19],e)}function Ql(e){Jl.delete(e[19])}var $l=`__ngContext__`;function eu(e,t){uo(t)?(e[$l]=t[19],Zl(t)):e[$l]=t}function tu(e){return ru(e[12])}function nu(e){return ru(e[4])}function ru(e){for(;e!==null&&!fo(e);)e=e[4];return e}var iu=void 0;function au(e){iu=e}function ou(){if(iu!==void 0)return iu;if(typeof document<`u`)return document;throw new _i(210,!1)}var su=!1,cu=new Fi(``,{factory:()=>su}),lu=new WeakMap;function uu(e,t){if(typeof e!=`object`||!e)return;let n=lu.get(e);n||(n=new WeakSet,lu.set(e,n)),n.add(t)}function du(e){return(e.flags&32)==32}var fu=()=>null;function pu(e,t,n=!1){return fu(e,t,n)}function mu(e,t){let n=e.contentQueries;if(n!==null){let r=nn(null);try{for(let r=0;r|^->||--!>|)/g,Jee=`​$1​`;function Yee(e){return e.replace(Kee,e=>e.replace(qee,Jee))}function Xee(e,t){return e.createText(t)}function Zee(e,t,n){e.setValue(t,n)}function Qee(e,t){return e.createComment(Yee(t))}function wu(e,t,n){return e.createElement(t,n)}function Tu(e,t,n,r,i){e.insertBefore(t,n,r,i)}function Eu(e,t,n){e.appendChild(t,n)}function Du(e,t,n,r,i){r===null?Eu(e,t,n):Tu(e,t,n,r,i)}function Ou(e,t,n,r){e.removeChild(null,t,n,r)}function $ee(e,t,n){e.setAttribute(t,`style`,n)}function ete(e,t,n){n===``?e.removeAttribute(t,`class`):e.setAttribute(t,`class`,n)}function ku(e,t,n){let{mergedAttrs:r,classes:i,styles:a}=n;r!==null&&nl(e,t,r),i!==null&&ete(e,t,i),a!==null&&$ee(e,t,a)}function Au(e){let t=tte();return t?t.sanitize(yo.URL,e)||``:bu(e,`URL`)?yu(e):Cu(qi(e))}function tte(){let e=Ko();return e&&e[10].sanitizer}function ju(e){return e.ownerDocument.defaultView}function Mu(e){return e.ownerDocument}function nte(e,t,n){let r=e.length;for(;;){let i=e.indexOf(t,n);if(i===-1)return i;if(i===0||e.charCodeAt(i-1)<=32){let n=t.length;if(i+n===r||e.charCodeAt(i+n)<=32)return i}n=i+1}}var Nu=`ng-template`;function rte(e,t,n,r){let i=0;if(r){for(;i-1){let e;for(;++ia?``:i[u+1].toLowerCase(),r&2&&l!==e){if(Fu(r))return!1;o=!0}}}}}return Fu(r)||o}function Fu(e){return!(e&1)}function ote(e,t,n,r){if(t===null)return-1;let i=0;if(r||!n){let n=!1;for(;i-1)for(n++;n0?`="`+t+`"`:``)+`]`}else r&8?i+=`.`+o:r&4&&(i+=` `+o)}else i!==``&&!Fu(o)&&(t+=Lu(a,i),i=``),r=o,a||=!Fu(r);n++}return i!==``&&(t+=Lu(a,i)),t}function fte(e){return e.map(dte).join(`,`)}function pte(e){let t=[],n=[],r=1,i=2;for(;r!1});function Vu(e){if(!e)return 0;let t=e.toLowerCase().indexOf(`ms`)>-1?1:1e3;return parseFloat(e)*t}function Hu(e,t){return e.getPropertyValue(t).split(`,`).map(e=>e.trim())}function gte(e){let t=Hu(e,`transition-property`),n=Hu(e,`transition-duration`),r=Hu(e,`transition-delay`),i={propertyName:``,duration:0,animationName:void 0};for(let e=0;ei.duration&&(i.propertyName=t[e],i.duration=a)}return i}function _te(e){let t=Hu(e,`animation-name`),n=Hu(e,`animation-delay`),r=Hu(e,`animation-duration`),i=Hu(e,`animation-iteration-count`),a={animationName:``,propertyName:void 0,duration:0};for(let e=0;ea.duration&&s!==`infinite`&&(a.animationName=t[e],a.duration=o)}return a}function Uu(e,t){return e!==void 0&&e.duration>t.duration}function Wu(e){return(e.animationName!=null||e.propertyName!=null)&&e.duration>0}function Gu(e){let t=e.effect?.getTiming();if(t===void 0)return;let n=typeof t.duration==`number`?t.duration:0,r=(t.delay??0)+n,i=e.playbackRate;return i!==void 0&&i!==0&&i!==1&&(r/=Math.abs(i)),r}function vte(e,t){let n=getComputedStyle(e),r=_te(n),i=gte(n),a=r.duration>i.duration?r:i;Uu(t.get(e),a)||Wu(a)&&t.set(e,a)}function yte(e,t,n){if(!n)return;let r=e.getAnimations();return r.length===0?vte(e,t):bte(e,t,r)}function bte(e,t,n){let r={animationName:void 0,propertyName:void 0,duration:0};for(let e of n){if(e.effect?.getTiming()?.iterations===1/0)continue;let t=Gu(e)??0,n,i;e.animationName?i=e.animationName:n=e.transitionProperty,t>=r.duration&&(r={animationName:i,propertyName:n,duration:t})}Uu(t.get(e),r)||Wu(r)&&t.set(e,r)}var Ku=new Set,xte=!1,Ste=1,qu=typeof document<`u`&&typeof document?.documentElement?.getAnimations==`function`;function Cte(e){return e[9].get(hte,xte)}function wte(e,t,n){let r=Yu.get(e);if(r){for(let e of t)r.classList.push(e);for(let e of n)r.cleanupFns.push(e)}else Yu.set(e,{classList:t,cleanupFns:n})}function Ju(e){let t=Yu.get(e);if(t){for(let e of t.cleanupFns)e();Yu.delete(e)}Xu.delete(e)}var Yu=new WeakMap,Xu=new WeakMap,Zu=new WeakMap;function Qu(e){return e?e[14]??e:null}var $u=new WeakSet;function Tte(e,t,n){let r=Zu.get(e);if(!r||r.length===0)return;let i=t.parentNode,a=t.previousSibling,o=Qu(n);for(let e=r.length-1;e>=0;e--){let{el:n,declarationView:s}=r[e],c=n.parentNode;n===t?(r.splice(e,1),$u.add(n),n.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}}))):(a&&n===a||c&&i&&c!==i&&(o===null||s===null||o===s))&&(r.splice(e,1),n.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}})),n.parentNode?.removeChild(n))}}function Ete(e,t,n){let r=Qu(n),i=Zu.get(e);i?i.some(e=>e.el===t)||i.push({el:t,declarationView:r}):Zu.set(e,[{el:t,declarationView:r}])}function ed(e){let t=e[26]??={};return t.enter??=new Map}function Dte(e){let t=typeof e==`function`?e():e,n=Array.isArray(t)?t:null;return typeof t==`string`&&(n=t.trim().split(/\s+/).filter(e=>e)),n}function td(e){return e.composedPath?e.composedPath()[0]:e.target}function nd(e,t){let n=Xu.get(t);if(n===void 0)return!0;if(t!==td(e))return!1;let r=e.animation;if(r){let e=Gu(r);if(e!==void 0&&e+Ste{class e{impl=null;execute(){this.impl?.execute()}static ɵprov=Oi({token:e,providedIn:`root`,factory:()=>new e})}return e})(),cd=[0,1,2,3],ld=(()=>{class e{ngZone=C(Us);scheduler=C(fc);errorHandler=C(tc,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){C(id,{optional:!0})}execute(){let e=this.sequences.size>0;e&&Uc(Ac.AfterRenderHooksStart),this.executing=!0;for(let e of cd)for(let t of this.sequences)if(!t.erroredOrDestroyed&&t.hooks[e])try{t.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let n=t.hooks[e];return n(t.pipelinedValue)},t.snapshot))}catch(e){t.erroredOrDestroyed=!0,this.errorHandler?.handleError(e)}this.executing=!1;for(let e of this.sequences)e.afterRun(),e.once&&(this.sequences.delete(e),e.destroy());for(let e of this.deferredRegistrations)this.sequences.add(e);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),e&&Uc(Ac.AfterRenderHooksEnd)}register(e){let{view:t}=e;t===void 0?this.executing?this.deferredRegistrations.add(e):this.addSequence(e):((t[25]??=[]).push(e),Po(t),t[2]|=8192)}addSequence(e){this.sequences.add(e),this.scheduler.notify(7)}unregister(e){this.executing&&this.sequences.has(e)?(e.erroredOrDestroyed=!0,e.pipelinedValue=void 0,e.once=!0):(this.sequences.delete(e),this.deferredRegistrations.delete(e))}maybeTrace(e,t){return t?t.run(rd.AFTER_NEXT_RENDER,e):e()}static ɵprov=Oi({token:e,providedIn:`root`,factory:()=>new e})}return e})(),ud=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(e,t,n,r,i,a=null){this.impl=e,this.hooks=t,this.view=n,this.once=r,this.snapshot=a,this.unregisterOnDestroy=i?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();let e=this.view?.[25];e&&(this.view[25]=e.filter(e=>e!==this))}};function dd(e,t){let n=t?.injector??C(ks);return od(`NgAfterNextRender`),Ate(e,n,t,!0)}function kte(e){return e instanceof Function?[void 0,void 0,e,void 0]:[e.earlyRead,e.write,e.mixedReadWrite,e.read]}function Ate(e,t,n,r){let i=t.get(sd);i.impl??=t.get(ld);let a=t.get(id,null,{optional:!0}),o=n?.manualCleanup===!0?null:t.get(js),s=t.get(uc,null,{optional:!0}),c=new ud(i.impl,kte(e),s?.view,r,o,a?.snapshot(null));return i.impl.register(c),c}var fd=new Fi(``,{factory:()=>{let e=C(Ya),t=new Set;return e.onDestroy(()=>t.clear()),{queue:t,isScheduled:!1,scheduler:null,injector:e}}});function pd(e,t,n){let r=e.get(fd);if(Array.isArray(t))for(let e of t)r.queue.add(e),n?.detachedLeaveAnimationFns?.push(e);else r.queue.add(t),n?.detachedLeaveAnimationFns?.push(t);r.scheduler&&r.scheduler(e)}function jte(e,t){let n=e.get(fd);if(Array.isArray(t))for(let e of t)n.queue.delete(e);else n.queue.delete(t)}function Mte(e,t){let n=e.get(fd);if(t.detachedLeaveAnimationFns){for(let e of t.detachedLeaveAnimationFns)n.queue.delete(e);t.detachedLeaveAnimationFns=void 0}}function Nte(e){let t=e.get(fd);t.isScheduled||=(dd(()=>{t.isScheduled=!1;for(let e of t.queue)e();t.queue.clear()},{injector:t.injector}),!0)}function Pte(e){let t=e.get(fd);t.scheduler=Nte,t.scheduler(e)}function md(e,t){for(let[n,r]of t)pd(e,r.animateFns)}function hd(e,t,n,r){let i=e?.[26]?.enter;t!==null&&i&&i.has(n.index)&&md(r,i)}function gd(e,t,n,r){try{n.get(Aa)}catch{return r(!1)}let i=e?.[26];i?.enter?.has(t.index)&&jte(n,i.enter.get(t.index).animateFns);let a=_d(e,t,i);if(a.size===0){let n=!1;if(e){let r=[];yd(e,t,r),n=r.length>0}if(!n)return r(!1)}e&&Ku.add(e[19]),pd(n,()=>vd(e,t,i||void 0,a,r),i||void 0)}function _d(e,t,n){let r=new Map,i=n?.leave;if(i&&i.has(t.index)&&r.set(t.index,i.get(t.index)),e&&i)for(let[n,a]of i){if(r.has(n))continue;let i=e[1].data[n].parent;for(;i;){if(i===t){r.set(n,a);break}i=i.parent}}return r}function vd(e,t,n,r,i){let a=[];if(n&&n.leave)for(let[e]of r){if(!n.leave.has(e))continue;let t=n.leave.get(e);for(let e of t.animateFns){let{promise:t}=e();a.push(t)}n.detachedLeaveAnimationFns=void 0}if(e&&yd(e,t,a),a.length>0){let t=n||e?.[26];if(t){let n=t.running;n&&a.push(n),t.running=Promise.allSettled(a),xd(e,t.running,i)}else Promise.allSettled(a).then(()=>{e&&Ku.delete(e[19]),i(!0)})}else e&&Ku.delete(e[19]),i(!1)}function yd(e,t,n){if(t.type&12){let r=e[t.index];if(fo(r))for(let e=10;e{e[26]?.running===t&&(e[26].running=void 0,Ku.delete(e[19])),n(!0)})}function Sd(e,t,n,r,i,a,o,s){if(i!=null){let c,l=!1;fo(i)?c=i:uo(i)&&(l=!0,i=i[0]);let u=xo(i);e===0&&r!==null?(hd(s,r,a,n),o==null?Eu(t,r,u):Tu(t,r,u,o||null,!0)):e===1&&r!==null?(hd(s,r,a,n),Tu(t,r,u,o||null,!0),Tte(a,u,s)):e===2?(s?.[26]?.leave?.has(a.index)&&Ete(a,u,s),$u.delete(u),gd(s,a,n,e=>{if($u.has(u)){$u.delete(u);return}Ou(t,u,l,e)})):e===3&&($u.delete(u),gd(s,a,n,()=>{t.destroyNode(u)})),c!=null&&Kd(t,e,n,c,a,r,o)}}function Cd(e,t){Td(e,t),t[0]=null,t[5]=null}function wd(e,t,n,r,i,a){r[0]=i,r[5]=t,Hd(e,r,n,1,i,a)}function Td(e,t){t[10].changeDetectionScheduler?.notify(9),Hd(e,t,t[11],2,null,null)}function Ed(e){let t=e[12];if(!t)return kd(e[1],e);for(;t;){let n=null;if(uo(t))n=t[12];else{let e=t[10];e&&(n=e)}if(!n){for(;t&&!t[4]&&t!==e;)uo(t)&&kd(t[1],t),t=t[3];t===null&&(t=e),uo(t)&&kd(t[1],t),n=t&&t[4]}t=n}}function Dd(e,t){let n=e[9],r=n.indexOf(t);n.splice(r,1)}function Od(e,t){if(vo(t))return;let n=t[11];n.destroyNode&&Hd(e,t,n,3,null,null),Ed(t)}function kd(e,t){if(vo(t))return;let n=nn(null);try{t[2]&=-129,t[2]|=256,t[24]&&vn(t[24]),jd(e,t),Ad(e,t),t[1].type===1&&t[11].destroy();let n=t[16];if(n!==null&&fo(t[3])){n!==t[3]&&Dd(n,t);let r=t[18];r!==null&&r.detachView(e)}Ql(t)}finally{nn(n)}}function Ad(e,t){let n=e.cleanup,r=t[7];if(n!==null)for(let e=0;e=0?r[t]():r[-t].unsubscribe(),e+=2}else{let t=r[n[e+1]];n[e].call(t)}r!==null&&(t[7]=null);let i=t[21];if(i!==null){t[21]=null;for(let e=0;e27&&nf(e,t,27,!1),Uc(o?Ac.TemplateUpdateStart:Ac.TemplateCreateStart,i,n),n(r,i)}finally{ys(a),Uc(o?Ac.TemplateUpdateEnd:Ac.TemplateCreateEnd,i,n)}}function sf(e,t,n){mf(e,t,n),(n.flags&64)==64&&hf(e,t,n)}function cf(e,t,n=Co){let r=t.localNames;if(r!==null){let i=t.index+1;for(let a=0;a=s&&i<=c){let o=t.data[i],s=r[e+1];af(o,n[i],s,a),l=!0}else if(i>c)break}}return o!==null&&Object.hasOwn(r.inputs,i)&&(af(r,n[o],i,a),l=!0),l}function Ef(e,t){let n=Do(t,e),r=n[1];Df(r,n);let i=n[0];i!==null&&n[6]===null&&(n[6]=pu(i,n[9])),Uc(Ac.ComponentStart);try{Of(r,n,n[8])}finally{Uc(Ac.ComponentEnd,n[8])}}function Df(e,t){for(let n=t.length;n{Po(e.lView)},consumerOnSignalRead(){this.lView[24]=this}};function Bf(e){let t=e[24]??Object.create(Vf);return t.lView=e,t}var Vf={...an,consumerIsAlwaysLive:!0,kind:`template`,consumerMarkedDirty:e=>{let t=Io(e.lView);for(;t&&!Hf(t[1]);)t=Io(t);t&&jo(t)},consumerOnSignalRead(){this.lView[24]=this}};function Hf(e){return e.type!==2}function Uf(e){if(e[23]===null)return;let t=!0;for(;t;){let n=!1;for(let t of e[23])if(t.dirty&&(n=!0,t.zone===null||Zone.current===t.zone?t.run():t.zone.run(()=>t.run()),e[23]===null))return;t=n&&!!(e[2]&8192)}}var Wf=100;function Gf(e,t=0){let n=e[10].rendererFactory;n.begin?.();try{Kf(e,t)}finally{n.end?.()}}function Kf(e,t){let n=es();try{ts(!0),Qf(e,t);let n=0;for(;Mo(e);){if(n===Wf)throw new _i(103,!1);n++,Qf(e,1)}}finally{ts(n)}}function qf(e,t,n,r){if(vo(t))return;let i=t[2];ds(t);let a=!0,o=null,s=null;Hf(e)?(s=If(t),o=pn(s)):rn()===null?(a=!1,s=Bf(t),o=pn(s)):t[24]&&=(vn(t[24]),null);try{Ao(t),Vee(e.bindingStartIndex),n!==null&&of(e,t,n,2,r);let a=(i&3)==3;if(a){let n=e.preOrderCheckHooks;n!==null&&Kc(t,n,null)}else{let n=e.preOrderHooks;n!==null&&qc(t,n,0,null),Jc(t,0)}if(Yf(t),Uf(t),Jf(t,0),e.contentQueries!==null&&mu(e,t),a){let n=e.contentCheckHooks;n!==null&&Kc(t,n)}else{let n=e.contentHooks;n!==null&&qc(t,n,1),Jc(t,1)}ep(e,t);let o=e.components;o!==null&&$f(t,o,0);let s=e.viewQuery;if(s!==null&&hu(2,s,r),a){let n=e.viewCheckHooks;n!==null&&Kc(t,n)}else{let n=e.viewHooks;n!==null&&qc(t,n,2),Jc(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[22]){for(let e of t[22])e();t[22]=null}Pf(t),t[2]&=-73}catch(e){throw Po(t),e}finally{s!==null&&(hn(s,o),a&&Rf(s)),gs()}}function Jf(e,t){for(let n=tu(e);n!==null;n=nu(n))for(let e=10;e0&&(e[n-1][4]=r[4]);let a=ba(e,10+t);Cd(r[1],r);let o=a[18];o!==null&&o.detachView(a[1]),r[3]=null,r[4]=null,r[2]&=-129}return r}function sp(e,t,n,r){let i=10+r,a=n.length;r>0&&(n[i-1][4]=t),r-1&&(op(e,n),ba(t,n))}this._attachedToViewContainer=!1}Od(this._lView[1],this._lView)}onDestroy(e){Fo(this._lView,e)}markForCheck(){tp(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[2]&=-129}reattach(){No(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,Gf(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new _i(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=_o(this._lView),t=this._lView[16];t!==null&&!e&&Dd(t,this._lView),Td(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new _i(902,!1);this._appRef=e;let t=_o(this._lView),n=this._lView[16];n!==null&&!t&&cp(n,this._lView),No(this._lView)}},up=(()=>{class e{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=dp;constructor(e,t,n){this._declarationLView=e,this._declarationTContainer=t,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(e,t){return this.createEmbeddedViewImpl(e,t)}createEmbeddedViewImpl(e,t,n){return new lp(Af(this._declarationLView,this._declarationTContainer,e,{embeddedViewInjector:t,dehydratedView:n}))}}return e})();function dp(){return fp(Jo(),Ko())}function fp(e,t){return e.type&4?new up(t,e,Vl(e,t)):null}function pp(e,t,n,r,i){let a=e.data[t];if(a===null)a=mp(e,t,n,r,i),Hee()&&(a.flags|=32);else if(a.type&64){a.type=n,a.value=r,a.attrs=i;let e=Bee();a.injectorIndex=e===null?-1:e.injectorIndex}return Xo(a,!0),a}function mp(e,t,n,r,i){let a=Yo(),o=Zo(),s=o?a:a&&a.parent,c=e.data[t]=gp(e,s,n,t,r,i);return hp(e,c,a,o),c}function hp(e,t,n,r){e.firstChild===null&&(e.firstChild=t),n!==null&&(r?n.child==null&&t.parent!==null&&(n.child=t):n.next===null&&(n.next=t,t.prev=n))}function gp(e,t,n,r,i,a){let o=t?t.injectorIndex:-1,s=0;return Uo()&&(s|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,controlDirectiveIndex:-1,customControlIndex:-1,propertyBindings:null,flags:s,providerIndexes:0,value:i,namespace:Cs(),attrs:a,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function _p(e){let t=e[6]??[],n=e[3][11],r=[];for(let e of t)e.data.di===void 0?vp(e,n):r.push(e);e[6]=r}function vp(e,t){let n=0,r=e.firstChild;if(r){let i=e.data.r;for(;nnull,bp=()=>null;function xp(e,t){return yp(e,t)}function Sp(e,t,n){return bp(e,t,n)}var Cp=class{},wp=class{},Tp=class{destroyNode=null;static __NG_ELEMENT_ID__=()=>Ep()};function Ep(){let e=Ko(),t=Do(Jo().index,e);return(uo(t)?t:e)[11]}var Dp=(()=>{class e{static ɵprov=Oi({token:e,providedIn:`root`,factory:()=>null})}return e})();function Op(e){return e.debugInfo?.className||e.type.name||null}var kp={},Ap=class{injector;parentInjector;constructor(e,t){this.injector=e,this.parentInjector=t}get(e,t,n){let r=this.injector.get(e,kp,n);return r!==kp||t===kp?r:this.parentInjector.get(e,t,n)}};function jp(e,t,n){return e[t]=n}function Mp(e,t){return e[t]}function Np(e,t,n){if(n===Ru)return!1;let r=e[t];return!Object.is(r,n)&&(e[t]=n,!0)}function Pp(e,t,n,r){let i=Np(e,t,n);return Np(e,t+1,r)||i}function Fp(e,t,n,r,i){let a=Pp(e,t,n,r);return Np(e,t+2,i)||a}function Ip(e,t,n,r,i,a){let o=Pp(e,t,n,r);return Pp(e,t+2,i,a)||o}function Lp(e,t,n){return function r(i){let a=r.__ngNativeEl__;a!==void 0&&uu(i,a),tp(mo(e)?Do(e.index,t):t,5);let o=t[8],s=Rp(t,o,n,i),c=r.__ngNextListenerFn__;for(;c;)s=Rp(t,o,c,i)&&s,c=c.__ngNextListenerFn__;return s}}function Rp(e,t,n,r){let i=nn(null);try{return Uc(Ac.OutputStart,t,n),n(r)!==!1}catch(t){return Cf(e,t),!1}finally{Uc(Ac.OutputEnd,t,n),nn(i)}}function zp(e,t,n,r,i,a,o,s){let c=ho(e),l=!1,u=null;if(!r&&c&&(u=Vp(t,n,a,e.index)),u!==null){let e=u.__ngLastListenerFn__||u;e.__ngNextListenerFn__=o,u.__ngLastListenerFn__=o,l=!0}else{let o=Co(e,n),c=r?r(o):o;r||(s.__ngNativeEl__=o);let l=i.listen(c,a,s);Bp(a)||Hp(r?t=>r(xo(t[e.index])):e.index,t,n,a,s,l,!1)}return l}function Bp(e){return e.startsWith(`animation`)||e.startsWith(`transition`)}function Vp(e,t,n,r){let i=e.cleanup;if(i!=null)for(let e=0;er?n[r]:null}typeof a==`string`&&(e+=2)}return null}function Hp(e,t,n,r,i,a,o){let s=t.firstCreatePass?Ro(t):null,c=Lo(n),l=c.length;c.push(i,a),s&&s.push(r,e,l,(l+1)*(o?-1:1))}function Up(e,t,n,r,i){let a=null,o=null,s=null,c=!1,l=e.directiveToIndex.get(n.type);if(typeof l==`number`?a=l:[a,o,s]=l,o!==null&&s!==null&&e.hostDirectiveOutputs&&Object.hasOwn(e.hostDirectiveOutputs,r)){let n=e.hostDirectiveOutputs[r];for(let a=0;a=o&&l<=s)c=!0,Wp(e,t,l,n[a+1],r,i);else if(l>s)break}}return Object.hasOwn(n.outputs,r)&&(c=!0,Wp(e,t,a,r,r,i)),c}function Wp(e,t,n,r,i,a){let o=t[n],s=t[1],c=o[s.data[n].outputs[r]].subscribe(a);Hp(e.index,s,t,i,a,c,!0)}function Gp(){Kp()}function Kp(){let e=Ko(),t=qo(),n=Jo();if(t.firstCreatePass&&Qp(t,n),n.controlDirectiveIndex===-1)return;od(`NgSignalForms`);let r=e[n.controlDirectiveIndex];t.data[n.controlDirectiveIndex].controlDef.create(r,new Yp(e,t,n))}function qp(){Jp()}function Jp(){let e=Ko(),t=qo(),n=bs();if(n.controlDirectiveIndex===-1)return;let r=t.data[n.controlDirectiveIndex].controlDef,i=e[n.controlDirectiveIndex];r.update(i,new Yp(e,t,n))}var Yp=class{lView;tView;tNode;hasPassThrough;constructor(e,t,n){this.lView=e,this.tView=t,this.tNode=n,this.hasPassThrough=!!(n.flags&4096)}get customControl(){return this.tNode.customControlIndex===-1?void 0:this.lView[this.tNode.customControlIndex]}get nativeElement(){return Co(this.tNode,this.lView)}get descriptor(){return`<${this.tNode.value}>`}listenToCustomControlOutput(e,t){let n=this.tView.data[this.tNode.customControlIndex];Up(this.tNode,this.lView,n,e,Lp(this.tNode,this.lView,t))}listenToCustomControlModel(e){let t=this.tNode.flags&1024?`valueChange`:`checkedChange`,n=this.tView.data[this.tNode.customControlIndex];Up(this.tNode,this.lView,n,t,Lp(this.tNode,this.lView,e))}listenToDom(e,t){zp(this.tNode,this.tView,this.lView,void 0,this.lView[11],e,t,Lp(this.tNode,this.lView,t))}setInputOnDirectives(e,t,n){let r=this.tNode.inputs?.[e],i=this.tNode.hostDirectiveInputs?.[e];if(!r&&!i)return!1;let a=!1;if(r)for(let i of r){if(i===this.tNode.controlDirectiveIndex)continue;let r=this.lView[i],o=this.tView.data[i];(!n||n(Zp(r,o,e)))&&(af(o,r,e,t),a=!0)}if(i)for(let r=0;r0;){let e=n.shift();if(typeof e!=`function`){for(let n in e.inputs)t[e.inputs[n]]=!0;let r=Xp(e.directive);r!==null&&n.push(...r);continue}for(let r of e()){if(typeof r==`function`)continue;if(r.inputs)for(let e=0;e1){t.flags|=4096;return}$p(e,t)}function $p(e,t){for(let n=t.directiveStart;n{let r=t.hostDirectiveInputs[e],i=t.hostDirectiveOutputs[e+`Change`];if(!r||!i)return!1;for(let e=0;e=i&&a<=o)return t.flags|=n,t.customControlIndex=r,!0}}return!1};if(e(`value`,1024)||e(`checked`,2048))return}}function em(e,t){return tm(e,t)&&nm(e,t+`Change`)}function tm(e,t){return t in e.inputs}function nm(e,t){return t in e.outputs}var rm=Symbol(`BINDING`),im=new Fi(``);function am(e,t,n){let r=n?e.styles:null,i=n?e.classes:null,a=0;if(t!==null)for(let e=0;e0&&(n.directiveToIndex=new Map);for(let c=0;c0;){let n=e[--t];if(typeof n==`number`&&n<0)return n}return 0}function ym(e,t,n){if(n){if(t.exportAs)for(let r=0;r{let[n,r,i]=e[t],a={propName:n,templateName:t,isSignal:(r&rf.SignalBased)!==0};return i&&(a.transform=i),a})}function Dm(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function Om(e,t,n){let r=t instanceof Ya?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new Ap(n,r):n}function km(e){let t=e.get(wp,null);if(t===null)throw new _i(407,!1);return{rendererFactory:t,sanitizer:e.get(Dp,null),changeDetectionScheduler:e.get(fc,null),ngReflect:!1,tracingService:e.get(id,null,{optional:!0})}}function Am(e,t,n){let r=Mm(e);return wu(t,r,r===`svg`?`svg`:r===`math`?bo:n)}function jm(e){if((e&&`localName`in e&&typeof e.localName==`string`?e.localName:e?.tagName)?.toLowerCase()===`script`)throw new _i(905,!1)}function Mm(e){return(e.selectors[0][0]||`div`).toLowerCase()}var Nm=class{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=Em(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=Dm(this.componentDef.outputs),this.cachedOutputs}constructor(e,t){this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=fte(e.selectors),this.ngContentSelectors=e.ngContentSelectors??[],this.isBoundToModule=!!t}create(e,t,n,r,i,a,o){Uc(Ac.DynamicComponentStart);let s=nn(null);try{let s=this.componentDef,c=Om(s,r||this.ngModule,e),l=km(c),u=l.tracingService;return u&&u.componentCreate?u.componentCreate(Op(s),()=>this.createComponentRef(l,c,t,n,i,a,o)):this.createComponentRef(l,c,t,n,i,a,o)}finally{nn(s)}}createComponentRef(e,t,n,r,i,a,o){let s=this.componentDef,c=Pm(r,s,a,i),l=e.rendererFactory.createRenderer(null,s),u=r?lf(l,r,s.encapsulation,t):Am(s,l,o??null);jm(u);let d=t.get(im,null),f=Fm(u,()=>t.get(As,null)??ou());d&&d.addHost(f);let p=a?.some(Lm)||i?.some(e=>typeof e!=`function`&&e.bindings.some(Lm)),m=Zd(null,c,null,512|$d(s),null,null,e,l,t,null,pu(u,t,!0));d&&wm&&f instanceof ShadowRoot&&Fo(m,()=>{d.removeHost(f)}),m[27]=u,ds(m);let h=null;try{let e=xm(27,m,2,`#host`,()=>c.directiveRegistry,!0,0);ku(l,u,e),eu(u,m),sf(c,m,e),gu(c,e,m),Sm(c,e),n!==void 0&&zm(e,this.ngContentSelectors,n),h=Do(e.index,m),m[8]=h[8],Of(c,m,null)}catch(e){throw h!==null&&Ql(h),Ql(m),e}finally{Uc(Ac.DynamicComponentEnd),gs()}return new Rm(this.componentType,m,!!p)}};function Pm(e,t,n,r){let i=e?[`ng-version`,`22.1.7`]:pte(t.selectors[0]),a=null,o=null,s=0;if(n)for(let e of n)s+=e[rm].requiredVars,e.create&&(e.targetIdx=0,(a??=[]).push(e)),e.update&&(e.targetIdx=0,(o??=[]).push(e));if(r)for(let e=0;e{if(n&1&&e)for(let t of e)t.create();if(n&2&&t)for(let e of t)e.update()}}function Lm(e){let t=e[rm].kind;return t===`input`||t===`twoWay`}var Rm=class extends Cp{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(e,t,n){super(),this._rootLView=t,this._hasInputBindings=n,this._tNode=wo(t[1],27),this.location=Vl(this._tNode,t),this.instance=Do(this._tNode.index,t)[8],this.hostView=this.changeDetectorRef=new lp(t,void 0),this.componentType=e}setInput(e,t){this._hasInputBindings;let n=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(e)&&Object.is(this.previousInputValues.get(e),t))return;let r=this._rootLView;wf(n,r[1],r,e,t),this.previousInputValues.set(e,t),tp(Do(n.index,r),1)}get injector(){return new Nl(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}};function zm(e,t,n){let r=e.projection=[];for(let e=0;e{class e{static __NG_ELEMENT_ID__=Vm}return e})();function Vm(){return Gm(Jo(),Ko())}var Hm=class e extends Bm{_lContainer;_hostTNode;_hostLView;constructor(e,t,n){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=n}get element(){return Vl(this._hostTNode,this._hostLView)}get injector(){return new Nl(this._hostTNode,this._hostLView)}get parentInjector(){let e=xl(this._hostTNode,this._hostLView);if(sl(e)){let t=ul(e,this._hostLView),n=cl(e),r=t[1].data[n+8];return new Nl(r,t)}return new Nl(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){let t=Um(this._lContainer);return t!==null&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,n){let r,i;typeof n==`number`?r=n:n!=null&&(r=n.index,i=n.injector);let a=xp(this._lContainer,e.ssrId),o=e.createEmbeddedViewImpl(t||{},i,a);return this.insertImpl(o,r,jf(this._hostTNode,a)),o}createComponent(e,t,n,r,i,a,o){let s,c=t||{};s=c.index,n=c.injector,r=c.projectableNodes,i=c.environmentInjector||c.ngModuleRef,a=c.directives,o=c.bindings;let l=new Nm(Ui(e)),u=n||this.parentInjector;if(!i&&l.ngModule==null){let e=this.parentInjector.get(Ya,null);e&&(i=e)}let d=Ui(l.componentType??{}),f=xp(this._lContainer,d?.id??null),p=f?.firstChild??null,m=l.create(u,r,p,i,a,o,this._getHostElementNamespace());return this.insertImpl(m.hostView,s,jf(this._hostTNode,f)),m}_getHostElementNamespace(){if(this._hostTNode.type&2){let e=this._hostTNode.parent??this._hostLView[5];return e!==null&&e.type&2&&typeof e.value==`string`&&e.value.toLowerCase()===`foreignobject`?null:e?.namespace??null}return this._hostTNode.namespace}insert(e,t){return this.insertImpl(e,t,!0)}insertImpl(t,n,r){let i=t._lView;if(Pee(i)){let n=this.indexOf(t);if(n!==-1)this.detach(n);else{let n=i[3],r=new e(n,n[5],n[3]);r.detach(r.indexOf(t))}}let a=this._adjustIndex(n),o=this._lContainer;return ip(o,i,a,r),t.attachToViewContainerRef(),ya(Wm(o),a,t),t}move(e,t){return this.insert(e,t)}indexOf(e){let t=Um(this._lContainer);return t===null?-1:t.indexOf(e)}remove(e){let t=this._adjustIndex(e,-1),n=op(this._lContainer,t);n&&(ba(Wm(this._lContainer),t),Od(n[1],n))}detach(e){let t=this._adjustIndex(e,-1),n=op(this._lContainer,t);return n&&ba(Wm(this._lContainer),t)!=null?new lp(n):null}_adjustIndex(e,t=0){return e??this.length+t}};function Um(e){return e[8]}function Wm(e){return e[8]||=[]}function Gm(e,t){let n,r=t[e.index];return fo(r)?n=r:(n=np(r,t,null,e),t[e.index]=n,tf(t,n)),qm(n,t,e,r),new Hm(n,e,t)}function Km(e,t){let n=e[11],r=n.createComment(``),i=Co(t,e);return Tu(n,n.parentNode(i),r,n.nextSibling(i),!1),r}var qm=Xm,Jm=()=>!1;function Ym(e,t,n){return Jm(e,t,n)}function Xm(e,t,n,r){if(e[7])return;let i;i=n.type&8?xo(r):Km(t,n),e[7]=i}var Zm=class e{queryList;matches=null;constructor(e){this.queryList=e}clone(){return new e(this.queryList)}setDirty(){this.queryList.setDirty()}},Qm=class e{queries;constructor(e=[]){this.queries=e}createEmbeddedView(t){let n=t.queries;if(n!==null){let r=t.contentQueries===null?n.length:t.contentQueries[0],i=[];for(let e=0;e0)r.push(o[e/2]);else{let i=a[e+1],o=t[-n];for(let e=10;ee.trim())}function fh(e,t,n){e.queries===null&&(e.queries=new eh),e.queries.track(new th(t,n))}function ph(e,t){return e.queries.getByIndex(t)}function mh(e,t){let n=e[1],r=ph(n,t);return r.crossesNgTemplate?sh(n,e,t,[]):oh(n,e,r,t)}function hh(e,t,n){let r,i=wn(()=>{r._dirtyCounter();let n=yh(r,e);if(t&&n===void 0)throw new _i(-951,!1);return n});return r=i[tn],r._dirtyCounter=D(0),r._flatValue=void 0,i}function gh(e){return hh(!0,!1,e)}function _h(e){return hh(!0,!0,e)}function vh(e,t){let n=e[tn];n._lView=Ko(),n._queryIndex=t,n._queryList=ch(n._lView,t),n._queryList.onDirty(()=>n._dirtyCounter.update(e=>e+1))}function yh(e,t){let n=e._lView,r=e._queryIndex;if(n===void 0||r===void 0||n[2]&4)return t?void 0:Oa;let i=ch(n,r),a=mh(n,r);return i.reset(a,Ul),t?i.first:i._changesDetected||e._flatValue===void 0?e._flatValue=i.toArray():e._flatValue}function bh(e){return!!e&&typeof e.then==`function`}function xh(e){return!!e&&typeof e.subscribe==`function`}var Sh=class{},Ch=class extends Sh{injector;instance=null;constructor(e){super();let t=new Xa([...e.providers,{provide:Sh,useValue:this}],e.parent||Ja(),e.debugName,new Set([`environment`]));this.injector=t,e.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function wh(e,t,n=null){return new Ch({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var Th=(()=>{class e{_injector;cachedInjectors=new Map;constructor(e){this._injector=e}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){let t=Pa(!1,e.type),n=t.length>0?wh([t],this._injector,``):null;this.cachedInjectors.set(e,n)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(let e of this.cachedInjectors.values())e!==null&&e.destroy()}finally{this.cachedInjectors.clear()}}static ɵprov=Oi({token:e,providedIn:`environment`,factory:()=>new e(ua(Ya))})}return e})();function k(e){return kc(()=>{let t=jh(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection!==ql.Eager,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?e=>e.get(Th).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||_u.Emulated,styles:e.styles||Oa,_:null,schemas:e.schemas||null,tView:null,id:``};t.standalone&&od(`NgStandalone`),Mh(n);let r=e.dependencies;return n.directiveDefs=Nh(r,Eh),n.pipeDefs=Nh(r,Gi),n.id=Ph(n),n})}function Eh(e){return Ui(e)||Wi(e)}function Dh(e,t){if(e==null)return Da;let n={};for(let r in e)if(Object.hasOwn(e,r)){let i=e[r],a,o,s,c;Array.isArray(i)?(s=i[0],a=i[1],o=i[2]??a,c=i[3]||null):(a=i,o=i,s=rf.None,c=null),n[a]=[r,s,c],t[a]=o}return n}function Oh(e){if(e==null)return Da;let t={};for(let n in e)Object.hasOwn(e,n)&&(t[e[n]]=n);return t}function kh(e){return kc(()=>{let t=jh(e);return Mh(t),t})}function Ah(e){return{type:e.type,name:e.name,factory:null,pure:e.pure!==!1,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function jh(e){let t={};return{type:e.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputConfig:e.inputs||Da,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||Oa,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,signalFormsInputPresence:null,inputs:Dh(e.inputs,t),outputs:Oh(e.outputs),debugInfo:null}}function Mh(e){e.features?.forEach(t=>t(e))}function Nh(e,t){return e?()=>{let n=typeof e==`function`?e():e,r=[];for(let e of n){let n=t(e);n!==null&&r.push(n)}return r}:null}function Ph(e){let t=0,n=typeof e.consts==`function`?``:e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,n,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let e of r.join(`|`))t=Math.imul(31,t)+e.charCodeAt(0)<<0;return t+=2147483648,`c`+t}var Fh=new Fi(``),Ih=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((e,t)=>{this.resolve=e,this.reject=t});appInits=C(Fh,{optional:!0})??[];injector=C(ks);constructor(){}runInitializers(){if(this.initialized)return;let e=[];for(let t of this.appInits){let n=so(this.injector,t);if(bh(n))e.push(n);else if(xh(n)){let t=new Promise((e,t)=>{n.subscribe({complete:e,error:t})});e.push(t)}}let t=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{t()}).catch(e=>{this.reject(e)}),e.length===0&&t(),this.initialized=!0}static ɵfac=function(t){return new(t||e)};static ɵprov=zl({token:e,factory:e.ɵfac})}return e})();function Lh(e){return t=>{t.controlDef={create:(e,t)=>{e?.ɵngControlCreate(t)},update:(e,t)=>{e?.ɵngControlUpdate?.(t)},passThroughInput:e}}}function Rh(e){return Object.getPrototypeOf(e.prototype).constructor}function zh(e){let t=Rh(e.type),n=!0,r=[e];for(;t&&t!==Function.prototype&&t!==Object.prototype;){let i,a=Object.hasOwn(t,Li)?t[Li]:void 0,o=Object.hasOwn(t,Ri)?t[Ri]:void 0;if(go(e))i=a??o;else{if(a)throw new _i(903,!1);i=o}if(i){if(n){r.push(i);let t=e;t.inputs=Hh(e.inputs),t.declaredInputs=Hh(e.declaredInputs),t.outputs=Hh(e.outputs);let n=i.hostBindings;n&&Gh(e,n);let a=i.viewQuery,o=i.contentQueries;if(a&&Uh(e,a),o&&Wh(e,o),Bh(e,i),xi(e.outputs,i.outputs),go(i)&&i.data.animation){let t=e.data;t.animation=(t.animation||[]).concat(i.data.animation)}}let t=i.features;if(t)for(let r=0;r=0;r--){let i=e[r];i.hostVars=t+=i.hostVars,i.hostAttrs=al(i.hostAttrs,n=al(n,i.hostAttrs))}}function Hh(e){return e===Da?{}:e===Oa?[]:e}function Uh(e,t){let n=e.viewQuery;e.viewQuery=n?(e,r)=>{t(e,r),n(e,r)}:t}function Wh(e,t){let n=e.contentQueries;e.contentQueries=n?(e,r,i)=>{t(e,r,i),n(e,r,i)}:t}function Gh(e,t){let n=e.hostBindings;e.hostBindings=n?(e,r)=>{t(e,r),n(e,r)}:t}function Kh(e,t,n,r,i,a,o,s){if(n.firstCreatePass){e.mergedAttrs=al(e.mergedAttrs,e.attrs);let t=e.tView=Jd(2,e,i,a,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,n.consts,null);n.queries!==null&&(n.queries.template(n,e),t.queries=n.queries.embeddedTView(e))}s&&(e.flags|=s),Xo(e,!1);let c=Xh(n,t,e,r);Ts()&&Ld(n,t,c,e),eu(c,t);let l=np(c,t,c,e);t[r+27]=l,tf(t,l),Ym(l,e,t)}function qh(e,t,n,r,i,a,o,s,c,l,u){let d=n+27,f;return t.firstCreatePass?(f=pp(t,d,4,o||null,s||null),Ho()&&sm(t,e,f,ko(t.consts,l),_f),Gc(t,f)):f=t.data[d],Kh(f,e,t,n,r,i,a,c),ho(f)&&sf(t,e,f),l!=null&&cf(e,f,u),f}function Jh(e,t,n,r,i,a,o,s,c,l,u){let d=n+27,f;if(t.firstCreatePass){if(f=pp(t,d,4,o||null,s||null),l!=null){let e=ko(t.consts,l);f.localNames=[];for(let t=0;t{throw new _i(600,``)})}var tg=10,ng=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=C(nc);afterRenderManager=C(sd);zonelessEnabled=C(pc);rootEffectScheduler=C(hc);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new Jr;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=C(Fs);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(hi(e=>!e))}constructor(){C(id,{optional:!0})}whenStable(){let e;return new Promise(t=>{e=this.isStable.subscribe({next:e=>{e&&t()}})}).finally(()=>{e.unsubscribe()})}_injector=C(Ya);_rendererFactory=null;get injector(){return this._injector}bootstrap(e,t){return this.bootstrapImpl(e,t)}bootstrapImpl(e,t,n=ks.NULL){return this._injector.get(Us).run(()=>{if(Uc(Ac.BootstrapComponentStart),!this._injector.get(Ih).done)throw new _i(405,``);let r=Ui(e),i=this._injector.get(Sh),a=new Nm(r,i);this.componentTypes.push(e);let{hostElement:o,directives:s,bindings:c}=rg(t),l=o||a.selector,u=a.create(n,[],l,i.injector,s,c),d=u.location.nativeElement,f=u.injector.get(Qh,null);return f?.registerApplication(d),u.onDestroy(()=>{this.detachView(u.hostView),ig(this.components,u),f?.unregisterApplication(d)}),this._loadComponent(u),Uc(Ac.BootstrapComponentEnd,u),u})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){Uc(Ac.ChangeDetectionStart),this.tracingSnapshot===null?this.tickImpl():this.tracingSnapshot.run(rd.CHANGE_DETECTION,this.tickImpl)}tickImpl=()=>{if(this._runningTick)throw Uc(Ac.ChangeDetectionEnd),new _i(101,!1);let e=nn(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,nn(e),this.afterTick.next(),Uc(Ac.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(wp,null,{optional:!0}));let e=0;for(;this.dirtyFlags!==0&&e++Mo(e))){this.dirtyFlags|=2;return}this.dirtyFlags&=-8}attachView(e){let t=e;this._views.push(t),t.attachToAppRef(this)}detachView(e){let t=e;ig(this._views,t),t.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView);try{this.tick()}catch(e){this.internalErrorHandler(e)}this.components.push(e),this._injector.get($h,[]).forEach(t=>t(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>ig(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new _i(406,!1);let e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}static ɵfac=function(t){return new(t||e)};static ɵprov=zl({token:e,factory:e.ɵfac})}return e})();function rg(e){return e===void 0||typeof e==`string`||e instanceof Element?{hostElement:e}:e}function ig(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function A(e,t,n,r){let i=Ko();return Np(i,is(),t)&&(qo(),vf(bs(),i,e,t,n,r)),A}function ag(e){if(od(`NgAnimateEnter`),!qu)return ag;let t=Ko();if(Cte(t))return ag;let n=Jo(),r=t[9].get(Us);return Ote(ed(t),n,()=>og(t,n,e,r)),Pte(t[9]),md(t[9],ed(t)),ag}function og(e,t,n,r){let i=Co(t,e),a=e[11],o=Dte(n),s=[],c=!1,l=e=>{if(td(e)!==i)return;let t=e instanceof AnimationEvent?`animationend`:`transitionend`;r.runOutsideAngular(()=>{a.listen(i,t,u)})},u=e=>{td(e)===i&&(nd(e,i)&&(c=!0),sg(e,i,a))};if(o&&o.length>0){r.runOutsideAngular(()=>{s.push(a.listen(i,`animationstart`,l)),s.push(a.listen(i,`transitionstart`,l))}),wte(i,o,s);for(let e of o)a.addClass(i,e);r.runOutsideAngular(()=>{requestAnimationFrame(()=>{if(!c&&(yte(i,Xu,qu),!Xu.has(i))){for(let e of o)a.removeClass(i,e);Ju(i)}})})}}function sg(e,t,n){let r=Yu.get(t);if(td(e)===t&&r&&nd(e,t)){e.stopPropagation();for(let e of r.classList)n.removeClass(t,e);Ju(t)}}var cg=class{destroy(e){}updateValue(e,t){}swap(e,t){let n=Math.min(e,t),r=Math.max(e,t),i=this.detach(r);if(r-n>1){let e=this.detach(n);this.attach(n,i),this.attach(r,e)}else this.attach(n,i)}move(e,t){this.attach(t,this.detach(e))}};function lg(e,t,n,r,i){return e===n&&Object.is(t,r)?1:Object.is(i(e,t),i(n,r))?-1:0}function ug(e,t,n,r){let i,a,o=0,s=e.length-1;if(Array.isArray(t)){nn(r);let c=t.length-1;for(nn(null);o<=s&&o<=c;){let r=e.at(o),l=t[o],u=lg(o,r,o,l,n);if(u!==0){u<0&&e.updateValue(o,l),o++;continue}let d=e.at(s),f=t[c],p=lg(s,d,c,f,n);if(p!==0){p<0&&e.updateValue(s,f),s--,c--;continue}let m=n(o,r),h=n(s,d),g=n(o,l);if(Object.is(g,h)){let t=n(c,f);Object.is(t,m)?(e.swap(o,s),e.updateValue(s,f),c--,s--):e.move(s,o),e.updateValue(o,l),o++;continue}if(i??=new mg,a??=pg(e,o,s,n),dg(e,i,o,g))e.updateValue(o,l),o++,s++;else if(a.has(g))i.set(m,e.detach(o)),s--;else{let n=e.create(o,t[o]);e.attach(o,n),o++,s++}}for(;o<=c;)fg(e,i,n,o,t[o]),o++}else if(t!=null){nn(r);let c=t[Symbol.iterator]();nn(null);let l=c.next();for(;!l.done&&o<=s;){let t=e.at(o),r=l.value,u=lg(o,t,o,r,n);if(u!==0)u<0&&e.updateValue(o,r),o++,l=c.next();else{i??=new mg,a??=pg(e,o,s,n);let u=n(o,r);if(dg(e,i,o,u))e.updateValue(o,r),o++,s++,l=c.next();else if(!a.has(u))e.attach(o,e.create(o,r)),o++,s++,l=c.next();else{let r=n(o,t);i.set(r,e.detach(o)),s--}}}for(;!l.done;)fg(e,i,n,e.length,l.value),l=c.next()}for(;o<=s;)e.destroy(e.detach(s--));i?.forEach(t=>{e.destroy(t)})}function dg(e,t,n,r){return t!==void 0&&t.has(r)?(e.attach(n,t.get(r)),t.delete(r),!0):!1}function fg(e,t,n,r,i){if(dg(e,t,r,n(r,i)))e.updateValue(r,i);else{let t=e.create(r,i);e.attach(r,t)}}function pg(e,t,n,r){let i=new Set;for(let a=t;a<=n;a++)i.add(r(a,e.at(a)));return i}var mg=class{kvMap=new Map;_vMap=void 0;has(e){return this.kvMap.has(e)}delete(e){if(!this.has(e))return!1;let t=this.kvMap.get(e);return this._vMap!==void 0&&this._vMap.has(t)?(this.kvMap.set(e,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(e),!0}get(e){return this.kvMap.get(e)}set(e,t){if(this.kvMap.has(e)){let n=this.kvMap.get(e);this._vMap===void 0&&(this._vMap=new Map);let r=this._vMap;for(;r.has(n);)n=r.get(n);r.set(n,t)}else this.kvMap.set(e,t)}forEach(e){for(let[t,n]of this.kvMap)if(e(n,t),this._vMap!==void 0){let r=this._vMap;for(;r.has(n);)n=r.get(n),e(n,t)}}};function j(e,t,n,r,i,a,o,s){od(`NgControlFlow`);let c=Ko(),l=qo();return Jh(c,l,e,t,n,r,i,ko(l.consts,a),256,o,s),hg}function hg(e,t,n,r,i,a,o,s){od(`NgControlFlow`);let c=Ko(),l=qo();return Jh(c,l,e,t,n,r,i,ko(l.consts,a),512,o,s),hg}function M(e,t){od(`NgControlFlow`);let n=Ko(),r=is(),i=n[r]===Ru?-1:n[r],a=i===-1?void 0:xg(n,27+i);if(Np(n,r,e)){let r=nn(null);try{if(a!==void 0&&ap(a,0),e!==-1){let r=27+e,i=xg(n,r),a=Eg(n[1],r),o=Sp(i,a,n);ip(i,Af(n,a,t,{dehydratedView:o}),0,jf(a,o))}}finally{nn(r)}}else if(a!==void 0){let e=rp(a,0);e!==void 0&&(e[8]=t)}}var gg=class{lContainer;$implicit;$index;constructor(e,t,n){this.lContainer=e,this.$implicit=t,this.$index=n}get $count(){return this.lContainer.length-10}};function _g(e){return e}function vg(e,t){return t}var yg=class{hasEmptyBlock;trackByFn;liveCollection;constructor(e,t,n){this.hasEmptyBlock=e,this.trackByFn=t,this.liveCollection=n}};function N(e,t,n,r,i,a,o,s,c,l,u,d,f){od(`NgControlFlow`);let p=Ko(),m=qo(),h=c!==void 0,g=Ko(),_=new yg(h,s?o.bind(g[15][8]):o);g[27+e]=_,Jh(p,m,e+1,t,n,r,i,ko(m.consts,a),256),h&&Jh(p,m,e+2,c,l,u,d,ko(m.consts,f),512)}var bg=class extends cg{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(e,t,n){super(),this.lContainer=e,this.hostLView=t,this.templateTNode=n}get length(){return this.lContainer.length-10}at(e){return this.getLView(e)[8].$implicit}attach(e,t){let n=t[6];this.needsIndexUpdate||=e!==this.length,ip(this.lContainer,t,e,jf(this.templateTNode,n)),Sg(this.lContainer,e)}detach(e){return this.needsIndexUpdate||=e!==this.length-1,Cg(this.lContainer,e),wg(this.lContainer,e)}create(e,t){let n=xp(this.lContainer,this.templateTNode.tView.ssrId);return Af(this.hostLView,this.templateTNode,new gg(this.lContainer,t,e),{dehydratedView:n})}destroy(e){Od(e[1],e)}updateValue(e,t){this.getLView(e)[8].$implicit=t}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let e=0;e0){let e=n[9];Mte(e,r),Ku.delete(n[19]),r.detachedLeaveAnimationFns=void 0}}function Cg(e,t){if(e.length<=10)return;let n=e[10+t],r=n?n[26]:void 0;r&&r.leave&&r.leave.size>0&&(r.detachedLeaveAnimationFns=[])}function wg(e,t){return op(e,t)}function Tg(e,t){return rp(e,t)}function Eg(e,t){return wo(e,t)}function F(e,t,n){let r=Ko();return Np(r,is(),t)&&(qo(),df(bs(),r,e,t,r[11],n)),F}function Dg(e,t,n,r,i){wf(t,e,n,i?`class`:`style`,r)}function I(e,t,n,r){let i=Ko(),a=i[1],o=e+27,s=a.firstCreatePass?xm(o,i,2,t,_f,Ho(),n,r):a.data[o];if(mo(s)){let n=i[10].tracingService;if(n&&n.componentCreate){let o=a.data[s.directiveStart+s.componentOffset];return n.componentCreate(Op(o),()=>(Og(e,t,i,s,r),I))}}return Og(e,t,i,s,r),I}function Og(e,t,n,r,i){if(xf(r,n,e,t,Ag),ho(r)){let e=n[1];sf(e,n,r),gu(e,r,n)}i!=null&&cf(n,r)}function L(){let e=qo(),t=Sf(Jo());return e.firstCreatePass&&Sm(e,t),Wo(t)&&Go(),Vo(),t.classesWithoutHost!=null&&el(t)&&Dg(e,t,Ko(),t.classesWithoutHost,!0),t.stylesWithoutHost!=null&&tl(t)&&Dg(e,t,Ko(),t.stylesWithoutHost,!1),L}function R(e,t,n,r){return I(e,t,n,r),L(),R}function z(e,t,n,r){let i=Ko(),a=i[1],o=e+27,s=a.firstCreatePass?Cm(o,a,2,t,n,r):a.data[o];return xf(s,i,e,t,Ag),r!=null&&cf(i,s),z}function B(){return Wo(Sf(Jo()))&&Go(),Vo(),B}function kg(e,t,n,r){return z(e,t,n,r),B(),kg}var Ag=(e,t,n,r,i)=>(Es(!0),wu(t[11],r,Cs()));function jg(e,t,n){let r=Ko(),i=r[1],a=e+27,o=i.firstCreatePass?xm(a,r,8,`ng-container`,_f,Ho(),t,n):i.data[a];if(xf(o,r,e,`ng-container`,Pg),ho(o)){let e=r[1];sf(e,r,o),gu(e,o,r)}return n!=null&&cf(r,o),jg}function Mg(){let e=qo(),t=Sf(Jo());return e.firstCreatePass&&Sm(e,t),Mg}function Ng(e,t,n){return jg(e,t,n),Mg(),Ng}var Pg=(e,t,n,r,i)=>(Es(!0),Qee(t[11],``));function V(){return Ko()}function Fg(e,t,n){let r=Ko();return Np(r,is(),t)&&(qo(),ff(bs(),r,e,t,r[11],n)),Fg}var Ig=void 0;function Lg(e){let t=Math.floor(Math.abs(e)),n=e.toString().replace(/^[^.]*\.?/,``).length;return t===1&&n===0?1:5}var Rg=[`en`,[[`a`,`p`],[`AM`,`PM`]],[[`AM`,`PM`]],[[`S`,`M`,`T`,`W`,`T`,`F`,`S`],[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`]],Ig,[[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]],Ig,[[`B`,`A`],[`BC`,`AD`],[`Before Christ`,`Anno Domini`]],0,[6,0],[`M/d/yy`,`MMM d, y`,`MMMM d, y`,`EEEE, MMMM d, y`],[`h:mm a`,`h:mm:ss a`,`h:mm:ss a z`,`h:mm:ss a zzzz`],[`{1}, {0}`,Ig,Ig,Ig],[`.`,`,`,`;`,`%`,`+`,`-`,`E`,`×`,`‰`,`∞`,`NaN`,`:`],[`#,##0.###`,`#,##0%`,`¤#,##0.00`,`#E0`],`USD`,`$`,`US Dollar`,{},`ltr`,Lg],zg=Object.create(null);function Bg(e){let t=Ug(e),n=Vg(t);if(n)return n;let r=t.split(`-`)[0];if(n=Vg(r),n)return n;if(r===`en`)return Rg;throw new _i(701,!1)}function Vg(e){if(!(e in zg)){let t=aa.ng&&aa.ng.common&&aa.ng.common.locales&&aa.ng.common.locales[e];return t!==void 0&&(zg[e]=t),t}return zg[e]}var Hg={LocaleId:0,DayPeriodsFormat:1,DayPeriodsStandalone:2,DaysFormat:3,DaysStandalone:4,MonthsFormat:5,MonthsStandalone:6,Eras:7,FirstDayOfWeek:8,WeekendRange:9,DateFormat:10,TimeFormat:11,DateTimeFormat:12,NumberSymbols:13,NumberFormats:14,CurrencyCode:15,CurrencySymbol:16,CurrencyName:17,Currencies:18,Directionality:19,PluralCase:20,ExtraData:21};function Ug(e){return e.toLowerCase().replace(/_/g,`-`)}var Wg=`en-US`;function Gg(e){typeof e==`string`&&e.toLowerCase().replace(/_/g,`-`)}function H(e,t,n){let r=Ko(),i=qo(),a=Jo();return Kg(i,r,r[11],a,e,t,n),H}function U(e,t,n){let r=Ko(),i=qo(),a=Jo();return(a.type&3||n)&&zp(a,i,r,n,r[11],e,t,Lp(a,r,t)),U}function Kg(e,t,n,r,i,a,o){let s=!0,c=null;if((r.type&3||o)&&(c??=Lp(r,t,a),zp(r,e,t,o,n,i,a,c)&&(s=!1)),s){let e=r.outputs?.[i],n=r.hostDirectiveOutputs?.[i];if(n&&n.length)for(let e=0;e>17&32767}function n_(e){return(e&2)==2}function r_(e,t){return e&131071|t<<17}function i_(e){return e|2}function a_(e){return(e&131068)>>2}function o_(e,t){return e&-131069|t<<2}function s_(e){return(e&1)==1}function c_(e){return e|1}function l_(e,t,n,r,i,a){let o=a?t.classBindings:t.styleBindings,s=t_(o),c=a_(o);e[r]=n;let l=!1,u;if(Array.isArray(n)){let e=n;u=e[1],(u===null||Ta(e,u)>0)&&(l=!0)}else u=n;if(i){if(c!==0){let t=t_(e[s+1]);e[r+1]=e_(t,s),t!==0&&(e[t+1]=o_(e[t+1],r)),e[s+1]=r_(e[s+1],r)}else e[r+1]=e_(s,0),s!==0&&(e[s+1]=o_(e[s+1],r)),s=r}else e[r+1]=e_(c,0),s===0?s=r:e[c+1]=o_(e[c+1],r),c=r;l&&(e[r+1]=i_(e[r+1])),d_(e,u,r,!0),d_(e,u,r,!1),u_(t,u,e,r,a),o=e_(s,c),a?t.classBindings=o:t.styleBindings=o}function u_(e,t,n,r,i){let a=i?e.residualClasses:e.residualStyles;a!=null&&typeof t==`string`&&Ta(a,t)>=0&&(n[r+1]=c_(n[r+1]))}function d_(e,t,n,r){let i=e[n+1],a=t===null,o=r?t_(i):a_(i),s=!1;for(;o!==0&&(s===!1||a);){let n=e[o],i=e[o+1];f_(n,t)&&(s=!0,e[o+1]=r?c_(i):i_(i)),o=r?t_(i):a_(i)}s&&(e[n+1]=r?i_(i):c_(i))}function f_(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t==`string`?Ta(e,t)>=0:!1}var p_={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function m_(e){return e.substring(p_.key,p_.keyEnd)}function h_(e){return __(e),g_(e,v_(e,0,p_.textEnd))}function g_(e,t){let n=p_.textEnd;return n===t?-1:(t=p_.keyEnd=y_(e,p_.key=t,n),v_(e,t,n))}function __(e){p_.key=0,p_.keyEnd=0,p_.value=0,p_.valueEnd=0,p_.textEnd=e.length}function v_(e,t,n){for(;t32;)t++;return t}function b_(e,t,n){return C_(e,t,n,!1),b_}function G(e,t){return C_(e,t,null,!0),G}function x_(e){w_(Ite,S_,e,!0)}function S_(e,t){for(let n=h_(t);n>=0;n=g_(t,n))Ca(e,m_(t),!0)}function C_(e,t,n,r){let i=Ko(),a=qo(),o=as(2);if(a.firstUpdatePass&&E_(a,e,o,r),t!==Ru&&Np(i,o,t)){let s=a.data[vs()];N_(a,s,i,i[11],e,i[o+1]=Rte(t,n),r,o)}}function w_(e,t,n,r){let i=qo(),a=as(2);i.firstUpdatePass&&E_(i,null,a,r);let o=Ko();if(n!==Ru&&Np(o,a,n)){let s=i.data[vs()];if(I_(s,r)&&!T_(i,a)){let e=r?s.classesWithoutHost:s.stylesWithoutHost;e!==null&&(n=Ci(e,n||``)),Dg(i,s,o,n,r)}else Lte(i,s,o,o[11],o[a+1],o[a+1]=Fte(e,t,n),r,a)}}function T_(e,t){return t>=e.expandoStartIndex}function E_(e,t,n,r){let i=e.data;if(i[n+1]===null){let a=i[vs()],o=T_(e,n);I_(a,r)&&t===null&&!o&&(t=!1),t=D_(i,a,t,r),l_(i,a,t,n,o,r)}}function D_(e,t,n,r){let i=Gee(e),a=r?t.residualClasses:t.residualStyles;if(i===null)(r?t.classBindings:t.styleBindings)===0&&(n=j_(null,e,t,n,r),n=M_(n,t.attrs,r),a=null);else{let o=t.directiveStylingLast;if(o===-1||e[o]!==i){if(n=j_(i,e,t,n,r),a===null){let n=O_(e,t,r);n!==void 0&&Array.isArray(n)&&(n=j_(null,e,t,n[1],r),n=M_(n,t.attrs,r),k_(e,t,r,n))}else a=A_(e,t,r)}}return a!==void 0&&(r?t.residualClasses=a:t.residualStyles=a),n}function O_(e,t,n){let r=n?t.classBindings:t.styleBindings;if(a_(r)!==0)return e[t_(r)]}function k_(e,t,n,r){let i=n?t.classBindings:t.styleBindings;e[t_(i)]=r}function A_(e,t,n){let r,i=t.directiveEnd;for(let a=1+t.directiveStylingLast;a0;){let t=e[i],a=Array.isArray(t),c=a?t[1]:t,l=c===null,u=n[i+1];u===Ru&&(u=l?Oa:void 0);let d=l?wa(u,r):c===r?u:void 0;if(a&&!F_(d)&&(d=wa(t,r)),F_(d)&&(s=d,o))return s;let f=e[i+1];i=o?t_(f):a_(f)}if(t!==null){let e=a?t.residualClasses:t.residualStyles;e!=null&&(s=wa(e,r))}return s}function F_(e){return e!==void 0}function Rte(e,t){return e==null||e===``||(typeof t==`string`?e=yu(e)+t:typeof e==`object`&&(e=Si(yu(e)))),e}function I_(e,t){return!!(e.flags&(t?8:16))}function K(e,t=``){let n=Ko(),r=qo(),i=e+27,a=r.firstCreatePass?pp(r,i,1,t,null):r.data[i],o=zte(r,n,a,t);n[i]=o,Ts()&&Ld(r,n,o,a),Xo(a,!1)}var zte=(e,t,n,r)=>(Es(!0),Xee(t[11],r));function L_(e,t,n,r=``){return Np(e,is(),n)?t+qi(n)+r:Ru}function Bte(e,t,n,r,i,a=``){let o=Pp(e,rs(),n,i);return as(2),o?t+qi(n)+r+qi(i)+a:Ru}function Vte(e,t,n,r,i,a,o,s=``){let c=Fp(e,rs(),n,i,o);return as(3),c?t+qi(n)+r+qi(i)+a+qi(o)+s:Ru}function Hte(e,t,n,r,i,a,o,s,c,l=``){let u=Ip(e,rs(),n,i,o,c);return as(4),u?t+qi(n)+r+qi(i)+a+qi(o)+s+qi(c)+l:Ru}function q(e){return J(``,e),q}function J(e,t,n){let r=Ko(),i=L_(r,e,t,n);return i!==Ru&&B_(r,vs(),i),J}function Y(e,t,n,r,i){let a=Ko(),o=Bte(a,e,t,n,r,i);return o!==Ru&&B_(a,vs(),o),Y}function R_(e,t,n,r,i,a,o){let s=Ko(),c=Vte(s,e,t,n,r,i,a,o);return c!==Ru&&B_(s,vs(),c),R_}function z_(e,t,n,r,i,a,o,s,c){let l=Ko(),u=Hte(l,e,t,n,r,i,a,o,s,c);return u!==Ru&&B_(l,vs(),u),z_}function B_(e,t,n){let r=So(t,e);Zee(e[11],r,n)}function V_(e,t,n){Ec(t)&&(t=t());let r=Ko();return Np(r,is(),t)&&(qo(),df(bs(),r,e,t,r[11],n)),V_}function H_(e,t){let n=Ec(e);return n&&e.set(t),n}function U_(e,t){let n=Ko(),r=qo(),i=Jo();return Kg(r,n,n[11],i,e,t),U_}var W_={};function G_(e){od(`NgLet`);let t=qo(),n=Ko(),r=e+27;return Xo(pp(t,r,128,null,null),!1),Eo(t,n,r,W_),G_}function K_(e){return Eo(qo(),Ko(),vs(),e),e}function q_(e){let t=To($o(),27+e);if(t===W_)throw new _i(314,!1);return t}function J_(e,t,n=``){return L_(Ko(),e,t,n)}function Y_(e,t,n){let r=qo();r.firstCreatePass&&X_(t,r.data,r.blueprint,go(e),n)}function X_(e,t,n,r,i){if(e=Ei(e),Array.isArray(e))for(let a=0;a>20;if(Ha(e)||!e.multi){let r=new $c(l,i,om,null),p=$_(c,t,i?u:u+f,d);p===-1?(Sl(vl(s,o),a,c),Z_(a,e,t.length),t.push(c),s.directiveStart++,s.directiveEnd++,i&&(s.providerIndexes+=1048576),n.push(r),o.push(r)):(n[p]=r,o[p]=r)}else{let p=$_(c,t,u+f,d),m=$_(c,t,u,u+f),h=p>=0&&n[p],g=m>=0&&n[m];if(i&&!g||!i&&!h){Sl(vl(s,o),a,c);let u=Gte(i?Wte:Ute,n.length,i,r,l,e);!i&&g&&(n[m].providerFactory=u),Z_(a,e,t.length,0),t.push(c),s.directiveStart++,s.directiveEnd++,i&&(s.providerIndexes+=1048576),n.push(u),o.push(u)}else{let t=Q_(n[i?m:p],l,!i&&r);Z_(a,e,p>-1?p:m,t)}!i&&r&&g&&n[m].componentProviders++}}}function Z_(e,t,n,r){let i=Ha(t),a=Ua(t);if(i||a){let o=(a?Ei(t.useClass):t).prototype.ngOnDestroy;if(o){let a=e.destroyHooks||=[];if(!i&&t.multi){let e=a.indexOf(n);e===-1?a.push(n,[r,o]):a[e+1].push(r,o)}else a.push(n,o)}}}function Q_(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function $_(e,t,n,r){for(let i=n;i{n.providersResolver=(t,n)=>Y_(t,n?n(e):e,!1),t&&(n.viewProvidersResolver=(e,n)=>Y_(e,n?n(t):t,!0))}}function nv(e,t){let n=ns()+e,r=Ko();return r[n]===Ru?jp(r,n,t()):Mp(r,n)}function rv(e,t,n){return ov(Ko(),ns(),e,t,n)}function iv(e,t,n,r){return sv(Ko(),ns(),e,t,n,r)}function Kte(e,t,n,r,i){return qte(Ko(),ns(),e,t,n,r,i)}function av(e,t){let n=e[t];return n===Ru?void 0:n}function ov(e,t,n,r,i,a){let o=t+n;return Np(e,o,i)?jp(e,o+1,a?r.call(a,i):r(i)):av(e,o+1)}function sv(e,t,n,r,i,a,o){let s=t+n;return Pp(e,s,i,a)?jp(e,s+2,o?r.call(o,i,a):r(i,a)):av(e,s+2)}function qte(e,t,n,r,i,a,o,s){let c=t+n;return Fp(e,c,i,a,o)?jp(e,c+3,s?r.call(s,i,a,o):r(i,a,o)):av(e,c+3)}function cv(e,t){let n=qo(),r,i=e+27;n.firstCreatePass?(r=Jte(t,n.pipeRegistry),n.data[i]=r,r.onDestroy&&(n.destroyHooks??=[]).push(i,r.onDestroy)):r=n.data[i];let a=r.factory||(r.factory=ha(r.type,!0)),o=ra(om);try{let e=fl(!1),t=a();return fl(e),Eo(n,Ko(),i,t),t}finally{ra(o)}}function Jte(e,t){if(t)for(let n=t.length-1;n>=0;n--){let r=t[n];if(e===r.name)return r}}function lv(e,t,n){let r=e+27,i=Ko(),a=To(i,r);return dv(i,r)?ov(i,ns(),t,a.transform,n,a):a.transform(n)}function uv(e,t,n,r){let i=e+27,a=Ko(),o=To(a,i);return dv(a,i)?sv(a,ns(),t,o.transform,n,r,o):o.transform(n,r)}function dv(e,t){return e[1].data[t].pure}function fv(e,t){return fp(e,t)}var Yte=(()=>{class e{applicationErrorHandler=C(nc);appRef=C(ng);taskService=C(Fs);ngZone=C(Us);zonelessEnabled=C(pc);tracing=C(id,{optional:!0});zoneIsDefined=typeof Zone<`u`&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new fr;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Vs):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(C(mc,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let e=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(e);return}this.switchToMicrotaskScheduler(),this.taskService.remove(e)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let e=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(e)})})}notify(e){if(!this.zonelessEnabled&&e===5)return;switch(e){case 0:case 2:this.appRef.dirtyFlags|=2;break;case 3:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 6:this.appRef.dirtyFlags|=2;break;case 12:this.appRef.dirtyFlags|=16;break;case 13:this.appRef.dirtyFlags|=2;break;case 11:break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick())return;let t=this.useMicrotaskScheduler?zs:Rs;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>t(()=>this.tick())):this.ngZone.runOutsideAngular(()=>t(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(`isAngularZone_ID`+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let e=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(e){this.applicationErrorHandler(e)}finally{this.taskService.remove(e),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let e=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(e)}}static ɵfac=function(t){return new(t||e)};static ɵprov=zl({token:e,factory:e.ɵfac})}return e})();function Xte(){return[{provide:fc,useExisting:Yte},{provide:Us,useClass:Zs},{provide:pc,useValue:!0}]}function Zte(){return typeof $localize<`u`&&$localize.locale||`en-US`}var pv=new Fi(``,{factory:()=>C(pv,{optional:!0,skipSelf:!0})||Zte()}),mv=class{destroyed=!1;listeners=null;errorHandler=C(tc,{optional:!0});isEmitting=!1;hasNullListeners=!1;destroyRef=C(js);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(e){if(this.destroyed)throw new _i(953,!1);return(this.listeners??=[]).push(e),{unsubscribe:()=>{let t=this.listeners?this.listeners.indexOf(e):-1;t>-1&&(this.isEmitting?(this.hasNullListeners=!0,this.listeners[t]=null):this.listeners.splice(t,1))}}}emit(e){if(this.destroyed){console.warn(yi(953,!1));return}if(this.listeners===null)return;this.isEmitting=!0;let t=nn(null);try{for(let t of this.listeners)try{t!==null&&t(e)}catch(e){this.errorHandler?.handleError(e)}}finally{this.hasNullListeners&&(this.hasNullListeners=!1,this.listeners&&Qte(this.listeners)),nn(t),this.isEmitting=!1}}};function Qte(e){let t=e.length-1;for(;t>-1;)e[t]===null&&e.splice(t,1),t--}function X(e,t){return wn(e,t?.equal)}function Z(e){return Zn(e)}(class e extends Error{_brand;constructor(e){super(e)}static IDLE=new e(`IDLE`);static LOADING=new e(`LOADING`)});var $te=e=>e;function Q(e,t){return typeof e==`function`?hv(qn(e,$te,t?.equal),t?.debugName,t?.set):hv(qn(e.source,e.computation,e.equal),e.debugName,e.set)}function hv(e,t,n){let r=e[tn],i=e;if(n!==void 0){let t=e=>Jn(r,e);i.set=e=>n(e,t),i.update=r=>n(r(Z(e)),t)}else i.set=e=>Jn(r,e),i.update=e=>Yn(r,e);return i.asReadonly=ic.bind(e),i}var gv=!1;function ene(){return gv}function _v(e){gv=e}function vv(e,t){let n=Object.create(Oc);n.value=e,n.transformFn=t?.transform;function r(){if(on(n),n.value===Dc)throw new _i(-950,null);return n.value}return r[tn]=n,r}function yv(e){return new mv}function bv(e,t){return vv(e,t)}function tne(e){return vv(Dc,e)}var $=(bv.required=tne,bv);function xv(e,t){let n=Object.create(Oc),r=new mv;n.value=e;function i(){return on(n),Sv(n.value),n.value}return i[tn]=n,i.asReadonly=ic.bind(i),i.set=e=>{n.equal(n.value,e)||(In(n,e),r.emit(e))},i.update=e=>{Sv(n.value),i.set(e(n.value))},i.subscribe=r.subscribe.bind(r),i.destroyRef=r.destroyRef,i}function Sv(e){if(e===Dc)throw new _i(952,!1)}function Cv(e,t){return xv(e,t)}function nne(e){return xv(Dc,e)}var wv=(Cv.required=nne,Cv);function Tv(e,t){return gh(t)}function rne(e,t){return _h(t)}var Ev=(Tv.required=rne,Tv),ine=(()=>{class e{static __NG_ELEMENT_ID__=ane}return e})();function ane(e){return one(Jo(),Ko(),(e&16)==16)}function one(e,t,n){if(mo(e)&&!n){let n=Do(e.index,t);return new lp(n,n)}if(e.type&175){let e=t[15];return new lp(e,t)}return null}var Dv=new Fi(``),sne=new Fi(``);function Ov(e){return!e.moduleRef}function cne(e){let t=Ov(e)?e.r3Injector:e.moduleRef.injector,n=t.get(Us);return n.run(()=>{Ov(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(nc),i;if(n.runOutsideAngular(()=>{i=n.onError.subscribe({next:r})}),Ov(e)){let n=()=>t.destroy(),r=e.platformInjector.get(Dv);r.add(n),t.onDestroy(()=>{i.unsubscribe(),r.delete(n)})}else{let t=()=>e.moduleRef.destroy(),n=e.platformInjector.get(Dv);n.add(t),e.moduleRef.onDestroy(()=>{ig(e.allPlatformModules,e.moduleRef),i.unsubscribe(),n.delete(t)})}return une(r,n,()=>{let n=t.get(Fs),r=n.add(),i=t.get(Ih);return i.runInitializers(),i.donePromise.then(()=>{if(Gg(t.get(pv,Wg)||`en-US`),!t.get(sne,!0))return Ov(e)?t.get(ng):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(Ov(e)){let n=t.get(ng);return e.rootComponent!==void 0&&n.bootstrap(e.rootComponent),n}return lne?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>void n.remove(r))})})}var lne;function une(e,t,n){try{let r=n();return bh(r)?r.catch(n=>{throw t.runOutsideAngular(()=>e(n)),n}):r}catch(n){throw t.runOutsideAngular(()=>e(n)),n}}var kv=null;function dne(e=[],t){return ks.create({name:t,providers:[{provide:Wa,useValue:`platform`},{provide:Dv,useValue:new Set([()=>kv=null])},...e]})}function fne(e=[]){if(kv)return kv;let t=dne(e);return kv=t,eg(),pne(t),t}function pne(e){let t=e.get(sc,null);so(e,()=>{t?.forEach(e=>e())})}function mne(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:i}=e;Uc(Ac.BootstrapApplicationStart);try{let e=i?.injector??fne(r);return cne({r3Injector:new Ch({providers:[Xte(),rc,...n||[]],parent:e,debugName:``,runEnvironmentInitializers:!1}).injector,platformInjector:e,rootComponent:t})}catch(e){return Promise.reject(e)}finally{Uc(Ac.BootstrapApplicationEnd)}}function Av(e){return typeof e==`boolean`?e:e!=null&&e!==`false`}var jv=Symbol(`NOT_SET`),Mv=new Set,hne={...Rn,kind:`afterRenderEffectPhase`,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,value:jv,cleanup:null,consumerMarkedDirty(){if(this.sequence.impl.executing){if(this.sequence.lastPhase===null||this.sequence.lastPhase(on(r),r.value),r.signal[tn]=r,r.registerCleanupFn=e=>(r.cleanup??=new Set).add(e),this.nodes[e]=r,this.hooks[e]=e=>r.phaseFn(e)}}afterRun(){super.afterRun(),this.lastPhase=null}destroy(){if(this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();super.destroy();for(let e of this.nodes)if(e)try{for(let t of e.cleanup??Mv)t()}finally{vn(e)}}};function Nv(e,t){let n=t?.injector??C(ks),r=n.get(fc),i=n.get(sd),a=n.get(id,null,{optional:!0});i.impl??=n.get(ld);let o=e;typeof o==`function`&&(o={mixedReadWrite:e});let s=n.get(uc,null,{optional:!0}),c=new gne(i.impl,[o.earlyRead,o.write,o.mixedReadWrite,o.read],s?.view,r,n,a?.snapshot(null));return i.impl.register(c),c}var Pv=null;function Fv(){return Pv}function _ne(e){Pv??=e}var vne=class{},Iv=(function(e){return e[e.Format=0]=`Format`,e[e.Standalone=1]=`Standalone`,e})(Iv||{}),Lv=(function(e){return e[e.Narrow=0]=`Narrow`,e[e.Abbreviated=1]=`Abbreviated`,e[e.Wide=2]=`Wide`,e[e.Short=3]=`Short`,e})(Lv||{}),Rv=(function(e){return e[e.Short=0]=`Short`,e[e.Medium=1]=`Medium`,e[e.Long=2]=`Long`,e[e.Full=3]=`Full`,e})(Rv||{}),zv={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function yne(e){return Bg(e)[Hg.LocaleId]}function bne(e,t,n){let r=Bg(e);return Gv(Gv([r[Hg.DayPeriodsFormat],r[Hg.DayPeriodsStandalone]],t),n)}function xne(e,t,n){let r=Bg(e);return Gv(Gv([r[Hg.DaysFormat],r[Hg.DaysStandalone]],t),n)}function Sne(e,t,n){let r=Bg(e);return Gv(Gv([r[Hg.MonthsFormat],r[Hg.MonthsStandalone]],t),n)}function Cne(e,t){let n=Bg(e)[Hg.Eras];return Gv(n,t)}function Bv(e,t){return Gv(Bg(e)[Hg.DateFormat],t)}function Vv(e,t){return Gv(Bg(e)[Hg.TimeFormat],t)}function Hv(e,t){let n=Bg(e)[Hg.DateTimeFormat];return Gv(n,t)}function Uv(e,t){let n=Bg(e),r=n[Hg.NumberSymbols][t];if(r===void 0){if(t===zv.CurrencyDecimal)return n[Hg.NumberSymbols][zv.Decimal];if(t===zv.CurrencyGroup)return n[Hg.NumberSymbols][zv.Group]}return r}function Wv(e){if(!e[Hg.ExtraData])throw new _i(2303,!1)}function wne(e){let t=Bg(e);return Wv(t),(t[Hg.ExtraData][2]||[]).map(e=>typeof e==`string`?Kv(e):[Kv(e[0]),Kv(e[1])])}function Tne(e,t,n){let r=Bg(e);return Wv(r),Gv(Gv([r[Hg.ExtraData][0],r[Hg.ExtraData][1]],t)||[],n)||[]}function Gv(e,t){for(let n=t;n>-1;n--)if(e[n]!==void 0)return e[n];throw new _i(2304,!1)}function Kv(e){let[t,n]=e.split(`:`);return{hours:+t,minutes:+n}}var Ene=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,qv=Object.create(null),Dne=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/,One=256;function kne(e,t,n,r){let i=uy(e);Ane(t),t=Yv(n,t)||t;let a=[],o;for(;t;)if(o=Dne.exec(t),o){a=a.concat(o.slice(1));let e=a.pop();if(!e)break;t=e}else{a.push(t);break}let s=i.getTimezoneOffset();r&&(s=sy(r,s),i=ly(i,r));let c=``;return a.forEach(e=>{let t=oy(e);c+=t?t(i,n,s):e===`''`?`'`:e.replace(/(^'|'$)/g,``).replace(/''/g,`'`)}),c}function Ane(e){if(e.length>One)throw new _i(2300,!1)}function Jv(e,t,n){let r=new Date(0);return r.setFullYear(e,t,n),r.setHours(0,0,0),r}function Yv(e,t){let n=yne(e);if(qv[n]??=Object.create(null),qv[n][t])return qv[n][t];let r=``;switch(t){case`shortDate`:r=Bv(e,Rv.Short);break;case`mediumDate`:r=Bv(e,Rv.Medium);break;case`longDate`:r=Bv(e,Rv.Long);break;case`fullDate`:r=Bv(e,Rv.Full);break;case`shortTime`:r=Vv(e,Rv.Short);break;case`mediumTime`:r=Vv(e,Rv.Medium);break;case`longTime`:r=Vv(e,Rv.Long);break;case`fullTime`:r=Vv(e,Rv.Full);break;case`short`:let t=Yv(e,`shortTime`),n=Yv(e,`shortDate`);r=Xv(Hv(e,Rv.Short),[t,n]);break;case`medium`:let i=Yv(e,`mediumTime`),a=Yv(e,`mediumDate`);r=Xv(Hv(e,Rv.Medium),[i,a]);break;case`long`:let o=Yv(e,`longTime`),s=Yv(e,`longDate`);r=Xv(Hv(e,Rv.Long),[o,s]);break;case`full`:let c=Yv(e,`fullTime`),l=Yv(e,`fullDate`);r=Xv(Hv(e,Rv.Full),[c,l])}return r&&(qv[n][t]=r),r}function Xv(e,t){return t&&(e=e.replace(/\{([^}]+)}/g,function(e,n){return Object.hasOwn(t,n)?t[n]:e})),e}function Zv(e,t,n=`-`,r,i){let a=``;(e<0||i&&e<=0)&&(i?e=-e+1:(e=-e,a=n));let o=String(e);for(;o.length0||s>-n)&&(s+=n),e===3)s===0&&n===-12&&(s=12);else if(e===6)return jne(s,t);let c=Uv(o,zv.MinusSign);return Zv(s,t,c,r,i)}}function Mne(e,t){switch(e){case 0:return t.getFullYear();case 1:return t.getMonth();case 2:return t.getDate();case 3:return t.getHours();case 4:return t.getMinutes();case 5:return t.getSeconds();case 6:return t.getMilliseconds();case 7:return t.getDay();default:throw new _i(2301,!1)}}function $v(e,t,n=Iv.Format,r=!1){return function(i,a){return Nne(i,a,e,t,n,r)}}function Nne(e,t,n,r,i,a){switch(n){case 2:return Sne(t,i,r)[e.getMonth()];case 1:return xne(t,i,r)[e.getDay()];case 0:let n=e.getHours(),o=e.getMinutes();if(a){let e=wne(t),a=Tne(t,i,r),s=e.findIndex(e=>{if(Array.isArray(e)){let[t,r]=e,i=n>=t.hours&&o>=t.minutes,a=n0?Math.floor(i/60):Math.ceil(i/60);switch(e){case 0:return(i>=0?`+`:``)+Zv(o,2,a)+Zv(Math.abs(i%60),2,a);case 1:return`GMT`+(i>=0?`+`:``)+Zv(o,1,a);case 2:return`GMT`+(i>=0?`+`:``)+Zv(o,2,a)+`:`+Zv(Math.abs(i%60),2,a);case 3:return r===0?`Z`:(i>=0?`+`:``)+Zv(o,2,a)+`:`+Zv(Math.abs(i%60),2,a);default:throw new _i(2310,!1)}}}var Pne=0,ty=4;function Fne(e){let t=Jv(e,Pne,1).getDay();return Jv(e,0,1+(t<=ty?ty:11)-t)}function ny(e){let t=e.getDay(),n=t===0?-3:ty-t;return Jv(e.getFullYear(),e.getMonth(),e.getDate()+n)}function ry(e,t=!1){return function(n,r){let i;if(t){let e=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,t=n.getDate();i=1+Math.floor((t+e)/7)}else{let e=ny(n),t=Fne(e.getFullYear()),r=e.getTime()-t.getTime();i=1+Math.round(r/6048e5)}return Zv(i,e,Uv(r,zv.MinusSign))}}function iy(e,t=!1){return function(n,r){return Zv(ny(n).getFullYear(),e,Uv(r,zv.MinusSign),t)}}var ay=Object.create(null);function oy(e){if(ay[e])return ay[e];let t;switch(e){case`G`:case`GG`:case`GGG`:t=$v(3,Lv.Abbreviated);break;case`GGGG`:t=$v(3,Lv.Wide);break;case`GGGGG`:t=$v(3,Lv.Narrow);break;case`y`:t=Qv(0,1,0,!1,!0);break;case`yy`:t=Qv(0,2,0,!0,!0);break;case`yyy`:t=Qv(0,3,0,!1,!0);break;case`yyyy`:t=Qv(0,4,0,!1,!0);break;case`Y`:t=iy(1);break;case`YY`:t=iy(2,!0);break;case`YYY`:t=iy(3);break;case`YYYY`:t=iy(4);break;case`M`:case`L`:t=Qv(1,1,1);break;case`MM`:case`LL`:t=Qv(1,2,1);break;case`MMM`:t=$v(2,Lv.Abbreviated);break;case`MMMM`:t=$v(2,Lv.Wide);break;case`MMMMM`:t=$v(2,Lv.Narrow);break;case`LLL`:t=$v(2,Lv.Abbreviated,Iv.Standalone);break;case`LLLL`:t=$v(2,Lv.Wide,Iv.Standalone);break;case`LLLLL`:t=$v(2,Lv.Narrow,Iv.Standalone);break;case`w`:t=ry(1);break;case`ww`:t=ry(2);break;case`W`:t=ry(1,!0);break;case`d`:t=Qv(2,1);break;case`dd`:t=Qv(2,2);break;case`c`:case`cc`:t=Qv(7,1);break;case`ccc`:t=$v(1,Lv.Abbreviated,Iv.Standalone);break;case`cccc`:t=$v(1,Lv.Wide,Iv.Standalone);break;case`ccccc`:t=$v(1,Lv.Narrow,Iv.Standalone);break;case`cccccc`:t=$v(1,Lv.Short,Iv.Standalone);break;case`E`:case`EE`:case`EEE`:t=$v(1,Lv.Abbreviated);break;case`EEEE`:t=$v(1,Lv.Wide);break;case`EEEEE`:t=$v(1,Lv.Narrow);break;case`EEEEEE`:t=$v(1,Lv.Short);break;case`a`:case`aa`:case`aaa`:t=$v(0,Lv.Abbreviated);break;case`aaaa`:t=$v(0,Lv.Wide);break;case`aaaaa`:t=$v(0,Lv.Narrow);break;case`b`:case`bb`:case`bbb`:t=$v(0,Lv.Abbreviated,Iv.Standalone,!0);break;case`bbbb`:t=$v(0,Lv.Wide,Iv.Standalone,!0);break;case`bbbbb`:t=$v(0,Lv.Narrow,Iv.Standalone,!0);break;case`B`:case`BB`:case`BBB`:t=$v(0,Lv.Abbreviated,Iv.Format,!0);break;case`BBBB`:t=$v(0,Lv.Wide,Iv.Format,!0);break;case`BBBBB`:t=$v(0,Lv.Narrow,Iv.Format,!0);break;case`h`:t=Qv(3,1,-12);break;case`hh`:t=Qv(3,2,-12);break;case`H`:t=Qv(3,1);break;case`HH`:t=Qv(3,2);break;case`m`:t=Qv(4,1);break;case`mm`:t=Qv(4,2);break;case`s`:t=Qv(5,1);break;case`ss`:t=Qv(5,2);break;case`S`:t=Qv(6,1);break;case`SS`:t=Qv(6,2);break;case`SSS`:t=Qv(6,3);break;case`Z`:case`ZZ`:case`ZZZ`:t=ey(0);break;case`ZZZZZ`:t=ey(3);break;case`O`:case`OO`:case`OOO`:case`z`:case`zz`:case`zzz`:t=ey(1);break;case`OOOO`:case`ZZZZ`:case`zzzz`:t=ey(2);break;default:return null}return ay[e]=t,t}function sy(e,t){e=e.replace(/:/g,``);let n=Date.parse(`Jan 01, 1970 00:00:00 `+e)/6e4;return isNaN(n)?t:n}function cy(e,t){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+t),e}function ly(e,t,n){let r=e.getTimezoneOffset();return cy(e,-1*(sy(t,r)-r))}function uy(e){if(fy(e))return e;if(typeof e==`number`&&!isNaN(e))return new Date(e);if(typeof e==`string`){if(e=e.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(e)){let[t,n=1,r=1]=e.split(`-`).map(e=>+e);return Jv(t,n-1,r)}let t=parseFloat(e);if(!isNaN(e-t))return new Date(t);let n;if(n=e.match(Ene))return dy(n)}let t=new Date(e);if(!fy(t))throw new _i(2311,!1);return t}function dy(e){let t=new Date(0),n=0,r=0,i=e[8]?t.setUTCFullYear:t.setFullYear,a=e[8]?t.setUTCHours:t.setHours;e[9]&&(n=Number(e[9]+e[10]),r=Number(e[9]+e[11])),i.call(t,Number(e[1]),Number(e[2])-1,Number(e[3]));let o=Number(e[4]||0)-n,s=Number(e[5]||0)-r,c=Number(e[6]||0),l=Math.floor(parseFloat(`0.`+(e[7]||0))*1e3);return a.call(t,o,s,c,l),t}function fy(e){return e instanceof Date&&!isNaN(e.valueOf())}var py=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;injector=C(ks);constructor(e){this._viewContainerRef=e}ngOnChanges(e){if(this._shouldRecreateView(e)){let e=this._viewContainerRef;if(this._viewRef&&e.remove(e.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let t=this._createContextForwardProxy();this._viewRef=e.createEmbeddedView(this.ngTemplateOutlet,t,{injector:this._getInjector()})}}_getInjector(){return this.ngTemplateOutletInjector===`outlet`?this.injector:this.ngTemplateOutletInjector??void 0}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,t,n)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,t,n):!1,get:(e,t,n)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,t,n)}})}static ɵfac=function(t){return new(t||e)(om(Bm))};static ɵdir=kh({type:e,selectors:[[``,`ngTemplateOutlet`,``]],inputs:{ngTemplateOutletContext:`ngTemplateOutletContext`,ngTemplateOutlet:`ngTemplateOutlet`,ngTemplateOutletInjector:`ngTemplateOutletInjector`},features:[Pc]})}return e})();function my(e,t){return new _i(2100,!1)}var hy=`mediumDate`,gy=new Fi(``),_y=new Fi(``),vy=(()=>{class e{locale;defaultTimezone;defaultOptions;constructor(e,t,n){this.locale=e,this.defaultTimezone=t,this.defaultOptions=n}transform(t,n,r,i){if(t==null||t===``||t!==t)return null;try{let e=n??this.defaultOptions?.dateFormat??hy,a=r??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return kne(t,e,i||this.locale,a)}catch(t){throw my(e,t.message)}}static ɵfac=function(t){return new(t||e)(om(pv,16),om(gy,24),om(_y,24))};static ɵpipe=Ah({name:`date`,type:e,pure:!0})}return e})(),yy=(()=>{class e{transform(e){return JSON.stringify(e,null,2)}static ɵfac=function(t){return new(t||e)};static ɵpipe=Ah({name:`json`,type:e,pure:!1})}return e})();function by(e,t){t=encodeURIComponent(t);for(let n of e.split(`;`)){let e=n.indexOf(`=`),[r,i]=e==-1?[n,``]:[n.slice(0,e),n.slice(e+1)];if(r.trim()!==t)continue;let a=i;try{a=decodeURIComponent(i)}catch{}return a.length>1&&a[0]===`"`&&a[a.length-1]===`"`&&(a=a.slice(1,-1)),a}return null}var xy=`browser`,Sy=class{_doc;constructor(e){this._doc=e}manager},Cy=(()=>{class e extends Sy{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,n,r){return e.addEventListener(t,n,r),()=>this.removeEventListener(e,t,n,r)}removeEventListener(e,t,n,r){return e.removeEventListener(t,n,r)}static ɵfac=function(t){return new(t||e)(ua(As))};static ɵprov=Oi({token:e,factory:e.ɵfac})}return e})(),wy=new Fi(``),Ty=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,t){this._zone=t,e.forEach(e=>{e.manager=this});let n=e.filter(e=>!(e instanceof Cy));this._plugins=n.slice().reverse();let r=e.find(e=>e instanceof Cy);r&&this._plugins.push(r)}addEventListener(e,t,n,r){return this._findPluginFor(t).addEventListener(e,t,n,r)}getZone(){return this._zone}_findPluginFor(e){let t=this._eventNameToPlugin.get(e);if(t)return t;if(t=this._plugins.find(t=>t.supports(e)),!t)throw new _i(-5101,!1);return this._eventNameToPlugin.set(e,t),t}static ɵfac=function(t){return new(t||e)(ua(wy),ua(Us))};static ɵprov=Oi({token:e,factory:e.ɵfac})}return e})(),Ey=`ng-app-id`;function Dy(e){for(let t of e)t.remove()}function Oy(e,t){let n=t.createElement(`style`);return n.textContent=e,n}function ky(e,t,n,r){let i=e.head?.querySelectorAll(`style[${Ey}="${t}"],link[${Ey}="${t}"]`);if(!i||i.length===0)return!1;for(let e of i)e.removeAttribute(Ey),e instanceof HTMLLinkElement?r.set(e.href.slice(e.href.lastIndexOf(`/`)+1),{usage:0,elements:[e]}):e.textContent&&n.set(e.textContent,{usage:0,elements:[e]});return!0}function Ay(e,t){let n=t.createElement(`link`);return n.setAttribute(`rel`,`stylesheet`),n.setAttribute(`href`,e),n}var jy=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,t,n,r={}){this.doc=e,this.appId=t,this.nonce=n,ky(e,t,this.inline,this.external)&&this.hosts.add(e.head)}addStyles(e,t){for(let t of e)this.addUsage(t,this.inline,Oy);t?.forEach(e=>this.addUsage(e,this.external,Ay))}removeStyles(e,t){for(let t of e)this.removeUsage(t,this.inline);t?.forEach(e=>this.removeUsage(e,this.external))}addUsage(e,t,n){let r=t.get(e);r?r.usage++:t.set(e,{usage:1,elements:[...this.hosts].map(t=>this.addElement(t,n(e,this.doc)))})}removeUsage(e,t){let n=t.get(e);n&&(n.usage--,n.usage<=0&&(Dy(n.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])Dy(e);this.hosts.clear()}addHost(e){if(!this.hosts.has(e)){this.hosts.add(e);for(let[t,{elements:n}]of this.inline)n.push(this.addElement(e,Oy(t,this.doc)));for(let[t,{elements:n}]of this.external)n.push(this.addElement(e,Ay(t,this.doc)))}}removeHost(e){this.hosts.delete(e);for(let t of[...this.inline.values(),...this.external.values()]){let n=[];for(let r of t.elements)r.parentNode===e?r.remove():n.push(r);t.elements=n}}addElement(e,t){return this.nonce&&t.setAttribute(`nonce`,this.nonce),e.appendChild(t)}static ɵfac=function(t){return new(t||e)(ua(As),ua(ac),ua(lc,8),ua(cc))};static ɵprov=Oi({token:e,factory:e.ɵfac})}return e})(),My={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`,math:`http://www.w3.org/1998/Math/MathML`},Ny=/%COMP%/g,Py=`%COMP%`,Fy=`_nghost-${Py}`,Iy=`_ngcontent-${Py}`,Ly=!0,Ry=new Fi(``,{factory:()=>Ly}),zy=new Fi(``);function By(e){return Iy.replace(Ny,e)}function Vy(e){return Fy.replace(Ny,e)}function Hy(e,t){return t.map(t=>t.replace(Ny,e))}var Uy=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;cssVarNamespace;constructor(e,t,n,r,i,a,o=null,s=null,c=null){this.eventManager=e,this.sharedStylesHost=t,this.appId=n,this.removeStylesOnCompDestroy=r,this.doc=i,this.ngZone=a,this.nonce=o,this.tracingService=s,this.cssVarNamespace=c??``,this.defaultRenderer=new Wy(e,i,a,this.tracingService,this.cssVarNamespace)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;let n=this.getOrCreateRenderer(e,t);return n instanceof Jy?n.applyToHost(e):n instanceof qy&&n.applyStyles(),n}getOrCreateRenderer(e,t){let n=this.rendererByCompId,r=n.get(t.id);if(!r){let i=this.doc,a=this.ngZone,o=this.eventManager,s=this.sharedStylesHost,c=this.removeStylesOnCompDestroy,l=this.tracingService;switch(t.encapsulation){case _u.Emulated:r=new Jy(o,s,t,this.appId,c,i,a,l,this.cssVarNamespace);break;case _u.ShadowDom:return new Ky(o,e,t,i,a,this.nonce,l,this.cssVarNamespace,s);case _u.ExperimentalIsolatedShadowDom:return new Ky(o,e,t,i,a,this.nonce,l,this.cssVarNamespace);default:r=new qy(o,s,t,c,i,a,l,this.cssVarNamespace)}n.set(t.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static ɵfac=function(t){return new(t||e)(ua(Ty),ua(im),ua(ac),ua(Ry),ua(As),ua(Us),ua(lc),ua(id,8),ua(zy,8))};static ɵprov=Oi({token:e,factory:e.ɵfac})}return e})(),Wy=class{eventManager;doc;ngZone;tracingService;cssVarNamespace;data=Object.create(null);throwOnSyntheticProps=!0;constructor(e,t,n,r,i=``){this.eventManager=e,this.doc=t,this.ngZone=n,this.tracingService=r,this.cssVarNamespace=i}destroy(){}destroyNode=null;createElement(e,t){return t?this.doc.createElementNS(My[t]||t,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,t){(Gy(e)?e.content:e).appendChild(t)}insertBefore(e,t,n){if(e){let r=Gy(e)?e.content:e;if(n!=null&&n.parentNode!==r)throw new _i(-5106,!1);r.insertBefore(t,n)}}removeChild(e,t){t.remove()}selectRootElement(e,t){let n=typeof e==`string`?this.doc.querySelector(e):e;if(!n)throw new _i(-5104,!1);return t||(n.textContent=``),n}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,n,r){if(r){t=r+`:`+t;let i=My[r];i?e.setAttributeNS(i,t,n):e.setAttribute(t,n)}else e.setAttribute(t,n)}removeAttribute(e,t,n){if(n){let r=My[n];r?e.removeAttributeNS(r,t):e.removeAttribute(`${n}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,n,r){let i=t.startsWith(`--`);i&&(t=t.replace(`%NS%`,this.cssVarNamespace)),i||r&(zu.DashCase|zu.Important)?e.style.setProperty(t,n,r&zu.Important?`important`:``):e.style[t]=n}removeStyle(e,t,n){let r=t.startsWith(`--`);r&&(t=t.replace(`%NS%`,this.cssVarNamespace)),r||n&zu.DashCase?e.style.removeProperty(t):e.style[t]=``}setProperty(e,t,n){e!=null&&(e[t]=n)}setValue(e,t){e.nodeValue=t}listen(e,t,n,r){if(typeof e==`string`&&(e=Fv().getGlobalEventTarget(this.doc,e),!e))throw new _i(-5102,!1);let i=this.decoratePreventDefault(n);return this.tracingService?.wrapEventListener&&(i=this.tracingService.wrapEventListener(e,t,i)),this.eventManager.addEventListener(e,t,i,r)}decoratePreventDefault(e){return t=>{if(t===`__ngUnwrap__`)return e;e(t)===!1&&t.preventDefault()}}};function Gy(e){return e.tagName===`TEMPLATE`&&e.content!==void 0}var Ky=class extends Wy{hostEl;sharedStylesHost;shadowRoot;constructor(e,t,n,r,i,a,o,s,c){super(e,r,i,o,s),this.hostEl=t,this.sharedStylesHost=c,this.shadowRoot=t.attachShadow({mode:`open`}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let l=n.styles;l=Hy(n.id,l).map(e=>e.replace(/%NS%/g,s));for(let e of l){let t=document.createElement(`style`);a&&t.setAttribute(`nonce`,a),t.textContent=e,this.shadowRoot.appendChild(t)}let u=n.getExternalStyles?.();if(u)for(let e of u){let t=Ay(e,r);a&&t.setAttribute(`nonce`,a),this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,n){return super.insertBefore(this.nodeOrShadowRoot(e),t,n)}removeChild(e,t){return super.removeChild(null,t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},qy=class extends Wy{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(e,t,n,r,i,a,o,s,c){super(e,i,a,o,s),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r;let l=n.styles,u=c?Hy(c,l):l;this.styles=u.map(e=>e.replace(/%NS%/g,s)),this.styleUrls=n.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&Ku.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},Jy=class extends qy{contentAttr;hostAttr;constructor(e,t,n,r,i,a,o,s,c){let l=r+`-`+n.id;super(e,t,n,i,a,o,s,c,l),this.contentAttr=By(l),this.hostAttr=Vy(l)}applyToHost(e){this.applyStyles(),this.setAttribute(e,this.hostAttr,``)}createElement(e,t){let n=super.createElement(e,t);return super.setAttribute(n,this.contentAttr,``),n}},Yy=class e extends vne{supportsDOMEvents=!0;static makeCurrent(){_ne(new e)}onAndCancel(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.remove()}createElement(e,t){return t||=this.getDefaultDocument(),t.createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument(`fakeTitle`)}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return t===`window`?window:t===`document`?e:t===`body`?e.body:null}getBaseHref(e){let t=Zy();return t==null?null:Qy(t)}resetBaseElement(){Xy=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return by(document.cookie,e)}},Xy=null;function Zy(){return Xy||=document.head.querySelector(`base`),Xy?Xy.getAttribute(`href`):null}function Qy(e){return new URL(e,document.baseURI).pathname}var $y=[`alt`,`control`,`meta`,`shift`],eb={"\b":`Backspace`," ":`Tab`,"":`Delete`,"\x1B":`Escape`,Del:`Delete`,Esc:`Escape`,Left:`ArrowLeft`,Right:`ArrowRight`,Up:`ArrowUp`,Down:`ArrowDown`,Menu:`ContextMenu`,Scroll:`ScrollLock`,Win:`OS`},tb={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},nb=(()=>{class e extends Sy{constructor(e){super(e)}supports(t){return e.parseEventName(t)!=null}addEventListener(t,n,r,i){let a=e.parseEventName(n),o=e.eventCallback(a.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Fv().onAndCancel(t,a.domEventName,o,i))}static parseEventName(t){let n=t.toLowerCase().split(`.`),r=n.shift();if(n.length===0||r!==`keydown`&&r!==`keyup`)return null;let i=e._normalizeKey(n.pop()),a=``,o=n.indexOf(`code`);if(o>-1&&(n.splice(o,1),a=`code.`),$y.forEach(e=>{let t=n.indexOf(e);t>-1&&(n.splice(t,1),a+=e+`.`)}),a+=i,n.length!=0||i.length===0)return null;let s={};return s.domEventName=r,s.fullKey=a,s}static matchEventFullKeyCode(e,t){let n=eb[e.key]||e.key,r=``;return t.indexOf(`code.`)>-1&&(n=e.code,r=`code.`),n==null||!n?!1:(n=n.toLowerCase(),n===` `?n=`space`:n===`.`&&(n=`dot`),$y.forEach(t=>{if(t!==n){let n=tb[t];n(e)&&(r+=t+`.`)}}),r+=n,r===t)}static eventCallback(t,n,r){return i=>{e.matchEventFullKeyCode(i,t)&&r.runGuarded(()=>n(i))}}static _normalizeKey(e){return e===`esc`?`escape`:e}static ɵfac=function(t){return new(t||e)(ua(As))};static ɵprov=Oi({token:e,factory:e.ɵfac})}return e})();async function rb(e,t,n){return mne({rootComponent:e,...ib(t,n)})}function ib(e,t){return{platformRef:t?.platformRef,appProviders:[...lb,...e?.providers??[]],platformProviders:cb}}function ab(){Yy.makeCurrent()}function ob(){return new tc}function sb(){return au(document),document}var cb=[{provide:cc,useValue:xy},{provide:sc,useValue:ab,multi:!0},{provide:As,useFactory:sb}],lb=[{provide:Wa,useValue:`root`},{provide:tc,useFactory:ob},{provide:wy,useClass:Cy,multi:!0},{provide:wy,useClass:nb,multi:!0},Uy,{provide:im,useClass:jy},{provide:jy,useExisting:im},Ty,{provide:wp,useExisting:Uy},[]];function ub(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e{let r=new mb({code:i,why:fb(a.why,e),fix:fb(a.fix,e),docs:o,cause:e.cause,sources:e.sources,data:fb(a.data,e)},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function _b(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n=0?n.slice(0,r):n}function Ci(e,t){return e?t?`${e} ${t}`:e:t||``}var wi=bi({__forward_ref__:bi});function Ti(e){return e.__forward_ref__=Ti,e}function Ei(e){return Di(e)?e():e}function Di(e){return typeof e==`function`&&Object.hasOwn(e,wi)&&e.__forward_ref__===Ti}function Oi(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ki(e){return Ai(e,Ni)}function Ai(e,t){return Object.hasOwn(e,t)&&e[t]||null}function ji(e){return(e?.[Ni]??null)||null}function Mi(e){return e&&Object.hasOwn(e,Pi)?e[Pi]:null}var Ni=bi({ɵprov:bi}),Pi=bi({ɵinj:bi}),Fi=class{_desc;ngMetadataName=`InjectionToken`;ɵprov;constructor(e,t){this._desc=e,this.ɵprov=void 0,typeof t==`number`?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.ɵprov=Oi({token:this,providedIn:t.providedIn||`root`,factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Ii(e){return e&&!!e.ɵproviders}var Li=bi({ɵcmp:bi}),Ri=bi({ɵdir:bi}),zi=bi({ɵpipe:bi}),Bi=bi({ɵfac:bi}),Vi=bi({__NG_ELEMENT_ID__:bi}),Hi=bi({__NG_ENV_ID__:bi});function Ui(e){return Ki(e,`@Component`),e[Li]||null}function Wi(e){return Ki(e,`@Directive`),e[Ri]||null}function Gi(e){return Ki(e,`@Pipe`),e[zi]||null}function Ki(e,t){if(e==null)throw new _i(-919,!1)}function qi(e){return typeof e==`string`?e:e==null?``:String(e)}var Ji=bi({ngErrorCode:bi}),Yi=bi({ngErrorMessage:bi}),Xi=bi({ngTokenPath:bi});function Zi(e,t){return $i(``,-200,t)}function Qi(e,t){throw new _i(-201,!1)}function $i(e,t,n){let r=new _i(t,e);return r[Ji]=t,r[Yi]=e,n&&(r[Xi]=n),r}function ea(e){return e[Ji]}var ta;function na(){return ta}function ra(e){let t=ta;return ta=e,t}function ia(e,t,n){let r=ki(e);if(r&&r.providedIn==`root`)return r.value===void 0?r.value=r.factory():r.value;if(n&8)return null;if(t!==void 0)return t;Qi(e,``)}var aa=globalThis,oa={},sa=`__NG_DI_FLAG__`,ca=class{injector;constructor(e){this.injector=e}retrieve(e,t){let n=da(t)||0;try{return this.injector.get(e,n&8?null:oa,n)}catch(e){if(Kn(e))return e;throw e}}};function la(e,t=0){let n=Un();if(n===void 0)throw new _i(-203,!1);if(n===null)return ia(e,void 0,t);{let r=fa(t),i=n.retrieve(e,r);if(Kn(i)){if(r.optional)return null;throw i}return i}}function ua(e,t=0){return(na()||la)(Ei(e),t)}function C(e,t){return ua(e,da(t))}function da(e){return e===void 0||typeof e==`number`?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function fa(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function pa(e){let t=[];for(let n=0;nArray.isArray(e)?va(e,t):t(e))}function ya(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function ba(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function xa(e,t){let n=[];for(let r=0;rt;){let t=i-2;e[i]=e[t],i--}e[t]=n,e[t+1]=r}}function Ca(e,t,n){let r=Ta(e,t);return r>=0?e[r|1]=n:(r=~r,Sa(e,r,t,n)),r}function wa(e,t){let n=Ta(e,t);if(n>=0)return e[n|1]}function Ta(e,t){return Ea(e,t,1)}function Ea(e,t,n){let r=0,i=e.length>>n;for(;i!==r;){let a=r+(i-r>>1),o=e[a<t?i=a:r=a+1}return~(i<{n.push(e)};return va(t,e=>{let t=e;Ia(t,a,[],r)&&(i||=[],i.push(t))}),i!==void 0&&Fa(i,a),n}function Fa(e,t){for(let n=0;n{t(e,r)})}}function Ia(e,t,n,r){if(e=Ei(e),!e)return!1;let i=null,a=Mi(e),o=!a&&Ui(e);if(!a&&!o){let t=e.ngModule;if(a=Mi(t),a)i=t;else return!1}else if(o&&!o.standalone)return!1;else i=e;let s=r.has(i);if(o){if(s)return!1;if(r.add(i),o.dependencies){let e=typeof o.dependencies==`function`?o.dependencies():o.dependencies;for(let i of e)Ia(i,t,n,r)}}else if(a){if(a.imports!=null&&!s){r.add(i);let e;try{va(a.imports,i=>{Ia(i,t,n,r)&&(e||=[],e.push(i))})}finally{}e!==void 0&&Fa(e,t)}if(!s){let e=ha(i)||(()=>new i);t({provide:i,useFactory:e,deps:Oa},i),t({provide:ja,useValue:i,multi:!0},i),t({provide:ka,useValue:()=>ua(i),multi:!0},i)}let o=a.providers;if(o!=null&&!s){let n=e;La(o,e=>{t(e,n)})}}else return!1;return i!==e&&e.providers!==void 0}function La(e,t){for(let n of e)Ii(n)&&(n=n.ɵproviders),Array.isArray(n)?La(n,t):t(n)}var Ra=bi({provide:String,useValue:bi});function za(e){return typeof e==`object`&&!!e&&Ra in e}function Ba(e){return!!(e&&e.useExisting)}function Va(e){return!!(e&&e.useFactory)}function Ha(e){return typeof e==`function`}function Ua(e){return!!e.useClass}var Wa=new Fi(``),Ga={},Ka={},qa=void 0;function Ja(){return qa===void 0&&(qa=new Ma),qa}var Ya=class{},Xa=class extends Ya{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(e,t,n,r){super(),this.parent=t,this.source=n,this.scopes=r,oo(e,e=>this.processProvider(e)),this.records.set(Aa,no(void 0,this)),r.has(`environment`)&&this.records.set(Ya,no(void 0,this));let i=this.records.get(Wa);i!=null&&typeof i.value==`string`&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(ja,Oa,{self:!0}))}retrieve(e,t){let n=da(t)||0;try{return this.get(e,oa,n)}catch(e){if(Kn(e))return e;throw e}}destroy(){to(this),this._destroyed=!0;let e=nn(null);try{for(let e of this._ngOnDestroyHooks)e.ngOnDestroy();let e=this._onDestroyHooks;this._onDestroyHooks=[];for(let t of e)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),nn(e)}}onDestroy(e){return to(this),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){to(this);let t=Wn(this),n=ra(void 0);try{return e()}finally{Wn(t),ra(n)}}get(e,t=oa,n){if(to(this),Object.hasOwn(e,Hi))return e[Hi](this);let r=da(n),i=Wn(this),a=ra(void 0);try{if(!(r&4)){let t=this.records.get(e);if(t===void 0){let n=ao(e)&&ki(e);t=n&&this.injectableDefInScope(n)?no(Za(e),Ga):null,this.records.set(e,t)}if(t!=null)return this.hydrate(e,t,r)}let n=r&2?Ja():this.parent;return t=r&8&&t===oa?null:t,n.get(e,t)}catch(e){let t=ea(e);throw t===-200||t===-201?new _i(t,null):e}finally{ra(a),Wn(i)}}resolveInjectorInitializers(){let e=nn(null),t=Wn(this),n=ra(void 0);try{let e=this.get(ka,Oa,{self:!0});for(let t of e)t()}finally{Wn(t),ra(n),nn(e)}}toString(){return`R3Injector[...]`}processProvider(e){e=Ei(e);let t=Ha(e)?e:Ei(e&&e.provide),n=$a(e);if(!Ha(e)&&e.multi===!0){let n=this.records.get(t);n||(n=no(void 0,Ga,!0),n.factory=()=>pa(n.multi),this.records.set(t,n)),t=e,n.multi.push(e)}this.records.set(t,n)}hydrate(e,t,n){let r=nn(null);try{if(t.value===Ka)throw Zi(``);return t.value===Ga&&(t.value=Ka,t.value=t.factory(void 0,n)),typeof t.value==`object`&&t.value&&io(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{nn(r)}}injectableDefInScope(e){if(!e.providedIn)return!1;let t=Ei(e.providedIn);return typeof t==`string`?t===`any`||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(e){let t=this._onDestroyHooks.indexOf(e);t!==-1&&this._onDestroyHooks.splice(t,1)}};function Za(e){let t=ki(e),n=t===null?ha(e):t.factory;if(n!==null)return n;if(e instanceof Fi)throw new _i(-204,!1);if(e instanceof Function)return Qa(e);throw new _i(-204,!1)}function Qa(e){if(e.length>0)throw new _i(-204,!1);let t=ji(e);return t===null?()=>new e:()=>t.factory(e)}function $a(e){return za(e)?no(void 0,e.useValue):no(eo(e),Ga)}function eo(e,t,n){let r;if(Ha(e)){let t=Ei(e);return ha(t)||Za(t)}if(za(e))r=()=>Ei(e.useValue);else if(Va(e))r=()=>e.useFactory(...pa(e.deps||[]));else if(Ba(e))r=(t,n)=>ua(Ei(e.useExisting),n!==void 0&&n&8?8:void 0);else{let t=Ei(e&&(e.useClass||e.provide));if(ro(e))r=()=>new t(...pa(e.deps));else return ha(t)||Za(t)}return r}function to(e){if(e.destroyed)throw new _i(-205,!1)}function no(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function ro(e){return!!e.deps}function io(e){return typeof e==`object`&&!!e&&typeof e.ngOnDestroy==`function`}function ao(e){return typeof e==`function`||typeof e==`object`&&e.ngMetadataName===`InjectionToken`}function oo(e,t){for(let n of e)Array.isArray(n)?oo(n,t):n&&Ii(n)?oo(n.ɵproviders,t):t(n)}function so(e,t){let n;e instanceof Xa?(to(e),n=e):n=new ca(e);let r=Wn(n),i=ra(void 0);try{return t()}finally{Wn(r),ra(i)}}function co(){return na()!==void 0||Un()!=null}var lo=1;function uo(e){return Array.isArray(e)&&typeof e[lo]==`object`}function fo(e){return Array.isArray(e)&&e[lo]===!0}function po(e){return!!(e.flags&4)}function mo(e){return e.componentOffset>-1}function ho(e){return(e.flags&1)==1}function go(e){return!!e.template}function _o(e){return!!(e[2]&512)}function vo(e){return(e[2]&256)==256}var yo=(function(e){return e[e.NONE=0]=`NONE`,e[e.HTML=1]=`HTML`,e[e.STYLE=2]=`STYLE`,e[e.SCRIPT=3]=`SCRIPT`,e[e.URL=4]=`URL`,e[e.RESOURCE_URL=5]=`RESOURCE_URL`,e[e.ATTRIBUTE_NO_BINDING=6]=`ATTRIBUTE_NO_BINDING`,e})(yo||{}),bo=`math`;function xo(e){for(;Array.isArray(e);)e=e[0];return e}function So(e,t){return xo(t[e])}function Co(e,t){return xo(t[e.index])}function wo(e,t){return e.data[t]}function To(e,t){return e[t]}function Eo(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}function Do(e,t){let n=t[e];return uo(n)?n:n[0]}function Oo(e){return(e[2]&128)==128}function Pee(e){return fo(e[3])}function ko(e,t){return t==null?null:e[t]}function Ao(e){e[17]=0}function jo(e){e[2]&1024||(e[2]|=1024,Oo(e)&&Po(e))}function Fee(e,t){for(;e>0;)t=t[14],e--;return t}function Mo(e){return!!(e[2]&9216||e[24]?.dirty)}function No(e){e[10].changeDetectionScheduler?.notify(8),e[2]&64&&(e[2]|=1024),Mo(e)&&Po(e)}function Po(e){e[10].changeDetectionScheduler?.notify(0);let t=Io(e);for(;t!==null&&!(t[2]&8192||(t[2]|=8192,!Oo(t)));)t=Io(t)}function Fo(e,t){if(vo(e))throw new _i(911,!1);e[21]===null&&(e[21]=[]),e[21].push(t)}function Iee(e,t){if(e[21]===null)return;let n=e[21].indexOf(t);n!==-1&&e[21].splice(n,1)}function Io(e){let t=e[3];return fo(t)?t[3]:t}function Lo(e){return e[7]??=[]}function Ro(e){return e.cleanup??=[]}function Lee(e,t,n,r){let i=Lo(t);i.push(n),e.firstCreatePass&&Ro(e).push(r,i.length-1)}var zo={lFrame:ps(null),bindingsEnabled:!0,skipHydrationRootTNode:null},Bo=!1;function Ree(){return zo.lFrame.elementDepthCount}function zee(){zo.lFrame.elementDepthCount++}function Vo(){zo.lFrame.elementDepthCount--}function Ho(){return zo.bindingsEnabled}function Uo(){return zo.skipHydrationRootTNode!==null}function Wo(e){return zo.skipHydrationRootTNode===e}function Go(){zo.skipHydrationRootTNode=null}function Ko(){return zo.lFrame.lView}function qo(){return zo.lFrame.tView}function w(e){return zo.lFrame.contextLView=e,e[8]}function T(e){return zo.lFrame.contextLView=null,e}function Jo(){let e=Yo();for(;e!==null&&e.type===64;)e=e.parent;return e}function Yo(){return zo.lFrame.currentTNode}function Bee(){let e=zo.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function Xo(e,t){let n=zo.lFrame;n.currentTNode=e,n.isParent=t}function Zo(){return zo.lFrame.isParent}function Qo(){zo.lFrame.isParent=!1}function $o(){return zo.lFrame.contextLView}function es(){return Bo}function ts(e){let t=Bo;return Bo=e,t}function ns(){let e=zo.lFrame,t=e.bindingRootIndex;return t===-1&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function rs(){return zo.lFrame.bindingIndex}function Vee(e){return zo.lFrame.bindingIndex=e}function is(){return zo.lFrame.bindingIndex++}function as(e){let t=zo.lFrame,n=t.bindingIndex;return t.bindingIndex+=e,n}function Hee(){return zo.lFrame.inI18n}function Uee(e,t){let n=zo.lFrame;n.bindingIndex=n.bindingRootIndex=e,os(t)}function Wee(){return zo.lFrame.currentDirectiveIndex}function os(e){zo.lFrame.currentDirectiveIndex=e}function Gee(e){let t=zo.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function ss(){return zo.lFrame.currentQueryIndex}function cs(e){zo.lFrame.currentQueryIndex=e}function ls(e){let t=e[1];return t.type===2?t.declTNode:t.type===1?e[5]:null}function us(e,t,n){if(n&4){let r=t,i=e;for(;r=r.parent,r===null&&!(n&1)&&(r=ls(i),!(r===null||(i=i[14],r.type&10))););if(r===null)return!1;t=r,e=i}let r=zo.lFrame=fs();return r.currentTNode=t,r.lView=e,!0}function ds(e){let t=fs(),n=e[1];zo.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function fs(){let e=zo.lFrame,t=e===null?null:e.child;return t===null?ps(e):t}function ps(e){let t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=t),t}function ms(){let e=zo.lFrame;return zo.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var hs=ms;function gs(){let e=ms();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function _s(e){return(zo.lFrame.contextLView=Fee(e,zo.lFrame.contextLView))[8]}function vs(){return zo.lFrame.selectedIndex}function ys(e){zo.lFrame.selectedIndex=e}function bs(){let e=zo.lFrame;return wo(e.tView,e.selectedIndex)}function E(){zo.lFrame.currentNamespace=`svg`}function xs(){Ss()}function Ss(){zo.lFrame.currentNamespace=null}function Cs(){return zo.lFrame.currentNamespace}var ws=!0;function Ts(){return ws}function Es(e){ws=e}function Ds(e,t=null,n=null,r){let i=Os(e,t,n,r);return i.resolveInjectorInitializers(),i}function Os(e,t=null,n=null,r,i=new Set){return new Xa([n||Oa,Na(e)],t||Ja(),null,i)}var ks=class e{static THROW_IF_NOT_FOUND=oa;static NULL=new Ma;static create(e,t){if(Array.isArray(e))return Ds({name:``},t,e,``);{let t=e.name??``;return Ds({name:t},e.parent,e.providers,t)}}static ɵprov=Oi({token:e,providedIn:`any`,factory:()=>ua(Aa)});static __NG_ELEMENT_ID__=-1},As=new Fi(``),js=class{static __NG_ELEMENT_ID__=Ns;static __NG_ENV_ID__=e=>e},Ms=class extends js{_lView;constructor(e){super(),this._lView=e}get destroyed(){return vo(this._lView)}onDestroy(e){let t=this._lView;return Fo(t,e),()=>Iee(t,e)}};function Ns(){return new Ms(Ko())}var Ps=new Fi(``),Fs=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new Xr(!1);debugTaskTracker=C(Ps,{optional:!0});get hasPendingTasks(){return!this.destroyed&&this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new zr(e=>{e.next(!1),e.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let e=this.taskId++;return this.pendingTasks.add(e),this.debugTaskTracker?.add(e),e}has(e){return this.pendingTasks.has(e)}remove(e){this.pendingTasks.delete(e),this.debugTaskTracker?.remove(e),this.pendingTasks.size===0&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static ɵprov=Oi({token:e,providedIn:`root`,factory:()=>new e})}return e})(),Is=class extends Jr{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(e=!1){super(),this.__isAsync=e,co()&&(this.destroyRef=C(js,{optional:!0})??void 0,this.pendingTasks=C(Fs,{optional:!0})??void 0)}emit(e){let t=nn(null);try{super.next(e)}finally{nn(t)}}subscribe(e,t,n){let r=e,i=t||(()=>null),a=n;if(e&&typeof e==`object`){let t=e;r=t.next?.bind(t),i=t.error?.bind(t),a=t.complete?.bind(t)}this.__isAsync&&(i=this.wrapInTimeout(i),r&&=this.wrapInTimeout(r),a&&=this.wrapInTimeout(a));let o=super.subscribe({next:r,error:i,complete:a});return e instanceof fr&&e.add(o),o}wrapInTimeout(e){return t=>{let n=this.pendingTasks?.add();setTimeout(()=>{try{e(t)}finally{n!==void 0&&this.pendingTasks?.remove(n)}})}}};function Ls(...e){}function Rs(e){let t,n;function r(){e=Ls;try{n!==void 0&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(n),t!==void 0&&clearTimeout(t)}catch{}}return t=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame==`function`&&(n=requestAnimationFrame(()=>{e(),r()})),()=>r()}function zs(e){return queueMicrotask(()=>e()),()=>{e=Ls}}var Bs=`isAngularZone`,Vs=`isAngularZone_ID`,Hs=0,Us=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new Is(!1);onMicrotaskEmpty=new Is(!1);onStable=new Is(!1);onError=new Is(!1);constructor(e){let{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:i=!1}=e;if(typeof Zone>`u`)throw new _i(908,!1);Zone.assertZonePatched();let a=this;a._nesting=0,a._outer=a._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(a._inner=a._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(a._inner=a._inner.fork(Zone.longStackTraceZoneSpec)),a.shouldCoalesceEventChangeDetection=!r&&n,a.shouldCoalesceRunChangeDetection=r,a.callbackScheduled=!1,a.scheduleInRootZone=i,qs(a)}static isInAngularZone(){return typeof Zone<`u`&&Zone.current.get(Bs)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new _i(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new _i(909,!1)}run(e,t,n){return this._inner.run(e,t,n)}runTask(e,t,n,r){let i=this._inner,a=i.scheduleEventTask(`NgZoneEvent: `+r,e,Ws,Ls,Ls);try{return i.runTask(a,t,n)}finally{i.cancelTask(a)}}runGuarded(e,t,n){return this._inner.runGuarded(e,t,n)}runOutsideAngular(e){return this._outer.run(e)}},Ws={};function Gs(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Ks(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){Rs(()=>{e.callbackScheduled=!1,Js(e),e.isCheckStableRunning=!0,Gs(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),Js(e)}function qs(e){let t=()=>{Ks(e)},n=Hs++;e._inner=e._inner.fork({name:`angular`,properties:{[Bs]:!0,[Vs]:n,[Vs+n]:!0},onInvokeTask:(n,r,i,a,o,s)=>{if(Qs(s))return n.invokeTask(i,a,o,s);try{return Ys(e),n.invokeTask(i,a,o,s)}finally{(e.shouldCoalesceEventChangeDetection&&a.type===`eventTask`||e.shouldCoalesceRunChangeDetection)&&t(),Xs(e)}},onInvoke:(n,r,i,a,o,s,c)=>{try{return Ys(e),n.invoke(i,a,o,s,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!$s(s)&&t(),Xs(e)}},onHasTask:(t,n,r,i)=>{t.hasTask(r,i),n===r&&(i.change==`microTask`?(e._hasPendingMicrotasks=i.microTask,Js(e),Gs(e)):i.change==`macroTask`&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,n,r,i)=>(t.handleError(r,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}function Js(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0)}function Ys(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Xs(e){e._nesting--,Gs(e)}var Zs=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new Is;onMicrotaskEmpty=new Is;onStable=new Is;onError=new Is;run(e,t,n){return e.apply(t,n)}runGuarded(e,t,n){return e.apply(t,n)}runOutsideAngular(e){return e()}runTask(e,t,n,r){return e.apply(t,n)}};function Qs(e){return ec(e,`__ignore_ng_zone__`)}function $s(e){return ec(e,`__scheduler_tick__`)}function ec(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var tc=class{_console=console;handleError(e){this._console.error(`ERROR`,e)}},nc=new Fi(``,{factory:()=>{let e=C(Us),t=C(Ya),n;return r=>{e.runOutsideAngular(()=>{t.destroyed&&!n?setTimeout(()=>{throw r}):(n??=t.get(tc),n.handleError(r))})}}}),rc={provide:ka,useValue:()=>{C(tc,{optional:!0})},multi:!0};function D(e,t){let[n,r,i]=Pn(e,t?.equal),a=n;return a[tn],a.set=r,a.update=i,a.asReadonly=ic.bind(a),a}function ic(){let e=this[tn];if(e.readonlyFn===void 0){let t=()=>this();t[tn]=e,e.readonlyFn=t}return e.readonlyFn}var ac=new Fi(``,{factory:()=>oc}),oc=`ng`,sc=new Fi(``),cc=new Fi(``,{providedIn:`platform`,factory:()=>`unknown`}),lc=new Fi(``,{factory:()=>C(As).body?.querySelector(`[ngCspNonce]`)?.getAttribute(`ngCspNonce`)||null}),uc=(()=>{class e{view;node;constructor(e,t){this.view=e,this.node=t}static __NG_ELEMENT_ID__=dc}return e})();function dc(){return new uc(Ko(),Jo())}var fc=class{},pc=new Fi(``,{factory:()=>!0}),mc=new Fi(``),hc=(()=>{class e{static ɵprov=Oi({token:e,providedIn:`root`,factory:()=>new gc})}return e})(),gc=class{dirtyEffectCount=0;queues=new Map;add(e){this.enqueue(e),this.schedule(e)}schedule(e){e.dirty&&this.dirtyEffectCount++}remove(e){let t=e.zone,n=this.queues.get(t);n.has(e)&&(n.delete(e),e.dirty&&this.dirtyEffectCount--)}enqueue(e){let t=e.zone;this.queues.has(t)||this.queues.set(t,new Set);let n=this.queues.get(t);n.has(e)||n.add(e)}flush(){for(;this.dirtyEffectCount>0;){let e=!1;for(let[t,n]of this.queues)e||=t===null?this.flushQueue(n):t.run(()=>this.flushQueue(n));e||(this.dirtyEffectCount=0)}}flushQueue(e){let t=!1;for(let n of e)n.dirty&&(this.dirtyEffectCount--,t=!0,n.run());return t}},_c=class{[tn];constructor(e){this[tn]=e}destroy(){this[tn].destroy()}};function vc(e,t){let n=t?.injector??C(ks),r=t?.manualCleanup===!0?null:n.get(js),i,a=n.get(uc,null,{optional:!0}),o=n.get(fc);return a===null?i=Cc(e,n.get(hc),o):(i=Sc(a.view,o,e),r instanceof Ms&&r._lView===a.view&&(r=null)),i.injector=n,r!==null&&(i.onDestroyFns=[r.onDestroy(()=>i.destroy())]),new _c(i)}var yc={...Bn,cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let e=ts(!1);try{Vn(this)}finally{ts(e)}},cleanup(){if(!this.cleanupFns?.length)return;let e=nn(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],nn(e)}}},bc={...yc,consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(vn(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.scheduler.remove(this)}},xc={...yc,consumerMarkedDirty(){this.view[2]|=8192,Po(this.view),this.notifier.notify(13)},destroy(){if(vn(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.view[23]?.delete(this)}};function Sc(e,t,n){let r=Object.create(xc);return r.view=e,r.zone=typeof Zone<`u`?Zone.current:null,r.notifier=t,r.fn=wc(r,n),e[23]??=new Set,e[23].add(r),r.consumerMarkedDirty(r),r}function Cc(e,t,n){let r=Object.create(bc);return r.fn=wc(r,e),r.scheduler=t,r.notifier=n,r.zone=typeof Zone<`u`?Zone.current:null,r.scheduler.add(r),r.notifier.notify(12),r}function wc(e,t){return()=>{t(t=>(e.cleanupFns??=[]).push(t))}}function Tc(e){return typeof e==`function`&&e[tn]!==void 0}function Ec(e){return Tc(e)&&typeof e.set==`function`}var Dc=Symbol(`InputSignalNode#UNSET`),Oc={...Rn,transformFn:void 0,applyValueToInputSignal(e,t){In(e,t)}};function kc(e){return{toString:e}.toString()}var Ac=(function(e){return e[e.TemplateCreateStart=0]=`TemplateCreateStart`,e[e.TemplateCreateEnd=1]=`TemplateCreateEnd`,e[e.TemplateUpdateStart=2]=`TemplateUpdateStart`,e[e.TemplateUpdateEnd=3]=`TemplateUpdateEnd`,e[e.LifecycleHookStart=4]=`LifecycleHookStart`,e[e.LifecycleHookEnd=5]=`LifecycleHookEnd`,e[e.OutputStart=6]=`OutputStart`,e[e.OutputEnd=7]=`OutputEnd`,e[e.BootstrapApplicationStart=8]=`BootstrapApplicationStart`,e[e.BootstrapApplicationEnd=9]=`BootstrapApplicationEnd`,e[e.BootstrapComponentStart=10]=`BootstrapComponentStart`,e[e.BootstrapComponentEnd=11]=`BootstrapComponentEnd`,e[e.ChangeDetectionStart=12]=`ChangeDetectionStart`,e[e.ChangeDetectionEnd=13]=`ChangeDetectionEnd`,e[e.ChangeDetectionSyncStart=14]=`ChangeDetectionSyncStart`,e[e.ChangeDetectionSyncEnd=15]=`ChangeDetectionSyncEnd`,e[e.AfterRenderHooksStart=16]=`AfterRenderHooksStart`,e[e.AfterRenderHooksEnd=17]=`AfterRenderHooksEnd`,e[e.ComponentStart=18]=`ComponentStart`,e[e.ComponentEnd=19]=`ComponentEnd`,e[e.DeferBlockStateStart=20]=`DeferBlockStateStart`,e[e.DeferBlockStateEnd=21]=`DeferBlockStateEnd`,e[e.DynamicComponentStart=22]=`DynamicComponentStart`,e[e.DynamicComponentEnd=23]=`DynamicComponentEnd`,e[e.HostBindingsUpdateStart=24]=`HostBindingsUpdateStart`,e[e.HostBindingsUpdateEnd=25]=`HostBindingsUpdateEnd`,e})(Ac||{}),jc=class{previousValue;currentValue;firstChange;constructor(e,t,n){this.previousValue=e,this.currentValue=t,this.firstChange=n}isFirstChange(){return this.firstChange}};function Mc(e,t,n,r){t===null?e[n]=r:t.applyValueToInputSignal(t,r)}var Nc=null,Pc=(()=>{Nc=Ic;let e=()=>Ic;return e.ngInherit=!0,e})();function Fc(){return Nc}function Ic(e){return e.type.prototype.ngOnChanges&&(e.setInput=Rc),Lc}function Lc(){let e=Bc(this),t=e?.current;if(t){let n=e.previous;if(n===Da)e.previous=t;else for(let e in t)n[e]=t[e];e.current=null,this.ngOnChanges(t)}}function Rc(e,t,n,r,i){let a=this.declaredInputs[r],o=Bc(e)||Vc(e,{previous:Da,current:null}),s=o.current||={},c=o.previous,l=c[a];s[a]=new jc(l&&l.currentValue,n,c===Da),Mc(e,t,i,n)}var zc=`__ngSimpleChanges__`;function Bc(e){return Object.hasOwn(e,zc)&&e[zc]||null}function Vc(e,t){return e[zc]=t}var Hc=[],Uc=function(e,t=null,n){for(let r=0;r=r)break}else t[c]<0&&(e[17]+=65536),(s>14>16&&(e[2]&3)===t&&(e[2]+=16384,Xc(o,a)):Xc(o,a)}var Qc=-1,$c=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(e,t,n,r){this.factory=e,this.name=r,this.canSeeViewProviders=t,this.injectImpl=n}};function el(e){return!!(e.flags&8)}function tl(e){return!!(e.flags&16)}function nl(e,t,n){let r=0;for(;rt){o=a-1;break}}}for(;a>16}function ul(e,t){let n=ll(e),r=t;for(;n>0;)r=r[14],n--;return r}var dl=!0;function fl(e){let t=dl;return dl=e,t}var pl=255,ml=5,hl=0,gl={};function _l(e,t,n){let r;typeof n==`string`?r=n.charCodeAt(0)||0:Object.hasOwn(n,Vi)&&(r=n[Vi]),r??=n[Vi]=hl++;let i=r&pl,a=1<>ml)]|=a}function vl(e,t){let n=bl(e,t);if(n!==-1)return n;let r=t[1];r.firstCreatePass&&(e.injectorIndex=t.length,yl(r.data,e),yl(t,null),yl(r.blueprint,null));let i=xl(e,t),a=e.injectorIndex;if(sl(i)){let e=cl(i),n=ul(i,t),r=n[1].data;for(let i=0;i<8;i++)t[a+i]=n[e+i]|r[e+i]}return t[a+8]=i,a}function yl(e,t){e.push(0,0,0,0,0,0,0,0,t)}function bl(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function xl(e,t){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let n=0,r=null,i=t;for(;i!==null;){if(r=Rl(i),r===null)return Qc;if(n++,i=i[14],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return Qc}function Sl(e,t,n){_l(e,t,n)}function Cl(e,t,n){if(n&8||e!==void 0)return e;Qi(t,`NodeInjector`)}function wl(e,t,n,r){if(n&8&&r===void 0&&(r=null),!(n&3)){let i=e[9],a=ra(void 0);try{return i?i.get(t,r,n&8):ia(t,r,n&8)}finally{ra(a)}}return Cl(r,t,n)}function Tl(e,t,n,r=0,i){if(e!==null){if(t[2]&2048&&!(r&2)){let i=Ll(e,t,n,r,gl);if(i!==gl)return i}let i=El(e,t,n,r,gl);if(i!==gl)return i}return wl(t,n,r,i)}function El(e,t,n,r,i){let a=Al(n);if(typeof a==`function`){if(!us(t,e,r))return r&1?Cl(i,n,r):wl(t,n,r,i);try{let e;if(e=a(r),e==null&&!(r&8))Qi(n);else return e}finally{hs()}}else if(typeof a==`number`){let i=null,o=bl(e,t),s=Qc,c=r&1?t[15][5]:null;for((o===-1||r&4)&&(s=o===-1?xl(e,t):t[o+8],s===Qc||!Ml(r,!1)?o=-1:(i=t[1],o=cl(s),t=ul(s,t)));o!==-1;){let e=t[1];if(jl(a,o,e.data)){let e=Dl(o,t,n,i,r,c);if(e!==gl)return e}s=t[o+8],s!==Qc&&Ml(r,t[1].data[o+8]===c)&&jl(a,o,t)?(i=e,o=cl(s),t=ul(s,t)):o=-1}}return i}function Dl(e,t,n,r,i,a){let o=t[1],s=o.data[e+8],c=Ol(s,o,n,r==null?mo(s)&&dl:r!=o&&!!(s.type&3),i&1&&a===s);return c===null?gl:kl(t,o,c,s,i)}function Ol(e,t,n,r,i){let a=e.providerIndexes,o=t.data,s=a&1048575,c=e.directiveStart,l=e.directiveEnd,u=a>>20,d=r?s:s+u,f=i?s+u:l;for(let e=d;e=c&&t.type===n)return e}if(i){let e=o[c];if(e&&go(e)&&e.type===n)return c}return null}function kl(e,t,n,r,i){let a=e[n],o=t.data;if(a instanceof $c){let s=a;if(s.resolving)throw Zi(``);let c=fl(s.canSeeViewProviders);s.resolving=!0,o[n].type||o[n];let l=s.injectImpl?ra(s.injectImpl):null;us(e,r,0);try{a=e[n]=s.factory(void 0,i,o,e,r),t.firstCreatePass&&n>=r.directiveStart&&Wc(n,o[n],t)}finally{l!==null&&ra(l),fl(c),s.resolving=!1,hs()}}return a}function Al(e){if(typeof e==`string`)return e.charCodeAt(0)||0;let t=Object.hasOwn(e,Vi)?e[Vi]:void 0;return typeof t==`number`?t>=0?t&pl:Pl:t}function jl(e,t,n){let r=1<>ml)]&r)}function Ml(e,t){return!(e&2)&&!(e&1&&t)}var Nl=class{_tNode;_lView;constructor(e,t){this._tNode=e,this._lView=t}get(e,t,n){return Tl(this._tNode,this._lView,e,da(n),t)}};function Pl(){return new Nl(Jo(),Ko())}function Fl(e){return kc(()=>{let t=e.prototype.constructor,n=t[Bi]||Il(t),r=Object.prototype,i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==r;){let e=i[Bi]||Il(i);if(e&&e!==n)return e;i=Object.getPrototypeOf(i)}return e=>new e})}function Il(e){return Di(e)?()=>{let t=Il(Ei(e));return t&&t()}:ha(e)}function Ll(e,t,n,r,i){let a=e,o=t;for(;a!==null&&o!==null&&o[2]&2048&&!_o(o);){let e=El(a,o,n,r|2,gl);if(e!==gl)return e;r&=-5;let t=a.parent;if(!t){let e=o[20];if(e){let t=e.get(n,gl,r);if(t!==gl)return t}t=Rl(o),o=o[14]}a=t}return i}function Rl(e){let t=e[1],n=t.type;return n===2?t.declTNode:n===1?e[5]:null}function zl(e){return{token:e.token,providedIn:e.autoProvided===!1?null:`root`,factory:e.factory,value:void 0}}function Bl(){return Vl(Jo(),Ko())}function Vl(e,t){return new Hl(Co(e,t))}var Hl=(()=>{class e{nativeElement;constructor(e){this.nativeElement=e}static __NG_ELEMENT_ID__=Bl}return e})();function Ul(e){return e instanceof Hl?e.nativeElement:e}function Wl(){return this._results[Symbol.iterator]()}var Gl=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new Jr}constructor(e=!1){this._emitDistinctChangesOnly=e}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){this.dirty=!1;let n=_a(e);(this._changesDetected=!ga(this._results,n,t))&&(this._results=n,this.length=n.length,this.last=n[this.length-1],this.first=n[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(e){this._onDirty=e}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=Wl};function Kl(e){return(e.flags&128)==128}var ql=(function(e){return e[e.OnPush=0]=`OnPush`,e[e.Eager=1]=`Eager`,e[e.Default=1]=`Default`,e})(ql||{}),Jl=new Map,Yl=0;function Xl(){return Yl++}function Zl(e){Jl.set(e[19],e)}function Ql(e){Jl.delete(e[19])}var $l=`__ngContext__`;function eu(e,t){uo(t)?(e[$l]=t[19],Zl(t)):e[$l]=t}function tu(e){return ru(e[12])}function nu(e){return ru(e[4])}function ru(e){for(;e!==null&&!fo(e);)e=e[4];return e}var iu=void 0;function au(e){iu=e}function ou(){if(iu!==void 0)return iu;if(typeof document<`u`)return document;throw new _i(210,!1)}var su=!1,cu=new Fi(``,{factory:()=>su}),lu=new WeakMap;function uu(e,t){if(typeof e!=`object`||!e)return;let n=lu.get(e);n||(n=new WeakSet,lu.set(e,n)),n.add(t)}function du(e){return(e.flags&32)==32}var fu=()=>null;function pu(e,t,n=!1){return fu(e,t,n)}function mu(e,t){let n=e.contentQueries;if(n!==null){let r=nn(null);try{for(let r=0;r|^->||--!>|)/g,Jee=`​$1​`;function Yee(e){return e.replace(Kee,e=>e.replace(qee,Jee))}function Xee(e,t){return e.createText(t)}function Zee(e,t,n){e.setValue(t,n)}function Qee(e,t){return e.createComment(Yee(t))}function wu(e,t,n){return e.createElement(t,n)}function Tu(e,t,n,r,i){e.insertBefore(t,n,r,i)}function Eu(e,t,n){e.appendChild(t,n)}function Du(e,t,n,r,i){r===null?Eu(e,t,n):Tu(e,t,n,r,i)}function Ou(e,t,n,r){e.removeChild(null,t,n,r)}function $ee(e,t,n){e.setAttribute(t,`style`,n)}function ete(e,t,n){n===``?e.removeAttribute(t,`class`):e.setAttribute(t,`class`,n)}function ku(e,t,n){let{mergedAttrs:r,classes:i,styles:a}=n;r!==null&&nl(e,t,r),i!==null&&ete(e,t,i),a!==null&&$ee(e,t,a)}function Au(e){let t=tte();return t?t.sanitize(yo.URL,e)||``:bu(e,`URL`)?yu(e):Cu(qi(e))}function tte(){let e=Ko();return e&&e[10].sanitizer}function ju(e){return e.ownerDocument.defaultView}function Mu(e){return e.ownerDocument}function nte(e,t,n){let r=e.length;for(;;){let i=e.indexOf(t,n);if(i===-1)return i;if(i===0||e.charCodeAt(i-1)<=32){let n=t.length;if(i+n===r||e.charCodeAt(i+n)<=32)return i}n=i+1}}var Nu=`ng-template`;function rte(e,t,n,r){let i=0;if(r){for(;i-1){let e;for(;++ia?``:i[u+1].toLowerCase(),r&2&&l!==e){if(Fu(r))return!1;o=!0}}}}}return Fu(r)||o}function Fu(e){return!(e&1)}function ote(e,t,n,r){if(t===null)return-1;let i=0;if(r||!n){let n=!1;for(;i-1)for(n++;n0?`="`+t+`"`:``)+`]`}else r&8?i+=`.`+o:r&4&&(i+=` `+o)}else i!==``&&!Fu(o)&&(t+=Lu(a,i),i=``),r=o,a||=!Fu(r);n++}return i!==``&&(t+=Lu(a,i)),t}function fte(e){return e.map(dte).join(`,`)}function pte(e){let t=[],n=[],r=1,i=2;for(;r!1});function Vu(e){if(!e)return 0;let t=e.toLowerCase().indexOf(`ms`)>-1?1:1e3;return parseFloat(e)*t}function Hu(e,t){return e.getPropertyValue(t).split(`,`).map(e=>e.trim())}function gte(e){let t=Hu(e,`transition-property`),n=Hu(e,`transition-duration`),r=Hu(e,`transition-delay`),i={propertyName:``,duration:0,animationName:void 0};for(let e=0;ei.duration&&(i.propertyName=t[e],i.duration=a)}return i}function _te(e){let t=Hu(e,`animation-name`),n=Hu(e,`animation-delay`),r=Hu(e,`animation-duration`),i=Hu(e,`animation-iteration-count`),a={animationName:``,propertyName:void 0,duration:0};for(let e=0;ea.duration&&s!==`infinite`&&(a.animationName=t[e],a.duration=o)}return a}function Uu(e,t){return e!==void 0&&e.duration>t.duration}function Wu(e){return(e.animationName!=null||e.propertyName!=null)&&e.duration>0}function Gu(e){let t=e.effect?.getTiming();if(t===void 0)return;let n=typeof t.duration==`number`?t.duration:0,r=(t.delay??0)+n,i=e.playbackRate;return i!==void 0&&i!==0&&i!==1&&(r/=Math.abs(i)),r}function vte(e,t){let n=getComputedStyle(e),r=_te(n),i=gte(n),a=r.duration>i.duration?r:i;Uu(t.get(e),a)||Wu(a)&&t.set(e,a)}function yte(e,t,n){if(!n)return;let r=e.getAnimations();return r.length===0?vte(e,t):bte(e,t,r)}function bte(e,t,n){let r={animationName:void 0,propertyName:void 0,duration:0};for(let e of n){if(e.effect?.getTiming()?.iterations===1/0)continue;let t=Gu(e)??0,n,i;e.animationName?i=e.animationName:n=e.transitionProperty,t>=r.duration&&(r={animationName:i,propertyName:n,duration:t})}Uu(t.get(e),r)||Wu(r)&&t.set(e,r)}var Ku=new Set,xte=!1,Ste=1,qu=typeof document<`u`&&typeof document?.documentElement?.getAnimations==`function`;function Cte(e){return e[9].get(hte,xte)}function wte(e,t,n){let r=Yu.get(e);if(r){for(let e of t)r.classList.push(e);for(let e of n)r.cleanupFns.push(e)}else Yu.set(e,{classList:t,cleanupFns:n})}function Ju(e){let t=Yu.get(e);if(t){for(let e of t.cleanupFns)e();Yu.delete(e)}Xu.delete(e)}var Yu=new WeakMap,Xu=new WeakMap,Zu=new WeakMap;function Qu(e){return e?e[14]??e:null}var $u=new WeakSet;function Tte(e,t,n){let r=Zu.get(e);if(!r||r.length===0)return;let i=t.parentNode,a=t.previousSibling,o=Qu(n);for(let e=r.length-1;e>=0;e--){let{el:n,declarationView:s}=r[e],c=n.parentNode;n===t?(r.splice(e,1),$u.add(n),n.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}}))):(a&&n===a||c&&i&&c!==i&&(o===null||s===null||o===s))&&(r.splice(e,1),n.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}})),n.parentNode?.removeChild(n))}}function Ete(e,t,n){let r=Qu(n),i=Zu.get(e);i?i.some(e=>e.el===t)||i.push({el:t,declarationView:r}):Zu.set(e,[{el:t,declarationView:r}])}function ed(e){let t=e[26]??={};return t.enter??=new Map}function Dte(e){let t=typeof e==`function`?e():e,n=Array.isArray(t)?t:null;return typeof t==`string`&&(n=t.trim().split(/\s+/).filter(e=>e)),n}function td(e){return e.composedPath?e.composedPath()[0]:e.target}function nd(e,t){let n=Xu.get(t);if(n===void 0)return!0;if(t!==td(e))return!1;let r=e.animation;if(r){let e=Gu(r);if(e!==void 0&&e+Ste{class e{impl=null;execute(){this.impl?.execute()}static ɵprov=Oi({token:e,providedIn:`root`,factory:()=>new e})}return e})(),cd=[0,1,2,3],ld=(()=>{class e{ngZone=C(Us);scheduler=C(fc);errorHandler=C(tc,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){C(id,{optional:!0})}execute(){let e=this.sequences.size>0;e&&Uc(Ac.AfterRenderHooksStart),this.executing=!0;for(let e of cd)for(let t of this.sequences)if(!t.erroredOrDestroyed&&t.hooks[e])try{t.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let n=t.hooks[e];return n(t.pipelinedValue)},t.snapshot))}catch(e){t.erroredOrDestroyed=!0,this.errorHandler?.handleError(e)}this.executing=!1;for(let e of this.sequences)e.afterRun(),e.once&&(this.sequences.delete(e),e.destroy());for(let e of this.deferredRegistrations)this.sequences.add(e);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),e&&Uc(Ac.AfterRenderHooksEnd)}register(e){let{view:t}=e;t===void 0?this.executing?this.deferredRegistrations.add(e):this.addSequence(e):((t[25]??=[]).push(e),Po(t),t[2]|=8192)}addSequence(e){this.sequences.add(e),this.scheduler.notify(7)}unregister(e){this.executing&&this.sequences.has(e)?(e.erroredOrDestroyed=!0,e.pipelinedValue=void 0,e.once=!0):(this.sequences.delete(e),this.deferredRegistrations.delete(e))}maybeTrace(e,t){return t?t.run(rd.AFTER_NEXT_RENDER,e):e()}static ɵprov=Oi({token:e,providedIn:`root`,factory:()=>new e})}return e})(),ud=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(e,t,n,r,i,a=null){this.impl=e,this.hooks=t,this.view=n,this.once=r,this.snapshot=a,this.unregisterOnDestroy=i?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();let e=this.view?.[25];e&&(this.view[25]=e.filter(e=>e!==this))}};function dd(e,t){let n=t?.injector??C(ks);return od(`NgAfterNextRender`),Ate(e,n,t,!0)}function kte(e){return e instanceof Function?[void 0,void 0,e,void 0]:[e.earlyRead,e.write,e.mixedReadWrite,e.read]}function Ate(e,t,n,r){let i=t.get(sd);i.impl??=t.get(ld);let a=t.get(id,null,{optional:!0}),o=n?.manualCleanup===!0?null:t.get(js),s=t.get(uc,null,{optional:!0}),c=new ud(i.impl,kte(e),s?.view,r,o,a?.snapshot(null));return i.impl.register(c),c}var fd=new Fi(``,{factory:()=>{let e=C(Ya),t=new Set;return e.onDestroy(()=>t.clear()),{queue:t,isScheduled:!1,scheduler:null,injector:e}}});function pd(e,t,n){let r=e.get(fd);if(Array.isArray(t))for(let e of t)r.queue.add(e),n?.detachedLeaveAnimationFns?.push(e);else r.queue.add(t),n?.detachedLeaveAnimationFns?.push(t);r.scheduler&&r.scheduler(e)}function jte(e,t){let n=e.get(fd);if(Array.isArray(t))for(let e of t)n.queue.delete(e);else n.queue.delete(t)}function Mte(e,t){let n=e.get(fd);if(t.detachedLeaveAnimationFns){for(let e of t.detachedLeaveAnimationFns)n.queue.delete(e);t.detachedLeaveAnimationFns=void 0}}function Nte(e){let t=e.get(fd);t.isScheduled||=(dd(()=>{t.isScheduled=!1;for(let e of t.queue)e();t.queue.clear()},{injector:t.injector}),!0)}function Pte(e){let t=e.get(fd);t.scheduler=Nte,t.scheduler(e)}function md(e,t){for(let[n,r]of t)pd(e,r.animateFns)}function hd(e,t,n,r){let i=e?.[26]?.enter;t!==null&&i&&i.has(n.index)&&md(r,i)}function gd(e,t,n,r){try{n.get(Aa)}catch{return r(!1)}let i=e?.[26];i?.enter?.has(t.index)&&jte(n,i.enter.get(t.index).animateFns);let a=_d(e,t,i);if(a.size===0){let n=!1;if(e){let r=[];yd(e,t,r),n=r.length>0}if(!n)return r(!1)}e&&Ku.add(e[19]),pd(n,()=>vd(e,t,i||void 0,a,r),i||void 0)}function _d(e,t,n){let r=new Map,i=n?.leave;if(i&&i.has(t.index)&&r.set(t.index,i.get(t.index)),e&&i)for(let[n,a]of i){if(r.has(n))continue;let i=e[1].data[n].parent;for(;i;){if(i===t){r.set(n,a);break}i=i.parent}}return r}function vd(e,t,n,r,i){let a=[];if(n&&n.leave)for(let[e]of r){if(!n.leave.has(e))continue;let t=n.leave.get(e);for(let e of t.animateFns){let{promise:t}=e();a.push(t)}n.detachedLeaveAnimationFns=void 0}if(e&&yd(e,t,a),a.length>0){let t=n||e?.[26];if(t){let n=t.running;n&&a.push(n),t.running=Promise.allSettled(a),xd(e,t.running,i)}else Promise.allSettled(a).then(()=>{e&&Ku.delete(e[19]),i(!0)})}else e&&Ku.delete(e[19]),i(!1)}function yd(e,t,n){if(t.type&12){let r=e[t.index];if(fo(r))for(let e=10;e{e[26]?.running===t&&(e[26].running=void 0,Ku.delete(e[19])),n(!0)})}function Sd(e,t,n,r,i,a,o,s){if(i!=null){let c,l=!1;fo(i)?c=i:uo(i)&&(l=!0,i=i[0]);let u=xo(i);e===0&&r!==null?(hd(s,r,a,n),o==null?Eu(t,r,u):Tu(t,r,u,o||null,!0)):e===1&&r!==null?(hd(s,r,a,n),Tu(t,r,u,o||null,!0),Tte(a,u,s)):e===2?(s?.[26]?.leave?.has(a.index)&&Ete(a,u,s),$u.delete(u),gd(s,a,n,e=>{if($u.has(u)){$u.delete(u);return}Ou(t,u,l,e)})):e===3&&($u.delete(u),gd(s,a,n,()=>{t.destroyNode(u)})),c!=null&&Kd(t,e,n,c,a,r,o)}}function Cd(e,t){Td(e,t),t[0]=null,t[5]=null}function wd(e,t,n,r,i,a){r[0]=i,r[5]=t,Hd(e,r,n,1,i,a)}function Td(e,t){t[10].changeDetectionScheduler?.notify(9),Hd(e,t,t[11],2,null,null)}function Ed(e){let t=e[12];if(!t)return kd(e[1],e);for(;t;){let n=null;if(uo(t))n=t[12];else{let e=t[10];e&&(n=e)}if(!n){for(;t&&!t[4]&&t!==e;)uo(t)&&kd(t[1],t),t=t[3];t===null&&(t=e),uo(t)&&kd(t[1],t),n=t&&t[4]}t=n}}function Dd(e,t){let n=e[9],r=n.indexOf(t);n.splice(r,1)}function Od(e,t){if(vo(t))return;let n=t[11];n.destroyNode&&Hd(e,t,n,3,null,null),Ed(t)}function kd(e,t){if(vo(t))return;let n=nn(null);try{t[2]&=-129,t[2]|=256,t[24]&&vn(t[24]),jd(e,t),Ad(e,t),t[1].type===1&&t[11].destroy();let n=t[16];if(n!==null&&fo(t[3])){n!==t[3]&&Dd(n,t);let r=t[18];r!==null&&r.detachView(e)}Ql(t)}finally{nn(n)}}function Ad(e,t){let n=e.cleanup,r=t[7];if(n!==null)for(let e=0;e=0?r[t]():r[-t].unsubscribe(),e+=2}else{let t=r[n[e+1]];n[e].call(t)}r!==null&&(t[7]=null);let i=t[21];if(i!==null){t[21]=null;for(let e=0;e27&&nf(e,t,27,!1),Uc(o?Ac.TemplateUpdateStart:Ac.TemplateCreateStart,i,n),n(r,i)}finally{ys(a),Uc(o?Ac.TemplateUpdateEnd:Ac.TemplateCreateEnd,i,n)}}function sf(e,t,n){mf(e,t,n),(n.flags&64)==64&&hf(e,t,n)}function cf(e,t,n=Co){let r=t.localNames;if(r!==null){let i=t.index+1;for(let a=0;a=s&&i<=c){let o=t.data[i],s=r[e+1];af(o,n[i],s,a),l=!0}else if(i>c)break}}return o!==null&&Object.hasOwn(r.inputs,i)&&(af(r,n[o],i,a),l=!0),l}function Ef(e,t){let n=Do(t,e),r=n[1];Df(r,n);let i=n[0];i!==null&&n[6]===null&&(n[6]=pu(i,n[9])),Uc(Ac.ComponentStart);try{Of(r,n,n[8])}finally{Uc(Ac.ComponentEnd,n[8])}}function Df(e,t){for(let n=t.length;n{Po(e.lView)},consumerOnSignalRead(){this.lView[24]=this}};function Bf(e){let t=e[24]??Object.create(Vf);return t.lView=e,t}var Vf={...an,consumerIsAlwaysLive:!0,kind:`template`,consumerMarkedDirty:e=>{let t=Io(e.lView);for(;t&&!Hf(t[1]);)t=Io(t);t&&jo(t)},consumerOnSignalRead(){this.lView[24]=this}};function Hf(e){return e.type!==2}function Uf(e){if(e[23]===null)return;let t=!0;for(;t;){let n=!1;for(let t of e[23])if(t.dirty&&(n=!0,t.zone===null||Zone.current===t.zone?t.run():t.zone.run(()=>t.run()),e[23]===null))return;t=n&&!!(e[2]&8192)}}var Wf=100;function Gf(e,t=0){let n=e[10].rendererFactory;n.begin?.();try{Kf(e,t)}finally{n.end?.()}}function Kf(e,t){let n=es();try{ts(!0),Qf(e,t);let n=0;for(;Mo(e);){if(n===Wf)throw new _i(103,!1);n++,Qf(e,1)}}finally{ts(n)}}function qf(e,t,n,r){if(vo(t))return;let i=t[2];ds(t);let a=!0,o=null,s=null;Hf(e)?(s=If(t),o=pn(s)):rn()===null?(a=!1,s=Bf(t),o=pn(s)):t[24]&&=(vn(t[24]),null);try{Ao(t),Vee(e.bindingStartIndex),n!==null&&of(e,t,n,2,r);let a=(i&3)==3;if(a){let n=e.preOrderCheckHooks;n!==null&&Kc(t,n,null)}else{let n=e.preOrderHooks;n!==null&&qc(t,n,0,null),Jc(t,0)}if(Yf(t),Uf(t),Jf(t,0),e.contentQueries!==null&&mu(e,t),a){let n=e.contentCheckHooks;n!==null&&Kc(t,n)}else{let n=e.contentHooks;n!==null&&qc(t,n,1),Jc(t,1)}ep(e,t);let o=e.components;o!==null&&$f(t,o,0);let s=e.viewQuery;if(s!==null&&hu(2,s,r),a){let n=e.viewCheckHooks;n!==null&&Kc(t,n)}else{let n=e.viewHooks;n!==null&&qc(t,n,2),Jc(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[22]){for(let e of t[22])e();t[22]=null}Pf(t),t[2]&=-73}catch(e){throw Po(t),e}finally{s!==null&&(hn(s,o),a&&Rf(s)),gs()}}function Jf(e,t){for(let n=tu(e);n!==null;n=nu(n))for(let e=10;e0&&(e[n-1][4]=r[4]);let a=ba(e,10+t);Cd(r[1],r);let o=a[18];o!==null&&o.detachView(a[1]),r[3]=null,r[4]=null,r[2]&=-129}return r}function sp(e,t,n,r){let i=10+r,a=n.length;r>0&&(n[i-1][4]=t),r-1&&(op(e,n),ba(t,n))}this._attachedToViewContainer=!1}Od(this._lView[1],this._lView)}onDestroy(e){Fo(this._lView,e)}markForCheck(){tp(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[2]&=-129}reattach(){No(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,Gf(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new _i(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=_o(this._lView),t=this._lView[16];t!==null&&!e&&Dd(t,this._lView),Td(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new _i(902,!1);this._appRef=e;let t=_o(this._lView),n=this._lView[16];n!==null&&!t&&cp(n,this._lView),No(this._lView)}},up=(()=>{class e{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=dp;constructor(e,t,n){this._declarationLView=e,this._declarationTContainer=t,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(e,t){return this.createEmbeddedViewImpl(e,t)}createEmbeddedViewImpl(e,t,n){return new lp(Af(this._declarationLView,this._declarationTContainer,e,{embeddedViewInjector:t,dehydratedView:n}))}}return e})();function dp(){return fp(Jo(),Ko())}function fp(e,t){return e.type&4?new up(t,e,Vl(e,t)):null}function pp(e,t,n,r,i){let a=e.data[t];if(a===null)a=mp(e,t,n,r,i),Hee()&&(a.flags|=32);else if(a.type&64){a.type=n,a.value=r,a.attrs=i;let e=Bee();a.injectorIndex=e===null?-1:e.injectorIndex}return Xo(a,!0),a}function mp(e,t,n,r,i){let a=Yo(),o=Zo(),s=o?a:a&&a.parent,c=e.data[t]=gp(e,s,n,t,r,i);return hp(e,c,a,o),c}function hp(e,t,n,r){e.firstChild===null&&(e.firstChild=t),n!==null&&(r?n.child==null&&t.parent!==null&&(n.child=t):n.next===null&&(n.next=t,t.prev=n))}function gp(e,t,n,r,i,a){let o=t?t.injectorIndex:-1,s=0;return Uo()&&(s|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,controlDirectiveIndex:-1,customControlIndex:-1,propertyBindings:null,flags:s,providerIndexes:0,value:i,namespace:Cs(),attrs:a,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function _p(e){let t=e[6]??[],n=e[3][11],r=[];for(let e of t)e.data.di===void 0?vp(e,n):r.push(e);e[6]=r}function vp(e,t){let n=0,r=e.firstChild;if(r){let i=e.data.r;for(;nnull,bp=()=>null;function xp(e,t){return yp(e,t)}function Sp(e,t,n){return bp(e,t,n)}var Cp=class{},wp=class{},Tp=class{destroyNode=null;static __NG_ELEMENT_ID__=()=>Ep()};function Ep(){let e=Ko(),t=Do(Jo().index,e);return(uo(t)?t:e)[11]}var Dp=(()=>{class e{static ɵprov=Oi({token:e,providedIn:`root`,factory:()=>null})}return e})();function Op(e){return e.debugInfo?.className||e.type.name||null}var kp={},Ap=class{injector;parentInjector;constructor(e,t){this.injector=e,this.parentInjector=t}get(e,t,n){let r=this.injector.get(e,kp,n);return r!==kp||t===kp?r:this.parentInjector.get(e,t,n)}};function jp(e,t,n){return e[t]=n}function Mp(e,t){return e[t]}function Np(e,t,n){if(n===Ru)return!1;let r=e[t];return!Object.is(r,n)&&(e[t]=n,!0)}function Pp(e,t,n,r){let i=Np(e,t,n);return Np(e,t+1,r)||i}function Fp(e,t,n,r,i){let a=Pp(e,t,n,r);return Np(e,t+2,i)||a}function Ip(e,t,n,r,i,a){let o=Pp(e,t,n,r);return Pp(e,t+2,i,a)||o}function Lp(e,t,n){return function r(i){let a=r.__ngNativeEl__;a!==void 0&&uu(i,a),tp(mo(e)?Do(e.index,t):t,5);let o=t[8],s=Rp(t,o,n,i),c=r.__ngNextListenerFn__;for(;c;)s=Rp(t,o,c,i)&&s,c=c.__ngNextListenerFn__;return s}}function Rp(e,t,n,r){let i=nn(null);try{return Uc(Ac.OutputStart,t,n),n(r)!==!1}catch(t){return Cf(e,t),!1}finally{Uc(Ac.OutputEnd,t,n),nn(i)}}function zp(e,t,n,r,i,a,o,s){let c=ho(e),l=!1,u=null;if(!r&&c&&(u=Vp(t,n,a,e.index)),u!==null){let e=u.__ngLastListenerFn__||u;e.__ngNextListenerFn__=o,u.__ngLastListenerFn__=o,l=!0}else{let o=Co(e,n),c=r?r(o):o;r||(s.__ngNativeEl__=o);let l=i.listen(c,a,s);Bp(a)||Hp(r?t=>r(xo(t[e.index])):e.index,t,n,a,s,l,!1)}return l}function Bp(e){return e.startsWith(`animation`)||e.startsWith(`transition`)}function Vp(e,t,n,r){let i=e.cleanup;if(i!=null)for(let e=0;er?n[r]:null}typeof a==`string`&&(e+=2)}return null}function Hp(e,t,n,r,i,a,o){let s=t.firstCreatePass?Ro(t):null,c=Lo(n),l=c.length;c.push(i,a),s&&s.push(r,e,l,(l+1)*(o?-1:1))}function Up(e,t,n,r,i){let a=null,o=null,s=null,c=!1,l=e.directiveToIndex.get(n.type);if(typeof l==`number`?a=l:[a,o,s]=l,o!==null&&s!==null&&e.hostDirectiveOutputs&&Object.hasOwn(e.hostDirectiveOutputs,r)){let n=e.hostDirectiveOutputs[r];for(let a=0;a=o&&l<=s)c=!0,Wp(e,t,l,n[a+1],r,i);else if(l>s)break}}return Object.hasOwn(n.outputs,r)&&(c=!0,Wp(e,t,a,r,r,i)),c}function Wp(e,t,n,r,i,a){let o=t[n],s=t[1],c=o[s.data[n].outputs[r]].subscribe(a);Hp(e.index,s,t,i,a,c,!0)}function Gp(){Kp()}function Kp(){let e=Ko(),t=qo(),n=Jo();if(t.firstCreatePass&&Qp(t,n),n.controlDirectiveIndex===-1)return;od(`NgSignalForms`);let r=e[n.controlDirectiveIndex];t.data[n.controlDirectiveIndex].controlDef.create(r,new Yp(e,t,n))}function qp(){Jp()}function Jp(){let e=Ko(),t=qo(),n=bs();if(n.controlDirectiveIndex===-1)return;let r=t.data[n.controlDirectiveIndex].controlDef,i=e[n.controlDirectiveIndex];r.update(i,new Yp(e,t,n))}var Yp=class{lView;tView;tNode;hasPassThrough;constructor(e,t,n){this.lView=e,this.tView=t,this.tNode=n,this.hasPassThrough=!!(n.flags&4096)}get customControl(){return this.tNode.customControlIndex===-1?void 0:this.lView[this.tNode.customControlIndex]}get nativeElement(){return Co(this.tNode,this.lView)}get descriptor(){return`<${this.tNode.value}>`}listenToCustomControlOutput(e,t){let n=this.tView.data[this.tNode.customControlIndex];Up(this.tNode,this.lView,n,e,Lp(this.tNode,this.lView,t))}listenToCustomControlModel(e){let t=this.tNode.flags&1024?`valueChange`:`checkedChange`,n=this.tView.data[this.tNode.customControlIndex];Up(this.tNode,this.lView,n,t,Lp(this.tNode,this.lView,e))}listenToDom(e,t){zp(this.tNode,this.tView,this.lView,void 0,this.lView[11],e,t,Lp(this.tNode,this.lView,t))}setInputOnDirectives(e,t,n){let r=this.tNode.inputs?.[e],i=this.tNode.hostDirectiveInputs?.[e];if(!r&&!i)return!1;let a=!1;if(r)for(let i of r){if(i===this.tNode.controlDirectiveIndex)continue;let r=this.lView[i],o=this.tView.data[i];(!n||n(Zp(r,o,e)))&&(af(o,r,e,t),a=!0)}if(i)for(let r=0;r0;){let e=n.shift();if(typeof e!=`function`){for(let n in e.inputs)t[e.inputs[n]]=!0;let r=Xp(e.directive);r!==null&&n.push(...r);continue}for(let r of e()){if(typeof r==`function`)continue;if(r.inputs)for(let e=0;e1){t.flags|=4096;return}$p(e,t)}function $p(e,t){for(let n=t.directiveStart;n{let r=t.hostDirectiveInputs[e],i=t.hostDirectiveOutputs[e+`Change`];if(!r||!i)return!1;for(let e=0;e=i&&a<=o)return t.flags|=n,t.customControlIndex=r,!0}}return!1};if(e(`value`,1024)||e(`checked`,2048))return}}function em(e,t){return tm(e,t)&&nm(e,t+`Change`)}function tm(e,t){return t in e.inputs}function nm(e,t){return t in e.outputs}var rm=Symbol(`BINDING`),im=new Fi(``);function am(e,t,n){let r=n?e.styles:null,i=n?e.classes:null,a=0;if(t!==null)for(let e=0;e0&&(n.directiveToIndex=new Map);for(let c=0;c0;){let n=e[--t];if(typeof n==`number`&&n<0)return n}return 0}function ym(e,t,n){if(n){if(t.exportAs)for(let r=0;r{let[n,r,i]=e[t],a={propName:n,templateName:t,isSignal:(r&rf.SignalBased)!==0};return i&&(a.transform=i),a})}function Dm(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function Om(e,t,n){let r=t instanceof Ya?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new Ap(n,r):n}function km(e){let t=e.get(wp,null);if(t===null)throw new _i(407,!1);return{rendererFactory:t,sanitizer:e.get(Dp,null),changeDetectionScheduler:e.get(fc,null),ngReflect:!1,tracingService:e.get(id,null,{optional:!0})}}function Am(e,t,n){let r=Mm(e);return wu(t,r,r===`svg`?`svg`:r===`math`?bo:n)}function jm(e){if((e&&`localName`in e&&typeof e.localName==`string`?e.localName:e?.tagName)?.toLowerCase()===`script`)throw new _i(905,!1)}function Mm(e){return(e.selectors[0][0]||`div`).toLowerCase()}var Nm=class{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=Em(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=Dm(this.componentDef.outputs),this.cachedOutputs}constructor(e,t){this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=fte(e.selectors),this.ngContentSelectors=e.ngContentSelectors??[],this.isBoundToModule=!!t}create(e,t,n,r,i,a,o){Uc(Ac.DynamicComponentStart);let s=nn(null);try{let s=this.componentDef,c=Om(s,r||this.ngModule,e),l=km(c),u=l.tracingService;return u&&u.componentCreate?u.componentCreate(Op(s),()=>this.createComponentRef(l,c,t,n,i,a,o)):this.createComponentRef(l,c,t,n,i,a,o)}finally{nn(s)}}createComponentRef(e,t,n,r,i,a,o){let s=this.componentDef,c=Pm(r,s,a,i),l=e.rendererFactory.createRenderer(null,s),u=r?lf(l,r,s.encapsulation,t):Am(s,l,o??null);jm(u);let d=t.get(im,null),f=Fm(u,()=>t.get(As,null)??ou());d&&d.addHost(f);let p=a?.some(Lm)||i?.some(e=>typeof e!=`function`&&e.bindings.some(Lm)),m=Zd(null,c,null,512|$d(s),null,null,e,l,t,null,pu(u,t,!0));d&&wm&&f instanceof ShadowRoot&&Fo(m,()=>{d.removeHost(f)}),m[27]=u,ds(m);let h=null;try{let e=xm(27,m,2,`#host`,()=>c.directiveRegistry,!0,0);ku(l,u,e),eu(u,m),sf(c,m,e),gu(c,e,m),Sm(c,e),n!==void 0&&zm(e,this.ngContentSelectors,n),h=Do(e.index,m),m[8]=h[8],Of(c,m,null)}catch(e){throw h!==null&&Ql(h),Ql(m),e}finally{Uc(Ac.DynamicComponentEnd),gs()}return new Rm(this.componentType,m,!!p)}};function Pm(e,t,n,r){let i=e?[`ng-version`,`22.1.7`]:pte(t.selectors[0]),a=null,o=null,s=0;if(n)for(let e of n)s+=e[rm].requiredVars,e.create&&(e.targetIdx=0,(a??=[]).push(e)),e.update&&(e.targetIdx=0,(o??=[]).push(e));if(r)for(let e=0;e{if(n&1&&e)for(let t of e)t.create();if(n&2&&t)for(let e of t)e.update()}}function Lm(e){let t=e[rm].kind;return t===`input`||t===`twoWay`}var Rm=class extends Cp{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(e,t,n){super(),this._rootLView=t,this._hasInputBindings=n,this._tNode=wo(t[1],27),this.location=Vl(this._tNode,t),this.instance=Do(this._tNode.index,t)[8],this.hostView=this.changeDetectorRef=new lp(t,void 0),this.componentType=e}setInput(e,t){this._hasInputBindings;let n=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(e)&&Object.is(this.previousInputValues.get(e),t))return;let r=this._rootLView;wf(n,r[1],r,e,t),this.previousInputValues.set(e,t),tp(Do(n.index,r),1)}get injector(){return new Nl(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}};function zm(e,t,n){let r=e.projection=[];for(let e=0;e{class e{static __NG_ELEMENT_ID__=Vm}return e})();function Vm(){return Gm(Jo(),Ko())}var Hm=class e extends Bm{_lContainer;_hostTNode;_hostLView;constructor(e,t,n){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=n}get element(){return Vl(this._hostTNode,this._hostLView)}get injector(){return new Nl(this._hostTNode,this._hostLView)}get parentInjector(){let e=xl(this._hostTNode,this._hostLView);if(sl(e)){let t=ul(e,this._hostLView),n=cl(e),r=t[1].data[n+8];return new Nl(r,t)}return new Nl(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){let t=Um(this._lContainer);return t!==null&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,n){let r,i;typeof n==`number`?r=n:n!=null&&(r=n.index,i=n.injector);let a=xp(this._lContainer,e.ssrId),o=e.createEmbeddedViewImpl(t||{},i,a);return this.insertImpl(o,r,jf(this._hostTNode,a)),o}createComponent(e,t,n,r,i,a,o){let s,c=t||{};s=c.index,n=c.injector,r=c.projectableNodes,i=c.environmentInjector||c.ngModuleRef,a=c.directives,o=c.bindings;let l=new Nm(Ui(e)),u=n||this.parentInjector;if(!i&&l.ngModule==null){let e=this.parentInjector.get(Ya,null);e&&(i=e)}let d=Ui(l.componentType??{}),f=xp(this._lContainer,d?.id??null),p=f?.firstChild??null,m=l.create(u,r,p,i,a,o,this._getHostElementNamespace());return this.insertImpl(m.hostView,s,jf(this._hostTNode,f)),m}_getHostElementNamespace(){if(this._hostTNode.type&2){let e=this._hostTNode.parent??this._hostLView[5];return e!==null&&e.type&2&&typeof e.value==`string`&&e.value.toLowerCase()===`foreignobject`?null:e?.namespace??null}return this._hostTNode.namespace}insert(e,t){return this.insertImpl(e,t,!0)}insertImpl(t,n,r){let i=t._lView;if(Pee(i)){let n=this.indexOf(t);if(n!==-1)this.detach(n);else{let n=i[3],r=new e(n,n[5],n[3]);r.detach(r.indexOf(t))}}let a=this._adjustIndex(n),o=this._lContainer;return ip(o,i,a,r),t.attachToViewContainerRef(),ya(Wm(o),a,t),t}move(e,t){return this.insert(e,t)}indexOf(e){let t=Um(this._lContainer);return t===null?-1:t.indexOf(e)}remove(e){let t=this._adjustIndex(e,-1),n=op(this._lContainer,t);n&&(ba(Wm(this._lContainer),t),Od(n[1],n))}detach(e){let t=this._adjustIndex(e,-1),n=op(this._lContainer,t);return n&&ba(Wm(this._lContainer),t)!=null?new lp(n):null}_adjustIndex(e,t=0){return e??this.length+t}};function Um(e){return e[8]}function Wm(e){return e[8]||=[]}function Gm(e,t){let n,r=t[e.index];return fo(r)?n=r:(n=np(r,t,null,e),t[e.index]=n,tf(t,n)),qm(n,t,e,r),new Hm(n,e,t)}function Km(e,t){let n=e[11],r=n.createComment(``),i=Co(t,e);return Tu(n,n.parentNode(i),r,n.nextSibling(i),!1),r}var qm=Xm,Jm=()=>!1;function Ym(e,t,n){return Jm(e,t,n)}function Xm(e,t,n,r){if(e[7])return;let i;i=n.type&8?xo(r):Km(t,n),e[7]=i}var Zm=class e{queryList;matches=null;constructor(e){this.queryList=e}clone(){return new e(this.queryList)}setDirty(){this.queryList.setDirty()}},Qm=class e{queries;constructor(e=[]){this.queries=e}createEmbeddedView(t){let n=t.queries;if(n!==null){let r=t.contentQueries===null?n.length:t.contentQueries[0],i=[];for(let e=0;e0)r.push(o[e/2]);else{let i=a[e+1],o=t[-n];for(let e=10;ee.trim())}function fh(e,t,n){e.queries===null&&(e.queries=new eh),e.queries.track(new th(t,n))}function ph(e,t){return e.queries.getByIndex(t)}function mh(e,t){let n=e[1],r=ph(n,t);return r.crossesNgTemplate?sh(n,e,t,[]):oh(n,e,r,t)}function hh(e,t,n){let r,i=wn(()=>{r._dirtyCounter();let n=yh(r,e);if(t&&n===void 0)throw new _i(-951,!1);return n});return r=i[tn],r._dirtyCounter=D(0),r._flatValue=void 0,i}function gh(e){return hh(!0,!1,e)}function _h(e){return hh(!0,!0,e)}function vh(e,t){let n=e[tn];n._lView=Ko(),n._queryIndex=t,n._queryList=ch(n._lView,t),n._queryList.onDirty(()=>n._dirtyCounter.update(e=>e+1))}function yh(e,t){let n=e._lView,r=e._queryIndex;if(n===void 0||r===void 0||n[2]&4)return t?void 0:Oa;let i=ch(n,r),a=mh(n,r);return i.reset(a,Ul),t?i.first:i._changesDetected||e._flatValue===void 0?e._flatValue=i.toArray():e._flatValue}function bh(e){return!!e&&typeof e.then==`function`}function xh(e){return!!e&&typeof e.subscribe==`function`}var Sh=class{},Ch=class extends Sh{injector;instance=null;constructor(e){super();let t=new Xa([...e.providers,{provide:Sh,useValue:this}],e.parent||Ja(),e.debugName,new Set([`environment`]));this.injector=t,e.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function wh(e,t,n=null){return new Ch({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var Th=(()=>{class e{_injector;cachedInjectors=new Map;constructor(e){this._injector=e}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){let t=Pa(!1,e.type),n=t.length>0?wh([t],this._injector,``):null;this.cachedInjectors.set(e,n)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(let e of this.cachedInjectors.values())e!==null&&e.destroy()}finally{this.cachedInjectors.clear()}}static ɵprov=Oi({token:e,providedIn:`environment`,factory:()=>new e(ua(Ya))})}return e})();function k(e){return kc(()=>{let t=jh(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection!==ql.Eager,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?e=>e.get(Th).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||_u.Emulated,styles:e.styles||Oa,_:null,schemas:e.schemas||null,tView:null,id:``};t.standalone&&od(`NgStandalone`),Mh(n);let r=e.dependencies;return n.directiveDefs=Nh(r,Eh),n.pipeDefs=Nh(r,Gi),n.id=Ph(n),n})}function Eh(e){return Ui(e)||Wi(e)}function Dh(e,t){if(e==null)return Da;let n={};for(let r in e)if(Object.hasOwn(e,r)){let i=e[r],a,o,s,c;Array.isArray(i)?(s=i[0],a=i[1],o=i[2]??a,c=i[3]||null):(a=i,o=i,s=rf.None,c=null),n[a]=[r,s,c],t[a]=o}return n}function Oh(e){if(e==null)return Da;let t={};for(let n in e)Object.hasOwn(e,n)&&(t[e[n]]=n);return t}function kh(e){return kc(()=>{let t=jh(e);return Mh(t),t})}function Ah(e){return{type:e.type,name:e.name,factory:null,pure:e.pure!==!1,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function jh(e){let t={};return{type:e.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputConfig:e.inputs||Da,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||Oa,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,signalFormsInputPresence:null,inputs:Dh(e.inputs,t),outputs:Oh(e.outputs),debugInfo:null}}function Mh(e){e.features?.forEach(t=>t(e))}function Nh(e,t){return e?()=>{let n=typeof e==`function`?e():e,r=[];for(let e of n){let n=t(e);n!==null&&r.push(n)}return r}:null}function Ph(e){let t=0,n=typeof e.consts==`function`?``:e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,n,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let e of r.join(`|`))t=Math.imul(31,t)+e.charCodeAt(0)<<0;return t+=2147483648,`c`+t}var Fh=new Fi(``),Ih=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((e,t)=>{this.resolve=e,this.reject=t});appInits=C(Fh,{optional:!0})??[];injector=C(ks);constructor(){}runInitializers(){if(this.initialized)return;let e=[];for(let t of this.appInits){let n=so(this.injector,t);if(bh(n))e.push(n);else if(xh(n)){let t=new Promise((e,t)=>{n.subscribe({complete:e,error:t})});e.push(t)}}let t=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{t()}).catch(e=>{this.reject(e)}),e.length===0&&t(),this.initialized=!0}static ɵfac=function(t){return new(t||e)};static ɵprov=zl({token:e,factory:e.ɵfac})}return e})();function Lh(e){return t=>{t.controlDef={create:(e,t)=>{e?.ɵngControlCreate(t)},update:(e,t)=>{e?.ɵngControlUpdate?.(t)},passThroughInput:e}}}function Rh(e){return Object.getPrototypeOf(e.prototype).constructor}function zh(e){let t=Rh(e.type),n=!0,r=[e];for(;t&&t!==Function.prototype&&t!==Object.prototype;){let i,a=Object.hasOwn(t,Li)?t[Li]:void 0,o=Object.hasOwn(t,Ri)?t[Ri]:void 0;if(go(e))i=a??o;else{if(a)throw new _i(903,!1);i=o}if(i){if(n){r.push(i);let t=e;t.inputs=Hh(e.inputs),t.declaredInputs=Hh(e.declaredInputs),t.outputs=Hh(e.outputs);let n=i.hostBindings;n&&Gh(e,n);let a=i.viewQuery,o=i.contentQueries;if(a&&Uh(e,a),o&&Wh(e,o),Bh(e,i),xi(e.outputs,i.outputs),go(i)&&i.data.animation){let t=e.data;t.animation=(t.animation||[]).concat(i.data.animation)}}let t=i.features;if(t)for(let r=0;r=0;r--){let i=e[r];i.hostVars=t+=i.hostVars,i.hostAttrs=al(i.hostAttrs,n=al(n,i.hostAttrs))}}function Hh(e){return e===Da?{}:e===Oa?[]:e}function Uh(e,t){let n=e.viewQuery;e.viewQuery=n?(e,r)=>{t(e,r),n(e,r)}:t}function Wh(e,t){let n=e.contentQueries;e.contentQueries=n?(e,r,i)=>{t(e,r,i),n(e,r,i)}:t}function Gh(e,t){let n=e.hostBindings;e.hostBindings=n?(e,r)=>{t(e,r),n(e,r)}:t}function Kh(e,t,n,r,i,a,o,s){if(n.firstCreatePass){e.mergedAttrs=al(e.mergedAttrs,e.attrs);let t=e.tView=Jd(2,e,i,a,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,n.consts,null);n.queries!==null&&(n.queries.template(n,e),t.queries=n.queries.embeddedTView(e))}s&&(e.flags|=s),Xo(e,!1);let c=Xh(n,t,e,r);Ts()&&Ld(n,t,c,e),eu(c,t);let l=np(c,t,c,e);t[r+27]=l,tf(t,l),Ym(l,e,t)}function qh(e,t,n,r,i,a,o,s,c,l,u){let d=n+27,f;return t.firstCreatePass?(f=pp(t,d,4,o||null,s||null),Ho()&&sm(t,e,f,ko(t.consts,l),_f),Gc(t,f)):f=t.data[d],Kh(f,e,t,n,r,i,a,c),ho(f)&&sf(t,e,f),l!=null&&cf(e,f,u),f}function Jh(e,t,n,r,i,a,o,s,c,l,u){let d=n+27,f;if(t.firstCreatePass){if(f=pp(t,d,4,o||null,s||null),l!=null){let e=ko(t.consts,l);f.localNames=[];for(let t=0;t{throw new _i(600,``)})}var tg=10,ng=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=C(nc);afterRenderManager=C(sd);zonelessEnabled=C(pc);rootEffectScheduler=C(hc);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new Jr;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=C(Fs);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(hi(e=>!e))}constructor(){C(id,{optional:!0})}whenStable(){let e;return new Promise(t=>{e=this.isStable.subscribe({next:e=>{e&&t()}})}).finally(()=>{e.unsubscribe()})}_injector=C(Ya);_rendererFactory=null;get injector(){return this._injector}bootstrap(e,t){return this.bootstrapImpl(e,t)}bootstrapImpl(e,t,n=ks.NULL){return this._injector.get(Us).run(()=>{if(Uc(Ac.BootstrapComponentStart),!this._injector.get(Ih).done)throw new _i(405,``);let r=Ui(e),i=this._injector.get(Sh),a=new Nm(r,i);this.componentTypes.push(e);let{hostElement:o,directives:s,bindings:c}=rg(t),l=o||a.selector,u=a.create(n,[],l,i.injector,s,c),d=u.location.nativeElement,f=u.injector.get(Qh,null);return f?.registerApplication(d),u.onDestroy(()=>{this.detachView(u.hostView),ig(this.components,u),f?.unregisterApplication(d)}),this._loadComponent(u),Uc(Ac.BootstrapComponentEnd,u),u})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){Uc(Ac.ChangeDetectionStart),this.tracingSnapshot===null?this.tickImpl():this.tracingSnapshot.run(rd.CHANGE_DETECTION,this.tickImpl)}tickImpl=()=>{if(this._runningTick)throw Uc(Ac.ChangeDetectionEnd),new _i(101,!1);let e=nn(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,nn(e),this.afterTick.next(),Uc(Ac.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(wp,null,{optional:!0}));let e=0;for(;this.dirtyFlags!==0&&e++Mo(e))){this.dirtyFlags|=2;return}this.dirtyFlags&=-8}attachView(e){let t=e;this._views.push(t),t.attachToAppRef(this)}detachView(e){let t=e;ig(this._views,t),t.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView);try{this.tick()}catch(e){this.internalErrorHandler(e)}this.components.push(e),this._injector.get($h,[]).forEach(t=>t(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>ig(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new _i(406,!1);let e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}static ɵfac=function(t){return new(t||e)};static ɵprov=zl({token:e,factory:e.ɵfac})}return e})();function rg(e){return e===void 0||typeof e==`string`||e instanceof Element?{hostElement:e}:e}function ig(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function A(e,t,n,r){let i=Ko();return Np(i,is(),t)&&(qo(),vf(bs(),i,e,t,n,r)),A}function ag(e){if(od(`NgAnimateEnter`),!qu)return ag;let t=Ko();if(Cte(t))return ag;let n=Jo(),r=t[9].get(Us);return Ote(ed(t),n,()=>og(t,n,e,r)),Pte(t[9]),md(t[9],ed(t)),ag}function og(e,t,n,r){let i=Co(t,e),a=e[11],o=Dte(n),s=[],c=!1,l=e=>{if(td(e)!==i)return;let t=e instanceof AnimationEvent?`animationend`:`transitionend`;r.runOutsideAngular(()=>{a.listen(i,t,u)})},u=e=>{td(e)===i&&(nd(e,i)&&(c=!0),sg(e,i,a))};if(o&&o.length>0){r.runOutsideAngular(()=>{s.push(a.listen(i,`animationstart`,l)),s.push(a.listen(i,`transitionstart`,l))}),wte(i,o,s);for(let e of o)a.addClass(i,e);r.runOutsideAngular(()=>{requestAnimationFrame(()=>{if(!c&&(yte(i,Xu,qu),!Xu.has(i))){for(let e of o)a.removeClass(i,e);Ju(i)}})})}}function sg(e,t,n){let r=Yu.get(t);if(td(e)===t&&r&&nd(e,t)){e.stopPropagation();for(let e of r.classList)n.removeClass(t,e);Ju(t)}}var cg=class{destroy(e){}updateValue(e,t){}swap(e,t){let n=Math.min(e,t),r=Math.max(e,t),i=this.detach(r);if(r-n>1){let e=this.detach(n);this.attach(n,i),this.attach(r,e)}else this.attach(n,i)}move(e,t){this.attach(t,this.detach(e))}};function lg(e,t,n,r,i){return e===n&&Object.is(t,r)?1:Object.is(i(e,t),i(n,r))?-1:0}function ug(e,t,n,r){let i,a,o=0,s=e.length-1;if(Array.isArray(t)){nn(r);let c=t.length-1;for(nn(null);o<=s&&o<=c;){let r=e.at(o),l=t[o],u=lg(o,r,o,l,n);if(u!==0){u<0&&e.updateValue(o,l),o++;continue}let d=e.at(s),f=t[c],p=lg(s,d,c,f,n);if(p!==0){p<0&&e.updateValue(s,f),s--,c--;continue}let m=n(o,r),h=n(s,d),g=n(o,l);if(Object.is(g,h)){let t=n(c,f);Object.is(t,m)?(e.swap(o,s),e.updateValue(s,f),c--,s--):e.move(s,o),e.updateValue(o,l),o++;continue}if(i??=new mg,a??=pg(e,o,s,n),dg(e,i,o,g))e.updateValue(o,l),o++,s++;else if(a.has(g))i.set(m,e.detach(o)),s--;else{let n=e.create(o,t[o]);e.attach(o,n),o++,s++}}for(;o<=c;)fg(e,i,n,o,t[o]),o++}else if(t!=null){nn(r);let c=t[Symbol.iterator]();nn(null);let l=c.next();for(;!l.done&&o<=s;){let t=e.at(o),r=l.value,u=lg(o,t,o,r,n);if(u!==0)u<0&&e.updateValue(o,r),o++,l=c.next();else{i??=new mg,a??=pg(e,o,s,n);let u=n(o,r);if(dg(e,i,o,u))e.updateValue(o,r),o++,s++,l=c.next();else if(!a.has(u))e.attach(o,e.create(o,r)),o++,s++,l=c.next();else{let r=n(o,t);i.set(r,e.detach(o)),s--}}}for(;!l.done;)fg(e,i,n,e.length,l.value),l=c.next()}for(;o<=s;)e.destroy(e.detach(s--));i?.forEach(t=>{e.destroy(t)})}function dg(e,t,n,r){return t!==void 0&&t.has(r)?(e.attach(n,t.get(r)),t.delete(r),!0):!1}function fg(e,t,n,r,i){if(dg(e,t,r,n(r,i)))e.updateValue(r,i);else{let t=e.create(r,i);e.attach(r,t)}}function pg(e,t,n,r){let i=new Set;for(let a=t;a<=n;a++)i.add(r(a,e.at(a)));return i}var mg=class{kvMap=new Map;_vMap=void 0;has(e){return this.kvMap.has(e)}delete(e){if(!this.has(e))return!1;let t=this.kvMap.get(e);return this._vMap!==void 0&&this._vMap.has(t)?(this.kvMap.set(e,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(e),!0}get(e){return this.kvMap.get(e)}set(e,t){if(this.kvMap.has(e)){let n=this.kvMap.get(e);this._vMap===void 0&&(this._vMap=new Map);let r=this._vMap;for(;r.has(n);)n=r.get(n);r.set(n,t)}else this.kvMap.set(e,t)}forEach(e){for(let[t,n]of this.kvMap)if(e(n,t),this._vMap!==void 0){let r=this._vMap;for(;r.has(n);)n=r.get(n),e(n,t)}}};function j(e,t,n,r,i,a,o,s){od(`NgControlFlow`);let c=Ko(),l=qo();return Jh(c,l,e,t,n,r,i,ko(l.consts,a),256,o,s),hg}function hg(e,t,n,r,i,a,o,s){od(`NgControlFlow`);let c=Ko(),l=qo();return Jh(c,l,e,t,n,r,i,ko(l.consts,a),512,o,s),hg}function M(e,t){od(`NgControlFlow`);let n=Ko(),r=is(),i=n[r]===Ru?-1:n[r],a=i===-1?void 0:xg(n,27+i);if(Np(n,r,e)){let r=nn(null);try{if(a!==void 0&&ap(a,0),e!==-1){let r=27+e,i=xg(n,r),a=Eg(n[1],r),o=Sp(i,a,n);ip(i,Af(n,a,t,{dehydratedView:o}),0,jf(a,o))}}finally{nn(r)}}else if(a!==void 0){let e=rp(a,0);e!==void 0&&(e[8]=t)}}var gg=class{lContainer;$implicit;$index;constructor(e,t,n){this.lContainer=e,this.$implicit=t,this.$index=n}get $count(){return this.lContainer.length-10}};function _g(e){return e}function vg(e,t){return t}var yg=class{hasEmptyBlock;trackByFn;liveCollection;constructor(e,t,n){this.hasEmptyBlock=e,this.trackByFn=t,this.liveCollection=n}};function N(e,t,n,r,i,a,o,s,c,l,u,d,f){od(`NgControlFlow`);let p=Ko(),m=qo(),h=c!==void 0,g=Ko(),_=new yg(h,s?o.bind(g[15][8]):o);g[27+e]=_,Jh(p,m,e+1,t,n,r,i,ko(m.consts,a),256),h&&Jh(p,m,e+2,c,l,u,d,ko(m.consts,f),512)}var bg=class extends cg{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(e,t,n){super(),this.lContainer=e,this.hostLView=t,this.templateTNode=n}get length(){return this.lContainer.length-10}at(e){return this.getLView(e)[8].$implicit}attach(e,t){let n=t[6];this.needsIndexUpdate||=e!==this.length,ip(this.lContainer,t,e,jf(this.templateTNode,n)),Sg(this.lContainer,e)}detach(e){return this.needsIndexUpdate||=e!==this.length-1,Cg(this.lContainer,e),wg(this.lContainer,e)}create(e,t){let n=xp(this.lContainer,this.templateTNode.tView.ssrId);return Af(this.hostLView,this.templateTNode,new gg(this.lContainer,t,e),{dehydratedView:n})}destroy(e){Od(e[1],e)}updateValue(e,t){this.getLView(e)[8].$implicit=t}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let e=0;e0){let e=n[9];Mte(e,r),Ku.delete(n[19]),r.detachedLeaveAnimationFns=void 0}}function Cg(e,t){if(e.length<=10)return;let n=e[10+t],r=n?n[26]:void 0;r&&r.leave&&r.leave.size>0&&(r.detachedLeaveAnimationFns=[])}function wg(e,t){return op(e,t)}function Tg(e,t){return rp(e,t)}function Eg(e,t){return wo(e,t)}function F(e,t,n){let r=Ko();return Np(r,is(),t)&&(qo(),df(bs(),r,e,t,r[11],n)),F}function Dg(e,t,n,r,i){wf(t,e,n,i?`class`:`style`,r)}function I(e,t,n,r){let i=Ko(),a=i[1],o=e+27,s=a.firstCreatePass?xm(o,i,2,t,_f,Ho(),n,r):a.data[o];if(mo(s)){let n=i[10].tracingService;if(n&&n.componentCreate){let o=a.data[s.directiveStart+s.componentOffset];return n.componentCreate(Op(o),()=>(Og(e,t,i,s,r),I))}}return Og(e,t,i,s,r),I}function Og(e,t,n,r,i){if(xf(r,n,e,t,Ag),ho(r)){let e=n[1];sf(e,n,r),gu(e,r,n)}i!=null&&cf(n,r)}function L(){let e=qo(),t=Sf(Jo());return e.firstCreatePass&&Sm(e,t),Wo(t)&&Go(),Vo(),t.classesWithoutHost!=null&&el(t)&&Dg(e,t,Ko(),t.classesWithoutHost,!0),t.stylesWithoutHost!=null&&tl(t)&&Dg(e,t,Ko(),t.stylesWithoutHost,!1),L}function R(e,t,n,r){return I(e,t,n,r),L(),R}function z(e,t,n,r){let i=Ko(),a=i[1],o=e+27,s=a.firstCreatePass?Cm(o,a,2,t,n,r):a.data[o];return xf(s,i,e,t,Ag),r!=null&&cf(i,s),z}function B(){return Wo(Sf(Jo()))&&Go(),Vo(),B}function kg(e,t,n,r){return z(e,t,n,r),B(),kg}var Ag=(e,t,n,r,i)=>(Es(!0),wu(t[11],r,Cs()));function jg(e,t,n){let r=Ko(),i=r[1],a=e+27,o=i.firstCreatePass?xm(a,r,8,`ng-container`,_f,Ho(),t,n):i.data[a];if(xf(o,r,e,`ng-container`,Pg),ho(o)){let e=r[1];sf(e,r,o),gu(e,o,r)}return n!=null&&cf(r,o),jg}function Mg(){let e=qo(),t=Sf(Jo());return e.firstCreatePass&&Sm(e,t),Mg}function Ng(e,t,n){return jg(e,t,n),Mg(),Ng}var Pg=(e,t,n,r,i)=>(Es(!0),Qee(t[11],``));function V(){return Ko()}function Fg(e,t,n){let r=Ko();return Np(r,is(),t)&&(qo(),ff(bs(),r,e,t,r[11],n)),Fg}var Ig=void 0;function Lg(e){let t=Math.floor(Math.abs(e)),n=e.toString().replace(/^[^.]*\.?/,``).length;return t===1&&n===0?1:5}var Rg=[`en`,[[`a`,`p`],[`AM`,`PM`]],[[`AM`,`PM`]],[[`S`,`M`,`T`,`W`,`T`,`F`,`S`],[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`]],Ig,[[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]],Ig,[[`B`,`A`],[`BC`,`AD`],[`Before Christ`,`Anno Domini`]],0,[6,0],[`M/d/yy`,`MMM d, y`,`MMMM d, y`,`EEEE, MMMM d, y`],[`h:mm a`,`h:mm:ss a`,`h:mm:ss a z`,`h:mm:ss a zzzz`],[`{1}, {0}`,Ig,Ig,Ig],[`.`,`,`,`;`,`%`,`+`,`-`,`E`,`×`,`‰`,`∞`,`NaN`,`:`],[`#,##0.###`,`#,##0%`,`¤#,##0.00`,`#E0`],`USD`,`$`,`US Dollar`,{},`ltr`,Lg],zg=Object.create(null);function Bg(e){let t=Ug(e),n=Vg(t);if(n)return n;let r=t.split(`-`)[0];if(n=Vg(r),n)return n;if(r===`en`)return Rg;throw new _i(701,!1)}function Vg(e){if(!(e in zg)){let t=aa.ng&&aa.ng.common&&aa.ng.common.locales&&aa.ng.common.locales[e];return t!==void 0&&(zg[e]=t),t}return zg[e]}var Hg={LocaleId:0,DayPeriodsFormat:1,DayPeriodsStandalone:2,DaysFormat:3,DaysStandalone:4,MonthsFormat:5,MonthsStandalone:6,Eras:7,FirstDayOfWeek:8,WeekendRange:9,DateFormat:10,TimeFormat:11,DateTimeFormat:12,NumberSymbols:13,NumberFormats:14,CurrencyCode:15,CurrencySymbol:16,CurrencyName:17,Currencies:18,Directionality:19,PluralCase:20,ExtraData:21};function Ug(e){return e.toLowerCase().replace(/_/g,`-`)}var Wg=`en-US`;function Gg(e){typeof e==`string`&&e.toLowerCase().replace(/_/g,`-`)}function H(e,t,n){let r=Ko(),i=qo(),a=Jo();return Kg(i,r,r[11],a,e,t,n),H}function U(e,t,n){let r=Ko(),i=qo(),a=Jo();return(a.type&3||n)&&zp(a,i,r,n,r[11],e,t,Lp(a,r,t)),U}function Kg(e,t,n,r,i,a,o){let s=!0,c=null;if((r.type&3||o)&&(c??=Lp(r,t,a),zp(r,e,t,o,n,i,a,c)&&(s=!1)),s){let e=r.outputs?.[i],n=r.hostDirectiveOutputs?.[i];if(n&&n.length)for(let e=0;e>17&32767}function n_(e){return(e&2)==2}function r_(e,t){return e&131071|t<<17}function i_(e){return e|2}function a_(e){return(e&131068)>>2}function o_(e,t){return e&-131069|t<<2}function s_(e){return(e&1)==1}function c_(e){return e|1}function l_(e,t,n,r,i,a){let o=a?t.classBindings:t.styleBindings,s=t_(o),c=a_(o);e[r]=n;let l=!1,u;if(Array.isArray(n)){let e=n;u=e[1],(u===null||Ta(e,u)>0)&&(l=!0)}else u=n;if(i){if(c!==0){let t=t_(e[s+1]);e[r+1]=e_(t,s),t!==0&&(e[t+1]=o_(e[t+1],r)),e[s+1]=r_(e[s+1],r)}else e[r+1]=e_(s,0),s!==0&&(e[s+1]=o_(e[s+1],r)),s=r}else e[r+1]=e_(c,0),s===0?s=r:e[c+1]=o_(e[c+1],r),c=r;l&&(e[r+1]=i_(e[r+1])),d_(e,u,r,!0),d_(e,u,r,!1),u_(t,u,e,r,a),o=e_(s,c),a?t.classBindings=o:t.styleBindings=o}function u_(e,t,n,r,i){let a=i?e.residualClasses:e.residualStyles;a!=null&&typeof t==`string`&&Ta(a,t)>=0&&(n[r+1]=c_(n[r+1]))}function d_(e,t,n,r){let i=e[n+1],a=t===null,o=r?t_(i):a_(i),s=!1;for(;o!==0&&(s===!1||a);){let n=e[o],i=e[o+1];f_(n,t)&&(s=!0,e[o+1]=r?c_(i):i_(i)),o=r?t_(i):a_(i)}s&&(e[n+1]=r?i_(i):c_(i))}function f_(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t==`string`?Ta(e,t)>=0:!1}var p_={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function m_(e){return e.substring(p_.key,p_.keyEnd)}function h_(e){return __(e),g_(e,v_(e,0,p_.textEnd))}function g_(e,t){let n=p_.textEnd;return n===t?-1:(t=p_.keyEnd=y_(e,p_.key=t,n),v_(e,t,n))}function __(e){p_.key=0,p_.keyEnd=0,p_.value=0,p_.valueEnd=0,p_.textEnd=e.length}function v_(e,t,n){for(;t32;)t++;return t}function b_(e,t,n){return C_(e,t,n,!1),b_}function G(e,t){return C_(e,t,null,!0),G}function x_(e){w_(Fte,S_,e,!0)}function S_(e,t){for(let n=h_(t);n>=0;n=g_(t,n))Ca(e,m_(t),!0)}function C_(e,t,n,r){let i=Ko(),a=qo(),o=as(2);if(a.firstUpdatePass&&E_(a,e,o,r),t!==Ru&&Np(i,o,t)){let s=a.data[vs()];P_(a,s,i,i[11],e,i[o+1]=Lte(t,n),r,o)}}function w_(e,t,n,r){let i=qo(),a=as(2);i.firstUpdatePass&&E_(i,null,a,r);let o=Ko();if(n!==Ru&&Np(o,a,n)){let s=i.data[vs()];if(L_(s,r)&&!T_(i,a)){let e=r?s.classesWithoutHost:s.stylesWithoutHost;e!==null&&(n=Ci(e,n||``)),Dg(i,s,o,n,r)}else Ite(i,s,o,o[11],o[a+1],o[a+1]=N_(e,t,n),r,a)}}function T_(e,t){return t>=e.expandoStartIndex}function E_(e,t,n,r){let i=e.data;if(i[n+1]===null){let a=i[vs()],o=T_(e,n);L_(a,r)&&t===null&&!o&&(t=!1),t=D_(i,a,t,r),l_(i,a,t,n,o,r)}}function D_(e,t,n,r){let i=Gee(e),a=r?t.residualClasses:t.residualStyles;if(i===null)(r?t.classBindings:t.styleBindings)===0&&(n=j_(null,e,t,n,r),n=M_(n,t.attrs,r),a=null);else{let o=t.directiveStylingLast;if(o===-1||e[o]!==i){if(n=j_(i,e,t,n,r),a===null){let n=O_(e,t,r);n!==void 0&&Array.isArray(n)&&(n=j_(null,e,t,n[1],r),n=M_(n,t.attrs,r),k_(e,t,r,n))}else a=A_(e,t,r)}}return a!==void 0&&(r?t.residualClasses=a:t.residualStyles=a),n}function O_(e,t,n){let r=n?t.classBindings:t.styleBindings;if(a_(r)!==0)return e[t_(r)]}function k_(e,t,n,r){let i=n?t.classBindings:t.styleBindings;e[t_(i)]=r}function A_(e,t,n){let r,i=t.directiveEnd;for(let a=1+t.directiveStylingLast;a0;){let t=e[i],a=Array.isArray(t),c=a?t[1]:t,l=c===null,u=n[i+1];u===Ru&&(u=l?Oa:void 0);let d=l?wa(u,r):c===r?u:void 0;if(a&&!I_(d)&&(d=wa(t,r)),I_(d)&&(s=d,o))return s;let f=e[i+1];i=o?t_(f):a_(f)}if(t!==null){let e=a?t.residualClasses:t.residualStyles;e!=null&&(s=wa(e,r))}return s}function I_(e){return e!==void 0}function Lte(e,t){return e==null||e===``||(typeof t==`string`?e=yu(e)+t:typeof e==`object`&&(e=Si(yu(e)))),e}function L_(e,t){return!!(e.flags&(t?8:16))}function K(e,t=``){let n=Ko(),r=qo(),i=e+27,a=r.firstCreatePass?pp(r,i,1,t,null):r.data[i],o=Rte(r,n,a,t);n[i]=o,Ts()&&Ld(r,n,o,a),Xo(a,!1)}var Rte=(e,t,n,r)=>(Es(!0),Xee(t[11],r));function R_(e,t,n,r=``){return Np(e,is(),n)?t+qi(n)+r:Ru}function zte(e,t,n,r,i,a=``){let o=Pp(e,rs(),n,i);return as(2),o?t+qi(n)+r+qi(i)+a:Ru}function Bte(e,t,n,r,i,a,o,s=``){let c=Fp(e,rs(),n,i,o);return as(3),c?t+qi(n)+r+qi(i)+a+qi(o)+s:Ru}function Vte(e,t,n,r,i,a,o,s,c,l=``){let u=Ip(e,rs(),n,i,o,c);return as(4),u?t+qi(n)+r+qi(i)+a+qi(o)+s+qi(c)+l:Ru}function q(e){return J(``,e),q}function J(e,t,n){let r=Ko(),i=R_(r,e,t,n);return i!==Ru&&V_(r,vs(),i),J}function Y(e,t,n,r,i){let a=Ko(),o=zte(a,e,t,n,r,i);return o!==Ru&&V_(a,vs(),o),Y}function z_(e,t,n,r,i,a,o){let s=Ko(),c=Bte(s,e,t,n,r,i,a,o);return c!==Ru&&V_(s,vs(),c),z_}function B_(e,t,n,r,i,a,o,s,c){let l=Ko(),u=Vte(l,e,t,n,r,i,a,o,s,c);return u!==Ru&&V_(l,vs(),u),B_}function V_(e,t,n){let r=So(t,e);Zee(e[11],r,n)}function H_(e,t,n){Ec(t)&&(t=t());let r=Ko();return Np(r,is(),t)&&(qo(),df(bs(),r,e,t,r[11],n)),H_}function U_(e,t){let n=Ec(e);return n&&e.set(t),n}function W_(e,t){let n=Ko(),r=qo(),i=Jo();return Kg(r,n,n[11],i,e,t),W_}var G_={};function K_(e){od(`NgLet`);let t=qo(),n=Ko(),r=e+27;return Xo(pp(t,r,128,null,null),!1),Eo(t,n,r,G_),K_}function q_(e){return Eo(qo(),Ko(),vs(),e),e}function J_(e){let t=To($o(),27+e);if(t===G_)throw new _i(314,!1);return t}function Y_(e,t,n=``){return R_(Ko(),e,t,n)}function X_(e,t,n){let r=qo();r.firstCreatePass&&Z_(t,r.data,r.blueprint,go(e),n)}function Z_(e,t,n,r,i){if(e=Ei(e),Array.isArray(e))for(let a=0;a>20;if(Ha(e)||!e.multi){let r=new $c(l,i,om,null),p=ev(c,t,i?u:u+f,d);p===-1?(Sl(vl(s,o),a,c),Q_(a,e,t.length),t.push(c),s.directiveStart++,s.directiveEnd++,i&&(s.providerIndexes+=1048576),n.push(r),o.push(r)):(n[p]=r,o[p]=r)}else{let p=ev(c,t,u+f,d),m=ev(c,t,u,u+f),h=p>=0&&n[p],g=m>=0&&n[m];if(i&&!g||!i&&!h){Sl(vl(s,o),a,c);let u=Wte(i?Ute:Hte,n.length,i,r,l,e);!i&&g&&(n[m].providerFactory=u),Q_(a,e,t.length,0),t.push(c),s.directiveStart++,s.directiveEnd++,i&&(s.providerIndexes+=1048576),n.push(u),o.push(u)}else{let t=$_(n[i?m:p],l,!i&&r);Q_(a,e,p>-1?p:m,t)}!i&&r&&g&&n[m].componentProviders++}}}function Q_(e,t,n,r){let i=Ha(t),a=Ua(t);if(i||a){let o=(a?Ei(t.useClass):t).prototype.ngOnDestroy;if(o){let a=e.destroyHooks||=[];if(!i&&t.multi){let e=a.indexOf(n);e===-1?a.push(n,[r,o]):a[e+1].push(r,o)}else a.push(n,o)}}}function $_(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function ev(e,t,n,r){for(let i=n;i{n.providersResolver=(t,n)=>X_(t,n?n(e):e,!1),t&&(n.viewProvidersResolver=(e,n)=>X_(e,n?n(t):t,!0))}}function rv(e,t){let n=ns()+e,r=Ko();return r[n]===Ru?jp(r,n,t()):Mp(r,n)}function iv(e,t,n){return sv(Ko(),ns(),e,t,n)}function av(e,t,n,r){return cv(Ko(),ns(),e,t,n,r)}function Gte(e,t,n,r,i){return Kte(Ko(),ns(),e,t,n,r,i)}function ov(e,t){let n=e[t];return n===Ru?void 0:n}function sv(e,t,n,r,i,a){let o=t+n;return Np(e,o,i)?jp(e,o+1,a?r.call(a,i):r(i)):ov(e,o+1)}function cv(e,t,n,r,i,a,o){let s=t+n;return Pp(e,s,i,a)?jp(e,s+2,o?r.call(o,i,a):r(i,a)):ov(e,s+2)}function Kte(e,t,n,r,i,a,o,s){let c=t+n;return Fp(e,c,i,a,o)?jp(e,c+3,s?r.call(s,i,a,o):r(i,a,o)):ov(e,c+3)}function lv(e,t){let n=qo(),r,i=e+27;n.firstCreatePass?(r=qte(t,n.pipeRegistry),n.data[i]=r,r.onDestroy&&(n.destroyHooks??=[]).push(i,r.onDestroy)):r=n.data[i];let a=r.factory||(r.factory=ha(r.type,!0)),o=ra(om);try{let e=fl(!1),t=a();return fl(e),Eo(n,Ko(),i,t),t}finally{ra(o)}}function qte(e,t){if(t)for(let n=t.length-1;n>=0;n--){let r=t[n];if(e===r.name)return r}}function uv(e,t,n){let r=e+27,i=Ko(),a=To(i,r);return fv(i,r)?sv(i,ns(),t,a.transform,n,a):a.transform(n)}function dv(e,t,n,r){let i=e+27,a=Ko(),o=To(a,i);return fv(a,i)?cv(a,ns(),t,o.transform,n,r,o):o.transform(n,r)}function fv(e,t){return e[1].data[t].pure}function pv(e,t){return fp(e,t)}var Jte=(()=>{class e{applicationErrorHandler=C(nc);appRef=C(ng);taskService=C(Fs);ngZone=C(Us);zonelessEnabled=C(pc);tracing=C(id,{optional:!0});zoneIsDefined=typeof Zone<`u`&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new fr;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Vs):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(C(mc,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let e=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(e);return}this.switchToMicrotaskScheduler(),this.taskService.remove(e)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let e=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(e)})})}notify(e){if(!this.zonelessEnabled&&e===5)return;switch(e){case 0:case 2:this.appRef.dirtyFlags|=2;break;case 3:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 6:this.appRef.dirtyFlags|=2;break;case 12:this.appRef.dirtyFlags|=16;break;case 13:this.appRef.dirtyFlags|=2;break;case 11:break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick())return;let t=this.useMicrotaskScheduler?zs:Rs;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>t(()=>this.tick())):this.ngZone.runOutsideAngular(()=>t(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(`isAngularZone_ID`+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let e=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(e){this.applicationErrorHandler(e)}finally{this.taskService.remove(e),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let e=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(e)}}static ɵfac=function(t){return new(t||e)};static ɵprov=zl({token:e,factory:e.ɵfac})}return e})();function Yte(){return[{provide:fc,useExisting:Jte},{provide:Us,useClass:Zs},{provide:pc,useValue:!0}]}function Xte(){return typeof $localize<`u`&&$localize.locale||`en-US`}var mv=new Fi(``,{factory:()=>C(mv,{optional:!0,skipSelf:!0})||Xte()}),hv=class{destroyed=!1;listeners=null;errorHandler=C(tc,{optional:!0});isEmitting=!1;hasNullListeners=!1;destroyRef=C(js);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(e){if(this.destroyed)throw new _i(953,!1);return(this.listeners??=[]).push(e),{unsubscribe:()=>{let t=this.listeners?this.listeners.indexOf(e):-1;t>-1&&(this.isEmitting?(this.hasNullListeners=!0,this.listeners[t]=null):this.listeners.splice(t,1))}}}emit(e){if(this.destroyed){console.warn(yi(953,!1));return}if(this.listeners===null)return;this.isEmitting=!0;let t=nn(null);try{for(let t of this.listeners)try{t!==null&&t(e)}catch(e){this.errorHandler?.handleError(e)}}finally{this.hasNullListeners&&(this.hasNullListeners=!1,this.listeners&&Zte(this.listeners)),nn(t),this.isEmitting=!1}}};function Zte(e){let t=e.length-1;for(;t>-1;)e[t]===null&&e.splice(t,1),t--}function X(e,t){return wn(e,t?.equal)}function Z(e){return Zn(e)}(class e extends Error{_brand;constructor(e){super(e)}static IDLE=new e(`IDLE`);static LOADING=new e(`LOADING`)});var Qte=e=>e;function Q(e,t){return typeof e==`function`?gv(qn(e,Qte,t?.equal),t?.debugName,t?.set):gv(qn(e.source,e.computation,e.equal),e.debugName,e.set)}function gv(e,t,n){let r=e[tn],i=e;if(n!==void 0){let t=e=>Jn(r,e);i.set=e=>n(e,t),i.update=r=>n(r(Z(e)),t)}else i.set=e=>Jn(r,e),i.update=e=>Yn(r,e);return i.asReadonly=ic.bind(e),i}var _v=!1;function $te(){return _v}function vv(e){_v=e}function yv(e,t){let n=Object.create(Oc);n.value=e,n.transformFn=t?.transform;function r(){if(on(n),n.value===Dc)throw new _i(-950,null);return n.value}return r[tn]=n,r}function bv(e){return new hv}function xv(e,t){return yv(e,t)}function ene(e){return yv(Dc,e)}var $=(xv.required=ene,xv);function Sv(e,t){let n=Object.create(Oc),r=new hv;n.value=e;function i(){return on(n),Cv(n.value),n.value}return i[tn]=n,i.asReadonly=ic.bind(i),i.set=e=>{n.equal(n.value,e)||(In(n,e),r.emit(e))},i.update=e=>{Cv(n.value),i.set(e(n.value))},i.subscribe=r.subscribe.bind(r),i.destroyRef=r.destroyRef,i}function Cv(e){if(e===Dc)throw new _i(952,!1)}function wv(e,t){return Sv(e,t)}function tne(e){return Sv(Dc,e)}var Tv=(wv.required=tne,wv);function Ev(e,t){return gh(t)}function nne(e,t){return _h(t)}var Dv=(Ev.required=nne,Ev),rne=(()=>{class e{static __NG_ELEMENT_ID__=ine}return e})();function ine(e){return ane(Jo(),Ko(),(e&16)==16)}function ane(e,t,n){if(mo(e)&&!n){let n=Do(e.index,t);return new lp(n,n)}if(e.type&175){let e=t[15];return new lp(e,t)}return null}var Ov=new Fi(``),one=new Fi(``);function kv(e){return!e.moduleRef}function sne(e){let t=kv(e)?e.r3Injector:e.moduleRef.injector,n=t.get(Us);return n.run(()=>{kv(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(nc),i;if(n.runOutsideAngular(()=>{i=n.onError.subscribe({next:r})}),kv(e)){let n=()=>t.destroy(),r=e.platformInjector.get(Ov);r.add(n),t.onDestroy(()=>{i.unsubscribe(),r.delete(n)})}else{let t=()=>e.moduleRef.destroy(),n=e.platformInjector.get(Ov);n.add(t),e.moduleRef.onDestroy(()=>{ig(e.allPlatformModules,e.moduleRef),i.unsubscribe(),n.delete(t)})}return lne(r,n,()=>{let n=t.get(Fs),r=n.add(),i=t.get(Ih);return i.runInitializers(),i.donePromise.then(()=>{if(Gg(t.get(mv,Wg)||`en-US`),!t.get(one,!0))return kv(e)?t.get(ng):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(kv(e)){let n=t.get(ng);return e.rootComponent!==void 0&&n.bootstrap(e.rootComponent),n}return cne?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>void n.remove(r))})})}var cne;function lne(e,t,n){try{let r=n();return bh(r)?r.catch(n=>{throw t.runOutsideAngular(()=>e(n)),n}):r}catch(n){throw t.runOutsideAngular(()=>e(n)),n}}var Av=null;function une(e=[],t){return ks.create({name:t,providers:[{provide:Wa,useValue:`platform`},{provide:Ov,useValue:new Set([()=>Av=null])},...e]})}function dne(e=[]){if(Av)return Av;let t=une(e);return Av=t,eg(),fne(t),t}function fne(e){let t=e.get(sc,null);so(e,()=>{t?.forEach(e=>e())})}function pne(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:i}=e;Uc(Ac.BootstrapApplicationStart);try{let e=i?.injector??dne(r);return sne({r3Injector:new Ch({providers:[Yte(),rc,...n||[]],parent:e,debugName:``,runEnvironmentInitializers:!1}).injector,platformInjector:e,rootComponent:t})}catch(e){return Promise.reject(e)}finally{Uc(Ac.BootstrapApplicationEnd)}}function jv(e){return typeof e==`boolean`?e:e!=null&&e!==`false`}var Mv=Symbol(`NOT_SET`),Nv=new Set,mne={...Rn,kind:`afterRenderEffectPhase`,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,value:Mv,cleanup:null,consumerMarkedDirty(){if(this.sequence.impl.executing){if(this.sequence.lastPhase===null||this.sequence.lastPhase(on(r),r.value),r.signal[tn]=r,r.registerCleanupFn=e=>(r.cleanup??=new Set).add(e),this.nodes[e]=r,this.hooks[e]=e=>r.phaseFn(e)}}afterRun(){super.afterRun(),this.lastPhase=null}destroy(){if(this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();super.destroy();for(let e of this.nodes)if(e)try{for(let t of e.cleanup??Nv)t()}finally{vn(e)}}};function Pv(e,t){let n=t?.injector??C(ks),r=n.get(fc),i=n.get(sd),a=n.get(id,null,{optional:!0});i.impl??=n.get(ld);let o=e;typeof o==`function`&&(o={mixedReadWrite:e});let s=n.get(uc,null,{optional:!0}),c=new hne(i.impl,[o.earlyRead,o.write,o.mixedReadWrite,o.read],s?.view,r,n,a?.snapshot(null));return i.impl.register(c),c}var Fv=null;function Iv(){return Fv}function gne(e){Fv??=e}var _ne=class{},Lv=(function(e){return e[e.Format=0]=`Format`,e[e.Standalone=1]=`Standalone`,e})(Lv||{}),Rv=(function(e){return e[e.Narrow=0]=`Narrow`,e[e.Abbreviated=1]=`Abbreviated`,e[e.Wide=2]=`Wide`,e[e.Short=3]=`Short`,e})(Rv||{}),zv=(function(e){return e[e.Short=0]=`Short`,e[e.Medium=1]=`Medium`,e[e.Long=2]=`Long`,e[e.Full=3]=`Full`,e})(zv||{}),Bv={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function vne(e){return Bg(e)[Hg.LocaleId]}function yne(e,t,n){let r=Bg(e);return Kv(Kv([r[Hg.DayPeriodsFormat],r[Hg.DayPeriodsStandalone]],t),n)}function bne(e,t,n){let r=Bg(e);return Kv(Kv([r[Hg.DaysFormat],r[Hg.DaysStandalone]],t),n)}function xne(e,t,n){let r=Bg(e);return Kv(Kv([r[Hg.MonthsFormat],r[Hg.MonthsStandalone]],t),n)}function Sne(e,t){let n=Bg(e)[Hg.Eras];return Kv(n,t)}function Vv(e,t){return Kv(Bg(e)[Hg.DateFormat],t)}function Hv(e,t){return Kv(Bg(e)[Hg.TimeFormat],t)}function Uv(e,t){let n=Bg(e)[Hg.DateTimeFormat];return Kv(n,t)}function Wv(e,t){let n=Bg(e),r=n[Hg.NumberSymbols][t];if(r===void 0){if(t===Bv.CurrencyDecimal)return n[Hg.NumberSymbols][Bv.Decimal];if(t===Bv.CurrencyGroup)return n[Hg.NumberSymbols][Bv.Group]}return r}function Gv(e){if(!e[Hg.ExtraData])throw new _i(2303,!1)}function Cne(e){let t=Bg(e);return Gv(t),(t[Hg.ExtraData][2]||[]).map(e=>typeof e==`string`?qv(e):[qv(e[0]),qv(e[1])])}function wne(e,t,n){let r=Bg(e);return Gv(r),Kv(Kv([r[Hg.ExtraData][0],r[Hg.ExtraData][1]],t)||[],n)||[]}function Kv(e,t){for(let n=t;n>-1;n--)if(e[n]!==void 0)return e[n];throw new _i(2304,!1)}function qv(e){let[t,n]=e.split(`:`);return{hours:+t,minutes:+n}}var Tne=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Jv=Object.create(null),Ene=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/,Dne=256;function One(e,t,n,r){let i=uy(e);kne(t),t=Xv(n,t)||t;let a=[],o;for(;t;)if(o=Ene.exec(t),o){a=a.concat(o.slice(1));let e=a.pop();if(!e)break;t=e}else{a.push(t);break}let s=i.getTimezoneOffset();r&&(s=sy(r,s),i=ly(i,r));let c=``;return a.forEach(e=>{let t=Fne(e);c+=t?t(i,n,s):e===`''`?`'`:e.replace(/(^'|'$)/g,``).replace(/''/g,`'`)}),c}function kne(e){if(e.length>Dne)throw new _i(2300,!1)}function Yv(e,t,n){let r=new Date(0);return r.setFullYear(e,t,n),r.setHours(0,0,0),r}function Xv(e,t){let n=vne(e);if(Jv[n]??=Object.create(null),Jv[n][t])return Jv[n][t];let r=``;switch(t){case`shortDate`:r=Vv(e,zv.Short);break;case`mediumDate`:r=Vv(e,zv.Medium);break;case`longDate`:r=Vv(e,zv.Long);break;case`fullDate`:r=Vv(e,zv.Full);break;case`shortTime`:r=Hv(e,zv.Short);break;case`mediumTime`:r=Hv(e,zv.Medium);break;case`longTime`:r=Hv(e,zv.Long);break;case`fullTime`:r=Hv(e,zv.Full);break;case`short`:let t=Xv(e,`shortTime`),n=Xv(e,`shortDate`);r=Zv(Uv(e,zv.Short),[t,n]);break;case`medium`:let i=Xv(e,`mediumTime`),a=Xv(e,`mediumDate`);r=Zv(Uv(e,zv.Medium),[i,a]);break;case`long`:let o=Xv(e,`longTime`),s=Xv(e,`longDate`);r=Zv(Uv(e,zv.Long),[o,s]);break;case`full`:let c=Xv(e,`fullTime`),l=Xv(e,`fullDate`);r=Zv(Uv(e,zv.Full),[c,l])}return r&&(Jv[n][t]=r),r}function Zv(e,t){return t&&(e=e.replace(/\{([^}]+)}/g,function(e,n){return Object.hasOwn(t,n)?t[n]:e})),e}function Qv(e,t,n=`-`,r,i){let a=``;(e<0||i&&e<=0)&&(i?e=-e+1:(e=-e,a=n));let o=String(e);for(;o.length0||s>-n)&&(s+=n),e===3)s===0&&n===-12&&(s=12);else if(e===6)return Ane(s,t);let c=Wv(o,Bv.MinusSign);return Qv(s,t,c,r,i)}}function jne(e,t){switch(e){case 0:return t.getFullYear();case 1:return t.getMonth();case 2:return t.getDate();case 3:return t.getHours();case 4:return t.getMinutes();case 5:return t.getSeconds();case 6:return t.getMilliseconds();case 7:return t.getDay();default:throw new _i(2301,!1)}}function ey(e,t,n=Lv.Format,r=!1){return function(i,a){return Mne(i,a,e,t,n,r)}}function Mne(e,t,n,r,i,a){switch(n){case 2:return xne(t,i,r)[e.getMonth()];case 1:return bne(t,i,r)[e.getDay()];case 0:let n=e.getHours(),o=e.getMinutes();if(a){let e=Cne(t),a=wne(t,i,r),s=e.findIndex(e=>{if(Array.isArray(e)){let[t,r]=e,i=n>=t.hours&&o>=t.minutes,a=n0?Math.floor(i/60):Math.ceil(i/60);switch(e){case 0:return(i>=0?`+`:``)+Qv(o,2,a)+Qv(Math.abs(i%60),2,a);case 1:return`GMT`+(i>=0?`+`:``)+Qv(o,1,a);case 2:return`GMT`+(i>=0?`+`:``)+Qv(o,2,a)+`:`+Qv(Math.abs(i%60),2,a);case 3:return r===0?`Z`:(i>=0?`+`:``)+Qv(o,2,a)+`:`+Qv(Math.abs(i%60),2,a);default:throw new _i(2310,!1)}}}var Nne=0,ny=4;function Pne(e){let t=Yv(e,Nne,1).getDay();return Yv(e,0,1+(t<=ny?ny:11)-t)}function ry(e){let t=e.getDay(),n=t===0?-3:ny-t;return Yv(e.getFullYear(),e.getMonth(),e.getDate()+n)}function iy(e,t=!1){return function(n,r){let i;if(t){let e=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,t=n.getDate();i=1+Math.floor((t+e)/7)}else{let e=ry(n),t=Pne(e.getFullYear()),r=e.getTime()-t.getTime();i=1+Math.round(r/6048e5)}return Qv(i,e,Wv(r,Bv.MinusSign))}}function ay(e,t=!1){return function(n,r){return Qv(ry(n).getFullYear(),e,Wv(r,Bv.MinusSign),t)}}var oy=Object.create(null);function Fne(e){if(oy[e])return oy[e];let t;switch(e){case`G`:case`GG`:case`GGG`:t=ey(3,Rv.Abbreviated);break;case`GGGG`:t=ey(3,Rv.Wide);break;case`GGGGG`:t=ey(3,Rv.Narrow);break;case`y`:t=$v(0,1,0,!1,!0);break;case`yy`:t=$v(0,2,0,!0,!0);break;case`yyy`:t=$v(0,3,0,!1,!0);break;case`yyyy`:t=$v(0,4,0,!1,!0);break;case`Y`:t=ay(1);break;case`YY`:t=ay(2,!0);break;case`YYY`:t=ay(3);break;case`YYYY`:t=ay(4);break;case`M`:case`L`:t=$v(1,1,1);break;case`MM`:case`LL`:t=$v(1,2,1);break;case`MMM`:t=ey(2,Rv.Abbreviated);break;case`MMMM`:t=ey(2,Rv.Wide);break;case`MMMMM`:t=ey(2,Rv.Narrow);break;case`LLL`:t=ey(2,Rv.Abbreviated,Lv.Standalone);break;case`LLLL`:t=ey(2,Rv.Wide,Lv.Standalone);break;case`LLLLL`:t=ey(2,Rv.Narrow,Lv.Standalone);break;case`w`:t=iy(1);break;case`ww`:t=iy(2);break;case`W`:t=iy(1,!0);break;case`d`:t=$v(2,1);break;case`dd`:t=$v(2,2);break;case`c`:case`cc`:t=$v(7,1);break;case`ccc`:t=ey(1,Rv.Abbreviated,Lv.Standalone);break;case`cccc`:t=ey(1,Rv.Wide,Lv.Standalone);break;case`ccccc`:t=ey(1,Rv.Narrow,Lv.Standalone);break;case`cccccc`:t=ey(1,Rv.Short,Lv.Standalone);break;case`E`:case`EE`:case`EEE`:t=ey(1,Rv.Abbreviated);break;case`EEEE`:t=ey(1,Rv.Wide);break;case`EEEEE`:t=ey(1,Rv.Narrow);break;case`EEEEEE`:t=ey(1,Rv.Short);break;case`a`:case`aa`:case`aaa`:t=ey(0,Rv.Abbreviated);break;case`aaaa`:t=ey(0,Rv.Wide);break;case`aaaaa`:t=ey(0,Rv.Narrow);break;case`b`:case`bb`:case`bbb`:t=ey(0,Rv.Abbreviated,Lv.Standalone,!0);break;case`bbbb`:t=ey(0,Rv.Wide,Lv.Standalone,!0);break;case`bbbbb`:t=ey(0,Rv.Narrow,Lv.Standalone,!0);break;case`B`:case`BB`:case`BBB`:t=ey(0,Rv.Abbreviated,Lv.Format,!0);break;case`BBBB`:t=ey(0,Rv.Wide,Lv.Format,!0);break;case`BBBBB`:t=ey(0,Rv.Narrow,Lv.Format,!0);break;case`h`:t=$v(3,1,-12);break;case`hh`:t=$v(3,2,-12);break;case`H`:t=$v(3,1);break;case`HH`:t=$v(3,2);break;case`m`:t=$v(4,1);break;case`mm`:t=$v(4,2);break;case`s`:t=$v(5,1);break;case`ss`:t=$v(5,2);break;case`S`:t=$v(6,1);break;case`SS`:t=$v(6,2);break;case`SSS`:t=$v(6,3);break;case`Z`:case`ZZ`:case`ZZZ`:t=ty(0);break;case`ZZZZZ`:t=ty(3);break;case`O`:case`OO`:case`OOO`:case`z`:case`zz`:case`zzz`:t=ty(1);break;case`OOOO`:case`ZZZZ`:case`zzzz`:t=ty(2);break;default:return null}return oy[e]=t,t}function sy(e,t){e=e.replace(/:/g,``);let n=Date.parse(`Jan 01, 1970 00:00:00 `+e)/6e4;return isNaN(n)?t:n}function cy(e,t){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+t),e}function ly(e,t,n){let r=e.getTimezoneOffset();return cy(e,-1*(sy(t,r)-r))}function uy(e){if(fy(e))return e;if(typeof e==`number`&&!isNaN(e))return new Date(e);if(typeof e==`string`){if(e=e.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(e)){let[t,n=1,r=1]=e.split(`-`).map(e=>+e);return Yv(t,n-1,r)}let t=parseFloat(e);if(!isNaN(e-t))return new Date(t);let n;if(n=e.match(Tne))return dy(n)}let t=new Date(e);if(!fy(t))throw new _i(2311,!1);return t}function dy(e){let t=new Date(0),n=0,r=0,i=e[8]?t.setUTCFullYear:t.setFullYear,a=e[8]?t.setUTCHours:t.setHours;e[9]&&(n=Number(e[9]+e[10]),r=Number(e[9]+e[11])),i.call(t,Number(e[1]),Number(e[2])-1,Number(e[3]));let o=Number(e[4]||0)-n,s=Number(e[5]||0)-r,c=Number(e[6]||0),l=Math.floor(parseFloat(`0.`+(e[7]||0))*1e3);return a.call(t,o,s,c,l),t}function fy(e){return e instanceof Date&&!isNaN(e.valueOf())}var py=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;injector=C(ks);constructor(e){this._viewContainerRef=e}ngOnChanges(e){if(this._shouldRecreateView(e)){let e=this._viewContainerRef;if(this._viewRef&&e.remove(e.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let t=this._createContextForwardProxy();this._viewRef=e.createEmbeddedView(this.ngTemplateOutlet,t,{injector:this._getInjector()})}}_getInjector(){return this.ngTemplateOutletInjector===`outlet`?this.injector:this.ngTemplateOutletInjector??void 0}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,t,n)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,t,n):!1,get:(e,t,n)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,t,n)}})}static ɵfac=function(t){return new(t||e)(om(Bm))};static ɵdir=kh({type:e,selectors:[[``,`ngTemplateOutlet`,``]],inputs:{ngTemplateOutletContext:`ngTemplateOutletContext`,ngTemplateOutlet:`ngTemplateOutlet`,ngTemplateOutletInjector:`ngTemplateOutletInjector`},features:[Pc]})}return e})();function my(e,t){return new _i(2100,!1)}var hy=`mediumDate`,gy=new Fi(``),_y=new Fi(``),vy=(()=>{class e{locale;defaultTimezone;defaultOptions;constructor(e,t,n){this.locale=e,this.defaultTimezone=t,this.defaultOptions=n}transform(t,n,r,i){if(t==null||t===``||t!==t)return null;try{let e=n??this.defaultOptions?.dateFormat??hy,a=r??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return One(t,e,i||this.locale,a)}catch(t){throw my(e,t.message)}}static ɵfac=function(t){return new(t||e)(om(mv,16),om(gy,24),om(_y,24))};static ɵpipe=Ah({name:`date`,type:e,pure:!0})}return e})(),yy=(()=>{class e{transform(e){return JSON.stringify(e,null,2)}static ɵfac=function(t){return new(t||e)};static ɵpipe=Ah({name:`json`,type:e,pure:!1})}return e})();function by(e,t){t=encodeURIComponent(t);for(let n of e.split(`;`)){let e=n.indexOf(`=`),[r,i]=e==-1?[n,``]:[n.slice(0,e),n.slice(e+1)];if(r.trim()!==t)continue;let a=i;try{a=decodeURIComponent(i)}catch{}return a.length>1&&a[0]===`"`&&a[a.length-1]===`"`&&(a=a.slice(1,-1)),a}return null}var xy=`browser`,Sy=class{_doc;constructor(e){this._doc=e}manager},Cy=(()=>{class e extends Sy{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,n,r){return e.addEventListener(t,n,r),()=>this.removeEventListener(e,t,n,r)}removeEventListener(e,t,n,r){return e.removeEventListener(t,n,r)}static ɵfac=function(t){return new(t||e)(ua(As))};static ɵprov=Oi({token:e,factory:e.ɵfac})}return e})(),wy=new Fi(``),Ty=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,t){this._zone=t,e.forEach(e=>{e.manager=this});let n=e.filter(e=>!(e instanceof Cy));this._plugins=n.slice().reverse();let r=e.find(e=>e instanceof Cy);r&&this._plugins.push(r)}addEventListener(e,t,n,r){return this._findPluginFor(t).addEventListener(e,t,n,r)}getZone(){return this._zone}_findPluginFor(e){let t=this._eventNameToPlugin.get(e);if(t)return t;if(t=this._plugins.find(t=>t.supports(e)),!t)throw new _i(-5101,!1);return this._eventNameToPlugin.set(e,t),t}static ɵfac=function(t){return new(t||e)(ua(wy),ua(Us))};static ɵprov=Oi({token:e,factory:e.ɵfac})}return e})(),Ey=`ng-app-id`;function Dy(e){for(let t of e)t.remove()}function Oy(e,t){let n=t.createElement(`style`);return n.textContent=e,n}function ky(e,t,n,r){let i=e.head?.querySelectorAll(`style[${Ey}="${t}"],link[${Ey}="${t}"]`);if(!i||i.length===0)return!1;for(let e of i)e.removeAttribute(Ey),e instanceof HTMLLinkElement?r.set(e.href.slice(e.href.lastIndexOf(`/`)+1),{usage:0,elements:[e]}):e.textContent&&n.set(e.textContent,{usage:0,elements:[e]});return!0}function Ay(e,t){let n=t.createElement(`link`);return n.setAttribute(`rel`,`stylesheet`),n.setAttribute(`href`,e),n}var jy=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,t,n,r={}){this.doc=e,this.appId=t,this.nonce=n,ky(e,t,this.inline,this.external)&&this.hosts.add(e.head)}addStyles(e,t){for(let t of e)this.addUsage(t,this.inline,Oy);t?.forEach(e=>this.addUsage(e,this.external,Ay))}removeStyles(e,t){for(let t of e)this.removeUsage(t,this.inline);t?.forEach(e=>this.removeUsage(e,this.external))}addUsage(e,t,n){let r=t.get(e);r?r.usage++:t.set(e,{usage:1,elements:[...this.hosts].map(t=>this.addElement(t,n(e,this.doc)))})}removeUsage(e,t){let n=t.get(e);n&&(n.usage--,n.usage<=0&&(Dy(n.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])Dy(e);this.hosts.clear()}addHost(e){if(!this.hosts.has(e)){this.hosts.add(e);for(let[t,{elements:n}]of this.inline)n.push(this.addElement(e,Oy(t,this.doc)));for(let[t,{elements:n}]of this.external)n.push(this.addElement(e,Ay(t,this.doc)))}}removeHost(e){this.hosts.delete(e);for(let t of[...this.inline.values(),...this.external.values()]){let n=[];for(let r of t.elements)r.parentNode===e?r.remove():n.push(r);t.elements=n}}addElement(e,t){return this.nonce&&t.setAttribute(`nonce`,this.nonce),e.appendChild(t)}static ɵfac=function(t){return new(t||e)(ua(As),ua(ac),ua(lc,8),ua(cc))};static ɵprov=Oi({token:e,factory:e.ɵfac})}return e})(),My={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`,math:`http://www.w3.org/1998/Math/MathML`},Ny=/%COMP%/g,Py=`%COMP%`,Fy=`_nghost-${Py}`,Iy=`_ngcontent-${Py}`,Ly=!0,Ry=new Fi(``,{factory:()=>Ly}),zy=new Fi(``);function By(e){return Iy.replace(Ny,e)}function Vy(e){return Fy.replace(Ny,e)}function Hy(e,t){return t.map(t=>t.replace(Ny,e))}var Uy=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;cssVarNamespace;constructor(e,t,n,r,i,a,o=null,s=null,c=null){this.eventManager=e,this.sharedStylesHost=t,this.appId=n,this.removeStylesOnCompDestroy=r,this.doc=i,this.ngZone=a,this.nonce=o,this.tracingService=s,this.cssVarNamespace=c??``,this.defaultRenderer=new Wy(e,i,a,this.tracingService,this.cssVarNamespace)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;let n=this.getOrCreateRenderer(e,t);return n instanceof Jy?n.applyToHost(e):n instanceof qy&&n.applyStyles(),n}getOrCreateRenderer(e,t){let n=this.rendererByCompId,r=n.get(t.id);if(!r){let i=this.doc,a=this.ngZone,o=this.eventManager,s=this.sharedStylesHost,c=this.removeStylesOnCompDestroy,l=this.tracingService;switch(t.encapsulation){case _u.Emulated:r=new Jy(o,s,t,this.appId,c,i,a,l,this.cssVarNamespace);break;case _u.ShadowDom:return new Ky(o,e,t,i,a,this.nonce,l,this.cssVarNamespace,s);case _u.ExperimentalIsolatedShadowDom:return new Ky(o,e,t,i,a,this.nonce,l,this.cssVarNamespace);default:r=new qy(o,s,t,c,i,a,l,this.cssVarNamespace)}n.set(t.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static ɵfac=function(t){return new(t||e)(ua(Ty),ua(im),ua(ac),ua(Ry),ua(As),ua(Us),ua(lc),ua(id,8),ua(zy,8))};static ɵprov=Oi({token:e,factory:e.ɵfac})}return e})(),Wy=class{eventManager;doc;ngZone;tracingService;cssVarNamespace;data=Object.create(null);throwOnSyntheticProps=!0;constructor(e,t,n,r,i=``){this.eventManager=e,this.doc=t,this.ngZone=n,this.tracingService=r,this.cssVarNamespace=i}destroy(){}destroyNode=null;createElement(e,t){return t?this.doc.createElementNS(My[t]||t,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,t){(Gy(e)?e.content:e).appendChild(t)}insertBefore(e,t,n){if(e){let r=Gy(e)?e.content:e;if(n!=null&&n.parentNode!==r)throw new _i(-5106,!1);r.insertBefore(t,n)}}removeChild(e,t){t.remove()}selectRootElement(e,t){let n=typeof e==`string`?this.doc.querySelector(e):e;if(!n)throw new _i(-5104,!1);return t||(n.textContent=``),n}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,n,r){if(r){t=r+`:`+t;let i=My[r];i?e.setAttributeNS(i,t,n):e.setAttribute(t,n)}else e.setAttribute(t,n)}removeAttribute(e,t,n){if(n){let r=My[n];r?e.removeAttributeNS(r,t):e.removeAttribute(`${n}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,n,r){let i=t.startsWith(`--`);i&&(t=t.replace(`%NS%`,this.cssVarNamespace)),i||r&(zu.DashCase|zu.Important)?e.style.setProperty(t,n,r&zu.Important?`important`:``):e.style[t]=n}removeStyle(e,t,n){let r=t.startsWith(`--`);r&&(t=t.replace(`%NS%`,this.cssVarNamespace)),r||n&zu.DashCase?e.style.removeProperty(t):e.style[t]=``}setProperty(e,t,n){e!=null&&(e[t]=n)}setValue(e,t){e.nodeValue=t}listen(e,t,n,r){if(typeof e==`string`&&(e=Iv().getGlobalEventTarget(this.doc,e),!e))throw new _i(-5102,!1);let i=this.decoratePreventDefault(n);return this.tracingService?.wrapEventListener&&(i=this.tracingService.wrapEventListener(e,t,i)),this.eventManager.addEventListener(e,t,i,r)}decoratePreventDefault(e){return t=>{if(t===`__ngUnwrap__`)return e;e(t)===!1&&t.preventDefault()}}};function Gy(e){return e.tagName===`TEMPLATE`&&e.content!==void 0}var Ky=class extends Wy{hostEl;sharedStylesHost;shadowRoot;constructor(e,t,n,r,i,a,o,s,c){super(e,r,i,o,s),this.hostEl=t,this.sharedStylesHost=c,this.shadowRoot=t.attachShadow({mode:`open`}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let l=n.styles;l=Hy(n.id,l).map(e=>e.replace(/%NS%/g,s));for(let e of l){let t=document.createElement(`style`);a&&t.setAttribute(`nonce`,a),t.textContent=e,this.shadowRoot.appendChild(t)}let u=n.getExternalStyles?.();if(u)for(let e of u){let t=Ay(e,r);a&&t.setAttribute(`nonce`,a),this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,n){return super.insertBefore(this.nodeOrShadowRoot(e),t,n)}removeChild(e,t){return super.removeChild(null,t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},qy=class extends Wy{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(e,t,n,r,i,a,o,s,c){super(e,i,a,o,s),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r;let l=n.styles,u=c?Hy(c,l):l;this.styles=u.map(e=>e.replace(/%NS%/g,s)),this.styleUrls=n.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&Ku.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},Jy=class extends qy{contentAttr;hostAttr;constructor(e,t,n,r,i,a,o,s,c){let l=r+`-`+n.id;super(e,t,n,i,a,o,s,c,l),this.contentAttr=By(l),this.hostAttr=Vy(l)}applyToHost(e){this.applyStyles(),this.setAttribute(e,this.hostAttr,``)}createElement(e,t){let n=super.createElement(e,t);return super.setAttribute(n,this.contentAttr,``),n}},Yy=class e extends _ne{supportsDOMEvents=!0;static makeCurrent(){gne(new e)}onAndCancel(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.remove()}createElement(e,t){return t||=this.getDefaultDocument(),t.createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument(`fakeTitle`)}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return t===`window`?window:t===`document`?e:t===`body`?e.body:null}getBaseHref(e){let t=Zy();return t==null?null:Qy(t)}resetBaseElement(){Xy=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return by(document.cookie,e)}},Xy=null;function Zy(){return Xy||=document.head.querySelector(`base`),Xy?Xy.getAttribute(`href`):null}function Qy(e){return new URL(e,document.baseURI).pathname}var $y=[`alt`,`control`,`meta`,`shift`],eb={"\b":`Backspace`," ":`Tab`,"":`Delete`,"\x1B":`Escape`,Del:`Delete`,Esc:`Escape`,Left:`ArrowLeft`,Right:`ArrowRight`,Up:`ArrowUp`,Down:`ArrowDown`,Menu:`ContextMenu`,Scroll:`ScrollLock`,Win:`OS`},tb={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},nb=(()=>{class e extends Sy{constructor(e){super(e)}supports(t){return e.parseEventName(t)!=null}addEventListener(t,n,r,i){let a=e.parseEventName(n),o=e.eventCallback(a.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Iv().onAndCancel(t,a.domEventName,o,i))}static parseEventName(t){let n=t.toLowerCase().split(`.`),r=n.shift();if(n.length===0||r!==`keydown`&&r!==`keyup`)return null;let i=e._normalizeKey(n.pop()),a=``,o=n.indexOf(`code`);if(o>-1&&(n.splice(o,1),a=`code.`),$y.forEach(e=>{let t=n.indexOf(e);t>-1&&(n.splice(t,1),a+=e+`.`)}),a+=i,n.length!=0||i.length===0)return null;let s={};return s.domEventName=r,s.fullKey=a,s}static matchEventFullKeyCode(e,t){let n=eb[e.key]||e.key,r=``;return t.indexOf(`code.`)>-1&&(n=e.code,r=`code.`),n==null||!n?!1:(n=n.toLowerCase(),n===` `?n=`space`:n===`.`&&(n=`dot`),$y.forEach(t=>{if(t!==n){let n=tb[t];n(e)&&(r+=t+`.`)}}),r+=n,r===t)}static eventCallback(t,n,r){return i=>{e.matchEventFullKeyCode(i,t)&&r.runGuarded(()=>n(i))}}static _normalizeKey(e){return e===`esc`?`escape`:e}static ɵfac=function(t){return new(t||e)(ua(As))};static ɵprov=Oi({token:e,factory:e.ɵfac})}return e})();async function rb(e,t,n){return pne({rootComponent:e,...ib(t,n)})}function ib(e,t){return{platformRef:t?.platformRef,appProviders:[...lb,...e?.providers??[]],platformProviders:cb}}function ab(){Yy.makeCurrent()}function ob(){return new tc}function sb(){return au(document),document}var cb=[{provide:cc,useValue:xy},{provide:sc,useValue:ab,multi:!0},{provide:As,useFactory:sb}],lb=[{provide:Wa,useValue:`root`},{provide:tc,useFactory:ob},{provide:wy,useClass:Cy,multi:!0},{provide:wy,useClass:nb,multi:!0},Uy,{provide:im,useClass:jy},{provide:jy,useExisting:im},Ty,{provide:wp,useExisting:Uy},[]];function ub(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e{let r=new mb({code:i,why:fb(a.why,e),fix:fb(a.fix,e),docs:o,cause:e.cause,sources:e.sources,data:fb(a.data,e)},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function _b(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n{e=n,t=r}),resolve:e,reject:t}}var Cb=Math.random.bind(Math),wb=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Tb(e=21){let t=``,n=e;for(;n--;)t+=wb[Cb()*64|0];return t}var Eb=6e4,Db=e=>e,Ob=Db,{clearTimeout:kb,setTimeout:Ab}=globalThis;function jb(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=Db,deserialize:s=Ob,resolver:c,bind:l=`rpc`,timeout:u=Eb,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=Sb(),_=Tb();s.i=_;let ee;async function te(n=s){return u>=0&&(ee=Ab(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof ee==`object`&&(ee=ee.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:ee,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,te,d):await te()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{kb(ee),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:te,get $closed(){return f},get $meta(){return t.meta},$close:ee,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function ee(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(ne)}function te(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function ne(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(kb(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(ne),h}function Mb(e,t){return t.safety?t.safety:e===`static`||e===`query`||e==null?`read`:`action`}var Nb=Object.freeze({type:`object`,additionalProperties:!0});function Pb(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return Nb}return Nb}function Fb(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;rn[`arg${t}`]);if(`arg0`in n){let e=[];for(;`arg${e.length}`in n;)e.push(n[`arg${e.length}`]);return e}return Object.keys(n).length===0?[]:void 0}function Lb(e,t){return Ib(e,t)??[e]}function Rb(e){return typeof e==`string`?`'${e}'`:new Hb().serialize(e)}var zb=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,Bb=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[zb.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function Vb(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length),r=0;for(let i=0;ia?-1:1)}return e.length===t.length?r:e.lengththis.compare(e[0],t[0])),r=`${e}{`;for(let e=0;ethis.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e})(),Ub=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],Wb=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],Gb=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,Kb=[],qb=class{_data=new Jb;_hash=new Jb([...Ub]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)Kb[n]=e[t+n]|0;else{let e=Kb[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=Kb[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;Kb[n]=t+Kb[n-7]+i+Kb[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+Wb[n]+Kb[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=Jb.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function Yb(e){return new qb().finalize(e).toBase64()}function Xb(e){return Yb(Rb(e))}function Zb(e){return Xb(e)}function Qb(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}var $b=/^[\w+.-]{2,}:\/\//;function ex(e){return e.endsWith(`/`)?e:`${e}/`}function tx(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function nx(e,...t){let n=e;for(let e of t)e&&e!==`/`&&(n=n?ex(n)+e.replace(/^\.?\//,``):e);return n}function rx(e,t){if(!t||t===`/`||$b.test(e))return e;let n=tx(t);return e.startsWith(n)?e:nx(n,e)}function ix(e,t){let n=e.match($b);return t+(n?e.slice(n[0].length):e)}var ax=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function ox(e=21){let t=``,n=e;for(;n--;)t+=ax[Math.random()*64|0];return t}var sx=Symbol.for(`immer-nothing`),cx=Symbol.for(`immer-draftable`),lx=Symbol.for(`immer-state`),ux=[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},`This object has been frozen and should not be mutated`,function(e){return`Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? `+e},`An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.`,`Immer forbids circular references`,"The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},`Object.defineProperty() cannot be used on an Immer draft`,`Object.setPrototypeOf() cannot be used on an Immer draft`,`Immer only supports deleting array indices`,`Immer only supports setting array indices and the 'length' property`,function(e){return`'original' expects a draft, got: ${e}`}];function dx(e,...t){{let n=ux[e],r=Fx(n)?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}}var fx=Object,px=fx.getPrototypeOf,mx=`constructor`,hx=`prototype`,gx=`configurable`,_x=`enumerable`,vx=`writable`,yx=`value`,bx=e=>!!e&&!!e[lx];function xx(e){return e?wx(e)||jx(e)||!!e[cx]||!!e[mx]?.[cx]||Mx(e)||Nx(e):!1}var Sx=fx[hx][mx].toString(),Cx=new WeakMap;function wx(e){if(!e||!Px(e))return!1;let t=px(e);if(t===null||t===fx[hx])return!0;let n=fx.hasOwnProperty.call(t,mx)&&t[mx];if(n===Object)return!0;if(!Fx(n))return!1;let r=Cx.get(n);return r===void 0&&(r=Function.toString.call(n),Cx.set(n,r)),r===Sx}function Tx(e,t,n=!0){Ex(e)===0?(n?Reflect.ownKeys(e):fx.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Ex(e){let t=e[lx];return t?t.type_:jx(e)?1:Mx(e)?2:Nx(e)?3:0}var Dx=(e,t,n=Ex(e))=>n===2?e.has(t):fx[hx].hasOwnProperty.call(e,t),Ox=(e,t,n=Ex(e))=>n===2?e.get(t):e[t],kx=(e,t,n,r=Ex(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Ax(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var jx=Array.isArray,Mx=e=>e instanceof Map,Nx=e=>e instanceof Set,Px=e=>typeof e==`object`,Fx=e=>typeof e==`function`,Ix=e=>typeof e==`boolean`;function Lx(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Rx=e=>Px(e)?e?.[lx]:null,zx=e=>e.copy_||e.base_,Bx=e=>e.modified_?e.copy_:e.base_;function Vx(e,t){if(Mx(e))return new Map(e);if(Nx(e))return new Set(e);if(jx(e))return Array[hx].slice.call(e);let n=wx(e);if(t===!0||t===`class_only`&&!n){let t=fx.getOwnPropertyDescriptors(e);delete t[lx];let n=Reflect.ownKeys(t);for(let r=0;r1&&fx.defineProperties(e,{set:Wx,add:Wx,clear:Wx,delete:Wx}),fx.freeze(e),t&&Tx(e,(e,t)=>{Hx(t,!0)},!1),e)}function Ux(){dx(2)}var Wx={[yx]:Ux};function Gx(e){return e===null||!Px(e)||fx.isFrozen(e)}var Kx=`MapSet`,qx=`Patches`,Jx=`ArrayMethods`,Yx={};function Xx(e){let t=Yx[e];return t||dx(0,e),t}var Zx=e=>!!Yx[e];function Qx(e,t){Yx[e]||(Yx[e]=t)}var $x,eS=()=>$x,tS=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Zx(Kx)?Xx(Kx):void 0,arrayMethodsPlugin_:Zx(Jx)?Xx(Jx):void 0});function nS(e,t){t&&(e.patchPlugin_=Xx(qx),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function rS(e){iS(e),e.drafts_.forEach(oS),e.drafts_=null}function iS(e){e===$x&&($x=e.parent_)}var aS=e=>$x=tS($x,e);function oS(e){let t=e[lx];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function sS(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[lx].modified_&&(rS(t),dx(4)),xx(e)&&(e=cS(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[lx].base_,e,t)}else e=cS(t,n);return lS(t,e,!0),rS(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===sx?void 0:e}function cS(e,t){if(Gx(t))return t;let n=t[lx];if(!n)return _S(t,e.handledSet_,e);if(!dS(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);hS(n,e)}return n.copy_}function lS(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Hx(t,n)}function uS(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var dS=(e,t)=>e.scope_===t,fS=[];function pS(e,t,n,r){let i=zx(e),a=e.type_;if(r!==void 0&&Ox(i,r,a)===t){kx(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Tx(i,(e,n)=>{if(bx(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??fS;for(let e of o)kx(i,e,n,a)}function mS(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!dS(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Bx(i);pS(e,i.draft_??i,a,n),hS(i,r)})}function hS(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}uS(e)}}function gS(e,t,n){let{scope_:r}=e;if(bx(n)){let i=n[lx];dS(i,r)&&i.callbacks_.push(function(){ES(e),pS(e,n,Bx(i),t)})}else xx(n)&&e.callbacks_.push(function(){let i=zx(e);e.type_===3?i.has(n)&&_S(n,r.handledSet_,r):Ox(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&_S(Ox(e.copy_,t,e.type_),r.handledSet_,r)})}function _S(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||bx(e)||t.has(e)||!xx(e)||Gx(e)?e:(t.add(e),Tx(e,(r,i)=>{if(bx(i)){let t=i[lx];dS(t,n)&&(kx(e,r,Bx(t),e.type_),uS(t))}else xx(i)&&_S(i,t,n)}),e)}function vS(e,t){let n=jx(e),r={type_:+!!n,scope_:t?t.scope_:eS(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=yS;n&&(i=[r],a=bS);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var yS={get(e,t){if(t===lx)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=zx(e);if(!Dx(i,t,e.type_))return CS(e,i,t);let a=i[t];if(e.finalized_||!xx(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Lx(t))return a;if(a===xS(e.base_,t)||SS(e,t,a)){ES(e);let n=e.type_===1?+t:t,r=OS(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in zx(e)},ownKeys(e){return Reflect.ownKeys(zx(e))},set(e,t,n){let r=wS(zx(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=xS(zx(e),t),i=r?.[lx];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if(Ax(n,r)&&(n!==void 0||Dx(e.base_,t,e.type_)))return!0;ES(e),TS(e)}return e.copy_[t]===n&&(n!==void 0||Dx(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),gS(e,t,n),!0)},deleteProperty(e,t){return ES(e),xS(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),TS(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=zx(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[vx]:!0,[gx]:e.type_!==1||t!==`length`,[_x]:r[_x],[yx]:n[t]}},defineProperty(){dx(11)},getPrototypeOf(e){return px(e.base_)},setPrototypeOf(){dx(12)}},bS={};for(let e in yS){let t=yS[e];bS[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}bS.deleteProperty=function(e,t){return isNaN(parseInt(t))&&dx(13),bS.set.call(this,e,t,void 0)},bS.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&dx(14),yS.set.call(this,e[0],t,n,e[0])};function xS(e,t){let n=e[lx];return(n?zx(n):e)[t]}function SS(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!xx(n)||n[lx]?!1:e.baseRefs_.has(n)}function CS(e,t,n){let r=wS(t,n);return r?yx in r?r[yx]:r.get?.call(e.draft_):void 0}function wS(e,t){if(!(t in e))return;let n=px(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=px(n)}}function TS(e){e.modified_||(e.modified_=!0,e.parent_&&TS(e.parent_))}function ES(e){e.copy_||=(e.assigned_=new Map,Vx(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var DS=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Fx(e)&&!Fx(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}Fx(t)||dx(6),n!==void 0&&!Fx(n)&&dx(7);let r;if(xx(e)){let i=aS(this),a=OS(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?rS(i):iS(i)}return nS(i,n),sS(r,i)}if(!e||!Px(e)){if(r=t(e),r===void 0&&(r=e),r===sx&&(r=void 0),this.autoFreeze_&&Hx(r,!0),n){let t=[],i=[];Xx(qx).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}dx(1,e)},this.produceWithPatches=(e,t)=>{if(Fx(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Ix(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Ix(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Ix(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){xx(e)||dx(8),bx(e)&&(e=kS(e));let t=aS(this),n=OS(t,e,void 0);return n[lx].isManual_=!0,iS(t),n}finishDraft(e,t){let n=e&&e[lx];(!n||!n.isManual_)&&dx(9);let{scope_:r}=n;return nS(r,t),sS(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Xx(qx).applyPatches_;return bx(e)?r(e,t):this.produce(e,e=>r(e,t))}};function OS(e,t,n,r){let[i,a]=Mx(t)?Xx(Kx).proxyMap_(t,n):Nx(t)?Xx(Kx).proxySet_(t,n):vS(t,n);return(n?.scope_??eS()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?mS(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function kS(e){return bx(e)||dx(10,e),AS(e)}function AS(e){if(!xx(e)||Gx(e))return e;let t=e[lx],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Vx(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Vx(e,!0);let i=n;return Nx(n)&&(n=new Set),Tx(i,(e,t)=>{kx(n,e,AS(t))},r),t&&(t.finalized_=!1),n}function jS(){ux.push(`Sets cannot have "replace" patches.`,function(e){return`Unsupported patch operation: `+e},function(e){return`Cannot apply patch, path doesn't resolve: `+e},`Patching reserved attributes like __proto__, prototype and constructor is not allowed`);function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Rx(Ox(e,n.key_)),i=Ox(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||Dx(e,o))||n.parent_.type_===1&&n.parent_.allIndicesReassigned_)return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e{let u=Ox(o,e,c),f=Ox(s,e,c),p=l?Dx(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===sx?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e[e,u(t)]));if(Nx(e))return new Set(Array.from(e).map(u));let t=Object.create(px(e));for(let n in e)t[n]=u(e[n]);return Dx(e,cx)&&(t[cx]=e[cx]),t}function d(e){return bx(e)?u(e):e}Qx(qx,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var MS=new DS,NS=MS.produce,PS=MS.produceWithPatches.bind(MS),FS=MS.applyPatches.bind(MS),IS=1e3;function LS(e,t){if(e.add(t),e.size>IS){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function RS(e){let{enablePatches:t=!1}=e;t&&jS();let n=Qb(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=ox())=>{i.has(t)||(jS(),r=FS(r,e),LS(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=ox())=>{if(!i.has(a)){if(LS(i,a),t){let[t,i]=PS(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=NS(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}var zS=typeof self==`object`?self:globalThis,BS=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),VS=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function HS(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o,r=BS.has(e)?zS[e]:void 0;return n(new(r??zS.Error)(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}if(typeof a==`string`&&VS.has(a))return n(new zS[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function US(e){return HS(new Map,e)(0)}var WS=``,{toString:GS}={},{keys:KS}=Object;function qS(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=GS.call(e).slice(8,-1);switch(n){case`Array`:return[1,WS];case`Object`:return[2,WS];case`Date`:return[3,WS];case`RegExp`:return[4,WS];case`Map`:return[5,WS];case`Set`:return[6,WS];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function JS([e,t]){return e===0&&(t===`function`||t===`symbol`)}function YS(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=qS(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of KS(r))(e||!JS(qS(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(JS(qS(n))||JS(qS(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!JS(qS(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function XS(e,t={}){let n=[];return YS(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:ZS,stringify:QS}=JSON,$S={json:!0,lossy:!0};function eC(e){return US(ZS(e))}function tC(e){return QS(XS(e,$S))}function nC(e){return US(e)}function rC(e){return tC(e)}function iC(e){return eC(e)}var aC=256,oC=class extends Error{name=`StreamClosedError`};function sC(e={}){let t=e.id??ox(),n=Math.max(0,e.replayWindow??0),r=Qb(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new oC(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=lC(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function cC(e={}){let t=e.id??ox(),n=Math.max(1,e.highWaterMark??aC),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function lC(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var uC=128;function dC(e){return e.replace(/[^\w-]+/g,`_`).slice(0,uC)}var fC=`modulepreload`,pC=function(e,t){return new URL(e,t).href},mC={},hC=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=pC(t,n),t=s(t),t in mC)return;mC[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:fC,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},gC=`__connection.json`,_C=`__DEVFRAME_CONNECTION__`,vC=`x-birpc-session`,yC=`__rpc-dump/index.json`,bC=`devframe:services`,xC=`devframe_otp`,SC=`devframe_auth_token`;vb.postMessage.remoteAssetsError;var CC=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>Zb(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}},wC=xb({docsBase:`https://devfra.me/errors`,codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}});function TC(e){if(e.agent&&e.jsonSerializable===!1)throw wC.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function EC(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function DC(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function OC(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function jC(e,t){let n=e.handler;if(!n){let r=await AC(e,t);if(!r.handler)throw wC.DF0024({name:e.name});n=r.handler}let r=e.args,i=e.returns;if(!r&&!i)return n;let a=n;return async(...t)=>{let n=await OC(e.name,r,t),o=await a(...n);return await kC(e.name,i,o)}}var MC=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return jC(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw wC.DF0021({name:e.name});TC(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw wC.DF0022({name:e.name});TC(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await jC(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw wC.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function NC(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw FC(t,`undefined`,r,e);return n}return i!==null&&PC(i,r,e,t),n})}function PC(e,t,n,r){if(typeof e==`bigint`)throw FC(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw FC(r,`Map`,t,n);if(e instanceof Set)throw FC(r,`Set`,t,n);if(e instanceof Date)throw FC(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw FC(r,e.constructor?.name??`class instance`,t,n)}function FC(e,t,n,r){let i=IC(n,r);return wC.DF0020({name:e||``,type:t,path:i})}function IC(e,t){return Array.isArray(e)?`[${t}]`:t===``?``:t}var LC=`__DEVFRAME_CONNECTION_META__`,RC=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function zC(e){let t=[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]];for(let e of t)try{let t=e();if(t)return t}catch{}}function BC(){return zC(_C)}function VC(){return zC(LC)}function HC(e){if(e)return e;try{let e=localStorage.getItem(RC);if(e)return e}catch{}return zC(RC)}function UC(e){globalThis[_C]=e,globalThis[LC]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&WC(e.authToken)}function WC(e){try{localStorage.setItem(RC,e)}catch{}globalThis[RC]=e;let t=BC();t&&(globalThis[_C]={...t,authToken:e})}function GC(e){let t=rx(gC,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function KC(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function qC(){let e=BC();if(e)return KC(e,HC()??e.authToken??e.connectionMeta.authToken);let t=VC();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??GC(`./`),authToken:HC(t.authToken)}}async function JC(e={}){if(e.connection){let t=KC(e.connection,HC(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return UC(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:GC(t[0]??`./`),authToken:HC(e.authToken??e.connectionMeta.authToken)};return UC(n),n}let n=qC();if(n){let t=KC(n,HC(e.authToken??n.authToken??n.connectionMeta.authToken));return UC(t),t}let r=[];for(let n of t){let t=rx(gC,n),i=GC(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${i}: ${n.status}`);let r=await n.json(),a=n.url||i,o={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,a).href:a,authToken:HC(e.authToken??r.authToken)};return UC(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var YC=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function XC(e=xC){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function ZC(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,``));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function QC(e=xC){let t=XC(e);return t&&ZC(e),t}async function $C(e,t={}){let n=QC(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function ew(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(bC,{initialValue:{}}).then(e=>(t=e.value(),e.on(`updated`,e=>{t=e}),e)),r);return i(),{state:i,has:e=>e in t,keys:()=>Object.keys(t),get:r=>{let i=t[r];if(!i)return;let a=n.get(i);return a||(a={...i,rpc:e.scope(i.scope).rpc},n.set(i,a)),a}}}function tw(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=e.connectionMeta.backend===`static`;function o(e,t){let n=r.get(e);return n&&typeof n==`object`&&!Array.isArray(n)&&typeof t==`object`&&!Array.isArray(t)?{...n,...t}:t}e.client.register({name:vb.broadcast.clientStateUpdated,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>o(e,n),r)}}),e.client.register({name:vb.broadcast.clientStatePatch,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.patch(n,r)}});function s(t,n){let r=[];return r.push(n.on(`updated`,(n,r,i)=>{a||(r?e.callEvent(`devframe:rpc:server-state:patch`,t,r,i):e.callEvent(`devframe:rpc:server-state:set`,t,n,i))})),()=>{for(let e of r)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return i.add(e),()=>{i.delete(e)}},delete(e){let i=n.get(e);n.delete(e);let a=t.delete(e);return r.delete(e),i?.(),a},get:async(c,l)=>{if(l?.initialValue!==void 0&&r.set(c,l.initialValue),t.has(c))return t.get(c);let u=RS({initialValue:l?.initialValue,enablePatches:!1});async function d(){if(a||e.callEvent(`devframe:rpc:server-state:subscribe`,c),l?.initialValue!==void 0){t.set(c,u);for(let e of i)e(c);return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&u.mutate(()=>o(c,e))}).catch(e=>{console.error(`Error getting server state`,e)}),n.set(c,s(c,u)),u}{let r=await e.call(`devframe:rpc:server-state:get`,c);u.mutate(()=>o(c,r)),t.set(c,u);for(let e of i)e(c);return n.set(c,s(c,u)),u}}return new Promise((t,n)=>{if(e.isTrusted)d().then(t,n);else{t(u);let n=!1;e.events.on(vb.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var nw=new Map;function rw(e=nw){let t=new Map;return{serialize:n=>{let r;return n.t===`q`?r=n.m:(r=t.get(n.i),t.delete(n.i)),!(n.t===`s`&&`e`in n)&&r&&e.get(r)?.jsonSerializable===!0?NC(n,r??``):`s:${rC(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?iC(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function iw(){}function aw(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+(e[t]===`\r`?4:2))}}function ow(e){let t=`message`,n=[];for(let r of e.split(/\r?\n/))r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trimStart():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));return{event:t,data:n}}function sw(e){let{onConnected:t=iw,onError:n=iw,onDisconnected:r=iw,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${SC}=${encodeURIComponent(e.authToken)}`);let s=rw(i),c=new AbortController,l=!1,u,d,f,p,m=new Promise((e,t)=>{f=e,p=t});m.catch(()=>{});function h(e){l||(l=!0,p(e),n(e),r())}function g(){l||(l=!0,p(Error(`Devframe SSE stream closed`)),r())}function _(e,n){if(e===`session`){f(n),t();return}u?.(n)}async function ee(e){let t=e.getReader();d=t;let n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;for(r+=n.decode(i,{stream:!0});;){let e=aw(r);if(!e)break;r=e.rest;let{event:t,data:n}=ow(e.frame);n.length>0&&_(t,n.join(` -`))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await ee(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[vC]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function cw(e,t){let{channel:n,rpcOptions:r={}}=t;return jb(e,{...n,timeout:-1,...r,proxify:!1})}function lw(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(vb.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new YC(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new YC(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(vb.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new YC(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(vb.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let ee=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(vb.client.connectionError,e),m(new YC(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new YC(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),te=cw(a.functions,{channel:ee,rpcOptions:o});a.register({name:vb.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new YC(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(vb.client.connectionError,e),m(e),i.emit(vb.client.isTrustedUpdated,!1)}});let ne=n;async function re(e){ne=e;let t=await te.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new YC(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(vb.client.connectionError,e)}return i.emit(vb.client.isTrustedUpdated,c),t.isTrusted}async function ie(e){let t=(await te.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(ne=t,c=!0,d.resolve(!0),f(`connected`),i.emit(vb.client.isTrustedUpdated,!0)),t}async function ae(e={}){await te.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function oe(){return c?!0:re(ne??``)}async function se(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:oe,requestTrustWithToken:re,requestTrustWithCode:ie,requestAuthCode:ae,ensureTrusted:se,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(vb.client.error,n,t),Promise.reject(n)):g(te.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(vb.client.error,t,String(e[0]));return}return te.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(vb.client.error,n,t),Promise.reject(n)):g(te.$callOptional(...e),t)},close:()=>{ee.close()}}}function uw(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function dw(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=uw(n.sse,r??`./`,location);return lw({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>sw({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function fw(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:pw(r)?fw(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function pw(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function mw(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function hw(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function gw(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function _w(e){if(e.error)throw fw(e.error);return e.output}function vw(e){return e.some(e=>e!=null)}function yw(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function bw(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?nC(e):e}function a(e,t){return i(yw(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return gw(r)?_w(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(mw(r)){if(vw(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(hw(r)){let e=Zb(n),i=r.records[e];if(i)return _w(await s(i,r.serialization));if(r.fallback)return _w(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!vw(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function xw(e){let t=bw(await e.fetchJsonFromBases(yC),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var Sw=``;function Cw(e,t){return`${e}${Sw}${t}`}function ww(e){let t=new Map,n=new Map;e.client.register({name:vb.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(Cw(e,n))?._push(r,i)}}),e.client.register({name:vb.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=Cw(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:vb.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=Cw(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(vb.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(Sw);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=Cw(n,r),o=t.get(a);if(o)return o;let s=cC({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(vb.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=Cw(t,r),a=n.get(i);if(a)return a;let o=sC({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function Tw(){}var Ew=new Map;function Dw(e){let t=e.url;e.authToken&&(t=`${t}?${SC}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=Tw,onError:i=Tw,onDisconnected:a=Tw,definitions:o=Ew}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=rw(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function Ow(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return ix(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function kw(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=Ow(n.websocket,r??`./`,location);return lw({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>Dw({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function Aw(e){return e.includes(`:`)}function jw(e,t){return Aw(t)?t:`${e}:${t}`}function Mw(e){return{async get(t){return(await e()).value()?.[t]},async set(t,n){(await e()).mutate(e=>{if(e===void 0)return{[t]:n};e[t]=n})},async delete(t){(await e()).mutate(e=>{e!==void 0&&delete e[t]})},async all(){return(await e()).value()??{}},async onChange(t){return(await e()).on(`updated`,e=>t(e??{}))}}}function Nw(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=(async()=>(await e.ensureTrusted(),e.sharedState.get(r)))().catch(e=>{throw i=void 0,e}),i}return Mw(a)}function Pw(e,t){return{global:Nw(e,t,`global`),project:Nw(e,t,`project`)}}function Fw(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(Aw(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(jw(t,n),...r)),callEvent:((n,...r)=>e.callEvent(jw(t,n),...r)),callOptional:((n,...r)=>e.callOptional(jw(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(jw(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(jw(t,n),r,i),upload:(n,r)=>e.streaming.upload(jw(t,n),r)}},settings:Pw(e,t),scope:e.scope}}function Iw(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function Lw(e,t={}){let n=t.modelContext??Iw();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=dC(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=Mb(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:Fb(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>Rw(t,e.context,n)},{signal:c.signal});u&&`then`in u&&u.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),u&&`unregister`in u&&typeof u.unregister==`function`&&u.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}async function Rw(e,t,n){try{let r=Lb(n,e.args?.length);return{content:[{type:`text`,text:zw(await(await jC(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:Bw(e)}]}}}function zw(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function Bw(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}function Vw(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function Hw(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=Qb(),a=Array.isArray(t)?t:[t],o=await JC(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new CC({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new MC(f),m=e.webmcp===!1?void 0:Lw(p),h,g=!1,_=0,ee;function te(){_++,ee=void 0,d.clear(),r===!0&&d.updateOptions({functions:[]})}r&&(p.register({name:vb.broadcast.cacheInvalidate,type:`event`,handler:te}),i.on(vb.client.connectionStatus,te),i.on(vb.client.isTrustedUpdated,te));async function ne(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(rx(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let re=e.callTimeout??0,ie=re>0?re:1/0,ae,oe={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){let a=performance.now()+ie;if(await n.onRequest?.call(this,e,t,i),r===!0&&e.i&&ae.isTrusted&&!e.m.startsWith(`anonymous:`)&&e.m!==`devframe:rpc:cacheable-functions`){function t(){if(performance.now()>=a)throw new YC(`timeout`,`[devframe] RPC call "${e.m}" timed out after ${re}ms`)}for(;!ee&&(t(),!(g||ae.status!==`connected`));){let e=_;ee=ae.callOptional(`devframe:rpc:cacheable-functions`).then(t=>{e===_&&d.updateOptions({functions:t??[]})}).catch(t=>{throw e===_&&(ee=void 0),t}),await ee}await ee,t()}let o=_;if(r&&e.i&&!g&&ae.isTrusted&&d.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);o===_&&!g&&d.apply(e,n)}else await t(e)}}},se=Vw(e.transport??`auto`,s);ae=se===`static`?await xw({fetchJsonFromBases:ne}):se===`sse`?dw({...oe,sseOptions:e.sseOptions}):kw({...oe,wsOptions:e.wsOptions});let ce;try{ce=new BroadcastChannel(`devframe-auth`)}catch{}let le,ue=!1;function de(e){return((...t)=>ue||!le?e(...t):le.then(()=>e(...t)))}function fe(){g=!0,te();try{h?.(),m?.()}finally{try{ce?.close()}finally{ae.close?.()}}}let pe={events:i,get isTrusted(){return ae.isTrusted},get status(){return ae.status},get connectionError(){return ae.connectionError},get transport(){return ae.transport??se},get connection(){return o},connectionMeta:s,ensureTrusted:ae.ensureTrusted,requestTrust:ae.requestTrust,requestTrustWithToken:async e=>(WC(e),o={...o,authToken:e},ae.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await ae.requestTrustWithCode(e);if(!t)return!1;WC(t),o={...o,authToken:t};try{ce?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>ae.requestAuthCode(e),call:de(ae.call),callEvent:de(ae.callEvent),callOptional:de(ae.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:fe};pe.sharedState=tw(pe),pe.streaming=ww(pe),pe.services=ew(pe);let me=new Map;pe.scope=(e=>{if(!e)return pe;let t=me.get(e);return t||(t=Fw(pe,e),me.set(e,t)),t}),f.rpc=pe;function he(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function ge(){if(e.simpleAuth!==!1&&he()&&typeof globalThis.prompt==`function`)for(await pe.requestAuthCode().catch(()=>{});!pe.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await pe.requestTrustWithCode(t))return}}async function _e(){let t=await ae.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await $C(pe,{param:n}):!1;t||r||pe.isTrusted||await ge()}return le=_e().then(()=>{ue=!0},()=>{ue=!0}),s.mcp&&hC(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./browser-agent-rpc-KH4HHvHf-Coz0PPwM.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{g||(h=e(pe))}).catch(()=>{}),ce&&(ce.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&pe.requestTrustWithToken(e.data.authToken)}),pe}var Uw=Hw,Ww=[`components`,`injectors`,`signals`,`ngrx`,`tanstackQuery`,`forms`,`router`,`pipes`,`http`,`analog`,`capacitor`,`errors`,`plugins`],Gw=[`angular`,`ngrx`,`analog`,`angular-native`,`nativescript`,`capacitor`];function Kw(e){return`pangular:${e}`}var qw=[`forms`,`router`,`ngrx`,`http`,`analog`,`components`,`tanstackQuery`,`plugins`],Jw={refreshMs:{default:3e3,min:500,max:8e3},navigations:{default:50,min:5,max:500},formTimeline:{default:200,min:10,max:2e3},httpCalls:{default:200,min:10,max:2e3},changeLog:{default:200,min:10,max:2e3},cdCycles:{default:200,min:10,max:2e3},capacitorCalls:{default:200,min:10,max:2e3},idleAfterMs:{default:6e4,min:0,max:6e5}},Yw={"opted-out":`the request sets transferCache: false`,post:`POST requests are left out unless includePostRequests is set`,method:`only GET, HEAD and POST requests are cached`,"auth-headers":`it sends an Authorization, Proxy-Authorization or Cookie header`,credentials:`it sends credentials (withCredentials or credentials: include/same-origin)`,"no-cache-request":`the request asks for no-store, no-cache or private`,"no-cache-response":`the response has Cache-Control no-store, no-cache or private`,"set-cookie":`the response sets a cookie`,error:`failed responses are not stored`,mocked:`a fault rule answered before the transfer cache ran`,"cache-off-or-filter":`the transfer cache is off, or its filter (or another withHttpTransferCacheOptions setting) left it out`},Xw=[[200,`OK`],[201,`Created`],[202,`Accepted`],[203,`Non-Authoritative Information`],[204,`No Content`],[205,`Reset Content`],[206,`Partial Content`],[207,`Multi-Status`],[208,`Already Reported`],[226,`IM Used`],[300,`Multiple Choices`],[301,`Moved Permanently`],[302,`Found`],[303,`See Other`],[304,`Not Modified`],[307,`Temporary Redirect`],[308,`Permanent Redirect`],[400,`Bad Request`],[401,`Unauthorized`],[402,`Payment Required`],[403,`Forbidden`],[404,`Not Found`],[405,`Method Not Allowed`],[406,`Not Acceptable`],[407,`Proxy Authentication Required`],[408,`Request Timeout`],[409,`Conflict`],[410,`Gone`],[411,`Length Required`],[412,`Precondition Failed`],[413,`Content Too Large`],[414,`URI Too Long`],[415,`Unsupported Media Type`],[416,`Range Not Satisfiable`],[417,`Expectation Failed`],[418,`I'm a Teapot`],[421,`Misdirected Request`],[422,`Unprocessable Content`],[423,`Locked`],[424,`Failed Dependency`],[425,`Too Early`],[426,`Upgrade Required`],[428,`Precondition Required`],[429,`Too Many Requests`],[431,`Request Header Fields Too Large`],[451,`Unavailable For Legal Reasons`],[499,`Client Closed Request`],[500,`Internal Server Error`],[501,`Not Implemented`],[502,`Bad Gateway`],[503,`Service Unavailable`],[504,`Gateway Timeout`],[505,`HTTP Version Not Supported`],[506,`Variant Also Negotiates`],[507,`Insufficient Storage`],[508,`Loop Detected`],[510,`Not Extended`],[511,`Network Authentication Required`],[520,`Web Server Returned an Unknown Error`],[521,`Web Server Is Down`],[522,`Connection Timed Out`],[523,`Origin Is Unreachable`],[524,`A Timeout Occurred`]];function Zw(e){return Xw.some(([t])=>t===e)}var Qw=/^[a-z][a-z0-9-]{0,39}$/;function $w(e,t){let n=t.plugins?.[e],r=t.inspectors.plugins&&Qw.test(e)&&(n?.enabled??!0);return{enabled:r,tools:r&&t.agent.tools.plugins&&(n?.tools??!0),actions:r&&t.actions.plugins&&(n?.actions??!0)}}var eT=`pangular`,tT={mod:`Mod`,ctrl:`Ctrl`,control:`Ctrl`,meta:`Meta`,cmd:`Meta`,command:`Meta`,alt:`Alt`,option:`Alt`,opt:`Alt`,shift:`Shift`},nT=[`Mod`,`Ctrl`,`Meta`,`Alt`,`Shift`];function rT(e){if(typeof e!=`string`||e.length>40)return;let t=e.split(`+`).map(e=>e.trim());if(t.some(e=>!e))return;let n=new Set,r;for(let e of t){let t=tT[e.toLowerCase()];if(t){if(n.has(t))return;n.add(t);continue}if(r!==void 0)return;if(/^[a-z0-9]$/i.test(e))r=e.toUpperCase();else if(/^f([1-9]|1[0-2])$/i.test(e))r=e.toUpperCase();else return}if(r&&[...n].some(e=>e!==`Shift`)&&!(n.has(`Mod`)&&(n.has(`Ctrl`)||n.has(`Meta`))))return[...nT.filter(e=>n.has(e)),r].join(`+`)}function iT(e,t,n){let r=t.split(`+`),i=r.pop(),a=new Set(r),o=a.has(`Ctrl`)||a.has(`Mod`)&&!n,s=a.has(`Meta`)||a.has(`Mod`)&&n;if(e.ctrlKey!==o||e.metaKey!==s||e.altKey!==a.has(`Alt`)||e.shiftKey!==a.has(`Shift`))return!1;if(/^F\d+$/.test(i))return e.key.toUpperCase()===i;let c=/^\d$/.test(i)?`Digit${i}`:`Key${i}`;return e.code?e.code===c:e.key.toUpperCase()===i}function aT(e,t){if(!t)return e.replace(/^Mod\b/,`Ctrl`);let n={Mod:`⌘`,Meta:`⌘`,Ctrl:`⌃`,Alt:`⌥`,Shift:`⇧`};return e.split(`+`).map(e=>n[e]??e).join(``)}var oT=[{id:`dashboard`,label:`Dashboard`},{id:`timeline`,label:`Timeline`},{id:`audit`,label:`Audit`},{id:`analog`,label:`Analog`,inspector:`analog`},{id:`components`,label:`Components`,inspector:`components`},{id:`routes`,label:`Routes`,inspector:`router`},{id:`signals`,label:`Signals`,inspector:`signals`},{id:`injectors`,label:`Injectors`,inspector:`injectors`},{id:`store`,label:`Store`,inspector:`ngrx`},{id:`queries`,label:`Queries`,inspector:`tanstackQuery`},{id:`forms`,label:`Forms`,inspector:`forms`},{id:`pipes`,label:`Pipes`,inspector:`pipes`},{id:`network`,label:`SSR & HTTP`,inspector:`http`},{id:`errors`,label:`Errors`,inspector:`errors`},{id:`capacitor`,label:`Capacitor`,inspector:`capacitor`},{id:`plugins`,label:`Plugins`,inspector:`plugins`}],sT=1e4;function cT(e){return oT.filter(t=>!(`inspector`in t)||e.inspectors[t.inspector])}var lT={components:`a component instance, by its id in the component tree`,injectors:`a component's element injector, by the component's id`,forms:`a form, by its id`},uT=200;function dT(e){let t=new URLSearchParams({tab:e.tab});return e.id&&t.set(`id`,e.id),e.page&&t.set(`page`,e.page),`#${t.toString()}`}function fT(e){let t=new URLSearchParams(e.replace(/^#/,``)),n=e=>{let n=t.get(e)?.trim();return n&&n.length<=uT?n:void 0},r=n(`tab`);if(!r)return null;let i=n(`id`),a=n(`page`);return{tab:r,...i?{id:i}:{},...a?{page:a}:{}}}var pT=[{id:`settings`,title:`Open settings`,group:`Go to`,keywords:`preferences tabs`},{id:`pick-component`,title:`Pick component on page`,group:`Actions`,keywords:`select inspect element`,inspector:`components`},{id:`cd-record-start`,title:`Start recording change detection`,group:`Actions`,keywords:`profiler cycles`,inspector:`components`},{id:`cd-record-stop`,title:`Stop recording change detection`,group:`Actions`,keywords:`profiler cycles`,inspector:`components`},{id:`cd-clear`,title:`Clear change detection recording`,group:`Actions`,keywords:`reset recordings cycles`,inspector:`components`},{id:`theme:system`,title:`Theme: follow the system`,group:`Theme`,keywords:`auto`},{id:`theme:light`,title:`Theme: light`,group:`Theme`},{id:`theme:dark`,title:`Theme: dark`,group:`Theme`},{id:`dock:float`,title:`Popup: float`,group:`Popup`,keywords:`dock`,popupOnly:!0},{id:`dock:bottom`,title:`Popup: dock to the bottom`,group:`Popup`,keywords:`dock`,popupOnly:!0},{id:`dock:right`,title:`Popup: dock to the right`,group:`Popup`,keywords:`dock`,popupOnly:!0},{id:`dock:reset-size`,title:`Popup: reset the docked size`,group:`Popup`,keywords:`splitter resize height width`,popupOnly:!0},{id:`popout`,title:`Popup: open in its own window`,group:`Popup`,keywords:`pop out detach new window`,popupOnly:!0},{id:`popout:return`,title:`Popup: back into the page`,group:`Popup`,keywords:`pop in attach dock window`,popupOnly:!0}];function mT(e){let t=cT(e).map(e=>({id:`tab:${e.id}`,title:`Go to ${e.label}`,group:`Go to`,keywords:`tab open`})),n=pT.filter(t=>!t.inspector||e.inspectors[t.inspector]).map(({inspector:e,...t})=>t);return[...t,...n]}function hT(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function gT(e,t){return typeof e==`boolean`?e:t}var _T=100,vT=100;function yT(e){if(!Array.isArray(e))return[];let t=e.filter(e=>typeof e==`string`).map(e=>e.trim()).filter(e=>e&&e.length<=vT);return[...new Set(t)].slice(0,_T)}function bT(e,t){let{default:n,min:r,max:i}=Jw[t];return typeof e!=`number`||!Number.isFinite(e)?n:Math.min(i,Math.max(r,Math.round(e)))}function xT(e,t){return Object.fromEntries(e.map(e=>[e,t(e)]))}function ST(e){let t=hT(e),n=hT(t.agent),r=hT(t.inspectors),i=hT(n.tools),a=hT(t.actions),o=gT(t.actions,!0),s=hT(t.redaction),c=hT(t.limits),l=xT(Ww,e=>gT(r[e],!0));return{inspectors:l,agent:{readOnly:gT(n.readOnly,!1),tools:xT(Ww,e=>l[e]&&gT(i[e],!0)),browserTools:gT(n.browserTools,!1)},actions:xT(qw,e=>l[e]&&gT(a[e],o)),redaction:{secretNames:yT(s.secretNames),unmask:yT(s.unmask)},limits:Object.fromEntries(Object.keys(Jw).map(e=>[e,bT(c[e],e)])),popup:{hotkey:DT(hT(t.popup).hotkey)},plugins:ET(t.plugins),lint:{rules:wT(t.lint)}}}var CT=200;function wT(e){let t=hT(hT(e).rules),n={};for(let[e,r]of Object.entries(t).slice(0,CT))typeof r==`boolean`&&(n[e]=r);return n}var TT=100;function ET(e){let t={};for(let[n,r]of Object.entries(hT(e)).slice(0,TT)){if(!Qw.test(n))continue;if(typeof r==`boolean`){t[n]={enabled:r,tools:!0,actions:!0};continue}let e=hT(r);r!==void 0&&Object.keys(e).length&&(t[n]={enabled:gT(e.enabled,!0),tools:gT(e.tools,!0),actions:gT(e.actions,!0)})}return t}function DT(e){return e===!1?!1:rT(e)??`Alt+Shift+P`}function OT(e){let t=e?.configs;return ST(t?.[eT])}function kT(e){return`${{forms:`Writing to forms`,router:`Navigating and clearing navigations`,ngrx:`Restoring NgRx state and dispatching actions`,http:`Changing HTTP mock rules and SSR overrides, and clearing HTTP calls`,analog:`Calling API routes and clearing server calls`,components:`Editing component properties and signals`,tanstackQuery:`Invalidating and refetching TanStack queries`,plugins:`Running plugin actions`}[e]} is turned off in the devtools config (actions.${e}).`}var AT=[`pangular:build-meta`],jT={components:`Components`,injectors:`Injectors`,signals:`Signals`,ngrx:`NgRx`,tanstackQuery:`TanStack Query`,forms:`Forms`,router:`Router`,pipes:`Pipes`,http:`HTTP`,analog:`Analog`,capacitor:`Capacitor`,errors:`Errors`,plugins:`Plugins`},MT={forms:`Form writes`,router:`Navigation`,ngrx:`NgRx restore and dispatch`,http:`HTTP mocking`,analog:`Analog API calls`,components:`Component edits`,tanstackQuery:`TanStack Query invalidate and refetch`,plugins:`Plugin actions`},NT={refreshMs:e=>`poll every ${e} ms`,navigations:e=>`${e} navigations`,formTimeline:e=>`${e} form events`,httpCalls:e=>`${e} HTTP calls`,changeLog:e=>`${e} NgRx changes`,cdCycles:e=>`${e} change detection cycles`,capacitorCalls:e=>`${e} Capacitor plugin calls`,idleAfterMs:e=>e?`idle ${e/1e3} s after the last agent call`:`never idle`};function PT(e){let t=[],n=(e,n)=>{n.length&&t.push({label:e,value:n.join(`, `)})},r=Ww.filter(t=>e.inspectors[t]);n(`Inspectors off`,Ww.filter(t=>!e.inspectors[t]).map(e=>jT[e])),n(`Agent`,e.agent.readOnly?[`Read-only`]:[]),n(`Hidden from the agent`,r.filter(t=>!e.agent.tools[t]).map(e=>jT[e])),n(`Blocked actions`,qw.filter(t=>e.inspectors[t]&&!e.actions[t]).map(e=>MT[e])),n(`Extra secret names`,e.redaction.secretNames),n(`Unmasked names`,e.redaction.unmask),n(`Limits`,Object.keys(Jw).filter(t=>e.limits[t]!==Jw[t].default).map(t=>NT[t](e.limits[t]))),e.popup.hotkey!==`Alt+Shift+P`&&n(`Popup shortcut`,[e.popup.hotkey===!1?`Off`:e.popup.hotkey]);let i=Object.entries(e.plugins??{});return n(`Plugins off`,i.filter(([,e])=>!e.enabled).map(([e])=>e)),n(`Plugin tools or actions off`,i.filter(([,e])=>e.enabled&&(!e.tools||!e.actions)).map(([e,t])=>`${e} (${[!t.tools&&`tools`,!t.actions&&`actions`].filter(Boolean).join(`, `)})`)),n(`Lint rules off`,Object.entries(e.lint?.rules??{}).filter(([,e])=>!e).map(([e])=>e)),t}function FT(e){let t={tags:[],directives:[],text:``},n=e.toLowerCase();return n=n.replace(/<\s*([^<>\s]+)\s*>/g,(e,n)=>(t.tags.push({value:n,exact:!0}),` `)),n=n.replace(/\[\s*([^[\]\s]+)\s*\]/g,(e,n)=>(t.directives.push({value:n,exact:!0}),` `)),n=n.replace(/(^|\s)([<[])([^<>[\]\s]*)$/,(e,n,r,i)=>(i&&(r===`<`?t.tags:t.directives).push({value:i,exact:!1}),n)),t.text=n.replace(/\s+/g,` `).trim(),t}function IT(e){return!e.tags.length&&!e.directives.length&&!e.text}function LT(e,t){let n=e.tag.toLowerCase(),r=(e.directives??[]).map(e=>e.toLowerCase()),i=(e.attributes??[]).map(e=>e.toLowerCase()),a=[...r,...r.map(e=>e.replace(/directive$/,``)),...i];for(let{value:e,exact:r}of t.tags)if(r?n!==e:!n.startsWith(e))return!1;for(let{value:e,exact:n}of t.directives)if(!a.some(t=>n?t===e:t.includes(e)))return!1;if(t.text){let a=t.text;if(!(e.name.toLowerCase().includes(a)||n.includes(a)||r.some(e=>e.includes(a))||i.some(e=>e.includes(a))))return!1}return!0}var RT={debugApi:{subject:`Live data`,since:`12.0`},injectorProviders:{subject:`Reading providers and environment injectors`,since:`16.2`},injectorMetadata:{subject:`The full injector tree`,since:`17.0`},isSignal:{subject:`Telling signals apart in component values`,since:`17.1`},signalGraph:{subject:`The live signal graph`,since:`20.1`},deferBlocks:{subject:`Listing @defer blocks`,since:`19.1`},forBlocks:{subject:`Listing @for blocks`,since:`22.0`},profiler:{subject:`Recording change detection`,since:`20.0`},angularProfiling:{subject:`Angular profiling`,since:`20.0`},routerInstance:{subject:`The router debug util`,since:`20.3`}};function zT(e){let t=/^(\d+)\.(\d+)/.exec(e.trim());return t?`${t[1]}.${t[2]}`:e.trim()}function BT(e){let t=/^(\d+)(?:\.(\d+))?/.exec(e.trim());return t?[Number(t[1]),Number(t[2]??0)]:null}function VT(e,t){let n=BT(e),r=BT(t);return!n||!r?!1:n[0]===r[0]?n[1]>=r[1]:n[0]>r[0]}function HT(e,t){return e?.capabilities?.[t]===!1}function UT(e,t){let n=RT[e],r=`${n.subject} needs Angular ${n.since} or later`;if(!t)return`${r}; this page's Angular version is unknown.`;let i=zT(t);return VT(t,n.since)?`${r} in a development build; this page runs Angular ${i} without it, which usually means a production build.`:`${r}; this page runs Angular ${i}.`}var WT=/^on (viewport|interaction|hover)\b/;function GT(e){let t=e.filter(e=>!/^(prefetch|hydrate) /.test(e));return t.length>0&&t.every(e=>WT.test(e))}function KT(e,t){let n=[],r=e.since>0?Math.max(0,Math.round((t-e.since)/1e3)):0;return e.state===`error`&&n.push({kind:`failed`,text:`failed to load`,label:`failed`}),(e.state===`placeholder`||e.state===`initial`)&&r*1e3>=1e4&&n.push(GT(e.triggers)?{kind:`waiting`,text:`waiting for its trigger for ${r}s`,label:`waiting ${r}s`,seconds:r}:{kind:`stuck`,text:`on its placeholder for ${r}s`,label:`stuck ${r}s`,seconds:r}),e.hydrateNever?n.push({kind:`hydrate-never`,text:`hydrate never: the server HTML stays static`,label:`hydrate never`}):e.hydration===`dehydrated`&&n.push({kind:`dehydrated`,text:`still dehydrated`,label:`dehydrated`}),n}var qT=`pangular-page-id`,JT=null;function YT(e){JT=e}function XT(){if(JT)return JT;try{return new URLSearchParams(location.search).get(`pageId`)||(window.top===window?null:sessionStorage.getItem(qT)||null)}catch{return null}}function ZT(e,t){if(t.chosen&&e[t.chosen])return t.chosen;if(t.host)return t.host;if(t.previous&&e[t.previous])return t.previous;let n=null;for(let t of Object.values(e))(!n||t.reportedAt>n.reportedAt)&&(n=t);return n?.pageId??null}function QT(e,t){return e?t?e.pages?.[t]??null:e:null}function $T(e,t){return e?t?e.pages?.[t]??null:e.graph??null:null}function eE(){return{functions:[...AT]}}function tE(e,t,n){return e?e.scope(`pangular`).rpc.call(t,...n===void 0?[]:[n]):Promise.resolve(null)}function nE(e,t,n){return tE(e,t,n).then(e=>e,()=>null)}function rE(e){return e?.connectionMeta.backend===`static`}function iE(e){let t=()=>{let t=e()?.scope(`pangular`).rpc;t&&(t.callEvent(`request-page-highlight`,null),t.callEvent(`request-form-highlight`,null))};return addEventListener(`pagehide`,t),()=>{removeEventListener(`pagehide`,t),t()}}function aE(e=globalThis){delete e.__DEVFRAME_CONNECTION__,delete e.__DEVFRAME_CONNECTION_META__}function oE(e){return e.split(`@`)[1]??``}var sE={signal:`Signal Forms`,reactive:`Reactive`,template:`Template-driven`},cE={own:`validator`,directive:`template attribute`,tree:`cross-field rule`,async:`async`,parse:`parse`,submission:`server`,schema:`schema`,manual:`setErrors`},lE=nE,uE={key:`name looks secret`,"input-type":`password input`,autocomplete:`autocomplete is a secret kind`,marker:`marked as mask`,parent:`inside a secret group`,config:`listed in mask`};function dE(e){return uE[e]??e}var fE=`https://pangular-inspector.dev/security/#opt-fields-in-or-out`;async function pE(e,t){return await lE(e,`request-form-action`,t)??{ok:!1,error:`The devtools server did not answer.`}}function mE(e){return`${e.ok?e.message??`Done.`:e.error??`Failed.`}${e.skipped?.length?` Skipped: ${e.skipped.map(e=>`${e.path} (${e.reason})`).join(`, `)}.`:``}${e.status?` Status: ${e.status}.`:``}`}var hE=/"(?:[^"\\\n]|\\.)*"|`([^`\n]*)`|\*\*/g;function gE(e){return(e??``).replace(/^_Labels, paths.*_\n\n/,``).replace(hE,(e,t)=>t??(e===`**`?``:e))}function _E(e){return OT(e?.connectionMeta)}function vE(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)?[...e]:void 0}function yE(e,t){if(!t||typeof t!=`object`)return e;let n=vE(t.secretNames),r=vE(t.unmask);return!n||!r?e:{...e,redaction:{secretNames:n,unmask:r}}}function bE(e,t){return _E(e).actions[t]}var xE={components:`components`,routes:`router`,signals:`signals`,injectors:`injectors`,store:`ngrx`,queries:`tanstackQuery`,forms:`forms`,pipes:`pipes`,network:`http`,analog:`analog`,capacitor:`capacitor`,errors:`errors`,plugins:`plugins`};function SE(e){return xE[e]}var CE=`https://pangular-inspector.dev/getting-started/configuration/#inspectors-and-agent-tools`;function wE(e,t){let n=xE[e];return!n||t.inspectors[n]}function TE(e,t){e&1&&(E(),kg(0,`rect`,5)(1,`rect`,6)(2,`rect`,7)(3,`rect`,8))}function EE(e,t){e&1&&(E(),kg(0,`path`,9)(1,`circle`,10)(2,`circle`,11)(3,`path`,12))}function DE(e,t){e&1&&(E(),kg(0,`path`,13)(1,`path`,14))}function OE(e,t){e&1&&(E(),kg(0,`path`,15)(1,`path`,16)(2,`path`,17))}function kE(e,t){e&1&&(E(),kg(0,`circle`,18)(1,`path`,19)(2,`circle`,20))}function AE(e,t){e&1&&(E(),kg(0,`path`,1))}function jE(e,t){e&1&&(E(),kg(0,`path`,21)(1,`path`,22)(2,`path`,23)(3,`path`,24))}function ME(e,t){e&1&&(E(),kg(0,`ellipse`,25)(1,`path`,26)(2,`path`,27))}function NE(e,t){e&1&&(E(),kg(0,`rect`,28)(1,`path`,29)(2,`path`,30)(3,`path`,31))}function PE(e,t){e&1&&(E(),kg(0,`circle`,32)(1,`path`,9)(2,`path`,33))}function FE(e,t){e&1&&(E(),kg(0,`path`,34)(1,`path`,35)(2,`path`,36)(3,`path`,37)(4,`circle`,38))}function IE(e,t){e&1&&(E(),kg(0,`circle`,39)(1,`path`,40))}function LE(e,t){e&1&&(E(),kg(0,`ellipse`,41)(1,`path`,42)(2,`path`,43)(3,`path`,44)(4,`path`,45))}function RE(e,t){e&1&&(E(),kg(0,`circle`,32)(1,`path`,46)(2,`path`,47))}function zE(e,t){e&1&&(E(),kg(0,`path`,2))}function BE(e,t){e&1&&(E(),kg(0,`path`,3))}function VE(e,t){e&1&&(E(),kg(0,`path`,4))}var HE=class e{name=$.required();static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-tab-icon`]],inputs:{name:[1,`name`]},decls:18,vars:1,consts:[[`viewBox`,`0 0 24 24`,`width`,`16`,`height`,`16`,`fill`,`none`,`stroke`,`currentColor`,`stroke-width`,`1.8`,`stroke-linecap`,`round`,`stroke-linejoin`,`round`,`aria-hidden`,`true`],[`d`,`M22 12h-4l-3 9L9 3l-3 9H2`],[`d`,`M10 3h4v3a2 2 0 1 0 4 0V5h1a2 2 0 0 1 2 2v4h-2a2 2 0 1 0 0 4h2v4a2 2 0 0 1-2 2h-4v-2a2 2 0 1 0-4 0v2H7a2 2 0 0 1-2-2v-4H4a2 2 0 1 1 0-4h1V7a2 2 0 0 1 2-2h3Z`],[`d`,`m8 3 4 8 5-5 5 15H2L8 3z`],[`fill`,`currentColor`,`stroke`,`none`,`transform`,`translate(1.8 1.8) scale(0.85)`,`d`,`M24 3.7l-5.766 5.766 5.725 5.736-3.713 3.712L5.073 3.742 8.786.03l5.736 5.726L20.284 0 24 3.7zM.029 8.785l3.713-3.713 15.173 15.173-3.713 3.714-5.732-5.726L3.7 24 0 20.285l5.754-5.764L.029 8.785z`],[`x`,`3`,`y`,`3`,`width`,`7`,`height`,`9`,`rx`,`1.5`],[`x`,`14`,`y`,`3`,`width`,`7`,`height`,`5`,`rx`,`1.5`],[`x`,`14`,`y`,`12`,`width`,`7`,`height`,`9`,`rx`,`1.5`],[`x`,`3`,`y`,`16`,`width`,`7`,`height`,`5`,`rx`,`1.5`],[`d`,`M3 12h18`],[`cx`,`7`,`cy`,`12`,`r`,`2`],[`cx`,`14`,`cy`,`12`,`r`,`2`],[`d`,`M18 7v10`],[`d`,`M9 11l2 2 4-4`],[`d`,`M12 3 4 6v6c0 4.5 3.4 8.3 8 9 4.6-.7 8-4.5 8-9V6l-8-3Z`],[`d`,`M12 2 3 7l9 5 9-5-9-5Z`],[`d`,`m3 12 9 5 9-5`],[`d`,`m3 17 9 5 9-5`],[`cx`,`6`,`cy`,`19`,`r`,`3`],[`d`,`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`],[`cx`,`18`,`cy`,`5`,`r`,`3`],[`d`,`M12 22v-5`],[`d`,`M9 8V2`],[`d`,`M15 8V2`],[`d`,`M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z`],[`cx`,`12`,`cy`,`5`,`rx`,`9`,`ry`,`3`],[`d`,`M3 5v14a9 3 0 0 0 18 0V5`],[`d`,`M3 12a9 3 0 0 0 18 0`],[`x`,`3`,`y`,`4`,`width`,`18`,`height`,`16`,`rx`,`2`],[`d`,`M7 9h10`],[`d`,`M7 13h6`],[`d`,`M7 17h8`],[`cx`,`12`,`cy`,`12`,`r`,`9`],[`d`,`M12 3a14 14 0 0 1 0 18a14 14 0 0 1 0-18Z`],[`d`,`M4 7h10`],[`d`,`M4 17h6`],[`d`,`m14 13 4 4-4 4`],[`d`,`M10 17h8`],[`cx`,`18`,`cy`,`7`,`r`,`3`],[`cx`,`12`,`cy`,`12`,`r`,`3`],[`d`,`M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z`],[`cx`,`11`,`cy`,`5`,`rx`,`8`,`ry`,`3`],[`d`,`M3 5v6c0 1.66 3.58 3 8 3`],[`d`,`M3 11v6c0 1.66 3.58 3 8 3`],[`d`,`M21 14a4 4 0 1 1-1.2-2.85L21 12.3`],[`d`,`M21 9v3.3h-3.3`],[`d`,`M12 7v6`],[`d`,`M12 16.5v.01`]],template:function(e,t){if(e&1&&(E(),z(0,`svg`,0),j(1,TE,4,0)(2,EE,4,0)(3,DE,2,0)(4,OE,3,0)(5,kE,3,0)(6,AE,1,0,`:svg:path`,1)(7,jE,4,0)(8,ME,3,0)(9,NE,4,0)(10,PE,3,0)(11,FE,5,0)(12,IE,2,0)(13,LE,5,0)(14,RE,3,0)(15,zE,1,0,`:svg:path`,2)(16,BE,1,0,`:svg:path`,3)(17,VE,1,0,`:svg:path`,4),B()),e&2){let e;O(),M((e=t.name())===`dashboard`?1:e===`timeline`?2:e===`audit`?3:e===`components`?4:e===`routes`?5:e===`signals`?6:e===`injectors`?7:e===`store`?8:e===`forms`?9:e===`network`?10:e===`pipes`?11:e===`settings`?12:e===`queries`?13:e===`errors`?14:e===`plugins`?15:e===`analog`?16:e===`capacitor`?17:-1)}},styles:[`[_nghost-%COMP%] { +`))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await ee(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[vC]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function cw(e,t){let{channel:n,rpcOptions:r={}}=t;return jb(e,{...n,timeout:-1,...r,proxify:!1})}function lw(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(vb.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new YC(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new YC(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(vb.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new YC(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(vb.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let ee=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(vb.client.connectionError,e),m(new YC(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new YC(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),te=cw(a.functions,{channel:ee,rpcOptions:o});a.register({name:vb.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new YC(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(vb.client.connectionError,e),m(e),i.emit(vb.client.isTrustedUpdated,!1)}});let ne=n;async function re(e){ne=e;let t=await te.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new YC(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(vb.client.connectionError,e)}return i.emit(vb.client.isTrustedUpdated,c),t.isTrusted}async function ie(e){let t=(await te.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(ne=t,c=!0,d.resolve(!0),f(`connected`),i.emit(vb.client.isTrustedUpdated,!0)),t}async function ae(e={}){await te.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function oe(){return c?!0:re(ne??``)}async function se(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:oe,requestTrustWithToken:re,requestTrustWithCode:ie,requestAuthCode:ae,ensureTrusted:se,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(vb.client.error,n,t),Promise.reject(n)):g(te.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(vb.client.error,t,String(e[0]));return}return te.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(vb.client.error,n,t),Promise.reject(n)):g(te.$callOptional(...e),t)},close:()=>{ee.close()}}}function uw(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function dw(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=uw(n.sse,r??`./`,location);return lw({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>sw({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function fw(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:pw(r)?fw(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function pw(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function mw(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function hw(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function gw(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function _w(e){if(e.error)throw fw(e.error);return e.output}function vw(e){return e.some(e=>e!=null)}function yw(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function bw(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?nC(e):e}function a(e,t){return i(yw(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return gw(r)?_w(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(mw(r)){if(vw(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(hw(r)){let e=Zb(n),i=r.records[e];if(i)return _w(await s(i,r.serialization));if(r.fallback)return _w(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!vw(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function xw(e){let t=bw(await e.fetchJsonFromBases(yC),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var Sw=``;function Cw(e,t){return`${e}${Sw}${t}`}function ww(e){let t=new Map,n=new Map;e.client.register({name:vb.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(Cw(e,n))?._push(r,i)}}),e.client.register({name:vb.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=Cw(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:vb.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=Cw(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(vb.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(Sw);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=Cw(n,r),o=t.get(a);if(o)return o;let s=cC({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(vb.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=Cw(t,r),a=n.get(i);if(a)return a;let o=sC({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function Tw(){}var Ew=new Map;function Dw(e){let t=e.url;e.authToken&&(t=`${t}?${SC}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=Tw,onError:i=Tw,onDisconnected:a=Tw,definitions:o=Ew}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=rw(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function Ow(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return ix(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function kw(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=Ow(n.websocket,r??`./`,location);return lw({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>Dw({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function Aw(e){return e.includes(`:`)}function jw(e,t){return Aw(t)?t:`${e}:${t}`}function Mw(e){return{async get(t){return(await e()).value()?.[t]},async set(t,n){(await e()).mutate(e=>{if(e===void 0)return{[t]:n};e[t]=n})},async delete(t){(await e()).mutate(e=>{e!==void 0&&delete e[t]})},async all(){return(await e()).value()??{}},async onChange(t){return(await e()).on(`updated`,e=>t(e??{}))}}}function Nw(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=(async()=>(await e.ensureTrusted(),e.sharedState.get(r)))().catch(e=>{throw i=void 0,e}),i}return Mw(a)}function Pw(e,t){return{global:Nw(e,t,`global`),project:Nw(e,t,`project`)}}function Fw(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(Aw(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(jw(t,n),...r)),callEvent:((n,...r)=>e.callEvent(jw(t,n),...r)),callOptional:((n,...r)=>e.callOptional(jw(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(jw(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(jw(t,n),r,i),upload:(n,r)=>e.streaming.upload(jw(t,n),r)}},settings:Pw(e,t),scope:e.scope}}function Iw(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function Lw(e,t={}){let n=t.modelContext??Iw();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=dC(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=Mb(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:Fb(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>Rw(t,e.context,n)},{signal:c.signal});u&&`then`in u&&u.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),u&&`unregister`in u&&typeof u.unregister==`function`&&u.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}async function Rw(e,t,n){try{let r=Lb(n,e.args?.length);return{content:[{type:`text`,text:zw(await(await jC(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:Bw(e)}]}}}function zw(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function Bw(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}function Vw(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function Hw(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=Qb(),a=Array.isArray(t)?t:[t],o=await JC(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new CC({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new MC(f),m=e.webmcp===!1?void 0:Lw(p),h,g=!1,_=0,ee;function te(){_++,ee=void 0,d.clear(),r===!0&&d.updateOptions({functions:[]})}r&&(p.register({name:vb.broadcast.cacheInvalidate,type:`event`,handler:te}),i.on(vb.client.connectionStatus,te),i.on(vb.client.isTrustedUpdated,te));async function ne(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(rx(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let re=e.callTimeout??0,ie=re>0?re:1/0,ae,oe={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){let a=performance.now()+ie;if(await n.onRequest?.call(this,e,t,i),r===!0&&e.i&&ae.isTrusted&&!e.m.startsWith(`anonymous:`)&&e.m!==`devframe:rpc:cacheable-functions`){function t(){if(performance.now()>=a)throw new YC(`timeout`,`[devframe] RPC call "${e.m}" timed out after ${re}ms`)}for(;!ee&&(t(),!(g||ae.status!==`connected`));){let e=_;ee=ae.callOptional(`devframe:rpc:cacheable-functions`).then(t=>{e===_&&d.updateOptions({functions:t??[]})}).catch(t=>{throw e===_&&(ee=void 0),t}),await ee}await ee,t()}let o=_;if(r&&e.i&&!g&&ae.isTrusted&&d.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);o===_&&!g&&d.apply(e,n)}else await t(e)}}},se=Vw(e.transport??`auto`,s);ae=se===`static`?await xw({fetchJsonFromBases:ne}):se===`sse`?dw({...oe,sseOptions:e.sseOptions}):kw({...oe,wsOptions:e.wsOptions});let ce;try{ce=new BroadcastChannel(`devframe-auth`)}catch{}let le,ue=!1;function de(e){return((...t)=>ue||!le?e(...t):le.then(()=>e(...t)))}function fe(){g=!0,te();try{h?.(),m?.()}finally{try{ce?.close()}finally{ae.close?.()}}}let pe={events:i,get isTrusted(){return ae.isTrusted},get status(){return ae.status},get connectionError(){return ae.connectionError},get transport(){return ae.transport??se},get connection(){return o},connectionMeta:s,ensureTrusted:ae.ensureTrusted,requestTrust:ae.requestTrust,requestTrustWithToken:async e=>(WC(e),o={...o,authToken:e},ae.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await ae.requestTrustWithCode(e);if(!t)return!1;WC(t),o={...o,authToken:t};try{ce?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>ae.requestAuthCode(e),call:de(ae.call),callEvent:de(ae.callEvent),callOptional:de(ae.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:fe};pe.sharedState=tw(pe),pe.streaming=ww(pe),pe.services=ew(pe);let me=new Map;pe.scope=(e=>{if(!e)return pe;let t=me.get(e);return t||(t=Fw(pe,e),me.set(e,t)),t}),f.rpc=pe;function he(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function ge(){if(e.simpleAuth!==!1&&he()&&typeof globalThis.prompt==`function`)for(await pe.requestAuthCode().catch(()=>{});!pe.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await pe.requestTrustWithCode(t))return}}async function _e(){let t=await ae.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await $C(pe,{param:n}):!1;t||r||pe.isTrusted||await ge()}return le=_e().then(()=>{ue=!0},()=>{ue=!0}),s.mcp&&hC(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./browser-agent-rpc-KH4HHvHf-DDC7kv8R.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{g||(h=e(pe))}).catch(()=>{}),ce&&(ce.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&pe.requestTrustWithToken(e.data.authToken)}),pe}var Uw=Hw,Ww=[`components`,`injectors`,`signals`,`ngrx`,`tanstackQuery`,`forms`,`router`,`pipes`,`http`,`analog`,`capacitor`,`errors`,`plugins`],Gw=[`angular`,`ngrx`,`analog`,`angular-native`,`nativescript`,`capacitor`];function Kw(e){return`pangular:${e}`}var qw=[`forms`,`router`,`ngrx`,`http`,`analog`,`components`,`tanstackQuery`,`plugins`],Jw={refreshMs:{default:3e3,min:500,max:8e3},navigations:{default:50,min:5,max:500},formTimeline:{default:200,min:10,max:2e3},httpCalls:{default:200,min:10,max:2e3},changeLog:{default:200,min:10,max:2e3},cdCycles:{default:200,min:10,max:2e3},capacitorCalls:{default:200,min:10,max:2e3},idleAfterMs:{default:6e4,min:0,max:6e5}},Yw={"opted-out":`the request sets transferCache: false`,post:`POST requests are left out unless includePostRequests is set`,method:`only GET, HEAD and POST requests are cached`,"auth-headers":`it sends an Authorization, Proxy-Authorization or Cookie header`,credentials:`it sends credentials (withCredentials or credentials: include/same-origin)`,"no-cache-request":`the request asks for no-store, no-cache or private`,"no-cache-response":`the response has Cache-Control no-store, no-cache or private`,"set-cookie":`the response sets a cookie`,error:`failed responses are not stored`,mocked:`a fault rule answered before the transfer cache ran`,"cache-off-or-filter":`the transfer cache is off, or its filter (or another withHttpTransferCacheOptions setting) left it out`},Xw=[[200,`OK`],[201,`Created`],[202,`Accepted`],[203,`Non-Authoritative Information`],[204,`No Content`],[205,`Reset Content`],[206,`Partial Content`],[207,`Multi-Status`],[208,`Already Reported`],[226,`IM Used`],[300,`Multiple Choices`],[301,`Moved Permanently`],[302,`Found`],[303,`See Other`],[304,`Not Modified`],[307,`Temporary Redirect`],[308,`Permanent Redirect`],[400,`Bad Request`],[401,`Unauthorized`],[402,`Payment Required`],[403,`Forbidden`],[404,`Not Found`],[405,`Method Not Allowed`],[406,`Not Acceptable`],[407,`Proxy Authentication Required`],[408,`Request Timeout`],[409,`Conflict`],[410,`Gone`],[411,`Length Required`],[412,`Precondition Failed`],[413,`Content Too Large`],[414,`URI Too Long`],[415,`Unsupported Media Type`],[416,`Range Not Satisfiable`],[417,`Expectation Failed`],[418,`I'm a Teapot`],[421,`Misdirected Request`],[422,`Unprocessable Content`],[423,`Locked`],[424,`Failed Dependency`],[425,`Too Early`],[426,`Upgrade Required`],[428,`Precondition Required`],[429,`Too Many Requests`],[431,`Request Header Fields Too Large`],[451,`Unavailable For Legal Reasons`],[499,`Client Closed Request`],[500,`Internal Server Error`],[501,`Not Implemented`],[502,`Bad Gateway`],[503,`Service Unavailable`],[504,`Gateway Timeout`],[505,`HTTP Version Not Supported`],[506,`Variant Also Negotiates`],[507,`Insufficient Storage`],[508,`Loop Detected`],[510,`Not Extended`],[511,`Network Authentication Required`],[520,`Web Server Returned an Unknown Error`],[521,`Web Server Is Down`],[522,`Connection Timed Out`],[523,`Origin Is Unreachable`],[524,`A Timeout Occurred`]];function Zw(e){return Xw.some(([t])=>t===e)}var Qw=/^[a-z][a-z0-9-]{0,39}$/;function $w(e,t){let n=t.plugins?.[e],r=t.inspectors.plugins&&Qw.test(e)&&(n?.enabled??!0);return{enabled:r,tools:r&&t.agent.tools.plugins&&(n?.tools??!0),actions:r&&t.actions.plugins&&(n?.actions??!0)}}var eT=`pangular`,tT={mod:`Mod`,ctrl:`Ctrl`,control:`Ctrl`,meta:`Meta`,cmd:`Meta`,command:`Meta`,alt:`Alt`,option:`Alt`,opt:`Alt`,shift:`Shift`},nT=[`Mod`,`Ctrl`,`Meta`,`Alt`,`Shift`];function rT(e){if(typeof e!=`string`||e.length>40)return;let t=e.split(`+`).map(e=>e.trim());if(t.some(e=>!e))return;let n=new Set,r;for(let e of t){let t=tT[e.toLowerCase()];if(t){if(n.has(t))return;n.add(t);continue}if(r!==void 0)return;if(/^[a-z0-9]$/i.test(e))r=e.toUpperCase();else if(/^f([1-9]|1[0-2])$/i.test(e))r=e.toUpperCase();else return}if(r&&[...n].some(e=>e!==`Shift`)&&!(n.has(`Mod`)&&(n.has(`Ctrl`)||n.has(`Meta`))))return[...nT.filter(e=>n.has(e)),r].join(`+`)}function iT(e,t,n){let r=t.split(`+`),i=r.pop(),a=new Set(r),o=a.has(`Ctrl`)||a.has(`Mod`)&&!n,s=a.has(`Meta`)||a.has(`Mod`)&&n;if(e.ctrlKey!==o||e.metaKey!==s||e.altKey!==a.has(`Alt`)||e.shiftKey!==a.has(`Shift`))return!1;if(/^F\d+$/.test(i))return e.key.toUpperCase()===i;let c=/^\d$/.test(i)?`Digit${i}`:`Key${i}`;return e.code?e.code===c:e.key.toUpperCase()===i}function aT(e,t){if(!t)return e.replace(/^Mod\b/,`Ctrl`);let n={Mod:`⌘`,Meta:`⌘`,Ctrl:`⌃`,Alt:`⌥`,Shift:`⇧`};return e.split(`+`).map(e=>n[e]??e).join(``)}var oT=[{id:`dashboard`,label:`Dashboard`},{id:`timeline`,label:`Timeline`},{id:`audit`,label:`Audit`},{id:`analog`,label:`Analog`,inspector:`analog`},{id:`components`,label:`Components`,inspector:`components`},{id:`routes`,label:`Routes`,inspector:`router`},{id:`signals`,label:`Signals`,inspector:`signals`},{id:`injectors`,label:`Injectors`,inspector:`injectors`},{id:`store`,label:`Store`,inspector:`ngrx`},{id:`queries`,label:`Queries`,inspector:`tanstackQuery`},{id:`forms`,label:`Forms`,inspector:`forms`},{id:`pipes`,label:`Pipes`,inspector:`pipes`},{id:`network`,label:`SSR & HTTP`,inspector:`http`},{id:`errors`,label:`Errors`,inspector:`errors`},{id:`capacitor`,label:`Capacitor`,inspector:`capacitor`},{id:`plugins`,label:`Plugins`,inspector:`plugins`}],sT=1e4;function cT(e){return oT.filter(t=>!(`inspector`in t)||e.inspectors[t.inspector])}var lT={components:`a component instance, by its id in the component tree`,injectors:`a component's element injector, by the component's id`,forms:`a form, by its id`},uT=200;function dT(e){let t=new URLSearchParams({tab:e.tab});return e.id&&t.set(`id`,e.id),e.page&&t.set(`page`,e.page),`#${t.toString()}`}function fT(e){let t=new URLSearchParams(e.replace(/^#/,``)),n=e=>{let n=t.get(e)?.trim();return n&&n.length<=uT?n:void 0},r=n(`tab`);if(!r)return null;let i=n(`id`),a=n(`page`);return{tab:r,...i?{id:i}:{},...a?{page:a}:{}}}var pT=[{id:`settings`,title:`Open settings`,group:`Go to`,keywords:`preferences tabs`},{id:`pick-component`,title:`Pick component on page`,group:`Actions`,keywords:`select inspect element`,inspector:`components`},{id:`cd-record-start`,title:`Start recording change detection`,group:`Actions`,keywords:`profiler cycles`,inspector:`components`},{id:`cd-record-stop`,title:`Stop recording change detection`,group:`Actions`,keywords:`profiler cycles`,inspector:`components`},{id:`cd-clear`,title:`Clear change detection recording`,group:`Actions`,keywords:`reset recordings cycles`,inspector:`components`},{id:`theme:system`,title:`Theme: follow the system`,group:`Theme`,keywords:`auto`},{id:`theme:light`,title:`Theme: light`,group:`Theme`},{id:`theme:dark`,title:`Theme: dark`,group:`Theme`},{id:`dock:float`,title:`Popup: float`,group:`Popup`,keywords:`dock`,popupOnly:!0},{id:`dock:bottom`,title:`Popup: dock to the bottom`,group:`Popup`,keywords:`dock`,popupOnly:!0},{id:`dock:right`,title:`Popup: dock to the right`,group:`Popup`,keywords:`dock`,popupOnly:!0},{id:`dock:reset-size`,title:`Popup: reset the docked size`,group:`Popup`,keywords:`splitter resize height width`,popupOnly:!0},{id:`popout`,title:`Popup: open in its own window`,group:`Popup`,keywords:`pop out detach new window`,popupOnly:!0},{id:`popout:return`,title:`Popup: back into the page`,group:`Popup`,keywords:`pop in attach dock window`,popupOnly:!0}];function mT(e){let t=cT(e).map(e=>({id:`tab:${e.id}`,title:`Go to ${e.label}`,group:`Go to`,keywords:`tab open`})),n=pT.filter(t=>!t.inspector||e.inspectors[t.inspector]).map(({inspector:e,...t})=>t);return[...t,...n]}function hT(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function gT(e,t){return typeof e==`boolean`?e:t}var _T=100,vT=100;function yT(e){if(!Array.isArray(e))return[];let t=e.filter(e=>typeof e==`string`).map(e=>e.trim()).filter(e=>e&&e.length<=vT);return[...new Set(t)].slice(0,_T)}function bT(e,t){let{default:n,min:r,max:i}=Jw[t];return typeof e!=`number`||!Number.isFinite(e)?n:Math.min(i,Math.max(r,Math.round(e)))}function xT(e,t){return Object.fromEntries(e.map(e=>[e,t(e)]))}function ST(e){let t=hT(e),n=hT(t.agent),r=hT(t.inspectors),i=hT(n.tools),a=hT(t.actions),o=gT(t.actions,!0),s=hT(t.redaction),c=hT(t.limits),l=xT(Ww,e=>gT(r[e],!0));return{inspectors:l,agent:{readOnly:gT(n.readOnly,!1),tools:xT(Ww,e=>l[e]&&gT(i[e],!0)),browserTools:gT(n.browserTools,!1)},actions:xT(qw,e=>l[e]&&gT(a[e],o)),redaction:{secretNames:yT(s.secretNames),unmask:yT(s.unmask)},limits:Object.fromEntries(Object.keys(Jw).map(e=>[e,bT(c[e],e)])),popup:{hotkey:DT(hT(t.popup).hotkey)},plugins:ET(t.plugins),lint:{rules:wT(t.lint)}}}var CT=200;function wT(e){let t=hT(hT(e).rules),n={};for(let[e,r]of Object.entries(t).slice(0,CT))typeof r==`boolean`&&(n[e]=r);return n}var TT=100;function ET(e){let t={};for(let[n,r]of Object.entries(hT(e)).slice(0,TT)){if(!Qw.test(n))continue;if(typeof r==`boolean`){t[n]={enabled:r,tools:!0,actions:!0};continue}let e=hT(r);r!==void 0&&Object.keys(e).length&&(t[n]={enabled:gT(e.enabled,!0),tools:gT(e.tools,!0),actions:gT(e.actions,!0)})}return t}function DT(e){return e===!1?!1:rT(e)??`Alt+Shift+P`}function OT(e){let t=e?.configs;return ST(t?.[eT])}function kT(e){return`${{forms:`Writing to forms`,router:`Navigating and clearing navigations`,ngrx:`Restoring NgRx state and dispatching actions`,http:`Changing HTTP mock rules and SSR overrides, and clearing HTTP calls`,analog:`Calling API routes and clearing server calls`,components:`Editing component properties and signals`,tanstackQuery:`Invalidating and refetching TanStack queries`,plugins:`Running plugin actions`}[e]} is turned off in the devtools config (actions.${e}).`}var AT=[`pangular:build-meta`],jT={components:`Components`,injectors:`Injectors`,signals:`Signals`,ngrx:`NgRx`,tanstackQuery:`TanStack Query`,forms:`Forms`,router:`Router`,pipes:`Pipes`,http:`HTTP`,analog:`Analog`,capacitor:`Capacitor`,errors:`Errors`,plugins:`Plugins`},MT={forms:`Form writes`,router:`Navigation`,ngrx:`NgRx restore and dispatch`,http:`HTTP mocking`,analog:`Analog API calls`,components:`Component edits`,tanstackQuery:`TanStack Query invalidate and refetch`,plugins:`Plugin actions`},NT={refreshMs:e=>`poll every ${e} ms`,navigations:e=>`${e} navigations`,formTimeline:e=>`${e} form events`,httpCalls:e=>`${e} HTTP calls`,changeLog:e=>`${e} NgRx changes`,cdCycles:e=>`${e} change detection cycles`,capacitorCalls:e=>`${e} Capacitor plugin calls`,idleAfterMs:e=>e?`idle ${e/1e3} s after the last agent call`:`never idle`};function PT(e){let t=[],n=(e,n)=>{n.length&&t.push({label:e,value:n.join(`, `)})},r=Ww.filter(t=>e.inspectors[t]);n(`Inspectors off`,Ww.filter(t=>!e.inspectors[t]).map(e=>jT[e])),n(`Agent`,e.agent.readOnly?[`Read-only`]:[]),n(`Hidden from the agent`,r.filter(t=>!e.agent.tools[t]).map(e=>jT[e])),n(`Blocked actions`,qw.filter(t=>e.inspectors[t]&&!e.actions[t]).map(e=>MT[e])),n(`Extra secret names`,e.redaction.secretNames),n(`Unmasked names`,e.redaction.unmask),n(`Limits`,Object.keys(Jw).filter(t=>e.limits[t]!==Jw[t].default).map(t=>NT[t](e.limits[t]))),e.popup.hotkey!==`Alt+Shift+P`&&n(`Popup shortcut`,[e.popup.hotkey===!1?`Off`:e.popup.hotkey]);let i=Object.entries(e.plugins??{});return n(`Plugins off`,i.filter(([,e])=>!e.enabled).map(([e])=>e)),n(`Plugin tools or actions off`,i.filter(([,e])=>e.enabled&&(!e.tools||!e.actions)).map(([e,t])=>`${e} (${[!t.tools&&`tools`,!t.actions&&`actions`].filter(Boolean).join(`, `)})`)),n(`Lint rules off`,Object.entries(e.lint?.rules??{}).filter(([,e])=>!e).map(([e])=>e)),t}function FT(e){let t={tags:[],directives:[],text:``},n=e.toLowerCase();return n=n.replace(/<\s*([^<>\s]+)\s*>/g,(e,n)=>(t.tags.push({value:n,exact:!0}),` `)),n=n.replace(/\[\s*([^[\]\s]+)\s*\]/g,(e,n)=>(t.directives.push({value:n,exact:!0}),` `)),n=n.replace(/(^|\s)([<[])([^<>[\]\s]*)$/,(e,n,r,i)=>(i&&(r===`<`?t.tags:t.directives).push({value:i,exact:!1}),n)),t.text=n.replace(/\s+/g,` `).trim(),t}function IT(e){return!e.tags.length&&!e.directives.length&&!e.text}function LT(e,t){let n=e.tag.toLowerCase(),r=(e.directives??[]).map(e=>e.toLowerCase()),i=(e.attributes??[]).map(e=>e.toLowerCase()),a=[...r,...r.map(e=>e.replace(/directive$/,``)),...i];for(let{value:e,exact:r}of t.tags)if(r?n!==e:!n.startsWith(e))return!1;for(let{value:e,exact:n}of t.directives)if(!a.some(t=>n?t===e:t.includes(e)))return!1;if(t.text){let a=t.text;if(!(e.name.toLowerCase().includes(a)||n.includes(a)||r.some(e=>e.includes(a))||i.some(e=>e.includes(a))))return!1}return!0}var RT={debugApi:{subject:`Live data`,since:`12.0`},injectorProviders:{subject:`Reading providers and environment injectors`,since:`16.2`},injectorMetadata:{subject:`The full injector tree`,since:`17.0`},isSignal:{subject:`Telling signals apart in component values`,since:`17.1`},signalGraph:{subject:`The live signal graph`,since:`20.1`},deferBlocks:{subject:`Listing @defer blocks`,since:`19.1`},forBlocks:{subject:`Listing @for blocks`,since:`22.0`},profiler:{subject:`Recording change detection`,since:`20.0`},angularProfiling:{subject:`Angular profiling`,since:`20.0`},routerInstance:{subject:`The router debug util`,since:`20.3`}};function zT(e){let t=/^(\d+)\.(\d+)/.exec(e.trim());return t?`${t[1]}.${t[2]}`:e.trim()}function BT(e){let t=/^(\d+)(?:\.(\d+))?/.exec(e.trim());return t?[Number(t[1]),Number(t[2]??0)]:null}function VT(e,t){let n=BT(e),r=BT(t);return!n||!r?!1:n[0]===r[0]?n[1]>=r[1]:n[0]>r[0]}function HT(e,t){return e?.capabilities?.[t]===!1}function UT(e,t){let n=RT[e],r=`${n.subject} needs Angular ${n.since} or later`;if(!t)return`${r}; this page's Angular version is unknown.`;let i=zT(t);return VT(t,n.since)?`${r} in a development build; this page runs Angular ${i} without it, which usually means a production build.`:`${r}; this page runs Angular ${i}.`}var WT=/^on (viewport|interaction|hover)\b/;function GT(e){let t=e.filter(e=>!/^(prefetch|hydrate) /.test(e));return t.length>0&&t.every(e=>WT.test(e))}function KT(e,t){let n=[],r=e.since>0?Math.max(0,Math.round((t-e.since)/1e3)):0;return e.state===`error`&&n.push({kind:`failed`,text:`failed to load`,label:`failed`}),(e.state===`placeholder`||e.state===`initial`)&&r*1e3>=1e4&&n.push(GT(e.triggers)?{kind:`waiting`,text:`waiting for its trigger for ${r}s`,label:`waiting ${r}s`,seconds:r}:{kind:`stuck`,text:`on its placeholder for ${r}s`,label:`stuck ${r}s`,seconds:r}),e.hydrateNever?n.push({kind:`hydrate-never`,text:`hydrate never: the server HTML stays static`,label:`hydrate never`}):e.hydration===`dehydrated`&&n.push({kind:`dehydrated`,text:`still dehydrated`,label:`dehydrated`}),n}var qT=`pangular-page-id`,JT=null;function YT(e){JT=e}function XT(){if(JT)return JT;try{return new URLSearchParams(location.search).get(`pageId`)||(window.top===window?null:sessionStorage.getItem(qT)||null)}catch{return null}}function ZT(e,t){if(t.chosen&&e[t.chosen])return t.chosen;if(t.host)return t.host;if(t.previous&&e[t.previous])return t.previous;let n=null;for(let t of Object.values(e))(!n||t.reportedAt>n.reportedAt)&&(n=t);return n?.pageId??null}function QT(e,t){return e?t?e.pages?.[t]??null:e:null}function $T(e,t){return e?t?e.pages?.[t]??null:e.graph??null:null}function eE(){return{functions:[...AT]}}function tE(e,t,n){return e?e.scope(`pangular`).rpc.call(t,...n===void 0?[]:[n]):Promise.resolve(null)}function nE(e,t,n){return tE(e,t,n).then(e=>e,()=>null)}function rE(e){return e?.connectionMeta.backend===`static`}function iE(e){let t=()=>{let t=e()?.scope(`pangular`).rpc;t&&(t.callEvent(`request-page-highlight`,null),t.callEvent(`request-form-highlight`,null))};return addEventListener(`pagehide`,t),()=>{removeEventListener(`pagehide`,t),t()}}function aE(e=globalThis){delete e.__DEVFRAME_CONNECTION__,delete e.__DEVFRAME_CONNECTION_META__}function oE(e){return e.split(`@`)[1]??``}var sE={signal:`Signal Forms`,reactive:`Reactive`,template:`Template-driven`},cE={own:`validator`,directive:`template attribute`,tree:`cross-field rule`,async:`async`,parse:`parse`,submission:`server`,schema:`schema`,manual:`setErrors`},lE=nE,uE={key:`name looks secret`,"input-type":`password input`,autocomplete:`autocomplete is a secret kind`,marker:`marked as mask`,parent:`inside a secret group`,config:`listed in mask`};function dE(e){return uE[e]??e}var fE=`https://pangular-inspector.dev/security/#opt-fields-in-or-out`;async function pE(e,t){return await lE(e,`request-form-action`,t)??{ok:!1,error:`The devtools server did not answer.`}}function mE(e){return`${e.ok?e.message??`Done.`:e.error??`Failed.`}${e.skipped?.length?` Skipped: ${e.skipped.map(e=>`${e.path} (${e.reason})`).join(`, `)}.`:``}${e.status?` Status: ${e.status}.`:``}`}var hE=/"(?:[^"\\\n]|\\.)*"|`([^`\n]*)`|\*\*/g;function gE(e){return(e??``).replace(/^_Labels, paths.*_\n\n/,``).replace(hE,(e,t)=>t??(e===`**`?``:e))}function _E(e){return OT(e?.connectionMeta)}function vE(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)?[...e]:void 0}function yE(e,t){if(!t||typeof t!=`object`)return e;let n=vE(t.secretNames),r=vE(t.unmask);return!n||!r?e:{...e,redaction:{secretNames:n,unmask:r}}}function bE(e,t){return _E(e).actions[t]}var xE={components:`components`,routes:`router`,signals:`signals`,injectors:`injectors`,store:`ngrx`,queries:`tanstackQuery`,forms:`forms`,pipes:`pipes`,network:`http`,analog:`analog`,capacitor:`capacitor`,errors:`errors`,plugins:`plugins`};function SE(e){return xE[e]}var CE=`https://pangular-inspector.dev/getting-started/configuration/#inspectors-and-agent-tools`;function wE(e,t){let n=xE[e];return!n||t.inspectors[n]}function TE(e,t){e&1&&(E(),kg(0,`rect`,5)(1,`rect`,6)(2,`rect`,7)(3,`rect`,8))}function EE(e,t){e&1&&(E(),kg(0,`path`,9)(1,`circle`,10)(2,`circle`,11)(3,`path`,12))}function DE(e,t){e&1&&(E(),kg(0,`path`,13)(1,`path`,14))}function OE(e,t){e&1&&(E(),kg(0,`path`,15)(1,`path`,16)(2,`path`,17))}function kE(e,t){e&1&&(E(),kg(0,`circle`,18)(1,`path`,19)(2,`circle`,20))}function AE(e,t){e&1&&(E(),kg(0,`path`,1))}function jE(e,t){e&1&&(E(),kg(0,`path`,21)(1,`path`,22)(2,`path`,23)(3,`path`,24))}function ME(e,t){e&1&&(E(),kg(0,`ellipse`,25)(1,`path`,26)(2,`path`,27))}function NE(e,t){e&1&&(E(),kg(0,`rect`,28)(1,`path`,29)(2,`path`,30)(3,`path`,31))}function PE(e,t){e&1&&(E(),kg(0,`circle`,32)(1,`path`,9)(2,`path`,33))}function FE(e,t){e&1&&(E(),kg(0,`path`,34)(1,`path`,35)(2,`path`,36)(3,`path`,37)(4,`circle`,38))}function IE(e,t){e&1&&(E(),kg(0,`circle`,39)(1,`path`,40))}function LE(e,t){e&1&&(E(),kg(0,`ellipse`,41)(1,`path`,42)(2,`path`,43)(3,`path`,44)(4,`path`,45))}function RE(e,t){e&1&&(E(),kg(0,`circle`,32)(1,`path`,46)(2,`path`,47))}function zE(e,t){e&1&&(E(),kg(0,`path`,2))}function BE(e,t){e&1&&(E(),kg(0,`path`,3))}function VE(e,t){e&1&&(E(),kg(0,`path`,4))}var HE=class e{name=$.required();static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-tab-icon`]],inputs:{name:[1,`name`]},decls:18,vars:1,consts:[[`viewBox`,`0 0 24 24`,`width`,`16`,`height`,`16`,`fill`,`none`,`stroke`,`currentColor`,`stroke-width`,`1.8`,`stroke-linecap`,`round`,`stroke-linejoin`,`round`,`aria-hidden`,`true`],[`d`,`M22 12h-4l-3 9L9 3l-3 9H2`],[`d`,`M10 3h4v3a2 2 0 1 0 4 0V5h1a2 2 0 0 1 2 2v4h-2a2 2 0 1 0 0 4h2v4a2 2 0 0 1-2 2h-4v-2a2 2 0 1 0-4 0v2H7a2 2 0 0 1-2-2v-4H4a2 2 0 1 1 0-4h1V7a2 2 0 0 1 2-2h3Z`],[`d`,`m8 3 4 8 5-5 5 15H2L8 3z`],[`fill`,`currentColor`,`stroke`,`none`,`transform`,`translate(1.8 1.8) scale(0.85)`,`d`,`M24 3.7l-5.766 5.766 5.725 5.736-3.713 3.712L5.073 3.742 8.786.03l5.736 5.726L20.284 0 24 3.7zM.029 8.785l3.713-3.713 15.173 15.173-3.713 3.714-5.732-5.726L3.7 24 0 20.285l5.754-5.764L.029 8.785z`],[`x`,`3`,`y`,`3`,`width`,`7`,`height`,`9`,`rx`,`1.5`],[`x`,`14`,`y`,`3`,`width`,`7`,`height`,`5`,`rx`,`1.5`],[`x`,`14`,`y`,`12`,`width`,`7`,`height`,`9`,`rx`,`1.5`],[`x`,`3`,`y`,`16`,`width`,`7`,`height`,`5`,`rx`,`1.5`],[`d`,`M3 12h18`],[`cx`,`7`,`cy`,`12`,`r`,`2`],[`cx`,`14`,`cy`,`12`,`r`,`2`],[`d`,`M18 7v10`],[`d`,`M9 11l2 2 4-4`],[`d`,`M12 3 4 6v6c0 4.5 3.4 8.3 8 9 4.6-.7 8-4.5 8-9V6l-8-3Z`],[`d`,`M12 2 3 7l9 5 9-5-9-5Z`],[`d`,`m3 12 9 5 9-5`],[`d`,`m3 17 9 5 9-5`],[`cx`,`6`,`cy`,`19`,`r`,`3`],[`d`,`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`],[`cx`,`18`,`cy`,`5`,`r`,`3`],[`d`,`M12 22v-5`],[`d`,`M9 8V2`],[`d`,`M15 8V2`],[`d`,`M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z`],[`cx`,`12`,`cy`,`5`,`rx`,`9`,`ry`,`3`],[`d`,`M3 5v14a9 3 0 0 0 18 0V5`],[`d`,`M3 12a9 3 0 0 0 18 0`],[`x`,`3`,`y`,`4`,`width`,`18`,`height`,`16`,`rx`,`2`],[`d`,`M7 9h10`],[`d`,`M7 13h6`],[`d`,`M7 17h8`],[`cx`,`12`,`cy`,`12`,`r`,`9`],[`d`,`M12 3a14 14 0 0 1 0 18a14 14 0 0 1 0-18Z`],[`d`,`M4 7h10`],[`d`,`M4 17h6`],[`d`,`m14 13 4 4-4 4`],[`d`,`M10 17h8`],[`cx`,`18`,`cy`,`7`,`r`,`3`],[`cx`,`12`,`cy`,`12`,`r`,`3`],[`d`,`M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z`],[`cx`,`11`,`cy`,`5`,`rx`,`8`,`ry`,`3`],[`d`,`M3 5v6c0 1.66 3.58 3 8 3`],[`d`,`M3 11v6c0 1.66 3.58 3 8 3`],[`d`,`M21 14a4 4 0 1 1-1.2-2.85L21 12.3`],[`d`,`M21 9v3.3h-3.3`],[`d`,`M12 7v6`],[`d`,`M12 16.5v.01`]],template:function(e,t){if(e&1&&(E(),z(0,`svg`,0),j(1,TE,4,0)(2,EE,4,0)(3,DE,2,0)(4,OE,3,0)(5,kE,3,0)(6,AE,1,0,`:svg:path`,1)(7,jE,4,0)(8,ME,3,0)(9,NE,4,0)(10,PE,3,0)(11,FE,5,0)(12,IE,2,0)(13,LE,5,0)(14,RE,3,0)(15,zE,1,0,`:svg:path`,2)(16,BE,1,0,`:svg:path`,3)(17,VE,1,0,`:svg:path`,4),B()),e&2){let e;O(),M((e=t.name())===`dashboard`?1:e===`timeline`?2:e===`audit`?3:e===`components`?4:e===`routes`?5:e===`signals`?6:e===`injectors`?7:e===`store`?8:e===`forms`?9:e===`network`?10:e===`pipes`?11:e===`settings`?12:e===`queries`?13:e===`errors`?14:e===`plugins`?15:e===`analog`?16:e===`capacitor`?17:-1)}},styles:[`[_nghost-%COMP%] { display: inline-flex; flex-shrink: 0; -}`]})},UE=(e,t)=>t.tab,WE=(e,t)=>t.label;function GE(e,t){e&1&&K(0),e&2&&J(` `,W().meta()?.projectName,` `)}function KE(e,t){e&1&&K(0,` Project details unavailable `)}function qE(e,t){e&1&&K(0,` Loading… `)}function JE(e,t){e&1&&(K(0,` Run `),I(1,`code`),K(2,`pangular build`),L(),K(3,` again to rebuild the report. `))}function YE(e,t){e&1&&K(0,` Check that the dev server is running. `)}function XE(e,t){if(e&1){let e=V();I(0,`button`,12),H(`click`,function(){return w(e),T(W(2).loadMeta())}),K(1,`Try again`),L()}}function ZE(e,t){if(e&1&&(I(0,`p`,10),j(1,JE,4,0)(2,YE,1,0),L(),j(3,XE,2,0,`button`,11)),e&2){let e=W();O(),M(e.staticReport()?1:2),O(2),M(e.staticReport()?-1:3)}}function QE(e,t){e&1&&(I(0,`li`,5)(1,`span`),K(2,`Analog`),L(),K(3),L()),e&2&&(O(3),q(t))}function $E(e,t){e&1&&(I(0,`li`)(1,`span`),K(2,`Change detection`),L(),K(3),L()),e&2&&(O(3),q(t))}function eD(e,t){if(e&1&&(I(0,`span`,19),K(1),L(),I(2,`span`,20),K(3),L()),e&2){let e=W().$implicit,t=W();O(),q(t.cards()[e.tab]?.value),O(2),q(t.cards()[e.tab]?.sub)}}function tD(e,t){e&1&&(I(0,`span`,21),K(1,`–`),L(),I(2,`span`,20),K(3,`Count unavailable`),L())}function nD(e,t){e&1&&(R(0,`span`,22),I(1,`span`,20),K(2,`Counting…`),L())}function rD(e,t){if(e&1){let e=V();I(0,`button`,13),H(`click`,function(){let t=w(e).$implicit;return T(W().navigate.emit(t.tab))}),I(1,`span`,14)(2,`span`,15),R(3,`app-tab-icon`,16),L(),I(4,`span`,17),K(5,`→`),L()(),I(6,`span`,18),K(7),L(),j(8,eD,4,2)(9,tD,4,0)(10,nD,3,0),L()}if(e&2){let e,n=t.$implicit,r=t.$index,i=W().stateOf(n.tab);b_(`animation-delay`,60*r,`ms`),A(`aria-busy`,i===`loading`),O(3),F(`name`,n.tab),O(4),q(n.label),O(),M((e=i)===`ready`?8:e===`error`?9:10)}}function iD(e,t){e&1&&(I(0,`p`),K(1,`Loading…`),L())}function aD(e,t){if(e&1&&(I(0,`div`)(1,`dt`),K(2),L(),I(3,`dd`),K(4),L()()),e&2){let e=t.$implicit;O(2),q(e.label),O(2),q(e.value)}}function oD(e,t){if(e&1&&(I(0,`dl`),N(1,aD,5,2,`div`,null,WE),L()),e&2){let e=W();O(),P(e.configItems())}}function sD(e,t){e&1&&(I(0,`p`),K(1,`Defaults`),L())}var cD=[{tab:`components`,label:`Components`},{tab:`routes`,label:`Routes`},{tab:`signals`,label:`Signals`},{tab:`injectors`,label:`Injectors`},{tab:`store`,label:`NgRx declarations`},{tab:`pipes`,label:`Pipes`},{tab:`forms`,label:`Forms`},{tab:`network`,label:`SSR & HTTP`}];function lD(e){return cD.filter(t=>wE(t.tab,e))}var uD={zoneless:`Zoneless`,zone:`zone.js`,"zone-unused":`Zoneless, zone.js loaded`};function dD(e){return e&&Object.hasOwn(uD,e)?uD[e]:null}var fD=new Set([`signal`,`computed`,`linkedSignal`,`effect`]),pD={action:[`action`,`actions`],reducer:[`reducer`,`reducers`],effect:[`effect`,`effects`],selector:[`selector`,`selectors`],feature:[`feature`,`features`],"store-setup":[`setup call`,`setup calls`],"signal-store":[`signal store`,`signal stores`],"signal-state":[`signal state`,`signal states`],"signal-method":[`signal method`,`signal methods`]};function mD(e,t,n){return`${e} ${e===1?t:n}`}function hD(e,t){for(let n of e??[])t(n),hD(n.children,t)}function gD(e){if(!e.some(e=>e.kind))return{value:e.length,sub:`discovered in source`};let t=e.filter(e=>e.kind===`directive`).length;return{value:e.length-t,sub:`components · ${mD(t,`directive`,`directives`)}`}}function _D(e){if(!e.some(e=>e.kind))return{value:e.length,sub:`route entries in source`};let t=e.filter(e=>e.kind===`redirect`).length;return{value:new Set(e.filter(e=>e.kind===`page`).map(e=>e.fullPath??e.path??``)).size,sub:`navigable paths · ${mD(t,`redirect`,`redirects`)}`}}function vD(e){let t=new Map;for(let n of e)n.kind&&t.set(n.kind,(t.get(n.kind)??0)+1);if(!t.size)return{value:e.length,sub:`declarations in source`};let n=[...t].sort((e,t)=>t[1]-e[1]).map(([e,t])=>{let[n,r]=pD[e]??[e,e];return mD(t,n,r)});return{value:e.length,sub:n.join(` · `)}}function yD(e,t){let n=e?.forms??[],r=t?n.filter(e=>oE(e.id)===t):n;if(!r.length)return{value:0,sub:`no forms on the page yet`};let i=r.filter(e=>e.root?.status===`INVALID`).length;return{value:r.length,sub:`${r.length===1?`form`:`forms`} · ${i} invalid`}}function bD(e){return e.cancelled||e.status===void 0?!1:e.status===0||e.status>=400}function xD(e,t){let n=e?.pages??[],r=t?n.find(e=>e.pageId===t)??null:n.reduce((e,t)=>!e||t.reportedAt>e.reportedAt?t:e,null),i=t&&!r?[]:e?.serverCalls??[],a=r?.initialUrl,o=[...a?i.filter(e=>!e.pageUrl||e.pageUrl===a):i,...r?.calls??[]];if(!o.length)return{value:0,sub:`no calls recorded yet`};let s=o.filter(bD).length;return{value:o.length,sub:`${o.length===1?`call`:`calls`} · ${s} failed`}}var SD=class e{rpc=$(null);navigate=yv();staticReport=X(()=>rE(this.rpc()));meta=D(null);redaction=D(null);config=X(()=>yE(_E(this.rpc()),this.redaction()));stats=X(()=>this.rpc()?lD(this.config()):[]);configItems=X(()=>PT(this.config()));metaState=D(`loading`);states=D({});rows=D({});injectorTree=D(null);signalGraph=D(null);formsState=D(null);httpState=D(null);pageId=XT();destroyRef=C(js);stopLive=[];zone=X(()=>dD(QT(this.injectorTree(),this.pageId)?.zone));liveInjectors=X(()=>{let e=QT(this.injectorTree(),this.pageId);if(!e?.roots?.length)return null;let t=0,n=0,r=e=>{t++,n+=e.providers?.length??0};return hD(e.roots,r),hD(e.environment,r),{injectors:t,providers:n}});liveSignals=X(()=>{let e=$T(this.signalGraph(),this.pageId);return e?.nodes?.length?e.nodes.filter(e=>fD.has(e.kind??``)).length:null});cards=X(()=>{let e=this.rows(),t={};if(e.components&&(t.components=gD(e.components)),e.routes&&(t.routes=_D(e.routes)),e.store&&(t.store=vD(e.store)),e.pipes){let n=e.pipes.filter(e=>e.builtin).length;t.pipes={value:e.pipes.length-n,sub:n?`custom pipes · ${n} built-in in use`:`custom pipes in source`}}let n=this.liveSignals();n===null?e.signals&&(t.signals={value:e.signals.length,sub:`signal declarations in source`}):t.signals={value:n,sub:e.signals?`live on the page · ${e.signals.length} declared in source`:`live on the page`};let r=this.liveInjectors();r?t.injectors={value:r.injectors,sub:`live injectors · ${mD(r.providers,`provider`,`providers`)}`}:e.injectors&&(t.injectors={value:e.injectors.filter(e=>e.type!==`injection`).length,sub:`provider declarations in source`});let i=this.formsState();i&&(t.forms=yD(i,this.pageId));let a=this.httpState();return a&&(t.network=xD(a,this.pageId)),t});loadMeta(e=this.rpc()){e&&(this.metaState.set(`loading`),e.scope(`pangular`).rpc.call(`build-meta`).then(t=>{this.rpc()===e&&(this.meta.set(t),this.metaState.set(`ready`))}).catch(()=>{this.rpc()===e&&this.metaState.set(`error`)}))}loadRedaction(e){this.redaction.set(null),!rE(e)&&tE(e,`redaction-config`).then(t=>{this.rpc()===e&&this.redaction.set(t)}).catch(()=>{})}constructor(){vc(()=>{let e=this.rpc();if(!e)return;let t=e.scope(`pangular`);this.states.set({}),this.rows.set({}),this.formsState.set(null),this.httpState.set(null),this.loadMeta(e),this.loadRedaction(e);let n=_E(e),r=e=>wE(e,n);r(`components`)&&this.load(t.rpc.call(`get-components`),`components`),r(`routes`)&&this.load(t.rpc.call(`get-routes`),`routes`),r(`signals`)&&this.load(t.rpc.call(`get-signals`),`signals`),r(`injectors`)&&this.load(t.rpc.call(`get-providers`),`injectors`),r(`store`)&&this.load(t.rpc.call(`get-ngrx-store`),`store`),r(`pipes`)&&this.load(t.rpc.call(`get-pipes`),`pipes`),this.watchLive(e,n)}),this.destroyRef.onDestroy(()=>this.unwatch())}stateOf(e){return(e===`signals`?this.liveSignals():e===`injectors`?this.liveInjectors():null)===null?this.states()[e]??`loading`:`ready`}load(e,t){let n=e=>this.states.update(n=>({...n,[t]:e}));e.then(e=>{this.rows.update(n=>({...n,[t]:Array.isArray(e)?e:[]})),n(`ready`)}).catch(()=>n(`error`))}async watchLive(e,t){this.unwatch();let n=e.scope(`pangular`).rpc,r=async(t,r,i)=>{let a=e=>i&&this.states.update(t=>({...t,[i]:e}));try{let i=await n.sharedState(t);if(this.destroyRef.destroyed||this.rpc()!==e)return;r(i.value()),a(`ready`),this.stopLive.push(i.on(`updated`,e=>r(e)))}catch{if(this.destroyRef.destroyed||this.rpc()!==e)return;r(null),a(`error`)}};await Promise.all([t.inspectors.injectors&&r(`injector-tree`,e=>this.injectorTree.set(e)),t.inspectors.signals&&r(`signal-graph`,e=>this.signalGraph.set(e)),wE(`forms`,t)&&r(`forms`,e=>this.formsState.set(e??{}),`forms`),wE(`network`,t)&&r(`http`,e=>this.httpState.set(e??{}),`network`)])}unwatch(){for(let e of this.stopLive.splice(0))e()}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-dashboard`]],inputs:{rpc:[1,`rpc`]},outputs:{navigate:`navigate`},decls:33,vars:14,consts:[[`aria-labelledby`,`project-title`,1,`project`],[1,`project-head`],[1,`eyebrow`],[`id`,`project-title`],[1,`chips`],[1,`analog`],[1,`grid`],[`type`,`button`,1,`stat`,3,`animation-delay`],[`aria-labelledby`,`config-title`,1,`config`],[`id`,`config-title`],[1,`hint`],[`type`,`button`,1,`retry`],[`type`,`button`,1,`retry`,3,`click`],[`type`,`button`,1,`stat`,3,`click`],[1,`top`],[1,`icon`],[3,`name`],[`aria-hidden`,`true`,1,`go`],[1,`label`],[1,`big`],[1,`sub`],[1,`big`,`muted`],[`aria-hidden`,`true`,1,`big`,`skeleton`]],template:function(e,t){if(e&1&&(I(0,`section`,0)(1,`div`,1)(2,`p`,2),K(3,`Project`),L(),I(4,`h2`,3),j(5,GE,1,1)(6,KE,1,0)(7,qE,1,0),L(),j(8,ZE,4,2),L(),I(9,`ul`,4)(10,`li`)(11,`span`),K(12,`Angular`),L(),K(13),L(),I(14,`li`)(15,`span`),K(16,`TypeScript`),L(),K(17),L(),I(18,`li`)(19,`span`),K(20,`SSR`),L(),K(21),L(),j(22,QE,4,1,`li`,5),j(23,$E,4,1,`li`),L()(),I(24,`div`,6),N(25,rD,11,6,`button`,7,UE),L(),I(27,`section`,8)(28,`h2`,9),K(29,`Configuration`),L(),j(30,iD,2,0,`p`)(31,oD,3,0,`dl`)(32,sD,2,0,`p`),L()),e&2){let e,n,r;A(`aria-busy`,t.metaState()===`loading`),O(4),G(`muted`,t.metaState()!==`ready`),O(),M((e=t.metaState())===`ready`?5:e===`error`?6:7),O(3),M(t.metaState()===`error`?8:-1),O(),G(`pending`,t.metaState()===`loading`),O(4),q(t.meta()?.angularVersion??`…`),O(4),q(t.meta()?.typescript??`…`),O(4),q(t.meta()?t.meta()?.ssr?`On`:`Off`:`…`),O(),M((n=t.meta()?.analog)?22:-1,n),O(),M((r=t.zone())?23:-1,r),O(2),P(t.stats()),O(2),A(`aria-busy`,!t.rpc()),O(3),M(t.rpc()?t.configItems().length?31:32:30)}},dependencies:[HE],styles:[`[_nghost-%COMP%] { +}`]})},UE=(e,t)=>t.tab,WE=(e,t)=>t.label;function GE(e,t){e&1&&K(0),e&2&&J(` `,W().meta()?.projectName,` `)}function KE(e,t){e&1&&K(0,` Project details unavailable `)}function qE(e,t){e&1&&K(0,` Loading… `)}function JE(e,t){e&1&&(K(0,` Run `),I(1,`code`),K(2,`pangular build`),L(),K(3,` again to rebuild the report. `))}function YE(e,t){e&1&&K(0,` Check that the dev server is running. `)}function XE(e,t){if(e&1){let e=V();I(0,`button`,12),H(`click`,function(){return w(e),T(W(2).loadMeta())}),K(1,`Try again`),L()}}function ZE(e,t){if(e&1&&(I(0,`p`,10),j(1,JE,4,0)(2,YE,1,0),L(),j(3,XE,2,0,`button`,11)),e&2){let e=W();O(),M(e.staticReport()?1:2),O(2),M(e.staticReport()?-1:3)}}function QE(e,t){e&1&&(I(0,`li`,5)(1,`span`),K(2,`Analog`),L(),K(3),L()),e&2&&(O(3),q(t))}function $E(e,t){e&1&&(I(0,`li`)(1,`span`),K(2,`Change detection`),L(),K(3),L()),e&2&&(O(3),q(t))}function eD(e,t){if(e&1&&(I(0,`span`,19),K(1),L(),I(2,`span`,20),K(3),L()),e&2){let e=W().$implicit,t=W();O(),q(t.cards()[e.tab]?.value),O(2),q(t.cards()[e.tab]?.sub)}}function tD(e,t){e&1&&(I(0,`span`,21),K(1,`–`),L(),I(2,`span`,20),K(3,`Count unavailable`),L())}function nD(e,t){e&1&&(R(0,`span`,22),I(1,`span`,20),K(2,`Counting…`),L())}function rD(e,t){if(e&1){let e=V();I(0,`button`,13),H(`click`,function(){let t=w(e).$implicit;return T(W().navigate.emit(t.tab))}),I(1,`span`,14)(2,`span`,15),R(3,`app-tab-icon`,16),L(),I(4,`span`,17),K(5,`→`),L()(),I(6,`span`,18),K(7),L(),j(8,eD,4,2)(9,tD,4,0)(10,nD,3,0),L()}if(e&2){let e,n=t.$implicit,r=t.$index,i=W().stateOf(n.tab);b_(`animation-delay`,60*r,`ms`),A(`aria-busy`,i===`loading`),O(3),F(`name`,n.tab),O(4),q(n.label),O(),M((e=i)===`ready`?8:e===`error`?9:10)}}function iD(e,t){e&1&&(I(0,`p`),K(1,`Loading…`),L())}function aD(e,t){if(e&1&&(I(0,`div`)(1,`dt`),K(2),L(),I(3,`dd`),K(4),L()()),e&2){let e=t.$implicit;O(2),q(e.label),O(2),q(e.value)}}function oD(e,t){if(e&1&&(I(0,`dl`),N(1,aD,5,2,`div`,null,WE),L()),e&2){let e=W();O(),P(e.configItems())}}function sD(e,t){e&1&&(I(0,`p`),K(1,`Defaults`),L())}var cD=[{tab:`components`,label:`Components`},{tab:`routes`,label:`Routes`},{tab:`signals`,label:`Signals`},{tab:`injectors`,label:`Injectors`},{tab:`store`,label:`NgRx declarations`},{tab:`pipes`,label:`Pipes`},{tab:`forms`,label:`Forms`},{tab:`network`,label:`SSR & HTTP`}];function lD(e){return cD.filter(t=>wE(t.tab,e))}var uD={zoneless:`Zoneless`,zone:`zone.js`,"zone-unused":`Zoneless, zone.js loaded`};function dD(e){return e&&Object.hasOwn(uD,e)?uD[e]:null}var fD=new Set([`signal`,`computed`,`linkedSignal`,`effect`]),pD={action:[`action`,`actions`],reducer:[`reducer`,`reducers`],effect:[`effect`,`effects`],selector:[`selector`,`selectors`],feature:[`feature`,`features`],"store-setup":[`setup call`,`setup calls`],"signal-store":[`signal store`,`signal stores`],"signal-state":[`signal state`,`signal states`],"signal-method":[`signal method`,`signal methods`]};function mD(e,t,n){return`${e} ${e===1?t:n}`}function hD(e,t){for(let n of e??[])t(n),hD(n.children,t)}function gD(e){if(!e.some(e=>e.kind))return{value:e.length,sub:`discovered in source`};let t=e.filter(e=>e.kind===`directive`).length;return{value:e.length-t,sub:`components · ${mD(t,`directive`,`directives`)}`}}function _D(e){if(!e.some(e=>e.kind))return{value:e.length,sub:`route entries in source`};let t=e.filter(e=>e.kind===`redirect`).length;return{value:new Set(e.filter(e=>e.kind===`page`).map(e=>e.fullPath??e.path??``)).size,sub:`navigable paths · ${mD(t,`redirect`,`redirects`)}`}}function vD(e){let t=new Map;for(let n of e)n.kind&&t.set(n.kind,(t.get(n.kind)??0)+1);if(!t.size)return{value:e.length,sub:`declarations in source`};let n=[...t].sort((e,t)=>t[1]-e[1]).map(([e,t])=>{let[n,r]=pD[e]??[e,e];return mD(t,n,r)});return{value:e.length,sub:n.join(` · `)}}function yD(e,t){let n=e?.forms??[],r=t?n.filter(e=>oE(e.id)===t):n;if(!r.length)return{value:0,sub:`no forms on the page yet`};let i=r.filter(e=>e.root?.status===`INVALID`).length;return{value:r.length,sub:`${r.length===1?`form`:`forms`} · ${i} invalid`}}function bD(e){return e.cancelled||e.status===void 0?!1:e.status===0||e.status>=400}function xD(e,t){let n=e?.pages??[],r=t?n.find(e=>e.pageId===t)??null:n.reduce((e,t)=>!e||t.reportedAt>e.reportedAt?t:e,null),i=t&&!r?[]:e?.serverCalls??[],a=r?.initialUrl,o=[...a?i.filter(e=>!e.pageUrl||e.pageUrl===a):i,...r?.calls??[]];if(!o.length)return{value:0,sub:`no calls recorded yet`};let s=o.filter(bD).length;return{value:o.length,sub:`${o.length===1?`call`:`calls`} · ${s} failed`}}var SD=class e{rpc=$(null);navigate=bv();staticReport=X(()=>rE(this.rpc()));meta=D(null);redaction=D(null);config=X(()=>yE(_E(this.rpc()),this.redaction()));stats=X(()=>this.rpc()?lD(this.config()):[]);configItems=X(()=>PT(this.config()));metaState=D(`loading`);states=D({});rows=D({});injectorTree=D(null);signalGraph=D(null);formsState=D(null);httpState=D(null);pageId=XT();destroyRef=C(js);stopLive=[];zone=X(()=>dD(QT(this.injectorTree(),this.pageId)?.zone));liveInjectors=X(()=>{let e=QT(this.injectorTree(),this.pageId);if(!e?.roots?.length)return null;let t=0,n=0,r=e=>{t++,n+=e.providers?.length??0};return hD(e.roots,r),hD(e.environment,r),{injectors:t,providers:n}});liveSignals=X(()=>{let e=$T(this.signalGraph(),this.pageId);return e?.nodes?.length?e.nodes.filter(e=>fD.has(e.kind??``)).length:null});cards=X(()=>{let e=this.rows(),t={};if(e.components&&(t.components=gD(e.components)),e.routes&&(t.routes=_D(e.routes)),e.store&&(t.store=vD(e.store)),e.pipes){let n=e.pipes.filter(e=>e.builtin).length;t.pipes={value:e.pipes.length-n,sub:n?`custom pipes · ${n} built-in in use`:`custom pipes in source`}}let n=this.liveSignals();n===null?e.signals&&(t.signals={value:e.signals.length,sub:`signal declarations in source`}):t.signals={value:n,sub:e.signals?`live on the page · ${e.signals.length} declared in source`:`live on the page`};let r=this.liveInjectors();r?t.injectors={value:r.injectors,sub:`live injectors · ${mD(r.providers,`provider`,`providers`)}`}:e.injectors&&(t.injectors={value:e.injectors.filter(e=>e.type!==`injection`).length,sub:`provider declarations in source`});let i=this.formsState();i&&(t.forms=yD(i,this.pageId));let a=this.httpState();return a&&(t.network=xD(a,this.pageId)),t});loadMeta(e=this.rpc()){e&&(this.metaState.set(`loading`),e.scope(`pangular`).rpc.call(`build-meta`).then(t=>{this.rpc()===e&&(this.meta.set(t),this.metaState.set(`ready`))}).catch(()=>{this.rpc()===e&&this.metaState.set(`error`)}))}loadRedaction(e){this.redaction.set(null),!rE(e)&&tE(e,`redaction-config`).then(t=>{this.rpc()===e&&this.redaction.set(t)}).catch(()=>{})}constructor(){vc(()=>{let e=this.rpc();if(!e)return;let t=e.scope(`pangular`);this.states.set({}),this.rows.set({}),this.formsState.set(null),this.httpState.set(null),this.loadMeta(e),this.loadRedaction(e);let n=_E(e),r=e=>wE(e,n);r(`components`)&&this.load(t.rpc.call(`get-components`),`components`),r(`routes`)&&this.load(t.rpc.call(`get-routes`),`routes`),r(`signals`)&&this.load(t.rpc.call(`get-signals`),`signals`),r(`injectors`)&&this.load(t.rpc.call(`get-providers`),`injectors`),r(`store`)&&this.load(t.rpc.call(`get-ngrx-store`),`store`),r(`pipes`)&&this.load(t.rpc.call(`get-pipes`),`pipes`),this.watchLive(e,n)}),this.destroyRef.onDestroy(()=>this.unwatch())}stateOf(e){return(e===`signals`?this.liveSignals():e===`injectors`?this.liveInjectors():null)===null?this.states()[e]??`loading`:`ready`}load(e,t){let n=e=>this.states.update(n=>({...n,[t]:e}));e.then(e=>{this.rows.update(n=>({...n,[t]:Array.isArray(e)?e:[]})),n(`ready`)}).catch(()=>n(`error`))}async watchLive(e,t){this.unwatch();let n=e.scope(`pangular`).rpc,r=async(t,r,i)=>{let a=e=>i&&this.states.update(t=>({...t,[i]:e}));try{let i=await n.sharedState(t);if(this.destroyRef.destroyed||this.rpc()!==e)return;r(i.value()),a(`ready`),this.stopLive.push(i.on(`updated`,e=>r(e)))}catch{if(this.destroyRef.destroyed||this.rpc()!==e)return;r(null),a(`error`)}};await Promise.all([t.inspectors.injectors&&r(`injector-tree`,e=>this.injectorTree.set(e)),t.inspectors.signals&&r(`signal-graph`,e=>this.signalGraph.set(e)),wE(`forms`,t)&&r(`forms`,e=>this.formsState.set(e??{}),`forms`),wE(`network`,t)&&r(`http`,e=>this.httpState.set(e??{}),`network`)])}unwatch(){for(let e of this.stopLive.splice(0))e()}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-dashboard`]],inputs:{rpc:[1,`rpc`]},outputs:{navigate:`navigate`},decls:33,vars:14,consts:[[`aria-labelledby`,`project-title`,1,`project`],[1,`project-head`],[1,`eyebrow`],[`id`,`project-title`],[1,`chips`],[1,`analog`],[1,`grid`],[`type`,`button`,1,`stat`,3,`animation-delay`],[`aria-labelledby`,`config-title`,1,`config`],[`id`,`config-title`],[1,`hint`],[`type`,`button`,1,`retry`],[`type`,`button`,1,`retry`,3,`click`],[`type`,`button`,1,`stat`,3,`click`],[1,`top`],[1,`icon`],[3,`name`],[`aria-hidden`,`true`,1,`go`],[1,`label`],[1,`big`],[1,`sub`],[1,`big`,`muted`],[`aria-hidden`,`true`,1,`big`,`skeleton`]],template:function(e,t){if(e&1&&(I(0,`section`,0)(1,`div`,1)(2,`p`,2),K(3,`Project`),L(),I(4,`h2`,3),j(5,GE,1,1)(6,KE,1,0)(7,qE,1,0),L(),j(8,ZE,4,2),L(),I(9,`ul`,4)(10,`li`)(11,`span`),K(12,`Angular`),L(),K(13),L(),I(14,`li`)(15,`span`),K(16,`TypeScript`),L(),K(17),L(),I(18,`li`)(19,`span`),K(20,`SSR`),L(),K(21),L(),j(22,QE,4,1,`li`,5),j(23,$E,4,1,`li`),L()(),I(24,`div`,6),N(25,rD,11,6,`button`,7,UE),L(),I(27,`section`,8)(28,`h2`,9),K(29,`Configuration`),L(),j(30,iD,2,0,`p`)(31,oD,3,0,`dl`)(32,sD,2,0,`p`),L()),e&2){let e,n,r;A(`aria-busy`,t.metaState()===`loading`),O(4),G(`muted`,t.metaState()!==`ready`),O(),M((e=t.metaState())===`ready`?5:e===`error`?6:7),O(3),M(t.metaState()===`error`?8:-1),O(),G(`pending`,t.metaState()===`loading`),O(4),q(t.meta()?.angularVersion??`…`),O(4),q(t.meta()?.typescript??`…`),O(4),q(t.meta()?t.meta()?.ssr?`On`:`Off`:`…`),O(),M((n=t.meta()?.analog)?22:-1,n),O(),M((r=t.zone())?23:-1,r),O(2),P(t.stats()),O(2),A(`aria-busy`,!t.rpc()),O(3),M(t.rpc()?t.configItems().length?31:32:30)}},dependencies:[HE],styles:[`[_nghost-%COMP%] { display: block; max-width: 1200px; } @@ -325,7 +325,7 @@ h2.muted[_ngcontent-%COMP%] { .skeleton[_ngcontent-%COMP%] { animation: none; } -}`]})},CD=`pangular:panel-action-result`,wD=6e3,TD=0;function ED(e=window){return e.location.protocol===`chrome-extension:`&&e.parent!==e}function DD(e,t=window){let n=`pa-${Date.now().toString(36)}-${++TD}`;return new Promise(r=>{let i=e=>{t.clearTimeout(o),t.removeEventListener(`message`,a),r(e)},a=({source:e,origin:r,data:a})=>{if(e!==t.parent||r!==t.location.origin)return;let o=a;if(o?.type!==CD||o.requestId!==n)return;let{opened:s,error:c}=a;i({ok:o.ok===!0,...s===`file`||s===`class`?{opened:s}:{},...typeof c==`string`?{error:c}:{}})},o=t.setTimeout(()=>i({ok:!1,error:`timeout`}),wD);t.addEventListener(`message`,a),t.parent.postMessage({...e,requestId:n},t.location.origin)})}var OD=class e{available=ED();reveal(e,t){return DD({type:`pangular:reveal-element`,pageId:e,id:t})}openSource(e,t,n){return DD({type:`pangular:open-source`,pageId:e,id:t,...n?{file:n.file,line:n.line}:{}})}static ɵfac=function(t){return new(t||e)};static ɵprov=zl({token:e,factory:e.ɵfac})};function kD(e){let t=e?.pages;return t&&typeof t==`object`?t:{}}function AD(e){let t=C(js),n=D({}),r=null,i=null,a=async e=>{i?.(),i=null,r=e;try{let a=await e.scope(`pangular`).rpc.sharedState(`page-angular`);if(t.destroyed||r!==e)return;let o=e=>n.set(kD(e));o(a.value()),i=a.on(`updated`,o)}catch{r===e&&n.set({})}};return vc(()=>{let t=e();t&&t!==r&&Z(()=>void a(t))}),t.onDestroy(()=>i?.()),n.asReadonly()}function jD(e,t){if(t)return e[t]??null;let n=null;for(let t of Object.values(e))(!n||t.reportedAt>n.reportedAt)&&(n=t);return n}var MD=[`*`];function ND(e,t){if(e&1&&(z(0,`div`,1)(1,`p`,2),K(2),B(),z(3,`p`,3),K(4),Yg(5),z(6,`a`,4),K(7,`Supported versions`),B()()()),e&2){let e=W();G(`compact`,e.compact()),O(2),q(e.title()),O(2),J(` `,t,` `),O(2),Fg(`href`,e.docsUrl,Au)}}var PD=`https://pangular-inspector.dev/getting-started/installation/#supported-angular-versions`,FD=class e{page=$(null);capability=$.required();missing=$(!1,{transform:Av});compact=$(!1,{transform:Av});docsUrl=PD;text=X(()=>{let e=this.page();return!this.missing()&&!HT(e,this.capability())?null:UT(this.capability(),e?.version)});title=X(()=>{let e=this.page()?.version;return e?`Not available on Angular ${zT(e)}`:`Not available on this page`});static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-angular-unavailable`]],inputs:{page:[1,`page`],capability:[1,`capability`],missing:[1,`missing`],compact:[1,`compact`]},ngContentSelectors:MD,decls:1,vars:1,consts:[[`role`,`status`,1,`unavailable`,3,`compact`],[`role`,`status`,1,`unavailable`],[1,`title`],[1,`hint`],[`target`,`_blank`,`rel`,`noopener noreferrer`,3,`href`]],template:function(e,t){if(e&1&&(Jg(),j(0,ND,8,5,`div`,0)),e&2){let e;M((e=t.text())?0:-1,e)}},styles:[`[_nghost-%COMP%] { +}`]})},CD=`pangular:panel-action-result`,wD=6e3,TD=0;function ED(e=window){return e.location.protocol===`chrome-extension:`&&e.parent!==e}function DD(e,t=window){let n=`pa-${Date.now().toString(36)}-${++TD}`;return new Promise(r=>{let i=e=>{t.clearTimeout(o),t.removeEventListener(`message`,a),r(e)},a=({source:e,origin:r,data:a})=>{if(e!==t.parent||r!==t.location.origin)return;let o=a;if(o?.type!==CD||o.requestId!==n)return;let{opened:s,error:c}=a;i({ok:o.ok===!0,...s===`file`||s===`class`?{opened:s}:{},...typeof c==`string`?{error:c}:{}})},o=t.setTimeout(()=>i({ok:!1,error:`timeout`}),wD);t.addEventListener(`message`,a),t.parent.postMessage({...e,requestId:n},t.location.origin)})}var OD=class e{available=ED();reveal(e,t){return DD({type:`pangular:reveal-element`,pageId:e,id:t})}openSource(e,t,n){return DD({type:`pangular:open-source`,pageId:e,id:t,...n?{file:n.file,line:n.line}:{}})}static ɵfac=function(t){return new(t||e)};static ɵprov=zl({token:e,factory:e.ɵfac})};function kD(e){let t=e?.pages;return t&&typeof t==`object`?t:{}}function AD(e){let t=C(js),n=D({}),r=null,i=null,a=async e=>{i?.(),i=null,r=e;try{let a=await e.scope(`pangular`).rpc.sharedState(`page-angular`);if(t.destroyed||r!==e)return;let o=e=>n.set(kD(e));o(a.value()),i=a.on(`updated`,o)}catch{r===e&&n.set({})}};return vc(()=>{let t=e();t&&t!==r&&Z(()=>void a(t))}),t.onDestroy(()=>i?.()),n.asReadonly()}function jD(e,t){if(t)return e[t]??null;let n=null;for(let t of Object.values(e))(!n||t.reportedAt>n.reportedAt)&&(n=t);return n}var MD=[`*`];function ND(e,t){if(e&1&&(z(0,`div`,1)(1,`p`,2),K(2),B(),z(3,`p`,3),K(4),Yg(5),z(6,`a`,4),K(7,`Supported versions`),B()()()),e&2){let e=W();G(`compact`,e.compact()),O(2),q(e.title()),O(2),J(` `,t,` `),O(2),Fg(`href`,e.docsUrl,Au)}}var PD=`https://pangular-inspector.dev/getting-started/installation/#supported-angular-versions`,FD=class e{page=$(null);capability=$.required();missing=$(!1,{transform:jv});compact=$(!1,{transform:jv});docsUrl=PD;text=X(()=>{let e=this.page();return!this.missing()&&!HT(e,this.capability())?null:UT(this.capability(),e?.version)});title=X(()=>{let e=this.page()?.version;return e?`Not available on Angular ${zT(e)}`:`Not available on this page`});static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-angular-unavailable`]],inputs:{page:[1,`page`],capability:[1,`capability`],missing:[1,`missing`],compact:[1,`compact`]},ngContentSelectors:MD,decls:1,vars:1,consts:[[`role`,`status`,1,`unavailable`,3,`compact`],[`role`,`status`,1,`unavailable`],[1,`title`],[1,`hint`],[`target`,`_blank`,`rel`,`noopener noreferrer`,3,`href`]],template:function(e,t){if(e&1&&(Jg(),j(0,ND,8,5,`div`,0)),e&2){let e;M((e=t.text())?0:-1,e)}},styles:[`[_nghost-%COMP%] { display: block; } @@ -372,7 +372,7 @@ a[_ngcontent-%COMP%] { a[_ngcontent-%COMP%]:focus-visible { outline: 2px solid var(--%NS%accent); outline-offset: 2px; -}`]})};function ID(e){return e?.platform===`angular-native`}function LD(e){return ID(e)||e?.platform===`nativescript`}function RD(e,t){let n=Object.values(e??{}).filter(ID);if(t&&n.some(e=>e.pageId===t))return t;let r=null;for(let e of n)(!r||e.reportedAt>r.reportedAt)&&(r=e);return r?.pageId??null}var zD=[`trigger`],BD=[`list`],VD=(e,t)=>t.value;function HD(e,t){if(e&1&&(z(0,`span`,4),K(1),B()),e&2){let e=W();O(),q(e.current().hint)}}function UD(e,t){if(e&1&&(z(0,`span`,15),K(1),B()),e&2){let e=W().$implicit;O(),q(e.hint)}}function WD(e,t){if(e&1){let e=V();z(0,`li`,11),U(`pointerenter`,function(){let t=w(e).$index;return T(W(2).active.set(t))})(`pointerdown`,function(e){return e.preventDefault()})(`click`,function(){let t=w(e).$index;return T(W(2).choose(t))}),E(),z(1,`svg`,12),kg(2,`path`,13),B(),xs(),z(3,`span`,14),K(4),B(),j(5,UD,2,1,`span`,15),B()}if(e&2){let e=t.$implicit,n=t.$index,r=W(2);G(`active`,n===r.active())(`selected`,e.value===r.value()),A(`id`,r.uid+`-opt-`+n)(`aria-selected`,e.value===r.value())(`aria-disabled`,e.disabled||null),O(4),q(e.label),O(),M(e.hint?5:-1)}}function GD(e,t){if(e&1&&(z(0,`li`,10),K(1),B()),e&2){let e=W(2);O(),q(e.emptyText())}}function KD(e,t){if(e&1&&(z(0,`ul`,8,1),ag(`list-in`),U(`pointerdown`,function(e){return e.preventDefault()}),N(2,WD,6,9,`li`,9,VD,!1,GD,2,1,`li`,10),B()),e&2){let e=W();G(`up`,e.dropUp()),A(`id`,e.uid+`-list`)(`aria-labelledby`,e.labelledBy()||e.uid+`-trigger`),O(2),P(e.options())}}var qD=0,JD=class e{options=$.required();value=wv(null);placeholder=$(`Select…`);ariaLabel=$(``);labelledBy=$(``);describedBy=$(``);disabled=$(!1);emptyText=$(`Nothing to choose`);uid=`app-select-${++qD}`;open=D(!1);active=D(-1);dropUp=D(!1);current=X(()=>this.options().find(e=>e.value===this.value())??null);host=C(Hl);injector=C(ks);trigger=Ev.required(`trigger`);list=Ev(`list`);typed=``;typedAt=0;toggle(){this.open()?this.close():this.show()}choose(e){let t=this.options()[e];t&&!t.disabled&&(this.value.set(t.value),this.close(),this.trigger().nativeElement.focus())}onKey(e){let t=this.options(),n=this.open();switch(e.key){case`ArrowDown`:case`ArrowUp`:if(e.preventDefault(),!n){this.show();return}this.move(e.key===`ArrowDown`?1:-1);return;case`Home`:case`End`:if(!n)return;e.preventDefault(),this.setActive(e.key===`Home`?this.firstEnabled(0,1):this.firstEnabled(t.length-1,-1));return;case`Enter`:case` `:e.preventDefault(),n&&this.active()>=0?this.choose(this.active()):this.show();return;case`Escape`:if(!n)return;e.preventDefault(),e.stopPropagation(),this.close();return;case`Tab`:n&&this.close();return;default:e.key.length===1&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&this.typeAhead(e.key)}}onBlur(e){let t=e.relatedTarget;t&&this.host.nativeElement.contains(t)||this.close()}onOutside(e){this.open()&&!this.host.nativeElement.contains(e.target)&&this.close()}show(){if(this.disabled())return;let e=this.host.nativeElement.getBoundingClientRect(),t=window.innerHeight-e.bottom;this.dropUp.set(t<220&&e.top>t);let n=this.options().findIndex(e=>e.value===this.value());this.open.set(!0),this.setActive(n>=0?n:this.firstEnabled(0,1))}close(){this.open.set(!1),this.active.set(-1)}move(e){let t=this.firstEnabled(this.active()+e,e);t>=0&&this.setActive(t)}firstEnabled(e,t){let n=this.options();for(let r=e;r>=0&&r{(this.list()?.nativeElement.querySelector(`#${this.uid}-opt-${e}`))?.scrollIntoView({block:`nearest`})},{injector:this.injector})}typeAhead(e){let t=performance.now();this.typed=t-this.typedAt>600?e.toLowerCase():this.typed+e.toLowerCase(),this.typedAt=t;let n=this.options().findIndex(e=>!e.disabled&&e.label.toLowerCase().startsWith(this.typed));n<0||(this.open()?this.setActive(n):this.value.set(this.options()[n].value))}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-select`]],viewQuery:function(e,t){e&1&&Zg(t.trigger,zD,5)(t.list,BD,5),e&2&&Qg(2)},hostAttrs:[1,`app-select`],hostVars:2,hostBindings:function(e,t){e&1&&H(`pointerdown`,function(e){return t.onOutside(e)},Mu),e&2&&G(`open`,t.open())},inputs:{options:[1,`options`],value:[1,`value`],placeholder:[1,`placeholder`],ariaLabel:[1,`ariaLabel`],labelledBy:[1,`labelledBy`],describedBy:[1,`describedBy`],disabled:[1,`disabled`],emptyText:[1,`emptyText`]},outputs:{value:`valueChange`},decls:8,vars:13,consts:[[`trigger`,``],[`list`,``],[`type`,`button`,`role`,`combobox`,`aria-haspopup`,`listbox`,1,`trigger`,3,`click`,`keydown`,`blur`,`disabled`],[1,`value`],[1,`value-hint`],[`viewBox`,`0 0 24 24`,`aria-hidden`,`true`,1,`chevron`],[`d`,`m6 9 6 6 6-6`],[`role`,`listbox`,`tabindex`,`-1`,1,`list`,3,`up`],[`role`,`listbox`,`tabindex`,`-1`,1,`list`,3,`pointerdown`],[`role`,`option`,3,`active`,`selected`],[`role`,`option`,`aria-disabled`,`true`,1,`empty`],[`role`,`option`,3,`pointerenter`,`pointerdown`,`click`],[`viewBox`,`0 0 24 24`,`aria-hidden`,`true`,1,`check`],[`d`,`m5 12 5 5 9-10`],[1,`label`],[1,`hint`]],template:function(e,t){e&1&&(z(0,`button`,2,0),U(`click`,function(){return t.toggle()})(`keydown`,function(e){return t.onKey(e)})(`blur`,function(e){return t.onBlur(e)}),z(2,`span`,3),K(3),B(),j(4,HD,2,1,`span`,4),E(),z(5,`svg`,5),kg(6,`path`,6),B()(),j(7,KD,5,5,`ul`,7)),e&2&&(Fg(`disabled`,t.disabled()),A(`id`,t.uid+`-trigger`)(`aria-controls`,t.uid+`-list`)(`aria-expanded`,t.open())(`aria-label`,t.ariaLabel()||null)(`aria-labelledby`,t.labelledBy()||null)(`aria-describedby`,t.describedBy()||null)(`aria-activedescendant`,t.open()&&t.active()>=0?t.uid+`-opt-`+t.active():null),O(2),G(`placeholder`,!t.current()),O(),J(` `,t.current()?.label??t.placeholder(),` `),O(),M(t.current()?.hint?4:-1),O(3),M(t.open()?7:-1))},styles:[`[_nghost-%COMP%] { +}`]})};function ID(e){return e?.platform===`angular-native`}function LD(e){return ID(e)||e?.platform===`nativescript`}function RD(e,t){let n=Object.values(e??{}).filter(ID);if(t&&n.some(e=>e.pageId===t))return t;let r=null;for(let e of n)(!r||e.reportedAt>r.reportedAt)&&(r=e);return r?.pageId??null}var zD=[`trigger`],BD=[`list`],VD=(e,t)=>t.value;function HD(e,t){if(e&1&&(z(0,`span`,4),K(1),B()),e&2){let e=W();O(),q(e.current().hint)}}function UD(e,t){if(e&1&&(z(0,`span`,15),K(1),B()),e&2){let e=W().$implicit;O(),q(e.hint)}}function WD(e,t){if(e&1){let e=V();z(0,`li`,11),U(`pointerenter`,function(){let t=w(e).$index;return T(W(2).active.set(t))})(`pointerdown`,function(e){return e.preventDefault()})(`click`,function(){let t=w(e).$index;return T(W(2).choose(t))}),E(),z(1,`svg`,12),kg(2,`path`,13),B(),xs(),z(3,`span`,14),K(4),B(),j(5,UD,2,1,`span`,15),B()}if(e&2){let e=t.$implicit,n=t.$index,r=W(2);G(`active`,n===r.active())(`selected`,e.value===r.value()),A(`id`,r.uid+`-opt-`+n)(`aria-selected`,e.value===r.value())(`aria-disabled`,e.disabled||null),O(4),q(e.label),O(),M(e.hint?5:-1)}}function GD(e,t){if(e&1&&(z(0,`li`,10),K(1),B()),e&2){let e=W(2);O(),q(e.emptyText())}}function KD(e,t){if(e&1&&(z(0,`ul`,8,1),ag(`list-in`),U(`pointerdown`,function(e){return e.preventDefault()}),N(2,WD,6,9,`li`,9,VD,!1,GD,2,1,`li`,10),B()),e&2){let e=W();G(`up`,e.dropUp()),A(`id`,e.uid+`-list`)(`aria-labelledby`,e.labelledBy()||e.uid+`-trigger`),O(2),P(e.options())}}var qD=0,JD=class e{options=$.required();value=Tv(null);placeholder=$(`Select…`);ariaLabel=$(``);labelledBy=$(``);describedBy=$(``);disabled=$(!1);emptyText=$(`Nothing to choose`);uid=`app-select-${++qD}`;open=D(!1);active=D(-1);dropUp=D(!1);current=X(()=>this.options().find(e=>e.value===this.value())??null);host=C(Hl);injector=C(ks);trigger=Dv.required(`trigger`);list=Dv(`list`);typed=``;typedAt=0;toggle(){this.open()?this.close():this.show()}choose(e){let t=this.options()[e];t&&!t.disabled&&(this.value.set(t.value),this.close(),this.trigger().nativeElement.focus())}onKey(e){let t=this.options(),n=this.open();switch(e.key){case`ArrowDown`:case`ArrowUp`:if(e.preventDefault(),!n){this.show();return}this.move(e.key===`ArrowDown`?1:-1);return;case`Home`:case`End`:if(!n)return;e.preventDefault(),this.setActive(e.key===`Home`?this.firstEnabled(0,1):this.firstEnabled(t.length-1,-1));return;case`Enter`:case` `:e.preventDefault(),n&&this.active()>=0?this.choose(this.active()):this.show();return;case`Escape`:if(!n)return;e.preventDefault(),e.stopPropagation(),this.close();return;case`Tab`:n&&this.close();return;default:e.key.length===1&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&this.typeAhead(e.key)}}onBlur(e){let t=e.relatedTarget;t&&this.host.nativeElement.contains(t)||this.close()}onOutside(e){this.open()&&!this.host.nativeElement.contains(e.target)&&this.close()}show(){if(this.disabled())return;let e=this.host.nativeElement.getBoundingClientRect(),t=window.innerHeight-e.bottom;this.dropUp.set(t<220&&e.top>t);let n=this.options().findIndex(e=>e.value===this.value());this.open.set(!0),this.setActive(n>=0?n:this.firstEnabled(0,1))}close(){this.open.set(!1),this.active.set(-1)}move(e){let t=this.firstEnabled(this.active()+e,e);t>=0&&this.setActive(t)}firstEnabled(e,t){let n=this.options();for(let r=e;r>=0&&r{(this.list()?.nativeElement.querySelector(`#${this.uid}-opt-${e}`))?.scrollIntoView({block:`nearest`})},{injector:this.injector})}typeAhead(e){let t=performance.now();this.typed=t-this.typedAt>600?e.toLowerCase():this.typed+e.toLowerCase(),this.typedAt=t;let n=this.options().findIndex(e=>!e.disabled&&e.label.toLowerCase().startsWith(this.typed));n<0||(this.open()?this.setActive(n):this.value.set(this.options()[n].value))}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-select`]],viewQuery:function(e,t){e&1&&Zg(t.trigger,zD,5)(t.list,BD,5),e&2&&Qg(2)},hostAttrs:[1,`app-select`],hostVars:2,hostBindings:function(e,t){e&1&&H(`pointerdown`,function(e){return t.onOutside(e)},Mu),e&2&&G(`open`,t.open())},inputs:{options:[1,`options`],value:[1,`value`],placeholder:[1,`placeholder`],ariaLabel:[1,`ariaLabel`],labelledBy:[1,`labelledBy`],describedBy:[1,`describedBy`],disabled:[1,`disabled`],emptyText:[1,`emptyText`]},outputs:{value:`valueChange`},decls:8,vars:13,consts:[[`trigger`,``],[`list`,``],[`type`,`button`,`role`,`combobox`,`aria-haspopup`,`listbox`,1,`trigger`,3,`click`,`keydown`,`blur`,`disabled`],[1,`value`],[1,`value-hint`],[`viewBox`,`0 0 24 24`,`aria-hidden`,`true`,1,`chevron`],[`d`,`m6 9 6 6 6-6`],[`role`,`listbox`,`tabindex`,`-1`,1,`list`,3,`up`],[`role`,`listbox`,`tabindex`,`-1`,1,`list`,3,`pointerdown`],[`role`,`option`,3,`active`,`selected`],[`role`,`option`,`aria-disabled`,`true`,1,`empty`],[`role`,`option`,3,`pointerenter`,`pointerdown`,`click`],[`viewBox`,`0 0 24 24`,`aria-hidden`,`true`,1,`check`],[`d`,`m5 12 5 5 9-10`],[1,`label`],[1,`hint`]],template:function(e,t){e&1&&(z(0,`button`,2,0),U(`click`,function(){return t.toggle()})(`keydown`,function(e){return t.onKey(e)})(`blur`,function(e){return t.onBlur(e)}),z(2,`span`,3),K(3),B(),j(4,HD,2,1,`span`,4),E(),z(5,`svg`,5),kg(6,`path`,6),B()(),j(7,KD,5,5,`ul`,7)),e&2&&(Fg(`disabled`,t.disabled()),A(`id`,t.uid+`-trigger`)(`aria-controls`,t.uid+`-list`)(`aria-expanded`,t.open())(`aria-label`,t.ariaLabel()||null)(`aria-labelledby`,t.labelledBy()||null)(`aria-describedby`,t.describedBy()||null)(`aria-activedescendant`,t.open()&&t.active()>=0?t.uid+`-opt-`+t.active():null),O(2),G(`placeholder`,!t.current()),O(),J(` `,t.current()?.label??t.placeholder(),` `),O(),M(t.current()?.hint?4:-1),O(3),M(t.open()?7:-1))},styles:[`[_nghost-%COMP%] { position: relative; display: inline-flex; min-width: 0; @@ -567,7 +567,7 @@ li.selected[_ngcontent-%COMP%] .check[_ngcontent-%COMP%] { .chevron[_ngcontent-%COMP%] { transition: none; } -}`]})};function YD(e,t){let n=FT(t);if(IT(n))return{nodes:e,matches:0};let r=0,i=e=>e.flatMap(e=>{let t=LT(e,n);t&&r++;let a=i(e.children);return t||a.length?[{...e,children:a}]:[]});return{nodes:i(e),matches:r}}function XD(e){return e.flatMap(e=>e.kind===`directive`?XD(e.children):[{...e,children:XD(e.children)}])}function ZD(e){return(e.attributes?.length?e.attributes:e.directives??[e.name]).map(e=>`[${e}]`).join(` `)}var QD={hydrated:`Hydrated`,skipped:`Skipped`,mismatched:`Mismatch`,client:`Client`};function $D(e){return QD[e]}function eO(e,t,n,r=!1,i=0){let a=r?`${e}+`:`${e}`;if(n)return`${t} of ${r?`${e+i}+`:e+i}`;let o=i?` · ${i} directive ${i===1?`host`:`hosts`}`:``;return`${a} ${e===1&&!r?`instance`:`instances`}${o}`}function tO(e,t,n,r=!1,i=0){if(!n.trim())return``;if(!t)return`No components match.`;let a=e+i,o=r?`${a}+`:`${a}`,s=!r&&a===1;return`${t} of ${o} ${i?s?`row`:`rows`:s?`instance`:`instances`} match.`}function nO(e){let t=e?.components,n=e?.depth;return t&&n?`Showing the first ${t} component instances, and none nested more than ${n} elements deep. Others are not listed or searchable.`:t?`Showing the first ${t} component instances. Others are not listed or searchable.`:n?`Components nested more than ${n} elements deep are not listed or searchable.`:`The page has more components than the tree shows.`}function rO(e,t){let n=t?.detail?.id??null,r=t?.pageId??null;if(r!==e.pageId)return{pageId:r,selectedId:n,detailId:n,destroyed:null};let i=e.selectedId;return n&&n!==e.detailId&&n!==i&&(i=n),i&&t&&!t.truncated&&!iO(t.roots,i)?{pageId:r,selectedId:null,detailId:n,destroyed:i}:{pageId:r,selectedId:i,detailId:n,destroyed:null}}function iO(e,t){return e.some(e=>e.id===t||iO(e.children,t))}function aO(e,t,n){let r=e.indexOf(n);if(r<0)return null;for(let n=r+1;n=0;n--)if(t.has(e[n]))return e[n];return null}var oO=(e,t)=>t.key,sO=(e,t)=>t.id;function cO(e,t){e&1&&(z(0,`p`,2),K(1,` The HTML came from the server, but no component was hydrated, so the app rendered again on the client. Add `),z(2,`code`),K(3,`provideClientHydration()`),B(),K(4,` and use a development build to see each component's status. `),B())}function lO(e,t){if(e&1&&(z(0,`li`)(1,`span`,9),K(2),B(),K(3),B()),e&2){let e=t.$implicit;x_(`count count-`+e.key),O(2),q(e.value),O(),J(` `,e.label,` `)}}function uO(e,t){if(e&1&&(z(0,`span`,15),K(1,`Expected `),z(2,`code`),K(3),B()()),e&2){let e=W().$implicit;O(3),q(e.expected)}}function dO(e,t){if(e&1&&(z(0,`span`,15),K(1,`Found `),z(2,`code`),K(3),B()()),e&2){let e=W().$implicit;O(3),q(e.actual)}}function fO(e,t){if(e&1){let e=V();z(0,`li`)(1,`button`,12),U(`click`,function(){let t=w(e).$implicit;return T(W(4).showNode.emit(t.id))})(`focus`,function(){let t=w(e).$implicit;return T(W(4).highlight.emit(t.id))})(`blur`,function(){return w(e),T(W(4).highlight.emit(null))})(`mouseenter`,function(){let t=w(e).$implicit;return T(W(4).highlight.emit(t.id))})(`mouseleave`,function(){return w(e),T(W(4).highlight.emit(null))}),z(2,`span`,13),K(3),B(),z(4,`span`,14),K(5),B(),j(6,uO,4,1,`span`,15),j(7,dO,4,1,`span`,15),B()()}if(e&2){let e=t.$implicit;O(3),q(e.name),O(2),J(`<`,e.tag,`>`),O(),M(e.expected?6:-1),O(),M(e.actual?7:-1)}}function pO(e,t){if(e&1&&(z(0,`h3`,10),K(1,`Mismatches`),B(),z(2,`ul`,11),N(3,fO,8,4,`li`,null,sO),B()),e&2){let e=W(2);O(3),P(e.mismatches)}}function mO(e,t){if(e&1){let e=V();z(0,`div`,3)(1,`ul`,4),N(2,lO,4,4,`li`,5,oO),B(),z(4,`button`,6),U(`click`,function(){return w(e),T(W(2).toggleOverlay())}),E(),z(5,`svg`,7),kg(6,`rect`,8),B(),K(7,` Outline on page `),B()(),j(8,pO,5,0)}if(e&2){let e=W(),t=W();O(2),P(t.counts()),O(2),A(`aria-pressed`,t.overlayOn()),O(4),M(e.mismatches.length?8:-1)}}function hO(e,t){e&1&&j(0,cO,5,0,`p`,2)(1,mO,9,2),e&2&&M(+!!t.hydrated)}function gO(e,t){e&1&&(z(0,`p`,2),K(1,` This page was not rendered on the server, so there is nothing to hydrate. With server-side rendering and `),z(2,`code`),K(3,`provideClientHydration()`),B(),K(4,`, each component shows whether it was hydrated, skipped or mismatched. `),B())}var _O=class e{report=$(void 0);overlay=yv();showNode=yv();highlight=yv();overlayOn=Q(()=>this.report()?.overlay===!0);counts=X(()=>{let e=this.report()?.counts;return e?[{key:`hydrated`,label:`hydrated`,value:e.hydrated},{key:`skipped`,label:`skipped`,value:e.skipped},{key:`mismatched`,label:`mismatched`,value:e.mismatched},{key:`client`,label:`created on the client`,value:e.client},{key:`dehydratedBlocks`,label:e.dehydratedBlocks===1?`dehydrated @defer block`:`dehydrated @defer blocks`,value:e.dehydratedBlocks}]:[]});toggleOverlay(){let e=!this.overlayOn();this.overlayOn.set(e),this.overlay.emit(e)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-hydration-section`]],inputs:{report:[1,`report`]},outputs:{overlay:`overlay`,showNode:`showNode`,highlight:`highlight`},decls:5,vars:1,consts:[[`aria-labelledby`,`ct-hydration-title`,1,`hydration`],[`id`,`ct-hydration-title`,1,`title`],[1,`empty`],[1,`summary`],[`aria-label`,`Hydration summary`,1,`counts`],[3,`class`],[`type`,`button`,1,`outline`,3,`click`],[`viewBox`,`0 0 24 24`,`aria-hidden`,`true`],[`x`,`3`,`y`,`3`,`width`,`18`,`height`,`18`,`rx`,`2`,`stroke-dasharray`,`4 3`],[1,`num`],[1,`label`],[1,`mismatches`],[`type`,`button`,1,`mismatch`,3,`click`,`focus`,`blur`,`mouseenter`,`mouseleave`],[1,`name`,`mono`],[1,`mono`,`muted`],[1,`detail-line`]],template:function(e,t){if(e&1&&(z(0,`section`,0)(1,`h2`,1),K(2,`Hydration`),B(),j(3,hO,2,1)(4,gO,5,0,`p`,2),B()),e&2){let e;O(3),M((e=t.report())?3:4,e)}},styles:[`.hydration[_ngcontent-%COMP%] { +}`]})};function YD(e,t){let n=FT(t);if(IT(n))return{nodes:e,matches:0};let r=0,i=e=>e.flatMap(e=>{let t=LT(e,n);t&&r++;let a=i(e.children);return t||a.length?[{...e,children:a}]:[]});return{nodes:i(e),matches:r}}function XD(e){return e.flatMap(e=>e.kind===`directive`?XD(e.children):[{...e,children:XD(e.children)}])}function ZD(e){return(e.attributes?.length?e.attributes:e.directives??[e.name]).map(e=>`[${e}]`).join(` `)}var QD={hydrated:`Hydrated`,skipped:`Skipped`,mismatched:`Mismatch`,client:`Client`};function $D(e){return QD[e]}function eO(e,t,n,r=!1,i=0){let a=r?`${e}+`:`${e}`;if(n)return`${t} of ${r?`${e+i}+`:e+i}`;let o=i?` · ${i} directive ${i===1?`host`:`hosts`}`:``;return`${a} ${e===1&&!r?`instance`:`instances`}${o}`}function tO(e,t,n,r=!1,i=0){if(!n.trim())return``;if(!t)return`No components match.`;let a=e+i,o=r?`${a}+`:`${a}`,s=!r&&a===1;return`${t} of ${o} ${i?s?`row`:`rows`:s?`instance`:`instances`} match.`}function nO(e){let t=e?.components,n=e?.depth;return t&&n?`Showing the first ${t} component instances, and none nested more than ${n} elements deep. Others are not listed or searchable.`:t?`Showing the first ${t} component instances. Others are not listed or searchable.`:n?`Components nested more than ${n} elements deep are not listed or searchable.`:`The page has more components than the tree shows.`}function rO(e,t){let n=t?.detail?.id??null,r=t?.pageId??null;if(r!==e.pageId)return{pageId:r,selectedId:n,detailId:n,destroyed:null};let i=e.selectedId;return n&&n!==e.detailId&&n!==i&&(i=n),i&&t&&!t.truncated&&!iO(t.roots,i)?{pageId:r,selectedId:null,detailId:n,destroyed:i}:{pageId:r,selectedId:i,detailId:n,destroyed:null}}function iO(e,t){return e.some(e=>e.id===t||iO(e.children,t))}function aO(e,t,n){let r=e.indexOf(n);if(r<0)return null;for(let n=r+1;n=0;n--)if(t.has(e[n]))return e[n];return null}var oO=(e,t)=>t.key,sO=(e,t)=>t.id;function cO(e,t){e&1&&(z(0,`p`,2),K(1,` The HTML came from the server, but no component was hydrated, so the app rendered again on the client. Add `),z(2,`code`),K(3,`provideClientHydration()`),B(),K(4,` and use a development build to see each component's status. `),B())}function lO(e,t){if(e&1&&(z(0,`li`)(1,`span`,9),K(2),B(),K(3),B()),e&2){let e=t.$implicit;x_(`count count-`+e.key),O(2),q(e.value),O(),J(` `,e.label,` `)}}function uO(e,t){if(e&1&&(z(0,`span`,15),K(1,`Expected `),z(2,`code`),K(3),B()()),e&2){let e=W().$implicit;O(3),q(e.expected)}}function dO(e,t){if(e&1&&(z(0,`span`,15),K(1,`Found `),z(2,`code`),K(3),B()()),e&2){let e=W().$implicit;O(3),q(e.actual)}}function fO(e,t){if(e&1){let e=V();z(0,`li`)(1,`button`,12),U(`click`,function(){let t=w(e).$implicit;return T(W(4).showNode.emit(t.id))})(`focus`,function(){let t=w(e).$implicit;return T(W(4).highlight.emit(t.id))})(`blur`,function(){return w(e),T(W(4).highlight.emit(null))})(`mouseenter`,function(){let t=w(e).$implicit;return T(W(4).highlight.emit(t.id))})(`mouseleave`,function(){return w(e),T(W(4).highlight.emit(null))}),z(2,`span`,13),K(3),B(),z(4,`span`,14),K(5),B(),j(6,uO,4,1,`span`,15),j(7,dO,4,1,`span`,15),B()()}if(e&2){let e=t.$implicit;O(3),q(e.name),O(2),J(`<`,e.tag,`>`),O(),M(e.expected?6:-1),O(),M(e.actual?7:-1)}}function pO(e,t){if(e&1&&(z(0,`h3`,10),K(1,`Mismatches`),B(),z(2,`ul`,11),N(3,fO,8,4,`li`,null,sO),B()),e&2){let e=W(2);O(3),P(e.mismatches)}}function mO(e,t){if(e&1){let e=V();z(0,`div`,3)(1,`ul`,4),N(2,lO,4,4,`li`,5,oO),B(),z(4,`button`,6),U(`click`,function(){return w(e),T(W(2).toggleOverlay())}),E(),z(5,`svg`,7),kg(6,`rect`,8),B(),K(7,` Outline on page `),B()(),j(8,pO,5,0)}if(e&2){let e=W(),t=W();O(2),P(t.counts()),O(2),A(`aria-pressed`,t.overlayOn()),O(4),M(e.mismatches.length?8:-1)}}function hO(e,t){e&1&&j(0,cO,5,0,`p`,2)(1,mO,9,2),e&2&&M(+!!t.hydrated)}function gO(e,t){e&1&&(z(0,`p`,2),K(1,` This page was not rendered on the server, so there is nothing to hydrate. With server-side rendering and `),z(2,`code`),K(3,`provideClientHydration()`),B(),K(4,`, each component shows whether it was hydrated, skipped or mismatched. `),B())}var _O=class e{report=$(void 0);overlay=bv();showNode=bv();highlight=bv();overlayOn=Q(()=>this.report()?.overlay===!0);counts=X(()=>{let e=this.report()?.counts;return e?[{key:`hydrated`,label:`hydrated`,value:e.hydrated},{key:`skipped`,label:`skipped`,value:e.skipped},{key:`mismatched`,label:`mismatched`,value:e.mismatched},{key:`client`,label:`created on the client`,value:e.client},{key:`dehydratedBlocks`,label:e.dehydratedBlocks===1?`dehydrated @defer block`:`dehydrated @defer blocks`,value:e.dehydratedBlocks}]:[]});toggleOverlay(){let e=!this.overlayOn();this.overlayOn.set(e),this.overlay.emit(e)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-hydration-section`]],inputs:{report:[1,`report`]},outputs:{overlay:`overlay`,showNode:`showNode`,highlight:`highlight`},decls:5,vars:1,consts:[[`aria-labelledby`,`ct-hydration-title`,1,`hydration`],[`id`,`ct-hydration-title`,1,`title`],[1,`empty`],[1,`summary`],[`aria-label`,`Hydration summary`,1,`counts`],[3,`class`],[`type`,`button`,1,`outline`,3,`click`],[`viewBox`,`0 0 24 24`,`aria-hidden`,`true`],[`x`,`3`,`y`,`3`,`width`,`18`,`height`,`18`,`rx`,`2`,`stroke-dasharray`,`4 3`],[1,`num`],[1,`label`],[1,`mismatches`],[`type`,`button`,1,`mismatch`,3,`click`,`focus`,`blur`,`mouseenter`,`mouseleave`],[1,`name`,`mono`],[1,`mono`,`muted`],[1,`detail-line`]],template:function(e,t){if(e&1&&(z(0,`section`,0)(1,`h2`,1),K(2,`Hydration`),B(),j(3,hO,2,1)(4,gO,5,0,`p`,2),B()),e&2){let e;O(3),M((e=t.report())?3:4,e)}},styles:[`.hydration[_ngcontent-%COMP%] { margin-top: 16px; } @@ -738,7 +738,7 @@ svg[_ngcontent-%COMP%] { button[_ngcontent-%COMP%] { transition: none; } -}`]})};function vO(e){return new Date(e).toLocaleTimeString()}var yO=/[ \t\n\r]/;function bO(e){let t=e.trim(),n;try{n=JSON.parse(t)}catch{return null}if(typeof n!=`object`||!n)return null;let r=``,i=0,a=()=>`\n${` `.repeat(i)}`;for(let e=0;e0?0:-1)},styles:[`[_nghost-%COMP%] { +}`]})};function vO(e){return new Date(e).toLocaleTimeString()}var yO=/[ \t\n\r]/;function bO(e){let t=e.trim(),n;try{n=JSON.parse(t)}catch{return null}if(typeof n!=`object`||!n)return null;let r=``,i=0,a=()=>`\n${` `.repeat(i)}`;for(let e=0;e0?0:-1)},styles:[`[_nghost-%COMP%] { display: block; } @@ -844,7 +844,7 @@ td.mono[_ngcontent-%COMP%] { .hints[_ngcontent-%COMP%] li[_ngcontent-%COMP%] + li[_ngcontent-%COMP%] { margin-top: 4px; -}`]})},Xk=(e,t)=>t.cycle.id,Zk=(e,t)=>t.id;function Qk(e,t){if(e&1){let e=V();z(0,`button`,27),U(`click`,function(){return w(e),T(W().showAll())}),K(1,`Show all cycles`),B()}}function $k(e,t){if(e&1&&kg(0,`div`,28),e&2){let e=t;b_(`left`,e.left,`%`)(`width`,e.width,`%`)}}function eA(e,t){if(e&1&&(z(0,`div`,29),kg(1,`span`,30),B()),e&2){let e=t.$implicit,n=W();G(`over`,e.over)(`out`,!n.inRange(e.index)&&!!n.range())(`active`,n.focused()&&n.active()===e.index),Fg(`id`,n.optionId(e.index)),A(`data-index`,e.index)(`aria-selected`,n.inRange(e.index))(`aria-label`,e.label),O(),b_(`height`,e.height,`%`)}}function tA(e,t){e&1&&(z(0,`span`,33),K(1,`over budget`),B())}function nA(e,t){if(e&1&&(z(0,`p`),K(1,` after `),z(2,`span`,35),K(3),B()()),e&2){let e=W();O(3),q(e.cycle.trigger)}}function rA(e,t){if(e&1&&(z(0,`p`,34)(1,`span`,36),K(2),B(),z(3,`span`),K(4),B()()),e&2){let e=t.$implicit,n=W(2);O(2),q(e.name),O(2),q(n.fmt(e.ms))}}function iA(e,t){if(e&1&&(z(0,`div`,31)(1,`p`,32)(2,`strong`),K(3),B(),z(4,`span`),K(5),B(),j(6,tA,2,0,`span`,33),B(),j(7,nA,4,1,`p`),z(8,`p`),K(9),B(),N(10,rA,5,2,`p`,34,_g),B()),e&2){let e=t,n=W();b_(`left`,e.left)(`right`,e.right),O(3),q(n.fmt(e.cycle.ms)),O(2),J(`cycle `,e.cycle.id),O(),M(e.over?6:-1),O(),M(e.cycle.trigger?7:-1),O(2),z_(` `,e.cycle.checks,` `,e.cycle.checks===1?`check`:`checks`,`, `,e.cycle.passes,` `,e.cycle.passes===1?`pass`:`passes`,` `),O(),P(e.top)}}function aA(e,t){if(e&1&&kg(0,`span`),e&2){let e=t.$implicit;G(`over`,e.over)}}function oA(e,t){if(e&1&&K(0),e&2){let e=t,n=W(2);Y(` `,e.name,` (`,n.fmt(e.ms),`) `)}}function sA(e,t){if(e&1&&(z(0,`tr`)(1,`td`,37),K(2),B(),z(3,`td`,37),K(4),B(),z(5,`td`),K(6),B(),z(7,`td`,37),K(8),B(),z(9,`td`,37),K(10),B(),z(11,`td`,35),K(12),B(),z(13,`td`,35),j(14,oA,1,2),B()()),e&2){let e,n=t.$implicit,r=W();O(2),q(n.id),O(2),q(r.fmt(n.ms)),O(2),q(r.isOver(n)?`Over`:`Within`),O(2),q(n.checks),O(2),q(n.passes),O(2),q(n.trigger??``),O(2),M((e=n.components[0])?14:-1,e)}}var cA=0,lA=80,uA=10,dA=class e{cycles=$([]);range=wv(null);gapUntil=lA;budgetLabel=`${vk} ms budget`;uid=`cd-chart-${cA++}`;hintId=`${this.uid}-hint`;active=D(null);anchor=null;dragging=!1;hover=D(null);focused=D(!1);max=X(()=>Ck(this.cycles()));budgetAt=X(()=>vk/this.max()*100);bars=X(()=>{let e=this.max();return this.cycles().map((t,n)=>({cycle:t,index:n,height:t.ms/e*100,over:yk(t),label:this.describe(t)}))});firstId=X(()=>this.cycles()[0]?.id??0);lastId=X(()=>this.cycles().at(-1)?.id??0);span=X(()=>{let e=this.range();if(!e)return null;let t=this.cycles(),n=Math.min(e.from,e.to),r=Math.max(e.from,e.to),i=t.findIndex(e=>e.id>=n),a=-1;for(let e=t.length-1;e>=0;e--)if(t[e].id<=r){a=e;break}return i<0||axk(this.cycles(),this.range()));startId=X(()=>this.selected()[0]?.id??``);endId=X(()=>this.selected().at(-1)?.id??``);band=X(()=>{let e=this.span(),t=this.cycles().length;return!e||!t?null:{left:e.start/t*100,width:(e.end-e.start+1)/t*100}});summary=X(()=>{let e=this.selected(),t=e.filter(yk).length;return`${this.span()?e.length===1?`Cycle ${e[0].id}`:`Cycles ${e[0].id} to ${e.at(-1).id} (${e.length})`:`All ${e.length} ${e.length===1?`cycle`:`cycles`}`}. ${t} over the ${vk} ms budget.`});tableLabel=X(()=>this.span()?`Picked cycles, ${this.summary()}`:`All recorded cycles`);activeOptionId=X(()=>{let e=this.active();return this.focused()&&e!==null&&e{let e=this.hover()??(this.focused()?this.active():null),t=e===null?void 0:this.cycles()[e];return!t||e===null?null:{cycle:t,over:yk(t),top:t.components.slice(0,3),...this.tipSide(e)}});tipSide(e){let t=this.cycles().length;return e+.5=t.start&&e<=t.end}describe(e){let t=[`Cycle ${e.id}`,bk(e.ms)];yk(e)&&t.push(`over budget`),e.trigger&&t.push(`after ${e.trigger}`),t.push(`${e.checks} ${e.checks===1?`check`:`checks`}`);let n=e.components[0];return n&&t.push(`slowest ${n.name} ${bk(n.ms)}`),t.join(`, `)}select(e,t){let n=this.cycles(),r=n[Math.min(e,t)],i=n[Math.max(e,t)];r&&i&&this.range.set({from:r.id,to:i.id})}showAll(){this.range.set(null),this.anchor=null}setEnd(e,t){if(!this.cycles().length)return;let n=t.target,r=Number.parseInt(n.value,10);if(Number.isNaN(r)){n.value=String(e===`from`?this.startId():this.endId());return}let i=Math.min(Math.max(r,this.firstId()),this.lastId()),a=this.selected(),o=e===`from`?i:a[0]?.id??this.firstId(),s=e===`to`?i:a.at(-1)?.id??this.lastId();this.range.set({from:Math.min(o,s),to:Math.max(o,s)}),n.value=String(e===`from`?Math.min(o,s):Math.max(o,s))}onFocus(){this.focused.set(!0),(this.active()===null||this.active()>=this.cycles().length)&&this.active.set(this.span()?.start??Math.max(this.cycles().length-1,0)),this.anchor??=this.active()}onKey(e){let t=this.cycles().length;if(!t)return;let n=Math.min(this.active()??t-1,t-1),r=null;switch(e.key){case`ArrowRight`:case`ArrowDown`:r=n+1;break;case`ArrowLeft`:case`ArrowUp`:r=n-1;break;case`PageDown`:r=n+uA;break;case`PageUp`:r=n-uA;break;case`Home`:r=0;break;case`End`:r=t-1;break;case`Enter`:case` `:e.preventDefault(),this.anchor=n,this.select(n,n);return;case`Escape`:this.range()&&(e.preventDefault(),this.showAll());return;default:return}e.preventDefault(),r=Math.min(Math.max(r,0),t-1),this.active.set(r),this.hover.set(null),e.shiftKey?(this.anchor??=n,this.select(this.anchor,r)):this.anchor=r}indexAt(e){let t=e.target?.closest?.(`[data-index]`);if(t)return Number(t.getAttribute(`data-index`));let n=e.currentTarget?.getBoundingClientRect(),r=this.cycles().length;if(!n?.width||!r)return null;let i=(e.clientX-n.left)/n.width;return Math.min(Math.max(Math.floor(i*r),0),r-1)}startDrag(e){if(e.button!==0)return;let t=this.indexAt(e);t!==null&&(this.dragging=!0,this.anchor=t,this.active.set(t),this.select(t,t))}onPointerMove(e){let t=this.indexAt(e);this.hover.set(t),this.dragging&&t!==null&&this.anchor!==null&&(this.active.set(t),this.select(this.anchor,t))}endDrag(){this.dragging=!1}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-cycle-chart`]],hostBindings:function(e,t){e&1&&H(`pointerup`,function(){return t.endDrag()},ju)(`pointercancel`,function(){return t.endDrag()},ju)},inputs:{cycles:[1,`cycles`],range:[1,`range`]},outputs:{range:`rangeChange`},decls:69,vars:25,consts:[[1,`range`],[`type`,`number`,`inputmode`,`numeric`,3,`change`,`min`,`max`,`value`],[`type`,`button`],[1,`summary`],[1,`hint`,3,`id`],[1,`plot`],[`aria-hidden`,`true`,1,`axis`],[1,`tick`,`top`],[1,`tick`,`zero`],[1,`area`],[`aria-hidden`,`true`,1,`band`,3,`left`,`width`],[`aria-hidden`,`true`,1,`budget`],[`role`,`listbox`,`aria-multiselectable`,`true`,`aria-orientation`,`horizontal`,`tabindex`,`0`,1,`bars`,3,`keydown`,`focus`,`blur`,`pointerdown`,`pointermove`,`pointerleave`],[`role`,`option`,1,`col`,3,`id`,`over`,`out`,`active`],[`aria-hidden`,`true`,1,`tip`,3,`left`,`right`],[`aria-hidden`,`true`,1,`markers`],[3,`over`],[`aria-label`,`Chart key`,1,`legend`],[`aria-hidden`,`true`,1,`key`,`ok`],[`aria-hidden`,`true`,1,`key`,`over`],[`aria-hidden`,`true`,1,`key-marker`],[`aria-hidden`,`true`,1,`key`,`line`],[1,`table`],[`tabindex`,`0`,`role`,`region`,1,`table-wrap`],[1,`sr-only`],[`scope`,`col`,1,`num`],[`scope`,`col`],[`type`,`button`,3,`click`],[`aria-hidden`,`true`,1,`band`],[`role`,`option`,1,`col`,3,`id`],[1,`bar`],[`aria-hidden`,`true`,1,`tip`],[1,`tip-head`],[1,`flag`],[1,`tip-row`],[1,`mono`],[1,`mono`,`name`],[1,`num`]],template:function(e,t){if(e&1&&(z(0,`div`,0)(1,`label`)(2,`span`),K(3,`Start`),B(),z(4,`input`,1),U(`change`,function(e){return t.setEnd(`from`,e)}),B()(),z(5,`label`)(6,`span`),K(7,`End`),B(),z(8,`input`,1),U(`change`,function(e){return t.setEnd(`to`,e)}),B()(),j(9,Qk,2,0,`button`,2),z(10,`p`,3),K(11),B()(),z(12,`p`,4),K(13,` Drag across the bars to pick a range of cycles. With the chart focused, the arrow keys move between cycles, Shift with an arrow key extends the range, Enter picks one cycle and Escape shows all cycles again. `),B(),z(14,`div`,5)(15,`div`,6)(16,`span`,7),K(17),B(),z(18,`span`,8),K(19,`0 ms`),B()(),z(20,`div`,9),j(21,$k,1,4,`div`,10),z(22,`div`,11)(23,`span`),K(24),B()(),z(25,`div`,12),U(`keydown`,function(e){return t.onKey(e)})(`focus`,function(){return t.onFocus()})(`blur`,function(){return t.focused.set(!1)})(`pointerdown`,function(e){return t.startDrag(e)})(`pointermove`,function(e){return t.onPointerMove(e)})(`pointerleave`,function(){return t.hover.set(null)}),N(26,eA,2,12,`div`,13,Xk),B(),j(28,iA,12,12,`div`,14),B()(),z(29,`div`,15),N(30,aA,1,2,`span`,16,Xk),B(),z(32,`ul`,17)(33,`li`),kg(34,`span`,18),K(35,`Within budget`),B(),z(36,`li`),kg(37,`span`,19)(38,`span`,20),K(39,`Over budget `),B(),z(40,`li`),kg(41,`span`,21),K(42),B()(),z(43,`details`,22)(44,`summary`),K(45,`Show the cycles as a table`),B(),z(46,`div`,23)(47,`table`)(48,`caption`,24),K(49),B(),z(50,`thead`)(51,`tr`)(52,`th`,25),K(53,`Cycle`),B(),z(54,`th`,25),K(55,`Duration`),B(),z(56,`th`,26),K(57,`Budget`),B(),z(58,`th`,25),K(59,`Checks`),B(),z(60,`th`,25),K(61,`Passes`),B(),z(62,`th`,26),K(63,`After`),B(),z(64,`th`,26),K(65,`Slowest component`),B()()(),z(66,`tbody`),N(67,sA,15,7,`tr`,null,Zk),B()()()()),e&2){let e,n;O(4),Fg(`min`,t.firstId())(`max`,t.lastId())(`value`,t.startId()),O(4),Fg(`min`,t.firstId())(`max`,t.lastId())(`value`,t.endId()),O(),M(t.range()?9:-1),O(2),q(t.summary()),O(),Fg(`id`,t.hintId),O(2),G(`flush`,t.bars().length>t.gapUntil),O(3),q(t.fmt(t.max())),O(4),M((e=t.band())?21:-1,e),O(),b_(`bottom`,t.budgetAt(),`%`),O(2),q(t.budgetLabel),O(),A(`aria-label`,`Change detection cycles, `+t.summary())(`aria-describedby`,t.hintId)(`aria-activedescendant`,t.activeOptionId()),O(),P(t.bars()),O(2),M((n=t.tip())?28:-1,n),O(),G(`flush`,t.bars().length>t.gapUntil),O(),P(t.bars()),O(12),q(t.budgetLabel),O(4),A(`aria-label`,t.tableLabel()),O(3),J(` `,t.tableLabel(),` `),O(18),P(t.selected())}},styles:[`[_nghost-%COMP%] { +}`]})},Xk=(e,t)=>t.cycle.id,Zk=(e,t)=>t.id;function Qk(e,t){if(e&1){let e=V();z(0,`button`,27),U(`click`,function(){return w(e),T(W().showAll())}),K(1,`Show all cycles`),B()}}function $k(e,t){if(e&1&&kg(0,`div`,28),e&2){let e=t;b_(`left`,e.left,`%`)(`width`,e.width,`%`)}}function eA(e,t){if(e&1&&(z(0,`div`,29),kg(1,`span`,30),B()),e&2){let e=t.$implicit,n=W();G(`over`,e.over)(`out`,!n.inRange(e.index)&&!!n.range())(`active`,n.focused()&&n.active()===e.index),Fg(`id`,n.optionId(e.index)),A(`data-index`,e.index)(`aria-selected`,n.inRange(e.index))(`aria-label`,e.label),O(),b_(`height`,e.height,`%`)}}function tA(e,t){e&1&&(z(0,`span`,33),K(1,`over budget`),B())}function nA(e,t){if(e&1&&(z(0,`p`),K(1,` after `),z(2,`span`,35),K(3),B()()),e&2){let e=W();O(3),q(e.cycle.trigger)}}function rA(e,t){if(e&1&&(z(0,`p`,34)(1,`span`,36),K(2),B(),z(3,`span`),K(4),B()()),e&2){let e=t.$implicit,n=W(2);O(2),q(e.name),O(2),q(n.fmt(e.ms))}}function iA(e,t){if(e&1&&(z(0,`div`,31)(1,`p`,32)(2,`strong`),K(3),B(),z(4,`span`),K(5),B(),j(6,tA,2,0,`span`,33),B(),j(7,nA,4,1,`p`),z(8,`p`),K(9),B(),N(10,rA,5,2,`p`,34,_g),B()),e&2){let e=t,n=W();b_(`left`,e.left)(`right`,e.right),O(3),q(n.fmt(e.cycle.ms)),O(2),J(`cycle `,e.cycle.id),O(),M(e.over?6:-1),O(),M(e.cycle.trigger?7:-1),O(2),B_(` `,e.cycle.checks,` `,e.cycle.checks===1?`check`:`checks`,`, `,e.cycle.passes,` `,e.cycle.passes===1?`pass`:`passes`,` `),O(),P(e.top)}}function aA(e,t){if(e&1&&kg(0,`span`),e&2){let e=t.$implicit;G(`over`,e.over)}}function oA(e,t){if(e&1&&K(0),e&2){let e=t,n=W(2);Y(` `,e.name,` (`,n.fmt(e.ms),`) `)}}function sA(e,t){if(e&1&&(z(0,`tr`)(1,`td`,37),K(2),B(),z(3,`td`,37),K(4),B(),z(5,`td`),K(6),B(),z(7,`td`,37),K(8),B(),z(9,`td`,37),K(10),B(),z(11,`td`,35),K(12),B(),z(13,`td`,35),j(14,oA,1,2),B()()),e&2){let e,n=t.$implicit,r=W();O(2),q(n.id),O(2),q(r.fmt(n.ms)),O(2),q(r.isOver(n)?`Over`:`Within`),O(2),q(n.checks),O(2),q(n.passes),O(2),q(n.trigger??``),O(2),M((e=n.components[0])?14:-1,e)}}var cA=0,lA=80,uA=10,dA=class e{cycles=$([]);range=Tv(null);gapUntil=lA;budgetLabel=`${vk} ms budget`;uid=`cd-chart-${cA++}`;hintId=`${this.uid}-hint`;active=D(null);anchor=null;dragging=!1;hover=D(null);focused=D(!1);max=X(()=>Ck(this.cycles()));budgetAt=X(()=>vk/this.max()*100);bars=X(()=>{let e=this.max();return this.cycles().map((t,n)=>({cycle:t,index:n,height:t.ms/e*100,over:yk(t),label:this.describe(t)}))});firstId=X(()=>this.cycles()[0]?.id??0);lastId=X(()=>this.cycles().at(-1)?.id??0);span=X(()=>{let e=this.range();if(!e)return null;let t=this.cycles(),n=Math.min(e.from,e.to),r=Math.max(e.from,e.to),i=t.findIndex(e=>e.id>=n),a=-1;for(let e=t.length-1;e>=0;e--)if(t[e].id<=r){a=e;break}return i<0||axk(this.cycles(),this.range()));startId=X(()=>this.selected()[0]?.id??``);endId=X(()=>this.selected().at(-1)?.id??``);band=X(()=>{let e=this.span(),t=this.cycles().length;return!e||!t?null:{left:e.start/t*100,width:(e.end-e.start+1)/t*100}});summary=X(()=>{let e=this.selected(),t=e.filter(yk).length;return`${this.span()?e.length===1?`Cycle ${e[0].id}`:`Cycles ${e[0].id} to ${e.at(-1).id} (${e.length})`:`All ${e.length} ${e.length===1?`cycle`:`cycles`}`}. ${t} over the ${vk} ms budget.`});tableLabel=X(()=>this.span()?`Picked cycles, ${this.summary()}`:`All recorded cycles`);activeOptionId=X(()=>{let e=this.active();return this.focused()&&e!==null&&e{let e=this.hover()??(this.focused()?this.active():null),t=e===null?void 0:this.cycles()[e];return!t||e===null?null:{cycle:t,over:yk(t),top:t.components.slice(0,3),...this.tipSide(e)}});tipSide(e){let t=this.cycles().length;return e+.5=t.start&&e<=t.end}describe(e){let t=[`Cycle ${e.id}`,bk(e.ms)];yk(e)&&t.push(`over budget`),e.trigger&&t.push(`after ${e.trigger}`),t.push(`${e.checks} ${e.checks===1?`check`:`checks`}`);let n=e.components[0];return n&&t.push(`slowest ${n.name} ${bk(n.ms)}`),t.join(`, `)}select(e,t){let n=this.cycles(),r=n[Math.min(e,t)],i=n[Math.max(e,t)];r&&i&&this.range.set({from:r.id,to:i.id})}showAll(){this.range.set(null),this.anchor=null}setEnd(e,t){if(!this.cycles().length)return;let n=t.target,r=Number.parseInt(n.value,10);if(Number.isNaN(r)){n.value=String(e===`from`?this.startId():this.endId());return}let i=Math.min(Math.max(r,this.firstId()),this.lastId()),a=this.selected(),o=e===`from`?i:a[0]?.id??this.firstId(),s=e===`to`?i:a.at(-1)?.id??this.lastId();this.range.set({from:Math.min(o,s),to:Math.max(o,s)}),n.value=String(e===`from`?Math.min(o,s):Math.max(o,s))}onFocus(){this.focused.set(!0),(this.active()===null||this.active()>=this.cycles().length)&&this.active.set(this.span()?.start??Math.max(this.cycles().length-1,0)),this.anchor??=this.active()}onKey(e){let t=this.cycles().length;if(!t)return;let n=Math.min(this.active()??t-1,t-1),r=null;switch(e.key){case`ArrowRight`:case`ArrowDown`:r=n+1;break;case`ArrowLeft`:case`ArrowUp`:r=n-1;break;case`PageDown`:r=n+uA;break;case`PageUp`:r=n-uA;break;case`Home`:r=0;break;case`End`:r=t-1;break;case`Enter`:case` `:e.preventDefault(),this.anchor=n,this.select(n,n);return;case`Escape`:this.range()&&(e.preventDefault(),this.showAll());return;default:return}e.preventDefault(),r=Math.min(Math.max(r,0),t-1),this.active.set(r),this.hover.set(null),e.shiftKey?(this.anchor??=n,this.select(this.anchor,r)):this.anchor=r}indexAt(e){let t=e.target?.closest?.(`[data-index]`);if(t)return Number(t.getAttribute(`data-index`));let n=e.currentTarget?.getBoundingClientRect(),r=this.cycles().length;if(!n?.width||!r)return null;let i=(e.clientX-n.left)/n.width;return Math.min(Math.max(Math.floor(i*r),0),r-1)}startDrag(e){if(e.button!==0)return;let t=this.indexAt(e);t!==null&&(this.dragging=!0,this.anchor=t,this.active.set(t),this.select(t,t))}onPointerMove(e){let t=this.indexAt(e);this.hover.set(t),this.dragging&&t!==null&&this.anchor!==null&&(this.active.set(t),this.select(this.anchor,t))}endDrag(){this.dragging=!1}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-cycle-chart`]],hostBindings:function(e,t){e&1&&H(`pointerup`,function(){return t.endDrag()},ju)(`pointercancel`,function(){return t.endDrag()},ju)},inputs:{cycles:[1,`cycles`],range:[1,`range`]},outputs:{range:`rangeChange`},decls:69,vars:25,consts:[[1,`range`],[`type`,`number`,`inputmode`,`numeric`,3,`change`,`min`,`max`,`value`],[`type`,`button`],[1,`summary`],[1,`hint`,3,`id`],[1,`plot`],[`aria-hidden`,`true`,1,`axis`],[1,`tick`,`top`],[1,`tick`,`zero`],[1,`area`],[`aria-hidden`,`true`,1,`band`,3,`left`,`width`],[`aria-hidden`,`true`,1,`budget`],[`role`,`listbox`,`aria-multiselectable`,`true`,`aria-orientation`,`horizontal`,`tabindex`,`0`,1,`bars`,3,`keydown`,`focus`,`blur`,`pointerdown`,`pointermove`,`pointerleave`],[`role`,`option`,1,`col`,3,`id`,`over`,`out`,`active`],[`aria-hidden`,`true`,1,`tip`,3,`left`,`right`],[`aria-hidden`,`true`,1,`markers`],[3,`over`],[`aria-label`,`Chart key`,1,`legend`],[`aria-hidden`,`true`,1,`key`,`ok`],[`aria-hidden`,`true`,1,`key`,`over`],[`aria-hidden`,`true`,1,`key-marker`],[`aria-hidden`,`true`,1,`key`,`line`],[1,`table`],[`tabindex`,`0`,`role`,`region`,1,`table-wrap`],[1,`sr-only`],[`scope`,`col`,1,`num`],[`scope`,`col`],[`type`,`button`,3,`click`],[`aria-hidden`,`true`,1,`band`],[`role`,`option`,1,`col`,3,`id`],[1,`bar`],[`aria-hidden`,`true`,1,`tip`],[1,`tip-head`],[1,`flag`],[1,`tip-row`],[1,`mono`],[1,`mono`,`name`],[1,`num`]],template:function(e,t){if(e&1&&(z(0,`div`,0)(1,`label`)(2,`span`),K(3,`Start`),B(),z(4,`input`,1),U(`change`,function(e){return t.setEnd(`from`,e)}),B()(),z(5,`label`)(6,`span`),K(7,`End`),B(),z(8,`input`,1),U(`change`,function(e){return t.setEnd(`to`,e)}),B()(),j(9,Qk,2,0,`button`,2),z(10,`p`,3),K(11),B()(),z(12,`p`,4),K(13,` Drag across the bars to pick a range of cycles. With the chart focused, the arrow keys move between cycles, Shift with an arrow key extends the range, Enter picks one cycle and Escape shows all cycles again. `),B(),z(14,`div`,5)(15,`div`,6)(16,`span`,7),K(17),B(),z(18,`span`,8),K(19,`0 ms`),B()(),z(20,`div`,9),j(21,$k,1,4,`div`,10),z(22,`div`,11)(23,`span`),K(24),B()(),z(25,`div`,12),U(`keydown`,function(e){return t.onKey(e)})(`focus`,function(){return t.onFocus()})(`blur`,function(){return t.focused.set(!1)})(`pointerdown`,function(e){return t.startDrag(e)})(`pointermove`,function(e){return t.onPointerMove(e)})(`pointerleave`,function(){return t.hover.set(null)}),N(26,eA,2,12,`div`,13,Xk),B(),j(28,iA,12,12,`div`,14),B()(),z(29,`div`,15),N(30,aA,1,2,`span`,16,Xk),B(),z(32,`ul`,17)(33,`li`),kg(34,`span`,18),K(35,`Within budget`),B(),z(36,`li`),kg(37,`span`,19)(38,`span`,20),K(39,`Over budget `),B(),z(40,`li`),kg(41,`span`,21),K(42),B()(),z(43,`details`,22)(44,`summary`),K(45,`Show the cycles as a table`),B(),z(46,`div`,23)(47,`table`)(48,`caption`,24),K(49),B(),z(50,`thead`)(51,`tr`)(52,`th`,25),K(53,`Cycle`),B(),z(54,`th`,25),K(55,`Duration`),B(),z(56,`th`,26),K(57,`Budget`),B(),z(58,`th`,25),K(59,`Checks`),B(),z(60,`th`,25),K(61,`Passes`),B(),z(62,`th`,26),K(63,`After`),B(),z(64,`th`,26),K(65,`Slowest component`),B()()(),z(66,`tbody`),N(67,sA,15,7,`tr`,null,Zk),B()()()()),e&2){let e,n;O(4),Fg(`min`,t.firstId())(`max`,t.lastId())(`value`,t.startId()),O(4),Fg(`min`,t.firstId())(`max`,t.lastId())(`value`,t.endId()),O(),M(t.range()?9:-1),O(2),q(t.summary()),O(),Fg(`id`,t.hintId),O(2),G(`flush`,t.bars().length>t.gapUntil),O(3),q(t.fmt(t.max())),O(4),M((e=t.band())?21:-1,e),O(),b_(`bottom`,t.budgetAt(),`%`),O(2),q(t.budgetLabel),O(),A(`aria-label`,`Change detection cycles, `+t.summary())(`aria-describedby`,t.hintId)(`aria-activedescendant`,t.activeOptionId()),O(),P(t.bars()),O(2),M((n=t.tip())?28:-1,n),O(),G(`flush`,t.bars().length>t.gapUntil),O(),P(t.bars()),O(12),q(t.budgetLabel),O(4),A(`aria-label`,t.tableLabel()),O(3),J(` `,t.tableLabel(),` `),O(18),P(t.selected())}},styles:[`[_nghost-%COMP%] { display: block; min-width: 0; } @@ -1224,7 +1224,7 @@ td.mono[_ngcontent-%COMP%] { .bar[_ngcontent-%COMP%] { transition: none; } -}`]})},fA=(e,t)=>t.id,pA=(e,t)=>t.index,mA=(e,t)=>t.kind;function hA(e,t){if(e&1&&(z(0,`p`,0),K(1),B()),e&2){let e=W(2);O(),Y(` Pick `,e.max,` cycles or fewer to see their spans. `,e.count(),` are picked. `)}}function gA(e,t){if(e&1&&(z(0,`span`),K(1),B()),e&2){let e=t.$implicit;b_(`left`,e.x,`%`)(`width`,e.w,`%`),O(),J(`cycle `,e.id)}}function _A(e,t){if(e&1){let e=V();z(0,`button`,11),U(`focus`,function(){let t=w(e).$implicit;return T(W(3).current.set(t.index))})(`mouseenter`,function(){let t=w(e).$implicit;return T(W(3).hover.set(t.index))})(`mouseleave`,function(){return w(e),T(W(3).hover.set(null))})(`click`,function(){let t=w(e).$implicit;return T(W(3).choose(t))}),z(1,`span`,12),K(2),B()()}if(e&2){let e=t.$implicit,n=W(3);x_(J_(`block kind-`,e.kind)),b_(`left`,e.x,`%`)(`width`,e.w,`%`)(`top`,e.depth*n.row,`px`),G(`narrow`,e.w<4),A(`tabindex`,e.index===n.tabStop()?0:-1)(`data-index`,e.index)(`aria-label`,n.describe(e))(`aria-disabled`,e.component?null:`true`),O(2),q(e.name)}}function vA(e,t){if(e&1&&(z(0,`li`),kg(1,`span`,13),K(2),B()),e&2){let e=t.$implicit;O(),x_(J_(`key kind-`,e.kind)),O(),q(e.label)}}function yA(e,t){if(e&1&&(z(0,`p`,0),K(1),B()),e&2){let e=W(3);O(),Y(` Each cycle keeps its longest spans. `,e.dropped(),` shorter `,e.dropped()===1?`span was`:`spans were`,` left out. `)}}function bA(e,t){if(e&1&&(z(0,`tr`)(1,`td`,17),K(2),B(),z(3,`td`,18),K(4),B(),z(5,`td`),K(6),B(),z(7,`td`,17),K(8),B(),z(9,`td`,17),K(10),B(),z(11,`td`,17),K(12),B(),z(13,`td`,17),K(14),B()()),e&2){let e=t.$implicit,n=W(4);O(2),q(e.cycleId),O(),b_(`padding-left`,6+e.depth*8,`px`),O(),q(e.name),O(2),q(n.kindLabel(e)),O(2),q(e.depth),O(2),q(n.fmt(e.start)),O(2),q(n.fmt(e.ms)),O(2),q(n.fmt(e.selfMs))}}function xA(e,t){if(e&1&&(z(0,`div`,10)(1,`table`)(2,`caption`,14),K(3),B(),z(4,`thead`)(5,`tr`)(6,`th`,15),K(7,`Cycle`),B(),z(8,`th`,16),K(9,`Span`),B(),z(10,`th`,16),K(11,`Kind`),B(),z(12,`th`,15),K(13,`Depth`),B(),z(14,`th`,15),K(15,`Start`),B(),z(16,`th`,15),K(17,`Total`),B(),z(18,`th`,15),K(19,`Self`),B()()(),z(20,`tbody`),N(21,bA,15,9,`tr`,null,pA),B()()()),e&2){let e=W(),t=W(2);A(`aria-label`,t.tableLabel()),O(3),J(` `,t.tableLabel(),` `),O(18),P(e.blocks)}}function SA(e,t){if(e&1){let e=V();z(0,`div`,1),U(`keydown`,function(t){return w(e),T(W(2).onKey(t))}),z(1,`div`,2),N(2,gA,2,5,`span`,3,fA),B(),z(4,`div`,4),N(5,_A,3,16,`button`,5,pA),B()(),z(7,`p`,6),K(8),B(),z(9,`ul`,7),N(10,vA,3,4,`li`,null,mA),B(),z(12,`p`,8),K(13,` Arrow keys move along a row, Up goes to the enclosing span and Down to the first nested one. Enter on a component shows it in the tree. `),B(),j(14,yA,2,2,`p`,0),z(15,`details`,9),U(`toggle`,function(t){return w(e),T(W(2).onToggle(t))}),z(16,`summary`),K(17,`Show the spans as a table`),B(),j(18,xA,23,2,`div`,10),B()}if(e&2){let e=t,n=W(2);A(`aria-label`,n.label()),O(2),P(e.cycles),O(2),b_(`height`,e.depth*n.row,`px`),O(),P(e.blocks),O(3),q(n.readout()),O(2),P(n.kinds),O(4),M(n.dropped()?14:-1),O(4),M(n.tableOpen()?18:-1)}}function CA(e,t){if(e&1&&(z(0,`h3`),K(1,`Spans in the picked cycles`),B(),j(2,hA,2,2,`p`,0)(3,SA,19,6)),e&2){let e,t=W();O(2),M(t.tooMany()?2:(e=t.graph())?3:-1,e)}}var wA=22;function TA(e,t){for(let n=e.length-1;n>=0;n--)if(t(e[n]))return e[n]}var EA=class e{cycles=$([]);names=$([]);scope=$(`the recording`);pick=yv();row=wA;max=30;kinds=[`c`,`h`,`r`,`o`].map(e=>({kind:e,label:Tk[e]}));current=D(0);tableOpen=D(!1);hover=D(null);hasSpans=X(()=>this.cycles().some(e=>e.spans?.length));count=X(()=>this.cycles().length);tooMany=X(()=>this.count()>30);graph=X(()=>this.tooMany()?null:Dk(this.cycles(),this.names()));tabStop=X(()=>Math.min(this.current(),Math.max((this.graph()?.blocks.length??1)-1,0)));dropped=X(()=>this.graph()?.cycles.reduce((e,t)=>e+t.droppedSpans,0)??0);label=X(()=>`Spans in ${this.scope()} over time, nested by depth. Pick a component to show it in the tree.`);readout=X(()=>{let e=(this.graph()?.blocks??[])[this.hover()??this.tabStop()];return e?this.describe(e):``});tableLabel=X(()=>`Timed spans in ${this.scope()}`);fmt(e){return bk(e)}kindLabel(e){return Tk[e.kind]}onToggle(e){this.tableOpen.set(e.target.open)}describe(e){let t=[e.name,Tk[e.kind],`${bk(e.ms)} total`];return e.selfMs!==e.ms&&t.push(`${bk(e.selfMs)} self`),t.push(e.start<0?`cycle ${e.cycleId}, ${bk(-e.start)} before it started`:`cycle ${e.cycleId} at ${bk(e.start)}`),t.join(`, `)}choose(e){this.current.set(e.index),e.component&&this.pick.emit(e.component)}onKey(e){let t=this.graph()?.blocks??[];if(!t.length)return;let n=t[this.tabStop()],r;switch(e.key){case`ArrowRight`:r=t.find(e=>e.index>n.index&&e.depth===n.depth);break;case`ArrowLeft`:r=TA(t,e=>e.indexe.indexe.parent===n.index)??t.find(e=>e.index>n.index&&e.depth===n.depth+1);break;case`Home`:r=t[0];break;case`End`:r=t.at(-1);break;default:return}e.preventDefault(),this.hover.set(null),r&&(this.current.set(r.index),e.currentTarget.querySelector(`button[data-index="${r.index}"]`)?.focus())}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-flame-graph`]],inputs:{cycles:[1,`cycles`],names:[1,`names`],scope:[1,`scope`]},outputs:{pick:`pick`},decls:1,vars:1,consts:[[1,`note`],[`role`,`group`,1,`flame`,3,`keydown`],[`aria-hidden`,`true`,1,`cycles`],[3,`left`,`width`],[1,`rows`],[`type`,`button`,3,`class`,`narrow`,`left`,`width`,`top`],[`aria-hidden`,`true`,1,`readout`],[`aria-label`,`Span kinds`,1,`legend`],[1,`hint`],[1,`table`,3,`toggle`],[`tabindex`,`0`,`role`,`region`,1,`table-wrap`],[`type`,`button`,3,`focus`,`mouseenter`,`mouseleave`,`click`],[1,`text`],[`aria-hidden`,`true`],[1,`sr-only`],[`scope`,`col`,1,`num`],[`scope`,`col`],[1,`num`],[1,`mono`]],template:function(e,t){e&1&&j(0,CA,4,1),e&2&&M(t.hasSpans()?0:-1)},styles:[`[_nghost-%COMP%] { +}`]})},fA=(e,t)=>t.id,pA=(e,t)=>t.index,mA=(e,t)=>t.kind;function hA(e,t){if(e&1&&(z(0,`p`,0),K(1),B()),e&2){let e=W(2);O(),Y(` Pick `,e.max,` cycles or fewer to see their spans. `,e.count(),` are picked. `)}}function gA(e,t){if(e&1&&(z(0,`span`),K(1),B()),e&2){let e=t.$implicit;b_(`left`,e.x,`%`)(`width`,e.w,`%`),O(),J(`cycle `,e.id)}}function _A(e,t){if(e&1){let e=V();z(0,`button`,11),U(`focus`,function(){let t=w(e).$implicit;return T(W(3).current.set(t.index))})(`mouseenter`,function(){let t=w(e).$implicit;return T(W(3).hover.set(t.index))})(`mouseleave`,function(){return w(e),T(W(3).hover.set(null))})(`click`,function(){let t=w(e).$implicit;return T(W(3).choose(t))}),z(1,`span`,12),K(2),B()()}if(e&2){let e=t.$implicit,n=W(3);x_(Y_(`block kind-`,e.kind)),b_(`left`,e.x,`%`)(`width`,e.w,`%`)(`top`,e.depth*n.row,`px`),G(`narrow`,e.w<4),A(`tabindex`,e.index===n.tabStop()?0:-1)(`data-index`,e.index)(`aria-label`,n.describe(e))(`aria-disabled`,e.component?null:`true`),O(2),q(e.name)}}function vA(e,t){if(e&1&&(z(0,`li`),kg(1,`span`,13),K(2),B()),e&2){let e=t.$implicit;O(),x_(Y_(`key kind-`,e.kind)),O(),q(e.label)}}function yA(e,t){if(e&1&&(z(0,`p`,0),K(1),B()),e&2){let e=W(3);O(),Y(` Each cycle keeps its longest spans. `,e.dropped(),` shorter `,e.dropped()===1?`span was`:`spans were`,` left out. `)}}function bA(e,t){if(e&1&&(z(0,`tr`)(1,`td`,17),K(2),B(),z(3,`td`,18),K(4),B(),z(5,`td`),K(6),B(),z(7,`td`,17),K(8),B(),z(9,`td`,17),K(10),B(),z(11,`td`,17),K(12),B(),z(13,`td`,17),K(14),B()()),e&2){let e=t.$implicit,n=W(4);O(2),q(e.cycleId),O(),b_(`padding-left`,6+e.depth*8,`px`),O(),q(e.name),O(2),q(n.kindLabel(e)),O(2),q(e.depth),O(2),q(n.fmt(e.start)),O(2),q(n.fmt(e.ms)),O(2),q(n.fmt(e.selfMs))}}function xA(e,t){if(e&1&&(z(0,`div`,10)(1,`table`)(2,`caption`,14),K(3),B(),z(4,`thead`)(5,`tr`)(6,`th`,15),K(7,`Cycle`),B(),z(8,`th`,16),K(9,`Span`),B(),z(10,`th`,16),K(11,`Kind`),B(),z(12,`th`,15),K(13,`Depth`),B(),z(14,`th`,15),K(15,`Start`),B(),z(16,`th`,15),K(17,`Total`),B(),z(18,`th`,15),K(19,`Self`),B()()(),z(20,`tbody`),N(21,bA,15,9,`tr`,null,pA),B()()()),e&2){let e=W(),t=W(2);A(`aria-label`,t.tableLabel()),O(3),J(` `,t.tableLabel(),` `),O(18),P(e.blocks)}}function SA(e,t){if(e&1){let e=V();z(0,`div`,1),U(`keydown`,function(t){return w(e),T(W(2).onKey(t))}),z(1,`div`,2),N(2,gA,2,5,`span`,3,fA),B(),z(4,`div`,4),N(5,_A,3,16,`button`,5,pA),B()(),z(7,`p`,6),K(8),B(),z(9,`ul`,7),N(10,vA,3,4,`li`,null,mA),B(),z(12,`p`,8),K(13,` Arrow keys move along a row, Up goes to the enclosing span and Down to the first nested one. Enter on a component shows it in the tree. `),B(),j(14,yA,2,2,`p`,0),z(15,`details`,9),U(`toggle`,function(t){return w(e),T(W(2).onToggle(t))}),z(16,`summary`),K(17,`Show the spans as a table`),B(),j(18,xA,23,2,`div`,10),B()}if(e&2){let e=t,n=W(2);A(`aria-label`,n.label()),O(2),P(e.cycles),O(2),b_(`height`,e.depth*n.row,`px`),O(),P(e.blocks),O(3),q(n.readout()),O(2),P(n.kinds),O(4),M(n.dropped()?14:-1),O(4),M(n.tableOpen()?18:-1)}}function CA(e,t){if(e&1&&(z(0,`h3`),K(1,`Spans in the picked cycles`),B(),j(2,hA,2,2,`p`,0)(3,SA,19,6)),e&2){let e,t=W();O(2),M(t.tooMany()?2:(e=t.graph())?3:-1,e)}}var wA=22;function TA(e,t){for(let n=e.length-1;n>=0;n--)if(t(e[n]))return e[n]}var EA=class e{cycles=$([]);names=$([]);scope=$(`the recording`);pick=bv();row=wA;max=30;kinds=[`c`,`h`,`r`,`o`].map(e=>({kind:e,label:Tk[e]}));current=D(0);tableOpen=D(!1);hover=D(null);hasSpans=X(()=>this.cycles().some(e=>e.spans?.length));count=X(()=>this.cycles().length);tooMany=X(()=>this.count()>30);graph=X(()=>this.tooMany()?null:Dk(this.cycles(),this.names()));tabStop=X(()=>Math.min(this.current(),Math.max((this.graph()?.blocks.length??1)-1,0)));dropped=X(()=>this.graph()?.cycles.reduce((e,t)=>e+t.droppedSpans,0)??0);label=X(()=>`Spans in ${this.scope()} over time, nested by depth. Pick a component to show it in the tree.`);readout=X(()=>{let e=(this.graph()?.blocks??[])[this.hover()??this.tabStop()];return e?this.describe(e):``});tableLabel=X(()=>`Timed spans in ${this.scope()}`);fmt(e){return bk(e)}kindLabel(e){return Tk[e.kind]}onToggle(e){this.tableOpen.set(e.target.open)}describe(e){let t=[e.name,Tk[e.kind],`${bk(e.ms)} total`];return e.selfMs!==e.ms&&t.push(`${bk(e.selfMs)} self`),t.push(e.start<0?`cycle ${e.cycleId}, ${bk(-e.start)} before it started`:`cycle ${e.cycleId} at ${bk(e.start)}`),t.join(`, `)}choose(e){this.current.set(e.index),e.component&&this.pick.emit(e.component)}onKey(e){let t=this.graph()?.blocks??[];if(!t.length)return;let n=t[this.tabStop()],r;switch(e.key){case`ArrowRight`:r=t.find(e=>e.index>n.index&&e.depth===n.depth);break;case`ArrowLeft`:r=TA(t,e=>e.indexe.indexe.parent===n.index)??t.find(e=>e.index>n.index&&e.depth===n.depth+1);break;case`Home`:r=t[0];break;case`End`:r=t.at(-1);break;default:return}e.preventDefault(),this.hover.set(null),r&&(this.current.set(r.index),e.currentTarget.querySelector(`button[data-index="${r.index}"]`)?.focus())}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-flame-graph`]],inputs:{cycles:[1,`cycles`],names:[1,`names`],scope:[1,`scope`]},outputs:{pick:`pick`},decls:1,vars:1,consts:[[1,`note`],[`role`,`group`,1,`flame`,3,`keydown`],[`aria-hidden`,`true`,1,`cycles`],[3,`left`,`width`],[1,`rows`],[`type`,`button`,3,`class`,`narrow`,`left`,`width`,`top`],[`aria-hidden`,`true`,1,`readout`],[`aria-label`,`Span kinds`,1,`legend`],[1,`hint`],[1,`table`,3,`toggle`],[`tabindex`,`0`,`role`,`region`,1,`table-wrap`],[`type`,`button`,3,`focus`,`mouseenter`,`mouseleave`,`click`],[1,`text`],[`aria-hidden`,`true`],[1,`sr-only`],[`scope`,`col`,1,`num`],[`scope`,`col`],[1,`num`],[1,`mono`]],template:function(e,t){e&1&&j(0,CA,4,1),e&2&&M(t.hasSpans()?0:-1)},styles:[`[_nghost-%COMP%] { display: block; min-width: 0; } @@ -1431,7 +1431,7 @@ td.mono[_ngcontent-%COMP%] { .num[_ngcontent-%COMP%] { text-align: right; font-variant-numeric: tabular-nums; -}`]})};function DA(e,t){if(e&1&&(z(0,`tr`)(1,`td`,5),K(2),B(),z(3,`td`,6),K(4),B(),z(5,`td`,6),K(6),B(),z(7,`td`,6),K(8),B()()),e&2){let e=t.$implicit,n=W(3);O(2),Y(``,e.name,`.`,e.hook),O(2),q(e.calls),O(2),q(n.ms(e.ms)),O(2),q(n.ms(e.maxMs))}}function OA(e,t){if(e&1&&(z(0,`div`)(1,`h3`),K(2,`Lifecycle hooks`),B(),z(3,`table`)(4,`thead`)(5,`tr`)(6,`th`,3),K(7,`Hook`),B(),z(8,`th`,4),K(9,`Calls`),B(),z(10,`th`,4),K(11,`Time`),B(),z(12,`th`,4),K(13,`Slowest`),B()()(),z(14,`tbody`),N(15,DA,9,5,`tr`,null,_g),B()()()),e&2){let e=W(2);O(15),P(e.hooks())}}function kA(e,t){if(e&1&&K(0),e&2){let e=W().$implicit;J(` (`,e.listener,`) `)}}function AA(e,t){if(e&1&&(z(0,`tr`)(1,`td`,5),K(2),j(3,kA,1,1),B(),z(4,`td`,6),K(5),B(),z(6,`td`,6),K(7),B(),z(8,`td`,6),K(9),B()()),e&2){let e=t.$implicit,n=W(3);O(2),J(` `,e.name,` `),O(),M(e.listener?3:-1),O(2),q(e.calls),O(2),q(n.ms(e.ms)),O(2),q(n.ms(e.maxMs))}}function jA(e,t){if(e&1&&(z(0,`div`)(1,`h3`),K(2,`Output listeners`),B(),z(3,`table`)(4,`thead`)(5,`tr`)(6,`th`,3),K(7,`Listener`),B(),z(8,`th`,4),K(9,`Calls`),B(),z(10,`th`,4),K(11,`Time`),B(),z(12,`th`,4),K(13,`Slowest`),B()()(),z(14,`tbody`),N(15,AA,10,5,`tr`,null,_g),B()()()),e&2){let e=W(2);O(15),P(e.outputs())}}function MA(e,t){if(e&1&&(z(0,`p`,1),K(1),B()),e&2){let e=t,n=W(2);O(),z_(` afterRender callbacks ran `,e.runs,` `,e.runs===1?`time`:`times`,`, `,n.ms(e.ms),` in total, slowest `,n.ms(e.maxMs),`. `)}}function NA(e,t){if(e&1&&(z(0,`p`,2),K(1),B()),e&2){let e=W(2);O(),Y(` `,e.dropped(),` more hook or output `,e.dropped()===1?`row is`:`rows are`,` left out. A recording lists at most 100 of each. `)}}function PA(e,t){if(e&1&&(z(0,`div`,0),j(1,OA,17,0,`div`),j(2,jA,17,0,`div`),B(),j(3,MA,2,4,`p`,1),j(4,NA,2,2,`p`,2)),e&2){let e,t=W();O(),M(t.hooks().length?1:-1),O(),M(t.outputs().length?2:-1),O(),M((e=t.afterRender())?3:-1,e),O(),M(t.dropped()?4:-1)}}var FA=10;function IA(e){return`${e<10?e.toFixed(2):Math.round(e)} ms`}var LA=class e{page=$(null);hooks=X(()=>(this.page()?.hooks??[]).slice(0,FA));outputs=X(()=>(this.page()?.outputs??[]).slice(0,FA));afterRender=X(()=>{let e=this.page()?.afterRender;return e?.runs?e:null});dropped=X(()=>this.page()?.droppedTimings??0);ms(e){return IA(e)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-timing`]],inputs:{page:[1,`page`]},decls:1,vars:1,consts:[[1,`timing`],[1,`after-render`],[1,`note`],[`scope`,`col`],[`scope`,`col`,1,`num`],[1,`mono`],[1,`num`]],template:function(e,t){e&1&&j(0,PA,5,4),e&2&&M(t.hooks().length||t.outputs().length||t.afterRender()?0:-1)},styles:[`[_nghost-%COMP%] { +}`]})};function DA(e,t){if(e&1&&(z(0,`tr`)(1,`td`,5),K(2),B(),z(3,`td`,6),K(4),B(),z(5,`td`,6),K(6),B(),z(7,`td`,6),K(8),B()()),e&2){let e=t.$implicit,n=W(3);O(2),Y(``,e.name,`.`,e.hook),O(2),q(e.calls),O(2),q(n.ms(e.ms)),O(2),q(n.ms(e.maxMs))}}function OA(e,t){if(e&1&&(z(0,`div`)(1,`h3`),K(2,`Lifecycle hooks`),B(),z(3,`table`)(4,`thead`)(5,`tr`)(6,`th`,3),K(7,`Hook`),B(),z(8,`th`,4),K(9,`Calls`),B(),z(10,`th`,4),K(11,`Time`),B(),z(12,`th`,4),K(13,`Slowest`),B()()(),z(14,`tbody`),N(15,DA,9,5,`tr`,null,_g),B()()()),e&2){let e=W(2);O(15),P(e.hooks())}}function kA(e,t){if(e&1&&K(0),e&2){let e=W().$implicit;J(` (`,e.listener,`) `)}}function AA(e,t){if(e&1&&(z(0,`tr`)(1,`td`,5),K(2),j(3,kA,1,1),B(),z(4,`td`,6),K(5),B(),z(6,`td`,6),K(7),B(),z(8,`td`,6),K(9),B()()),e&2){let e=t.$implicit,n=W(3);O(2),J(` `,e.name,` `),O(),M(e.listener?3:-1),O(2),q(e.calls),O(2),q(n.ms(e.ms)),O(2),q(n.ms(e.maxMs))}}function jA(e,t){if(e&1&&(z(0,`div`)(1,`h3`),K(2,`Output listeners`),B(),z(3,`table`)(4,`thead`)(5,`tr`)(6,`th`,3),K(7,`Listener`),B(),z(8,`th`,4),K(9,`Calls`),B(),z(10,`th`,4),K(11,`Time`),B(),z(12,`th`,4),K(13,`Slowest`),B()()(),z(14,`tbody`),N(15,AA,10,5,`tr`,null,_g),B()()()),e&2){let e=W(2);O(15),P(e.outputs())}}function MA(e,t){if(e&1&&(z(0,`p`,1),K(1),B()),e&2){let e=t,n=W(2);O(),B_(` afterRender callbacks ran `,e.runs,` `,e.runs===1?`time`:`times`,`, `,n.ms(e.ms),` in total, slowest `,n.ms(e.maxMs),`. `)}}function NA(e,t){if(e&1&&(z(0,`p`,2),K(1),B()),e&2){let e=W(2);O(),Y(` `,e.dropped(),` more hook or output `,e.dropped()===1?`row is`:`rows are`,` left out. A recording lists at most 100 of each. `)}}function PA(e,t){if(e&1&&(z(0,`div`,0),j(1,OA,17,0,`div`),j(2,jA,17,0,`div`),B(),j(3,MA,2,4,`p`,1),j(4,NA,2,2,`p`,2)),e&2){let e,t=W();O(),M(t.hooks().length?1:-1),O(),M(t.outputs().length?2:-1),O(),M((e=t.afterRender())?3:-1,e),O(),M(t.dropped()?4:-1)}}var FA=10;function IA(e){return`${e<10?e.toFixed(2):Math.round(e)} ms`}var LA=class e{page=$(null);hooks=X(()=>(this.page()?.hooks??[]).slice(0,FA));outputs=X(()=>(this.page()?.outputs??[]).slice(0,FA));afterRender=X(()=>{let e=this.page()?.afterRender;return e?.runs?e:null});dropped=X(()=>this.page()?.droppedTimings??0);ms(e){return IA(e)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-timing`]],inputs:{page:[1,`page`]},decls:1,vars:1,consts:[[1,`timing`],[1,`after-render`],[1,`note`],[`scope`,`col`],[`scope`,`col`,1,`num`],[1,`mono`],[1,`num`]],template:function(e,t){e&1&&j(0,PA,5,4),e&2&&M(t.hooks().length||t.outputs().length||t.afterRender()?0:-1)},styles:[`[_nghost-%COMP%] { display: block; } @@ -1491,7 +1491,7 @@ td.mono[_ngcontent-%COMP%] { margin: 8px 0 0; color: var(--%NS%text-2); font-size: 12px; -}`]})};function RA(e,t){if(e&1&&(z(0,`p`,5),K(1),B()),e&2){let e=W();O(),q(e.error())}}function zA(e,t){let n=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,document.body.append(i),i.click(),i.remove(),setTimeout(()=>URL.revokeObjectURL(r),0)}var BA=class e{page=$(null);maxCycles=$(200);imported=yv();error=D(``);hasCycles(){return(this.page()?.cycles.length??0)>0}exportJson(){let e=this.page();e&&zA(uk(e,e.pageId),`change-detection-${e.pageId}.json`)}exportTrace(){let e=this.page();e&&zA(_k(e,e.pageId),`change-detection-${e.pageId}.trace.json`)}async read(e){let t=e.files?.[0];if(e.value=``,!t)return;if(t.size>2e7){this.error.set(`${t.name}: The file is larger than 20 MB.`);return}let n;try{n=await t.text()}catch{this.error.set(`Could not read the file.`);return}let r=dk(n,this.maxCycles());if(!r.ok){this.error.set(`${t.name}: ${r.error}`);return}this.error.set(``),this.imported.emit({fileName:t.name,page:{...r.recording,pageId:r.pageId,supported:!0}})}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-transfer`]],inputs:{page:[1,`page`],maxCycles:[1,`maxCycles`]},outputs:{imported:`imported`},decls:10,vars:3,consts:[[`file`,``],[`role`,`group`,`aria-label`,`Export and import the recording`,1,`transfer`],[`type`,`button`,3,`click`,`disabled`],[`type`,`button`,3,`click`],[`type`,`file`,`accept`,`.json,application/json`,`hidden`,``,3,`change`],[`role`,`alert`,1,`error`]],template:function(e,t){if(e&1){let e=V();z(0,`div`,1)(1,`button`,2),U(`click`,function(){return t.exportJson()}),K(2,`Export JSON`),B(),z(3,`button`,2),U(`click`,function(){return t.exportTrace()}),K(4,` Export trace (Perfetto) `),B(),z(5,`button`,3),U(`click`,function(){return w(e),T($g(8).click())}),K(6,`Import`),B(),z(7,`input`,4,0),U(`change`,function(){w(e);let n=$g(8);return T(t.read(n))}),B()(),j(9,RA,2,1,`p`,5)}e&2&&(O(),Fg(`disabled`,!t.hasCycles()),O(2),Fg(`disabled`,!t.hasCycles()),O(6),M(t.error()?9:-1))},styles:[`[_nghost-%COMP%] { +}`]})};function RA(e,t){if(e&1&&(z(0,`p`,5),K(1),B()),e&2){let e=W();O(),q(e.error())}}function zA(e,t){let n=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,document.body.append(i),i.click(),i.remove(),setTimeout(()=>URL.revokeObjectURL(r),0)}var BA=class e{page=$(null);maxCycles=$(200);imported=bv();error=D(``);hasCycles(){return(this.page()?.cycles.length??0)>0}exportJson(){let e=this.page();e&&zA(uk(e,e.pageId),`change-detection-${e.pageId}.json`)}exportTrace(){let e=this.page();e&&zA(_k(e,e.pageId),`change-detection-${e.pageId}.trace.json`)}async read(e){let t=e.files?.[0];if(e.value=``,!t)return;if(t.size>2e7){this.error.set(`${t.name}: The file is larger than 20 MB.`);return}let n;try{n=await t.text()}catch{this.error.set(`Could not read the file.`);return}let r=dk(n,this.maxCycles());if(!r.ok){this.error.set(`${t.name}: ${r.error}`);return}this.error.set(``),this.imported.emit({fileName:t.name,page:{...r.recording,pageId:r.pageId,supported:!0}})}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-transfer`]],inputs:{page:[1,`page`],maxCycles:[1,`maxCycles`]},outputs:{imported:`imported`},decls:10,vars:3,consts:[[`file`,``],[`role`,`group`,`aria-label`,`Export and import the recording`,1,`transfer`],[`type`,`button`,3,`click`,`disabled`],[`type`,`button`,3,`click`],[`type`,`file`,`accept`,`.json,application/json`,`hidden`,``,3,`change`],[`role`,`alert`,1,`error`]],template:function(e,t){if(e&1){let e=V();z(0,`div`,1)(1,`button`,2),U(`click`,function(){return t.exportJson()}),K(2,`Export JSON`),B(),z(3,`button`,2),U(`click`,function(){return t.exportTrace()}),K(4,` Export trace (Perfetto) `),B(),z(5,`button`,3),U(`click`,function(){return w(e),T($g(8).click())}),K(6,`Import`),B(),z(7,`input`,4,0),U(`change`,function(){w(e);let n=$g(8);return T(t.read(n))}),B()(),j(9,RA,2,1,`p`,5)}e&2&&(O(),Fg(`disabled`,!t.hasCycles()),O(2),Fg(`disabled`,!t.hasCycles()),O(6),M(t.error()?9:-1))},styles:[`[_nghost-%COMP%] { display: contents; } @@ -1533,7 +1533,7 @@ button[_ngcontent-%COMP%]:disabled { margin: 0; color: var(--%NS%danger-text); font-size: 12px; -}`]})},VA=(e,t)=>t.stat.name;function HA(e,t){if(e&1&&(z(0,`span`,8),K(1),B()),e&2){let e=W(2).$implicit;O(),J(``,e.other,` more`)}}function UA(e,t){if(e&1&&(z(0,`div`,6)(1,`span`,7),K(2),B(),j(3,HA,2,1,`span`,8),B()),e&2){let e=W().$implicit;b_(`--%NS%tone`,e.tone+`%`),O(2),q(e.label),O(),M(e.roomy?3:-1)}}function WA(e,t){if(e&1&&(z(0,`span`,10),K(1),B(),z(2,`span`,11),K(3),B()),e&2){let e=W(2).$implicit,t=W(2);O(),q(e.stat.name),O(2),q(t.fmt(e.stat.ms))}}function GA(e,t){if(e&1){let e=V();z(0,`button`,9),U(`focus`,function(){w(e);let t=W().$index;return T(W(2).current.set(t))})(`click`,function(){w(e);let t=W().$implicit;return T(W(2).pick.emit(t.stat.name))}),j(1,WA,4,2),B()}if(e&2){let e=W(),t=e.$implicit,n=e.$index,r=W(2);b_(`--%NS%tone`,t.tone+`%`),A(`tabindex`,n===r.tabStop()?0:-1)(`aria-label`,t.label)(`data-index`,n),O(),M(t.roomy?1:-1)}}function KA(e,t){if(e&1&&(z(0,`li`),j(1,UA,4,4,`div`,4)(2,GA,2,6,`button`,5),B()),e&2){let e=t.$implicit;b_(`left`,e.x,`%`)(`top`,e.y,`%`)(`width`,e.w,`%`)(`height`,e.h,`%`),O(),M(e.other?1:2)}}function qA(e,t){if(e&1){let e=V();z(0,`ul`,2),U(`keydown`,function(t){return w(e),T(W().onKey(t))}),N(1,KA,3,9,`li`,3,VA),B()}if(e&2){let e=W();A(`aria-label`,e.label()),O(),P(e.cells())}}function JA(e,t){e&1&&(z(0,`p`,1),K(1,`No component time in these cycles.`),B())}var YA=24,XA=3,ZA=class e{stats=$([]);scope=$(`the recording`);pick=yv();current=D(0);label=X(()=>`Self time per component in ${this.scope()}, largest first. Pick one to show it in the tree.`);cells=X(()=>{let e=this.stats().filter(e=>e.ms>0),t=e.slice(0,YA),n=e.slice(YA),r=n.reduce((e,t)=>e+t.ms,0),i=t.map(e=>({stat:e,other:0}));n.length&&i.push({stat:{name:`Other components`,checks:0,ms:r,maxMs:0,cycles:0},other:n.length});let a=e.reduce((e,t)=>e+t.ms,0),o=t[0]?.ms??1,s=wk(i,e=>e.stat.ms,XA);return s.sort((e,t)=>Number(e.item.other>0)-Number(t.item.other>0)),s.map(e=>{let{stat:t,other:n}=e.item,r=a?Math.round(t.ms/a*100):0;return{stat:t,other:n,x:e.x,y:e.y,w:e.w,h:e.h,tone:n?0:14+Math.round(26*Math.min(t.ms/o,1)),roomy:e.w>=10&&e.h>=22,label:n?`${n} more components, ${bk(t.ms)}, ${r}% of self time`:`${t.name}, ${bk(t.ms)} self time, ${r}%, ${t.checks} ${t.checks===1?`check`:`checks`}`}})});tabStop=X(()=>Math.min(this.current(),Math.max(this.cells().filter(e=>!e.other).length-1,0)));fmt(e){return bk(e)}onKey(e){let t=this.cells().filter(e=>!e.other).length;if(!t)return;let n=this.tabStop(),r;switch(e.key){case`ArrowRight`:case`ArrowDown`:r=Math.min(n+1,t-1);break;case`ArrowLeft`:case`ArrowUp`:r=Math.max(n-1,0);break;case`Home`:r=0;break;case`End`:r=t-1;break;default:return}e.preventDefault(),this.current.set(r),e.currentTarget.querySelector(`button[data-index="${r}"]`)?.focus()}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-treemap`]],inputs:{stats:[1,`stats`],scope:[1,`scope`]},outputs:{pick:`pick`},decls:2,vars:1,consts:[[1,`map`],[1,`empty`],[1,`map`,3,`keydown`],[3,`left`,`top`,`width`,`height`],[1,`cell`,`other`,3,`--%NS%tone`],[`type`,`button`,1,`cell`,3,`--%NS%tone`],[1,`cell`,`other`],[1,`sr-only`],[`aria-hidden`,`true`,1,`name`],[`type`,`button`,1,`cell`,3,`focus`,`click`],[1,`name`,`mono`],[1,`ms`]],template:function(e,t){e&1&&j(0,qA,3,1,`ul`,0)(1,JA,2,0,`p`,1),e&2&&M(+!t.cells().length)},styles:[`[_nghost-%COMP%] { +}`]})},VA=(e,t)=>t.stat.name;function HA(e,t){if(e&1&&(z(0,`span`,8),K(1),B()),e&2){let e=W(2).$implicit;O(),J(``,e.other,` more`)}}function UA(e,t){if(e&1&&(z(0,`div`,6)(1,`span`,7),K(2),B(),j(3,HA,2,1,`span`,8),B()),e&2){let e=W().$implicit;b_(`--%NS%tone`,e.tone+`%`),O(2),q(e.label),O(),M(e.roomy?3:-1)}}function WA(e,t){if(e&1&&(z(0,`span`,10),K(1),B(),z(2,`span`,11),K(3),B()),e&2){let e=W(2).$implicit,t=W(2);O(),q(e.stat.name),O(2),q(t.fmt(e.stat.ms))}}function GA(e,t){if(e&1){let e=V();z(0,`button`,9),U(`focus`,function(){w(e);let t=W().$index;return T(W(2).current.set(t))})(`click`,function(){w(e);let t=W().$implicit;return T(W(2).pick.emit(t.stat.name))}),j(1,WA,4,2),B()}if(e&2){let e=W(),t=e.$implicit,n=e.$index,r=W(2);b_(`--%NS%tone`,t.tone+`%`),A(`tabindex`,n===r.tabStop()?0:-1)(`aria-label`,t.label)(`data-index`,n),O(),M(t.roomy?1:-1)}}function KA(e,t){if(e&1&&(z(0,`li`),j(1,UA,4,4,`div`,4)(2,GA,2,6,`button`,5),B()),e&2){let e=t.$implicit;b_(`left`,e.x,`%`)(`top`,e.y,`%`)(`width`,e.w,`%`)(`height`,e.h,`%`),O(),M(e.other?1:2)}}function qA(e,t){if(e&1){let e=V();z(0,`ul`,2),U(`keydown`,function(t){return w(e),T(W().onKey(t))}),N(1,KA,3,9,`li`,3,VA),B()}if(e&2){let e=W();A(`aria-label`,e.label()),O(),P(e.cells())}}function JA(e,t){e&1&&(z(0,`p`,1),K(1,`No component time in these cycles.`),B())}var YA=24,XA=3,ZA=class e{stats=$([]);scope=$(`the recording`);pick=bv();current=D(0);label=X(()=>`Self time per component in ${this.scope()}, largest first. Pick one to show it in the tree.`);cells=X(()=>{let e=this.stats().filter(e=>e.ms>0),t=e.slice(0,YA),n=e.slice(YA),r=n.reduce((e,t)=>e+t.ms,0),i=t.map(e=>({stat:e,other:0}));n.length&&i.push({stat:{name:`Other components`,checks:0,ms:r,maxMs:0,cycles:0},other:n.length});let a=e.reduce((e,t)=>e+t.ms,0),o=t[0]?.ms??1,s=wk(i,e=>e.stat.ms,XA);return s.sort((e,t)=>Number(e.item.other>0)-Number(t.item.other>0)),s.map(e=>{let{stat:t,other:n}=e.item,r=a?Math.round(t.ms/a*100):0;return{stat:t,other:n,x:e.x,y:e.y,w:e.w,h:e.h,tone:n?0:14+Math.round(26*Math.min(t.ms/o,1)),roomy:e.w>=10&&e.h>=22,label:n?`${n} more components, ${bk(t.ms)}, ${r}% of self time`:`${t.name}, ${bk(t.ms)} self time, ${r}%, ${t.checks} ${t.checks===1?`check`:`checks`}`}})});tabStop=X(()=>Math.min(this.current(),Math.max(this.cells().filter(e=>!e.other).length-1,0)));fmt(e){return bk(e)}onKey(e){let t=this.cells().filter(e=>!e.other).length;if(!t)return;let n=this.tabStop(),r;switch(e.key){case`ArrowRight`:case`ArrowDown`:r=Math.min(n+1,t-1);break;case`ArrowLeft`:case`ArrowUp`:r=Math.max(n-1,0);break;case`Home`:r=0;break;case`End`:r=t-1;break;default:return}e.preventDefault(),this.current.set(r),e.currentTarget.querySelector(`button[data-index="${r}"]`)?.focus()}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-treemap`]],inputs:{stats:[1,`stats`],scope:[1,`scope`]},outputs:{pick:`pick`},decls:2,vars:1,consts:[[1,`map`],[1,`empty`],[1,`map`,3,`keydown`],[3,`left`,`top`,`width`,`height`],[1,`cell`,`other`,3,`--%NS%tone`],[`type`,`button`,1,`cell`,3,`--%NS%tone`],[1,`cell`,`other`],[1,`sr-only`],[`aria-hidden`,`true`,1,`name`],[`type`,`button`,1,`cell`,3,`focus`,`click`],[1,`name`,`mono`],[1,`ms`]],template:function(e,t){e&1&&j(0,qA,3,1,`ul`,0)(1,JA,2,0,`p`,1),e&2&&M(+!t.cells().length)},styles:[`[_nghost-%COMP%] { display: block; min-width: 0; } @@ -1609,7 +1609,7 @@ button.cell[_ngcontent-%COMP%]:focus-visible { .empty[_ngcontent-%COMP%] { margin: 8px 0; color: var(--%NS%text-2); -}`]})},QA=(e,t)=>t.id;function $A(e,t){if(e&1){let e=V();I(0,`button`,14),H(`click`,function(){return w(e),T(W(2).clear())}),K(1,`Clear`),L()}}function ej(e,t){if(e&1){let e=V();I(0,`button`,11),H(`click`,function(){return w(e),T(W().toggle())}),R(1,`span`,12),K(2),L(),j(3,$A,2,0,`button`,13)}if(e&2){let e=W();G(`on`,e.recording()),F(`disabled`,!e.pageId()),O(2),J(` `,e.recording()?`Stop recording`:`Record`,` `),O(),M(e.cycles().length?3:-1)}}function tj(e,t){if(e&1){let e=V();I(0,`p`,6)(1,`span`,15),K(2,`Imported recording`),L(),I(3,`span`,16),K(4),L(),I(5,`button`,14),H(`click`,function(){return w(e),T(W().closeImport())}),K(6,`Back to live recording`),L()()}e&2&&(O(4),q(t.fileName))}function nj(e,t){e&1&&K(0,` An app on a device has no DOM, so checks that changed nothing are not counted there. `)}function rj(e,t){e&1&&(I(0,`p`,9),K(1,` The page has Angular's profiler hook, but the recording could not attach to it yet. The page tries again on its next update while recording is on. If this stays, stop and start the recording, or reload the page. `),L())}function ij(e,t){e&1&&R(0,`app-angular-unavailable`,17),e&2&&F(`page`,W(2).angularPage())}function aj(e,t){e&1&&j(0,rj,2,0,`p`,9)(1,ij,1,1,`app-angular-unavailable`,17),e&2&&M(+!W().attachPending())}function oj(e,t){e&1&&(I(0,`p`,9),K(1,`Angular profiling stays on until the page reloads.`),L())}function sj(e,t){e&1&&R(0,`app-angular-unavailable`,21),e&2&&F(`page`,W(2).angularPage())}function cj(e,t){if(e&1){let e=V();I(0,`div`,18)(1,`span`,19),K(2,`Live views`),L(),I(3,`button`,20),H(`click`,function(){w(e);let t=W();return T(t.setView(`flash`,!t.views().flash))}),R(4,`span`,12),K(5,` Flash checks `),L(),I(6,`button`,20),H(`click`,function(){w(e);let t=W();return T(t.setView(`track`,!t.views().track))}),R(7,`span`,12),K(8,` Performance track `),L(),I(9,`button`,20),H(`click`,function(){return w(e),T(W().setView(`angularProfiling`,!0))}),R(10,`span`,12),K(11,` Angular profiling `),L()(),I(12,`p`,7),K(13,` Flash checks draws a box over each component on the page as Angular checks it, with its name and how often it was checked, fading over a second. Performance track adds a Pangular track to the Chrome Performance panel with every component check, hook and output. Angular profiling turns on Angular's own track there. `),L(),j(14,oj,2,0,`p`,9)(15,sj,1,1,`app-angular-unavailable`,21)}if(e&2){let e=W();O(3),F(`disabled`,!e.canShowViews()),A(`aria-pressed`,e.views().flash),O(3),F(`disabled`,!e.canShowViews()),A(`aria-pressed`,e.views().track),O(3),F(`disabled`,!e.canShowViews()||e.views().angularProfiling||!e.views().angularProfilingAvailable),A(`aria-pressed`,e.views().angularProfiling),O(5),M(e.views().angularProfiling?14:e.views().angularProfilingAvailable?-1:15)}}function lj(e,t){if(e&1&&(I(0,`p`,9),K(1),L()),e&2){let e=t.$implicit;O(),q(e)}}function uj(e,t){if(e&1&&(I(0,`p`,24),K(1),L()),e&2){let e=W(2);O(),J(` `,e.range()?`The picked cycles have no timed spans, so there is no flame graph for them.`:`This recording has no timed spans, so there is no flame graph. A recording from an older version, or a file saved without spans, has none.`,` `)}}function dj(e,t){e&1&&(I(0,`p`,9),K(1,` For picked cycles, totals come from the 10 slowest components each cycle lists. `),L())}function fj(e,t){if(e&1){let e=V();I(0,`h3`),K(1,`Cycles`),L(),I(2,`app-cd-cycle-chart`,22),U_(`rangeChange`,function(t){w(e);let n=W();return H_(n.range,t)||(n.range=t),T(t)}),L(),I(3,`app-cd-flame-graph`,23),H(`pick`,function(t){return w(e),T(W().showComponent.emit(t))}),L(),j(4,uj,2,1,`p`,24),I(5,`h3`),K(6,`Self time by component`),L(),j(7,dj,2,0,`p`,9),I(8,`app-cd-treemap`,25),H(`pick`,function(t){return w(e),T(W().showComponent.emit(t))}),L()}if(e&2){let e=W();O(2),F(`cycles`,e.cycles()),V_(`range`,e.range),O(),F(`cycles`,e.picked())(`names`,e.spanNames())(`scope`,e.scope()),O(),M(e.hasSpans()?-1:4),O(3),M(e.range()?7:-1),O(),F(`stats`,e.stats())(`scope`,e.scope())}}function pj(e,t){if(e&1&&(I(0,`tr`)(1,`td`,16),K(2),L(),I(3,`td`,31),K(4),L(),I(5,`td`,31),K(6),L(),I(7,`td`,31),K(8),L()()),e&2){let e=t.$implicit,n=W(2);O(2),q(e.name),O(2),q(e.checks),O(2),q(n.ms(e.ms)),O(2),q(n.ms(e.maxMs))}}function mj(e,t){e&1&&(I(0,`tr`)(1,`td`,32),K(2,`No component time in the picked cycles.`),L()())}function hj(e,t){if(e&1&&(I(0,`span`,34),K(1,`from `),I(2,`span`,16),K(3),L()()),e&2){let e=W(3);O(3),q(e.causeText(t))}}function gj(e,t){if(e&1&&(I(0,`span`,34),K(1,`after `),I(2,`span`,16),K(3),L()()),e&2){let e=W().$implicit;O(3),q(e.trigger)}}function _j(e,t){if(e&1&&(I(0,`span`,35),K(1),L()),e&2){let e=W().$implicit;O(),J(``,e.unchanged,` changed nothing`)}}function vj(e,t){if(e&1&&(I(0,`span`,35),K(1),L()),e&2){let e=W().$implicit,t=W(2);O(),J(`hooks `,t.ms(e.hookMs))}}function yj(e,t){if(e&1&&(I(0,`span`,35),K(1),L()),e&2){let e=W().$implicit,t=W(2);O(),J(`afterRender `,t.ms(e.afterRenderMs))}}function bj(e,t){if(e&1&&(I(0,`span`,36),K(1,` slowest `),I(2,`span`,16),K(3),L(),K(4),L()),e&2){let e=t,n=W(3);O(3),q(e.name),O(),J(` `,n.ms(e.ms),` `)}}function xj(e,t){if(e&1&&(I(0,`li`)(1,`span`,33),K(2),L(),I(3,`span`,16),K(4),L(),I(5,`span`),K(6),L(),j(7,hj,4,1,`span`,34)(8,gj,4,1,`span`,34),j(9,_j,2,1,`span`,35),j(10,vj,2,1,`span`,35),j(11,yj,2,1,`span`,35),j(12,bj,5,2,`span`,36),L()),e&2){let e,n,r=t.$implicit,i=W(2);O(2),q(i.clock(r.at)),O(2),q(i.ms(r.ms)),O(2),z_(` `,r.checks,` `,r.checks===1?`check`:`checks`,`, `,r.passes,` `,r.passes===1?`pass`:`passes`,` `),O(),M((e=r.cause)?7:r.trigger?8:-1,e),O(2),M(r.unchanged?9:-1),O(),M(r.hookMs?10:-1),O(),M(r.afterRenderMs?11:-1),O(),M((n=r.components[0])?12:-1,n)}}function Sj(e,t){if(e&1&&(I(0,`div`,26)(1,`div`)(2,`h3`),K(3),L(),I(4,`table`)(5,`thead`)(6,`tr`)(7,`th`,27),K(8,`Component`),L(),I(9,`th`,28),K(10,`Checks`),L(),I(11,`th`,28),K(12,`Self time`),L(),I(13,`th`,28),K(14,`Slowest`),L()()(),I(15,`tbody`),N(16,pj,9,4,`tr`,null,_g,!1,mj,3,0,`tr`),L()()(),I(19,`div`)(20,`h3`),K(21,`Latest cycles`),L(),I(22,`ol`,29),N(23,xj,13,11,`li`,null,QA),L()()(),R(25,`app-cd-timing`,30)(26,`app-cd-diagnosis`,30)),e&2){let e=W();O(3),J(` `,e.range()?`Slowest components in the picked cycles`:`Slowest components`,` `),O(13),P(e.slowest()),O(7),P(e.latest()),O(2),F(`page`,e.page()),O(),F(`page`,e.page())}}function Cj(e,t){e&1&&(I(0,`p`,10),K(1,`Use the app. Cycles show up here as Angular runs change detection.`),L())}var wj=3e3,Tj=10,Ej=class e{livePage=$(null,{alias:`page`});pageId=$(null);rpc=$(null);native=$(!1);angularPages=AD(()=>this.rpc());angularPage=X(()=>jD(this.angularPages(),this.pageId()));attachPending=X(()=>this.angularPage()?.capabilities.profiler===!0);showComponent=yv();range=D(null);imported=D(null);page=X(()=>this.imported()?.page??this.livePage());views=Q(()=>this.livePage()?.options??{flash:!1,track:!1,angularProfiling:!1,angularProfilingAvailable:!0});canShowViews=X(()=>!!this.pageId()&&this.livePage()?.supported!==!1);message=D(``);announcement=D(``);recording=X(()=>this.page()?.recording===!0);cycles=X(()=>this.page()?.cycles??[]);maxCycles=X(()=>_E(this.rpc()).limits.cdCycles);picked=X(()=>xk(this.cycles(),this.range()));hasSpans=X(()=>this.picked().some(e=>e.spans?.length));spanNames=X(()=>this.page()?.spanNames??[]);stats=X(()=>this.range()?Sk(this.picked()):[...this.page()?.components??[]].sort((e,t)=>t.ms-e.ms));scope=X(()=>{let e=this.range()?this.picked():[];return e.length?e.length===1?`cycle ${e[0].id}`:`cycles ${e[0].id} to ${e.at(-1).id}`:`the recording`});slowest=X(()=>this.stats().slice(0,Tj));latest=X(()=>this.cycles().slice(-30).reverse());capNotes=X(()=>{let e=this.page()?.droppedClasses??0,t=this.page()?.droppedHosts??0,n=[];return e>0&&n.push(`${e} more component ${e===1?`class was`:`classes were`} checked than a recording keeps, so ${e===1?`it is`:`they are`} left out of these totals.`),t>0&&n.push(`${t} component ${t===1?`instance was`:`instances were`} checked past the 2000 a recording counts, so ${t===1?`its tree row shows`:`their tree rows show`} no check count.`),n});status=X(()=>{if(this.message())return this.message();let e=this.cycles().length;return this.imported()?`${e} ${e===1?`cycle`:`cycles`} imported.`:this.recording()?`Recording. ${e} ${e===1?`cycle`:`cycles`} so far.`:e?`${e} ${e===1?`cycle`:`cycles`} recorded.`:``});ms(e){return`${e<10?e.toFixed(2):Math.round(e)} ms`}clock(e){return vO(e)}causeText(e){return nk(e)}confirming=D(null);confirmTimer;constructor(){vc(()=>{let e=this.confirming();e!==null&&this.livePage()?.recording===!0===e&&Z(()=>this.confirmed(e))}),C(js).onDestroy(()=>clearTimeout(this.confirmTimer))}confirmed(e){clearTimeout(this.confirmTimer),this.confirming.set(null),this.message.set(``);let t=this.livePage()?.cycles.length??0;this.announce(e?`Recording started.`:`Recording stopped. ${t} ${t===1?`cycle`:`cycles`} recorded.`)}unconfirmed(e){let t=`The page did not confirm that the recording ${e?`started`:`stopped`}. The tab may be in the background, closed or reloading.`;this.message.set(t),this.announce(t)}async toggle(){let e=!this.recording();clearTimeout(this.confirmTimer),this.confirming.set(null),await this.send({on:e},e?`Starting…`:`Stopping…`,()=>``,`request-change-detection-record`,{quiet:!0,keepPending:!0})&&(this.confirming.set(e),this.confirmTimer=setTimeout(()=>{this.confirming()===e&&this.unconfirmed(e)},wj))}showImport(e){this.message.set(``),this.range.set(null),this.imported.set(e);let t=e.page.cycles.length;this.announce(`Imported ${e.fileName}: ${t} ${t===1?`cycle`:`cycles`}. Showing the imported recording.`)}closeImport(){this.imported.set(null),this.range.set(null),this.announce(`Showing the live recording.`)}async clear(){this.range.set(null),await this.send({clear:!0},``,()=>`Cleared the recorded cycles.`)}async setView(e,t){let n=this.views();this.views.set({...n,[e]:t});let r={flash:t?`Flash checks on.`:`Flash checks off.`,track:t?`Performance track on. Record in the Chrome Performance panel to see it.`:`Performance track off.`,angularProfiling:`Angular profiling on. It stays on until the page reloads.`}[e];await this.send({[e]:t},``,()=>r,`request-change-detection-options`)||this.views.set(n)}async send(e,t,n,r=`request-change-detection-record`,{quiet:i=!1,keepPending:a=!1}={}){this.message.set(t);try{if(!this.rpc())throw Error(`no client`);return await tE(this.rpc(),r,{pageId:this.pageId(),...e}),a||this.message.set(``),i||this.announce(n()),!0}catch{let e=`Could not reach the page.`;return this.message.set(e),this.announce(e),!1}}announce(e){this.announcement.update(t=>t===e?`${e} `:e)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-recording`]],inputs:{livePage:[1,`page`,`livePage`],pageId:[1,`pageId`],rpc:[1,`rpc`],native:[1,`native`]},outputs:{showComponent:`showComponent`},decls:22,vars:13,consts:[[`aria-labelledby`,`cd-heading`,1,`cd`],[1,`cd-head`],[`id`,`cd-heading`],[3,`imported`,`page`,`maxCycles`],[1,`status`],[`role`,`status`,1,`sr-only`],[1,`imported`],[1,`hint`],[`what`,`cycles`,`limit`,`cdCycles`,3,`dropped`,`max`],[1,`note`],[1,`empty`],[`type`,`button`,3,`click`,`disabled`],[`aria-hidden`,`true`,1,`dot`],[`type`,`button`],[`type`,`button`,3,`click`],[1,`badge`],[1,`mono`],[`capability`,`profiler`,`missing`,``,`compact`,``,3,`page`],[`role`,`group`,`aria-labelledby`,`cd-views-label`,1,`views`],[`id`,`cd-views-label`,1,`views-label`],[`type`,`button`,1,`view`,3,`click`,`disabled`],[`capability`,`angularProfiling`,`missing`,``,`compact`,``,3,`page`],[3,`rangeChange`,`cycles`,`range`],[3,`pick`,`cycles`,`names`,`scope`],[1,`spans-note`],[3,`pick`,`stats`,`scope`],[1,`cd-grid`],[`scope`,`col`],[`scope`,`col`,1,`num`],[`aria-label`,`Latest change detection cycles, newest first`,1,`cycles`],[3,`page`],[1,`num`],[`colspan`,`4`],[1,`when`],[1,`trigger`],[1,`timing`],[1,`top`]],template:function(e,t){if(e&1&&(I(0,`section`,0)(1,`div`,1)(2,`h2`,2),K(3,`Change detection`),L(),j(4,ej,4,5),I(5,`app-cd-transfer`,3),H(`imported`,function(e){return t.showImport(e)}),L(),I(6,`p`,4),K(7),L(),I(8,`p`,5),K(9),L()(),j(10,tj,7,1,`p`,6),I(11,`p`,7),K(12,` Records each change detection cycle with Angular's profiler: how long it took, how many components it checked, what started it and which checks changed nothing. Tree rows show how often each instance was checked. Times come from a development build. While it records, the page also wraps Angular's scheduler, adds a signal write hook and watches DOM updates; all of it stops with the recording. `),j(13,nj,1,0),L(),j(14,aj,2,1),j(15,cj,16,7),R(16,`app-limit-note`,8),N(17,lj,2,1,`p`,9,vg),j(19,fj,9,9),j(20,Sj,27,4)(21,Cj,2,0,`p`,10),L()),e&2){let e;O(4),M(t.imported()?-1:4),O(),F(`page`,t.page())(`maxCycles`,t.maxCycles()),O(2),q(t.status()),O(2),q(t.announcement()),O(),M((e=t.imported())?10:-1,e),O(3),M(t.native()?13:-1),O(),M(t.page()?.supported===!1?14:-1),O(),M(!t.imported()&&!t.native()?15:-1),O(),F(`dropped`,t.page()?.dropped??0)(`max`,t.maxCycles()),O(),P(t.capNotes()),O(2),M(t.cycles().length?19:-1),O(),M(t.page()?.components?.length?20:t.recording()?21:-1)}},dependencies:[FD,wO,LA,Yk,BA,dA,EA,ZA],styles:[`[_nghost-%COMP%] { +}`]})},QA=(e,t)=>t.id;function $A(e,t){if(e&1){let e=V();I(0,`button`,14),H(`click`,function(){return w(e),T(W(2).clear())}),K(1,`Clear`),L()}}function ej(e,t){if(e&1){let e=V();I(0,`button`,11),H(`click`,function(){return w(e),T(W().toggle())}),R(1,`span`,12),K(2),L(),j(3,$A,2,0,`button`,13)}if(e&2){let e=W();G(`on`,e.recording()),F(`disabled`,!e.pageId()),O(2),J(` `,e.recording()?`Stop recording`:`Record`,` `),O(),M(e.cycles().length?3:-1)}}function tj(e,t){if(e&1){let e=V();I(0,`p`,6)(1,`span`,15),K(2,`Imported recording`),L(),I(3,`span`,16),K(4),L(),I(5,`button`,14),H(`click`,function(){return w(e),T(W().closeImport())}),K(6,`Back to live recording`),L()()}e&2&&(O(4),q(t.fileName))}function nj(e,t){e&1&&K(0,` An app on a device has no DOM, so checks that changed nothing are not counted there. `)}function rj(e,t){e&1&&(I(0,`p`,9),K(1,` The page has Angular's profiler hook, but the recording could not attach to it yet. The page tries again on its next update while recording is on. If this stays, stop and start the recording, or reload the page. `),L())}function ij(e,t){e&1&&R(0,`app-angular-unavailable`,17),e&2&&F(`page`,W(2).angularPage())}function aj(e,t){e&1&&j(0,rj,2,0,`p`,9)(1,ij,1,1,`app-angular-unavailable`,17),e&2&&M(+!W().attachPending())}function oj(e,t){e&1&&(I(0,`p`,9),K(1,`Angular profiling stays on until the page reloads.`),L())}function sj(e,t){e&1&&R(0,`app-angular-unavailable`,21),e&2&&F(`page`,W(2).angularPage())}function cj(e,t){if(e&1){let e=V();I(0,`div`,18)(1,`span`,19),K(2,`Live views`),L(),I(3,`button`,20),H(`click`,function(){w(e);let t=W();return T(t.setView(`flash`,!t.views().flash))}),R(4,`span`,12),K(5,` Flash checks `),L(),I(6,`button`,20),H(`click`,function(){w(e);let t=W();return T(t.setView(`track`,!t.views().track))}),R(7,`span`,12),K(8,` Performance track `),L(),I(9,`button`,20),H(`click`,function(){return w(e),T(W().setView(`angularProfiling`,!0))}),R(10,`span`,12),K(11,` Angular profiling `),L()(),I(12,`p`,7),K(13,` Flash checks draws a box over each component on the page as Angular checks it, with its name and how often it was checked, fading over a second. Performance track adds a Pangular track to the Chrome Performance panel with every component check, hook and output. Angular profiling turns on Angular's own track there. `),L(),j(14,oj,2,0,`p`,9)(15,sj,1,1,`app-angular-unavailable`,21)}if(e&2){let e=W();O(3),F(`disabled`,!e.canShowViews()),A(`aria-pressed`,e.views().flash),O(3),F(`disabled`,!e.canShowViews()),A(`aria-pressed`,e.views().track),O(3),F(`disabled`,!e.canShowViews()||e.views().angularProfiling||!e.views().angularProfilingAvailable),A(`aria-pressed`,e.views().angularProfiling),O(5),M(e.views().angularProfiling?14:e.views().angularProfilingAvailable?-1:15)}}function lj(e,t){if(e&1&&(I(0,`p`,9),K(1),L()),e&2){let e=t.$implicit;O(),q(e)}}function uj(e,t){if(e&1&&(I(0,`p`,24),K(1),L()),e&2){let e=W(2);O(),J(` `,e.range()?`The picked cycles have no timed spans, so there is no flame graph for them.`:`This recording has no timed spans, so there is no flame graph. A recording from an older version, or a file saved without spans, has none.`,` `)}}function dj(e,t){e&1&&(I(0,`p`,9),K(1,` For picked cycles, totals come from the 10 slowest components each cycle lists. `),L())}function fj(e,t){if(e&1){let e=V();I(0,`h3`),K(1,`Cycles`),L(),I(2,`app-cd-cycle-chart`,22),W_(`rangeChange`,function(t){w(e);let n=W();return U_(n.range,t)||(n.range=t),T(t)}),L(),I(3,`app-cd-flame-graph`,23),H(`pick`,function(t){return w(e),T(W().showComponent.emit(t))}),L(),j(4,uj,2,1,`p`,24),I(5,`h3`),K(6,`Self time by component`),L(),j(7,dj,2,0,`p`,9),I(8,`app-cd-treemap`,25),H(`pick`,function(t){return w(e),T(W().showComponent.emit(t))}),L()}if(e&2){let e=W();O(2),F(`cycles`,e.cycles()),H_(`range`,e.range),O(),F(`cycles`,e.picked())(`names`,e.spanNames())(`scope`,e.scope()),O(),M(e.hasSpans()?-1:4),O(3),M(e.range()?7:-1),O(),F(`stats`,e.stats())(`scope`,e.scope())}}function pj(e,t){if(e&1&&(I(0,`tr`)(1,`td`,16),K(2),L(),I(3,`td`,31),K(4),L(),I(5,`td`,31),K(6),L(),I(7,`td`,31),K(8),L()()),e&2){let e=t.$implicit,n=W(2);O(2),q(e.name),O(2),q(e.checks),O(2),q(n.ms(e.ms)),O(2),q(n.ms(e.maxMs))}}function mj(e,t){e&1&&(I(0,`tr`)(1,`td`,32),K(2,`No component time in the picked cycles.`),L()())}function hj(e,t){if(e&1&&(I(0,`span`,34),K(1,`from `),I(2,`span`,16),K(3),L()()),e&2){let e=W(3);O(3),q(e.causeText(t))}}function gj(e,t){if(e&1&&(I(0,`span`,34),K(1,`after `),I(2,`span`,16),K(3),L()()),e&2){let e=W().$implicit;O(3),q(e.trigger)}}function _j(e,t){if(e&1&&(I(0,`span`,35),K(1),L()),e&2){let e=W().$implicit;O(),J(``,e.unchanged,` changed nothing`)}}function vj(e,t){if(e&1&&(I(0,`span`,35),K(1),L()),e&2){let e=W().$implicit,t=W(2);O(),J(`hooks `,t.ms(e.hookMs))}}function yj(e,t){if(e&1&&(I(0,`span`,35),K(1),L()),e&2){let e=W().$implicit,t=W(2);O(),J(`afterRender `,t.ms(e.afterRenderMs))}}function bj(e,t){if(e&1&&(I(0,`span`,36),K(1,` slowest `),I(2,`span`,16),K(3),L(),K(4),L()),e&2){let e=t,n=W(3);O(3),q(e.name),O(),J(` `,n.ms(e.ms),` `)}}function xj(e,t){if(e&1&&(I(0,`li`)(1,`span`,33),K(2),L(),I(3,`span`,16),K(4),L(),I(5,`span`),K(6),L(),j(7,hj,4,1,`span`,34)(8,gj,4,1,`span`,34),j(9,_j,2,1,`span`,35),j(10,vj,2,1,`span`,35),j(11,yj,2,1,`span`,35),j(12,bj,5,2,`span`,36),L()),e&2){let e,n,r=t.$implicit,i=W(2);O(2),q(i.clock(r.at)),O(2),q(i.ms(r.ms)),O(2),B_(` `,r.checks,` `,r.checks===1?`check`:`checks`,`, `,r.passes,` `,r.passes===1?`pass`:`passes`,` `),O(),M((e=r.cause)?7:r.trigger?8:-1,e),O(2),M(r.unchanged?9:-1),O(),M(r.hookMs?10:-1),O(),M(r.afterRenderMs?11:-1),O(),M((n=r.components[0])?12:-1,n)}}function Sj(e,t){if(e&1&&(I(0,`div`,26)(1,`div`)(2,`h3`),K(3),L(),I(4,`table`)(5,`thead`)(6,`tr`)(7,`th`,27),K(8,`Component`),L(),I(9,`th`,28),K(10,`Checks`),L(),I(11,`th`,28),K(12,`Self time`),L(),I(13,`th`,28),K(14,`Slowest`),L()()(),I(15,`tbody`),N(16,pj,9,4,`tr`,null,_g,!1,mj,3,0,`tr`),L()()(),I(19,`div`)(20,`h3`),K(21,`Latest cycles`),L(),I(22,`ol`,29),N(23,xj,13,11,`li`,null,QA),L()()(),R(25,`app-cd-timing`,30)(26,`app-cd-diagnosis`,30)),e&2){let e=W();O(3),J(` `,e.range()?`Slowest components in the picked cycles`:`Slowest components`,` `),O(13),P(e.slowest()),O(7),P(e.latest()),O(2),F(`page`,e.page()),O(),F(`page`,e.page())}}function Cj(e,t){e&1&&(I(0,`p`,10),K(1,`Use the app. Cycles show up here as Angular runs change detection.`),L())}var wj=3e3,Tj=10,Ej=class e{livePage=$(null,{alias:`page`});pageId=$(null);rpc=$(null);native=$(!1);angularPages=AD(()=>this.rpc());angularPage=X(()=>jD(this.angularPages(),this.pageId()));attachPending=X(()=>this.angularPage()?.capabilities.profiler===!0);showComponent=bv();range=D(null);imported=D(null);page=X(()=>this.imported()?.page??this.livePage());views=Q(()=>this.livePage()?.options??{flash:!1,track:!1,angularProfiling:!1,angularProfilingAvailable:!0});canShowViews=X(()=>!!this.pageId()&&this.livePage()?.supported!==!1);message=D(``);announcement=D(``);recording=X(()=>this.page()?.recording===!0);cycles=X(()=>this.page()?.cycles??[]);maxCycles=X(()=>_E(this.rpc()).limits.cdCycles);picked=X(()=>xk(this.cycles(),this.range()));hasSpans=X(()=>this.picked().some(e=>e.spans?.length));spanNames=X(()=>this.page()?.spanNames??[]);stats=X(()=>this.range()?Sk(this.picked()):[...this.page()?.components??[]].sort((e,t)=>t.ms-e.ms));scope=X(()=>{let e=this.range()?this.picked():[];return e.length?e.length===1?`cycle ${e[0].id}`:`cycles ${e[0].id} to ${e.at(-1).id}`:`the recording`});slowest=X(()=>this.stats().slice(0,Tj));latest=X(()=>this.cycles().slice(-30).reverse());capNotes=X(()=>{let e=this.page()?.droppedClasses??0,t=this.page()?.droppedHosts??0,n=[];return e>0&&n.push(`${e} more component ${e===1?`class was`:`classes were`} checked than a recording keeps, so ${e===1?`it is`:`they are`} left out of these totals.`),t>0&&n.push(`${t} component ${t===1?`instance was`:`instances were`} checked past the 2000 a recording counts, so ${t===1?`its tree row shows`:`their tree rows show`} no check count.`),n});status=X(()=>{if(this.message())return this.message();let e=this.cycles().length;return this.imported()?`${e} ${e===1?`cycle`:`cycles`} imported.`:this.recording()?`Recording. ${e} ${e===1?`cycle`:`cycles`} so far.`:e?`${e} ${e===1?`cycle`:`cycles`} recorded.`:``});ms(e){return`${e<10?e.toFixed(2):Math.round(e)} ms`}clock(e){return vO(e)}causeText(e){return nk(e)}confirming=D(null);confirmTimer;constructor(){vc(()=>{let e=this.confirming();e!==null&&this.livePage()?.recording===!0===e&&Z(()=>this.confirmed(e))}),C(js).onDestroy(()=>clearTimeout(this.confirmTimer))}confirmed(e){clearTimeout(this.confirmTimer),this.confirming.set(null),this.message.set(``);let t=this.livePage()?.cycles.length??0;this.announce(e?`Recording started.`:`Recording stopped. ${t} ${t===1?`cycle`:`cycles`} recorded.`)}unconfirmed(e){let t=`The page did not confirm that the recording ${e?`started`:`stopped`}. The tab may be in the background, closed or reloading.`;this.message.set(t),this.announce(t)}async toggle(){let e=!this.recording();clearTimeout(this.confirmTimer),this.confirming.set(null),await this.send({on:e},e?`Starting…`:`Stopping…`,()=>``,`request-change-detection-record`,{quiet:!0,keepPending:!0})&&(this.confirming.set(e),this.confirmTimer=setTimeout(()=>{this.confirming()===e&&this.unconfirmed(e)},wj))}showImport(e){this.message.set(``),this.range.set(null),this.imported.set(e);let t=e.page.cycles.length;this.announce(`Imported ${e.fileName}: ${t} ${t===1?`cycle`:`cycles`}. Showing the imported recording.`)}closeImport(){this.imported.set(null),this.range.set(null),this.announce(`Showing the live recording.`)}async clear(){this.range.set(null),await this.send({clear:!0},``,()=>`Cleared the recorded cycles.`)}async setView(e,t){let n=this.views();this.views.set({...n,[e]:t});let r={flash:t?`Flash checks on.`:`Flash checks off.`,track:t?`Performance track on. Record in the Chrome Performance panel to see it.`:`Performance track off.`,angularProfiling:`Angular profiling on. It stays on until the page reloads.`}[e];await this.send({[e]:t},``,()=>r,`request-change-detection-options`)||this.views.set(n)}async send(e,t,n,r=`request-change-detection-record`,{quiet:i=!1,keepPending:a=!1}={}){this.message.set(t);try{if(!this.rpc())throw Error(`no client`);return await tE(this.rpc(),r,{pageId:this.pageId(),...e}),a||this.message.set(``),i||this.announce(n()),!0}catch{let e=`Could not reach the page.`;return this.message.set(e),this.announce(e),!1}}announce(e){this.announcement.update(t=>t===e?`${e} `:e)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-cd-recording`]],inputs:{livePage:[1,`page`,`livePage`],pageId:[1,`pageId`],rpc:[1,`rpc`],native:[1,`native`]},outputs:{showComponent:`showComponent`},decls:22,vars:13,consts:[[`aria-labelledby`,`cd-heading`,1,`cd`],[1,`cd-head`],[`id`,`cd-heading`],[3,`imported`,`page`,`maxCycles`],[1,`status`],[`role`,`status`,1,`sr-only`],[1,`imported`],[1,`hint`],[`what`,`cycles`,`limit`,`cdCycles`,3,`dropped`,`max`],[1,`note`],[1,`empty`],[`type`,`button`,3,`click`,`disabled`],[`aria-hidden`,`true`,1,`dot`],[`type`,`button`],[`type`,`button`,3,`click`],[1,`badge`],[1,`mono`],[`capability`,`profiler`,`missing`,``,`compact`,``,3,`page`],[`role`,`group`,`aria-labelledby`,`cd-views-label`,1,`views`],[`id`,`cd-views-label`,1,`views-label`],[`type`,`button`,1,`view`,3,`click`,`disabled`],[`capability`,`angularProfiling`,`missing`,``,`compact`,``,3,`page`],[3,`rangeChange`,`cycles`,`range`],[3,`pick`,`cycles`,`names`,`scope`],[1,`spans-note`],[3,`pick`,`stats`,`scope`],[1,`cd-grid`],[`scope`,`col`],[`scope`,`col`,1,`num`],[`aria-label`,`Latest change detection cycles, newest first`,1,`cycles`],[3,`page`],[1,`num`],[`colspan`,`4`],[1,`when`],[1,`trigger`],[1,`timing`],[1,`top`]],template:function(e,t){if(e&1&&(I(0,`section`,0)(1,`div`,1)(2,`h2`,2),K(3,`Change detection`),L(),j(4,ej,4,5),I(5,`app-cd-transfer`,3),H(`imported`,function(e){return t.showImport(e)}),L(),I(6,`p`,4),K(7),L(),I(8,`p`,5),K(9),L()(),j(10,tj,7,1,`p`,6),I(11,`p`,7),K(12,` Records each change detection cycle with Angular's profiler: how long it took, how many components it checked, what started it and which checks changed nothing. Tree rows show how often each instance was checked. Times come from a development build. While it records, the page also wraps Angular's scheduler, adds a signal write hook and watches DOM updates; all of it stops with the recording. `),j(13,nj,1,0),L(),j(14,aj,2,1),j(15,cj,16,7),R(16,`app-limit-note`,8),N(17,lj,2,1,`p`,9,vg),j(19,fj,9,9),j(20,Sj,27,4)(21,Cj,2,0,`p`,10),L()),e&2){let e;O(4),M(t.imported()?-1:4),O(),F(`page`,t.page())(`maxCycles`,t.maxCycles()),O(2),q(t.status()),O(2),q(t.announcement()),O(),M((e=t.imported())?10:-1,e),O(3),M(t.native()?13:-1),O(),M(t.page()?.supported===!1?14:-1),O(),M(!t.imported()&&!t.native()?15:-1),O(),F(`dropped`,t.page()?.dropped??0)(`max`,t.maxCycles()),O(),P(t.capNotes()),O(2),M(t.cycles().length?19:-1),O(),M(t.page()?.components?.length?20:t.recording()?21:-1)}},dependencies:[FD,wO,LA,Yk,BA,dA,EA,ZA],styles:[`[_nghost-%COMP%] { display: block; margin-top: 16px; } @@ -1811,7 +1811,7 @@ td.mono[_ngcontent-%COMP%] { .trigger[_ngcontent-%COMP%] .mono[_ngcontent-%COMP%], .top[_ngcontent-%COMP%] .mono[_ngcontent-%COMP%] { overflow-wrap: anywhere; -}`]})},Dj=[`*`];function Oj(e,t){e&1&&K(0),e&2&&q(W(2).label())}function kj(e,t){e&1&&Yg(0,0,null,Oj,1,1)}function Aj(e,t){if(e&1&&(I(0,`span`,4),K(1),L()),e&2){let e=W(2);O(),q(e.message())}}function jj(e,t){if(e&1){let e=V();I(0,`button`,2),H(`click`,function(){return w(e),T(W().open())}),Ng(1,3),L(),j(2,Aj,2,1,`span`,4)}if(e&2){let e=W(),t=$g(1);F(`title`,`Open `+e.label()+` in your editor`),A(`aria-label`,`Open `+e.label()+` in your editor`),O(),F(`ngTemplateOutlet`,t),O(),M(e.message()?2:-1)}}function Mj(e,t){if(e&1&&(I(0,`span`,1),Ng(1,3),L()),e&2){let e=W(),t=$g(1);F(`title`,e.label()),O(),F(`ngTemplateOutlet`,t)}}var Nj=class e{source=D(D(null));client=X(()=>this.source()());available=X(()=>{let e=this.client();return!!e&&!rE(e)});use(e){this.source.set(e)}async open(e,t){if(!this.available())return{ok:!1,error:`No server is connected.`};try{let n=await tE(this.client(),`open-in-editor`,{file:e,...t?{line:t}:{}});return n?.ok?{ok:!0}:{ok:!1,error:n?.error??`The server did not open it.`}}catch{return{ok:!1,error:`The server did not open it.`}}}static ɵfac=function(t){return new(t||e)};static ɵprov=zl({token:e,factory:e.ɵfac})};function Pj(e,t){return t?`${e}:${t}`:e}var Fj=class e{editor=C(Nj);file=$.required();line=$(void 0);label=X(()=>Pj(this.file(),this.line()));message=D(``);async open(){this.message.set(``);let e=await this.editor.open(this.file(),this.line()??void 0);e.ok||this.message.set(`Not opened: ${e.error}`)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-source-link`]],inputs:{file:[1,`file`],line:[1,`line`]},ngContentSelectors:Dj,decls:4,vars:1,consts:[[`text`,``],[1,`source-text`,3,`title`],[`type`,`button`,1,`source-link`,3,`click`,`title`],[3,`ngTemplateOutlet`],[`role`,`alert`,1,`message`]],template:function(e,t){e&1&&(Jg(),Yh(0,kj,2,0,`ng-template`,null,0,fv),j(2,jj,3,4)(3,Mj,2,2,`span`,1)),e&2&&(O(2),M(t.editor.available()?2:3))},dependencies:[py],styles:[`[_nghost-%COMP%] { +}`]})},Dj=[`*`];function Oj(e,t){e&1&&K(0),e&2&&q(W(2).label())}function kj(e,t){e&1&&Yg(0,0,null,Oj,1,1)}function Aj(e,t){if(e&1&&(I(0,`span`,4),K(1),L()),e&2){let e=W(2);O(),q(e.message())}}function jj(e,t){if(e&1){let e=V();I(0,`button`,2),H(`click`,function(){return w(e),T(W().open())}),Ng(1,3),L(),j(2,Aj,2,1,`span`,4)}if(e&2){let e=W(),t=$g(1);F(`title`,`Open `+e.label()+` in your editor`),A(`aria-label`,`Open `+e.label()+` in your editor`),O(),F(`ngTemplateOutlet`,t),O(),M(e.message()?2:-1)}}function Mj(e,t){if(e&1&&(I(0,`span`,1),Ng(1,3),L()),e&2){let e=W(),t=$g(1);F(`title`,e.label()),O(),F(`ngTemplateOutlet`,t)}}var Nj=class e{source=D(D(null));client=X(()=>this.source()());available=X(()=>{let e=this.client();return!!e&&!rE(e)});use(e){this.source.set(e)}async open(e,t){if(!this.available())return{ok:!1,error:`No server is connected.`};try{let n=await tE(this.client(),`open-in-editor`,{file:e,...t?{line:t}:{}});return n?.ok?{ok:!0}:{ok:!1,error:n?.error??`The server did not open it.`}}catch{return{ok:!1,error:`The server did not open it.`}}}static ɵfac=function(t){return new(t||e)};static ɵprov=zl({token:e,factory:e.ɵfac})};function Pj(e,t){return t?`${e}:${t}`:e}var Fj=class e{editor=C(Nj);file=$.required();line=$(void 0);label=X(()=>Pj(this.file(),this.line()));message=D(``);async open(){this.message.set(``);let e=await this.editor.open(this.file(),this.line()??void 0);e.ok||this.message.set(`Not opened: ${e.error}`)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-source-link`]],inputs:{file:[1,`file`],line:[1,`line`]},ngContentSelectors:Dj,decls:4,vars:1,consts:[[`text`,``],[1,`source-text`,3,`title`],[`type`,`button`,1,`source-link`,3,`click`,`title`],[3,`ngTemplateOutlet`],[`role`,`alert`,1,`message`]],template:function(e,t){e&1&&(Jg(),Yh(0,kj,2,0,`ng-template`,null,0,pv),j(2,jj,3,4)(3,Mj,2,2,`span`,1)),e&2&&(O(2),M(t.editor.available()?2:3))},dependencies:[py],styles:[`[_nghost-%COMP%] { display: inline; min-width: 0; } @@ -1846,7 +1846,7 @@ td.mono[_ngcontent-%COMP%] { color: var(--%NS%danger-text); font-family: var(--%NS%font-sans); font-size: 0.92em; -}`]})},Ij=[`field`],Lj=[`editButton`],Rj=[`valueBox`];function zj(e,t){if(e&1){let e=V();z(0,`div`,5)(1,`label`,6),K(2),B(),z(3,`input`,7,0),U(`input`,function(t){return w(e),T(W().draft.set(t.target.value))})(`keydown.enter`,function(t){w(e);let n=W();return t.preventDefault(),T(n.apply())})(`keydown.escape`,function(t){w(e);let n=W();return t.preventDefault(),t.stopPropagation(),T(n.cancel())}),B(),z(5,`button`,8),U(`click`,function(){return w(e),T(W().apply())}),K(6,`Apply`),B(),z(7,`button`,9),U(`click`,function(){return w(e),T(W().cancel())}),K(8,`Cancel`),B()(),z(9,`p`,10),K(10),B()}if(e&2){let e=W();O(),Fg(`htmlFor`,e.fieldId),O(),J(`New value of `,e.prop().name,`, as JSON`),O(),Fg(`id`,e.fieldId)(`value`,e.draft())(`readOnly`,e.busy()),A(`aria-busy`,e.busy()?`true`:null)(`aria-invalid`,e.error()?`true`:null)(`aria-describedby`,e.hintId+(e.error()?` `+e.errorId:``)),O(2),Fg(`disabled`,e.busy()),O(4),Fg(`id`,e.hintId),O(),J(` JSON, such as "text", 42, true or `,e.objectSample,`. Enter applies, Escape cancels. `)}}function Bj(e,t){if(e&1&&(z(0,`pre`,null,1),K(2),cv(3,`json`),B()),e&2){let e=W(2);A(`tabindex`,e.scrollable()?0:null)(`role`,e.scrollable()?`region`:null)(`aria-label`,e.scrollable()?`Value of `+e.prop().name:null),O(2),q(lv(3,4,e.prop().value))}}function Vj(e,t){if(e&1){let e=V();z(0,`button`,14,2),U(`click`,function(){return w(e),T(W(2).start())}),K(2,` Edit `),B()}if(e&2){let e=W(2);Fg(`disabled`,e.busy()),A(`aria-label`,`Edit `+e.prop().name)}}function Hj(e,t){if(e&1&&(z(0,`p`,13),K(1),B()),e&2){let e=W(2);O(),q(e.prop().locked)}}function Uj(e,t){if(e&1&&(z(0,`div`,11),j(1,Bj,4,6,`pre`),j(2,Vj,3,2,`button`,12),B(),j(3,Hj,2,1,`p`,13)),e&2){let e=W();O(),M(e.bare()?-1:1),O(),M(e.editable()?2:-1),O(),M(e.writes()&&e.prop().locked?3:-1)}}function Wj(e,t){if(e&1&&(z(0,`p`,3),K(1),B()),e&2){let e=W();Fg(`id`,e.errorId),O(),q(e.error())}}var Gj=0;function Kj(e){let t=e.trim();if(!t)return{error:`Type a JSON value, such as "text", 42, true, null or [1, 2].`};try{return{value:JSON.parse(t)}}catch{return{error:`Not valid JSON. Put text in double quotes, such as "Paris".`}}}var qj=class e{prop=$.required();componentId=$.required();pageId=$(null);rpc=$(null);writes=$(!1);bare=$(!1);readDraft=$(null);fieldId=`prop-edit-${++Gj}`;hintId=`${this.fieldId}-hint`;errorId=`${this.fieldId}-error`;objectSample=`{"a": 1}`;editing=D(!1);draft=D(``);busy=D(!1);error=D(``);done=D(``);editable=X(()=>this.writes()&&!!this.prop().edit&&!!this.pageId()&&!!this.rpc());field=Ev(`field`);editButton=Ev(`editButton`);valueBox=Ev(`valueBox`);injector=C(ks);scrollable=D(!1);constructor(){Nv(()=>{this.prop();let e=this.valueBox()?.nativeElement;this.scrollable.set(!!e&&e.scrollHeight>e.clientHeight+1)})}async start(){let e=this.prop().value;this.error.set(``),this.done.set(``);let t=this.readDraft();if(t){this.busy.set(!0);let n=await t();if(this.busy.set(!1),n.error!==void 0){this.error.set(n.error);return}e=n.value}this.draft.set(e===void 0?``:JSON.stringify(e)),this.editing.set(!0),dd(()=>{let e=this.field()?.nativeElement;e?.focus(),e?.select()},{injector:this.injector})}cancel(){this.editing()&&(this.editing.set(!1),this.busy.set(!1),this.error.set(``),this.focusEdit())}async apply(){if(this.busy())return;let e=Kj(this.draft());if(`error`in e){this.error.set(e.error);return}let t=this.prop(),n=this.rpc(),r=this.pageId();if(!n||!r||!t.edit)return;this.busy.set(!0),this.error.set(``);let i;try{i=await n.scope(`pangular`).rpc.call(`request-component-edit`,{pageId:r,request:{id:this.componentId(),path:t.prop,value:e.value,kind:t.edit}})??{}}catch{i={error:`The devtools server did not answer. Try again.`}}this.busy.set(!1),this.editing()&&(i.ok?(this.editing.set(!1),this.done.set(`Set ${t.name}.`),this.focusEdit()):(this.error.set(i.error??`The page did not write it.`),this.field()?.nativeElement.focus()))}focusEdit(){dd(()=>this.editButton()?.nativeElement.focus(),{injector:this.injector})}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-prop-value`]],viewQuery:function(e,t){e&1&&Zg(t.field,Ij,5)(t.editButton,Lj,5)(t.valueBox,Rj,5),e&2&&Qg(3)},inputs:{prop:[1,`prop`],componentId:[1,`componentId`],pageId:[1,`pageId`],rpc:[1,`rpc`],writes:[1,`writes`],bare:[1,`bare`],readDraft:[1,`readDraft`]},decls:5,vars:3,consts:[[`field`,``],[`valueBox`,``],[`editButton`,``],[`role`,`alert`,1,`error`,3,`id`],[`role`,`status`,1,`sr-only`],[1,`editor`],[1,`sr-only`,3,`for`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,1,`field`,`mono`,3,`input`,`keydown.enter`,`keydown.escape`,`id`,`value`,`readOnly`],[`type`,`button`,1,`primary`,3,`click`,`disabled`],[`type`,`button`,3,`click`],[1,`hint`,3,`id`],[1,`view`],[`type`,`button`,1,`edit`,3,`disabled`],[1,`locked`],[`type`,`button`,1,`edit`,3,`click`,`disabled`]],template:function(e,t){e&1&&(j(0,zj,11,11)(1,Uj,4,3),j(2,Wj,2,2,`p`,3),z(3,`p`,4),K(4),B()),e&2&&(M(+!t.editing()),O(2),M(t.error()?2:-1),O(2),q(t.done()))},dependencies:[yy],styles:[`[_nghost-%COMP%] { +}`]})},Ij=[`field`],Lj=[`editButton`],Rj=[`valueBox`];function zj(e,t){if(e&1){let e=V();z(0,`div`,5)(1,`label`,6),K(2),B(),z(3,`input`,7,0),U(`input`,function(t){return w(e),T(W().draft.set(t.target.value))})(`keydown.enter`,function(t){w(e);let n=W();return t.preventDefault(),T(n.apply())})(`keydown.escape`,function(t){w(e);let n=W();return t.preventDefault(),t.stopPropagation(),T(n.cancel())}),B(),z(5,`button`,8),U(`click`,function(){return w(e),T(W().apply())}),K(6,`Apply`),B(),z(7,`button`,9),U(`click`,function(){return w(e),T(W().cancel())}),K(8,`Cancel`),B()(),z(9,`p`,10),K(10),B()}if(e&2){let e=W();O(),Fg(`htmlFor`,e.fieldId),O(),J(`New value of `,e.prop().name,`, as JSON`),O(),Fg(`id`,e.fieldId)(`value`,e.draft())(`readOnly`,e.busy()),A(`aria-busy`,e.busy()?`true`:null)(`aria-invalid`,e.error()?`true`:null)(`aria-describedby`,e.hintId+(e.error()?` `+e.errorId:``)),O(2),Fg(`disabled`,e.busy()),O(4),Fg(`id`,e.hintId),O(),J(` JSON, such as "text", 42, true or `,e.objectSample,`. Enter applies, Escape cancels. `)}}function Bj(e,t){if(e&1&&(z(0,`pre`,null,1),K(2),lv(3,`json`),B()),e&2){let e=W(2);A(`tabindex`,e.scrollable()?0:null)(`role`,e.scrollable()?`region`:null)(`aria-label`,e.scrollable()?`Value of `+e.prop().name:null),O(2),q(uv(3,4,e.prop().value))}}function Vj(e,t){if(e&1){let e=V();z(0,`button`,14,2),U(`click`,function(){return w(e),T(W(2).start())}),K(2,` Edit `),B()}if(e&2){let e=W(2);Fg(`disabled`,e.busy()),A(`aria-label`,`Edit `+e.prop().name)}}function Hj(e,t){if(e&1&&(z(0,`p`,13),K(1),B()),e&2){let e=W(2);O(),q(e.prop().locked)}}function Uj(e,t){if(e&1&&(z(0,`div`,11),j(1,Bj,4,6,`pre`),j(2,Vj,3,2,`button`,12),B(),j(3,Hj,2,1,`p`,13)),e&2){let e=W();O(),M(e.bare()?-1:1),O(),M(e.editable()?2:-1),O(),M(e.writes()&&e.prop().locked?3:-1)}}function Wj(e,t){if(e&1&&(z(0,`p`,3),K(1),B()),e&2){let e=W();Fg(`id`,e.errorId),O(),q(e.error())}}var Gj=0;function Kj(e){let t=e.trim();if(!t)return{error:`Type a JSON value, such as "text", 42, true, null or [1, 2].`};try{return{value:JSON.parse(t)}}catch{return{error:`Not valid JSON. Put text in double quotes, such as "Paris".`}}}var qj=class e{prop=$.required();componentId=$.required();pageId=$(null);rpc=$(null);writes=$(!1);bare=$(!1);readDraft=$(null);fieldId=`prop-edit-${++Gj}`;hintId=`${this.fieldId}-hint`;errorId=`${this.fieldId}-error`;objectSample=`{"a": 1}`;editing=D(!1);draft=D(``);busy=D(!1);error=D(``);done=D(``);editable=X(()=>this.writes()&&!!this.prop().edit&&!!this.pageId()&&!!this.rpc());field=Dv(`field`);editButton=Dv(`editButton`);valueBox=Dv(`valueBox`);injector=C(ks);scrollable=D(!1);constructor(){Pv(()=>{this.prop();let e=this.valueBox()?.nativeElement;this.scrollable.set(!!e&&e.scrollHeight>e.clientHeight+1)})}async start(){let e=this.prop().value;this.error.set(``),this.done.set(``);let t=this.readDraft();if(t){this.busy.set(!0);let n=await t();if(this.busy.set(!1),n.error!==void 0){this.error.set(n.error);return}e=n.value}this.draft.set(e===void 0?``:JSON.stringify(e)),this.editing.set(!0),dd(()=>{let e=this.field()?.nativeElement;e?.focus(),e?.select()},{injector:this.injector})}cancel(){this.editing()&&(this.editing.set(!1),this.busy.set(!1),this.error.set(``),this.focusEdit())}async apply(){if(this.busy())return;let e=Kj(this.draft());if(`error`in e){this.error.set(e.error);return}let t=this.prop(),n=this.rpc(),r=this.pageId();if(!n||!r||!t.edit)return;this.busy.set(!0),this.error.set(``);let i;try{i=await n.scope(`pangular`).rpc.call(`request-component-edit`,{pageId:r,request:{id:this.componentId(),path:t.prop,value:e.value,kind:t.edit}})??{}}catch{i={error:`The devtools server did not answer. Try again.`}}this.busy.set(!1),this.editing()&&(i.ok?(this.editing.set(!1),this.done.set(`Set ${t.name}.`),this.focusEdit()):(this.error.set(i.error??`The page did not write it.`),this.field()?.nativeElement.focus()))}focusEdit(){dd(()=>this.editButton()?.nativeElement.focus(),{injector:this.injector})}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-prop-value`]],viewQuery:function(e,t){e&1&&Zg(t.field,Ij,5)(t.editButton,Lj,5)(t.valueBox,Rj,5),e&2&&Qg(3)},inputs:{prop:[1,`prop`],componentId:[1,`componentId`],pageId:[1,`pageId`],rpc:[1,`rpc`],writes:[1,`writes`],bare:[1,`bare`],readDraft:[1,`readDraft`]},decls:5,vars:3,consts:[[`field`,``],[`valueBox`,``],[`editButton`,``],[`role`,`alert`,1,`error`,3,`id`],[`role`,`status`,1,`sr-only`],[1,`editor`],[1,`sr-only`,3,`for`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,1,`field`,`mono`,3,`input`,`keydown.enter`,`keydown.escape`,`id`,`value`,`readOnly`],[`type`,`button`,1,`primary`,3,`click`,`disabled`],[`type`,`button`,3,`click`],[1,`hint`,3,`id`],[1,`view`],[`type`,`button`,1,`edit`,3,`disabled`],[1,`locked`],[`type`,`button`,1,`edit`,3,`click`,`disabled`]],template:function(e,t){e&1&&(j(0,zj,11,11)(1,Uj,4,3),j(2,Wj,2,2,`p`,3),z(3,`p`,4),K(4),B()),e&2&&(M(+!t.editing()),O(2),M(t.error()?2:-1),O(2),q(t.done()))},dependencies:[yy],styles:[`[_nghost-%COMP%] { display: block; min-width: 0; } @@ -1969,7 +1969,7 @@ button.edit[_ngcontent-%COMP%] { .error[_ngcontent-%COMP%] { color: var(--%NS%danger-text); -}`]})},Jj=1e3,Yj={depth:5,limit:100},Xj=`[redacted]`;function Zj(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Qj(e){return Zj(e)&&typeof e.$more==`number`&&Object.keys(e).length===1}function $j(e){return Zj(e)&&typeof e.$collapsed==`string`&&typeof e.size==`number`&&Object.keys(e).length===2}function eM(e){return e===`Array`?`array`:e===`Map`?`map`:e===`Set`?`set`:`object`}function tM(e){return e.$type===`Map`&&Array.isArray(e.entries)}function nM(e){return e.$type===`Set`&&Array.isArray(e.values)}function rM(e){return Object.keys(e).filter(e=>e!==`$type`&&e!==`$more`)}function iM(e){if(!e||typeof e!=`object`)return null;if($j(e))return e.size<=0?null:{kind:eM(e.$collapsed),type:e.$collapsed,size:e.size,collapsed:!0};if(Qj(e))return null;if(Array.isArray(e)){let t=e.at(-1),n=Qj(t)?t.$more:0,r=e.length-+!!n+n;return r?{kind:`array`,type:`Array`,size:r,collapsed:!1}:null}let t=e;if(tM(t)||nM(t)){let e=typeof t.size==`number`?t.size:0,n=tM(t)?`map`:`set`;return e?{kind:n,type:n===`map`?`Map`:`Set`,size:e,collapsed:!1}:null}let n=typeof t.$more==`number`?t.$more:0,r=rM(t).length+n,i=typeof t.$type==`string`?t.$type:`Object`;return r?{kind:`object`,type:i,size:r,collapsed:!1}:null}function aM(e){if(typeof e==`string`)return JSON.stringify(e);let t=iM(e);if(t)return cM(t);try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function oM(e){let t=iM(e);if(!t||t.collapsed)return{children:[],more:0};if(Array.isArray(e)){let n=(Qj(e.at(-1))?e.slice(0,-1):e).map((e,t)=>({key:String(t),label:String(t),value:e}));return{children:n,more:t.size-n.length}}let n=e;if(t.kind===`map`){let e=n.entries.map((e,t)=>{let[n,r]=Array.isArray(e)?e:[void 0,e];return{key:String(t),label:aM(n),value:r}});return{children:e,more:Math.max(0,t.size-e.length)}}if(t.kind===`set`){let e=n.values.map((e,t)=>({key:String(t),label:String(t),value:e}));return{children:e,more:Math.max(0,t.size-e.length)}}return{children:rM(n).map(e=>({key:e,label:e,value:n[e]})),more:typeof n.$more==`number`?n.$more:0}}function sM(e,t,n){return`${e} ${e===1?t:n}`}function cM(e){let t={array:sM(e.size,`item`,`items`),object:sM(e.size,`key`,`keys`),map:sM(e.size,`entry`,`entries`),set:sM(e.size,`value`,`values`)}[e.kind];return`${e.type} (${t})`}function lM(e,t){return JSON.stringify(t===void 0?e:[t,...e])}function uM(e,t){return e.map((e,n)=>n===0?e:(t?t[n-1]!==`object`:/^\d+$/.test(e))?`[${e}]`:`.${e}`).join(``)}function dM(e){return e.every(e=>e&&e===e.trim()&&!/[.[\]]/.test(e))?e.join(`.`):null}var fM=/^\[(Getter|Unreadable|Circular|Truncated|Function\b.*|Promise)\]$/;function pM(e){return e===null||typeof e==`boolean`?!0:typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e!==Xj&&!fM.test(e)&&!e.endsWith(`…`)}function mM(e,t){return!e||t.kind===`map`||t.kind===`set`||e===`signal`&&t.kind===`object`&&t.type!==`Object`?null:e}function hM(e,t,n,r,i=500){let a=[],o=r.trim().toLowerCase();if(!o)return a;let s=new Set,c=(e,t)=>{let r=lM(e);if(!(s.has(r)||a.length>=i)){s.add(r);for(let r of oM(t).children){let t=[...e,r.key];if(r.label.toLowerCase().includes(o)&&a.push(t),!iM(r.value))continue;let i=n(t)??(iM(r.value)?.collapsed?void 0:r.value);i!==void 0&&c(t,i)}}};return c(e,n(e)??t),a}var gM=(e,t)=>t.id;function _M(e,t){if(e&1){let e=V();I(0,`button`,2),H(`click`,function(){w(e);let t=W().$implicit;return T(W(3).toggle(t))}),E(),I(1,`svg`,3),R(2,`path`,4),L(),xs(),I(3,`span`,14),K(4),L(),I(5,`span`,5),K(6),L()()}if(e&2){let e=W().$implicit;A(`aria-expanded`,e.open)(`aria-label`,e.label+`: `+e.text),O(4),J(``,e.label,`:`),O(2),q(e.text)}}function vM(e,t){if(e&1&&R(0,`app-prop-value`,15),e&2){let e=W(5);F(`prop`,t)(`componentId`,e.componentId())(`pageId`,e.pageId())(`rpc`,e.rpc())(`writes`,e.writes())}}function yM(e,t){if(e&1&&(I(0,`span`,16),K(1),L()),e&2){let e=W(2).$implicit;O(),q(e.text)}}function bM(e,t){if(e&1&&(I(0,`span`,14),K(1),L(),j(2,vM,1,5,`app-prop-value`,15)(3,yM,2,1,`span`,16)),e&2){let e,t=W().$implicit;O(),J(``,t.label,`:`),O(),M((e=t.edit)?2:3,e)}}function xM(e,t){if(e&1){let e=V();I(0,`button`,17),H(`click`,function(){w(e);let t=W().$implicit;return T(W(3).more(t))}),K(1),I(2,`span`,18),K(3),L()()}if(e&2){let e=W().$implicit,t=W(3);O(),J(` Show `,t.step(e),` more `),O(2),J(`(`,e.more,` not listed)`)}}function SM(e,t){e&1&&(I(0,`span`,12),K(1,`Reading from the page…`),L())}function CM(e,t){if(e&1&&(I(0,`span`,13),K(1),L()),e&2){let e=W().$implicit;O(),q(e.text)}}function wM(e,t){if(e&1&&(I(0,`li`,9),j(1,_M,7,4,`button`,10)(2,bM,4,2)(3,xM,4,2,`button`,11)(4,SM,2,0,`span`,12)(5,CM,2,1,`span`,13),L()),e&2){let e,n=t.$implicit;b_(`padding-left`,n.depth*14,`px`),O(),M((e=n.kind)===`node`?1:e===`leaf`?2:e===`more`?3:e===`loading`?4:e===`error`?5:-1)}}function TM(e,t){if(e&1&&(I(0,`ul`,7),N(1,wM,6,3,`li`,8,gM),L()),e&2){let e=W(2);F(`id`,e.listId),A(`aria-label`,e.prop().name+` entries`),O(),P(e.rows())}}function EM(e,t){if(e&1){let e=V();I(0,`div`,1)(1,`button`,2),H(`click`,function(){return w(e),T(W().toggleRoot())}),E(),I(2,`svg`,3),R(3,`path`,4),L(),xs(),I(4,`span`,5),K(5),L()(),R(6,`app-prop-value`,6),L(),j(7,TM,3,2,`ul`,7)}if(e&2){let e=t,n=W();O(),A(`aria-expanded`,n.rootOpen())(`aria-controls`,n.rootOpen()?n.listId:null)(`aria-label`,n.prop().name+`: `+n.summaryOf(e)),O(4),q(n.summaryOf(e)),O(),F(`bare`,!0)(`prop`,n.prop())(`componentId`,n.componentId())(`pageId`,n.pageId())(`rpc`,n.rpc())(`writes`,n.writes())(`readDraft`,n.readWhole),O(),M(n.rootOpen()?7:-1)}}function DM(e,t){if(e&1&&R(0,`app-prop-value`,0),e&2){let e=W();F(`prop`,e.prop())(`componentId`,e.componentId())(`pageId`,e.pageId())(`rpc`,e.rpc())(`writes`,e.writes())}}var OM=0;function kM(e){if(e===void 0)return`undefined`;try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function AM(e){if(Array.isArray(e))return e.every(AM);if(e&&typeof e==`object`){let t=e;return![`$collapsed`,`$more`,`$type`].some(e=>Object.hasOwn(t,e))&&Object.values(t).every(AM)}return pM(e)}var jM=class e{prop=$.required();store=$.required();componentId=$.required();pageId=$(null);rpc=$(null);writes=$(!1);directive=$(void 0);query=$(``);listId=`value-tree-${++OM}`;host=C(Hl);pendingMore=null;constructor(){Nv(()=>{let e=this.rows(),t=this.pendingMore;if(!t)return;let n=e.findIndex(e=>(e.kind===`leaf`||e.kind===`node`)&&!t.has(e.id));if(n<0)return;this.pendingMore=null;let r=document.activeElement;r&&r!==document.body&&r.isConnected||this.focusNear(n)})}rootPath=X(()=>[this.prop().prop]);rootValue=X(()=>this.store().level(this.rootPath(),this.directive())??this.prop().value);root=X(()=>iM(this.rootValue()));needle=X(()=>this.query().trim().toLowerCase());matches=X(()=>{let e=this.needle(),t=this.prop();if(!e||[t.name,t.prop].some(t=>t.toLowerCase().includes(e)))return null;let n=this.store(),r=this.directive();return hM(this.rootPath(),this.rootValue(),e=>n.level(e,r),e)});rootOpen=X(()=>!!this.matches()?.length||this.store().isOpen(this.rootPath(),this.directive()));rows=X(()=>{let e=this.root();if(!e)return[];let t=this.store(),n=this.directive(),r=this.matches(),i=new Set,a=new Set;for(let e of r??[]){a.add(lM(e));for(let t=2;t<=e.length;t++)i.add(lM(e.slice(0,t)))}let o=this.prop(),s=this.writes()&&n===void 0,c=[],l=(e,o,d,f,p,m)=>{let{children:h,more:g}=oM(e);for(let e of h){let h=[...o,e.key],g=lM(h);if(r&&!m&&!i.has(g))continue;let _=iM(e.value),ee=lM(h,n);if(!_){let t=p&&pM(e.value)?dM(h):null;c.push({id:ee,kind:`leaf`,depth:f,path:h,label:e.label,text:kM(e.value),edit:s&&t&&p?{name:uM(h,[...d]),prop:t,value:e.value,edit:p}:void 0});continue}let te=!!r&&!m&&i.has(g)&&!a.has(g)||t.isOpen(h,n);if(c.push({id:ee,kind:`node`,depth:f,path:h,label:e.label,text:cM(_),container:_,open:te}),!te)continue;let ne=t.level(h,n)??(_.collapsed?void 0:e.value),re=[...d,_.kind];ne===void 0?t.errors().has(ee)?c.push({...u(h,f+1,`error`),text:t.errors().get(ee)}):c.push(u(h,f+1,`loading`)):l(ne,h,re,f+1,mM(p,_),m||a.has(g))}g>0&&(!r||m)&&c.push({...u(o,f,`more`),more:g,listed:h.length})},u=(e,t,r)=>({id:`${lM(e,n)}:${r}`,kind:r,depth:t,path:e,label:``,text:``});return l(this.rootValue(),this.rootPath(),[e.kind],0,s?mM(o.editInside??null,e):null,!r),c});readWhole=async()=>{let e=await this.store().read(this.rootPath(),Yj.depth,Yj.limit);return e.ok?AM(e.value)?{value:e.value}:{error:`Too large to edit as a whole. Open it to edit the values inside.`}:{error:e.error??`The page did not read it.`}};summaryOf(e){return cM(e)}toggleRoot(){this.pendingMore=null,this.store().toggle(this.rootPath(),this.directive(),!1)}toggle(e){this.pendingMore=null,this.store().toggle(e.path,this.directive(),!!e.container?.collapsed)}more(e){this.pendingMore=new Set(this.rows().map(e=>e.id)),this.store().more(e.path,this.directive(),e.listed??0)}focusNear(e){let t=this.host.nativeElement,n=Array.from(t.querySelectorAll(`#${this.listId} > li`)),r=e=>e?.querySelector(`button:not([disabled]), input, textarea, [tabindex="0"]`);(n.slice(e).map(r).find(Boolean)??n.slice(0,e).reverse().map(r).find(Boolean)??t.querySelector(`.root > .toggle`))?.focus()}step(e){return Math.min(100,e.more??0)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-value-tree`]],inputs:{prop:[1,`prop`],store:[1,`store`],componentId:[1,`componentId`],pageId:[1,`pageId`],rpc:[1,`rpc`],writes:[1,`writes`],directive:[1,`directive`],query:[1,`query`]},decls:2,vars:1,consts:[[3,`prop`,`componentId`,`pageId`,`rpc`,`writes`],[1,`root`],[`type`,`button`,1,`toggle`,3,`click`],[`viewBox`,`0 0 24 24`,`aria-hidden`,`true`,1,`chevron`],[`d`,`m9 6 6 6-6 6`],[1,`summary`,`mono`],[1,`whole`,3,`bare`,`prop`,`componentId`,`pageId`,`rpc`,`writes`,`readDraft`],[1,`entries`,3,`id`],[1,`entry`,3,`padding-left`],[1,`entry`],[`type`,`button`,1,`toggle`],[`type`,`button`,1,`more`],[`role`,`status`,1,`muted`],[`role`,`alert`,1,`error`],[1,`key`,`mono`],[1,`leaf-edit`,3,`prop`,`componentId`,`pageId`,`rpc`,`writes`],[1,`leaf`,`mono`],[`type`,`button`,1,`more`,3,`click`],[1,`muted`]],template:function(e,t){if(e&1&&j(0,EM,8,12)(1,DM,1,5,`app-prop-value`,0),e&2){let e;M((e=t.root())?0:1,e)}},dependencies:[qj],styles:[`[_nghost-%COMP%] { +}`]})},Jj=1e3,Yj={depth:5,limit:100},Xj=`[redacted]`;function Zj(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Qj(e){return Zj(e)&&typeof e.$more==`number`&&Object.keys(e).length===1}function $j(e){return Zj(e)&&typeof e.$collapsed==`string`&&typeof e.size==`number`&&Object.keys(e).length===2}function eM(e){return e===`Array`?`array`:e===`Map`?`map`:e===`Set`?`set`:`object`}function tM(e){return e.$type===`Map`&&Array.isArray(e.entries)}function nM(e){return e.$type===`Set`&&Array.isArray(e.values)}function rM(e){return Object.keys(e).filter(e=>e!==`$type`&&e!==`$more`)}function iM(e){if(!e||typeof e!=`object`)return null;if($j(e))return e.size<=0?null:{kind:eM(e.$collapsed),type:e.$collapsed,size:e.size,collapsed:!0};if(Qj(e))return null;if(Array.isArray(e)){let t=e.at(-1),n=Qj(t)?t.$more:0,r=e.length-+!!n+n;return r?{kind:`array`,type:`Array`,size:r,collapsed:!1}:null}let t=e;if(tM(t)||nM(t)){let e=typeof t.size==`number`?t.size:0,n=tM(t)?`map`:`set`;return e?{kind:n,type:n===`map`?`Map`:`Set`,size:e,collapsed:!1}:null}let n=typeof t.$more==`number`?t.$more:0,r=rM(t).length+n,i=typeof t.$type==`string`?t.$type:`Object`;return r?{kind:`object`,type:i,size:r,collapsed:!1}:null}function aM(e){if(typeof e==`string`)return JSON.stringify(e);let t=iM(e);if(t)return cM(t);try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function oM(e){let t=iM(e);if(!t||t.collapsed)return{children:[],more:0};if(Array.isArray(e)){let n=(Qj(e.at(-1))?e.slice(0,-1):e).map((e,t)=>({key:String(t),label:String(t),value:e}));return{children:n,more:t.size-n.length}}let n=e;if(t.kind===`map`){let e=n.entries.map((e,t)=>{let[n,r]=Array.isArray(e)?e:[void 0,e];return{key:String(t),label:aM(n),value:r}});return{children:e,more:Math.max(0,t.size-e.length)}}if(t.kind===`set`){let e=n.values.map((e,t)=>({key:String(t),label:String(t),value:e}));return{children:e,more:Math.max(0,t.size-e.length)}}return{children:rM(n).map(e=>({key:e,label:e,value:n[e]})),more:typeof n.$more==`number`?n.$more:0}}function sM(e,t,n){return`${e} ${e===1?t:n}`}function cM(e){let t={array:sM(e.size,`item`,`items`),object:sM(e.size,`key`,`keys`),map:sM(e.size,`entry`,`entries`),set:sM(e.size,`value`,`values`)}[e.kind];return`${e.type} (${t})`}function lM(e,t){return JSON.stringify(t===void 0?e:[t,...e])}function uM(e,t){return e.map((e,n)=>n===0?e:(t?t[n-1]!==`object`:/^\d+$/.test(e))?`[${e}]`:`.${e}`).join(``)}function dM(e){return e.every(e=>e&&e===e.trim()&&!/[.[\]]/.test(e))?e.join(`.`):null}var fM=/^\[(Getter|Unreadable|Circular|Truncated|Function\b.*|Promise)\]$/;function pM(e){return e===null||typeof e==`boolean`?!0:typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e!==Xj&&!fM.test(e)&&!e.endsWith(`…`)}function mM(e,t){return!e||t.kind===`map`||t.kind===`set`||e===`signal`&&t.kind===`object`&&t.type!==`Object`?null:e}function hM(e,t,n,r,i=500){let a=[],o=r.trim().toLowerCase();if(!o)return a;let s=new Set,c=(e,t)=>{let r=lM(e);if(!(s.has(r)||a.length>=i)){s.add(r);for(let r of oM(t).children){let t=[...e,r.key];if(r.label.toLowerCase().includes(o)&&a.push(t),!iM(r.value))continue;let i=n(t)??(iM(r.value)?.collapsed?void 0:r.value);i!==void 0&&c(t,i)}}};return c(e,n(e)??t),a}var gM=(e,t)=>t.id;function _M(e,t){if(e&1){let e=V();I(0,`button`,2),H(`click`,function(){w(e);let t=W().$implicit;return T(W(3).toggle(t))}),E(),I(1,`svg`,3),R(2,`path`,4),L(),xs(),I(3,`span`,14),K(4),L(),I(5,`span`,5),K(6),L()()}if(e&2){let e=W().$implicit;A(`aria-expanded`,e.open)(`aria-label`,e.label+`: `+e.text),O(4),J(``,e.label,`:`),O(2),q(e.text)}}function vM(e,t){if(e&1&&R(0,`app-prop-value`,15),e&2){let e=W(5);F(`prop`,t)(`componentId`,e.componentId())(`pageId`,e.pageId())(`rpc`,e.rpc())(`writes`,e.writes())}}function yM(e,t){if(e&1&&(I(0,`span`,16),K(1),L()),e&2){let e=W(2).$implicit;O(),q(e.text)}}function bM(e,t){if(e&1&&(I(0,`span`,14),K(1),L(),j(2,vM,1,5,`app-prop-value`,15)(3,yM,2,1,`span`,16)),e&2){let e,t=W().$implicit;O(),J(``,t.label,`:`),O(),M((e=t.edit)?2:3,e)}}function xM(e,t){if(e&1){let e=V();I(0,`button`,17),H(`click`,function(){w(e);let t=W().$implicit;return T(W(3).more(t))}),K(1),I(2,`span`,18),K(3),L()()}if(e&2){let e=W().$implicit,t=W(3);O(),J(` Show `,t.step(e),` more `),O(2),J(`(`,e.more,` not listed)`)}}function SM(e,t){e&1&&(I(0,`span`,12),K(1,`Reading from the page…`),L())}function CM(e,t){if(e&1&&(I(0,`span`,13),K(1),L()),e&2){let e=W().$implicit;O(),q(e.text)}}function wM(e,t){if(e&1&&(I(0,`li`,9),j(1,_M,7,4,`button`,10)(2,bM,4,2)(3,xM,4,2,`button`,11)(4,SM,2,0,`span`,12)(5,CM,2,1,`span`,13),L()),e&2){let e,n=t.$implicit;b_(`padding-left`,n.depth*14,`px`),O(),M((e=n.kind)===`node`?1:e===`leaf`?2:e===`more`?3:e===`loading`?4:e===`error`?5:-1)}}function TM(e,t){if(e&1&&(I(0,`ul`,7),N(1,wM,6,3,`li`,8,gM),L()),e&2){let e=W(2);F(`id`,e.listId),A(`aria-label`,e.prop().name+` entries`),O(),P(e.rows())}}function EM(e,t){if(e&1){let e=V();I(0,`div`,1)(1,`button`,2),H(`click`,function(){return w(e),T(W().toggleRoot())}),E(),I(2,`svg`,3),R(3,`path`,4),L(),xs(),I(4,`span`,5),K(5),L()(),R(6,`app-prop-value`,6),L(),j(7,TM,3,2,`ul`,7)}if(e&2){let e=t,n=W();O(),A(`aria-expanded`,n.rootOpen())(`aria-controls`,n.rootOpen()?n.listId:null)(`aria-label`,n.prop().name+`: `+n.summaryOf(e)),O(4),q(n.summaryOf(e)),O(),F(`bare`,!0)(`prop`,n.prop())(`componentId`,n.componentId())(`pageId`,n.pageId())(`rpc`,n.rpc())(`writes`,n.writes())(`readDraft`,n.readWhole),O(),M(n.rootOpen()?7:-1)}}function DM(e,t){if(e&1&&R(0,`app-prop-value`,0),e&2){let e=W();F(`prop`,e.prop())(`componentId`,e.componentId())(`pageId`,e.pageId())(`rpc`,e.rpc())(`writes`,e.writes())}}var OM=0;function kM(e){if(e===void 0)return`undefined`;try{return JSON.stringify(e)??String(e)}catch{return String(e)}}function AM(e){if(Array.isArray(e))return e.every(AM);if(e&&typeof e==`object`){let t=e;return![`$collapsed`,`$more`,`$type`].some(e=>Object.hasOwn(t,e))&&Object.values(t).every(AM)}return pM(e)}var jM=class e{prop=$.required();store=$.required();componentId=$.required();pageId=$(null);rpc=$(null);writes=$(!1);directive=$(void 0);query=$(``);listId=`value-tree-${++OM}`;host=C(Hl);pendingMore=null;constructor(){Pv(()=>{let e=this.rows(),t=this.pendingMore;if(!t)return;let n=e.findIndex(e=>(e.kind===`leaf`||e.kind===`node`)&&!t.has(e.id));if(n<0)return;this.pendingMore=null;let r=document.activeElement;r&&r!==document.body&&r.isConnected||this.focusNear(n)})}rootPath=X(()=>[this.prop().prop]);rootValue=X(()=>this.store().level(this.rootPath(),this.directive())??this.prop().value);root=X(()=>iM(this.rootValue()));needle=X(()=>this.query().trim().toLowerCase());matches=X(()=>{let e=this.needle(),t=this.prop();if(!e||[t.name,t.prop].some(t=>t.toLowerCase().includes(e)))return null;let n=this.store(),r=this.directive();return hM(this.rootPath(),this.rootValue(),e=>n.level(e,r),e)});rootOpen=X(()=>!!this.matches()?.length||this.store().isOpen(this.rootPath(),this.directive()));rows=X(()=>{let e=this.root();if(!e)return[];let t=this.store(),n=this.directive(),r=this.matches(),i=new Set,a=new Set;for(let e of r??[]){a.add(lM(e));for(let t=2;t<=e.length;t++)i.add(lM(e.slice(0,t)))}let o=this.prop(),s=this.writes()&&n===void 0,c=[],l=(e,o,d,f,p,m)=>{let{children:h,more:g}=oM(e);for(let e of h){let h=[...o,e.key],g=lM(h);if(r&&!m&&!i.has(g))continue;let _=iM(e.value),ee=lM(h,n);if(!_){let t=p&&pM(e.value)?dM(h):null;c.push({id:ee,kind:`leaf`,depth:f,path:h,label:e.label,text:kM(e.value),edit:s&&t&&p?{name:uM(h,[...d]),prop:t,value:e.value,edit:p}:void 0});continue}let te=!!r&&!m&&i.has(g)&&!a.has(g)||t.isOpen(h,n);if(c.push({id:ee,kind:`node`,depth:f,path:h,label:e.label,text:cM(_),container:_,open:te}),!te)continue;let ne=t.level(h,n)??(_.collapsed?void 0:e.value),re=[...d,_.kind];ne===void 0?t.errors().has(ee)?c.push({...u(h,f+1,`error`),text:t.errors().get(ee)}):c.push(u(h,f+1,`loading`)):l(ne,h,re,f+1,mM(p,_),m||a.has(g))}g>0&&(!r||m)&&c.push({...u(o,f,`more`),more:g,listed:h.length})},u=(e,t,r)=>({id:`${lM(e,n)}:${r}`,kind:r,depth:t,path:e,label:``,text:``});return l(this.rootValue(),this.rootPath(),[e.kind],0,s?mM(o.editInside??null,e):null,!r),c});readWhole=async()=>{let e=await this.store().read(this.rootPath(),Yj.depth,Yj.limit);return e.ok?AM(e.value)?{value:e.value}:{error:`Too large to edit as a whole. Open it to edit the values inside.`}:{error:e.error??`The page did not read it.`}};summaryOf(e){return cM(e)}toggleRoot(){this.pendingMore=null,this.store().toggle(this.rootPath(),this.directive(),!1)}toggle(e){this.pendingMore=null,this.store().toggle(e.path,this.directive(),!!e.container?.collapsed)}more(e){this.pendingMore=new Set(this.rows().map(e=>e.id)),this.store().more(e.path,this.directive(),e.listed??0)}focusNear(e){let t=this.host.nativeElement,n=Array.from(t.querySelectorAll(`#${this.listId} > li`)),r=e=>e?.querySelector(`button:not([disabled]), input, textarea, [tabindex="0"]`);(n.slice(e).map(r).find(Boolean)??n.slice(0,e).reverse().map(r).find(Boolean)??t.querySelector(`.root > .toggle`))?.focus()}step(e){return Math.min(100,e.more??0)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-value-tree`]],inputs:{prop:[1,`prop`],store:[1,`store`],componentId:[1,`componentId`],pageId:[1,`pageId`],rpc:[1,`rpc`],writes:[1,`writes`],directive:[1,`directive`],query:[1,`query`]},decls:2,vars:1,consts:[[3,`prop`,`componentId`,`pageId`,`rpc`,`writes`],[1,`root`],[`type`,`button`,1,`toggle`,3,`click`],[`viewBox`,`0 0 24 24`,`aria-hidden`,`true`,1,`chevron`],[`d`,`m9 6 6 6-6 6`],[1,`summary`,`mono`],[1,`whole`,3,`bare`,`prop`,`componentId`,`pageId`,`rpc`,`writes`,`readDraft`],[1,`entries`,3,`id`],[1,`entry`,3,`padding-left`],[1,`entry`],[`type`,`button`,1,`toggle`],[`type`,`button`,1,`more`],[`role`,`status`,1,`muted`],[`role`,`alert`,1,`error`],[1,`key`,`mono`],[1,`leaf-edit`,3,`prop`,`componentId`,`pageId`,`rpc`,`writes`],[1,`leaf`,`mono`],[`type`,`button`,1,`more`,3,`click`],[1,`muted`]],template:function(e,t){if(e&1&&j(0,EM,8,12)(1,DM,1,5,`app-prop-value`,0),e&2){let e;M((e=t.root())?0:1,e)}},dependencies:[qj],styles:[`[_nghost-%COMP%] { display: block; min-width: 0; } @@ -2140,7 +2140,7 @@ button.edit[_ngcontent-%COMP%] { .status[_ngcontent-%COMP%]:empty { display: none; -}`]})},zM=(e,t)=>t.block.id,BM=(e,t)=>t.kind;function VM(e,t){if(e&1&&K(0),e&2){let e=W().$implicit;J(` `,e.label,` `)}}function HM(e,t){if(e&1&&(K(0),z(1,`span`,11),K(2),B()),e&2){let e=W().$implicit;J(` `,e.kind,` `),O(2),J(``,e.seconds,`s`)}}function UM(e,t){if(e&1&&(z(0,`span`,8),j(1,VM,1,1)(2,HM,3,2),B()),e&2){let e=t.$implicit;x_(`note-`+e.kind),A(`title`,e.text),O(),M(e.seconds===void 0?1:2)}}function WM(e,t){e&1&&(z(0,`span`,8),K(1,`hydrated`),B())}function GM(e,t){e&1&&(z(0,`span`,8),K(1,`@error block`),B())}function KM(e,t){if(e&1&&(z(0,`span`,9),K(1),B()),e&2){let e=W().$implicit;O(),q(e.timings)}}function qM(e,t){if(e&1){let e=V();z(0,`li`)(1,`button`,4),U(`click`,function(){let t=w(e).$implicit;return T(W(2).showOwner.emit(t.block))})(`focus`,function(){let t=w(e).$implicit;return T(W(2).highlight.emit(t.block))})(`blur`,function(){return w(e),T(W(2).highlight.emit(null))})(`mouseenter`,function(){let t=w(e).$implicit;return T(W(2).highlight.emit(t.block))})(`mouseleave`,function(){return w(e),T(W(2).highlight.emit(null))}),z(2,`span`,5),K(3),B(),z(4,`span`,6),K(5),B(),N(6,UM,3,4,`span`,7,BM),j(8,WM,2,0,`span`,8),j(9,GM,2,0,`span`,8),j(10,KM,2,1,`span`,9),z(11,`span`,10),K(12),B()()()}if(e&2){let e=t.$implicit;O(),A(`aria-disabled`,e.block.owner?null:`true`),O(2),q(e.block.owner?.name??`Unknown component`),O(),x_(`defer-state-`+e.block.state),O(),q(e.block.state),O(),P(e.notes),O(2),M(e.block.hydration===`hydrated`?8:-1),O(),M(e.block.hasErrorBlock?9:-1),O(),M(e.timings?10:-1),O(2),q(e.block.triggers.join(`, `)||`no triggers`)}}function JM(e,t){if(e&1&&(z(0,`section`,0)(1,`h2`,1),K(2,` Defer blocks `),z(3,`span`,2),K(4),B()(),z(5,`ul`,3),N(6,qM,13,9,`li`,null,zM),B()()),e&2){let e=W();O(4),Y(``,e.rows().length,``,e.truncated()?`+`:``),O(2),P(e.rows())}}function YM(e){return e<1e3?`${e}ms`:`${Number((e/1e3).toFixed(2))}s`}function XM(e){let t=[],n=e.placeholder?.minimumTime;n!=null&&t.push(`placeholder min ${YM(n)}`);let r=[e.loading?.afterTime==null?``:`after ${YM(e.loading.afterTime)}`,e.loading?.minimumTime==null?``:`min ${YM(e.loading.minimumTime)}`].filter(Boolean);return r.length&&t.push(`loading ${r.join(`, `)}`),t.join(` · `)}var ZM=class e{blocks=$([]);truncated=$(!1);clockOffset=$(0);showOwner=yv();highlight=yv();now=D(Date.now());waiting=X(()=>this.blocks().some(e=>!!e.since&&(e.state===`placeholder`||e.state===`initial`)));rows=X(()=>{let e=this.now()-this.clockOffset();return this.blocks().map(t=>({block:t,notes:KT({...t,since:t.since||e},e),timings:XM(t)}))});constructor(){let e,t=()=>{clearInterval(e),e=void 0};vc(()=>{if(!this.waiting())return t();e===void 0&&(this.now.set(Date.now()),e=setInterval(()=>this.now.set(Date.now()),1e3))}),C(js).onDestroy(t)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-defer-blocks`]],inputs:{blocks:[1,`blocks`],truncated:[1,`truncated`],clockOffset:[1,`clockOffset`]},outputs:{showOwner:`showOwner`,highlight:`highlight`},decls:1,vars:1,consts:[[`aria-labelledby`,`ct-defer-title`,1,`defer`],[`id`,`ct-defer-title`,1,`defer-title`],[1,`pill`],[1,`defer-list`],[`type`,`button`,1,`defer-row`,3,`click`,`focus`,`blur`,`mouseenter`,`mouseleave`],[1,`name`,`mono`],[1,`defer-state`],[1,`flag`,3,`class`],[1,`flag`],[1,`timings`],[1,`triggers`,`mono`],[`aria-hidden`,`true`]],template:function(e,t){e&1&&j(0,JM,8,2,`section`,0),e&2&&M(t.rows().length?0:-1)},styles:[`[_nghost-%COMP%] { +}`]})},zM=(e,t)=>t.block.id,BM=(e,t)=>t.kind;function VM(e,t){if(e&1&&K(0),e&2){let e=W().$implicit;J(` `,e.label,` `)}}function HM(e,t){if(e&1&&(K(0),z(1,`span`,11),K(2),B()),e&2){let e=W().$implicit;J(` `,e.kind,` `),O(2),J(``,e.seconds,`s`)}}function UM(e,t){if(e&1&&(z(0,`span`,8),j(1,VM,1,1)(2,HM,3,2),B()),e&2){let e=t.$implicit;x_(`note-`+e.kind),A(`title`,e.text),O(),M(e.seconds===void 0?1:2)}}function WM(e,t){e&1&&(z(0,`span`,8),K(1,`hydrated`),B())}function GM(e,t){e&1&&(z(0,`span`,8),K(1,`@error block`),B())}function KM(e,t){if(e&1&&(z(0,`span`,9),K(1),B()),e&2){let e=W().$implicit;O(),q(e.timings)}}function qM(e,t){if(e&1){let e=V();z(0,`li`)(1,`button`,4),U(`click`,function(){let t=w(e).$implicit;return T(W(2).showOwner.emit(t.block))})(`focus`,function(){let t=w(e).$implicit;return T(W(2).highlight.emit(t.block))})(`blur`,function(){return w(e),T(W(2).highlight.emit(null))})(`mouseenter`,function(){let t=w(e).$implicit;return T(W(2).highlight.emit(t.block))})(`mouseleave`,function(){return w(e),T(W(2).highlight.emit(null))}),z(2,`span`,5),K(3),B(),z(4,`span`,6),K(5),B(),N(6,UM,3,4,`span`,7,BM),j(8,WM,2,0,`span`,8),j(9,GM,2,0,`span`,8),j(10,KM,2,1,`span`,9),z(11,`span`,10),K(12),B()()()}if(e&2){let e=t.$implicit;O(),A(`aria-disabled`,e.block.owner?null:`true`),O(2),q(e.block.owner?.name??`Unknown component`),O(),x_(`defer-state-`+e.block.state),O(),q(e.block.state),O(),P(e.notes),O(2),M(e.block.hydration===`hydrated`?8:-1),O(),M(e.block.hasErrorBlock?9:-1),O(),M(e.timings?10:-1),O(2),q(e.block.triggers.join(`, `)||`no triggers`)}}function JM(e,t){if(e&1&&(z(0,`section`,0)(1,`h2`,1),K(2,` Defer blocks `),z(3,`span`,2),K(4),B()(),z(5,`ul`,3),N(6,qM,13,9,`li`,null,zM),B()()),e&2){let e=W();O(4),Y(``,e.rows().length,``,e.truncated()?`+`:``),O(2),P(e.rows())}}function YM(e){return e<1e3?`${e}ms`:`${Number((e/1e3).toFixed(2))}s`}function XM(e){let t=[],n=e.placeholder?.minimumTime;n!=null&&t.push(`placeholder min ${YM(n)}`);let r=[e.loading?.afterTime==null?``:`after ${YM(e.loading.afterTime)}`,e.loading?.minimumTime==null?``:`min ${YM(e.loading.minimumTime)}`].filter(Boolean);return r.length&&t.push(`loading ${r.join(`, `)}`),t.join(` · `)}var ZM=class e{blocks=$([]);truncated=$(!1);clockOffset=$(0);showOwner=bv();highlight=bv();now=D(Date.now());waiting=X(()=>this.blocks().some(e=>!!e.since&&(e.state===`placeholder`||e.state===`initial`)));rows=X(()=>{let e=this.now()-this.clockOffset();return this.blocks().map(t=>({block:t,notes:KT({...t,since:t.since||e},e),timings:XM(t)}))});constructor(){let e,t=()=>{clearInterval(e),e=void 0};vc(()=>{if(!this.waiting())return t();e===void 0&&(this.now.set(Date.now()),e=setInterval(()=>this.now.set(Date.now()),1e3))}),C(js).onDestroy(t)}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-defer-blocks`]],inputs:{blocks:[1,`blocks`],truncated:[1,`truncated`],clockOffset:[1,`clockOffset`]},outputs:{showOwner:`showOwner`,highlight:`highlight`},decls:1,vars:1,consts:[[`aria-labelledby`,`ct-defer-title`,1,`defer`],[`id`,`ct-defer-title`,1,`defer-title`],[1,`pill`],[1,`defer-list`],[`type`,`button`,1,`defer-row`,3,`click`,`focus`,`blur`,`mouseenter`,`mouseleave`],[1,`name`,`mono`],[1,`defer-state`],[1,`flag`,3,`class`],[1,`flag`],[1,`timings`],[1,`triggers`,`mono`],[`aria-hidden`,`true`]],template:function(e,t){e&1&&j(0,JM,8,2,`section`,0),e&2&&M(t.rows().length?0:-1)},styles:[`[_nghost-%COMP%] { display: block; } @@ -2282,7 +2282,7 @@ button.edit[_ngcontent-%COMP%] { min-width: 0; text-overflow: ellipsis; white-space: nowrap; -}`]})},QM=(e,t)=>t.id;function $M(e,t){if(e&1&&(I(0,`p`,4),K(1),L()),e&2){let e=W(2);O(),J(`The page has more @for blocks than the `,e.length,` listed.`)}}function eN(e,t){e&1&&(I(0,`span`,9),K(1,`@empty showing`),L())}function tN(e,t){e&1&&(I(0,`span`,10),K(1,`@empty`),L())}function nN(e,t){e&1&&(I(0,`span`,10),K(1,`renders nothing`),L())}function rN(e,t){if(e&1){let e=V();I(0,`li`)(1,`button`,6),H(`click`,function(){let t=w(e).$implicit;return T(W(3).showOwner.emit(t))})(`focus`,function(){let t=w(e).$implicit,n=W(3);return T(n.highlight.emit(n.target(t)))})(`blur`,function(){return w(e),T(W(3).highlight.emit(null))})(`mouseenter`,function(){let t=w(e).$implicit,n=W(3);return T(n.highlight.emit(n.target(t)))})(`mouseleave`,function(){return w(e),T(W(3).highlight.emit(null))}),I(2,`span`,7),K(3),L(),I(4,`span`,8),K(5),L(),j(6,eN,2,0,`span`,9)(7,tN,2,0,`span`,10)(8,nN,2,0,`span`,10),I(9,`span`,11),K(10),L()()()}if(e&2){let e=t.$implicit,n=W(3);O(),A(`aria-disabled`,e.owner?null:`true`),O(2),q(e.owner?.name??`Unknown component`),O(2),Y(` `,e.count,` `,e.count===1?`item`:`items`,` `),O(),M(e.showingEmpty?6:e.hasEmptyBlock?7:e.count===0?8:-1),O(4),q(n.trackLabel(e))}}function iN(e,t){if(e&1&&(I(0,`section`,1)(1,`h2`,2),K(2,` @for blocks `),I(3,`span`,3),K(4),L()(),j(5,$M,2,1,`p`,4),I(6,`ul`,5),N(7,rN,11,6,`li`,null,QM),L()()),e&2){let e=W(),t=W();O(4),q(t.truncated()?e.length+`+`:e.length),O(),M(t.truncated()?5:-1),O(2),P(e)}}function aN(e,t){e&1&&j(0,iN,9,2,`section`,1),e&2&&M(t.length?0:-1)}function oN(e,t){e&1&&R(0,`app-angular-unavailable`,0),e&2&&F(`page`,W().angular())}var sN={$index:`track $index`,item:`track item`,function:`track expression`},cN=class e{blocks=$(void 0);truncated=$(!1);supported=$(null);angular=$(null);showOwner=yv();highlight=yv();target(e){return e.rootIds[0]??e.owner?.id??null}trackLabel(e){return e.track?sN[e.track]:`track unknown`}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-for-blocks`]],inputs:{blocks:[1,`blocks`],truncated:[1,`truncated`],supported:[1,`supported`],angular:[1,`angular`]},outputs:{showOwner:`showOwner`,highlight:`highlight`},decls:2,vars:1,consts:[[`capability`,`forBlocks`,`missing`,``,`compact`,``,1,`for`,3,`page`],[`aria-labelledby`,`ct-for-title`,1,`for`],[`id`,`ct-for-title`,1,`for-title`],[1,`pill`],[1,`note`],[1,`for-list`],[`type`,`button`,1,`for-row`,3,`click`,`focus`,`blur`,`mouseenter`,`mouseleave`],[1,`name`,`mono`],[1,`count`],[1,`flag`,`empty`],[1,`flag`],[1,`track`,`mono`]],template:function(e,t){if(e&1&&j(0,aN,1,1)(1,oN,1,1,`app-angular-unavailable`,0),e&2){let e;M((e=t.blocks())?0:t.supported()===!1?1:-1,e)}},dependencies:[FD],styles:[`[_nghost-%COMP%] { +}`]})},QM=(e,t)=>t.id;function $M(e,t){if(e&1&&(I(0,`p`,4),K(1),L()),e&2){let e=W(2);O(),J(`The page has more @for blocks than the `,e.length,` listed.`)}}function eN(e,t){e&1&&(I(0,`span`,9),K(1,`@empty showing`),L())}function tN(e,t){e&1&&(I(0,`span`,10),K(1,`@empty`),L())}function nN(e,t){e&1&&(I(0,`span`,10),K(1,`renders nothing`),L())}function rN(e,t){if(e&1){let e=V();I(0,`li`)(1,`button`,6),H(`click`,function(){let t=w(e).$implicit;return T(W(3).showOwner.emit(t))})(`focus`,function(){let t=w(e).$implicit,n=W(3);return T(n.highlight.emit(n.target(t)))})(`blur`,function(){return w(e),T(W(3).highlight.emit(null))})(`mouseenter`,function(){let t=w(e).$implicit,n=W(3);return T(n.highlight.emit(n.target(t)))})(`mouseleave`,function(){return w(e),T(W(3).highlight.emit(null))}),I(2,`span`,7),K(3),L(),I(4,`span`,8),K(5),L(),j(6,eN,2,0,`span`,9)(7,tN,2,0,`span`,10)(8,nN,2,0,`span`,10),I(9,`span`,11),K(10),L()()()}if(e&2){let e=t.$implicit,n=W(3);O(),A(`aria-disabled`,e.owner?null:`true`),O(2),q(e.owner?.name??`Unknown component`),O(2),Y(` `,e.count,` `,e.count===1?`item`:`items`,` `),O(),M(e.showingEmpty?6:e.hasEmptyBlock?7:e.count===0?8:-1),O(4),q(n.trackLabel(e))}}function iN(e,t){if(e&1&&(I(0,`section`,1)(1,`h2`,2),K(2,` @for blocks `),I(3,`span`,3),K(4),L()(),j(5,$M,2,1,`p`,4),I(6,`ul`,5),N(7,rN,11,6,`li`,null,QM),L()()),e&2){let e=W(),t=W();O(4),q(t.truncated()?e.length+`+`:e.length),O(),M(t.truncated()?5:-1),O(2),P(e)}}function aN(e,t){e&1&&j(0,iN,9,2,`section`,1),e&2&&M(t.length?0:-1)}function oN(e,t){e&1&&R(0,`app-angular-unavailable`,0),e&2&&F(`page`,W().angular())}var sN={$index:`track $index`,item:`track item`,function:`track expression`},cN=class e{blocks=$(void 0);truncated=$(!1);supported=$(null);angular=$(null);showOwner=bv();highlight=bv();target(e){return e.rootIds[0]??e.owner?.id??null}trackLabel(e){return e.track?sN[e.track]:`track unknown`}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-for-blocks`]],inputs:{blocks:[1,`blocks`],truncated:[1,`truncated`],supported:[1,`supported`],angular:[1,`angular`]},outputs:{showOwner:`showOwner`,highlight:`highlight`},decls:2,vars:1,consts:[[`capability`,`forBlocks`,`missing`,``,`compact`,``,1,`for`,3,`page`],[`aria-labelledby`,`ct-for-title`,1,`for`],[`id`,`ct-for-title`,1,`for-title`],[1,`pill`],[1,`note`],[1,`for-list`],[`type`,`button`,1,`for-row`,3,`click`,`focus`,`blur`,`mouseenter`,`mouseleave`],[1,`name`,`mono`],[1,`count`],[1,`flag`,`empty`],[1,`flag`],[1,`track`,`mono`]],template:function(e,t){if(e&1&&j(0,aN,1,1)(1,oN,1,1,`app-angular-unavailable`,0),e&2){let e;M((e=t.blocks())?0:t.supported()===!1?1:-1,e)}},dependencies:[FD],styles:[`[_nghost-%COMP%] { display: block; } @@ -2400,7 +2400,7 @@ button.edit[_ngcontent-%COMP%] { min-width: 0; text-overflow: ellipsis; white-space: nowrap; -}`]})},lN=(e,t)=>t.id;function uN(e,t){if(e&1&&(I(0,`p`,11),K(1),L(),I(2,`h3`,7),K(3,`Still retained`),L(),I(4,`p`,6),K(5,` In a development build, Angular's DI debug data keeps every destroyed component in memory, so Pangular can't tell a leak from that. Check retainers in the Chrome DevTools Memory panel: take a heap snapshot after a few navigations, search for the class and look for a retainer other than Angular's DI debug records. Open subscriptions after destroy are still tracked below. `),L()),e&2){let e=W(),t=W();O(),q(t.plural(e.navigations,`navigation`))}}function dN(e,t){e&1&&(I(0,`p`,6),K(1,` This page cannot track destroyed components. It needs WeakRef, FinalizationRegistry and the Angular debug API of a development build. `),L())}function fN(e,t){if(e&1&&(I(0,`span`,18),K(1),L()),e&2){let e=W().$implicit,t=W(4);O(),q(t.plural(e.subscriptions,`open subscription`))}}function pN(e,t){if(e&1&&(I(0,`li`,13)(1,`span`,14),K(2),L(),I(3,`span`,15),K(4),L(),I(5,`span`,16),K(6),L(),I(7,`span`,17),K(8),L(),j(9,fN,2,1,`span`,18),L()),e&2){let e=t.$implicit,n=W(4);O(2),q(e.name),O(2),q(e.route||`/`),O(2),J(``,n.plural(e.navigations,`navigation`),` ago`),O(2),q(n.ageOf(e)),O(),M(e.subscriptions?9:-1)}}function mN(e,t){if(e&1&&(I(0,`p`,6),K(1),L(),I(2,`ul`,12),N(3,pN,10,5,`li`,13,lN),L()),e&2){let e=W(3);O(),Y(` Destroyed, yet still in memory after at least `,e.minNavigations,` navigations and `,e.minSeconds,` seconds. Take a heap snapshot, search for the class and read its retainers. `),O(2),P(e.retained().slice(0,e.shown))}}function hN(e,t){e&1&&(I(0,`p`,6),K(1,`No destroyed component is still in memory after a few navigations.`),L())}function gN(e,t){if(e&1&&(I(0,`p`,6),K(1),I(2,`span`,19),K(3),L(),K(4,`. Navigate a few times to see whether they stay. `),L()),e&2){let e=W(3);O(),J(` `,e.plural(e.recent().length,`instance`),` destroyed recently and not collected yet: `),O(2),q(e.names(e.recent()))}}function _N(e,t){if(e&1&&(j(0,dN,2,0,`p`,6),I(1,`p`,11),K(2),L(),I(3,`h3`,7),K(4,` Still retained `),I(5,`span`,8),K(6),L()(),j(7,mN,5,2)(8,hN,2,0,`p`,6),j(9,gN,5,2,`p`,6)),e&2){let e=W(),t=W();M(e.support.retention?-1:0),O(2),R_(` `,t.plural(e.navigations,`navigation`),` · `,t.retained().length,` still retained · `,t.plural(e.totals.collected,`instance`),` collected `),O(4),q(t.retained().length),O(),M(t.retained().length?7:8),O(2),M(t.recent().length?9:-1)}}function vN(e,t){if(e&1&&(I(0,`p`,6),K(1,` Off the page but not destroyed (detached views, such as a route reuse cache): `),I(2,`span`,19),K(3),L(),K(4,`. `),L()),e&2){let e=W(2);O(3),q(e.names(e.detached()))}}function yN(e,t){if(e&1&&(I(0,`span`,8),K(1),L()),e&2){let e=W();O(),q(e.subscriptions.length)}}function bN(e,t){if(e&1&&(I(0,`span`,15),K(1),L()),e&2){let e=W().$implicit;O(),q(e.source)}}function xN(e,t){if(e&1&&(I(0,`li`,13)(1,`span`,14),K(2),L(),I(3,`span`,16),K(4),L(),I(5,`span`,18),K(6),L(),j(7,bN,2,1,`span`,15),L()),e&2){let e=t.$implicit;O(2),q(e.name),O(2),J(``,e.count,` open`),O(2),J(` `,e.reason===`instance-destroyed`?`instance destroyed`:`no instance left`,` `),O(),M(e.source?7:-1)}}function SN(e,t){if(e&1&&(I(0,`p`,6),K(1,` Still open although the component that made them is gone. Tear them down with takeUntilDestroyed(), DestroyRef.onDestroy or the async pipe. `),L(),I(2,`ul`,12),N(3,xN,8,4,`li`,13,_g),L()),e&2){let e=W(2),t=W();O(3),P(e.subscriptions.slice(0,t.shown))}}function CN(e,t){e&1&&(I(0,`p`,6),K(1,`No subscription is still open after its component went away.`),L())}function wN(e,t){e&1&&(I(0,`p`,6),K(1,` Subscriptions are tied to component classes only; Angular 20 profiler hooks tie them to instances. `),L())}function TN(e,t){if(e&1&&(j(0,SN,5,0)(1,CN,2,0,`p`,6),j(2,wN,2,0,`p`,6)),e&2){let e=W();M(+!e.subscriptions.length),O(2),M(e.support.instances?-1:2)}}function EN(e,t){e&1&&(I(0,`p`,9),K(1,` Tracking could not start: the page has no RxJS the overlay can load. `),L())}function DN(e,t){e&1&&(I(0,`p`,6),K(1,` Off. Track subscriptions wraps Observable.prototype.subscribe on the page to record which component makes each subscription, until you stop it. Subscriptions made before you start are not seen, so reload or navigate again after starting. `),L())}function ON(e,t){e&1&&R(0,`app-angular-unavailable`,10),e&2&&F(`page`,W(2).angular())}function kN(e,t){if(e&1&&(I(0,`span`,16),K(1),L()),e&2){let e=W().$implicit,t=W(3);O(),q(t.plural(e.subscriptions,`subscription`))}}function AN(e,t){if(e&1){let e=V();I(0,`li`)(1,`button`,20),H(`click`,function(){let t=w(e).$implicit;return T(W(3).showComponent.emit(t.id))})(`focus`,function(){let t=w(e).$implicit;return T(W(3).highlight.emit(t.id))})(`blur`,function(){return w(e),T(W(3).highlight.emit(null))})(`mouseenter`,function(){let t=w(e).$implicit;return T(W(3).highlight.emit(t.id))})(`mouseleave`,function(){return w(e),T(W(3).highlight.emit(null))}),I(2,`span`,14),K(3),L(),I(4,`span`,16),K(5),L(),j(6,kN,2,1,`span`,16),L()()}if(e&2){let e=t.$implicit,n=W(2),r=W();O(3),q(e.name),O(2),q(r.effectsText(e)),O(),M(n.support.subscriptions===`on`?6:-1)}}function jN(e,t){e&1&&(I(0,`p`,6),K(1,` Angular files a component's effects under the template its host sits in, so effects of components side by side in one template show as shared. `),L())}function MN(e,t){if(e&1&&(I(0,`ul`,12),N(1,AN,7,3,`li`,null,lN),L(),j(3,jN,2,0,`p`,6)),e&2){let e=W(),t=W();O(),P(e.components.slice(0,t.shown)),O(2),M(e.components.some(t.hasShared)?3:-1)}}function NN(e,t){e&1&&(I(0,`p`,6),K(1,`No component on the page has a live effect or a tracked subscription.`),L())}function PN(e,t){if(e&1&&(j(0,uN,6,1)(1,_N,10,7),j(2,vN,5,1,`p`,6),I(3,`h3`,7),K(4,` Open subscriptions after destroy `),j(5,yN,2,1,`span`,8),L(),j(6,TN,3,2)(7,EN,2,0,`p`,9)(8,DN,2,0,`p`,6),I(9,`h3`,7),K(10,` Live effects and subscriptions `),I(11,`span`,8),K(12),L()(),j(13,ON,1,1,`app-angular-unavailable`,10),j(14,MN,4,1)(15,NN,2,0,`p`,6)),e&2){let e,n=t,r=W();M(n.support.retention===`dev-di-debug`?0:1),O(2),M(r.detached().length?2:-1),O(3),M(n.support.subscriptions===`on`?5:-1),O(),M((e=n.support.subscriptions)===`on`?6:e===`unavailable`?7:8),O(6),q(n.components.length),O(),M(n.support.effects?-1:13),O(),M(n.components.length?14:15)}}function FN(e,t){e&1&&(I(0,`p`,6),K(1,`No leak data from this page yet. It comes with the next report.`),L())}var IN=20;function LN(e){let t=Math.max(0,Math.round(e/1e3));if(t<120)return`${t} s`;let n=Math.round(t/60);return n<120?`${n} min`:`${Math.round(n/60)} h`}var RN=(e,t,n=`${t}s`)=>`${e} ${e===1?t:n}`,zN=class e{report=$(null);pageId=$(null);rpc=$(null);angular=$(null);now=$(()=>Date.now());showComponent=yv();highlight=yv();shown=IN;minNavigations=2;minSeconds=sT/1e3;plural=RN;busy=D(!1);announcement=D(``);tracking=X(()=>this.report()?.support.subscriptions===`on`);split=X(()=>{let e=this.report(),t=[],n=[],r=[];if(!e)return{retained:t,recent:n,detached:r};let i=e.support.retention===`dev-di-debug`;for(let a of e.destroyed)if(a.detached)r.push(a);else if(i)continue;else this.isRetained(e,a)?t.push(a):n.push(a);return{retained:t,recent:n,detached:r}});retained=X(()=>this.split().retained);recent=X(()=>this.split().recent);detached=X(()=>this.split().detached);ageMs(e,t){return Math.max(0,this.now()()-e.reportedAt+(e.at-t.destroyedAt))}isRetained(e,t){return t.navigations>=2&&this.ageMs(e,t)>=1e4}ageOf(e){let t=this.report();return t?`${LN(this.ageMs(t,e))} old`:``}names(e){let t=[...new Set(e.map(e=>e.name))];return t.length>6?`${t.slice(0,6).join(`, `)} and more`:t.join(`, `)}hasShared(e){return!!e.sharedEffects}effectsText(e){let t=RN(e.effects,`effect`);return e.sharedEffects?`${t}, ${e.sharedEffects} shared`:t}async toggle(){let e=this.pageId();if(!e||this.busy())return;let t=!this.tracking();this.busy.set(!0);try{await tE(this.rpc(),`request-leak-tracking`,{pageId:e,on:t}),this.announcement.set(t?`Tracking subscriptions. Reload or navigate to see subscriptions made at start.`:`Stopped tracking subscriptions.`)}catch{this.announcement.set(`Could not reach the page. Try again.`)}finally{this.busy.set(!1)}}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-leaks-section`]],inputs:{report:[1,`report`],pageId:[1,`pageId`],rpc:[1,`rpc`],angular:[1,`angular`],now:[1,`now`]},outputs:{showComponent:`showComponent`,highlight:`highlight`},decls:12,vars:5,consts:[[`aria-labelledby`,`ct-leaks-title`,1,`leaks`],[1,`head`],[`id`,`ct-leaks-title`],[`type`,`button`,1,`track`,3,`click`,`disabled`],[`role`,`status`,1,`sr-only`],[1,`hint`],[1,`note`],[1,`sub`],[1,`pill`],[`role`,`status`,1,`note`],[`capability`,`signalGraph`,`missing`,``,`compact`,``,3,`page`],[1,`stats`],[1,`rows`],[1,`row`],[1,`name`,`mono`],[1,`meta`,`mono`],[1,`count`],[1,`meta`],[1,`flag`,`warn`],[1,`mono`],[`type`,`button`,1,`row`,`live`,3,`click`,`focus`,`blur`,`mouseenter`,`mouseleave`]],template:function(e,t){if(e&1&&(I(0,`section`,0)(1,`div`,1)(2,`h2`,2),K(3,`Leaks`),L(),I(4,`button`,3),H(`click`,function(){return t.toggle()}),K(5,` Track subscriptions `),L(),I(6,`p`,4),K(7),L()(),I(8,`p`,5),K(9,` Components that left the page but are still in memory, and the live effects and RxJS subscriptions of each component. The browser collects garbage when it decides, so a retained instance is a hint: check what holds it in the Chrome DevTools Memory panel. `),L(),j(10,PN,16,7)(11,FN,2,0,`p`,6),L()),e&2){let e;O(4),F(`disabled`,!t.pageId()||!t.report()),A(`aria-pressed`,t.tracking())(`aria-disabled`,t.busy()||null),O(3),q(t.announcement()),O(3),M((e=t.report())?10:11,e)}},dependencies:[FD],styles:[`[_nghost-%COMP%] { +}`]})},lN=(e,t)=>t.id;function uN(e,t){if(e&1&&(I(0,`p`,11),K(1),L(),I(2,`h3`,7),K(3,`Still retained`),L(),I(4,`p`,6),K(5,` In a development build, Angular's DI debug data keeps every destroyed component in memory, so Pangular can't tell a leak from that. Check retainers in the Chrome DevTools Memory panel: take a heap snapshot after a few navigations, search for the class and look for a retainer other than Angular's DI debug records. Open subscriptions after destroy are still tracked below. `),L()),e&2){let e=W(),t=W();O(),q(t.plural(e.navigations,`navigation`))}}function dN(e,t){e&1&&(I(0,`p`,6),K(1,` This page cannot track destroyed components. It needs WeakRef, FinalizationRegistry and the Angular debug API of a development build. `),L())}function fN(e,t){if(e&1&&(I(0,`span`,18),K(1),L()),e&2){let e=W().$implicit,t=W(4);O(),q(t.plural(e.subscriptions,`open subscription`))}}function pN(e,t){if(e&1&&(I(0,`li`,13)(1,`span`,14),K(2),L(),I(3,`span`,15),K(4),L(),I(5,`span`,16),K(6),L(),I(7,`span`,17),K(8),L(),j(9,fN,2,1,`span`,18),L()),e&2){let e=t.$implicit,n=W(4);O(2),q(e.name),O(2),q(e.route||`/`),O(2),J(``,n.plural(e.navigations,`navigation`),` ago`),O(2),q(n.ageOf(e)),O(),M(e.subscriptions?9:-1)}}function mN(e,t){if(e&1&&(I(0,`p`,6),K(1),L(),I(2,`ul`,12),N(3,pN,10,5,`li`,13,lN),L()),e&2){let e=W(3);O(),Y(` Destroyed, yet still in memory after at least `,e.minNavigations,` navigations and `,e.minSeconds,` seconds. Take a heap snapshot, search for the class and read its retainers. `),O(2),P(e.retained().slice(0,e.shown))}}function hN(e,t){e&1&&(I(0,`p`,6),K(1,`No destroyed component is still in memory after a few navigations.`),L())}function gN(e,t){if(e&1&&(I(0,`p`,6),K(1),I(2,`span`,19),K(3),L(),K(4,`. Navigate a few times to see whether they stay. `),L()),e&2){let e=W(3);O(),J(` `,e.plural(e.recent().length,`instance`),` destroyed recently and not collected yet: `),O(2),q(e.names(e.recent()))}}function _N(e,t){if(e&1&&(j(0,dN,2,0,`p`,6),I(1,`p`,11),K(2),L(),I(3,`h3`,7),K(4,` Still retained `),I(5,`span`,8),K(6),L()(),j(7,mN,5,2)(8,hN,2,0,`p`,6),j(9,gN,5,2,`p`,6)),e&2){let e=W(),t=W();M(e.support.retention?-1:0),O(2),z_(` `,t.plural(e.navigations,`navigation`),` · `,t.retained().length,` still retained · `,t.plural(e.totals.collected,`instance`),` collected `),O(4),q(t.retained().length),O(),M(t.retained().length?7:8),O(2),M(t.recent().length?9:-1)}}function vN(e,t){if(e&1&&(I(0,`p`,6),K(1,` Off the page but not destroyed (detached views, such as a route reuse cache): `),I(2,`span`,19),K(3),L(),K(4,`. `),L()),e&2){let e=W(2);O(3),q(e.names(e.detached()))}}function yN(e,t){if(e&1&&(I(0,`span`,8),K(1),L()),e&2){let e=W();O(),q(e.subscriptions.length)}}function bN(e,t){if(e&1&&(I(0,`span`,15),K(1),L()),e&2){let e=W().$implicit;O(),q(e.source)}}function xN(e,t){if(e&1&&(I(0,`li`,13)(1,`span`,14),K(2),L(),I(3,`span`,16),K(4),L(),I(5,`span`,18),K(6),L(),j(7,bN,2,1,`span`,15),L()),e&2){let e=t.$implicit;O(2),q(e.name),O(2),J(``,e.count,` open`),O(2),J(` `,e.reason===`instance-destroyed`?`instance destroyed`:`no instance left`,` `),O(),M(e.source?7:-1)}}function SN(e,t){if(e&1&&(I(0,`p`,6),K(1,` Still open although the component that made them is gone. Tear them down with takeUntilDestroyed(), DestroyRef.onDestroy or the async pipe. `),L(),I(2,`ul`,12),N(3,xN,8,4,`li`,13,_g),L()),e&2){let e=W(2),t=W();O(3),P(e.subscriptions.slice(0,t.shown))}}function CN(e,t){e&1&&(I(0,`p`,6),K(1,`No subscription is still open after its component went away.`),L())}function wN(e,t){e&1&&(I(0,`p`,6),K(1,` Subscriptions are tied to component classes only; Angular 20 profiler hooks tie them to instances. `),L())}function TN(e,t){if(e&1&&(j(0,SN,5,0)(1,CN,2,0,`p`,6),j(2,wN,2,0,`p`,6)),e&2){let e=W();M(+!e.subscriptions.length),O(2),M(e.support.instances?-1:2)}}function EN(e,t){e&1&&(I(0,`p`,9),K(1,` Tracking could not start: the page has no RxJS the overlay can load. `),L())}function DN(e,t){e&1&&(I(0,`p`,6),K(1,` Off. Track subscriptions wraps Observable.prototype.subscribe on the page to record which component makes each subscription, until you stop it. Subscriptions made before you start are not seen, so reload or navigate again after starting. `),L())}function ON(e,t){e&1&&R(0,`app-angular-unavailable`,10),e&2&&F(`page`,W(2).angular())}function kN(e,t){if(e&1&&(I(0,`span`,16),K(1),L()),e&2){let e=W().$implicit,t=W(3);O(),q(t.plural(e.subscriptions,`subscription`))}}function AN(e,t){if(e&1){let e=V();I(0,`li`)(1,`button`,20),H(`click`,function(){let t=w(e).$implicit;return T(W(3).showComponent.emit(t.id))})(`focus`,function(){let t=w(e).$implicit;return T(W(3).highlight.emit(t.id))})(`blur`,function(){return w(e),T(W(3).highlight.emit(null))})(`mouseenter`,function(){let t=w(e).$implicit;return T(W(3).highlight.emit(t.id))})(`mouseleave`,function(){return w(e),T(W(3).highlight.emit(null))}),I(2,`span`,14),K(3),L(),I(4,`span`,16),K(5),L(),j(6,kN,2,1,`span`,16),L()()}if(e&2){let e=t.$implicit,n=W(2),r=W();O(3),q(e.name),O(2),q(r.effectsText(e)),O(),M(n.support.subscriptions===`on`?6:-1)}}function jN(e,t){e&1&&(I(0,`p`,6),K(1,` Angular files a component's effects under the template its host sits in, so effects of components side by side in one template show as shared. `),L())}function MN(e,t){if(e&1&&(I(0,`ul`,12),N(1,AN,7,3,`li`,null,lN),L(),j(3,jN,2,0,`p`,6)),e&2){let e=W(),t=W();O(),P(e.components.slice(0,t.shown)),O(2),M(e.components.some(t.hasShared)?3:-1)}}function NN(e,t){e&1&&(I(0,`p`,6),K(1,`No component on the page has a live effect or a tracked subscription.`),L())}function PN(e,t){if(e&1&&(j(0,uN,6,1)(1,_N,10,7),j(2,vN,5,1,`p`,6),I(3,`h3`,7),K(4,` Open subscriptions after destroy `),j(5,yN,2,1,`span`,8),L(),j(6,TN,3,2)(7,EN,2,0,`p`,9)(8,DN,2,0,`p`,6),I(9,`h3`,7),K(10,` Live effects and subscriptions `),I(11,`span`,8),K(12),L()(),j(13,ON,1,1,`app-angular-unavailable`,10),j(14,MN,4,1)(15,NN,2,0,`p`,6)),e&2){let e,n=t,r=W();M(n.support.retention===`dev-di-debug`?0:1),O(2),M(r.detached().length?2:-1),O(3),M(n.support.subscriptions===`on`?5:-1),O(),M((e=n.support.subscriptions)===`on`?6:e===`unavailable`?7:8),O(6),q(n.components.length),O(),M(n.support.effects?-1:13),O(),M(n.components.length?14:15)}}function FN(e,t){e&1&&(I(0,`p`,6),K(1,`No leak data from this page yet. It comes with the next report.`),L())}var IN=20;function LN(e){let t=Math.max(0,Math.round(e/1e3));if(t<120)return`${t} s`;let n=Math.round(t/60);return n<120?`${n} min`:`${Math.round(n/60)} h`}var RN=(e,t,n=`${t}s`)=>`${e} ${e===1?t:n}`,zN=class e{report=$(null);pageId=$(null);rpc=$(null);angular=$(null);now=$(()=>Date.now());showComponent=bv();highlight=bv();shown=IN;minNavigations=2;minSeconds=sT/1e3;plural=RN;busy=D(!1);announcement=D(``);tracking=X(()=>this.report()?.support.subscriptions===`on`);split=X(()=>{let e=this.report(),t=[],n=[],r=[];if(!e)return{retained:t,recent:n,detached:r};let i=e.support.retention===`dev-di-debug`;for(let a of e.destroyed)if(a.detached)r.push(a);else if(i)continue;else this.isRetained(e,a)?t.push(a):n.push(a);return{retained:t,recent:n,detached:r}});retained=X(()=>this.split().retained);recent=X(()=>this.split().recent);detached=X(()=>this.split().detached);ageMs(e,t){return Math.max(0,this.now()()-e.reportedAt+(e.at-t.destroyedAt))}isRetained(e,t){return t.navigations>=2&&this.ageMs(e,t)>=1e4}ageOf(e){let t=this.report();return t?`${LN(this.ageMs(t,e))} old`:``}names(e){let t=[...new Set(e.map(e=>e.name))];return t.length>6?`${t.slice(0,6).join(`, `)} and more`:t.join(`, `)}hasShared(e){return!!e.sharedEffects}effectsText(e){let t=RN(e.effects,`effect`);return e.sharedEffects?`${t}, ${e.sharedEffects} shared`:t}async toggle(){let e=this.pageId();if(!e||this.busy())return;let t=!this.tracking();this.busy.set(!0);try{await tE(this.rpc(),`request-leak-tracking`,{pageId:e,on:t}),this.announcement.set(t?`Tracking subscriptions. Reload or navigate to see subscriptions made at start.`:`Stopped tracking subscriptions.`)}catch{this.announcement.set(`Could not reach the page. Try again.`)}finally{this.busy.set(!1)}}static ɵfac=function(t){return new(t||e)};static ɵcmp=k({type:e,selectors:[[`app-leaks-section`]],inputs:{report:[1,`report`],pageId:[1,`pageId`],rpc:[1,`rpc`],angular:[1,`angular`],now:[1,`now`]},outputs:{showComponent:`showComponent`,highlight:`highlight`},decls:12,vars:5,consts:[[`aria-labelledby`,`ct-leaks-title`,1,`leaks`],[1,`head`],[`id`,`ct-leaks-title`],[`type`,`button`,1,`track`,3,`click`,`disabled`],[`role`,`status`,1,`sr-only`],[1,`hint`],[1,`note`],[1,`sub`],[1,`pill`],[`role`,`status`,1,`note`],[`capability`,`signalGraph`,`missing`,``,`compact`,``,3,`page`],[1,`stats`],[1,`rows`],[1,`row`],[1,`name`,`mono`],[1,`meta`,`mono`],[1,`count`],[1,`meta`],[1,`flag`,`warn`],[1,`mono`],[`type`,`button`,1,`row`,`live`,3,`click`,`focus`,`blur`,`mouseenter`,`mouseleave`]],template:function(e,t){if(e&1&&(I(0,`section`,0)(1,`div`,1)(2,`h2`,2),K(3,`Leaks`),L(),I(4,`button`,3),H(`click`,function(){return t.toggle()}),K(5,` Track subscriptions `),L(),I(6,`p`,4),K(7),L()(),I(8,`p`,5),K(9,` Components that left the page but are still in memory, and the live effects and RxJS subscriptions of each component. The browser collects garbage when it decides, so a retained instance is a hint: check what holds it in the Chrome DevTools Memory panel. `),L(),j(10,PN,16,7)(11,FN,2,0,`p`,6),L()),e&2){let e;O(4),F(`disabled`,!t.pageId()||!t.report()),A(`aria-pressed`,t.tracking())(`aria-disabled`,t.busy()||null),O(3),q(t.announcement()),O(3),M((e=t.report())?10:11,e)}},dependencies:[FD],styles:[`[_nghost-%COMP%] { display: block; } @@ -2556,7 +2556,7 @@ h2[_ngcontent-%COMP%] { border-color: color-mix(in srgb, var(--%NS%warn) 30%, transparent); background: color-mix(in srgb, var(--%NS%warn) 12%, transparent); color: var(--%NS%warn-text); -}`]})},BN=12,VN=900;function HN(e){for(let t=e.parentElement;t;t=t.parentElement){let e=getComputedStyle(t);if(/(auto|scroll|overlay)/.test(e.overflowY))return t}return null}var UN=class{options;injector=C(ks);visibleTop=D(0);viewport=D(VN);rowHeight;host=null;scroller=null;detach=null;enabled;range;padTop;padBottom;constructor(e){this.options=e,this.rowHeight=D(e.estimate);let t=e.min??300;this.enabled=X(()=>e.count()>t),this.range=X(()=>{let t=e.count();if(!this.enabled())return{start:0,end:t};let n=this.rowHeight(),r=this.viewport(),i=Math.max(0,Math.min(this.visibleTop(),t*n-r)),a=Math.max(0,Math.min(t-1,Math.floor(i/n)-BN));return{start:a,end:Math.min(t,Math.max(a,Math.ceil((i+r)/n)+BN))}}),this.padTop=X(()=>this.enabled()?this.range().start*this.rowHeight():0),this.padBottom=X(()=>this.enabled()?(e.count()-this.range().end)*this.rowHeight():0),vc(()=>{e.count(),dd(()=>this.update(),{injector:this.injector})}),C(js).onDestroy(()=>this.detach?.())}get count(){return this.options.count()}rendered(e){let{start:t,end:n}=this.range();return e>=t&&ethis.update();n.addEventListener(`scroll`,r,{passive:!0}),window.addEventListener(`resize`,r),this.detach=()=>{n.removeEventListener(`scroll`,r),window.removeEventListener(`resize`,r)},this.update()}update(){let e=this.host;if(e){if(this.scroller===e)this.place(e.scrollTop,e.clientHeight);else{let t=this.scroller?this.scroller.getBoundingClientRect().top:0,n=this.scroller?this.scroller.clientHeight:window.innerHeight;this.place(t-e.getBoundingClientRect().top,n)}this.options.fixed||this.measure()}}place(e,t){this.visibleTop.set(e),this.viewport.set(t>0?t:VN)}measure(){let e=this.host?.querySelectorAll(`[data-vindex]`);if(!e||e.length<2)return;let t=e[0].getBoundingClientRect(),n=(e[e.length-1].getBoundingClientRect().bottom-t.top)/e.length;n>4&&Math.abs(n-this.rowHeight())>1&&this.rowHeight.set(n)}reveal(e,t){if(this.enabled()&&!this.rendered(e)){let t=e*this.rowHeight(),n=this.viewport(),r=Math.max(0,t-n/2);if(this.place(r,n),this.host&&this.scroller===this.host)this.host.scrollTop=r;else if(this.host){let e=this.scroller?this.scroller.getBoundingClientRect().top:0,t=this.host.getBoundingClientRect().top-e+r;this.scroller?this.scroller.scrollTop+=t:window.scrollBy(0,t)}}t&&dd(t,{injector:this.injector})}};function WN(e){let t=e.ownerDocument.defaultView;if(!t)return null;for(let n=e.parentElement;n&&n!==e.ownerDocument.documentElement&&n!==e.ownerDocument.body;n=n.parentElement)if(/(auto|scroll|overlay)/.test(t.getComputedStyle(n).overflowY))return n;return null}var GN=e=>{let t=parseFloat(e);return Number.isFinite(t)?t:0};function KN(e,t=8){let n=e.ownerDocument.defaultView;if(!n)return e.offsetHeight+t;let r=WN(e),i=r?n.getComputedStyle(r):null,a=i?GN(i.paddingTop):0,o=i?GN(i.scrollPaddingTop):0,s=GN(n.getComputedStyle(e).top);return Math.max(0,Math.ceil(a+s+e.offsetHeight+t-o))}function qN(e,t,n=8){let r=WN(e),i=t.getBoundingClientRect().bottom+n-e.getBoundingClientRect().top;i<=0||(r?r.scrollTop-=i:e.ownerDocument.defaultView?.scrollBy(0,-i))}var JN=[`filterInput`],YN=[`treeEl`],XN=[`propFilterInput`],ZN=()=>[],QN=e=>({kind:`component`,id:e}),$N=(e,t)=>t.row.node.id,eP=(e,t)=>t.outlet+t.route,tP=(e,t)=>t+e,nP=(e,t)=>t.formId,rP=(e,t)=>t.name+t.index,iP=(e,t)=>t.name,aP=(e,t)=>t.token+e;function oP(e,t){return this.sourceKey(t)}function sP(e,t){if(e&1){let e=V();I(0,`span`,40),K(1,`Page`),L(),I(2,`app-select`,41),H(`valueChange`,function(t){return w(e),T(W(2).selectPage(t))}),L()}if(e&2){let e=W(2);O(2),F(`options`,e.pageOptions())(`value`,e.page()?.pageId??null)}}function cP(e,t){if(e&1){let e=V();I(0,`button`,42),H(`click`,function(){return w(e),T(W(2).toggleDirectiveHosts())}),E(),I(1,`svg`,15),R(2,`path`,43)(3,`path`,44),L(),xs(),I(4,`span`,18),K(5,`Directive hosts`),L()()}e&2&&A(`aria-pressed`,W(2).showDirectiveHosts())}function lP(e,t){if(e&1){let e=V();I(0,`button`,45),H(`click`,function(){w(e);let t=W(2);return T(t.picking()?t.cancelPick():t.pick())}),E(),I(1,`svg`,15),R(2,`path`,46),L(),xs(),I(3,`span`,18),K(4),L()()}if(e&2){let e=W(2);G(`on`,e.picking()),A(`title`,e.pickLabel()),O(4),q(e.pickLabel())}}function uP(e,t){if(e&1&&(I(0,`p`,24),K(1),L()),e&2){let e=W(2);O(),q(e.pickMessage())}}function dP(e,t){if(e&1&&(I(0,`p`,25),K(1),L()),e&2){let e=W(2);O(),q(e.truncationText())}}function fP(e,t){e&1&&(I(0,`p`,48),K(1,`The filter only searches the components the tree lists.`),L())}function pP(e,t){e&1&&(I(0,`p`,48),K(1,`Directive hosts are hidden, so they are not searched.`),L())}function mP(e,t){if(e&1){let e=V();I(0,`div`,29)(1,`p`,47),K(2),L(),j(3,fP,2,0,`p`,48),j(4,pP,2,0,`p`,48),I(5,`button`,49),H(`click`,function(){return w(e),T(W(2).clearFilter())}),K(6,`Clear filters`),L()()}if(e&2){let e=W(2);O(2),J(`No components match “`,e.filter().trim(),`”`),O(),M(e.page().truncated?3:-1),O(),M(!e.showDirectiveHosts()&&e.page().directiveHostCount?4:-1)}}function hP(e,t){if(e&1&&(I(0,`p`,30),K(1),L()),e&2){let e=W(2);O(),J(` `,e.rows().length,` rows. Rows render as you scroll, so the browser's find only sees the ones near view; the filter above searches them all. `)}}function gP(e,t){if(e&1){let e=V();I(0,`span`,57),H(`click`,function(t){w(e),W();let n=q_(0);return T(W(2).toggle(n.node.id,t))}),E(),I(1,`svg`,58),R(2,`path`,59),L()()}e&2&&(W(),G(`open`,q_(0).expanded))}function _P(e,t){e&1&&R(0,`span`,52)}function vP(e,t){if(e&1&&(I(0,`span`,60),K(1),L(),I(2,`span`,61),K(3),L(),I(4,`span`,28),K(5,`directive host`),L()),e&2){W();let e=q_(0),t=W(2);O(),J(`<`,e.node.tag,`>`),O(),A(`title`,e.node.directives?.join(`, `)),O(),q(t.hostLabel(e.node))}}function yP(e,t){if(e&1&&(I(0,`span`,62),K(1),L(),I(2,`span`,63),K(3),L()),e&2){W();let e=q_(0);A(`title`,e.node.name),O(),q(e.node.name),O(),A(`title`,`<`+e.node.tag+`>`),O(),J(`<`,e.node.tag,`>`)}}function bP(e,t){if(e&1&&(I(0,`span`)(1,`span`,28),K(2,`Hydration: `),L(),K(3),L()),e&2){let e=t,n=W(3);x_(`hyd hyd-`+e),O(3),q(n.hydrationText(e))}}function xP(e,t){if(e&1&&(I(0,`span`,54),K(1),L()),e&2){let e=t.$implicit;O(),q(e.route||`/`)}}function SP(e,t){if(e&1&&(I(0,`span`,55),K(1),I(2,`span`,28),K(3),L()()),e&2){let e=t;O(),J(` `,e),O(2),J(` `,e===1?`check`:`checks`,` while recording`)}}function CP(e,t){if(e&1&&(I(0,`span`,56),K(1),I(2,`span`,28),K(3),L()()),e&2){W();let e=q_(0);A(`title`,e.node.directives.join(`, `)),O(),J(` +`,e.node.directives.length,` `),O(2),J(` `,e.node.directives.length===1?`directive`:`directives`,` `)}}function wP(e,t){if(e&1){let e=V();G_(0),I(1,`div`,50),H(`click`,function(){w(e);let t=q_(0);return T(W(2).select(t.node.id))})(`focus`,function(t){w(e);let n=q_(0),r=W(2);return r.focusId.set(n.node.id),r.highlight(n.node.id),T(r.showNameTip(t))})(`blur`,function(){w(e);let t=W(2);return t.highlight(null),T(t.nameTip.set(null))})(`keydown.escape`,function(){return w(e),T(W(2).nameTip.set(null))})(`mouseenter`,function(){w(e);let t=q_(0);return T(W(2).highlight(t.node.id))})(`mouseleave`,function(){return w(e),T(W(2).highlight(null))}),j(2,gP,3,2,`span`,51)(3,_P,1,0,`span`,52),j(4,vP,6,3)(5,yP,4,4),j(6,bP,4,3,`span`,53),N(7,xP,2,1,`span`,54,eP),j(9,SP,4,2,`span`,55),j(10,CP,4,3,`span`,56),L()}if(e&2){let e,n,r=t.$implicit,i=W(2),a=K_(r.row);O(),b_(`--%NS%depth`,a.depth),G(`selected`,i.selectedId()===a.node.id)(`dir-host`,a.node.kind===`directive`),A(`aria-level`,a.depth+1)(`aria-setsize`,a.setsize)(`aria-posinset`,a.posinset)(`aria-expanded`,a.hasChildren?a.expanded:null)(`aria-selected`,i.selectedId()===a.node.id)(`tabindex`,i.tabStop()===a.node.id?0:-1)(`data-vindex`,r.index)(`data-id`,a.node.id),O(),M(a.hasChildren?2:3),O(2),M(a.node.kind===`directive`?4:5),O(2),M((e=a.node.hydration)?6:-1,e),O(),P(i.routedById().get(a.node.id)??nv(20,ZN)),O(2),M((n=i.cdHosts()[a.node.id])?9:-1,n),O(),M(a.node.kind!==`directive`&&a.node.directives?.length?10:-1)}}function TP(e,t){if(e&1&&(I(0,`div`,64),K(1),L()),e&2){let e=t;b_(`top`,e.top,`px`),O(),J(` `,e.text,` `)}}function EP(e,t){if(e&1&&(I(0,`li`,72),K(1),L()),e&2){let e=t.$implicit;O(),q(e)}}function DP(e,t){if(e&1){let e=V();I(0,`div`,74)(1,`button`,49),H(`click`,function(){let t=w(e);return T(W(3).reveal(t.id,!0))}),K(2),L()()}e&2&&(O(2),J(` Show `,t.name,` `))}function OP(e,t){if(e&1&&(I(0,`section`,34)(1,`header`,65)(2,`span`,66),K(3,`directive host`),L(),I(4,`h2`,67),K(5),L(),I(6,`span`,68),K(7),L()(),I(8,`div`,69)(9,`h3`),K(10,` Directives `),I(11,`span`,70),K(12),L()(),I(13,`ul`,71),N(14,EP,2,1,`li`,72,tP),L()(),I(16,`div`,69)(17,`p`,73),K(18,` This element hosts directives but no component. Their inputs are bound in the template of the component that renders it. `),L(),j(19,DP,3,1,`div`,74),L()()),e&2){let e,n=t,r=W(2);O(5),J(`<`,n.tag,`>`),O(2),q(r.hostLabel(n)),O(5),q(n.directives?.length??0),O(2),P(n.directives??nv(4,ZN)),O(5),M((e=r.ownerOf(n.id))?19:-1,e)}}function kP(e,t){if(e&1&&(I(0,`p`,75),R(1,`app-source-link`,79),L()),e&2){let e=t;O(),F(`file`,e.file)(`line`,e.line)}}function AP(e,t){if(e&1){let e=V();I(0,`div`,80)(1,`button`,49),H(`click`,function(){w(e);let t=W();return T(W(2).revealInElements(t))}),K(2,`Reveal in Elements`),L(),I(3,`button`,49),H(`click`,function(){w(e);let t=W();return T(W(2).openSource(t))}),K(4,`Open source`),L()(),I(5,`p`,81),K(6),L()}if(e&2){let e=W(3);O(6),q(e.actionMessage())}}function jP(e,t){if(e&1){let e=V();I(0,`button`,83),H(`click`,function(){let t=w(e).$implicit;return T(W(5).showForm.emit(t.formId))}),K(1),L()}if(e&2){let e=t.$implicit;O(),J(` Show `,e.label,` in Forms `)}}function MP(e,t){if(e&1&&(I(0,`div`,76),N(1,jP,2,1,`button`,82,nP),L()),e&2){let e=W(),t=W(3);O(),P(t.formsIn(e.file))}}function NP(e,t){e&1&&j(0,MP,3,0,`div`,76),e&2&&M(W(3).formsIn(t.file).length?0:-1)}function PP(e,t){if(e&1){let e=V();I(0,`div`,76)(1,`button`,49),H(`click`,function(){w(e);let t=W();return T(W(2).openInjector(t))}),K(2,` Show in Injectors `),I(3,`span`,28),K(4),L()()()}if(e&2){let e=W();O(4),J(`: `,e.name)}}function FP(e,t){if(e&1&&R(0,`app-store-global`,77),e&2){let e=W(),t=W(2);F(`rpc`,t.rpc())(`pageId`,t.page()?.pageId)(`target`,rv(4,QN,e.id))(`label`,e.name)}}function IP(e,t){if(e&1&&(I(0,`dt`),K(1,`Routed`),L(),I(2,`dd`,85),K(3),L()),e&2){let e=t.$implicit;O(3),Y(``,e.route||`/`,` in outlet `,e.outlet)}}function LP(e,t){if(e&1&&(I(0,`span`,11),K(1),L()),e&2){let e=W(4);O(),Y(``,e.shownValues()?.count??0,` of `,e.valueTotal())}}function RP(e,t){if(e&1){let e=V();I(0,`div`,89)(1,`p`,47),K(2),L(),I(3,`p`,48),K(4,` The filter searches names, and the nested keys of values you opened. `),L(),I(5,`button`,49),H(`click`,function(){return w(e),T(W(5).clearPropFilter())}),K(6,`Clear filters`),L()()}if(e&2){let e=W(5);O(2),J(` No inputs, outputs or properties match “`,e.propFilter().trim(),`” `)}}function zP(e,t){if(e&1&&(I(0,`span`,93),K(1),L()),e&2){let e=W().$implicit;O(),J(`(`,e.prop,`)`)}}function BP(e,t){if(e&1&&(I(0,`li`,91)(1,`span`,92),K(2),j(3,zP,2,1,`span`,93),L(),R(4,`app-value-tree`,94),L()),e&2){let e=t.$implicit,n=W(4),r=W(3);O(2),J(` `,e.name,` `),O(),M(e.prop===e.name?-1:3),O(),F(`prop`,e)(`store`,r.values)(`query`,r.propFilter())(`componentId`,n.id)(`pageId`,r.page()?.pageId??null)(`rpc`,r.rpc())(`writes`,r.canEdit())}}function VP(e,t){if(e&1&&(I(0,`ul`,90),N(1,BP,5,9,`li`,91,iP),L()),e&2){let e=W(2);O(),P(e.inputs)}}function HP(e,t){e&1&&(I(0,`p`,73),K(1,`No inputs.`),L())}function UP(e,t){if(e&1&&(I(0,`div`,69)(1,`h3`),K(2,` Inputs `),I(3,`span`,70),K(4),L()(),j(5,VP,3,0,`ul`,90)(6,HP,2,0,`p`,73),L()),e&2){let e=W();O(4),q(e.inputs.length),O(),M(e.inputs.length?5:6)}}function WP(e,t){if(e&1&&(I(0,`li`,96)(1,`span`,85),K(2),L(),I(3,`span`,97),K(4),L()()),e&2){let e=t.$implicit;G(`on`,e.listened),O(2),q(e.name),O(2),q(e.listened?`listened`:`no listener`)}}function GP(e,t){if(e&1&&(I(0,`ul`,71),N(1,WP,5,4,`li`,95,iP),L()),e&2){let e=W(2);O(),P(e.outputs)}}function KP(e,t){e&1&&(I(0,`p`,73),K(1,`No outputs.`),L())}function qP(e,t){if(e&1&&(I(0,`div`,69)(1,`h3`),K(2,` Outputs `),I(3,`span`,70),K(4),L()(),j(5,GP,3,0,`ul`,71)(6,KP,2,0,`p`,73),L()),e&2){let e=W();O(4),q(e.outputs.length),O(),M(e.outputs.length?5:6)}}function JP(e,t){if(e&1&&(I(0,`span`,98),K(1),L()),e&2){let e=W().$implicit;O(),q(e.kind)}}function YP(e,t){if(e&1&&(I(0,`li`,91)(1,`span`,92),K(2),j(3,JP,2,1,`span`,98),L(),R(4,`app-value-tree`,94),L()),e&2){let e=t.$implicit,n=W(4),r=W(3);O(2),J(` `,e.name,` `),O(),M(e.kind?3:-1),O(),F(`prop`,e)(`store`,r.values)(`query`,r.propFilter())(`componentId`,n.id)(`pageId`,r.page()?.pageId??null)(`rpc`,r.rpc())(`writes`,r.canEdit())}}function XP(e,t){if(e&1&&(I(0,`ul`,90),N(1,YP,5,9,`li`,91,iP),L()),e&2){let e=W(2);O(),P(e.properties)}}function ZP(e,t){e&1&&(I(0,`p`,73),K(1,`No other properties.`),L())}function QP(e,t){if(e&1&&(I(0,`div`,69)(1,`h3`),K(2,` Properties `),I(3,`span`,70),K(4),L()(),j(5,XP,3,0,`ul`,90)(6,ZP,2,0,`p`,73),L()),e&2){let e=W();O(4),q(e.properties.length),O(),M(e.properties.length?5:6)}}function $P(e,t){if(e&1&&(I(0,`li`,72),K(1),L()),e&2){let e=t.$implicit;O(),q(e)}}function eF(e,t){if(e&1&&(I(0,`div`,69)(1,`h3`),K(2,` DOM listeners `),I(3,`span`,70),K(4),L()(),I(5,`ul`,71),N(6,$P,2,1,`li`,72,vg),L()()),e&2){let e=W(2);O(4),q(e.listeners.length),O(2),P(e.listeners)}}function tF(e,t){if(e&1&&(I(0,`li`,91)(1,`span`,92),K(2),L(),R(3,`app-value-tree`,99),L()),e&2){let e=t.$implicit,n=W(2).$implicit,r=W(2),i=W(3);O(2),q(e.name),O(),F(`prop`,e)(`store`,i.values)(`query`,i.propFilter())(`directive`,n.index)(`componentId`,r.id)(`pageId`,i.page()?.pageId??null)(`rpc`,i.rpc())}}function nF(e,t){if(e&1&&(I(0,`ul`,90),N(1,tF,4,8,`li`,91,iP),L()),e&2){let e=W().$implicit;O(),P(e.inputs)}}function rF(e,t){if(e&1&&(I(0,`li`,96)(1,`span`,85),K(2),L(),I(3,`span`,97),K(4),L()()),e&2){let e=t.$implicit;G(`on`,e.listened),O(2),q(e.name),O(2),q(e.listened?`listened`:`no listener`)}}function iF(e,t){if(e&1&&(I(0,`ul`,71),N(1,rF,5,4,`li`,95,iP),L()),e&2){let e=W().$implicit;O(),P(e.outputs)}}function aF(e,t){e&1&&(I(0,`p`,73),K(1,`No inputs or outputs.`),L())}function oF(e,t){if(e&1&&(I(0,`div`,69)(1,`h3`)(2,`span`,85),K(3),L(),I(4,`span`,98),K(5,`directive on host`),L()(),j(6,nF,3,0,`ul`,90),j(7,iF,3,0,`ul`,71),j(8,aF,2,0,`p`,73),L()),e&2){let e=t.$implicit;O(3),q(e.name),O(3),M(e.inputs.length?6:-1),O(),M(e.outputs.length?7:-1),O(),M(!e.inputs.length&&!e.outputs.length?8:-1)}}function sF(e,t){if(e&1&&(j(0,RP,7,1,`div`,89),j(1,UP,7,2,`div`,69),j(2,qP,7,2,`div`,69),j(3,QP,7,2,`div`,69),j(4,eF,8,1,`div`,69),N(5,oF,9,4,`div`,69,rP)),e&2){let e=t,n=W(),r=W(3);M(r.propQuery()&&!e.count?0:-1),O(),M(!r.propQuery()||e.inputs.length?1:-1),O(),M(!r.propQuery()||e.outputs.length?2:-1),O(),M(!r.propQuery()||e.properties.length?3:-1),O(),M(!r.propQuery()&&n.listeners.length?4:-1),O(),P(e.directives)}}function cF(e,t){if(e&1&&(I(0,`span`,98),K(1),L()),e&2){let e=t.$implicit;O(),q(e)}}function lF(e,t){if(e&1&&(I(0,`span`,102),K(1,`from `),I(2,`span`,85),K(3),L()()),e&2){let e=W().$implicit;O(3),q(e.providedByName??`an injector`)}}function uF(e,t){e&1&&(I(0,`span`,103),K(1,`not provided`),L())}function dF(e,t){if(e&1&&(I(0,`li`,100)(1,`span`,101),K(2),L(),N(3,cF,2,1,`span`,98,vg),j(5,lF,4,1,`span`,102)(6,uF,2,0,`span`,103),L()),e&2){let e=t.$implicit;O(2),q(e.token),O(),P(e.flags),O(2),M(e.providedBy?5:6)}}function fF(e,t){if(e&1&&(I(0,`ul`,88),N(1,dF,7,2,`li`,100,aP),L()),e&2){let e=W();O(),P(e.dependencies)}}function pF(e,t){e&1&&(I(0,`p`,73),K(1,`Nothing is injected through the constructor or inject().`),L())}function mF(e,t){if(e&1){let e=V();I(0,`dl`,84)(1,`dt`),K(2,`Change detection`),L(),I(3,`dd`),K(4),L(),I(5,`dt`),K(6,`Encapsulation`),L(),I(7,`dd`),K(8),L(),I(9,`dt`),K(10,`Host path`),L(),I(11,`dd`,85),K(12),L(),N(13,IP,4,2,null,null,eP),L(),I(15,`div`,86)(16,`div`,5),E(),I(17,`svg`,6),R(18,`circle`,7)(19,`path`,8),L(),xs(),I(20,`input`,87,2),H(`input`,function(t){return w(e),T(W(3).propFilter.set(t.target.value))})(`keydown.escape`,function(t){return w(e),T(W(3).clearPropFilter(t))}),L()(),j(22,LP,2,2,`span`,11),I(23,`p`,23),K(24),L()(),j(25,sF,7,5),I(26,`div`,69)(27,`h3`),K(28,` Injected `),I(29,`span`,70),K(30),L()(),j(31,fF,3,0,`ul`,88)(32,pF,2,0,`p`,73),L()}if(e&2){let e,n=t,r=W(),i=W(2);O(4),q(n.changeDetection??`Unknown`),O(4),q(n.encapsulation??`Unknown`),O(4),q(n.path),O(),P(i.routedById().get(r.id)??nv(9,ZN)),O(7),F(`value`,i.propFilter()),O(2),M(i.propQuery()?22:-1),O(2),q(i.propFilterStatus()),O(),M((e=i.shownValues())?25:-1,e),O(5),q(n.dependencies.length),O(),M(n.dependencies.length?31:32)}}function hF(e,t){e&1&&(I(0,`div`,78),R(1,`span`,104),I(2,`p`,48),K(3,`Reading live values from the page…`),L()())}function gF(e,t){if(e&1&&(I(0,`section`,34)(1,`header`,65)(2,`span`,66),K(3,`component`),L(),I(4,`h2`,67),K(5),L(),I(6,`span`,68),K(7),L(),j(8,kP,2,2,`p`,75),j(9,AP,7,1),j(10,NP,1,1),j(11,PP,5,1,`div`,76),j(12,FP,1,6,`app-store-global`,77),L(),j(13,mF,33,10)(14,hF,4,0,`div`,78),L()),e&2){let e,n,r,i=t,a=W(2);O(5),q(i.name),O(2),J(`<`,i.tag,`>`),O(),M((e=a.whereOf(i))?8:-1,e),O(),M(a.devtoolsActions()?9:-1),O(),M((n=a.sourceFor(i))?10:-1,n),O(),M(a.canShowInjector()&&!a.staticReport()?11:-1),O(),M(!a.staticReport()&&!a.native()?12:-1),O(),M((r=a.detail())?13:14,r)}}function _F(e,t){e&1&&(I(0,`p`,47),K(1,`The selected component was destroyed`),L(),I(2,`p`,48)(3,`span`,85),K(4),L(),K(5,` is no longer on the page. Select another component to see its live values. `),L()),e&2&&(O(4),q(t))}function vF(e,t){e&1&&(I(0,`p`,48),K(1,` Select a component to see its live inputs, properties, outputs, change detection and injected services. `),L())}function yF(e,t){if(e&1&&(I(0,`div`,35),j(1,_F,6,1)(2,vF,2,0,`p`,48),L()),e&2){let e,t=W(2);O(),M((e=t.destroyed())?1:2,e)}}function bF(e,t){e&1&&R(0,`app-angular-unavailable`,37),e&2&&F(`page`,W(2).angularPage())}function xF(e,t){if(e&1){let e=V();I(0,`app-hydration-section`,105),H(`overlay`,function(t){return w(e),T(W(2).setHydrationOverlay(t))})(`showNode`,function(t){return w(e),T(W(2).revealNode(t))})(`highlight`,function(t){return w(e),T(W(2).highlight(t))}),L()}e&2&&F(`report`,W(2).page()?.hydration)}function SF(e,t){if(e&1){let e=V();I(0,`app-cd-recording`,106),H(`showComponent`,function(t){return w(e),T(W(2).showCdComponent(t))}),L(),I(1,`app-leaks-section`,107),H(`showComponent`,function(t){return w(e),T(W(2).showLeakComponent(t))})(`highlight`,function(t){return w(e),T(W(2).highlight(t))}),L()}if(e&2){let e=W(2);F(`page`,e.cdPage())(`pageId`,e.page().pageId)(`rpc`,e.rpc())(`native`,e.native()),O(),F(`report`,e.leaksPage())(`pageId`,e.page().pageId)(`rpc`,e.rpc())(`angular`,e.angularPage())}}function CF(e,t){if(e&1){let e=V();I(0,`p`,3),K(1,` Every component instance on the page, in the order Angular rendered them. Hover a row to highlight its host in the page, and select it to read its live inputs, properties, outputs and injected services. `),L(),I(2,`div`,4)(3,`div`,5),E(),I(4,`svg`,6),R(5,`circle`,7)(6,`path`,8),L(),xs(),I(7,`input`,9,0),H(`input`,function(t){return w(e),T(W().setFilter(t.target.value))})(`keydown.escape`,function(){return w(e),T(W().setFilter(``))}),L(),I(9,`span`,10),K(10,` Type plain text, a tag such as