@skill-map/cli 0.45.1 → 0.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/tutorial/sm-master/SKILL.md +29 -29
- package/dist/cli/tutorial/sm-master/references/fixture-templates.md +18 -13
- package/dist/cli/tutorial/sm-master/references/tour-authoring.md +35 -40
- package/dist/cli/tutorial/sm-master/references/tour-plugins.md +32 -32
- package/dist/cli/tutorial/sm-master/references/tour-settings.md +156 -75
- package/dist/cli/tutorial/sm-tutorial/SKILL.md +3 -3
- package/dist/cli.js +998 -458
- package/dist/conformance/index.js +4 -1
- package/dist/index.js +67 -22
- package/dist/kernel/index.d.ts +93 -13
- package/dist/kernel/index.js +67 -22
- package/dist/migrations/001_initial.sql +23 -0
- package/dist/ui/chunk-22CKFAEU.js +1 -0
- package/dist/ui/chunk-3AKR33GE.js +1 -0
- package/dist/ui/{chunk-QNTAOR2L.js → chunk-3HLMBEDX.js} +1 -1
- package/dist/ui/{chunk-T3IVIRRJ.js → chunk-7K36273M.js} +1 -1
- package/dist/ui/{chunk-MFLFIA7C.js → chunk-CO2ZOUSD.js} +1 -1
- package/dist/ui/{chunk-2RAE3FAN.js → chunk-CRWK2NFZ.js} +1 -1
- package/dist/ui/{chunk-VGPYYAVI.js → chunk-EPBUSS3I.js} +1 -1
- package/dist/ui/chunk-HAWX5WNM.js +4 -0
- package/dist/ui/{chunk-QDUSFOBE.js → chunk-K365TVPA.js} +1 -1
- package/dist/ui/chunk-PO2VZMOB.js +123 -0
- package/dist/ui/{chunk-X227ITGS.js → chunk-RT7E4S5B.js} +1 -1
- package/dist/ui/{chunk-5AD5ZV4I.js → chunk-UIUGLD7F.js} +1 -1
- package/dist/ui/{chunk-IYM26L3O.js → chunk-UV3QRBRR.js} +1 -1
- package/dist/ui/chunk-VNA3TMIO.js +1 -0
- package/dist/ui/{chunk-F7I6KMHX.js → chunk-VW2A6WZ3.js} +1 -1
- package/dist/ui/{chunk-A7PRWMQD.js → chunk-WPUUCIS3.js} +11 -11
- package/dist/ui/{chunk-MS6B7344.js → chunk-XWU3YFSM.js} +7 -7
- package/dist/ui/{chunk-I5AX4U2N.js → chunk-YOF6HQCQ.js} +1 -1
- package/dist/ui/chunk-ZZJ7XWDX.js +1 -0
- package/dist/ui/index.html +1 -1
- package/dist/ui/main-55GYZX6C.js +4 -0
- package/migrations/001_initial.sql +23 -0
- package/package.json +2 -2
- package/dist/cli.js.map +0 -1
- package/dist/conformance/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/kernel/index.js.map +0 -1
- package/dist/ui/chunk-27WQPOXP.js +0 -1
- package/dist/ui/chunk-555ST76V.js +0 -1
- package/dist/ui/chunk-PZQHB7GS.js +0 -4
- package/dist/ui/chunk-ZIGUUDUX.js +0 -123
- package/dist/ui/main-KMSUFJ6Y.js +0 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as Ht,b as Nt,c as Ui,d as qt,e as Yt,f as mn,g as Wt,h as hn,i as _n,j as Zt,k as hi,l as fn,m as gn,o as bn,p as yn,q as xn}from"./chunk-
|
|
1
|
+
import{a as Ht,b as Nt,c as Ui,d as qt,e as Yt,f as mn,g as Wt,h as hn,i as _n,j as Zt,k as hi,l as fn,m as gn,o as bn,p as yn,q as xn}from"./chunk-7K36273M.js";import{a as Qe,b as Qt}from"./chunk-CO2ZOUSD.js";import{a as tn,b as ln,c as cn,e as dn,f as pn,g as un}from"./chunk-UIUGLD7F.js";import{a as ct,b as qi,d as $t,e as mt,f as an,g as on}from"./chunk-UV3QRBRR.js";import{c as Wi,e as Zi,h as Ji,i as Xi,k as en,m as Ut,n as rn,p as sn}from"./chunk-K365TVPA.js";import{A as G,B as mi,C as Kt,D as Xe,E as dt,F as j,G as Qi,H as pt,I as Gt,J as Yi,R as jt,S as Ae,T as nn,U as ut,V as et,W as tt,X as $e,a as re,d as Hi,e as pi,f as zt,g as st,h as Ni,i as Ki,j as pe,k as Z,l as _e,m as ye,p as xe,q as Ke,r as $,s as $i,t as At,u as ui,v as qe,w as q,x as Ee,y as Gi,z as ji}from"./chunk-WPUUCIS3.js";import{A as Oi,D as Vi,F as Bi,J as Ri,O as It,R as Pi,T as Ne,U as Ze,V as Je,W as Li,X as St,a as Oe,aa as zi,b as li,ba as Mt,ca as Ai,k as si,l as ci,m as Di,n as Ei,p as di,t as ze,u as oe,v as We,w as Tt,x as Fi,z as kt}from"./chunk-4SG4352Z.js";import{g as Le,i as je,j as we,k as Ue,l as Ce,m as he,q as Ct}from"./chunk-VNA3TMIO.js";import{$b as le,Ab as H,Bb as O,Cb as V,Db as P,Gb as A,Hb as ce,Ib as I,Ic as C,Jc as W,K as Re,Ka as c,Kb as s,L as de,Lb as Rt,M as fe,Mb as lt,Nb as Me,O as ue,Ob as De,Pb as y,Q as N,Qb as x,Ta as Se,Ub as Pe,Vb as ve,W as _,Wb as gt,X as f,Xb as ke,Y as k,Yb as b,Za as E,Zb as T,_ as Vt,_a as ge,_b as K,ab as be,ac as bt,bb as R,ca as D,cb as p,cc as yt,d as rt,da as Ye,dc as xt,ec as vt,ha as Te,ic as me,ja as Bt,jc as oi,kc as Y,la as F,lb as w,lc as Ie,mb as Ii,mc as Pt,nb as Si,nc as ri,ob as te,oc as Lt,pb as ie,pc as wt,qc as Mi,rc as ae,ub as r,uc as ne,vb as u,wb as m,xb as S,yb as X,yc as se,zb as ee}from"./chunk-HAWX5WNM.js";import{a as Be,b as ot}from"./chunk-WCABR6TI.js";var vn=`
|
|
2
2
|
.p-datatable {
|
|
3
3
|
position: relative;
|
|
4
4
|
display: block;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as Gr}from"./chunk-EPBUSS3I.js";import{e as Vr,f as Xe}from"./chunk-VNA3TMIO.js";import{$a as Ie,A as G,B as _t,D as Rr,E as L,Ec as Ze,F as We,G as x,I as S,Ia as Ar,Ib as xr,Ic as Je,J as Cr,L as w,Lc as Br,N as Sr,Nb as jr,O as M,P as Qe,Pb as kr,Q as h,Qb as $r,R as wr,Sa as Lt,T as W,Ta as $,U,Ua as Mr,Wa as Tr,Ya as xt,Za as Dr,_ as br,a as hr,aa as Ot,b as fr,ba as Ir,c as pr,ca as te,d as X,e as _,eb as Nr,f as O,fa as Ke,fb as _r,h as A,ha as R,hb as Or,i as g,ib as Ur,j as gr,k as Tt,ka as be,l as vr,la as Ut,lb as Pr,ma as Er,n as I,na as Pt,o as Dt,p as q,q as Nt,r as mr,s as Be,sc as zr,tc as y,uc as Ye,v as ee,vc as Fr,w as Ve,wc as qr,x as Ge,xb as Lr,y as ce,yc as Hr,z as yr}from"./chunk-HAWX5WNM.js";import{a as l,b as N}from"./chunk-WCABR6TI.js";var f="primary",$e=Symbol("RouteTitle"),Ft=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function ne(t){return new Ft(t)}function jt(t,n,e){for(let r=0;r<t.length;r++){let i=t[r],o=n[r];if(i[0]===":")e[i.substring(1)]=o;else if(i!==o.path)return!1}return!0}function Xr(t,n,e){let r=e.path.split("/"),i=r.indexOf("**");if(i===-1){if(r.length>t.length||e.pathMatch==="full"&&(n.hasChildren()||r.length<t.length))return null;let c={},u=t.slice(0,r.length);return jt(r,u,c)?{consumed:u,posParams:c}:null}if(i!==r.lastIndexOf("**"))return null;let o=r.slice(0,i),s=r.slice(i+1);if(o.length+s.length>t.length||e.pathMatch==="full"&&n.hasChildren()&&e.path!=="**")return null;let a={};return!jt(o,t.slice(0,o.length),a)||!jt(s,t.slice(t.length-s.length),a)?null:{consumed:t,posParams:a}}function ot(t){return new Promise((n,e)=>{t.pipe(G()).subscribe({next:r=>n(r),error:r=>e(r)})})}function Bn(t,n){if(t.length!==n.length)return!1;for(let e=0;e<t.length;++e)if(!z(t[e],n[e]))return!1;return!0}function z(t,n){let e=t?qt(t):void 0,r=n?qt(n):void 0;if(!e||!r||e.length!=r.length)return!1;let i;for(let o=0;o<e.length;o++)if(i=e[o],!en(t[i],n[i]))return!1;return!0}function qt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function en(t,n){if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;let e=[...t].sort(),r=[...n].sort();return e.every((i,o)=>r[o]===i)}else return t===n}function Vn(t){return t.length>0?t[t.length-1]:null}function ae(t){return Tt(t)?t:_r(t)?A(Promise.resolve(t)):g(t)}function tn(t){return Tt(t)?ot(t):Promise.resolve(t)}var Gn={exact:nn,subset:on},rn={exact:Wn,subset:Qn,ignored:()=>!0},rr={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},Ne={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function nr(t,n,e){let r=t instanceof E?t:n.parseUrl(t);return Ye(()=>Ht(n.lastSuccessfulNavigation()?.finalUrl??new E,r,l(l({},Ne),e)))}function Ht(t,n,e){return Gn[e.paths](t.root,n.root,e.matrixParams)&&rn[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function Wn(t,n){return z(t,n)}function nn(t,n,e){if(!re(t.segments,n.segments)||!rt(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!t.children[r]||!nn(t.children[r],n.children[r],e))return!1;return!0}function Qn(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>en(t[e],n[e]))}function on(t,n,e){return an(t,n,n.segments,e)}function an(t,n,e,r){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!re(i,e)||n.hasChildren()||!rt(i,e,r))}else if(t.segments.length===e.length){if(!re(t.segments,e)||!rt(t.segments,e,r))return!1;for(let i in n.children)if(!t.children[i]||!on(t.children[i],n.children[i],r))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!re(t.segments,i)||!rt(t.segments,i,r)||!t.children[f]?!1:an(t.children[f],n,o,r)}}function rt(t,n,e){return n.every((r,i)=>rn[e](t[i].parameters,r.parameters))}var E=class{root;queryParams;fragment;_queryParamMap;constructor(n=new v([],{}),e={},r=null){this.root=n,this.queryParams=e,this.fragment=r}get queryParamMap(){return this._queryParamMap??=ne(this.queryParams),this._queryParamMap}toString(){return Zn.serialize(this)}},v=class{segments;children;parent=null;constructor(n,e){this.segments=n,this.children=e,Object.values(e).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return nt(this)}},Q=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=ne(this.parameters),this._parameterMap}toString(){return cn(this)}};function Kn(t,n){return re(t,n)&&t.every((e,r)=>z(e.parameters,n[r].parameters))}function re(t,n){return t.length!==n.length?!1:t.every((e,r)=>e.path===n[r].path)}function Yn(t,n){let e=[];return Object.entries(t.children).forEach(([r,i])=>{r===f&&(e=e.concat(n(i,r)))}),Object.entries(t.children).forEach(([r,i])=>{r!==f&&(e=e.concat(n(i,r)))}),e}var me=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:()=>new K,providedIn:"root"})}return t})(),K=class{parse(n){let e=new Vt(n);return new E(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${Ee(n.root,!0)}`,r=ei(n.queryParams),i=typeof n.fragment=="string"?`#${Jn(n.fragment)}`:"";return`${e}${r}${i}`}},Zn=new K;function nt(t){return t.segments.map(n=>cn(n)).join("/")}function Ee(t,n){if(!t.hasChildren())return nt(t);if(n){let e=t.children[f]?Ee(t.children[f],!1):"",r=[];return Object.entries(t.children).forEach(([i,o])=>{i!==f&&r.push(`${i}:${Ee(o,!1)}`)}),r.length>0?`${e}(${r.join("//")})`:e}else{let e=Yn(t,(r,i)=>i===f?[Ee(t.children[f],!1)]:[`${i}:${Ee(r,!1)}`]);return Object.keys(t.children).length===1&&t.children[f]!=null?`${nt(t)}/${e[0]}`:`${nt(t)}/(${e.join("//")})`}}function sn(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function et(t){return sn(t).replace(/%3B/gi,";")}function Jn(t){return encodeURI(t)}function Bt(t){return sn(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function it(t){return decodeURIComponent(t)}function Wr(t){return it(t.replace(/\+/g,"%20"))}function cn(t){return`${Bt(t.path)}${Xn(t.parameters)}`}function Xn(t){return Object.entries(t).map(([n,e])=>`;${Bt(n)}=${Bt(e)}`).join("")}function ei(t){let n=Object.entries(t).map(([e,r])=>Array.isArray(r)?r.map(i=>`${et(e)}=${et(i)}`).join("&"):`${et(e)}=${et(r)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var ti=/^[^\/()?;#]+/;function kt(t){let n=t.match(ti);return n?n[0]:""}var ri=/^[^\/()?;=#]+/;function ni(t){let n=t.match(ri);return n?n[0]:""}var ii=/^[^=?&#]+/;function oi(t){let n=t.match(ii);return n?n[0]:""}var ai=/^[^&#]+/;function si(t){let n=t.match(ai);return n?n[0]:""}var Vt=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){for(;this.consumeOptional("/"););return this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new v([],{}):new v([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(n=0){if(n>50)throw new S(4010,!1);if(this.remaining==="")return{};this.consumeOptional("/");let e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let r={};this.peekStartsWith("/(")&&(this.capture("/"),r=this.parseParens(!0,n));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1,n)),(e.length>0||Object.keys(r).length>0)&&(i[f]=new v(e,r)),i}parseSegment(){let n=kt(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new S(4009,!1);return this.capture(n),new Q(it(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=ni(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let i=kt(this.remaining);i&&(r=i,this.capture(r))}n[it(e)]=it(r)}parseQueryParam(n){let e=oi(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let s=si(this.remaining);s&&(r=s,this.capture(r))}let i=Wr(e),o=Wr(r);if(n.hasOwnProperty(i)){let s=n[i];Array.isArray(s)||(s=[s],n[i]=s),s.push(o)}else n[i]=o}parseParens(n,e){let r={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=kt(this.remaining),o=this.remaining[i.length];if(o!=="/"&&o!==")"&&o!==";")throw new S(4010,!1);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):n&&(s=f);let a=this.parseChildren(e+1);r[s??f]=Object.keys(a).length===1&&a[f]?a[f]:new v([],a),this.consumeOptional("//")}return r}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new S(4011,!1)}};function un(t){return t.segments.length>0?new v([],{[f]:t}):t}function ln(t){let n={};for(let[r,i]of Object.entries(t.children)){let o=ln(i);if(r===f&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[r]=o)}let e=new v(t.segments,n);return ci(e)}function ci(t){if(t.numberOfChildren===1&&t.children[f]){let n=t.children[f];return new v(t.segments.concat(n.segments),n.children)}return t}function Y(t){return t instanceof E}function dn(t,n,e=null,r=null,i=new K){let o=hn(t);return fn(o,n,e,r,i)}function hn(t){let n;function e(o){let s={};for(let c of o.children){let u=e(c);s[c.outlet]=u}let a=new v(o.url,s);return o===t&&(n=a),a}let r=e(t.root),i=un(r);return n??i}function fn(t,n,e,r,i){let o=t;for(;o.parent;)o=o.parent;if(n.length===0)return $t(o,o,o,e,r,i);let s=ui(n);if(s.toRoot())return $t(o,o,new v([],{}),e,r,i);let a=li(s,o,t),c=a.processChildren?Me(a.segmentGroup,a.index,s.commands):gn(a.segmentGroup,a.index,s.commands);return $t(o,a.segmentGroup,c,e,r,i)}function at(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function _e(t){return typeof t=="object"&&t!=null&&t.outlets}function Qr(t,n,e){t||="\u0275";let r=new E;return r.queryParams={[t]:n},e.parse(e.serialize(r)).queryParams[t]}function $t(t,n,e,r,i,o){let s={};for(let[u,d]of Object.entries(r??{}))s[u]=Array.isArray(d)?d.map(p=>Qr(u,p,o)):Qr(u,d,o);let a;t===n?a=e:a=pn(t,n,e);let c=un(ln(a));return new E(c,s,i)}function pn(t,n,e){let r={};return Object.entries(t.children).forEach(([i,o])=>{o===n?r[i]=e:r[i]=pn(o,n,e)}),new v(t.segments,r)}var st=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,r){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=r,n&&r.length>0&&at(r[0]))throw new S(4003,!1);let i=r.find(_e);if(i&&i!==Vn(r))throw new S(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function ui(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new st(!0,0,t);let n=0,e=!1,r=t.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([c,u])=>{a[c]=typeof u=="string"?u.split("/"):u}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,c)=>{c==0&&a==="."||(c==0&&a===""?e=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new st(e,n,r)}var le=class{segmentGroup;processChildren;index;constructor(n,e,r){this.segmentGroup=n,this.processChildren=e,this.index=r}};function li(t,n,e){if(t.isAbsolute)return new le(n,!0,0);if(!e)return new le(n,!1,NaN);if(e.parent===null)return new le(e,!0,0);let r=at(t.commands[0])?0:1,i=e.segments.length-1+r;return di(e,i,t.numberOfDoubleDots)}function di(t,n,e){let r=t,i=n,o=e;for(;o>i;){if(o-=i,r=r.parent,!r)throw new S(4005,!1);i=r.segments.length}return new le(r,!1,i-o)}function hi(t){return _e(t[0])?t[0].outlets:{[f]:t}}function gn(t,n,e){if(t??=new v([],{}),t.segments.length===0&&t.hasChildren())return Me(t,n,e);let r=fi(t,n,e),i=e.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){let o=new v(t.segments.slice(0,r.pathIndex),{});return o.children[f]=new v(t.segments.slice(r.pathIndex),t.children),Me(o,0,i)}else return r.match&&i.length===0?new v(t.segments,{}):r.match&&!t.hasChildren()?Gt(t,n,e):r.match?Me(t,0,i):Gt(t,n,e)}function Me(t,n,e){if(e.length===0)return new v(t.segments,{});{let r=hi(e),i={};if(Object.keys(r).some(o=>o!==f)&&t.children[f]&&t.numberOfChildren===1&&t.children[f].segments.length===0){let o=Me(t.children[f],n,e);return new v(t.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=gn(t.children[o],n,s))}),Object.entries(t.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new v(t.segments,i)}}function fi(t,n,e){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(r>=e.length)return o;let s=t.segments[i],a=e[r];if(_e(a))break;let c=`${a}`,u=r<e.length-1?e[r+1]:null;if(i>0&&c===void 0)break;if(c&&u&&typeof u=="object"&&u.outlets===void 0){if(!Yr(c,u,s))return o;r+=2}else{if(!Yr(c,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function Gt(t,n,e){let r=t.segments.slice(0,n),i=0;for(;i<e.length;){let o=e[i];if(_e(o)){let c=pi(o.outlets);return new v(r,c)}if(i===0&&at(e[0])){let c=t.segments[n];r.push(new Q(c.path,Kr(e[0]))),i++;continue}let s=_e(o)?o.outlets[f]:`${o}`,a=i<e.length-1?e[i+1]:null;s&&a&&at(a)?(r.push(new Q(s,Kr(a))),i+=2):(r.push(new Q(s,{})),i++)}return new v(r,{})}function pi(t){let n={};return Object.entries(t).forEach(([e,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[e]=Gt(new v([],{}),0,r))}),n}function Kr(t){let n={};return Object.entries(t).forEach(([e,r])=>n[e]=`${r}`),n}function Yr(t,n,e){return t==e.path&&z(n,e.parameters)}var Te="imperative",C=(function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t})(C||{}),D=class{id;url;constructor(n,e){this.id=n,this.url=e}},ie=class extends D{type=C.NavigationStart;navigationTrigger;restoredState;constructor(n,e,r="imperative",i=null){super(n,e),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},k=class extends D{urlAfterRedirects;type=C.NavigationEnd;constructor(n,e,r){super(n,e),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},b=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(b||{}),Oe=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(Oe||{}),P=class extends D{reason;code;type=C.NavigationCancel;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}};function vn(t){return t instanceof P&&(t.code===b.Redirect||t.code===b.SupersededByNewNavigation)}var B=class extends D{reason;code;type=C.NavigationSkipped;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}},oe=class extends D{error;target;type=C.NavigationError;constructor(n,e,r,i){super(n,e),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},Ue=class extends D{urlAfterRedirects;state;type=C.RoutesRecognized;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ct=class extends D{urlAfterRedirects;state;type=C.GuardsCheckStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ut=class extends D{urlAfterRedirects;state;shouldActivate;type=C.GuardsCheckEnd;constructor(n,e,r,i,o){super(n,e),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},lt=class extends D{urlAfterRedirects;state;type=C.ResolveStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},dt=class extends D{urlAfterRedirects;state;type=C.ResolveEnd;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ht=class{route;type=C.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},ft=class{route;type=C.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},pt=class{snapshot;type=C.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},gt=class{snapshot;type=C.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},vt=class{snapshot;type=C.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},mt=class{snapshot;type=C.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var he=class{},Pe=class{},fe=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function gi(t){return!(t instanceof he)&&!(t instanceof fe)&&!(t instanceof Pe)}var yt=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return this.route?.snapshot._environmentInjector??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new ye(this.rootInjector)}},ye=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,r){let i=this.getOrCreateContext(e);i.outlet=r,this.contexts.set(e,i)}onChildOutletDestroyed(e){let r=this.getContext(e);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let r=this.getContext(e);return r||(r=new yt(this.rootInjector),this.contexts.set(e,r)),r}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(r){return new(r||t)(Qe(W))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Rt=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){let e=Wt(n,this._root);return e?e.children.map(r=>r.value):[]}firstChild(n){let e=Wt(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=Qt(n,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return Qt(n,this._root).map(e=>e.value)}};function Wt(t,n){if(t===n.value)return n;for(let e of n.children){let r=Wt(t,e);if(r)return r}return null}function Qt(t,n){if(t===n.value)return[n];for(let e of n.children){let r=Qt(t,e);if(r.length)return r.unshift(n),r}return[]}var T=class{value;children;constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}};function ue(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var Le=class extends Rt{snapshot;constructor(n,e){super(n),this.snapshot=e,or(this,n)}toString(){return this.snapshot.toString()}};function mn(t,n){let e=vi(t,n),r=new _([new Q("",{})]),i=new _({}),o=new _({}),s=new _({}),a=new _(""),c=new V(r,i,s,a,o,f,t,e.root);return c.snapshot=e.root,new Le(new T(c,[]),e)}function vi(t,n){let e={},r={},i={},s=new pe([],e,i,"",r,f,t,null,{},n);return new xe("",new T(s,[]))}var V=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,e,r,i,o,s,a,c){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(I(u=>u[$e]))??g(void 0),this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(I(n=>ne(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(I(n=>ne(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function ir(t,n,e="emptyOnly"){let r,{routeConfig:i}=t;return n!==null&&(e==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:l(l({},n.params),t.params),data:l(l({},n.data),t.data),resolve:l(l(l(l({},t.data),n.data),i?.data),t._resolvedData)}:r={params:l({},t.params),data:l({},t.data),resolve:l(l({},t.data),t._resolvedData??{})},i&&Rn(i)&&(r.resolve[$e]=i.title),r}var pe=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;_environmentInjector;get title(){return this.data?.[$e]}constructor(n,e,r,i,o,s,a,c,u,d){this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=c,this._resolve=u,this._environmentInjector=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=ne(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=ne(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${e}')`}},xe=class extends Rt{url;constructor(n,e){super(e),this.url=n,or(this,e)}toString(){return yn(this._root)}};function or(t,n){n.value._routerState=t,n.children.forEach(e=>or(t,e))}function yn(t){let n=t.children.length>0?` { ${t.children.map(yn).join(", ")} } `:"";return`${t.value}${n}`}function zt(t){if(t.snapshot){let n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,z(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),z(n.params,e.params)||t.paramsSubject.next(e.params),Bn(n.url,e.url)||t.urlSubject.next(e.url),z(n.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function Kt(t,n){let e=z(t.params,n.params)&&Kn(t.url,n.url),r=!t.parent!=!n.parent;return e&&!r&&(!t.parent||Kt(t.parent,n.parent))}function Rn(t){return typeof t.title=="string"||t.title===null}var Cn=new M(""),ar=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=f;activateEvents=new te;deactivateEvents=new te;attachEvents=new te;detachEvents=new te;routerOutletData=Hr();parentContexts=h(ye);location=h(Mr);changeDetector=h(Ze);inputBinder=h(ze,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:r,previousValue:i}=e.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new S(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new S(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new S(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,r){this.activated=e,this._activatedRoute=r,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,r){if(this.isActivated)throw new S(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,c=new Yt(e,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:c,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(r){return new(r||t)};static \u0275dir=Ie({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[be]})}return t})(),Yt=class{route;childContexts;parent;outletData;constructor(n,e,r,i){this.route=n,this.childContexts=e,this.parent=r,this.outletData=i}get(n,e){return n===V?this.route:n===ye?this.childContexts:n===Cn?this.outletData:this.parent.get(n,e)}},ze=new M(""),sr=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:r}=e,i=Dt([r.queryParams,r.params,r.data]).pipe(L(([o,s,a],c)=>(a=l(l(l({},o),s),a),c===0?g(a):Promise.resolve(a)))).subscribe(o=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==r||r.component===null){this.unsubscribeFromRouteData(e);return}let s=Br(r.component);if(!s){this.unsubscribeFromRouteData(e);return}for(let{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})(),cr=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275cmp=Dr({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&Lr(0,"router-outlet")},dependencies:[ar],encapsulation:2})}return t})();function ur(t){let n=t.children&&t.children.map(ur),e=n?N(l({},t),{children:n}):l({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==f&&(e.component=cr),e}function mi(t,n,e){let r=je(t,n._root,e?e._root:void 0);return new Le(r,n)}function je(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let r=e.value;r._futureSnapshot=n.value;let i=yi(t,n,e);return new T(r,i)}else{if(t.shouldAttach(n.value)){let o=t.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>je(t,a)),s}}let r=Ri(n.value),i=n.children.map(o=>je(t,o));return new T(r,i)}}function yi(t,n,e){return n.children.map(r=>{for(let i of e.children)if(t.shouldReuseRoute(r.value,i.value.snapshot))return je(t,r,i);return je(t,r)})}function Ri(t){return new V(new _(t.url),new _(t.params),new _(t.queryParams),new _(t.fragment),new _(t.data),t.outlet,t.component,t)}var ge=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},Sn="ngNavigationCancelingError";function Ct(t,n){let{redirectTo:e,navigationBehaviorOptions:r}=Y(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=wn(!1,b.Redirect);return i.url=e,i.navigationBehaviorOptions=r,i}function wn(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[Sn]=!0,e.cancellationCode=n,e}function Ci(t){return bn(t)&&Y(t.url)}function bn(t){return!!t&&t[Sn]}var Zt=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,e,r,i,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let e=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,r,n),zt(this.futureState.root),this.activateChildRoutes(e,r,n)}deactivateChildRoutes(n,e,r){let i=ue(e);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],r),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,r)})}deactivateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,r);else o&&this.deactivateRouteAndItsChildren(e,r)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=ue(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(r&&r.outlet){let s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=ue(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,e,r){let i=ue(e);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new mt(o.value.snapshot))}),n.children.length&&this.forwardEvent(new gt(n.value.snapshot))}activateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(zt(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,r);else if(i.component){let s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),zt(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,r)}},St=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},de=class{component;route;constructor(n,e){this.component=n,this.route=e}};function Si(t,n,e){let r=t._root,i=n?n._root:null;return Ae(r,i,e,[r.value])}function wi(t){let n=t.routeConfig?t.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:t,guards:n}}function Re(t,n){let e=Symbol(),r=n.get(t,e);return r===e?typeof t=="function"&&!Sr(t)?t:n.get(t):r}function Ae(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=ue(n);return t.children.forEach(s=>{bi(s,o[s.value.outlet],e,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>De(a,e.getContext(s),i)),i}function bi(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let c=Ii(s,o,o.routeConfig.runGuardsAndResolvers);c?i.canActivateChecks.push(new St(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Ae(t,n,a?a.children:null,r,i):Ae(t,n,e,r,i),c&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new de(a.outlet.component,s))}else s&&De(n,a,i),i.canActivateChecks.push(new St(r)),o.component?Ae(t,null,a?a.children:null,r,i):Ae(t,null,e,r,i);return i}function Ii(t,n,e){if(typeof e=="function")return U(n._environmentInjector,()=>e(t,n));switch(e){case"pathParamsChange":return!re(t.url,n.url);case"pathParamsOrQueryParamsChange":return!re(t.url,n.url)||!z(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Kt(t,n)||!z(t.queryParams,n.queryParams);default:return!Kt(t,n)}}function De(t,n,e){let r=ue(t),i=t.value;Object.entries(r).forEach(([o,s])=>{i.component?n?De(s,n.children.getContext(o),e):De(s,null,e):De(s,n,e)}),i.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new de(n.outlet.component,i)):e.canDeactivateChecks.push(new de(null,i)):e.canDeactivateChecks.push(new de(null,i))}function Fe(t){return typeof t=="function"}function Ei(t){return typeof t=="boolean"}function Ai(t){return t&&Fe(t.canLoad)}function Mi(t){return t&&Fe(t.canActivate)}function Ti(t){return t&&Fe(t.canActivateChild)}function Di(t){return t&&Fe(t.canDeactivate)}function Ni(t){return t&&Fe(t.canMatch)}function In(t){return t instanceof vr||t?.name==="EmptyError"}var tt=Symbol("INITIAL_VALUE");function ve(){return L(t=>Dt(t.map(n=>n.pipe(ce(1),Rr(tt)))).pipe(I(n=>{for(let e of n)if(e!==!0){if(e===tt)return tt;if(e===!1||_i(e))return e}return!0}),ee(n=>n!==tt),ce(1)))}function _i(t){return Y(t)||t instanceof ge}function En(t){return t.aborted?g(void 0).pipe(ce(1)):new pr(n=>{let e=()=>{n.next(),n.complete()};return t.addEventListener("abort",e),()=>t.removeEventListener("abort",e)})}function An(t){return We(En(t))}function Oi(t){return q(n=>{let{targetSnapshot:e,currentSnapshot:r,guards:{canActivateChecks:i,canDeactivateChecks:o}}=n;return o.length===0&&i.length===0?g(N(l({},n),{guardsResult:!0})):Ui(o,e,r).pipe(q(s=>s&&Ei(s)?Pi(e,i,t):g(s)),I(s=>N(l({},n),{guardsResult:s})))})}function Ui(t,n,e){return A(t).pipe(q(r=>$i(r.component,r.route,e,n)),G(r=>r!==!0,!0))}function Pi(t,n,e){return A(n).pipe(Ge(r=>mr(xi(r.route.parent,e),Li(r.route,e),ki(t,r.path),ji(t,r.route))),G(r=>r!==!0,!0))}function Li(t,n){return t!==null&&n&&n(new vt(t)),g(!0)}function xi(t,n){return t!==null&&n&&n(new pt(t)),g(!0)}function ji(t,n){let e=n.routeConfig?n.routeConfig.canActivate:null;if(!e||e.length===0)return g(!0);let r=e.map(i=>Be(()=>{let o=n._environmentInjector,s=Re(i,o),a=Mi(s)?s.canActivate(n,t):U(o,()=>s(n,t));return ae(a).pipe(G())}));return g(r).pipe(ve())}function ki(t,n){let e=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(o=>wi(o)).filter(o=>o!==null).map(o=>Be(()=>{let s=o.guards.map(a=>{let c=o.node._environmentInjector,u=Re(a,c),d=Ti(u)?u.canActivateChild(e,t):U(c,()=>u(e,t));return ae(d).pipe(G())});return g(s).pipe(ve())}));return g(i).pipe(ve())}function $i(t,n,e,r){let i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!i||i.length===0)return g(!0);let o=i.map(s=>{let a=n._environmentInjector,c=Re(s,a),u=Di(c)?c.canDeactivate(t,n,e,r):U(a,()=>c(t,n,e,r));return ae(u).pipe(G())});return g(o).pipe(ve())}function zi(t,n,e,r,i){let o=n.canLoad;if(o===void 0||o.length===0)return g(!0);let s=o.map(a=>{let c=Re(a,t),u=Ai(c)?c.canLoad(n,e):U(t,()=>c(n,e)),d=ae(u);return i?d.pipe(An(i)):d});return g(s).pipe(ve(),Mn(r))}function Mn(t){return fr(x(n=>{if(typeof n!="boolean")throw Ct(t,n)}),I(n=>n===!0))}function Fi(t,n,e,r,i,o){let s=n.canMatch;if(!s||s.length===0)return g(!0);let a=s.map(c=>{let u=Re(c,t),d=Ni(u)?u.canMatch(n,e,i):U(t,()=>u(n,e,i));return ae(d).pipe(An(o))});return g(a).pipe(ve(),Mn(r))}var H=class t extends Error{segmentGroup;constructor(n){super(),this.segmentGroup=n||null,Object.setPrototypeOf(this,t.prototype)}},ke=class t extends Error{urlTree;constructor(n){super(),this.urlTree=n,Object.setPrototypeOf(this,t.prototype)}};function qi(t){throw new S(4e3,!1)}function Hi(t){throw wn(!1,b.GuardRejected)}var Jt=class{urlSerializer;urlTree;constructor(n,e){this.urlSerializer=n,this.urlTree=e}async lineralizeSegments(n,e){let r=[],i=e.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return r;if(i.numberOfChildren>1||!i.children[f])throw qi(`${n.redirectTo}`);i=i.children[f]}}async applyRedirectCommands(n,e,r,i,o){let s=await Bi(e,i,o);if(s instanceof E)throw new ke(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new ke(a);return a}applyRedirectCreateUrlTree(n,e,r,i){let o=this.createSegmentGroup(n,e.root,r,i);return new E(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=e[a]}else r[i]=o}),r}createSegmentGroup(n,e,r,i){let o=this.createSegments(n,e.segments,r,i),s={};return Object.entries(e.children).forEach(([a,c])=>{s[a]=this.createSegmentGroup(n,c,r,i)}),new v(o,s)}createSegments(n,e,r,i){return e.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,e,r){let i=r[e.path.substring(1)];if(!i)throw new S(4001,!1);return i}findOrReturn(n,e){let r=0;for(let i of e){if(i.path===n.path)return e.splice(r),i;r++}return n}};function Bi(t,n,e){if(typeof t=="string")return Promise.resolve(t);let r=t;return ot(ae(U(e,()=>r(n))))}function Vi(t,n){return t.providers&&!t._injector&&(t._injector=xt(t.providers,n,`Route: ${t.path}`)),t._injector??n}function j(t){return t.outlet||f}function Gi(t,n){let e=t.filter(r=>j(r)===n);return e.push(...t.filter(r=>j(r)!==n)),e}var Xt={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Tn(t){return{routeConfig:t.routeConfig,url:t.url,params:t.params,queryParams:t.queryParams,fragment:t.fragment,data:t.data,outlet:t.outlet,title:t.title,paramMap:t.paramMap,queryParamMap:t.queryParamMap}}function Wi(t,n,e,r,i,o,s){let a=Dn(t,n,e);if(!a.matched)return g(a);let c=Tn(o(a));return r=Vi(n,r),Fi(r,n,e,i,c,s).pipe(I(u=>u===!0?a:l({},Xt)))}function Dn(t,n,e){if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?l({},Xt):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(n.matcher||Xr)(e,t,n);if(!i)return l({},Xt);let o={};Object.entries(i.posParams??{}).forEach(([a,c])=>{o[a]=c.path});let s=i.consumed.length>0?l(l({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function Zr(t,n,e,r,i){return e.length>0&&Yi(t,e,r,i)?{segmentGroup:new v(n,Ki(r,new v(e,t.children))),slicedSegments:[]}:e.length===0&&Zi(t,e,r)?{segmentGroup:new v(t.segments,Qi(t,e,r,t.children)),slicedSegments:e}:{segmentGroup:new v(t.segments,t.children),slicedSegments:e}}function Qi(t,n,e,r){let i={};for(let o of e)if(bt(t,n,o)&&!r[j(o)]){let s=new v([],{});i[j(o)]=s}return l(l({},r),i)}function Ki(t,n){let e={};e[f]=n;for(let r of t)if(r.path===""&&j(r)!==f){let i=new v([],{});e[j(r)]=i}return e}function Yi(t,n,e,r){return e.some(i=>!bt(t,n,i)||!(j(i)!==f)?!1:!(r!==void 0&&j(i)===r))}function Zi(t,n,e){return e.some(r=>bt(t,n,r))}function bt(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function Ji(t,n,e){return n.length===0&&!t.children[e]}var er=class{};async function Xi(t,n,e,r,i,o,s="emptyOnly",a){return new tr(t,n,e,r,i,s,o,a).recognize()}var eo=31,tr=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,e,r,i,o,s,a,c){this.injector=n,this.configLoader=e,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.abortSignal=c,this.applyRedirects=new Jt(this.urlSerializer,this.urlTree)}noMatchError(n){return new S(4002,`'${n.segmentGroup}'`)}async recognize(){let n=Zr(this.urlTree.root,[],[],this.config).segmentGroup,{children:e,rootSnapshot:r}=await this.match(n),i=new T(r,e),o=new xe("",i),s=dn(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}async match(n){let e=new pe([],Object.freeze({}),Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),f,this.rootComponentType,null,{},this.injector);try{return{children:await this.processSegmentGroup(this.injector,this.config,n,f,e),rootSnapshot:e}}catch(r){if(r instanceof ke)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof H?this.noMatchError(r):r}}async processSegmentGroup(n,e,r,i,o){if(r.segments.length===0&&r.hasChildren())return this.processChildren(n,e,r,o);let s=await this.processSegment(n,e,r,r.segments,i,!0,o);return s instanceof T?[s]:[]}async processChildren(n,e,r,i){let o=[];for(let c of Object.keys(r.children))c==="primary"?o.unshift(c):o.push(c);let s=[];for(let c of o){let u=r.children[c],d=Gi(e,c),p=await this.processSegmentGroup(n,d,u,c,i);s.push(...p)}let a=Nn(s);return to(a),a}async processSegment(n,e,r,i,o,s,a){for(let c of e)try{return await this.processSegmentAgainstRoute(c._injector??n,e,c,r,i,o,s,a)}catch(u){if(u instanceof H||In(u))continue;throw u}if(Ji(r,i,o))return new er;throw new H(r)}async processSegmentAgainstRoute(n,e,r,i,o,s,a,c){if(j(r)!==s&&(s===f||!bt(i,o,r)))throw new H(i);if(r.redirectTo===void 0)return this.matchSegmentAgainstRoute(n,i,r,o,s,c);if(this.allowRedirects&&a)return this.expandSegmentAgainstRouteUsingRedirect(n,i,e,r,o,s,c);throw new H(i)}async expandSegmentAgainstRouteUsingRedirect(n,e,r,i,o,s,a){let{matched:c,parameters:u,consumedSegments:d,positionalParamSegments:p,remainingSegments:m}=Dn(e,i,o);if(!c)throw new H(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>eo&&(this.allowRedirects=!1));let Z=this.createSnapshot(n,i,o,u,a);if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let F=await this.applyRedirects.applyRedirectCommands(d,i.redirectTo,p,Tn(Z),n),J=await this.applyRedirects.lineralizeSegments(i,F);return this.processSegment(n,r,e,J.concat(m),s,!1,a)}createSnapshot(n,e,r,i,o){let s=new pe(r,i,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,no(e),j(e),e.component??e._loadedComponent??null,e,io(e),n),a=ir(s,o,this.paramsInheritanceStrategy);return s.params=Object.freeze(a.params),s.data=Object.freeze(a.data),s}async matchSegmentAgainstRoute(n,e,r,i,o,s){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let a=He=>this.createSnapshot(n,r,He.consumedSegments,He.parameters,s),c=await ot(Wi(e,r,i,n,this.urlSerializer,a,this.abortSignal));if(r.path==="**"&&(e.children={}),!c?.matched)throw new H(e);n=r._injector??n;let{routes:u}=await this.getChildConfig(n,r,i),d=r._loadedInjector??n,{parameters:p,consumedSegments:m,remainingSegments:Z}=c,F=this.createSnapshot(n,r,m,p,s),{segmentGroup:J,slicedSegments:Se}=Zr(e,m,Z,u,o);if(Se.length===0&&J.hasChildren()){let He=await this.processChildren(d,u,J,F);return new T(F,He)}if(u.length===0&&Se.length===0)return new T(F,[]);let Mt=j(r)===o,we=await this.processSegment(d,u,J,Se,Mt?f:o,!0,F);return new T(F,we instanceof T?[we]:[])}async getChildConfig(n,e,r){if(e.children)return{routes:e.children,injector:n};if(e.loadChildren){if(e._loadedRoutes!==void 0){let o=e._loadedNgModuleFactory;return o&&!e._loadedInjector&&(e._loadedInjector=o.create(n).injector),{routes:e._loadedRoutes,injector:e._loadedInjector}}if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(await ot(zi(n,e,r,this.urlSerializer,this.abortSignal))){let o=await this.configLoader.loadChildren(n,e);return e._loadedRoutes=o.routes,e._loadedInjector=o.injector,e._loadedNgModuleFactory=o.factory,o}throw Hi(e)}return{routes:[],injector:n}}};function to(t){t.sort((n,e)=>n.value.outlet===f?-1:e.value.outlet===f?1:n.value.outlet.localeCompare(e.value.outlet))}function ro(t){let n=t.value.routeConfig;return n&&n.path===""}function Nn(t){let n=[],e=new Set;for(let r of t){if(!ro(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),e.add(i)):n.push(r)}for(let r of e){let i=Nn(r.children);n.push(new T(r.value,i))}return n.filter(r=>!e.has(r))}function no(t){return t.data||{}}function io(t){return t.resolve||{}}function oo(t,n,e,r,i,o,s){return q(async a=>{let{state:c,tree:u}=await Xi(t,n,e,r,a.extractedUrl,i,o,s);return N(l({},a),{targetSnapshot:c,urlAfterRedirects:u})})}function ao(t){return q(n=>{let{targetSnapshot:e,guards:{canActivateChecks:r}}=n;if(!r.length)return g(n);let i=new Set(r.map(a=>a.route)),o=new Set;for(let a of i)if(!o.has(a))for(let c of _n(a))o.add(c);let s=0;return A(o).pipe(Ge(a=>i.has(a)?so(a,e,t):(a.data=ir(a,a.parent,t).resolve,g(void 0))),x(()=>s++),_t(1),q(a=>s===o.size?g(n):O))})}function _n(t){let n=t.children.map(e=>_n(e)).flat();return[t,...n]}function so(t,n,e){let r=t.routeConfig,i=t._resolve;return r?.title!==void 0&&!Rn(r)&&(i[$e]=r.title),Be(()=>(t.data=ir(t,t.parent,e).resolve,co(i,t,n).pipe(I(o=>(t._resolvedData=o,t.data=l(l({},t.data),o),null)))))}function co(t,n,e){let r=qt(t);if(r.length===0)return g({});let i={};return A(r).pipe(q(o=>uo(t[o],n,e).pipe(G(),x(s=>{if(s instanceof ge)throw Ct(new K,s);i[o]=s}))),_t(1),I(()=>i),Ve(o=>In(o)?O:gr(o)))}function uo(t,n,e){let r=n._environmentInjector,i=Re(t,r),o=i.resolve?i.resolve(n,e):U(r,()=>i(n,e));return ae(o)}function Jr(t){return L(n=>{let e=t(n);return e?A(e).pipe(I(()=>n)):g(n)})}var lr=(()=>{class t{buildTitle(e){let r,i=e.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===f);return r}getResolvedTitleForRoute(e){return e.data[$e]}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:()=>h(On),providedIn:"root"})}return t})(),On=(()=>{class t extends lr{title;constructor(e){super(),this.title=e}updateTitle(e){let r=this.buildTitle(e);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||t)(Qe(Gr))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ce=new M("",{factory:()=>({})}),qe=new M(""),Un=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=h(zr);async loadComponent(e,r){if(this.componentLoaders.get(r))return this.componentLoaders.get(r);if(r._loadedComponent)return Promise.resolve(r._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(r);let i=(async()=>{try{let o=await tn(U(e,()=>r.loadComponent())),s=await xn(Ln(o));return this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s,s}finally{this.componentLoaders.delete(r)}})();return this.componentLoaders.set(r,i),i}loadChildren(e,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return Promise.resolve({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let i=(async()=>{try{let o=await Pn(r,this.compiler,e,this.onLoadEndListener);return r._loadedRoutes=o.routes,r._loadedInjector=o.injector,r._loadedNgModuleFactory=o.factory,o}finally{this.childrenLoaders.delete(r)}})();return this.childrenLoaders.set(r,i),i}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();async function Pn(t,n,e,r){let i=await tn(U(e,()=>t.loadChildren())),o=await xn(Ln(i)),s;o instanceof Tr||Array.isArray(o)?s=o:s=await n.compileModuleAsync(o),r&&r(t);let a,c,u=!1,d;return Array.isArray(s)?(c=s,u=!0):(a=s.create(e).injector,d=s,c=a.get(qe,[],{optional:!0,self:!0}).flat()),{routes:c.map(ur),injector:a,factory:d}}function lo(t){return t&&typeof t=="object"&&"default"in t}function Ln(t){return lo(t)?t.default:t}async function xn(t){return t}var It=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:()=>h(ho),providedIn:"root"})}return t})(),ho=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,r){return e}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),jn=new M("");var fo=()=>{},kn=new M(""),$n=(()=>{class t{currentNavigation=R(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=R(null);events=new X;transitionAbortWithErrorSubject=new X;configLoader=h(Un);environmentInjector=h(W);destroyRef=h(Ot);urlSerializer=h(me);rootContexts=h(ye);location=h(Xe);inputBindingEnabled=h(ze,{optional:!0})!==null;titleStrategy=h(lr);options=h(Ce,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=h(It);createViewTransition=h(jn,{optional:!0});navigationErrorHandler=h(kn,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>g(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new ht(i)),r=i=>this.events.next(new ft(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let r=++this.navigationId;y(()=>{this.transitions?.next(N(l({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:r,routesRecognizeHandler:{},beforeActivateHandler:{}}))})}setupNavigations(e){return this.transitions=new _(null),this.transitions.pipe(ee(r=>r!==null),L(r=>{let i=!1,o=new AbortController,s=()=>!i&&this.currentTransition?.id===r.id;return g(r).pipe(L(a=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",b.SupersededByNewNavigation),O;this.currentTransition=r;let c=this.lastSuccessfulNavigation();this.currentNavigation.set({id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,targetBrowserUrl:typeof a.extras.browserUrl=="string"?this.urlSerializer.parse(a.extras.browserUrl):a.extras.browserUrl,trigger:a.source,extras:a.extras,previousNavigation:c?N(l({},c),{previousNavigation:null}):null,abort:()=>o.abort(),routesRecognizeHandler:a.routesRecognizeHandler,beforeActivateHandler:a.beforeActivateHandler});let u=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),d=a.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!u&&d!=="reload")return this.events.next(new B(a.id,this.urlSerializer.serialize(a.rawUrl),"",Oe.IgnoredSameUrlNavigation)),a.resolve(!1),O;if(this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return g(a).pipe(L(p=>(this.events.next(new ie(p.id,this.urlSerializer.serialize(p.extractedUrl),p.source,p.restoredState)),p.id!==this.navigationId?O:Promise.resolve(p))),oo(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),x(p=>{r.targetSnapshot=p.targetSnapshot,r.urlAfterRedirects=p.urlAfterRedirects,this.currentNavigation.update(m=>(m.finalUrl=p.urlAfterRedirects,m)),this.events.next(new Pe)}),L(p=>A(r.routesRecognizeHandler.deferredHandle??g(void 0)).pipe(I(()=>p))),x(()=>{let p=new Ue(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(p)}));if(u&&this.urlHandlingStrategy.shouldProcessUrl(a.currentRawUrl)){let{id:p,extractedUrl:m,source:Z,restoredState:F,extras:J}=a,Se=new ie(p,this.urlSerializer.serialize(m),Z,F);this.events.next(Se);let Mt=mn(this.rootComponentType,this.environmentInjector).snapshot;return this.currentTransition=r=N(l({},a),{targetSnapshot:Mt,urlAfterRedirects:m,extras:N(l({},J),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(we=>(we.finalUrl=m,we)),g(r)}else return this.events.next(new B(a.id,this.urlSerializer.serialize(a.extractedUrl),"",Oe.IgnoredByUrlHandlingStrategy)),a.resolve(!1),O}),I(a=>{let c=new ct(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);return this.events.next(c),this.currentTransition=r=N(l({},a),{guards:Si(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),r}),Oi(a=>this.events.next(a)),L(a=>{if(r.guardsResult=a.guardsResult,a.guardsResult&&typeof a.guardsResult!="boolean")throw Ct(this.urlSerializer,a.guardsResult);let c=new ut(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);if(this.events.next(c),!s())return O;if(!a.guardsResult)return this.cancelNavigationTransition(a,"",b.GuardRejected),O;if(a.guards.canActivateChecks.length===0)return g(a);let u=new lt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);if(this.events.next(u),!s())return O;let d=!1;return g(a).pipe(ao(this.paramsInheritanceStrategy),x({next:()=>{d=!0;let p=new dt(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(p)},complete:()=>{d||this.cancelNavigationTransition(a,"",b.NoDataFromResolver)}}))}),Jr(a=>{let c=d=>{let p=[];if(d.routeConfig?._loadedComponent)d.component=d.routeConfig?._loadedComponent;else if(d.routeConfig?.loadComponent){let m=d._environmentInjector;p.push(this.configLoader.loadComponent(m,d.routeConfig).then(Z=>{d.component=Z}))}for(let m of d.children)p.push(...c(m));return p},u=c(a.targetSnapshot.root);return u.length===0?g(a):A(Promise.all(u).then(()=>a))}),Jr(()=>this.afterPreactivation()),L(()=>{let{currentSnapshot:a,targetSnapshot:c}=r,u=this.createViewTransition?.(this.environmentInjector,a.root,c.root);return u?A(u).pipe(I(()=>r)):g(r)}),ce(1),L(a=>{let c=mi(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);this.currentTransition=r=a=N(l({},a),{targetRouterState:c}),this.currentNavigation.update(d=>(d.targetRouterState=c,d)),this.events.next(new he);let u=r.beforeActivateHandler.deferredHandle;return u?A(u.then(()=>a)):g(a)}),x(a=>{new Zt(e.routeReuseStrategy,r.targetRouterState,r.currentRouterState,c=>this.events.next(c),this.inputBindingEnabled).activate(this.rootContexts),s()&&(i=!0,this.currentNavigation.update(c=>(c.abort=fo,c)),this.lastSuccessfulNavigation.set(y(this.currentNavigation)),this.events.next(new k(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects))),this.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0))}),We(En(o.signal).pipe(ee(()=>!i&&!r.targetRouterState),x(()=>{this.cancelNavigationTransition(r,o.signal.reason+"",b.Aborted)}))),x({complete:()=>{i=!0}}),We(this.transitionAbortWithErrorSubject.pipe(x(a=>{throw a}))),yr(()=>{o.abort(),i||this.cancelNavigationTransition(r,"",b.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),Ve(a=>{if(i=!0,this.destroyed)return r.resolve(!1),O;if(bn(a))this.events.next(new P(r.id,this.urlSerializer.serialize(r.extractedUrl),a.message,a.cancellationCode)),Ci(a)?this.events.next(new fe(a.url,a.navigationBehaviorOptions)):r.resolve(!1);else{let c=new oe(r.id,this.urlSerializer.serialize(r.extractedUrl),a,r.targetSnapshot??void 0);try{let u=U(this.environmentInjector,()=>this.navigationErrorHandler?.(c));if(u instanceof ge){let{message:d,cancellationCode:p}=Ct(this.urlSerializer,u);this.events.next(new P(r.id,this.urlSerializer.serialize(r.extractedUrl),d,p)),this.events.next(new fe(u.redirectTo,u.navigationBehaviorOptions))}else throw this.events.next(c),a}catch(u){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(u)}}return O}))}))}cancelNavigationTransition(e,r,i){let o=new P(e.id,this.urlSerializer.serialize(e.extractedUrl),r,i);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=y(this.currentNavigation),i=r?.targetBrowserUrl??r?.extractedUrl;return e.toString()!==i?.toString()&&!r?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function po(t){return t!==Te}var zn=new M("");var Fn=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:()=>h(go),providedIn:"root"})}return t})(),wt=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}shouldDestroyInjector(n){return!0}},go=(()=>{class t extends wt{static \u0275fac=(()=>{let e;return function(i){return(e||(e=Ut(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Et=(()=>{class t{urlSerializer=h(me);options=h(Ce,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=h(Xe);urlHandlingStrategy=h(It);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new E;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:r,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,r):r,s=i??o;return s instanceof E?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:r,initialUrl:i}){r&&e?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=e):this.rawUrlTree=i}routerState=mn(null,h(W));getRouterState(){return this.routerState}_stateMemento=this.createStateMemento();get stateMemento(){return this._stateMemento}updateStateMemento(){this._stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}restoredState(){return this.location.getState()}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:()=>h(vo),providedIn:"root"})}return t})(),vo=(()=>{class t extends Et{currentPageId=0;lastSuccessfulId=-1;get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{e(r.url,r.state,"popstate",{replaceUrl:!0})})})}handleRouterEvent(e,r){e instanceof ie?this.updateStateMemento():e instanceof B?this.commitTransition(r):e instanceof Ue?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof he?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof P&&!vn(e)?this.restoreHistory(r):e instanceof oe?this.restoreHistory(r,!0):e instanceof k&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:r,id:i}){let{replaceUrl:o,state:s}=r;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,c=l(l({},s),this.generateNgRouterState(i,a));this.location.replaceState(e,"",c)}else{let a=l(l({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,r){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:r}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=Ut(t)))(i||t)}})();static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function dr(t,n){t.events.pipe(ee(e=>e instanceof k||e instanceof P||e instanceof oe||e instanceof B),I(e=>e instanceof k||e instanceof B?0:(e instanceof P?e.code===b.Redirect||e.code===b.SupersededByNewNavigation:!1)?2:1),ee(e=>e!==2),ce(1)).subscribe(()=>{n()})}var se=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=h(Nr);stateManager=h(Et);options=h(Ce,{optional:!0})||{};pendingTasks=h(Ir);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=h($n);urlSerializer=h(me);location=h(Xe);urlHandlingStrategy=h(It);injector=h(W);_events=new X;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=h(Fn);injectorCleanup=h(zn,{optional:!0});onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=h(qe,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!h(ze,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{}}),this.subscribeToNavigationEvents()}eventsSubscription=new hr;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=y(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof P&&r.code!==b.Redirect&&r.code!==b.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof k)this.navigated=!0,this.injectorCleanup?.(this.routeReuseStrategy,this.routerState,this.config);else if(r instanceof fe){let s=r.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),c=l({scroll:i.extras.scroll,browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||po(i.source)},s);this.scheduleNavigation(a,Te,null,c,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}gi(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Te,this.stateManager.restoredState(),{replaceUrl:!0})}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,r,i,o)=>{this.navigateToSyncWithBrowser(e,i,r,o)})}navigateToSyncWithBrowser(e,r,i,o){let s=i?.navigationId?i:null;if(i){let c=l({},i);delete c.navigationId,delete c.\u0275routerPageId,Object.keys(c).length!==0&&(o.state=c)}let a=this.parseUrl(e);this.scheduleNavigation(a,r,s,o).catch(c=>{this.disposed||this.injector.get(Ke)(c)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return y(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(ur),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription?.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0,this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:c}=r,u=c?this.currentUrlTree.fragment:s,d=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":d=l(l({},this.currentUrlTree.queryParams),o);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=o||null}d!==null&&(d=this.removeEmptyProps(d));let p;try{let m=i?i.snapshot:this.routerState.snapshot.root;p=hn(m)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),p=this.currentUrlTree.root}return fn(p,e,d,u??null,this.urlSerializer)}navigateByUrl(e,r={skipLocationChange:!1}){let i=Y(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,Te,null,r)}navigate(e,r={skipLocationChange:!1}){return mo(e),this.navigateByUrl(this.createUrlTree(e,r),r)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.console.warn(Cr(4018,!1)),this.urlSerializer.parse("/")}}isActive(e,r){let i;if(r===!0?i=l({},rr):r===!1?i=l({},Ne):i=l(l({},Ne),r),Y(e))return Ht(this.currentUrlTree,e,i);let o=this.parseUrl(e);return Ht(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(e,r,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,c,u;s?(a=s.resolve,c=s.reject,u=s.promise):u=new Promise((p,m)=>{a=p,c=m});let d=this.pendingTasks.add();return dr(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:c,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(Promise.reject.bind(Promise))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function mo(t){for(let n=0;n<t.length;n++)if(t[n]==null)throw new S(4008,!1)}var Ro=(()=>{class t{router=h(se);stateManager=h(Et);fragment=R("");queryParams=R({});path=R("");serializer=h(me);constructor(){this.updateState(),this.router.events?.subscribe(e=>{e instanceof k&&this.updateState()})}updateState(){let{fragment:e,root:r,queryParams:i}=this.stateManager.getCurrentUrlTree();this.fragment.set(e),this.queryParams.set(i),this.path.set(this.serializer.serialize(new E(r)))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),At=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;hrefAttributeValue=h(new qr("href"),{optional:!0});reactiveHref=Fr(()=>this.isAnchorElement?this.computeHref(this._urlTree()):this.hrefAttributeValue);get href(){return y(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}set target(e){this._target.set(e)}get target(){return y(this._target)}_target=R(void 0);set queryParams(e){this._queryParams.set(e)}get queryParams(){return y(this._queryParams)}_queryParams=R(void 0,{equal:()=>!1});set fragment(e){this._fragment.set(e)}get fragment(){return y(this._fragment)}_fragment=R(void 0);set queryParamsHandling(e){this._queryParamsHandling.set(e)}get queryParamsHandling(){return y(this._queryParamsHandling)}_queryParamsHandling=R(void 0);set state(e){this._state.set(e)}get state(){return y(this._state)}_state=R(void 0,{equal:()=>!1});set info(e){this._info.set(e)}get info(){return y(this._info)}_info=R(void 0,{equal:()=>!1});set relativeTo(e){this._relativeTo.set(e)}get relativeTo(){return y(this._relativeTo)}_relativeTo=R(void 0);set preserveFragment(e){this._preserveFragment.set(e)}get preserveFragment(){return y(this._preserveFragment)}_preserveFragment=R(!1);set skipLocationChange(e){this._skipLocationChange.set(e)}get skipLocationChange(){return y(this._skipLocationChange)}_skipLocationChange=R(!1);set replaceUrl(e){this._replaceUrl.set(e)}get replaceUrl(){return y(this._replaceUrl)}_replaceUrl=R(!1);isAnchorElement;onChanges=new X;applicationErrorHandler=h(Ke);options=h(Ce,{optional:!0});reactiveRouterState=h(Ro);constructor(e,r,i,o,s,a){this.router=e,this.route=r,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a;let c=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=c==="a"||c==="area"||!!(typeof customElements=="object"&&customElements.get(c)?.observedAttributes?.includes?.("href"))}setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.onChanges.next(this)}routerLinkInput=R(null);set routerLink(e){e==null?(this.routerLinkInput.set(null),this.setTabIndexIfNotOnNativeEl(null)):(Y(e)?this.routerLinkInput.set(e):this.routerLinkInput.set(Array.isArray(e)?e:[e]),this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,r,i,o,s){let a=this._urlTree();if(a===null||this.isAnchorElement&&(e!==0||r||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let c={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,c)?.catch(u=>{this.applicationErrorHandler(u)}),!this.isAnchorElement}ngOnDestroy(){}applyAttributeValue(e,r){let i=this.renderer,o=this.el.nativeElement;r!==null?i.setAttribute(o,e,r):i.removeAttribute(o,e)}_urlTree=Ye(()=>{this.reactiveRouterState.path(),this._preserveFragment()&&this.reactiveRouterState.fragment();let e=i=>i==="preserve"||i==="merge";(e(this._queryParamsHandling())||e(this.options?.defaultQueryParamsHandling))&&this.reactiveRouterState.queryParams();let r=this.routerLinkInput();return r===null||!this.router.createUrlTree?null:Y(r)?r:this.router.createUrlTree(r,{relativeTo:this._relativeTo()!==void 0?this._relativeTo():this.route,queryParams:this._queryParams(),fragment:this._fragment(),queryParamsHandling:this._queryParamsHandling(),preserveFragment:this._preserveFragment()})},{equal:(e,r)=>this.computeHref(e)===this.computeHref(r)});get urlTree(){return y(this._urlTree)}computeHref(e){return e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null}static \u0275fac=function(r){return new(r||t)($(se),$(V),Er("tabindex"),$(Lt),$(Pt),$(Vr))};static \u0275dir=Ie({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(r,i){r&1&&xr("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&Pr("href",i.reactiveHref(),Ar)("target",i._target())},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Je],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Je],replaceUrl:[2,"replaceUrl","replaceUrl",Je],routerLink:"routerLink"},features:[be]})}return t})(),Co=(()=>{class t{router;element;renderer;cdr;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new te;link=h(At,{optional:!0});constructor(e,r,i,o){this.router=e,this.element=r,this.renderer=i,this.cdr=o,this.routerEventsSubscription=e.events.subscribe(s=>{s instanceof k&&this.update()})}ngAfterContentInit(){g(this.links.changes,g(null)).pipe(Nt()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let e=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=A(e).pipe(Nt()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(e){let r=Array.isArray(e)?e:e.split(" ");this.classes=r.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(r=>{e?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let r=So(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact??!1?l({},rr):l({},Ne);return i=>{let o=i.urlTree;return o?y(nr(o,e,r)):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(r){return new(r||t)($(se),$(Pt),$(Lt),$(Ze))};static \u0275dir=Ie({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(r,i,o){if(r&1&&jr(o,At,5),r&2){let s;kr(s=$r())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[be]})}return t})();function So(t){let n=t;return!!(n.paths||n.matrixParams||n.queryParams||n.fragment)}var wo=new M("");function bo(t,...n){return wr([{provide:qe,multi:!0,useValue:t},[],{provide:V,useFactory:Io},{provide:Or,multi:!0,useFactory:Ao},n.map(e=>e.\u0275providers)])}function Io(){return h(se).routerState.root}function Eo(t,n){return{\u0275kind:t,\u0275providers:n}}function Ao(){let t=h(br);return n=>{let e=t.get(Ur);if(n!==e.components[0])return;let r=t.get(se),i=t.get(Mo);t.get(To)===1&&r.initialNavigation(),t.get(Do,null,{optional:!0})?.setUpPreloading(),t.get(wo,null,{optional:!0})?.init(),r.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var Mo=new M("",{factory:()=>new X}),To=new M("",{factory:()=>1});var Do=new M("");function No(){return Eo(8,[sr,{provide:ze,useExisting:sr}])}export{ie as a,k as b,P as c,oe as d,dt as e,V as f,ar as g,lr as h,se as i,At as j,Co as k,bo as l,No as m};
|
package/dist/ui/index.html
CHANGED
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
<style>:root{--ff-white:#ffffff;--ff-black:#000000;--ff-gray-0:#ffffff;--ff-gray-25:#fcfcfc;--ff-gray-50:#f8f8f7;--ff-gray-75:#f2f2f0;--ff-gray-100:#e9e9e6;--ff-gray-150:#dcdcd7;--ff-gray-200:#c9c9c1;--ff-gray-300:#afafa5;--ff-gray-400:#8d8d81;--ff-gray-500:#69695f;--ff-gray-600:#505048;--ff-gray-700:#3c3c36;--ff-gray-800:#272722;--ff-gray-900:#1b1b18;--ff-gray-950:#141412;--ff-gray-1000:#0f0f0d;--ff-alpha-black-04:rgba(15, 15, 13, .04);--ff-alpha-black-06:rgba(15, 15, 13, .06);--ff-alpha-black-08:rgba(15, 15, 13, .08);--ff-alpha-black-10:rgba(15, 15, 13, .1);--ff-alpha-black-12:rgba(15, 15, 13, .12);--ff-alpha-black-15:rgba(15, 15, 13, .15);--ff-alpha-black-20:rgba(15, 15, 13, .2);--ff-alpha-black-30:rgba(15, 15, 13, .3);--ff-alpha-black-40:rgba(15, 15, 13, .4);--ff-alpha-black-60:rgba(15, 15, 13, .6);--ff-alpha-white-04:rgba(255, 255, 255, .04);--ff-alpha-white-06:rgba(255, 255, 255, .06);--ff-alpha-white-08:rgba(255, 255, 255, .08);--ff-alpha-white-10:rgba(255, 255, 255, .1);--ff-alpha-white-12:rgba(255, 255, 255, .12);--ff-alpha-white-15:rgba(255, 255, 255, .15);--ff-alpha-white-20:rgba(255, 255, 255, .2);--ff-alpha-white-30:rgba(255, 255, 255, .3);--ff-alpha-white-40:rgba(255, 255, 255, .4);--ff-alpha-white-60:rgba(255, 255, 255, .6);--ff-blue-100:#e8f2ff;--ff-blue-200:#bad8ff;--ff-blue-300:#7db7ff;--ff-blue-400:#4176ff;--ff-blue-500:#2759db;--ff-blue-600:#1b3f9e;--ff-green-100:#e7f7ef;--ff-green-300:#71c795;--ff-green-400:#2b9b5f;--ff-green-500:#1e7748;--ff-yellow-100:#fff5de;--ff-yellow-300:#e1b354;--ff-yellow-400:#bb8121;--ff-yellow-500:#916112;--ff-red-100:#feeceb;--ff-red-300:#e48d85;--ff-red-400:#c55245;--ff-red-500:#9e3a2f;--ff-radius-4:4px;--ff-radius-6:6px;--ff-radius-pill:999px;--ff-font-family-sans:"Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--ff-font-family-mono:ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;--ff-font-size-xs:12px;--ff-font-size-sm:14px;--ff-font-size-md:16px;--ff-font-size-lg:18px;--ff-shadow-1:0 1px 2px rgba(15, 15, 13, .05), 0 8px 20px rgba(15, 15, 13, .04);--ff-shadow-2:0 10px 28px rgba(15, 15, 13, .08), 0 3px 10px rgba(15, 15, 13, .05);--ff-shadow-3:0 18px 48px rgba(15, 15, 13, .12), 0 6px 16px rgba(15, 15, 13, .08)}:root{--ff-color-surface-page:var(--ff-gray-25);--ff-color-surface-canvas:var(--ff-gray-25);--ff-color-surface-card:var(--ff-white);--ff-color-surface-group:rgba(65, 118, 255, .14);--ff-color-surface-group-active:rgba(65, 118, 255, .2);--ff-color-surface-muted:var(--ff-gray-50);--ff-color-surface-soft:var(--ff-gray-75);--ff-color-surface-accent-soft:rgba(65, 118, 255, .1);--ff-color-border-default:var(--ff-alpha-black-12);--ff-color-border-subtle:var(--ff-alpha-black-08);--ff-color-border-strong:var(--ff-alpha-black-20);--ff-color-border-accent:var(--ff-blue-500);--ff-color-text-primary:var(--ff-gray-800);--ff-color-text-secondary:var(--ff-gray-500);--ff-color-text-tertiary:var(--ff-gray-400);--ff-color-text-inverse:var(--ff-white);--ff-color-accent:var(--ff-blue-500);--ff-color-accent-strong:var(--ff-blue-600);--ff-color-success:var(--ff-green-400);--ff-color-warning:var(--ff-yellow-400);--ff-color-danger:var(--ff-red-400);--ff-color-disabled-surface:var(--ff-gray-100);--ff-color-disabled-border:var(--ff-alpha-black-10);--ff-color-disabled-text:var(--ff-gray-300);--ff-color-selection-fill:rgba(65, 118, 255, .12);--ff-color-selection-stroke:rgba(65, 118, 255, .28);--ff-color-grid:var(--ff-alpha-black-08);--ff-color-grid-strong:var(--ff-alpha-black-15);--ff-color-connector-connected:var(--ff-blue-500);--ff-color-connection:var(--ff-gray-600);--ff-color-connection-muted:var(--ff-gray-300);--ff-color-connection-hover:var(--ff-alpha-black-12);--ff-color-grouping-drop-target-border:var(--ff-gray-800);--ff-color-grouping-drop-target-border-active:var(--ff-gray-800);--ff-color-waypoint-fill:var(--ff-white);--ff-color-waypoint-stroke:var(--ff-blue-500);--ff-color-waypoint-candidate-fill:var(--ff-white);--ff-color-waypoint-candidate-stroke:var(--ff-green-400);--ff-color-minimap-surface:var(--ff-white);--ff-color-minimap-node:var(--ff-gray-700);--ff-color-minimap-view:rgba(65, 118, 255, .14);--ff-color-magnetic-line:var(--ff-blue-500);--ff-color-magnetic-rect-fill:rgba(65, 118, 255, .08);--ff-color-magnetic-rect-border:rgba(65, 118, 255, .24);--ff-radius-node:var(--ff-radius-4);--ff-radius-group:var(--ff-radius-4);--ff-radius-control:var(--ff-radius-4);--ff-radius-socket-square:var(--ff-radius-6);--ff-radius-pill:var(--ff-radius-pill);--ff-font-sans:var(--ff-font-family-sans);--ff-font-mono:var(--ff-font-family-mono);--ff-font-size-body:var(--ff-font-size-sm);--ff-font-size-label:var(--ff-font-size-xs);--ff-shadow-surface:var(--ff-shadow-1);--ff-shadow-floating:var(--ff-shadow-2)}:root{--ff-flow-background-color:var(--ff-color-surface-page);--ff-flow-text-color:var(--ff-color-text-primary);--ff-flow-font-family:var(--ff-font-sans);--ff-flow-font-size:var(--ff-font-size-body);--ff-canvas-background-color:var(--ff-color-surface-canvas);--ff-node-background-color:var(--ff-color-surface-card);--ff-node-background-color-inverse:var(--ff-color-text-primary);--ff-node-border-color:var(--ff-color-border-default);--ff-node-border-color-selected:var(--ff-color-border-accent);--ff-node-color:var(--ff-color-text-primary);--ff-node-border-radius:var(--ff-radius-node);--ff-node-shadow:var(--ff-shadow-surface);--ff-node-shadow-selected:var(--ff-shadow-floating);--ff-node-width:120px;--ff-node-min-height:56px;--ff-node-padding:24px;--ff-group-background-color:var(--ff-color-surface-group);--ff-group-background-color-active:var(--ff-color-surface-group-active);--ff-group-border-color:var(--ff-color-border-subtle);--ff-group-border-color-selected:var(--ff-color-border-accent);--ff-group-border-color-active:var(--ff-color-border-accent);--ff-group-color:var(--ff-color-text-secondary);--ff-group-border-radius:var(--ff-radius-group);--ff-group-min-width:180px;--ff-group-min-height:120px;--ff-group-padding:24px;--ff-grouping-drop-target-border-color:var(--ff-color-grouping-drop-target-border);--ff-grouping-drop-target-border-style:dashed;--ff-grouping-drop-target-border-width:1px;--ff-grouping-drop-target-border-color-active:var(--ff-color-grouping-drop-target-border-active);--ff-grouping-drop-target-border-style-active:dashed;--ff-grouping-drop-target-border-width-active:2px;--ff-handle-background-color:var(--ff-color-surface-card);--ff-handle-border-color:var(--ff-color-border-strong);--ff-handle-color:var(--ff-color-text-secondary);--ff-handle-size:12px;--ff-handle-radius:var(--ff-radius-control);--ff-rotate-handle-size:16px;--ff-connector-background-color:var(--ff-color-surface-card);--ff-connector-border-color:var(--ff-color-border-default);--ff-connector-connected-color:var(--ff-color-connector-connected);--ff-connector-accent-color:var(--ff-color-accent);--ff-connector-disabled-color:var(--ff-color-disabled-surface);--ff-connector-disabled-border-color:var(--ff-color-disabled-border);--ff-connector-size:16px;--ff-connector-node-ring-color:var(--ff-canvas-background-color);--ff-outlet-background-color:var(--ff-color-surface-muted);--ff-outlet-border-color:var(--ff-color-border-default);--ff-outlet-color:var(--ff-color-accent);--ff-outlet-disabled-background-color:var(--ff-color-disabled-surface);--ff-outlet-disabled-border-color:var(--ff-color-disabled-border);--ff-outlet-disabled-color:var(--ff-color-disabled-text);--ff-outlet-border-radius:var(--ff-radius-pill);--ff-outlet-padding-y:6px;--ff-outlet-padding-x:12px;--ff-connection-color:var(--ff-color-connection);--ff-snap-connection-color:var(--ff-color-connection-muted);--ff-connection-hover-color:var(--ff-color-connection-hover);--ff-connection-selected-color:var(--ff-color-accent);--ff-connection-label-color:var(--ff-color-text-secondary);--ff-connection-content-color:var(--ff-node-color);--ff-connection-content-background-color:var(--ff-node-background-color);--ff-connection-content-border-color:var(--ff-node-border-color);--ff-connection-content-border-color-selected:var(--ff-connection-selected-color);--ff-connection-content-border-radius:var(--ff-node-border-radius);--ff-connection-content-font-size:13px;--ff-connection-content-padding-y:2px;--ff-connection-content-padding-x:8px;--ff-connection-width:2px;--ff-connection-hit-width:14px;--ff-connection-drag-handle-fill:var(--ff-color-surface-card);--ff-connection-drag-handle-stroke:var(--ff-color-accent);--ff-marker-color:var(--ff-connection-color);--ff-waypoint-fill:var(--ff-color-waypoint-fill);--ff-waypoint-stroke:var(--ff-color-waypoint-stroke);--ff-waypoint-candidate-fill:var(--ff-color-waypoint-candidate-fill);--ff-waypoint-candidate-stroke:var(--ff-color-waypoint-candidate-stroke);--ff-background-line-color:var(--ff-color-grid);--ff-background-dot-color:var(--ff-color-grid-strong);--ff-selection-area-color:var(--ff-color-selection-fill);--ff-selection-area-border-color:var(--ff-color-selection-stroke);--ff-minimap-background-color:var(--ff-color-minimap-surface);--ff-minimap-border-color:var(--ff-color-border-default);--ff-minimap-node-color:var(--ff-color-minimap-node);--ff-minimap-node-selected-color:var(--ff-color-accent);--ff-minimap-view-color:var(--ff-color-minimap-view);--ff-minimap-view-border-color:var(--ff-color-selection-stroke);--ff-minimap-border-radius:var(--ff-radius-node);--ff-minimap-shadow:var(--ff-shadow-floating);--ff-magnetic-line-color:var(--ff-color-magnetic-line);--ff-magnetic-rect-fill:var(--ff-color-magnetic-rect-fill);--ff-magnetic-rect-border-color:var(--ff-color-magnetic-rect-border);--ff-external-item-background-color:var(--ff-color-surface-card);--ff-external-item-border-color:var(--ff-color-border-default);--ff-external-item-color:var(--ff-color-text-primary);--ff-external-item-disabled-color:var(--ff-color-disabled-text);--ff-external-item-disabled-background-color:var(--ff-color-disabled-surface);--ff-external-item-border-radius:var(--ff-radius-node);--ff-external-item-shadow:var(--ff-shadow-surface);--ff-external-item-preview-shadow:var(--ff-shadow-floating);--ff-external-item-placeholder-background-color:var(--ff-color-surface-soft);--ff-external-item-placeholder-border-color:var(--ff-color-border-subtle)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}:root{--sm-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--sm-font-display-brand:"Geist", system-ui, sans-serif;--sm-radius-sm:3px;--sm-radius-md:4px;--sm-radius-lg:.5rem;--sm-radius-pill:999px;--sm-violet-50:#F5F3FF;--sm-violet-100:#EDE9FE;--sm-violet-200:#DDD6FE;--sm-violet-300:#C4B5FD;--sm-violet-400:#A78BFA;--sm-violet-500:#8B5CF6;--sm-violet-600:#7C3AED;--sm-violet-700:#6D28D9;--sm-violet-800:#4C1D95;--sm-violet-900:#2E1065}html,body{margin:0;padding:0;height:100dvh;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--sm-bg-page);color:var(--p-text-color)}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--p-text-color) 30%,transparent) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--p-text-color) 25%,transparent);border-radius:var(--sm-radius-pill);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--p-text-color) 45%,transparent)}:root{--sm-bg-page:#f8fafc;--sm-bg-content:#ffffff;--sm-bg-hover:#f1f5f9;--sm-border:#e2e8f0;--sm-nav-active-bg:#eff6ff;--sm-edge-invokes:#b8843a;--sm-edge-invokes-active:#f59e0b;--sm-edge-references:#7daa90;--sm-edge-references-active:#10b981;--sm-edge-mentions:#6fa2c0;--sm-edge-mentions-active:#0ea5e9;--sm-edge-supersedes:#9ca3af;--sm-edge-supersedes-active:#4b5563;--sm-edge-neutral:#6b7280;--sm-link-in-bg:#e0e7ff;--sm-link-in-fg:#3730a3;--sm-link-out-bg:#fef3c7;--sm-link-out-fg:#92400e;--sm-severity-info:#1e3a8a;--sm-severity-success:#065f46;--sm-severity-warn:#ca8a04;--sm-severity-error:#991b1b;--sm-severity-info-bg:rgba(219, 234, 254, .35);--sm-severity-success-bg:rgba(209, 250, 229, .35);--sm-severity-warn-bg:rgba(254, 243, 199, .35);--sm-severity-error-bg:rgba(254, 226, 226, .35);--sm-stat-tokens-bg:rgba(59, 130, 246, .14);--sm-stat-bytes-bg:rgba(245, 158, 11, .16);--sm-accent-fg:#ffffff;--sm-shadow-topbar:0 1px 2px rgba(0, 0, 0, .03);--sm-shadow-eventlog:0 -4px 16px rgba(0, 0, 0, .08);--sm-shadow-floating:0 4px 14px rgba(0, 0, 0, .08);--sm-shadow-card:0 1px 2px rgba(0, 0, 0, .05);--sm-shadow-card-hover:0 3px 12px rgba(0, 0, 0, .12)}</style><link rel="stylesheet" href="styles-HI4A6IWA.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-HI4A6IWA.css"></noscript></head>
|
|
31
31
|
<body>
|
|
32
32
|
<sm-root></sm-root>
|
|
33
|
-
<link rel="modulepreload" href="chunk-
|
|
33
|
+
<link rel="modulepreload" href="chunk-CRWK2NFZ.js"><link rel="modulepreload" href="chunk-3AKR33GE.js"><link rel="modulepreload" href="chunk-VW2A6WZ3.js"><link rel="modulepreload" href="chunk-CO2ZOUSD.js"><link rel="modulepreload" href="chunk-K365TVPA.js"><link rel="modulepreload" href="chunk-WPUUCIS3.js"><link rel="modulepreload" href="chunk-4SG4352Z.js"><link rel="modulepreload" href="chunk-ZZJ7XWDX.js"><link rel="modulepreload" href="chunk-EPBUSS3I.js"><link rel="modulepreload" href="chunk-VNA3TMIO.js"><script src="main-55GYZX6C.js" type="module"></script></body>
|
|
34
34
|
</html>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as J,b as w,c as pe,d as at,e as lt}from"./chunk-CRWK2NFZ.js";import{l as qe,m as ce,n as et,o as ee,p as ot}from"./chunk-3AKR33GE.js";import{a as fe,b as tt,c as nt,e as it,g as rt}from"./chunk-VW2A6WZ3.js";import{b as st}from"./chunk-CO2ZOUSD.js";import{i as We,k as Ye,l as Qe,m as Ge,n as V}from"./chunk-K365TVPA.js";import{D as se,E as ae,I as le,J as de,K as He,M as q,N as h,O as j,P as Xe,Q as U,R as B,X as Ze,n as Je,o as Ke}from"./chunk-WPUUCIS3.js";import"./chunk-4SG4352Z.js";import{b as $e,f as Ne,g as ze,h as oe,i as Fe,j as je,k as Ue,l as Be,m as Ve}from"./chunk-ZZJ7XWDX.js";import{a as Ee,b as Ie,c as Y,d as Ae,e as De,f as Le}from"./chunk-EPBUSS3I.js";import{s as Oe}from"./chunk-VNA3TMIO.js";import{$b as P,Ab as Z,Dc as Re,Gb as E,Ha as ne,Ib as M,Jb as ie,Ka as a,Kb as v,L as A,P as X,Q as s,Vb as Me,W as R,Wb as he,X as O,Yb as Te,Za as D,Zb as m,_b as b,aa as ke,db as Pe,ea as Ce,f as ye,ga as xe,gb as G,ha as z,ja as te,jb as we,kb as Se,lb as _,m as H,ob as k,pb as C,ub as y,uc as c,vb as l,wb as p,xb as x,xc as re,yb as F,zb as W}from"./chunk-HAWX5WNM.js";import"./chunk-WCABR6TI.js";var ve="skill-map",L={brand:ve,alpha:"ALPHA - do not use in production",devChip:"dev",devChipTooltip:"BFF launched from a local checkout (not the npm install).",devChipA11y:"Development build: BFF is running from a local checkout.",lensChipTooltip:t=>`Active lens: ${t}. The map reflects how ${t} interprets your files.`,lensChipA11y:t=>`Active provider lens: ${t}.`,nav:{map:"Map",files:"Files",searchLabel:"Search nodes by name or tag",searchTooltip:"Search",searchPlaceholder:"Search by name or tag...",searchAriaLabel:"Search nodes by name or tag",searchClearLabel:"Clear search"},actions:{},badge:{nodes:"nodes",mapInfo:(t,n)=>{let e=`Run scan
|
|
2
|
+
${t.toLocaleString()} nodes \xB7 ${n.raw.toLocaleString()} links`;if(n.raw===n.drawn)return e;let i=[],r=n.brokenSource+n.brokenTarget;return r>0&&i.push(`${r} broken`),n.selfLoops>0&&i.push(`${n.selfLoops} self-loop${n.selfLoops===1?"":"s"}`),n.duplicates>0&&i.push(`${n.duplicates} duplicate${n.duplicates===1?"":"s"}`),`${e}
|
|
3
|
+
${n.drawn.toLocaleString()} drawn (${i.join(", ")})`},mapInfoA11y:(t,n)=>`Map contains ${t} nodes and ${n.raw} links; ${n.drawn} drawn on the canvas`},a11y:{viewSwitcher:"View switcher"},viewportWarning:{title:"Looks like you're on a small screen",subtitle:"skill-map is built for desktop",body:"The map and inspector need room to breathe. Pop this open on a screen at least 768px wide. See you there."},documentTitle:(t,n)=>{let e=t?`${t} - ${ve}`:ve;return n?`${e} v${n}`:e}};var dt=[{path:"",pathMatch:"full",redirectTo:"map"},{path:"map",loadComponent:()=>import("./chunk-XWU3YFSM.js").then(t=>t.GraphView),title:L.nav.map},{path:"files",loadComponent:()=>import("./chunk-YOF6HQCQ.js").then(t=>t.FilesView),title:L.nav.files},{path:"intentional-fail",loadComponent:()=>import("./chunk-22CKFAEU.js").then(t=>t.IntentionalFail)},{path:"**",redirectTo:"map"}];var $={errors:{unknownMode:t=>`SKILL_MAP_MODE: unknown value "${t}"`,restPrefix:t=>`BFF error [${t}]: `,malformedResponse:"BFF returned a malformed response",demoFetchFailed:(t,n)=>`Demo bundle fetch failed for "${t}": ${n}`,demoParseFailed:(t,n)=>`Demo bundle parse failed for "${t}": ${n}`,graphFormatNotInDemo:t=>`Graph format "${t}" is not bundled in demo mode (only "ascii").`}};function me(t){let n=new TextEncoder().encode(t),e="";for(let i=0;i<n.length;i++)e+=String.fromCharCode(n[i]);return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}var g="/api",ct=(()=>{class t{http;ws;kindRegistry;providerRegistry;contributionsRegistry;constructor(e,i,r,o,d){this.http=e??s(Y),this.ws=i??s(U),this.kindRegistry=r??s(V),this.contributionsRegistry=o??s(ce),this.providerRegistry=d??s(J)}async health(){return this.getJson(`${g}/health`)}async loadScan(){let[e]=await Promise.all([this.getJson(`${g}/scan`),this.listNodes({limit:0}).catch(()=>null)]);return e}async runScan(){return this.patchJson(`${g}/scan`,{},"POST")}async listNodes(e={}){let i=jt(e),r=await this.getJson(`${g}/nodes${i}`);return this.ingestRegistry(r.kindRegistry),this.ingestContributionsRegistry(r.contributionsRegistry),this.ingestProviderRegistry(r.providerRegistry),r}async getNode(e,i={}){let r=me(e),o=i.includeBody?"?include=body":"";try{let d=await this.getJson(`${g}/nodes/${r}${o}`);return this.ingestRegistry(d.kindRegistry),this.ingestContributionsRegistry(d.contributionsRegistry),this.ingestProviderRegistry(d.providerRegistry),d}catch(d){if(d instanceof h&&d.code==="not-found")return null;throw d}}async listLinks(e={}){let i=Ut(e),r=await this.getJson(`${g}/links${i}`);return this.ingestRegistry(r.kindRegistry),this.ingestContributionsRegistry(r.contributionsRegistry),this.ingestProviderRegistry(r.providerRegistry),r}async listIssues(e={}){let i=Bt(e),r=await this.getJson(`${g}/issues${i}`);return this.ingestRegistry(r.kindRegistry),this.ingestContributionsRegistry(r.contributionsRegistry),this.ingestProviderRegistry(r.providerRegistry),r}async loadGraph(e="ascii"){let i=`${g}/graph?format=${encodeURIComponent(e)}`;try{return await H(this.http.get(i,{responseType:"text"}))}catch(r){throw this.translateError(r)}}async loadConfig(){let e=await this.getJson(`${g}/config`);return this.ingestRegistry(e.kindRegistry),this.ingestContributionsRegistry(e.contributionsRegistry),this.ingestProviderRegistry(e.providerRegistry),e.value}async listPlugins(){let e=await this.getJson(`${g}/plugins`);return this.ingestRegistry(e.kindRegistry),this.ingestContributionsRegistry(e.contributionsRegistry),this.ingestProviderRegistry(e.providerRegistry),e}async setPluginEnabled(e,i){let r=await this.patchJson(`${g}/plugins/${encodeURIComponent(e)}`,{enabled:i});return this.ingestRegistry(r.kindRegistry),this.ingestContributionsRegistry(r.contributionsRegistry),this.ingestProviderRegistry(r.providerRegistry),r}async setPluginExtensionEnabled(e,i,r){let o=await this.patchJson(`${g}/plugins/${encodeURIComponent(e)}/extensions/${encodeURIComponent(i)}`,{enabled:r});return this.ingestRegistry(o.kindRegistry),this.ingestContributionsRegistry(o.contributionsRegistry),this.ingestProviderRegistry(o.providerRegistry),o}async applyPluginChanges(e){let i=await this.patchJson(`${g}/plugins`,{changes:e});return this.ingestRegistry(i.kindRegistry),this.ingestContributionsRegistry(i.contributionsRegistry),this.ingestProviderRegistry(i.providerRegistry),i}async getPreferences(){return await this.getJson(`${g}/preferences`)}async setPreferences(e){return await this.patchJson(`${g}/preferences`,e)}async getProjectPreferences(){return await this.getJson(`${g}/project-preferences`)}async setProjectPreferences(e){return await this.patchJson(`${g}/project-preferences`,e)}async getProjectIgnore(){return await this.getJson(`${g}/project-ignore`)}async setProjectIgnore(e){return await this.patchJson(`${g}/project-ignore`,e)}async getActiveProvider(){return await this.getJson(`${g}/active-provider`)}async setActiveProvider(e){return await this.patchJson(`${g}/active-provider`,{activeProvider:e})}async setFavorite(e){let i=me(e);try{await H(this.http.put(`${g}/favorites/${i}`,null))}catch(r){throw this.translateError(r)}}async unsetFavorite(e){let i=me(e);try{await H(this.http.delete(`${g}/favorites/${i}`))}catch(r){throw this.translateError(r)}}async bumpSidecar(e,i={}){let r={nodePath:e};return i.force!==void 0&&(r.force=i.force),i.confirm!==void 0&&(r.confirm=i.confirm),this.patchJson(`${g}/sidecar/bump`,r,"POST")}async getUpdateStatus(){return this.getJson(`${g}/update-status`)}async getRegisteredAnnotations(){return(await this.getJson(`${g}/annotations/registered`)).items}ingestRegistry(e){e&&this.kindRegistry.ingest(e)}ingestProviderRegistry(e){e&&this.providerRegistry.ingest(e)}ingestContributionsRegistry(e){this.contributionsRegistry.setRegistry(e)}async lookupContribution(e,i,r){let o=new URLSearchParams({path:r});try{return(await this.getJson(`${g}/contributions/${encodeURIComponent(e)}/${encodeURIComponent(i)}?${o.toString()}`)).items[0]??null}catch{return null}}events(){return this.ws.events$}async getJson(e){try{return await H(this.http.get(e))}catch(i){throw this.translateError(i)}}async patchJson(e,i,r="PATCH"){try{let o=r==="POST"?this.http.post(e,i):this.http.patch(e,i);return await H(o)}catch(o){throw this.translateError(o)}}translateError(e){if(e instanceof h)return e;if(e instanceof Ie){let r=Vt(e.error);return r?new h(r.error.code,r.error.message,r.error.details):new h("internal",e.message||$.errors.malformedResponse)}let i=e instanceof Error?e.message:String(e);return new h("internal",i)}static \u0275fac=function(i){return new(i||t)(X(Y),X(U),X(V),X(ce),X(J))};static \u0275prov=A({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function jt(t){let n=new URLSearchParams;t.kind&&t.kind.length>0&&n.set("kind",t.kind.join(",")),t.hasIssues!==void 0&&n.set("hasIssues",String(t.hasIssues)),t.path&&n.set("path",t.path),t.limit!==void 0&&n.set("limit",String(t.limit)),t.offset!==void 0&&n.set("offset",String(t.offset));let e=n.toString();return e?`?${e}`:""}function Ut(t){let n=new URLSearchParams;t.kind&&t.kind.length>0&&n.set("kind",t.kind.join(",")),t.from&&n.set("from",t.from),t.to&&n.set("to",t.to);let e=n.toString();return e?`?${e}`:""}function Bt(t){let n=new URLSearchParams;t.severity&&n.set("severity",t.severity),t.analyzerId&&n.set("analyzerId",t.analyzerId),t.node&&n.set("node",t.node),t.nodes&&t.nodes.length>0&&n.set("nodes",t.nodes.join(","));let e=n.toString();return e?`?${e}`:""}function Vt(t){if(typeof t!="object"||t===null)return null;let n=t;if(n.ok!==!1)return null;let e=n.error;if(typeof e!="object"||e===null)return null;let i=e;return typeof i.code!="string"||typeof i.message!="string"?null:{ok:!1,error:{code:i.code,message:i.message,details:i.details}}}var Jt="data.json",Kt="data.meta.json",ge=class{fetchImpl;metaPromise=null;dataPromise=null;kindRegistry;providerRegistry;constructor(n=globalThis.fetch.bind(globalThis),e,i){this.fetchImpl=n,this.kindRegistry=e??s(V),this.providerRegistry=i??s(J)}async health(){return(await this.loadMeta()).health}async loadScan(){let[n,e]=await Promise.all([this.loadData(),this.loadMeta()]);return this.kindRegistry.ingest(e.nodes.kindRegistry),this.providerRegistry.ingest(e.nodes.providerRegistry),n}async listNodes(n={}){let e=await this.loadMeta();if(Ht(n))return this.kindRegistry.ingest(e.nodes.kindRegistry),this.providerRegistry.ingest(e.nodes.providerRegistry),e.nodes;let i=await this.loadData(),r=i.issues,o=i.nodes;if(n.kind&&n.kind.length>0){let I=new Set(n.kind);o=o.filter(T=>I.has(T.kind))}if(n.path){let I=Yt(n.path);o=o.filter(T=>I.test(T.path))}if(n.hasIssues===!0){let I=pt(r);o=o.filter(T=>I.has(T.path))}else if(n.hasIssues===!1){let I=pt(r);o=o.filter(T=>!I.has(T.path))}let d=o.length,u=n.offset??0,S=n.limit??1e3,f=o.slice(u,u+S);return this.kindRegistry.ingest(e.nodes.kindRegistry),this.providerRegistry.ingest(e.nodes.providerRegistry),{schemaVersion:"1",kind:"nodes",items:f,filters:{kind:n.kind??null,hasIssues:n.hasIssues??null,path:n.path?[n.path]:null},counts:{total:d,returned:f.length,page:{offset:u,limit:S}},kindRegistry:e.nodes.kindRegistry,providerRegistry:e.nodes.providerRegistry}}async getNode(n,e={}){let[i,r]=await Promise.all([this.loadData(),this.loadMeta()]),o=i.nodes.find(f=>f.path===n);if(!o)return null;let d=i.links.filter(f=>f.target===n),u=i.links.filter(f=>f.source===n),S=i.issues.filter(f=>f.nodeIds.includes(n));return this.kindRegistry.ingest(r.nodes.kindRegistry),this.providerRegistry.ingest(r.nodes.providerRegistry),{schemaVersion:"1",kind:"node",item:o,links:{incoming:d,outgoing:u},issues:S,kindRegistry:r.nodes.kindRegistry,providerRegistry:r.nodes.providerRegistry}}async listLinks(n={}){let e=await this.loadMeta();if(Xt(n))return this.kindRegistry.ingest(e.links.kindRegistry),this.providerRegistry.ingest(e.links.providerRegistry),e.links;let r=(await this.loadData()).links;if(n.kind&&n.kind.length>0){let o=new Set(n.kind);r=r.filter(d=>o.has(d.kind))}return n.from&&(r=r.filter(o=>o.source===n.from)),n.to&&(r=r.filter(o=>o.target===n.to)),this.kindRegistry.ingest(e.links.kindRegistry),this.providerRegistry.ingest(e.links.providerRegistry),{schemaVersion:"1",kind:"links",items:r,filters:{kind:n.kind??null,from:n.from??null,to:n.to??null},counts:{total:r.length,returned:r.length},kindRegistry:e.links.kindRegistry,providerRegistry:e.links.providerRegistry}}async listIssues(n={}){let e=await this.loadMeta();if(Wt(n))return this.kindRegistry.ingest(e.issues.kindRegistry),this.providerRegistry.ingest(e.issues.providerRegistry),e.issues;let r=(await this.loadData()).issues;if(n.severity&&(r=r.filter(o=>o.severity===n.severity)),n.analyzerId&&(r=r.filter(o=>o.analyzerId===n.analyzerId)),n.node&&(r=r.filter(o=>o.nodeIds.includes(n.node))),n.nodes&&n.nodes.length>0){let o=new Set(n.nodes);r=r.filter(d=>d.nodeIds.some(u=>o.has(u)))}return this.kindRegistry.ingest(e.issues.kindRegistry),this.providerRegistry.ingest(e.issues.providerRegistry),{schemaVersion:"1",kind:"issues",items:r,filters:{severity:n.severity??null,analyzerId:n.analyzerId??null,node:n.node??null,nodes:n.nodes&&n.nodes.length>0?[...n.nodes]:null},counts:{total:r.length,returned:r.length},kindRegistry:e.issues.kindRegistry,providerRegistry:e.issues.providerRegistry}}async loadGraph(n="ascii"){if(n!=="ascii")throw new h("bad-query",$.errors.graphFormatNotInDemo(n));return(await this.loadMeta()).graph.ascii}async loadConfig(){let n=await this.loadMeta();return this.kindRegistry.ingest(n.config.kindRegistry),this.providerRegistry.ingest(n.config.providerRegistry),n.config.value}async listPlugins(){let n=await this.loadMeta();return this.kindRegistry.ingest(n.plugins.kindRegistry),this.providerRegistry.ingest(n.plugins.providerRegistry),n.plugins}async setFavorite(n){throw new h("demo-readonly","Favorites are not available in demo mode (static bundle is immutable).")}async unsetFavorite(n){throw new h("demo-readonly","Favorites are not available in demo mode (static bundle is immutable).")}async setPluginEnabled(n,e){throw new h("demo-readonly","Plugin toggles are not available in demo mode (static bundle is immutable).")}async setPluginExtensionEnabled(n,e,i){throw new h("demo-readonly","Plugin toggles are not available in demo mode (static bundle is immutable).")}async applyPluginChanges(n){throw new h("demo-readonly","Plugin toggles are not available in demo mode (static bundle is immutable).")}async runScan(){throw new h("demo-readonly","Manual scan is not available in demo mode (static bundle is immutable).")}async getPreferences(){return{updateCheck:{enabled:!0},telemetry:{errorsEnabled:!1,usageCliEnabled:!1,usageUiEnabled:!1,anonymousId:null,environment:"prod"}}}async setPreferences(n){throw new h("demo-readonly","Preference toggles are not available in demo mode (static bundle is immutable).")}async getProjectPreferences(){return{scan:{referencePaths:[]}}}async setProjectPreferences(n){throw new h("demo-readonly","Project preferences are not available in demo mode (static bundle is immutable).")}async getProjectIgnore(){return{patterns:[]}}async setProjectIgnore(n){throw new h("demo-readonly","Ignore patterns are not available in demo mode (static bundle is immutable).")}async getActiveProvider(){return{activeProvider:null,detected:[],source:"none"}}async setActiveProvider(n){throw new h("demo-readonly","Active provider lens is not available in demo mode (static bundle is immutable).")}async lookupContribution(){return null}async bumpSidecar(n,e={}){throw new h("demo-readonly","Sidecar bump is not available in demo mode (static bundle is immutable).")}async getUpdateStatus(){return{current:(await this.loadMeta()).health.implVersion,latest:null,isOutdated:!1,checkedAt:null,shownAt:null}}async getRegisteredAnnotations(){return[]}events(){return ye}loadMeta(){return this.metaPromise||(this.metaPromise=this.fetchJson(Kt)),this.metaPromise}loadData(){return this.dataPromise||(this.dataPromise=this.fetchJson(Jt)),this.dataPromise}async fetchJson(n){let e;try{e=await this.fetchImpl(n)}catch(i){let r=i instanceof Error?i.message:String(i);throw new h("internal",$.errors.demoFetchFailed(n,r))}if(!e.ok)throw new h("internal",$.errors.demoFetchFailed(n,`HTTP ${e.status}`));try{return await e.json()}catch(i){let r=i instanceof Error?i.message:String(i);throw new h("internal",$.errors.demoParseFailed(n,r))}}};function Ht(t){return!(t.kind&&t.kind.length>0||t.hasIssues!==void 0||t.path||t.offset!==void 0&&t.offset!==0||t.limit!==void 0)}function Xt(t){return!(t.kind&&t.kind.length>0||t.from||t.to)}function Wt(t){return!(t.severity||t.analyzerId||t.node||t.nodes&&t.nodes.length>0)}function pt(t){let n=new Set;for(let e of t)for(let i of e.nodeIds)n.add(i);return n}function Yt(t){let e=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${e}$`)}function mt(){let t=s(j);if(t==="live")return new ct(s(Y),s(U));if(t==="demo")return new ge;let n=t;throw new Error($.errors.unknownMode(String(n)))}var gt="search",ut="kinds",ht="linkKinds",ft="stabilities",vt="hasIssues",bt="staleOnly",_t="favoritesOnly",yt="severities",Qt=["error","warn"],kt=(()=>{class t{filters=s(Ge);router=s(Fe);activatedRoute=s(Ne);kindRegistry=s(V);destroyRef=s(ke);suppressUrlReadback=!1;constructor(){this.applyUrlToFilters(this.currentParams()),this.router.events.pipe(He(this.destroyRef)).subscribe(e=>{if(e instanceof $e){if(this.suppressUrlReadback)return;this.applyUrlToFilters(this.currentParams())}}),te(()=>{let e=this.computeQueryParams();this.writeQueryParams(e)})}currentParams(){let e=this.router.parseUrl(this.router.url),i=new URLSearchParams;for(let[r,o]of Object.entries(e.queryParams))Array.isArray(o)?i.set(r,o.join(",")):o!=null&&i.set(r,String(o));return this.activatedRoute,i}applyUrlToFilters(e){let i=e.get(gt)??"";i!==this.filters.searchText()&&this.filters.setSearchText(i);let r=Gt(e.get(ut),this.kindRegistry.kinds().map(Ft=>Ft.name));ue(r,this.filters.selectedKinds())||this.filters.setKinds(r);let o=Zt(e.get(ft));ue(o,this.filters.selectedStabilities())||this.filters.setStabilities(o);let d=e.get(vt)==="true";d!==this.filters.hasIssuesOnly()&&this.filters.setHasIssuesOnly(d);let u=e.get(bt)==="true";u!==this.filters.staleOnly()&&this.filters.setStaleOnly(u);let S=e.get(_t)==="true";S!==this.filters.favoritesOnly()&&this.filters.setFavoritesOnly(S);let f=qt(e.get(ht));ue(f,this.filters.selectedLinkKinds())||this.filters.setLinkKinds(f);let I=en(e.get(yt)),T=[];this.filters.severityErrorActive()&&T.push("error"),this.filters.severityWarnActive()&&T.push("warn"),ue(I,T)||this.filters.setSeverityFilters(I)}computeQueryParams(){let e=this.filters.searchText().trim(),i=this.filters.selectedKinds(),r=this.filters.selectedLinkKinds(),o=this.filters.selectedStabilities(),d=this.filters.hasIssuesOnly(),u=this.filters.staleOnly(),S=this.filters.favoritesOnly(),f=[];return this.filters.severityErrorActive()&&f.push("error"),this.filters.severityWarnActive()&&f.push("warn"),{[gt]:e.length>0?e:null,[ut]:i.length>0?i.join(","):null,[ht]:r.length>0?r.join(","):null,[ft]:o.length>0?o.join(","):null,[vt]:d?"true":null,[bt]:u?"true":null,[_t]:S?"true":null,[yt]:f.length>0?f.join(","):null}}writeQueryParams(e){let i=this.currentParams(),r=new Map(Object.entries(e)),o=!1;for(let[d,u]of r)if((i.get(d)??null)!==u){o=!0;break}o&&(this.suppressUrlReadback=!0,this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:e,queryParamsHandling:"merge",replaceUrl:!0}).finally(()=>{setTimeout(()=>{this.suppressUrlReadback=!1},0)}))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=A({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Gt(t,n){if(!t)return[];let e=new Set(n);return t.split(",").map(i=>i.trim()).filter(i=>e.has(i))}function Zt(t){if(!t)return[];let n=new Set(Ye);return t.split(",").map(e=>e.trim()).filter(e=>n.has(e))}function qt(t){if(!t)return[];let n=new Set(Qe);return t.split(",").map(e=>e.trim()).filter(e=>n.has(e))}function en(t){if(!t)return[];let n=new Set(Qt);return t.split(",").map(e=>e.trim()).filter(e=>n.has(e))}function ue(t,n){if(t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==n[e])return!1;return!0}var Ct={healthFailed:t=>`ProjectInfoService: /api/health probe failed (${t})`};var Q=(()=>{class t{dataSource=s(q);status=z(null);cwd=c(()=>this.status()?.cwd??null);implVersion=c(()=>this.status()?.implVersion??null);dev=c(()=>this.status()?.dev===!0);activeProviderState=z(null);activeProvider=c(()=>this.activeProviderState());async load(){try{let e=await this.dataSource.health();this.status.set(e)}catch(e){let i=e instanceof Error?e.message:String(e);console.warn(Ct.healthFailed(i))}await this.reloadActiveProvider()}async reloadActiveProvider(){try{let e=await this.dataSource.getActiveProvider();this.activeProviderState.set(e.activeProvider)}catch{}}static \u0275fac=function(i){return new(i||t)};static \u0275prov=A({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Pt=(()=>{class t extends oe{title=s(Le);projectInfo=s(Q);constructor(){super(),te(()=>{let e=xt(this.projectInfo.cwd()),i=this.projectInfo.implVersion();this.title.setTitle(L.documentTitle(e,i))})}updateTitle(e){let i=xt(this.projectInfo.cwd()),r=this.projectInfo.implVersion();this.title.setTitle(L.documentTitle(i,r))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=A({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function xt(t){if(!t)return null;let n=t.replace(/[\\/]+$/,"");if(!n||n===".")return null;let e=Math.max(n.lastIndexOf("/"),n.lastIndexOf("\\"));return(e>=0?n.slice(e+1):n)||null}var be=!1,_e=null;async function wt(t){if(be||fe===""||!t.consentEnabled)return;let n=await import("./chunk-RT7E4S5B.js");n.init({dsn:fe,release:t.release??void 0,environment:t.environment,integrations:e=>e.filter(i=>i.name!=="BrowserSession"),tracesSampleRate:0,sendDefaultPii:!1,allowUrls:[/^https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?\//],beforeSend:e=>tt(e)}),_e=n,be=!0}function St(t){!be||_e===null||_e.captureException(t)}var Mt=(()=>{class t{handleError(e){console.error(e),St(e)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=A({token:t,factory:t.\u0275fac})}return t})();function tn(...t){for(let n of t)Promise.resolve(n.load())}var Tt={providers:[xe(),{provide:Ce,useClass:Mt},Be(dt,Ve()),{provide:oe,useClass:Pt},Ae(De()),Ke({}),G(async()=>{let t=s(Je),[{default:n},{definePreset:e}]=await Promise.all([import("./chunk-43S72FTV.js"),import("./chunk-5ITZXW3A.js")]),i=e(n,{semantic:{primary:{50:"#F5F3FF",100:"#EDE9FE",200:"#DDD6FE",300:"#C4B5FD",400:"#A78BFA",500:"#8B5CF6",600:"#7C3AED",700:"#6D28D9",800:"#4C1D95",900:"#2E1065",950:"#1E0A4D"}}});t.setThemeConfig({theme:{preset:i,options:{darkModeSelector:".app-dark"}}})}),{provide:j,useFactory:Xe},{provide:q,useFactory:mt},G(async()=>{let t=s(q),n=s(ee);try{let[e,i]=await Promise.all([t.getPreferences(),t.health()]);await Promise.all([wt({consentEnabled:e.telemetry.errorsEnabled,release:i.implVersion?`skill-map-cli@${i.implVersion}`:null,environment:e.telemetry.environment}),nt({consentEnabled:e.telemetry.usageUiEnabled,distinctId:e.telemetry.anonymousId})]),it({environment:e.telemetry.environment}),n.syncTheme()}catch{}}),G(()=>{tn(s(B),s(pe),s(Q))}),G(()=>{s(kt),s(qe),s(ee)})]};var K={toggleToAuto:"Switch to auto theme (follow system)",toggleToLight:"Switch to light theme",toggleToDark:"Switch to dark theme",currentAuto:"Auto theme (follows system)",currentLight:"Light theme",currentDark:"Dark theme"};var Rt={body:"You are viewing a static demo of skill-map's UI. Install it:",installCommand:"npm i -g @skill-map/cli",homeCta:"\u2190 Back to skill-map.ai",homeHref:"/",dismissAria:"Dismiss demo banner"};function rn(t,n){if(t&1){let e=E();l(0,"div",0),x(1,"span",1),l(2,"p",2),m(3),l(4,"code",3),m(5),p()(),l(6,"a",4),m(7),p(),l(8,"p-button",5),M("onClick",function(){R(e);let r=v();return O(r.dismiss())}),p()()}if(t&2){let e=v();a(3),P(" ",e.texts.body," "),a(2),b(e.texts.installCommand),a(),y("href",e.texts.homeHref,ne),a(),b(e.texts.homeCta),a(),y("ariaLabel",e.texts.dismissAria)("text",!0)("rounded",!0)}}var Ot="sm.demoBannerDismissed",Et=(()=>{class t{mode=s(j);texts=Rt;dismissed=z(this.readDismissed());visible=c(()=>this.mode==="demo"&&!this.dismissed());dismiss(){this.dismissed.set(!0);try{globalThis.localStorage?.setItem(Ot,"1")}catch{}}readDismissed(){if(this.mode!=="demo")return!0;try{return globalThis.localStorage?.getItem(Ot)==="1"}catch{return!1}}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=D({type:t,selectors:[["sm-demo-banner"]],decls:1,vars:1,consts:[["role","status","data-testid","demo-banner",1,"demo-banner"],["aria-hidden","true",1,"demo-banner__icon","fa-solid","fa-circle-info"],[1,"demo-banner__body"],["data-testid","demo-banner-install",1,"demo-banner__cmd"],["data-testid","demo-banner-home",1,"demo-banner__home",3,"href"],["icon","fa-solid fa-xmark","severity","secondary","size","small","data-testid","demo-banner-dismiss",3,"onClick","ariaLabel","text","rounded"]],template:function(i,r){i&1&&k(0,rn,9,7,"div",0),i&2&&C(r.visible()?0:-1)},dependencies:[ae,se],styles:["[_nghost-%COMP%]{display:block}.demo-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);background:var(--p-highlight-background);color:var(--p-text-color);font-size:.875rem}.demo-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--p-primary-color)}.demo-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.demo-banner__cmd[_ngcontent-%COMP%]{font-family:var(--sm-font-mono);background:var(--p-content-background);border:1px solid var(--p-content-border-color);border-radius:var(--sm-radius-md);padding:.05rem .4rem;font-size:.85em;margin-left:.25rem}.demo-banner__home[_ngcontent-%COMP%]{color:var(--p-primary-color);font-weight:500;text-decoration:none;white-space:nowrap}.demo-banner__home[_ngcontent-%COMP%]:hover, .demo-banner__home[_ngcontent-%COMP%]:focus-visible{text-decoration:underline}"],changeDetection:0})}return t})();var It={bodyAtLimit:(t,n)=>`Your graph has ${t} ${t===1?"node":"nodes"}, at the recommended limit of ${n}. Past this point the map gets hard to read and analyzer signal degrades.`,bodyOverLimit:(t,n,e)=>`Your graph has ${t} nodes, over the recommended limit of ${n} (currently allowed via --max-nodes ${e}). Past this point the map gets hard to read and analyzer signal degrades.`,bodyCapped:(t,n,e)=>`Scan capped at ${n} ${n===1?"node":"nodes"} (${e==="override"?"--max-nodes":"scan.maxNodes"}). The walker stopped at ${t} ${t===1?"file":"files"}, additional files were dropped. The map and analyzers only see what made it through.`,cta:"Edit .skillmapignore",ctaAria:"Open Settings to edit ignored patterns"};function on(t,n){if(t&1){let e=E();F(0,"div",0),Z(1,"span",1),F(2,"p",2),m(3),W(),F(4,"button",3),ie("click",function(){R(e);let r=v();return O(r.onCta())}),m(5),W()()}if(t&2){let e=v();_("data-mode",e.state().mode),a(3),P(" ",e.state().body," "),a(),_("aria-label",e.texts.ctaAria),a(),P(" ",e.texts.cta," ")}}var At=(()=>{class t{loader=s(B);texts=It;openSettings=re();state=c(()=>{let e=this.loader.scan();if(!e)return{mode:"hidden",body:""};let i=e.recommendedNodeLimit;if(i===void 0)return{mode:"hidden",body:""};let r=e.overrideMaxNodes??null,o=r??i,d=e.stats.filesWalked,u=e.stats.nodesCount;return d>o?{mode:"capped",body:this.texts.bodyCapped(d,o,r!==null?"override":"setting")}:u<i?{mode:"hidden",body:""}:r!==null&&u>i?{mode:"overLimit",body:this.texts.bodyOverLimit(u,i,r)}:{mode:"atLimit",body:this.texts.bodyAtLimit(u,i)}});visible=c(()=>this.state().mode!=="hidden");onCta(){this.openSettings.emit()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=D({type:t,selectors:[["sm-oversized-banner"]],outputs:{openSettings:"openSettings"},decls:1,vars:1,consts:[["role","status","data-testid","oversized-banner",1,"oversized-banner"],["aria-hidden","true",1,"oversized-banner__icon","fa-solid","fa-triangle-exclamation"],["data-testid","oversized-banner-body",1,"oversized-banner__body"],["type","button","data-testid","oversized-banner-cta",1,"oversized-banner__cta",3,"click"]],template:function(i,r){i&1&&k(0,on,6,4,"div",0),i&2&&C(r.visible()?0:-1)},styles:["[_nghost-%COMP%]{display:block}.oversized-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);font-size:.875rem}.oversized-banner[data-mode=capped][_ngcontent-%COMP%]{background:var(--sm-severity-error-bg);color:var(--sm-severity-error)}.oversized-banner[data-mode=overLimit][_ngcontent-%COMP%], .oversized-banner[data-mode=atLimit][_ngcontent-%COMP%]{background:var(--sm-severity-warn-bg);color:var(--sm-severity-warn)}.oversized-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem}.oversized-banner[data-mode=capped][_ngcontent-%COMP%] .oversized-banner__icon[_ngcontent-%COMP%]{color:var(--sm-severity-error)}.oversized-banner[data-mode=overLimit][_ngcontent-%COMP%] .oversized-banner__icon[_ngcontent-%COMP%], .oversized-banner[data-mode=atLimit][_ngcontent-%COMP%] .oversized-banner__icon[_ngcontent-%COMP%]{color:var(--sm-severity-warn)}.oversized-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.oversized-banner__cta[_ngcontent-%COMP%]{flex:0 0 auto;background:transparent;color:inherit;border:1px solid currentColor;padding:.25rem .75rem;border-radius:var(--p-border-radius);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease}.oversized-banner__cta[_ngcontent-%COMP%]:hover, .oversized-banner__cta[_ngcontent-%COMP%]:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent)}.oversized-banner__cta[_ngcontent-%COMP%]:focus-visible{outline:2px solid currentColor;outline-offset:2px}"],changeDetection:0})}return t})();var Dt={headline:t=>`${t} ${t===1?"file":"files"} skipped, ${t===1?"it exceeds":"they exceed"} the max file size.`,more:"...",seeConsole:"See the full list in the console.",cta:"Open Project settings",ctaAria:"Open Settings to adjust the max file size or ignore patterns"};function an(t,n){if(t&1&&(l(0,"span",4),m(1),p()),t&2){let e=v(2);y("pTooltip",e.state().tooltip),a(),b(e.texts.more)}}function ln(t,n){if(t&1){let e=E();l(0,"div",0),x(1,"span",1),l(2,"p",2),m(3),l(4,"span",3),m(5),p(),k(6,an,2,2,"span",4),p(),l(7,"button",5),M("click",function(){R(e);let r=v();return O(r.onCta())}),m(8),p()()}if(t&2){let e=v();a(3),P(" ",e.texts.headline(e.state().count)," "),a(2),P(" ",e.state().first," "),a(),C(e.state().hasMore?6:-1),a(),_("aria-label",e.texts.ctaAria),a(),P(" ",e.texts.cta," ")}}var dn=5,Lt=(()=>{class t{loader=s(B);texts=Dt;openSettings=re();state=c(()=>{let e=this.loader.scan(),i=e?.oversizedFiles??[],r=e?.stats?.filesOversized??i.length;if(r<=0)return{visible:!1,count:0,first:"",hasMore:!1,tooltip:""};let o=i[0]?this.describe(i[0]):"",d=r>1,u="";if(d){let S=i.slice(1);r-1>dn?u=this.texts.seeConsole:u=S.map(f=>this.describe(f)).join(`
|
|
4
|
+
`)}return{visible:!0,count:r,first:o,hasMore:d,tooltip:u}});visible=c(()=>this.state().visible);describe(e){return`${e.path.split("/").pop()??e.path} (${We(e.bytes)})`}onCta(){this.openSettings.emit()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=D({type:t,selectors:[["sm-skipped-files-banner"]],outputs:{openSettings:"openSettings"},decls:1,vars:1,consts:[["role","status","data-testid","skipped-files-banner",1,"skipped-files-banner"],["aria-hidden","true",1,"skipped-files-banner__icon","fa-solid","fa-triangle-exclamation"],["data-testid","skipped-files-banner-body",1,"skipped-files-banner__body"],["data-testid","skipped-files-banner-first",1,"skipped-files-banner__first"],["data-testid","skipped-files-banner-more",1,"skipped-files-banner__more",3,"pTooltip"],["type","button","data-testid","skipped-files-banner-cta",1,"skipped-files-banner__cta",3,"click"]],template:function(i,r){i&1&&k(0,ln,9,5,"div",0),i&2&&C(r.visible()?0:-1)},dependencies:[de,le],styles:["[_nghost-%COMP%]{display:block}.skipped-files-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);font-size:.875rem;background:var(--sm-severity-warn-bg);color:var(--sm-severity-warn)}.skipped-files-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--sm-severity-warn)}.skipped-files-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.skipped-files-banner__first[_ngcontent-%COMP%]{font-weight:600}.skipped-files-banner__more[_ngcontent-%COMP%]{font-weight:600;cursor:help}.skipped-files-banner__cta[_ngcontent-%COMP%]{flex:0 0 auto;background:transparent;color:inherit;border:1px solid currentColor;padding:.25rem .75rem;border-radius:var(--p-border-radius);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease}.skipped-files-banner__cta[_ngcontent-%COMP%]:hover, .skipped-files-banner__cta[_ngcontent-%COMP%]:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent)}.skipped-files-banner__cta[_ngcontent-%COMP%]:focus-visible{outline:2px solid currentColor;outline-offset:2px}"],changeDetection:0})}return t})();var $t={body:"Connection to the server was lost. Live updates are paused.",reconnectCta:"Reconnect",reconnectAria:"Retry the connection to the server"};function cn(t,n){if(t&1){let e=E();F(0,"div",0),Z(1,"span",1),F(2,"p",2),m(3),W(),F(4,"button",3),ie("click",function(){R(e);let r=v();return O(r.reconnect())}),Z(5,"span",4),m(6),W()()}if(t&2){let e=v();a(3),b(e.texts.body),a(),_("aria-label",e.texts.reconnectAria),a(2),P(" ",e.texts.reconnectCta," ")}}var Nt=(()=>{class t{mode=s(j);ws=s(U);texts=$t;visible=c(()=>this.mode==="live"&&this.ws.connectionState()==="lost");reconnect(){this.ws.reconnect()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=D({type:t,selectors:[["sm-connection-banner"]],decls:1,vars:1,consts:[["role","alert","data-testid","connection-banner",1,"connection-banner"],["aria-hidden","true",1,"connection-banner__icon","fa-solid","fa-plug-circle-xmark"],[1,"connection-banner__body"],["type","button","data-testid","connection-banner-reconnect",1,"connection-banner__cta",3,"click"],["aria-hidden","true",1,"fa-solid","fa-rotate-right"]],template:function(i,r){i&1&&k(0,cn,7,3,"div",0),i&2&&C(r.visible()?0:-1)},styles:["[_nghost-%COMP%]{display:block}.connection-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);background:var(--sm-severity-error-bg);color:var(--sm-severity-error);font-size:.875rem}.connection-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--sm-severity-error)}.connection-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.connection-banner__cta[_ngcontent-%COMP%]{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;background:transparent;color:inherit;border:1px solid currentColor;padding:.25rem .75rem;border-radius:var(--p-border-radius);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease}.connection-banner__cta[_ngcontent-%COMP%]:hover, .connection-banner__cta[_ngcontent-%COMP%]:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent)}.connection-banner__cta[_ngcontent-%COMP%]:focus-visible{outline:2px solid currentColor;outline-offset:2px}"],changeDetection:0})}return t})();var pn=()=>[import("./chunk-PO2VZMOB.js").then(t=>t.SettingsModal)];function mn(t,n){if(t&1&&(l(0,"span",11),m(1),p()),t&2){let e=v();y("pTooltip",e.versionTooltip()),_("aria-label",e.texts.devChipA11y),a(),b(e.texts.devChip)}}function gn(t,n){if(t&1&&(l(0,"span",12),m(1),p()),t&2){let e=v();y("pTooltip",e.versionTooltip()),_("aria-label",e.versionA11y()),a(),b(e.versionLabel())}}function un(t,n){if(t&1&&(l(0,"span",26),m(1),p()),t&2){let e=n,i=v();Me("--provider-color",e.color)("--provider-color-dark",e.colorDark??e.color),y("pTooltip",i.texts.lensChipTooltip(e.label)),_("aria-label",i.texts.lensChipA11y(e.label)),a(),b(e.label)}}function hn(t,n){if(t&1){let e=E();l(0,"button",27),M("click",function(){R(e);let r=v();return O(r.copyUpdateCommand())}),x(1,"i",28),l(2,"span"),m(3),p()(),l(4,"a",29),x(5,"i",30),p()}if(t&2){let e=v();y("pTooltip",e.updateChipTooltip()),_("aria-label",e.updateChipA11y()),a(),Te(e.updateChipIcon()),a(2),b(e.updateChipText()),a(),y("href",e.npmLinkUrl,ne)("pTooltip",e.npmLinkTooltip),_("aria-label",e.npmLinkA11y)}}function fn(t,n){if(t&1&&(l(0,"p",15)(1,"bdi",31),m(2),p()()),t&2){let e=n;_("title",e),a(2),b(e)}}function vn(t,n){if(t&1){let e=E();l(0,"sm-settings-modal",32),M("visibleChange",function(r){R(e);let o=v();return O(o.onSettingsVisibleChange(r))}),p()}if(t&2){let e=v();y("visible",e.settingsOpen())}}var zt=(()=>{class t{loader=s(B);theme=s(rt);projectInfo=s(Q);providerRegistry=s(J);scanTrigger=s(lt);usageTracker=s(ee);updateCheck=s(pe);texts=L;settingsTexts=at;settingsOpen=z(!1);openSettings(){this.settingsOpen.set(!0),this.usageTracker.trackFeature("settings")}onSettingsVisibleChange(e){this.settingsOpen.set(e),e||this.projectInfo.reloadActiveProvider()}scanning=this.scanTrigger.scanning;scanError=this.scanTrigger.scanError;triggerScan(){return this.scanTrigger.run()}updateChipCopied=z(!1);updateChipText=c(()=>this.updateChipCopied()?w.copiedLabel:w.available);updateChipIcon=c(()=>this.updateChipCopied()?"pi pi-check":"pi pi-download");updateChipTooltip=c(()=>this.updateChipCopied()?w.copiedTooltip:w.tooltip(this.updateCheck.latest()??""));updateChipA11y=c(()=>w.a11yLabel(this.updateCheck.latest()??""));npmLinkUrl=w.npmLinkUrl;npmLinkTooltip=w.npmLinkTooltip;npmLinkA11y=w.npmLinkA11y;async copyUpdateCommand(){try{await navigator.clipboard.writeText(w.copyCommand),this.updateChipCopied.set(!0),setTimeout(()=>this.updateChipCopied.set(!1),2e3)}catch{}}versionLabel=c(()=>w.versionLabel(this.updateCheck.current()??""));versionTooltip=c(()=>w.versionTooltip(this.updateCheck.current()??""));versionA11y=c(()=>w.versionA11yLabel(this.updateCheck.current()??""));isDevBuild=this.projectInfo.dev;lensChip=c(()=>this.providerRegistry.lensChip(this.projectInfo.activeProvider()));count=this.loader.count;linkAnalysis=c(()=>ot(this.loader.nodes(),this.loader.scan()));linkCount=c(()=>this.linkAnalysis().raw);mapInfoTooltip=c(()=>L.badge.mapInfo(this.count(),this.linkAnalysis()));mapInfoA11y=c(()=>L.badge.mapInfoA11y(this.count(),this.linkAnalysis()));rootLabel=c(()=>{let e=this.projectInfo.cwd();if(e&&e!==".")return e;let i=this.loader.scan()?.roots??[];if(i.length===0)return"";let r=i[0].replace(/[\\/]+$/,"");return!r||r==="."?"":r});isDevMode=Re();themeMode=this.theme.mode;markSrc=c(()=>this.theme.extraTheme()==="matrix"?"skill-map-mark-matrix.svg":this.theme.resolved()==="dark"?"skill-map-mark-light.svg":"skill-map-mark-dark.svg");themeIcon=c(()=>{switch(this.themeMode()){case"auto":return"pi pi-desktop";case"light":return"pi pi-sun";case"dark":return"fa-regular fa-moon"}});themeLabel=c(()=>{switch(this.themeMode()){case"auto":return K.toggleToLight;case"light":return K.toggleToDark;case"dark":return K.toggleToAuto}});themeTooltip=c(()=>{switch(this.themeMode()){case"auto":return K.currentAuto;case"light":return K.currentLight;case"dark":return K.currentDark}});toggleTheme(){this.theme.toggle()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=D({type:t,selectors:[["sm-root"]],decls:43,vars:32,consts:[["role","alert","data-testid","viewport-warning",1,"viewport-warning"],[1,"viewport-warning__card"],["aria-hidden","true",1,"fa-solid","fa-desktop","viewport-warning__icon"],[1,"viewport-warning__title"],[1,"viewport-warning__subtitle"],[1,"viewport-warning__body"],["data-testid","shell",1,"shell"],[3,"openSettings"],["data-testid","shell-topbar",1,"shell__topbar"],[1,"shell__brand"],["width","32","height","32","priority","","alt","","aria-hidden","true",1,"shell__brand-mark",3,"ngSrc"],["tooltipPosition","bottom","data-testid","shell-dev",1,"shell__dev",3,"pTooltip"],["tooltipPosition","bottom","data-testid","shell-version",1,"shell__version",3,"pTooltip"],["tooltipPosition","bottom","data-testid","shell-lens",1,"shell__lens",3,"--provider-color","--provider-color-dark","pTooltip"],[1,"shell__alpha"],["data-testid","shell-root-label",1,"shell__tag"],["data-testid","shell-nav",1,"shell__nav"],["slot","topbar.nav.start",3,"node"],["routerLink","/map","routerLinkActive","is-active","queryParamsHandling","preserve","data-testid","nav-graph"],["routerLink","/files","routerLinkActive","is-active","queryParamsHandling","preserve","data-testid","nav-files"],[1,"shell__actions"],["type","button","tooltipPosition","bottom","data-testid","shell-refresh",1,"shell__refresh",3,"click","pTooltip","disabled"],["aria-hidden","true",1,"pi","pi-sync"],["severity","secondary","size","small","data-testid","action-theme-toggle",3,"onClick","icon","ariaLabel","pTooltip","text","rounded"],["icon","pi pi-sliders-h","severity","secondary","size","small","data-testid","action-settings",3,"onClick","ariaLabel","pTooltip","text","rounded"],[1,"shell__main"],["tooltipPosition","bottom","data-testid","shell-lens",1,"shell__lens",3,"pTooltip"],["type","button","tooltipPosition","bottom","data-testid","shell-update-chip",1,"shell__update-chip",3,"click","pTooltip"],["aria-hidden","true"],["target","_blank","rel","noopener noreferrer","tooltipPosition","bottom","data-testid","shell-update-npm-link",1,"shell__update-npm-link",3,"href","pTooltip"],["aria-hidden","true",1,"pi","pi-external-link"],["dir","ltr"],[3,"visibleChange","visible"]],template:function(i,r){if(i&1&&(l(0,"div",0)(1,"div",1),x(2,"i",2),l(3,"h2",3),m(4),p(),l(5,"p",4),m(6),p(),l(7,"p",5),m(8),p()()(),l(9,"div",6),x(10,"sm-demo-banner"),l(11,"sm-oversized-banner",7),M("openSettings",function(){return r.openSettings()}),p(),l(12,"sm-skipped-files-banner",7),M("openSettings",function(){return r.openSettings()}),p(),x(13,"sm-connection-banner"),l(14,"header",8)(15,"div",9),x(16,"img",10),l(17,"div")(18,"h1"),m(19),k(20,mn,2,3,"span",11)(21,gn,2,3,"span",12),k(22,un,2,7,"span",13),l(23,"span",14),m(24),p(),k(25,hn,6,8),p(),k(26,fn,3,2,"p",15),p()(),l(27,"nav",16),x(28,"sm-view-contributions-host",17),l(29,"a",18),m(30),p(),l(31,"a",19),m(32),p()(),l(33,"div",20)(34,"button",21),M("click",function(){return r.triggerScan()}),x(35,"i",22),p(),l(36,"p-button",23),M("onClick",function(){return r.toggleTheme()}),p(),l(37,"p-button",24),M("onClick",function(){return r.openSettings()}),p()()(),l(38,"main",25),x(39,"router-outlet"),p(),Pe(40,vn,1,1),we(41,40,pn),p()),i&2){let o,d,u;a(4),b(r.texts.viewportWarning.title),a(2),b(r.texts.viewportWarning.subtitle),a(2),b(r.texts.viewportWarning.body),a(8),y("ngSrc",r.markSrc()),a(3),P(" ",r.texts.brand," "),a(),C(r.isDevBuild()?20:(o=r.updateCheck.current())?21:-1,o),a(2),C((d=r.lensChip())?22:-1,d),a(),_("aria-label",r.texts.alpha),a(),b(r.texts.alpha),a(),C(r.updateCheck.isOutdated()&&!r.isDevMode?25:-1),a(),C((u=r.rootLabel())?26:-1,u),a(),_("aria-label",r.texts.a11y.viewSwitcher),a(),y("node",null),a(2),b(r.texts.nav.map),a(2),b(r.texts.nav.files),a(2),he("is-spinning",r.scanning()),y("pTooltip",r.mapInfoTooltip())("disabled",r.scanning()),_("aria-label",r.mapInfoA11y()),a(),he("pi-spin",r.scanning()),a(),y("icon",r.themeIcon())("ariaLabel",r.themeLabel())("pTooltip",r.themeTooltip())("text",!0)("rounded",!0),a(),y("ariaLabel",r.settingsTexts.a11y.triggerLabel)("pTooltip",r.settingsTexts.triggerTooltip)("text",!0)("rounded",!0),a(4),Se(r.settingsOpen())}},dependencies:[ze,je,Ue,ae,se,st,de,le,Ze,Oe,Et,At,Lt,Nt,et],styles:['[_nghost-%COMP%]{display:block;height:100dvh;--shell-topbar-bg: #FFFFFF;--shell-topbar-border: var(--sm-violet-100);--shell-topbar-text: var(--sm-violet-800);--shell-topbar-text-strong: var(--sm-violet-900);--shell-topbar-text-muted: var(--sm-violet-600);--shell-topbar-hover-bg: color-mix(in srgb, var(--sm-violet-500) 10%, transparent);--shell-topbar-active-bg: var(--sm-violet-100);--shell-topbar-active-text: var(--sm-violet-800);--shell-topbar-badge-bg: var(--sm-violet-100)}.app-dark[_nghost-%COMP%], .app-dark [_nghost-%COMP%]{--shell-topbar-bg: #1A1B22;--shell-topbar-border: color-mix(in srgb, var(--sm-violet-300) 8%, transparent);--shell-topbar-text: var(--sm-violet-100);--shell-topbar-text-strong: var(--sm-violet-100);--shell-topbar-text-muted: var(--sm-violet-300);--shell-topbar-hover-bg: color-mix(in srgb, var(--sm-violet-400) 12%, transparent);--shell-topbar-active-bg: color-mix(in srgb, var(--sm-violet-500) 22%, transparent);--shell-topbar-active-text: var(--sm-violet-100);--shell-topbar-badge-bg: color-mix(in srgb, var(--sm-violet-500) 14%, transparent)}.shell[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100dvh}.shell__topbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:color-mix(in srgb,var(--shell-topbar-bg) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--shell-topbar-border);color:var(--shell-topbar-text)}.shell__brand[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.shell__brand-mark[_ngcontent-%COMP%]{width:2rem;height:2rem;display:block}.shell__brand[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--shell-topbar-text-strong)}.shell__alpha[_ngcontent-%COMP%]{font-family:var(--sm-font-display-brand);font-weight:600;font-size:10px;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:#ad322b;background:#ad322b14;border-radius:var(--sm-radius-sm);padding:4px 8px;margin-left:8px;-webkit-user-select:none;user-select:none;display:inline-block;vertical-align:middle;white-space:nowrap}.app-dark[_nghost-%COMP%] .shell__alpha[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__alpha[_ngcontent-%COMP%]{color:#e07570;background:#cf464024}.shell__version[_ngcontent-%COMP%]{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:var(--sm-radius-sm);font-family:var(--p-monospace-font-family);font-size:11px;line-height:1;font-weight:500;letter-spacing:.02em;color:var(--p-text-muted-color);background:var(--p-content-hover-background);vertical-align:middle;-webkit-user-select:text;user-select:text}.shell__dev[_ngcontent-%COMP%]{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:var(--sm-radius-sm);font-family:var(--sm-font-display-brand);font-size:10px;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a5a00;background:#d69e2e29;vertical-align:middle;-webkit-user-select:none;user-select:none}.app-dark[_nghost-%COMP%] .shell__dev[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__dev[_ngcontent-%COMP%]{color:#fbd38d;background:#d69e2e38}.shell__lens[_ngcontent-%COMP%]{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:var(--sm-radius-sm);font-size:11px;line-height:1;font-weight:600;letter-spacing:.02em;color:var(--provider-color);background:color-mix(in srgb,var(--provider-color) 14%,transparent);vertical-align:middle;-webkit-user-select:none;user-select:none}.app-dark[_nghost-%COMP%] .shell__lens[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__lens[_ngcontent-%COMP%]{color:var(--provider-color-dark);background:color-mix(in srgb,var(--provider-color-dark) 24%,transparent)}.shell__update-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:3px 8px;font-family:inherit;font-size:11px;line-height:1;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--p-primary-color);background:var(--p-primary-50);border:1px solid var(--p-primary-200);border-radius:var(--sm-radius-pill);text-decoration:none;cursor:pointer;transition:background-color .12s ease,color .12s ease;vertical-align:middle}.shell__update-chip[_ngcontent-%COMP%]:hover, .shell__update-chip[_ngcontent-%COMP%]:focus-visible{background:var(--p-primary-100);color:var(--p-primary-700)}.shell__update-chip[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px;transform:translateY(1px)}.app-dark[_nghost-%COMP%] .shell__update-chip[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__update-chip[_ngcontent-%COMP%]{color:var(--p-primary-300);background:#ffffff0a;border-color:var(--p-primary-700)}.shell__update-npm-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:3px 4px;color:var(--p-primary-color);text-decoration:none;border-radius:var(--sm-radius-pill);transition:color .12s ease,background-color .12s ease;vertical-align:middle}.shell__update-npm-link[_ngcontent-%COMP%]:hover, .shell__update-npm-link[_ngcontent-%COMP%]:focus-visible{color:var(--p-primary-700);background:var(--p-primary-50)}.shell__update-npm-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px;transform:translateY(1px)}.app-dark[_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]{color:var(--p-primary-300)}.app-dark[_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:hover, .app-dark [_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:hover, .app-dark[_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:focus-visible, .app-dark [_nghost-%COMP%] .shell__update-npm-link[_ngcontent-%COMP%]:focus-visible{color:var(--p-primary-200);background:#ffffff0a}.shell__tag[_ngcontent-%COMP%]{margin:.35rem 0 0;font-size:.72rem;color:var(--shell-topbar-text-muted);letter-spacing:.02em;text-transform:uppercase;max-width:40rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl}.shell__nav[_ngcontent-%COMP%]{display:flex;gap:.25rem;margin-left:auto}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:.5rem .9rem;border-radius:.5rem;font-size:.9rem;font-weight:500;color:var(--shell-topbar-text-muted);transition:background .15s ease,color .15s ease}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong)}.shell__nav[_ngcontent-%COMP%] a.is-active[_ngcontent-%COMP%]{background:var(--shell-topbar-active-bg);color:var(--shell-topbar-active-text)}.shell__search[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;position:relative}.shell__nav-search[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:.5rem;background:transparent;color:var(--shell-topbar-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease}.shell__nav-search[_ngcontent-%COMP%]:hover{background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong)}.shell__search.is-open[_ngcontent-%COMP%] .shell__nav-search[_ngcontent-%COMP%]{color:var(--shell-topbar-text-strong)}.shell__nav-search[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.95rem}.shell__search.has-query[_ngcontent-%COMP%]:not(.is-open) .shell__nav-search[_ngcontent-%COMP%]{position:relative;color:var(--shell-topbar-text-strong)}.shell__search.has-query[_ngcontent-%COMP%]:not(.is-open) .shell__nav-search[_ngcontent-%COMP%]:after{content:"";position:absolute;top:.45rem;right:.45rem;width:6px;height:6px;border-radius:50%;background:var(--p-primary-color)}.shell__search-input[_ngcontent-%COMP%]{width:240px;height:2.25rem}.shell__search-clear[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;padding:0;border:none;border-radius:50%;background:transparent;color:var(--shell-topbar-text-muted);cursor:pointer;line-height:1}.shell__search-clear[_ngcontent-%COMP%]:hover{background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong)}.shell__search-clear[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.7rem}.shell__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;--p-button-text-secondary-color: var(--shell-topbar-text-muted);--p-button-text-secondary-hover-color: var(--shell-topbar-text-strong);--p-button-text-secondary-hover-background: var(--shell-topbar-hover-bg);--p-button-text-secondary-active-color: var(--shell-topbar-text-strong);--p-button-text-secondary-active-background: var(--shell-topbar-hover-bg)}.shell__refresh[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--sm-radius-pill);background:transparent;color:var(--shell-topbar-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.shell__refresh[_ngcontent-%COMP%]:hover:not(:disabled), .shell__refresh[_ngcontent-%COMP%]:focus-visible:not(:disabled){background:var(--shell-topbar-hover-bg);color:var(--shell-topbar-text-strong);outline:none}.shell__refresh[_ngcontent-%COMP%]:disabled{cursor:progress;opacity:.7}.shell__refresh[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:1rem}.shell__main[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;width:100%}@media(max-width:1280px){.shell__topbar[_ngcontent-%COMP%]{gap:1rem;padding:.5rem 1rem}.shell__tag[_ngcontent-%COMP%]{max-width:26rem}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:.4rem .7rem;font-size:.85rem}}.viewport-warning[_ngcontent-%COMP%]{display:none}@media(max-width:767px){.viewport-warning[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--sm-bg-content)}.viewport-warning__card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.85rem;max-width:22rem}.viewport-warning__icon[_ngcontent-%COMP%]{font-size:3rem;color:var(--p-primary-color);margin-bottom:.25rem}.viewport-warning__title[_ngcontent-%COMP%]{margin:0;font-size:1.35rem;font-weight:700;color:var(--p-text-color);line-height:1.25}.viewport-warning__subtitle[_ngcontent-%COMP%]{margin:0;font-size:1rem;font-weight:500;color:var(--p-primary-color);line-height:1.35}.viewport-warning__body[_ngcontent-%COMP%]{margin:0;color:var(--p-text-muted-color);line-height:1.5;font-size:.9rem}.shell[_ngcontent-%COMP%]{display:none}}'],changeDetection:0})}return t})();Ee(zt,Tt).catch(t=>console.error(t));
|
|
@@ -292,6 +292,29 @@ CREATE TABLE scan_meta (
|
|
|
292
292
|
-- was passed) or NULL when the value above came from the setting.
|
|
293
293
|
recommended_node_limit INTEGER NOT NULL,
|
|
294
294
|
override_max_nodes INTEGER,
|
|
295
|
+
-- File-size skip envelope (see spec/cli-contract.md §Scan, `scan.maxFileSizeBytes`
|
|
296
|
+
-- setting, default 1 MiB). `files_oversized` is the count of files the walker
|
|
297
|
+
-- skipped before reading because they exceeded the limit (= `stats.filesOversized`);
|
|
298
|
+
-- `oversized_files_json` is the JSON array of `{ path, bytes }` entries the CLI /
|
|
299
|
+
-- serve terminal warns on and the UI banner lists. NULL when no file was skipped.
|
|
300
|
+
files_oversized INTEGER NOT NULL DEFAULT 0,
|
|
301
|
+
oversized_files_json TEXT,
|
|
302
|
+
-- Resolved offline tokenizer (encoder) that produced this scan's per-node
|
|
303
|
+
-- token counts (see project-config.schema.json §tokenizer, closed enum
|
|
304
|
+
-- `cl100k_base` / `o200k_base`). Recorded so the next incremental scan can
|
|
305
|
+
-- compare the persisted encoder against the resolved one and force a token
|
|
306
|
+
-- recompute when they differ (changing the tokenizer invalidates prior
|
|
307
|
+
-- counts). NULL on a pre-feature DB / never-tokenized scan; a NULL prior is
|
|
308
|
+
-- treated as "different encoder" so the next scan recomputes.
|
|
309
|
+
tokenizer TEXT,
|
|
310
|
+
-- Schema-drift fingerprint (see spec/db-schema.md §Schema drift (pre-1.0)).
|
|
311
|
+
-- sha256 (hex) of the concatenated migration DDL the schema was built from,
|
|
312
|
+
-- written at persist time. NULL on a DB created by a pre-fingerprint CLI; a
|
|
313
|
+
-- NULL or mismatching value is read as schema drift on the next write-side
|
|
314
|
+
-- open so an inline `001_initial.sql` column add (no version bump,
|
|
315
|
+
-- greenfield posture) forces a one-time cache rebuild instead of surfacing
|
|
316
|
+
-- later as a "no such column" query error.
|
|
317
|
+
schema_fingerprint TEXT,
|
|
295
318
|
CONSTRAINT ck_scan_meta_singleton CHECK (id = 1)
|
|
296
319
|
);
|
|
297
320
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skill-map/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.47.0",
|
|
4
4
|
"description": "skill-map reference implementation — kernel + CLI + adapters.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"smol-toml": "1.6.1",
|
|
62
62
|
"typanion": "3.14.0",
|
|
63
63
|
"ws": "8.21.0",
|
|
64
|
-
"@skill-map/spec": "0.
|
|
64
|
+
"@skill-map/spec": "0.44.0"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@eslint/js": "10.0.1",
|